You are on page 1of 7

*&---------------------------------------------------------------------*

*& Report ZAVM_INTERFACE_MULITRANS_CT


*&
*&---------------------------------------------------------------------*
* 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

You might also like