REPORT Z_BDC5 . DATA : BEGIN OF IT_DUMMY OCCURS 0, DUMMY(100) TYPE C, END OF IT_DUMMY. DATA : BEGIN OF IT_XK01 OCCURS 0, LIFNR(10) TYPE C, BUKRS(4) TYPE C, EKORG(4) TYPE C, KTOKK(4) TYPE C, NAME1(30) TYPE C, SORTL(10) TYPE C, LAND1(3) TYPE C, SPRAS(2) TYPE C, AKONT(6) TYPE C, FDGRV(2) TYPE C, WAERS(3) TYPE C, END OF IT_XK01, BEGIN OF IT_BANK OCCURS 0, BANKS(3) TYPE C, BANKL(10) TYPE C, BANKN(10) TYPE C, KOINH(30) TYPE C, LIFNR(10) TYPE C, END OF IT_BANK. DATA : IT_BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE, IT_BDCMSGCOLL LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE. CALL FUNCTION 'WS_UPLOAD' EXPORTING FILENAME = 'C:\VENDOR.TXT' FILETYPE = 'ASC' TABLES DATA_TAB = IT_DUMMY. LOOP AT IT_DUMMY. IF IT_DUMMY-DUMMY+0(2) = '11'. IT_XK01-LIFNR = IT_DUMMY-DUMMY+2(10). IT_XK01-BUKRS = IT_DUMMY-DUMMY+12(4). IT_XK01-EKORG = IT_DUMMY-DUMMY+16(4). IT_XK01-KTOKK = IT_DUMMY-DUMMY+20(4). IT_XK01-NAME1 = IT_DUMMY-DUMMY+24(30). IT_XK01-SORTL = IT_DUMMY-DUMMY+54(10). IT_XK01-LAND1 = IT_DUMMY-DUMMY+64(3). IT_XK01-SPRAS = IT_DUMMY-DUMMY+67(2). IT_XK01-AKONT = IT_DUMMY-DUMMY+69(6). IT_XK01-FDGRV = IT_DUMMY-DUMMY+75(2). IT_XK01-WAERS = IT_DUMMY-DUMMY+77(3). APPEND IT_XK01. ELSE. IT_BANK-BANKS = IT_DUMMY-DUMMY+2(3). IT_BANK-BANKL = IT_DUMMY-DUMMY+5(10). IT_BANK-BANKN = IT_DUMMY-DUMMY+15(10). IT_BANK-KOINH = IT_DUMMY-DUMMY+25(30). IT_BANK-LIFNR = IT_DUMMY-DUMMY+55(10). APPEND IT_BANK. ENDIF. ENDLOOP. LOOP AT IT_XK01. REFRESH IT_BDCDATA. perform bdc_dynpro using 'SAPMF02K' '0100'. perform bdc_field using 'BDC_CURSOR' 'RF02K-REF_LIFNR'. perform bdc_field using 'BDC_OKCODE' '/00'. perform bdc_field using 'RF02K-LIFNR' IT_XK01-LIFNR. perform bdc_field using 'RF02K-BUKRS' IT_XK01-BUKRS. perform bdc_field using 'RF02K-EKORG' IT_XK01-EKORG. perform bdc_field using 'RF02K-KTOKK' IT_XK01-KTOKK. perform bdc_dynpro using 'SAPMF02K' '0110'. perform bdc_field using 'BDC_CURSOR' 'LFA1-TELX1'. perform bdc_field using 'BDC_OKCODE' '/00'. perform bdc_field using 'LFA1-NAME1' IT_XK01-NAME1. perform bdc_field using 'LFA1-SORTL' IT_XK01-SORTL. perform bdc_field using 'LFA1-LAND1' IT_XK01-LAND1. perform bdc_field using 'LFA1-SPRAS' IT_XK01-SPRAS. perform bdc_dynpro using 'SAPMF02K' '0120'. perform bdc_field using 'BDC_CURSOR' 'LFA1-KUNNR'. perform bdc_field using 'BDC_OKCODE' '/00'. perform bdc_dynpro using 'SAPMF02K' '0130'. perform bdc_field using 'BDC_CURSOR' 'LFBK-KOINH(02)'. perform bdc_field using 'BDC_OKCODE' '=ENTR'. DATA : FNAM(20) TYPE C, IDX TYPE C. MOVE 1 TO IDX. LOOP AT IT_BANK WHERE LIFNR = IT_XK01-LIFNR. CONCATENATE 'LFBK-BANKS(' IDX ')' INTO FNAM. perform bdc_field using FNAM IT_BANK-BANKS. CONCATENATE 'LFBK-BANKL(' IDX ')' INTO FNAM. perform bdc_field using FNAM IT_BANK-BANKL. CONCATENATE 'LFBK-BANKN(' IDX ')' INTO FNAM. perform bdc_field using FNAM IT_BANK-BANKN. CONCATENATE 'LFBK-KOINH(' IDX ')' INTO FNAM. perform bdc_field using FNAM IT_BANK-KOINH. IDX = IDX + 1. ENDLOOP. 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-FDGRV'. perform bdc_field using 'BDC_OKCODE' '/00'. perform bdc_field using 'LFB1-AKONT' IT_XK01-AKONT. perform bdc_field using 'LFB1-FDGRV' IT_XK01-FDGRV. perform bdc_dynpro using 'SAPMF02K' '0215'. perform bdc_field using 'BDC_CURSOR' 'LFB1-ZTERM'. perform bdc_field using 'BDC_OKCODE' '/00'. perform bdc_dynpro using 'SAPMF02K' '0220'. perform bdc_field using 'BDC_CURSOR' 'LFB5-MAHNA'. 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' IT_XK01-WAERS. perform bdc_dynpro using 'SAPMF02K' '0320'. perform bdc_field using 'BDC_CURSOR' 'WYT3-PARVW(01)'. perform bdc_field using 'BDC_OKCODE' '=ENTR'. perform bdc_dynpro using 'SAPLSPO1' '0300'. perform bdc_field using 'BDC_OKCODE' '=YES'. CALL TRANSACTION 'XK01' USING IT_BDCDATA MODE 'A' UPDATE 'S' MESSAGES INTO IT_BDCMSGCOLL. ENDLOOP. FORM BDC_DYNPRO USING PROG SCR. CLEAR IT_BDCDATA. IT_BDCDATA-PROGRAM = PROG. IT_BDCDATA-DYNPRO = SCR. IT_BDCDATA-DYNBEGIN = 'X'. APPEND IT_BDCDATA. ENDFORM. FORM BDC_FIELD USING FNAM FVAL. CLEAR IT_BDCDATA. IT_BDCDATA-FNAM = FNAM. IT_BDCDATA-FVAL = FVAL. APPEND IT_BDCDATA. ENDFORM.Hope that would clear the matters for freshers.
Serkan AKKAVAK
Computer Engineer
ABAP Developer & SAP MM SD Consultant
Contact : serkurumsal@yandex.com
Social Plugin