This document contains ABAP code to upload equipment master data into SAP using BDC calls. It defines structures and internal tables to store the source and target data. A selection screen is used to select the source file and session. In the main logic, the source data is uploaded from a flat file and then a loop writes the data to BDC tables using dynamic screen fields before submitting the session.
This document contains ABAP code to upload equipment master data into SAP using BDC calls. It defines structures and internal tables to store the source and target data. A selection screen is used to select the source file and session. In the main logic, the source data is uploaded from a flat file and then a loop writes the data to BDC tables using dynamic screen fields before submitting the session.
This document contains ABAP code to upload equipment master data into SAP using BDC calls. It defines structures and internal tables to store the source and target data. A selection screen is used to select the source file and session. In the main logic, the source data is uploaded from a flat file and then a loop writes the data to BDC tables using dynamic screen fields before submitting the session.
*& *&---------------------------------------------------------------------* *& AUTHOR: M.AMARAVANI *& TITTLE: TO UPLOAD THE EQUIPMENT CREATE DATA DATA BY USING CALL TRANSCATION *&-------------------------------------------------------------------- **01.09.2011 M FORSAMPLE AMAR 10 1 A1 1000 1 100319 * TO 558 *M FORSAMPLE AMAR 10 1 A1 1000 1 100280 REPORT ZAVM_INTERFACE_INB_SP3_PS_IE01. *&---------------------------------------------------------------------* *& SOURCE STRUCTURE DECLATION *&---------------------------------------------------------------------* TYPES: BEGIN OF TY_UPLOAD, * DATSL TYPE RM63E-DATSL, "VALID ON EQTYP TYPE RM63E-EQTYP, "EQUIPMENT CAT SHTXT TYPE ITOB-SHTXT, "DECSRIPTION HERST TYPE ITOB-HERST, "MANUFAC. TYPBZ TYPE ITOB-TYPBZ, "MODEL. NO MAPAR TYPE ITOB-MAPAR, "MA.PA. NO SERGE TYPE ITOB-SERGE, "MA. SER. NO SWERK TYPE ITOB-SWERK, "MAIN.PLANT STORT TYPE ITOB-STORT, "LOCATION AUFNR TYPE ITOB-AUFNR, "SETTLEORDER END OF TY_UPLOAD. *&---------------------------------------------------------------------* *& TRAGET AND SOURCE INTERNAL TABLES DECLATION *&---------------------------------------------------------------------* * FOR SOURCE INTERNAL TABLE DATA: T_UPLOAD TYPE STANDARD TABLE OF TY_UPLOAD WITH HEADER LINE INITIAL SIZE 0, * FOR TARGET INTERNAL TABLE T_BDCDATA TYPE STANDARD TABLE OF BDCDATA WITH HEADER LINE INITIAL SIZE 0, *&---------------------------------------------------------------------* *& TRAGET AND SOURCE WORKAREA DECLATION *&---------------------------------------------------------------------* *SOURCE TABLE WORKAREA DECALATION W_UPLOAD TYPE TY_UPLOAD, *TARGET TABLE WORKAREA DECALTION W_BDCDATA TYPE BDCDATA. *&---------------------------------------------------------------------* *& SELECTION-SCREEN DECLARATION *&---------------------------------------------------------------------* SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME. PARAMETERS: P_FINAME TYPE FILENAME-FILEINTERN, P_SS TYPE APQI-GROUPID. SELECTION-SCREEN END OF BLOCK B1. *&---------------------------------------------------------------------* *& INITIALIAZATION DECLARATION *&---------------------------------------------------------------------* INITIALIZATION. *CLEAR WORKAREA CLEAR: W_UPLOAD, W_BDCDATA. *REFRESH INTERNAL TABLE REFRESH: T_UPLOAD, T_BDCDATA. *&---------------------------------------------------------------------* *& TOP-OF-PAGE DECLARATION *&---------------------------------------------------------------------* TOP-OF-PAGE. WRITE: 'EQUIPMENT DATA UPLOADING PROCESS'. ULINE. *&---------------------------------------------------------------------* *& START OF SELECTION DECLARATION *&---------------------------------------------------------------------* START-OF-SELECTION. *TO UPLOAD THE FLAT DATA TO SOUREC TABLE PERFORM SUB_UPLOAD_DATA_PS. * PERFORM UPLOADING BY USING SESSION PERFORM SUB_POP_SOS. *&---------------------------------------------------------------------* *& Form SUB_UPLOAD_DATA_PS *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* FORM SUB_UPLOAD_DATA_PS . DATA: L_FINAME TYPE STRING. L_FINAME = P_FINAME. *FOR UPLOAD OF DATA FROM PS CALL FUNCTION 'GUI_UPLOAD' EXPORTING FILENAME = L_FINAME HAS_FIELD_SEPARATOR = 'X' TABLES DATA_TAB = T_UPLOAD. ENDFORM. " SUB_UPLOAD_DATA_PS *&---------------------------------------------------------------------* *&---------------------------------------------------------------------* *& Form SUB_POP_SOS *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* FORM SUB_POP_SOS . CALL FUNCTION 'BDC_OPEN_GROUP' EXPORTING CLIENT = SY-MANDT GROUP = P_SS USER = SY-UNAME. LOOP AT T_UPLOAD INTO W_UPLOAD. REFRESH T_BDCDATA. ****************************************** perform bdc_dynpro using 'SAPMIEQ0' '0100'. perform bdc_field using 'BDC_CURSOR' 'RM63E-EQUNR'. perform bdc_field using 'BDC_OKCODE' '/00'. perform bdc_field using 'RM63E-DATSL' '01.09.2011'. perform bdc_field using 'RM63E-EQTYP' W_UPLOAD-EQTYP. perform bdc_dynpro using 'SAPMIEQ0' '0101'. perform bdc_field using 'BDC_OKCODE' '=T\02'. perform bdc_field using 'BDC_CURSOR' 'ITOB-SERGE'. perform bdc_field using 'ITOB-HERST' W_UPLOAD-HERST. perform bdc_field using 'ITOB-TYPBZ' W_UPLOAD-TYPBZ. perform bdc_field using 'ITOB-MAPAR' W_UPLOAD-MAPAR. perform bdc_field using 'ITOB-SERGE' W_UPLOAD-SERGE. perform bdc_field using 'ITOB-SHTXT' W_UPLOAD-SHTXT. perform bdc_field using 'ITOB-DATAB' '01.09.2011'. perform bdc_dynpro using 'SAPMIEQ0' '0101'. perform bdc_field using 'BDC_OKCODE' '=T\03'. perform bdc_field using 'BDC_CURSOR' 'ITOB-STORT'. perform bdc_field using 'ITOB-SWERK' W_UPLOAD-SWERK. perform bdc_field using 'ITOB-STORT' W_UPLOAD-STORT. perform bdc_field using 'ITOB-SHTXT' W_UPLOAD-SHTXT. perform bdc_field using 'ITOB-DATAB' '01.09.2011'. perform bdc_dynpro using 'SAPMIEQ0' '0101'. perform bdc_field using 'BDC_OKCODE' '/00'. perform bdc_field using 'BDC_CURSOR' 'ITOB-AUFNR'. perform bdc_field using 'ITOB-BUKRS' '1000'. perform bdc_field using 'ITOB-AUFNR' W_UPLOAD-aufnr. perform bdc_field using 'ITOB-IWERK' '1000'. perform bdc_field using 'ITOB-SHTXT' W_UPLOAD-shtxt. perform bdc_field using 'ITOB-DATAB' '01.09.2011'. perform bdc_dynpro using 'SAPMIEQ0' '0101'. perform bdc_field using 'BDC_OKCODE' '/00'. perform bdc_field using 'BDC_CURSOR' 'ITOB-AUFNR'. perform bdc_field using 'ITOB-BUKRS' '1000'. perform bdc_field using 'ITOB-AUFNR' W_UPLOAD-aufnr. perform bdc_field using 'ITOB-IWERK' '1000'. perform bdc_field using 'ITOB-SHTXT' W_UPLOAD-shtxt. perform bdc_field using 'ITOB-DATAB' '01.09.2011'. perform bdc_dynpro using 'SAPMIEQ0' '0101'. perform bdc_field using 'BDC_OKCODE' '/00'. perform bdc_field using 'BDC_CURSOR' 'ITOB-AUFNR'. perform bdc_field using 'ITOB-BUKRS' '1000'. perform bdc_field using 'ITOB-AUFNR' W_UPLOAD-aufnr. perform bdc_field using 'ITOB-IWERK' '1000'. perform bdc_field using 'ITOB-SHTXT' W_UPLOAD-shtxt. perform bdc_field using 'ITOB-DATAB' '01.09.2011'. perform bdc_dynpro using 'SAPMIEQ0' '0101'. perform bdc_field using 'BDC_OKCODE' '/00'. perform bdc_field using 'BDC_CURSOR' 'ITOB-AUFNR'. perform bdc_field using 'ITOB-BUKRS' '1000'. perform bdc_field using 'ITOB-AUFNR' W_UPLOAD-aufnr. perform bdc_field using 'ITOB-IWERK' '1000'. perform bdc_field using 'ITOB-SHTXT' W_UPLOAD-shtxt. perform bdc_field using 'ITOB-DATAB' '01.09.2011'. perform bdc_dynpro using 'SAPMIEQ0' '0101'. perform bdc_field using 'BDC_OKCODE' '=BU'. perform bdc_field using 'BDC_CURSOR' 'ITOB-AUFNR'. perform bdc_field using 'ITOB-BUKRS' '1000'. perform bdc_field using 'ITOB-AUFNR' W_UPLOAD-aufnr. perform bdc_field using 'ITOB-IWERK' '1000'. perform bdc_field using 'ITOB-SHTXT' W_UPLOAD-shtxt. perform bdc_field using 'ITOB-DATAB' '01.09.2011'. **************************************** CALL FUNCTION 'BDC_INSERT' EXPORTING TCODE = 'IE01' TABLES DYNPROTAB = T_BDCDATA. ENDLOOP. CALL FUNCTION 'BDC_CLOSE_GROUP'. IF SY-SUBRC = 0. WRITE: / 'SESSION CREATED CHECK SM35 TCODE' , P_SS. ENDIF. ENDFORM. "SUB_POP_SOS *----------------------------------------------------------------------* * Start new screen * *----------------------------------------------------------------------* FORM BDC_DYNPRO USING PROGRAM DYNPRO. CLEAR W_BDCDATA. W_BDCDATA-PROGRAM = PROGRAM. W_BDCDATA-DYNPRO = DYNPRO. W_BDCDATA-DYNBEGIN = 'X'. APPEND W_BDCDATA TO T_BDCDATA. ENDFORM. "BDC_DYNPRO *----------------------------------------------------------------------* * Insert field * *----------------------------------------------------------------------* FORM BDC_FIELD USING FNAM FVAL. CLEAR W_BDCDATA. W_BDCDATA-FNAM = FNAM. W_BDCDATA-FVAL = FVAL. APPEND W_BDCDATA TO T_BDCDATA. ENDFORM. "BDC_FIELD