*& *&---------------------------------------------------------------------* * M. AMARAVANI *& PUPOSE : TO UPLOAD DATA FOR DEPENDENT TRSNAS BY USING CALL TRSNS METHOD *& *&---------------------------------------------------------------------* *0100 1000 SALESINTERNALOR 1000 1000 5294 10 AVANI 77020747 23 AVM VZEN * M FORSAMPLE AMAR 10 1 A1 1000 1 100281 *0150 1000 SALESINTERNALOR 1000 1000 5294 10 AVANI 77020747 23 AVM VZEN *M FORSAMPLE AMAR 10 1 A1 1000 1 100281 REPORT ZAVM_INTERFACE_MULITRANS_CT. *&---------------------------------------------------------------------* *& SOURCE STRUCTURE DECLATION *&---------------------------------------------------------------------* TYPES: BEGIN OF TY_UPLOAD, AUART TYPE COAS-AUART, " ORDERTYPE VALUE TYPE SVALD-VALUE, "CONTROLLING AREA KTEXT TYPE COAS-KTEXT, "SHORT TEXT GSBER TYPE COAS-GSBER, "BUSINESS AREA WERKS TYPE COAS-WERKS, "PLANT KDAUF TYPE COAS-KDAUF, "SALES ORDER NO KDPOS TYPE COAS-KDPOS, "SALES ITEM USER0 TYPE COAS-USER0, "APLICANT USER1 TYPE COAS-USER1, "TELEPHONE NO USER2 TYPE COAS-USER2, "PERSONEL RESPO. USER6 TYPE COAS-USER6, "DEPARTMENT 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 INITIAL SIZE 0, * FOR ERROR REPROCESS INTERNAL TABLE T_ERROR TYPE STANDARD TABLE OF TY_UPLOAD INITIAL SIZE 0, * FOR TARGET INTERNAL TABLE T_BDCDATA TYPE STANDARD TABLE OF BDCDATA INITIAL SIZE 0, * FOR MESSAGE INTERNAL TABLE T_MSG TYPE STANDARD TABLE OF BDCMSGCOLL INITIAL SIZE 0, T_MSG1 TYPE STANDARD TABLE OF BDCMSGCOLL 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, *MESSEAGE TABLE WORKAREA DECALTION W_MSG TYPE BDCMSGCOLL, W_MSG1 TYPE BDCMSGCOLL. *&---------------------------------------------------------------------* *& SELECTION-SCREEN DECLARATION *&---------------------------------------------------------------------* SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME. PARAMETERS: P_FINAME TYPE FILENAME-FILEINTERN. SELECTION-SCREEN END OF BLOCK B1. *&---------------------------------------------------------------------* *& INITIALIAZATION DECLARATION *&---------------------------------------------------------------------* INITIALIZATION. *CLEAR WORKAREA CLEAR: W_UPLOAD, W_BDCDATA, W_MSG. *REFRESH INTERNAL TABLE REFRESH: T_UPLOAD, T_BDCDATA, T_MSG. *&---------------------------------------------------------------------* *& TOP-OF-PAGE DECLARATION *&---------------------------------------------------------------------* TOP-OF-PAGE. WRITE: 'INTERNAL ORDER DATA UPLOADING PROCESS'. ULINE. WRITE:/2 'ITERNALTYPE' ,20 'MSGID', 40 'MESSAGE'. ULINE. *&---------------------------------------------------------------------* *& START OF SELECTION DECLARATION *&---------------------------------------------------------------------* START-OF-SELECTION. *TO UPLOAD THE FLAT DATA TO SOUREC TABLE PERFORM SUB_UPLOAD_DATA_PS. * PERFORM UPLOADING BY BDC TECHNICS PERFORM SUB_POP_CALLTRANS . *&---------------------------------------------------------------------* *& 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_CALLTRANS *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* FORM SUB_POP_CALLTRANS . DATA: L_MSG TYPE STRING. LOOP AT T_UPLOAD INTO W_UPLOAD. REFRESH T_BDCDATA. ******************************************, PERFORM BDC_DYNPRO USING 'SAPMKAUF' '0100'. PERFORM BDC_FIELD USING 'BDC_CURSOR' 'COAS-REFNR'. PERFORM BDC_FIELD USING 'BDC_OKCODE' '=KOKR'. PERFORM BDC_FIELD USING 'COAS-AUART' W_UPLOAD-AUART. PERFORM BDC_DYNPRO USING 'SAPLSPO4' '0300'. PERFORM BDC_FIELD USING 'BDC_CURSOR' 'SVALD-VALUE(01)'. PERFORM BDC_FIELD USING 'BDC_OKCODE' '=FURT'. PERFORM BDC_FIELD USING 'SVALD-VALUE(01)' W_UPLOAD-VALUE. PERFORM BDC_DYNPRO USING 'SAPMKAUF' '0100'. PERFORM BDC_FIELD USING 'BDC_CURSOR' 'COAS-REFNR'. PERFORM BDC_FIELD USING 'BDC_OKCODE' '/00'. PERFORM BDC_FIELD USING 'COAS-AUART' W_UPLOAD-AUART. PERFORM BDC_DYNPRO USING 'SAPMKAUF' '0600'. PERFORM BDC_FIELD USING 'BDC_OKCODE' '=BUT4'. PERFORM BDC_FIELD USING 'COAS-KTEXT' W_UPLOAD-KTEXT. PERFORM BDC_FIELD USING 'BDC_CURSOR' 'COAS-KDPOS'. PERFORM BDC_FIELD USING 'COAS-BUKRS' '1000'. PERFORM BDC_FIELD USING 'COAS-GSBER' W_UPLOAD-GSBER. PERFORM BDC_FIELD USING 'COAS-WERKS' W_UPLOAD-WERKS. PERFORM BDC_FIELD USING 'COAS-SCOPE' 'OCOST'. PERFORM BDC_FIELD USING 'COAS-KDAUF' W_UPLOAD-KDAUF. PERFORM BDC_FIELD USING 'COAS-KDPOS' W_UPLOAD-KDPOS. PERFORM BDC_DYNPRO USING 'SAPMKAUF' '0600'. PERFORM BDC_FIELD USING 'BDC_OKCODE' '=SICH'. PERFORM BDC_FIELD USING 'COAS-KTEXT' 'Sample Order For Development Orders'. PERFORM BDC_FIELD USING 'BDC_CURSOR' 'COAS-USER6'. PERFORM BDC_FIELD USING 'COAS-USER0' W_UPLOAD-USER0. PERFORM BDC_FIELD USING 'COAS-USER1' W_UPLOAD-USER1. PERFORM BDC_FIELD USING 'COAS-USER6' W_UPLOAD-USER6. PERFORM BDC_FIELD USING 'COAS-USER2' W_UPLOAD-USER2. **************************************** *TO SEND THE DATA FROM TARGET TO APPLIACTION TABLE REFRESH T_MSG. CALL TRANSACTION 'KO01' USING T_BDCDATA MODE 'N' MESSAGES INTO T_MSG. REFRESH T_BDCDATA. *TO GET THE SYSTEM GENRATED ERRORS. LOOP AT T_MSG INTO W_MSG. CALL FUNCTION 'FORMAT_MESSAGE' EXPORTING ID = W_MSG-MSGID LANG = SY-LANGU NO = W_MSG-MSGNR V1 = W_MSG-MSGV1 V2 = W_MSG-MSGV2 V3 = W_MSG-MSGV3 V4 = W_MSG-MSGV4 IMPORTING MSG = L_MSG EXCEPTIONS NOT_FOUND = 1 OTHERS = 2. IF SY-SUBRC = 0. WRITE: /2 W_UPLOAD-AUART, 20 W_MSG-MSGTYP,40 L_MSG. ENDIF. ENDLOOP. IF SY-SUBRC = 0. LOOP AT T_MSG INTO W_MSG. ****************************************** 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_MSG-MSGV1. 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_MSG-MSGV1. 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_MSG-MSGV1. 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_MSG-MSGV1. 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_MSG-MSGV1. 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'. *TO SEND THE DATA FROM TARGET TO APPLIACTION TABLE REFRESH T_MSG1. CALL TRANSACTION 'IE01' USING T_BDCDATA MODE 'N' MESSAGES INTO T_MSG1. ENDLOOP. *TO GET THE SYSTEM GENRATED ERRORS. LOOP AT T_MSG1 INTO W_MSG1. CALL FUNCTION 'FORMAT_MESSAGE' EXPORTING ID = W_MSG-MSGID LANG = SY-LANGU NO = W_MSG1-MSGNR V1 = W_MSG1-MSGV1 V2 = W_MSG1-MSGV2 V3 = W_MSG1-MSGV3 V4 = W_MSG1-MSGV4 IMPORTING MSG = L_MSG EXCEPTIONS NOT_FOUND = 1 OTHERS = 2. IF SY-SUBRC = 0. WRITE: /2 W_UPLOAD-AUART, 20 W_MSG1-MSGTYP,40 L_MSG. ENDIF. ENDLOOP. ENDIF. ENDLOOP. ENDFORM. " SUB_POP_CALLTRANS *----------------------------------------------------------------------* * 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