Hi abapers,
There is a little confusion. I am trying to upload Vendor Master(MK01) through call transaction method.
It is inserting only one record(one vendor). my flat file contains multiple records.
Is there anything wrong in below coding.
REPORT ZBDC_UPLOAD_PROGRAM_03.
data: begin of itab1 occurs 1,
fld(80),
end of itab1.
data: begin of itab occurs 1,
F1 type LIFNR,
F2 type EKORG,
F3 type KTOKK,
F4 type NAME1,
F5 type SORTL,
F6 type LAND1,
F7 type SPRAS,
F8 type WAERS,
end of itab.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = 'C:\Documents and Settings\eccadm\Desktop\vendorslist2.txt'
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = ' '
TABLES
DATA_TAB = itab1
.
*LOOP AT itab1.
*write:/ itab1-fld.
*ENDLOOP.
LOOP AT itab1.
split itab1-fld at ',' into itab-F1 itab-F2 itab-F3 itab-F4 itab-F5 itab-F6 itab-F7 itab-F8.
append itab.
ENDLOOP.
*LOOP AT itab.
*write:/ itab-F1, itab-F2, itab-F3, itab-F4, itab-F5, itab-F6, itab-F7, itab-F8.
*ENDLOOP.
DATA: BDCDATA type BDCDATA OCCURS 1 with header line.
Loop at itab.
*********************************
perform bdc_dynpro using 'SAPMF02K' '0107'.
perform bdc_field using 'BDC_CURSOR' 'RF02K-LIFNR'.
perform bdc_field using 'BDC_OKCODE' '/00'.
perform bdc_field using 'RF02K-LIFNR' itab-F1.
perform bdc_field using 'RF02K-EKORG' itab-F2.
perform bdc_field using 'RF02K-KTOKK' itab-F3.
perform bdc_dynpro using 'SAPMF02K' '0110'.
perform bdc_field using 'BDC_CURSOR' 'LFA1-SPRAS'.
perform bdc_field using 'BDC_OKCODE' '/00'.
perform bdc_field using 'LFA1-NAME1' itab-F4.
perform bdc_field using 'LFA1-SORTL' itab-F5.
perform bdc_field using 'LFA1-LAND1' itab-F6.
perform bdc_field using 'LFA1-SPRAS' itab-F7.
perform bdc_dynpro using 'SAPMF02K' '0120'.
perform bdc_field using 'BDC_CURSOR' 'LFA1-KONZS'.
perform bdc_field using 'BDC_OKCODE' '/00'.
perform bdc_dynpro using 'SAPMF02K' '0310'.
perform bdc_field using 'BDC_CURSOR' 'LFM1-WAERS'.
perform bdc_field using 'BDC_OKCODE' '/00'.
perform bdc_field using 'LFM1-WAERS' itab-F8.
perform bdc_dynpro using 'SAPMF02K' '0320'.
perform bdc_field using 'BDC_CURSOR' 'RF02K-LIFNR'.
perform bdc_field using 'BDC_OKCODE' '=UPDA'.
perform bdc_dynpro using 'SAPLSP01' '0300'.
perform bdc_dynpro using 'BDC_OKCODE' '=YES'.
*perform bdc_transaction using 'MK01'.
**************************************
call transaction 'MK01' using BDCDATA MODE 'A'.
ENDLOOP.
*----------------------------------------------------------------------*
* New Screen *
*----------------------------------------------------------------------*
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
CLEAR BDCDATA.
BDCDATA-PROGRAM = PROGRAM.
BDCDATA-DYNPRO = DYNPRO.
BDCDATA-DYNBEGIN = 'X'.
APPEND BDCDATA.
ENDFORM.
*----------------------------------------------------------------------*
* Insert field *
*----------------------------------------------------------------------*
FORM BDC_FIELD USING FNAM FVAL.
IF FVAL <> SPACE.
CLEAR BDCDATA.
BDCDATA-FNAM = FNAM.
BDCDATA-FVAL = FVAL.
APPEND BDCDATA.
ENDIF.
ENDFORM.
Thanks