Skip to Content
0
Former Member
Jun 07, 2007 at 05:56 AM

wanted a code for table controls in bdc

98 Views

hi,

i have written code for uploading data into FB60 transaction but i have a serious problem with that code.

after entering 10 line items and when i am entering 11th item it is saying that the screen doesnot contain 11th line.

so please modify my program or if you can please send me a program for handling table controls more line details.

thanks and i will surely provide ten points to it.

my code is

LOOP AT I_PREPARE INTO WA_PREPARE.

V_VALUE = WA_PREPARE-LINE+0(2).

CASE V_VALUE.

WHEN 'A'.

CLEAR:V_DCNT.

*UPLOAD THE COMPANY CODE TO FB60.

*PERFORM.......USING WA_PREPARE-LINE+2(4).

*? filling header data

*********to initialize the company code and to get the popup**********

PERFORM SET_BUKRS.

PERFORM BDC_DYNPRO USING 'SAPLACHD' '1000'.

PERFORM BDC_FIELD USING 'BDC_CURSOR'

'BKPF-BUKRS'.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'=ENTR'.

BUKRS = WA_PREPARE-LINE+2(4).

PERFORM BDC_FIELD USING 'BKPF-BUKRS'

BUKRS.

PERFORM BDC_DYNPRO USING 'SAPMF05A' '1100'.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'/00'.

PERFORM BDC_FIELD USING 'RF05A-BUSCS'

'R'.

*UPLOAD THE VENDOR NUMBER TO FB60

*PERFORM.......USING WA_PREPARE-LINE+45(10).

ACCNT = WA_PREPARE-LINE+45(10).

PERFORM BDC_FIELD USING 'INVFO-ACCNT'

ACCNT.

*UPLOAD THE DATE TO FB60

  • WRITE WA_PREPARE-LINE+34(8) TO V_DATE USING EDIT MASK ' . . .'

*PERFORM.......USING V_DATE.

PERFORM BDC_FIELD USING 'INVFO-BLDAT'

'15.09.2004'.

PERFORM BDC_FIELD USING 'INVFO-BUDAT'

'15.09.2004'.

*UPLOAD THE AMOUNT TO FB60

*PERFORM.......USING WA_PREPARE-LINE+85(15).

WRBTR = WA_PREPARE-LINE+85(15).

PERFORM BDC_FIELD USING 'INVFO-WRBTR'

WRBTR.

*UPLOAD THE CURRENCY CODE TO FB60

*PERFORM.......USING WA_PREPARE-LINE+100(3).

WAERS = WA_PREPARE-LINE+100(3).

PERFORM BDC_FIELD USING 'INVFO-WAERS'

WAERS.

WHEN 'D'.

V_DCNT = V_DCNT + 1.

  • IF V_DCNT GT 04.

*

  • V_DCNT = 04.

*

  • ENDIF.

*UPLOAD THE G/L ACC. TO FB60.

*PERFORM.......USING WA_PREPARE-LINE+51(20).

*? filling item data

CONCATENATE 'ACGL_ITEM-WRBTR(' V_DCNT ')' INTO FNAM.

PERFORM BDC_FIELD USING 'BDC_CURSOR'

FNAM.

CONCATENATE 'ACGL_ITEM-HKONT(' V_DCNT ')' INTO FNAM.

HKONT = WA_PREPARE-LINE+51(20).

PERFORM BDC_FIELD USING FNAM

HKONT.

*UPLOAD THE AMOUNT TO FB60(ACGL_ITEM-WRBTR)

*PERFORM........USING WA_PREPARE-LINE+121(15).

CONCATENATE 'ACGL_ITEM-WRBTR(' V_DCNT ')' INTO FNAM.

WRBTR = WA_PREPARE-LINE+75(15).

PERFORM BDC_FIELD USING FNAM

WRBTR.

PERFORM BDC_DYNPRO USING 'SAPMF05A' '1100'.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'=0006'.

PERFORM BDC_FIELD USING 'RF05A-BUSCS'

'R'.

ENDCASE.