Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

how to handle table control in upload data in bdc program

Former Member
0 Kudos

how can we handle if there are 100 entries in the flat file to upload data of the table control

2 REPLIES 2

Former Member
0 Kudos

hi sarath ,

first u have to find out visible lines in that TC screen

say 5.

loop at itab.

count = count + 1.

if count eq 6.

ok_code = P+.

count = 0.

endif.

endloop.

Regards

prabhu

Former Member
0 Kudos

HI, CHECK the code present in Bold format to handle table control in BDC.

LOOP AT IT_LFA INTO RECORD.

PERFORM BDC_DYNPRO USING 'SAPMF02K' '0105'.

PERFORM BDC_FIELD USING 'BDC_CURSOR'

'RF02K-KTOKK'.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'/00'.

PERFORM BDC_FIELD USING 'RF02K-LIFNR'

RECORD-LIFNR_007.

PERFORM BDC_FIELD USING 'RF02K-BUKRS'

RECORD-BUKRS_001.

PERFORM BDC_FIELD USING 'RF02K-KTOKK'

RECORD-KTOKK_002.

PERFORM BDC_DYNPRO USING 'SAPMF02K' '0110'.

PERFORM BDC_FIELD USING 'BDC_CURSOR'

'LFA1-LAND1'.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'/00'.

PERFORM BDC_FIELD USING 'LFA1-ANRED'

RECORD-ANRED_003.

PERFORM BDC_FIELD USING 'LFA1-NAME1'

RECORD-NAME1_004.

PERFORM BDC_FIELD USING 'LFA1-SORTL'

RECORD-SORTL_005.

PERFORM BDC_FIELD USING 'LFA1-LAND1'

RECORD-LAND1_006.

PERFORM BDC_DYNPRO USING 'SAPMF02K' '0120'.

PERFORM BDC_FIELD USING 'BDC_CURSOR'

'LFA1-KUNNR'.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'/00'.

<b>LOOP AT IT_TC INTO RECORD1 WHERE LIFNR_007 = RECORD-LIFNR_007.

PERFORM BDC_DYNPRO USING 'SAPMF02K' '0130'.

CONCATENATE 'LFBK-BANKS(' CNT ')' INTO FLD.

PERFORM BDC_FIELD USING FLD RECORD1-BANKS_01_007.

CONCATENATE 'LFBK-BANKL(' CNT ')' INTO FLD.

PERFORM BDC_FIELD USING FLD RECORD1-BANKL_01_012.

CONCATENATE 'LFBK-BANKN(' CNT ')' INTO FLD.

PERFORM BDC_FIELD USING FLD RECORD1-BANKN_01_017.

CONCATENATE 'LFBK-KOINH(' CNT ')' INTO FLD.

PERFORM BDC_FIELD USING FLD RECORD1-KOINH_01_022.

CNT = CNT + 1.

  • in your Table control if it contains 6 rows per page the check CNT= 6. or depanding on your requirement

IF CNT = 6.

CNT = 1.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'=P+'.

ENDIF.

CLEAR IT_TC.

ENDLOOP.</b>

PERFORM BDC_DYNPRO USING 'SAPMF02K' '0130'.

PERFORM BDC_FIELD USING 'BDC_CURSOR'

'LFBK-BANKS(01)'.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'=ENTR'.

PERFORM BDC_DYNPRO USING 'SAPMF02K' '0210'.

PERFORM BDC_FIELD USING 'BDC_CURSOR'

'LFB1-AKONT'.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'=UPDA'.

CALL TRANSACTION 'FK01' USING IT_BDC MODE 'A' MESSAGES INTO IT_MSG.

IF SY-SUBRC = 0.

WRITE 😕 'VENDOR CREATED SUCCESSFULLY'.

ELSE.

IF COUNT = 0.

COUNT = 1.

PERFORM OPENGROUP.

ENDIF.

PERFORM BDCINSERT.

ENDIF.

CNT = 1.

CLEAR: IT_BDC[],IT_BDC.

ENDLOOP.