08-04-2006 11:13 AM
how can we handle if there are 100 entries in the flat file to upload data of the table control
08-04-2006 11:15 AM
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
08-04-2006 11:20 AM
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.