This document contains code to upload data from a flat file into SAP using BDC programming. It reads the flat file, splits the data into header and item tables based on delimiters. It then loops through the header and item tables, performing BDC calls to populate SAP purchase order fields and save the order.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
663 views8 pages
BDC Session Method
This document contains code to upload data from a flat file into SAP using BDC programming. It reads the flat file, splits the data into header and item tables based on delimiters. It then loops through the header and item tables, performing BDC calls to populate SAP purchase order fields and save the order.
DATA:BEGIN OF XTAB OCCURS 0, TYP, DES(255) TYPE C, END OF XTAB.
DATA:BEGIN OF ITAB OCCURS 0, SUPERFIELD LIKE MEPO_TOPLINE-SUPERFIELD, EKORG LIKE MEPO1222-EKORG, EKGRP LIKE MEPO1222-EKGRP, BUKRS LIKE MEPO1222-BUKRS, END OF ITAB.
DATA:BEGIN OF JTAB OCCURS 0, N(4) TYPE C, EMATN LIKE MEPO1211-EMATN, MENGE(13) TYPE C, NETPR(13) TYPE C, NAME1 LIKE MEPO1211-NAME1, END OF JTAB.
DATA:BDCTAB LIKE BDCDATA OCCURS 0 WITH HEADER LINE.
DATA:DELIMITER VALUE '*'. DATA A TYPE I. DATA M(4) TYPE N. DATA L_FNAM(30) TYPE C.
LOOP AT XTAB. IF XTAB-TYP = 'H'. SPLIT XTAB-DES AT DELIMITER INTO ITAB-SUPERFIELD ITAB-EKORG ITAB-EKGRP ITAB-BUKRS. JTAB-N = JTAB-N + 1. APPEND ITAB. ELSEIF XTAB-TYP = ''I'. SPLIT XTAB-DES AT DELIMITER INTO JTAB-EMATN JTAB-MENGE JTAB-NETPR JTAB-NAME1. APPEND JTAB. ENDIF. ENDLOOP.
CALL FUNCTION 'BDC_OPEN_GROUP' EXPORTING CLIENT = SY-MANDT GROUP = 'PORDER' KEEP = 'X' USER = SY-UNAME.
LOOP AT ITAB. A = SY-TABIX.
REFRESH BDCTAB.
perform bdc_dynpro using 'SAPLMEGUI' '0014'. perform bdc_field using 'BDC_CURSOR' 'MEPO_TOPLINE-SUPERFIELD'. perform bdc_field using 'MEPO_TOPLINE-BSART' 'NB'. perform bdc_field using 'MEPO_TOPLINE-SUPERFIELD' ITAB-SUPERFIELD. perform bdc_field using 'MEPO_TOPLINE-BEDAT' '09.02.2007'. perform bdc_field using 'DYN_6000-LIST' ' 1'. perform bdc_field using 'BDC_OKCODE' '=MEV4000BUTTON'.
perform bdc_dynpro using 'SAPLMEGUI' '0014'. perform bdc_field using 'MEPO_TOPLINE-BSART' 'NB'. perform bdc_field using 'MEPO_TOPLINE-SUPERFIELD' ITAB-SUPERFIELD. perform bdc_field using 'MEPO_TOPLINE-BEDAT' '09.02.2007'. perform bdc_field using 'BDC_CURSOR' 'MEPO1222-EKORG'. perform bdc_field using 'MEPO1222-EKORG' ITAB-EKORG. perform bdc_field using 'MEPO1222-EKGRP' ITAB-EKGRP. perform bdc_field using 'MEPO1222-BUKRS' ITAB-BUKRS. perform bdc_field using 'DYN_6000-LIST' ' 1'. perform bdc_field using 'BDC_OKCODE' '=MEV4001BUTTON'.
perform bdc_dynpro using 'SAPLMEGUI' '0014'. perform bdc_field using 'MEPO_TOPLINE-BSART' 'NB'. perform bdc_field using 'MEPO_TOPLINE-SUPERFIELD' ITAB-SUPERFIELD. perform bdc_field using 'MEPO_TOPLINE-BEDAT' '09.02.2007'. perform bdc_field using 'MEPO1222-EKORG' ITAB-EKORG. perform bdc_field using 'MEPO1222-EKGRP' ITAB-EKGRP. perform bdc_field using 'MEPO1222-BUKRS' ITAB-BUKRS.
M = 1.
LOOP AT JTAB. IF JTAB-N = A. WRITE:/ JTAB.
CONCATENATE 'MEPO1211-EMATN(' M ')' INTO L_FNAM. perform bdc_field using 'BDC_CURSOR' L_FNAM. perform bdc_field using L_FNAM JTAB-EMATN.
CONCATENATE 'MEPO1211-MENGE(' M ')' INTO L_FNAM. perform bdc_field using L_FNAM JTAB-MENGE.
CONCATENATE 'MEPO1211-NETPR(' M ')' INTO L_FNAM. perform bdc_field using L_FNAM JTAB-NETPR.
CONCATENATE 'MEPO1211-NAME1(' M ')' INTO L_FNAM. perform bdc_field using L_FNAM JTAB-NAME1.
M = M + 1. ENDIF. ENDLOOP.
perform bdc_field using 'DYN_6000-LIST' ' 1'. perform bdc_field using 'BDC_OKCODE' '/00'.
perform bdc_dynpro using 'SAPLMEGUI' '0014'. perform bdc_field using 'MEPO_TOPLINE-BSART' 'NB'. perform bdc_field using 'MEPO_TOPLINE-SUPERFIELD' ITAB-SUPERFIELD. perform bdc_field using 'MEPO_TOPLINE-BEDAT' '09.02.2007'. perform bdc_field using 'MEPO1222-EKORG' ITAB-EKORG. perform bdc_field using 'MEPO1222-EKGRP' ITAB-EKGRP. perform bdc_field using 'MEPO1222-BUKRS' ITAB-BUKRS. perform bdc_field using 'DYN_6000-LIST' ' 1'. perform bdc_field using 'BDC_CURSOR' 'MEPO1319-MATKL'. perform bdc_field using 'MEPO1319-SPINF' 'X'. perform bdc_field using 'BDC_OKCODE' '=MESAVE'.
(Ebook) Beginning Programming with Java For Dummies, 3rd Edition by Barry Burd ISBN 9780470371749, 9781118220146, 9781118233849, 0470371749, 1118220145, 1118233840 instant download