You are on page 1of 5

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

*& Report ZAVM_BDC_CT_INBO_MM01


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

You might also like