BDC Program to Upload Material Master Data (MM01)

Unknown macro: {gliffy}
Unknown macro: {gliffy}
Unknown macro: {gliffy}

Author: Abir Biswas
Submitted: 03-10-2007
Related Links:

Tutorial - BDC Program to Upload Material Master Data (MM01)

REPORT  ZIMMC001.
************************************************************************
*  D A T A   D E C L A R A T I O N                                     *
************************************************************************
*------------------------------------
*  Type Declaration of the Structure.
*------------------------------------
TYPES:  BEGIN  OF  TY_SAVE_INDEX,
          IDNO  TYPE  I,                   "  SAVE Index
        END    OF  TY_SAVE_INDEX.
TYPES:  BEGIN  OF  TY_TABDATA,
*         ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*         Create Material (Initial Screen).
*         ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
          MATNR(18)      TYPE    C,        "  Material Number.
          MBRSH(01)      TYPE    C,        "  Industry Sector.
          MTART(04)      TYPE    C,        "  Material Type.
*         ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*         Organizational Levels.
*         ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
          WERKS(04)      TYPE    C,        "  Plant.
          LGORT(04)      TYPE    C,        "  Storage Location.
          VKORG(04)      TYPE    C,        "  Sales Organization.
          VTWEG(02)      TYPE    C,        "  Distribution Channel.
*         ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*         Sales Org. 1 : Tax Classification.
*         ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
          TAXKM1(01)     TYPE    C,        "  Tax classification material 1.
          TAXKM2(01)     TYPE    C,        "  Tax classification material 2.
          TAXKM3(01)     TYPE    C,        "  Tax classification material 3.
          TAXKM4(01)     TYPE    C,        "  Tax classification material 4.
          TAXKM5(01)     TYPE    C,        "  Tax classification material 5.
*         ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*         Additional Data - UoM.
*         ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
          UMREN1(06)     TYPE    C,        "  Denominator for Conversion to Base Units of Measure 1.
          MEINH1(03)     TYPE    C,        "  Alternative Unit of Measure for Stockkeeping Unit   1.
          UMREZ1(06)     TYPE    C,        "  Numerator for Conversion to Base Units of Measure   1.
*         ..........................................................................................
          UMREN2(06)     TYPE    C,        "  Denominator for Conversion to Base Units of Measure 2.
          MEINH2(03)     TYPE    C,        "  Alternative Unit of Measure for Stockkeeping Unit   2.
          UMREZ2(06)     TYPE    C,        "  Numerator for Conversion to Base Units of Measure   2.
*         ..........................................................................................
          UMREN3(06)     TYPE    C,        "  Denominator for Conversion to Base Units of Measure 3.
          MEINH3(03)     TYPE    C,        "  Alternative Unit of Measure for Stockkeeping Unit   3.
          UMREZ3(06)     TYPE    C,        "  Numerator for Conversion to Base Units of Measure   3.
*         ..........................................................................................
          UMREN4(06)     TYPE    C,        "  Denominator for Conversion to Base Units of Measure 4.
          MEINH4(03)     TYPE    C,        "  Alternative Unit of Measure for Stockkeeping Unit   4.
          UMREZ4(06)     TYPE    C,        "  Numerator for Conversion to Base Units of Measure   4.
*         ..........................................................................................
          UMREN5(06)     TYPE    C,        "  Denominator for Conversion to Base Units of Measure 5.
          MEINH5(03)     TYPE    C,        "  Alternative Unit of Measure for Stockkeeping Unit   5.
          UMREZ5(06)     TYPE    C,        "  Numerator for Conversion to Base Units of Measure   5.
*         ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*         Sales Org. 1
*         ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
          VRKME(03)      TYPE    C,        "  Sales unit.
          DWERK(04)      TYPE    C,        "  Delivering Plant (Own or External).
*         ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*         Sales Org. 2
*         ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
          VERSG(01)      TYPE    C,        "  Material statistics group.
          KTGRM(02)      TYPE    C,        "  Account assignment group for this material.
          MTPOS(04)      TYPE    C,        "  Item category group from material master.
*         ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*         General/Plant.
*         ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
          BRGEW(17)      TYPE    C,        "  Gross weight.
          NTGEW(17)      TYPE    C,        "  Net weight.
          MTVFP(02)      TYPE    C,        "  Checking Group for Availability Check.
          TRAGR(04)      TYPE    C,        "  Transportation group
          LADGR(04)      TYPE    C,        "  Loading group.
          PRCTR(10)      TYPE    C,        "  Profit Center.
*         ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*         Foreign Trade Export.
*         ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
          HERKL(03)      TYPE    C,        "  Country of origin of the material.
*         ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*         Purchasing.
*         ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
          BSTME(03)      TYPE    C,        "  Order unit.
          KAUTB(01)      TYPE    C,        "  Indicator: "automatic purchase order allowed".
          XCHPF(01)      TYPE    C,        "  Batch management requirement indicator.
          EKGRP(03)      TYPE    C,        "  Purchasing Group.
          WEBAZ(03)      TYPE    C,        "  Goods receipt processing time in days.
          EKWSL(04)      TYPE    C,        "  Purchasing Value Key.
*         ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*         Purch.Order Text.
*         ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
          PTEXT(40)      TYPE    C,        "  Purchase Order Text.
*         ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*         MRP 1
*         ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
          DISGR(04)      TYPE    C,        "  MRP Group.
          DISMM(02)      TYPE    C,        "  MRP Type.
          MINBE(17)      TYPE    C,        "  Reorder point.
          DISPO(03)      TYPE    C,        "  MRP Controller.
          DISLS(02)      TYPE    C,        "  Lot size (materials planning).
          BSTFE(17)      TYPE    C,        "  Fixed lot size.
          BSTMI(17)      TYPE    C,        "  Minimum lot size.
          BSTMA(17)      TYPE    C,        "  Maximum lot size.
          AUSSS(06)      TYPE    C,        "  Assembly scrap in percent.
          BSTRF(17)      TYPE    C,        "  Rounding value for purchase order quantity.
*         ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*         MRP 2
*         ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
          BESKZ(01)      TYPE    C,        "  Procurement Type.
          SOBSL(02)      TYPE    C,        "  Special procurement type.
          LGPRO(04)      TYPE    C,        "  Issue Storage Location.
          RGEKZ(01)      TYPE    C,        "  Indicator: Backflush.
          LGFSB(04)      TYPE    C,        "  Default storage location for external procurement.
          DZEIT(03)      TYPE    C,        "  In-house production time.
          PLIFZ(03)      TYPE    C,        "  Planned delivery time in days.
          MRPPP(03)      TYPE    C,        "  PPC planning calendar.
          FHORI(03)      TYPE    C,        "  Scheduling Margin Key for Floats.
          EISBE(17)      TYPE    C,        "  Safety stock.
          WEBAZ1(03)     TYPE    C,        "  Goods receipt processing time in days.
*         ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*         MRP 3
*         ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
          STRGR(02)      TYPE    C,        "  Planning strategy group.
          VRMOD(01)      TYPE    C,        "  Consumption mode.
          VINT1(03)      TYPE    C,        "  Consumption period: backward.
          VINT2(03)      TYPE    C,        "  Consumption period: forward.
          MISKZ(01)      TYPE    C,        "  Mixed MRP indicator.
          MTVFP1(02)     TYPE    C,        "  Checking Group for Availability Check.
*         ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*         MRP 4
*         ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
          ALTSL(01)      TYPE    C,        "  Method for Selecting Alternative Bills of Material.
          KAUSF(06)      TYPE    C,        "  Component scrap in percent.
          SBDKZ(01)      TYPE    C,        "  Dependent requirements ind. for individual and coll. reqmts.
          SAUFT(01)      TYPE    C,        "  Ind.: Repetitive mfg allowed.
          SFEPR(04)      TYPE    C,        "  Repetitive manufacturing profile.
*         ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*         Work Scheduling.
*         ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
          FRTME(03)      TYPE    C,        "  Production unit.
          FEVOR(03)      TYPE    C,        "  Production scheduler.
*         ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*         Plant Data / Stor. 1
*         ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
          AUSME(03)      TYPE    C,        "  Unit of issue.
          MHDRZ(05)      TYPE    C,        "  Minimum remaining shelf life.
          MHDHB(05)      TYPE    C,        "  Total shelf life.
          IPRKZ(01)      TYPE    C,        "  Period indicator for shelf life expiration date.
*         ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*         Quality Management.
*         ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
          WEBAZ2(03)     TYPE    C,        "  Goods receipt processing time in days.
          QMPUR(01)      TYPE    C,        "  QM in Procurement is Active.
          SSQSS(08)      TYPE    C,        "  Control Key for Quality Management in Procurement.
          QZGTP(04)      TYPE    C,        "  Certificate Type.
          QMATV(01)      TYPE    C,        "  Inspection Setup Exists for Material/Plant.
*         ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*         Inspection Setup Data.
*         ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
          ART1(08)       TYPE    C,        "  Inspection Type 1.
          AKTIV1(01)     TYPE    C,        "  Inspection Type - Material Combination is Active 1.
          ART2(08)       TYPE    C,        "  Inspection Type 2.
          AKTIV2(01)     TYPE    C,        "  Inspection Type - Material Combination is Active 2.
          ART3(08)       TYPE    C,        "  Inspection Type 3.
          AKTIV3(01)     TYPE    C,        "  Inspection Type - Material Combination is Active 3.
          ART4(08)       TYPE    C,        "  Inspection Type 4.
          AKTIV4(01)     TYPE    C,        "  Inspection Type - Material Combination is Active 4.
*         ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*         Accounting 1.
*         ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
          BKLAS(04)      TYPE    C,        "  Valuation Class.
          VPRSV(01)      TYPE    C,        "  Price Control Indicator.
          PEINH(06)      TYPE    C,        "  Price Unit.
          STPRS(15)      TYPE    C,        "  Standard Price.
          VERPR(15)      TYPE    C,        "  Moving Average Price/Periodic Unit Price.
*         ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*         Cost Estimate 1.
*         ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
          EKALR(01)      TYPE    C,        "  Material Is Costed with Quantity Structure.
          HKMAT(01)      TYPE    C,        "  Material Origin.
          AWSLS(06)      TYPE    C,        "  Variance Key.
          PRCTR1(10)     TYPE    C,        "  Profit Center.
          LOSGR(17)      TYPE    C,        "  Lot Size for Product Costing.
*         ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
          ROWCNT         TYPE    I,        "  Normal Row Count.
          ROW            TYPE    I,        "  Row Count --> Line Items
*         ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
        END  OF  TY_TABDATA.
*------------------------------------------------
*  Declaration of the Internal Table & Work Area.
*------------------------------------------------
DATA:   IT_SAVE_INDEX      TYPE  STANDARD  TABLE  OF  TY_SAVE_INDEX,
        WA_SAVE_INDEX      TYPE                       TY_SAVE_INDEX.
DATA:   IT_TABDATA         TYPE  STANDARD  TABLE  OF  TY_TABDATA,
        WA_TABDATA         TYPE                       TY_TABDATA.
*-------------------------------------------------------------------------------------
*  Declaration of the Internal Table with Header Line comprising of the uploaded data.
*-------------------------------------------------------------------------------------
DATA:  BEGIN  OF  IT_FILE_UPLOAD  OCCURS  0.
         INCLUDE  STRUCTURE  ALSMEX_TABLINE.  "  Rows for Table with Excel Data
DATA:  END  OF  IT_FILE_UPLOAD.
*-------------------------------
*  Global Variable Declarations.
*-------------------------------
DATA:  GV_ANS  TYPE  C.
*--------------------------------------------
*  Batch Input Data for a single Transaction.
*  Message of Call Transaction.
*--------------------------------------------
DATA:  BDCDATA  LIKE  BDCDATA     OCCURS  0  WITH  HEADER  LINE,
       MSGTAB   LIKE  BDCMSGCOLL  OCCURS  0  WITH  HEADER  LINE.
************************************************************************
*  S E L E C T I O N - S C R E E N                                     *
************************************************************************
  SELECTION-SCREEN:  BEGIN  OF  BLOCK  B1  WITH  FRAME,
                       BEGIN  OF  BLOCK  B2  WITH  FRAME.
  PARAMETERS:            P_FNAME  LIKE  RLGRAP-FILENAME  OBLIGATORY.
  SELECTION-SCREEN:    END  OF  BLOCK  B2,
                     END  OF  BLOCK  B1.
************************************************************************
*  E V E N T : AT    S E L E C T I O N - S C R E E N                   *
************************************************************************
AT  SELECTION-SCREEN  ON  VALUE-REQUEST  FOR  P_FNAME.
    CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
     EXPORTING
*       PROGRAM_NAME        = SYST-REPID
*       DYNPRO_NUMBER       = SYST-DYNNR
*       FIELD_NAME          = ' '
       STATIC              = 'X'
*       MASK                = '.'
      CHANGING
        FILE_NAME           = P_FNAME
*     EXCEPTIONS
*       MASK_TOO_LONG       = 1
*       OTHERS              = 2
              .
    IF SY-SUBRC <> 0.
*   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
************************************************************************
*  E V E N T : S T A R T - O F - S E L E C T I O N                     *
************************************************************************
START-OF-SELECTION.
* --------------------------------------
* Upload Excel file into Internal Table.
* --------------------------------------
  PERFORM  UPLOAD_EXCEL_FILE.
  IF  NOT  IT_FILE_UPLOAD  IS  INITIAL.
*   ----------------------------------------------------
*   Confirm whether you want to proceed with the Upload.
*   ----------------------------------------------------
    PERFORM  CONFIRM_UPLOAD.
    IF  GV_ANS  EQ  '1'.
*     -------------------------------------------------------
*     Organize the uploaded data into another Internal Table.
*     -------------------------------------------------------
      PERFORM  ORGANIZE_UPLOADED_DATA.
*     -----------------------------------
*     Modify Row No. for Line Item Count.
*     -----------------------------------
      PERFORM  MODIFY_ROW_NUMBER.
*     -----------------
*     Open BDC Session.
*     -----------------
*      PERFORM  OPEN_BDC_SESSION.
*     ------------------------
*     Kick-start BDC Operation
*     ------------------------
      PERFORM  BDC_OPERATION.
*     ------------------
*     Close BDC Session.
*     ------------------
*      PERFORM  CLOSE_BDC_SESSION.
    ENDIF.
  ENDIF.
************************************************************************
*  E V E N T : E N D - O F - S E L E C T I O N                         *
************************************************************************
END-OF-SELECTION.
*&---------------------------------------------------------------------*
*&      Form  UPLOAD_EXCEL_FILE
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM UPLOAD_EXCEL_FILE .
  CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
    EXPORTING
      FILENAME                      = P_FNAME
      I_BEGIN_COL                   = 1
      I_BEGIN_ROW                   = 4
      I_END_COL                     = 107
      I_END_ROW                     = 32000
    TABLES
      INTERN                        = IT_FILE_UPLOAD
    EXCEPTIONS
      INCONSISTENT_PARAMETERS       = 1
      UPLOAD_OLE                    = 2
      OTHERS                        = 3
            .
  IF SY-SUBRC <> 0.
*   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
ENDFORM.                    " UPLOAD_EXCEL_FILE
*&---------------------------------------------------------------------*
*&      Form  CONFIRM_UPLOAD
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM CONFIRM_UPLOAD .
  CALL FUNCTION 'POPUP_TO_CONFIRM'
    EXPORTING
      TITLEBAR                    = 'Pop-Up to Confirm'
*     DIAGNOSE_OBJECT             = ' '
      TEXT_QUESTION               = 'Do you like to proceed with the Upload ???'
*     TEXT_BUTTON_1               = 'Ja'(001)
*     ICON_BUTTON_1               = ' '
*     TEXT_BUTTON_2               = 'Nein'(002)
*     ICON_BUTTON_2               = ' '
*     DEFAULT_BUTTON              = '1'
*     DISPLAY_CANCEL_BUTTON       = 'X'
*     USERDEFINED_F1_HELP         = ' '
*     START_COLUMN                = 25
*     START_ROW                   = 6
*     POPUP_TYPE                  =
*     IV_QUICKINFO_BUTTON_1       = ' '
*     IV_QUICKINFO_BUTTON_2       = ' '
   IMPORTING
     ANSWER                       = GV_ANS
*   TABLES
*     PARAMETER                   =
   EXCEPTIONS
     TEXT_NOT_FOUND              = 1
     OTHERS                      = 2.
  IF SY-SUBRC <> 0.
*   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
ENDFORM.                    " CONFIRM_UPLOAD
*&---------------------------------------------------------------------*
*&      Form  ORGANIZE_UPLOADED_DATA
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM ORGANIZE_UPLOADED_DATA .
  DATA:  LV_ROW_CNT  TYPE  I.
  CLEAR: LV_ROW_CNT.
  SORT  IT_FILE_UPLOAD  BY  ROW
                            COL.
  LOOP  AT  IT_FILE_UPLOAD.
    CASE  IT_FILE_UPLOAD-COL.
*     :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*     Create Material (Initial Screen).
*     :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
      WHEN  1.
                WA_TABDATA-MATNR        =  IT_FILE_UPLOAD-VALUE.
      WHEN  2.
                WA_TABDATA-MBRSH        =  IT_FILE_UPLOAD-VALUE.
      WHEN  3.
                WA_TABDATA-MTART        =  IT_FILE_UPLOAD-VALUE.
*     :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*     Organizational Levels.
*     :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
      WHEN  4.
                WA_TABDATA-WERKS        =  IT_FILE_UPLOAD-VALUE.
      WHEN  5.
                WA_TABDATA-LGORT        =  IT_FILE_UPLOAD-VALUE.
      WHEN  6.
                WA_TABDATA-VKORG        =  IT_FILE_UPLOAD-VALUE.
      WHEN  7.
                WA_TABDATA-VTWEG        =  IT_FILE_UPLOAD-VALUE.
*     :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*     Sales Org. 1 : Tax Classification.
*     :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
      WHEN  8.
                WA_TABDATA-TAXKM1       =  IT_FILE_UPLOAD-VALUE.
      WHEN  9.
                WA_TABDATA-TAXKM2       =  IT_FILE_UPLOAD-VALUE.
      WHEN  10.
                WA_TABDATA-TAXKM3       =  IT_FILE_UPLOAD-VALUE.
      WHEN  11.
                WA_TABDATA-TAXKM4       =  IT_FILE_UPLOAD-VALUE.
      WHEN  12.
                WA_TABDATA-TAXKM5       =  IT_FILE_UPLOAD-VALUE.
*     :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*     Additional Data - UoM.
*     :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
      WHEN  13.
                WA_TABDATA-UMREN1       =  IT_FILE_UPLOAD-VALUE.
      WHEN  14.
                WA_TABDATA-MEINH1       =  IT_FILE_UPLOAD-VALUE.
      WHEN  15.
                WA_TABDATA-UMREZ1       =  IT_FILE_UPLOAD-VALUE.
*     ...........................................................
      WHEN  16.
                WA_TABDATA-UMREN2       =  IT_FILE_UPLOAD-VALUE.
      WHEN  17.
                WA_TABDATA-MEINH2       =  IT_FILE_UPLOAD-VALUE.
      WHEN  18.
                WA_TABDATA-UMREZ2       =  IT_FILE_UPLOAD-VALUE.
*     ...........................................................
      WHEN  19.
                WA_TABDATA-UMREN3       =  IT_FILE_UPLOAD-VALUE.
      WHEN  20.
                WA_TABDATA-MEINH3       =  IT_FILE_UPLOAD-VALUE.
      WHEN  21.
                WA_TABDATA-UMREZ3       =  IT_FILE_UPLOAD-VALUE.
*     ...........................................................
      WHEN  22.
                WA_TABDATA-UMREN4       =  IT_FILE_UPLOAD-VALUE.
      WHEN  23.
                WA_TABDATA-MEINH4       =  IT_FILE_UPLOAD-VALUE.
      WHEN  24.
                WA_TABDATA-UMREZ4       =  IT_FILE_UPLOAD-VALUE.
*     ...........................................................
      WHEN  25.
                WA_TABDATA-UMREN5       =  IT_FILE_UPLOAD-VALUE.
      WHEN  26.
                WA_TABDATA-MEINH5       =  IT_FILE_UPLOAD-VALUE.
      WHEN  27.
                WA_TABDATA-UMREZ5       =  IT_FILE_UPLOAD-VALUE.
*     :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*     Sales Org. 1
*     :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
      WHEN  28.
                WA_TABDATA-VRKME        =  IT_FILE_UPLOAD-VALUE.
      WHEN  29.
                WA_TABDATA-DWERK        =  IT_FILE_UPLOAD-VALUE.
*     :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*     Sales Org. 2
*     :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
      WHEN  30.
                WA_TABDATA-VERSG        =  IT_FILE_UPLOAD-VALUE.
      WHEN  31.
                WA_TABDATA-KTGRM        =  IT_FILE_UPLOAD-VALUE.
      WHEN  32.
                WA_TABDATA-MTPOS        =  IT_FILE_UPLOAD-VALUE.
*     :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*     General/Plant.
*     :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
      WHEN  33.
                WA_TABDATA-BRGEW        =  IT_FILE_UPLOAD-VALUE.
      WHEN  34.
                WA_TABDATA-NTGEW        =  IT_FILE_UPLOAD-VALUE.
      WHEN  35.
                WA_TABDATA-MTVFP        =  IT_FILE_UPLOAD-VALUE.
      WHEN  36.
                WA_TABDATA-TRAGR        =  IT_FILE_UPLOAD-VALUE.
      WHEN  37.
                WA_TABDATA-LADGR        =  IT_FILE_UPLOAD-VALUE.
      WHEN  38.
                WA_TABDATA-PRCTR        =  IT_FILE_UPLOAD-VALUE.
*     :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*     Foreign Trade Export.
*     :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
      WHEN  39.
                WA_TABDATA-HERKL       =  IT_FILE_UPLOAD-VALUE.
*     :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*     Purchasing.
*     :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
      WHEN  40.
                WA_TABDATA-BSTME       =  IT_FILE_UPLOAD-VALUE.
      WHEN  41.
                WA_TABDATA-KAUTB       =  IT_FILE_UPLOAD-VALUE.
      WHEN  42.
                WA_TABDATA-XCHPF       =  IT_FILE_UPLOAD-VALUE.
      WHEN  43.
                WA_TABDATA-EKGRP       =  IT_FILE_UPLOAD-VALUE.
      WHEN  44.
                WA_TABDATA-WEBAZ       =  IT_FILE_UPLOAD-VALUE.
      WHEN  45.
                WA_TABDATA-EKWSL       =  IT_FILE_UPLOAD-VALUE.
*     :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*     Purch.Order Text.
*     :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
      WHEN  46.
                WA_TABDATA-PTEXT       =  IT_FILE_UPLOAD-VALUE.
*     :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*     MRP 1
*     :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
      WHEN  47.
                WA_TABDATA-DISGR       =  IT_FILE_UPLOAD-VALUE.
      WHEN  48.
                WA_TABDATA-DISMM       =  IT_FILE_UPLOAD-VALUE.
      WHEN  49.
                WA_TABDATA-MINBE       =  IT_FILE_UPLOAD-VALUE.
      WHEN  50.
                WA_TABDATA-DISPO       =  IT_FILE_UPLOAD-VALUE.
      WHEN  51.
                WA_TABDATA-DISLS       =  IT_FILE_UPLOAD-VALUE.
      WHEN  52.
                WA_TABDATA-BSTFE       =  IT_FILE_UPLOAD-VALUE.
      WHEN  53.
                WA_TABDATA-BSTMI       =  IT_FILE_UPLOAD-VALUE.
      WHEN  54.
                WA_TABDATA-BSTMA       =  IT_FILE_UPLOAD-VALUE.
      WHEN  55.
                WA_TABDATA-AUSSS       =  IT_FILE_UPLOAD-VALUE.
      WHEN  56.
                WA_TABDATA-BSTRF       =  IT_FILE_UPLOAD-VALUE.
*     :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*     MRP 2
*     :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
      WHEN  57.
                WA_TABDATA-BESKZ       =  IT_FILE_UPLOAD-VALUE.
      WHEN  58.
                WA_TABDATA-SOBSL       =  IT_FILE_UPLOAD-VALUE.
      WHEN  59.
                WA_TABDATA-LGPRO       =  IT_FILE_UPLOAD-VALUE.
      WHEN  60.
                WA_TABDATA-RGEKZ       =  IT_FILE_UPLOAD-VALUE.
      WHEN  61.
                WA_TABDATA-LGFSB       =  IT_FILE_UPLOAD-VALUE.
      WHEN  62.
                WA_TABDATA-DZEIT       =  IT_FILE_UPLOAD-VALUE.
      WHEN  63.
                WA_TABDATA-PLIFZ       =  IT_FILE_UPLOAD-VALUE.
      WHEN  64.
                WA_TABDATA-MRPPP       =  IT_FILE_UPLOAD-VALUE.
      WHEN  65.
                WA_TABDATA-FHORI       =  IT_FILE_UPLOAD-VALUE.
      WHEN  66.
                WA_TABDATA-EISBE       =  IT_FILE_UPLOAD-VALUE.
      WHEN  67.
                WA_TABDATA-WEBAZ1      =  IT_FILE_UPLOAD-VALUE.
*     :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*     MRP 3
*     :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
      WHEN  68.
                WA_TABDATA-STRGR       =  IT_FILE_UPLOAD-VALUE.
      WHEN  69.
                WA_TABDATA-VRMOD       =  IT_FILE_UPLOAD-VALUE.
      WHEN  70.
                WA_TABDATA-VINT1       =  IT_FILE_UPLOAD-VALUE.
      WHEN  71.
                WA_TABDATA-VINT2       =  IT_FILE_UPLOAD-VALUE.
      WHEN  72.
                WA_TABDATA-MISKZ       =  IT_FILE_UPLOAD-VALUE.
      WHEN  73.
                WA_TABDATA-MTVFP1      =  IT_FILE_UPLOAD-VALUE.
*     :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*     MRP 4
*     :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
      WHEN  74.
                WA_TABDATA-ALTSL       =  IT_FILE_UPLOAD-VALUE.
      WHEN  75.
                WA_TABDATA-KAUSF       =  IT_FILE_UPLOAD-VALUE.
      WHEN  76.
                WA_TABDATA-SBDKZ       =  IT_FILE_UPLOAD-VALUE.
      WHEN  77.
                WA_TABDATA-SAUFT       =  IT_FILE_UPLOAD-VALUE.
      WHEN  78.
                WA_TABDATA-SFEPR       =  IT_FILE_UPLOAD-VALUE.
*     :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*     Work Scheduling.
*     :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
      WHEN  79.
                WA_TABDATA-FRTME       =  IT_FILE_UPLOAD-VALUE.
      WHEN  80.
                WA_TABDATA-FEVOR       =  IT_FILE_UPLOAD-VALUE.
*     :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*     Plant Data / Stor. 1
*     :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
      WHEN  81.
                WA_TABDATA-AUSME       =  IT_FILE_UPLOAD-VALUE.
      WHEN  82.
                WA_TABDATA-MHDRZ       =  IT_FILE_UPLOAD-VALUE.
      WHEN  83.
                WA_TABDATA-MHDHB       =  IT_FILE_UPLOAD-VALUE.
      WHEN  84.
                WA_TABDATA-IPRKZ       =  IT_FILE_UPLOAD-VALUE.
*     :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*     Quality Management.
*     :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
      WHEN  85.
                WA_TABDATA-WEBAZ2      =  IT_FILE_UPLOAD-VALUE.
      WHEN  86.
                WA_TABDATA-QMPUR       =  IT_FILE_UPLOAD-VALUE.
      WHEN  87.
                WA_TABDATA-SSQSS       =  IT_FILE_UPLOAD-VALUE.
      WHEN  88.
                WA_TABDATA-QZGTP       =  IT_FILE_UPLOAD-VALUE.
      WHEN  89.
                WA_TABDATA-QMATV       =  IT_FILE_UPLOAD-VALUE.
*     :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*     Inspection Setup Data.
*     :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
      WHEN  90.
                WA_TABDATA-ART1        =  IT_FILE_UPLOAD-VALUE.
      WHEN  91.
                WA_TABDATA-AKTIV1      =  IT_FILE_UPLOAD-VALUE.
*     ...........................................................
      WHEN  92.
                WA_TABDATA-ART2        =  IT_FILE_UPLOAD-VALUE.
      WHEN  93.
                WA_TABDATA-AKTIV2      =  IT_FILE_UPLOAD-VALUE.
*     ...........................................................
      WHEN  94.
                WA_TABDATA-ART3        =  IT_FILE_UPLOAD-VALUE.
      WHEN  95.
                WA_TABDATA-AKTIV3      =  IT_FILE_UPLOAD-VALUE.
*     ...........................................................
      WHEN  96.
                WA_TABDATA-ART4        =  IT_FILE_UPLOAD-VALUE.
      WHEN  97.
                WA_TABDATA-AKTIV4      =  IT_FILE_UPLOAD-VALUE.
*     :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*     Accounting 1.
*     :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
      WHEN  98.
                WA_TABDATA-BKLAS       =  IT_FILE_UPLOAD-VALUE.
      WHEN  99.
                WA_TABDATA-VPRSV       =  IT_FILE_UPLOAD-VALUE.
      WHEN  100.
                WA_TABDATA-PEINH       =  IT_FILE_UPLOAD-VALUE.
      WHEN  101.
                WA_TABDATA-STPRS       =  IT_FILE_UPLOAD-VALUE.
      WHEN  102.
                WA_TABDATA-VERPR       =  IT_FILE_UPLOAD-VALUE.
*     :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
*     Cost Estimate 1.
*     :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
      WHEN  103.
                WA_TABDATA-EKALR       =  IT_FILE_UPLOAD-VALUE.
      WHEN  104.
                WA_TABDATA-HKMAT       =  IT_FILE_UPLOAD-VALUE.
      WHEN  105.
                WA_TABDATA-AWSLS       =  IT_FILE_UPLOAD-VALUE.
      WHEN  106.
                WA_TABDATA-PRCTR1      =  IT_FILE_UPLOAD-VALUE.
      WHEN  107.
                WA_TABDATA-LOSGR       =  IT_FILE_UPLOAD-VALUE.
*     :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    ENDCASE.
    AT  END  OF  ROW.
      LV_ROW_CNT          =  LV_ROW_CNT  +  1.
      WA_TABDATA-ROWCNT   =  LV_ROW_CNT.
      APPEND  WA_TABDATA  TO  IT_TABDATA.
      CLEAR:  WA_TABDATA.
    ENDAT.
  ENDLOOP.
ENDFORM.                    " ORGANIZE_UPLOADED_DATA
*&---------------------------------------------------------------------*
*&      Form  MODIFY_ROW_NUMBER
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM MODIFY_ROW_NUMBER .
  DATA:  LV_ROW  TYPE  I.
  LOOP  AT  IT_TABDATA  INTO  WA_TABDATA.
    IF  WA_TABDATA-MATNR  NE  SPACE.
      CLEAR: LV_ROW.
    ENDIF.
    LV_ROW          =  LV_ROW  +  1.
    WA_TABDATA-ROW  =  LV_ROW.
    MODIFY  IT_TABDATA  FROM  WA_TABDATA
                        TRANSPORTING  ROW.
  ENDLOOP.
ENDFORM.                    " MODIFY_ROW_NUMBER
*&---------------------------------------------------------------------*
*&      Form  OPEN_BDC_SESSION
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM OPEN_BDC_SESSION .
  DATA:  LV_SESSION  TYPE  APQ_GRPN.
  LV_SESSION  =  'MATMAST_1'.
  CALL FUNCTION 'BDC_OPEN_GROUP'
   EXPORTING
     CLIENT                    = SY-MANDT
*     DEST                      = FILLER8
     GROUP                     = LV_SESSION
*     HOLDDATE                  = FILLER8
     KEEP                      = 'X'
     USER                      = SY-UNAME
*     RECORD                    = FILLER1
*     PROG                      = SY-CPROG
*   IMPORTING
*     QID                       =
   EXCEPTIONS
     CLIENT_INVALID            = 1
     DESTINATION_INVALID       = 2
     GROUP_INVALID             = 3
     GROUP_IS_LOCKED           = 4
     HOLDDATE_INVALID          = 5
     INTERNAL_ERROR            = 6
     QUEUE_ERROR               = 7
     RUNNING                   = 8
     SYSTEM_LOCK_ERROR         = 9
     USER_INVALID              = 10
     OTHERS                    = 11.
  IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
ENDFORM.                    " OPEN_BDC_SESSION
*&---------------------------------------------------------------------*
*&      Form  BDC_OPERATION
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM BDC_OPERATION .
  LOOP  AT  IT_TABDATA  INTO  WA_TABDATA.
    IF  WA_TABDATA-MATNR  NE  ''.
*     ------------------------------------------------------------
*     Transaction Code - MM01    Create Material : Initial Screen.
*     ------------------------------------------------------------
      PERFORM  BDC_DYNPRO  USING  'SAPLMGMM'               '0060'.
      PERFORM  BDC_FIELD   USING  'BDC_CURSOR'             'RMMG1-MTART'.
      PERFORM  BDC_FIELD   USING  'BDC_OKCODE'             '=ENTR'.
      PERFORM  BDC_FIELD   USING  'RMMG1-MATNR'            WA_TABDATA-MATNR.
      PERFORM  BDC_FIELD   USING  'RMMG1-MBRSH'            WA_TABDATA-MBRSH.
      PERFORM  BDC_FIELD   USING  'RMMG1-MTART'            WA_TABDATA-MTART.
      IF  WA_TABDATA-MTART  NE  'ROH'.
*       ------------------------------------------------------------
*       Transaction Code - MM01    Views Selection Screen (not ROH).
*       ------------------------------------------------------------
        PERFORM  BDC_DYNPRO  USING  'SAPLMGMM'              '0070'.
        PERFORM  BDC_FIELD   USING  'BDC_CURSOR'            'MSICHTAUSW-DYTXT(17)'.
        PERFORM  BDC_FIELD   USING  'BDC_OKCODE'            '=P+'.
        PERFORM  BDC_FIELD   USING  'MSICHTAUSW-KZSEL(04)'  'X'.
        PERFORM  BDC_FIELD   USING  'MSICHTAUSW-KZSEL(05)'  'X'.
        PERFORM  BDC_FIELD   USING  'MSICHTAUSW-KZSEL(06)'  'X'.
        PERFORM  BDC_FIELD   USING  'MSICHTAUSW-KZSEL(07)'  'X'.
        PERFORM  BDC_FIELD   USING  'MSICHTAUSW-KZSEL(09)'  'X'.
        PERFORM  BDC_FIELD   USING  'MSICHTAUSW-KZSEL(11)'  'X'.
        PERFORM  BDC_FIELD   USING  'MSICHTAUSW-KZSEL(12)'  'X'.
        PERFORM  BDC_FIELD   USING  'MSICHTAUSW-KZSEL(13)'  'X'.
        PERFORM  BDC_FIELD   USING  'MSICHTAUSW-KZSEL(14)'  'X'.
        PERFORM  BDC_FIELD   USING  'MSICHTAUSW-KZSEL(15)'  'X'.
        PERFORM  BDC_FIELD   USING  'MSICHTAUSW-KZSEL(16)'  'X'.
        PERFORM  BDC_FIELD   USING  'MSICHTAUSW-KZSEL(17)'  'X'.
        PERFORM  BDC_DYNPRO  USING  'SAPLMGMM'              '0070'.
        PERFORM  BDC_FIELD   USING  'BDC_CURSOR'            'MSICHTAUSW-DYTXT(07)'.
        PERFORM  BDC_FIELD   USING  'BDC_OKCODE'            '=ENTR'.
        PERFORM  BDC_FIELD   USING  'MSICHTAUSW-KZSEL(04)'  'X'.
        PERFORM  BDC_FIELD   USING  'MSICHTAUSW-KZSEL(05)'  'X'.
        PERFORM  BDC_FIELD   USING  'MSICHTAUSW-KZSEL(07)'  'X'.
      ELSE.
*       ------------------------------------------------------------
*       Transaction Code - MM01    Views Selection Screen ( = ROH).
*       ------------------------------------------------------------
        PERFORM  BDC_DYNPRO  USING  'SAPLMGMM'              '0070'.
        PERFORM  BDC_FIELD   USING  'BDC_CURSOR'            'MSICHTAUSW-DYTXT(16)'.
        PERFORM  BDC_FIELD   USING  'BDC_OKCODE'            '=P+'.
        PERFORM  BDC_FIELD   USING  'MSICHTAUSW-KZSEL(04)'  'X'.
        PERFORM  BDC_FIELD   USING  'MSICHTAUSW-KZSEL(05)'  'X'.
        PERFORM  BDC_FIELD   USING  'MSICHTAUSW-KZSEL(06)'  'X'.
        PERFORM  BDC_FIELD   USING  'MSICHTAUSW-KZSEL(07)'  'X'.
        PERFORM  BDC_FIELD   USING  'MSICHTAUSW-KZSEL(09)'  'X'.
        PERFORM  BDC_FIELD   USING  'MSICHTAUSW-KZSEL(11)'  'X'.
        PERFORM  BDC_FIELD   USING  'MSICHTAUSW-KZSEL(12)'  'X'.
        PERFORM  BDC_FIELD   USING  'MSICHTAUSW-KZSEL(13)'  'X'.
        PERFORM  BDC_FIELD   USING  'MSICHTAUSW-KZSEL(14)'  'X'.
        PERFORM  BDC_FIELD   USING  'MSICHTAUSW-KZSEL(15)'  'X'.
        PERFORM  BDC_FIELD   USING  'MSICHTAUSW-KZSEL(16)'  'X'.
        PERFORM  BDC_DYNPRO  USING  'SAPLMGMM'              '0070'.
        PERFORM  BDC_FIELD   USING  'BDC_CURSOR'            'MSICHTAUSW-DYTXT(07)'.
        PERFORM  BDC_FIELD   USING  'BDC_OKCODE'            '=ENTR'.
        PERFORM  BDC_FIELD   USING  'MSICHTAUSW-KZSEL(03)'  'X'.
        PERFORM  BDC_FIELD   USING  'MSICHTAUSW-KZSEL(04)'  'X'.
        PERFORM  BDC_FIELD   USING  'MSICHTAUSW-KZSEL(06)'  'X'.
      ENDIF.
*     --------------------------------------------------------
*     Transaction Code - MM01    Organizational Levels Screen.
*     --------------------------------------------------------
      PERFORM  BDC_DYNPRO  USING  'SAPLMGMM'              '0080'.
      PERFORM  BDC_FIELD   USING  'BDC_CURSOR'            'RMMG1-VTWEG'.
      PERFORM  BDC_FIELD   USING  'BDC_OKCODE'            '=ENTR'.
      PERFORM  BDC_FIELD   USING  'RMMG1-WERKS'           WA_TABDATA-WERKS.
      PERFORM  BDC_FIELD   USING  'RMMG1-LGORT'           WA_TABDATA-LGORT.
      PERFORM  BDC_FIELD   USING  'RMMG1-VKORG'           WA_TABDATA-VKORG.
      PERFORM  BDC_FIELD   USING  'RMMG1-VTWEG'           WA_TABDATA-VTWEG.
*     ---------------------------------------------------------------------
*     Transaction Code - MM01    Sales Organization 1 - Tax Classification.
*     ---------------------------------------------------------------------
      PERFORM  BDC_DYNPRO  USING  'SAPLMGMM'              '4000'.
      PERFORM  BDC_FIELD   USING  'BDC_OKCODE'            '/00'.
      PERFORM  BDC_FIELD   USING  'BDC_CURSOR'            'MG03STEUER-TAXKM(02)'.
      PERFORM  BDC_FIELD   USING  'MG03STEUER-TAXKM(01)'  WA_TABDATA-TAXKM1.
      PERFORM  BDC_FIELD   USING  'MG03STEUER-TAXKM(02)'  WA_TABDATA-TAXKM2.
      PERFORM  BDC_DYNPRO  USING  'SAPLMGMM'              '4200'.
      PERFORM  BDC_FIELD   USING  'BDC_OKCODE'            '/00'.
      PERFORM  BDC_FIELD   USING  'BDC_CURSOR'            'MG03STEUER-TAXKM(05)'.
      PERFORM  BDC_FIELD   USING  'MG03STEUER-TAXKM(03)'  WA_TABDATA-TAXKM3.
      PERFORM  BDC_FIELD   USING  'MG03STEUER-TAXKM(04)'  WA_TABDATA-TAXKM4.
      PERFORM  BDC_FIELD   USING  'MG03STEUER-TAXKM(05)'  WA_TABDATA-TAXKM5.
*     -------------------------------------------------
*     Transaction Code - MM01    Additional Data - UoM.
*     -------------------------------------------------
      PERFORM  BDC_DYNPRO  USING  'SAPLMGMM'              '4000'.
      PERFORM  BDC_FIELD   USING  'BDC_OKCODE'            '=ZU01'.
      PERFORM  BDC_FIELD   USING  'BDC_CURSOR'            'MAKT-MAKTX'.
      PERFORM  BDC_DYNPRO  USING  'SAPLMGMM'              '4300'.
      PERFORM  BDC_FIELD   USING  'BDC_OKCODE'            '=ZU02'.
      PERFORM  BDC_FIELD   USING  'BDC_CURSOR'            'RMMG1-MATNR'.
      PERFORM  BDC_DYNPRO  USING  'SAPLMGMM'              '4300'.
      PERFORM  BDC_FIELD   USING  'BDC_OKCODE'            '/00'.
      PERFORM  BDC_FIELD   USING  'BDC_CURSOR'            'SMEINH-UMREZ(06)'.
      PERFORM  BDC_FIELD   USING  'SMEINH-UMREN(02)'      WA_TABDATA-UMREN1.
      PERFORM  BDC_FIELD   USING  'SMEINH-MEINH(02)'      WA_TABDATA-MEINH1.
      PERFORM  BDC_FIELD   USING  'SMEINH-UMREZ(02)'      WA_TABDATA-UMREZ1.
      PERFORM  BDC_FIELD   USING  'SMEINH-UMREN(03)'      WA_TABDATA-UMREN2.
      PERFORM  BDC_FIELD   USING  'SMEINH-MEINH(03)'      WA_TABDATA-MEINH2.
      PERFORM  BDC_FIELD   USING  'SMEINH-UMREZ(03)'      WA_TABDATA-UMREZ2.
      PERFORM  BDC_FIELD   USING  'SMEINH-UMREN(04)'      WA_TABDATA-UMREN3.
      PERFORM  BDC_FIELD   USING  'SMEINH-MEINH(04)'      WA_TABDATA-MEINH3.
      PERFORM  BDC_FIELD   USING  'SMEINH-UMREZ(04)'      WA_TABDATA-UMREZ3.
      PERFORM  BDC_FIELD   USING  'SMEINH-UMREN(05)'      WA_TABDATA-UMREN4.
      PERFORM  BDC_FIELD   USING  'SMEINH-MEINH(05)'      WA_TABDATA-MEINH4.
      PERFORM  BDC_FIELD   USING  'SMEINH-UMREZ(05)'      WA_TABDATA-UMREZ4.
      PERFORM  BDC_FIELD   USING  'SMEINH-UMREN(06)'      WA_TABDATA-UMREN5.
      PERFORM  BDC_FIELD   USING  'SMEINH-MEINH(06)'      WA_TABDATA-MEINH5.
      PERFORM  BDC_FIELD   USING  'SMEINH-UMREZ(06)'      WA_TABDATA-UMREZ5.
      PERFORM  BDC_DYNPRO  USING  'SAPLMGMM'              '4300'.
      PERFORM  BDC_FIELD   USING  'BDC_OKCODE'            '=MAIN'.
      PERFORM  BDC_FIELD   USING  'BDC_CURSOR'            'MAKT-MAKTX'.
*     ------------------------------------------------
*     Transaction Code - MM01    Sales Organization 1.
*     ------------------------------------------------
      PERFORM  BDC_DYNPRO  USING  'SAPLMGMM'              '4000'.
      PERFORM  BDC_FIELD   USING  'BDC_OKCODE'            '/00'.
      PERFORM  BDC_FIELD   USING  'BDC_CURSOR'            'MVKE-DWERK'.
      PERFORM  BDC_FIELD   USING  'MVKE-VRKME'            WA_TABDATA-VRKME.
      PERFORM  BDC_FIELD   USING  'MVKE-DWERK'            WA_TABDATA-DWERK.
*     ------------------------------------------------
*     Transaction Code - MM01    Sales Organization 2.
*     ------------------------------------------------
      PERFORM  BDC_DYNPRO  USING  'SAPLMGMM'              '4000'.
      PERFORM  BDC_FIELD   USING  'BDC_OKCODE'            '/00'.
      PERFORM  BDC_FIELD   USING  'BDC_CURSOR'            'MVKE-MTPOS'.
      PERFORM  BDC_FIELD   USING  'MVKE-VERSG'            WA_TABDATA-VERSG.
      PERFORM  BDC_FIELD   USING  'MVKE-KTGRM'            WA_TABDATA-KTGRM.
      PERFORM  BDC_FIELD   USING  'MVKE-MTPOS'            WA_TABDATA-MTPOS.
*     -------------------------------------------
*     Transaction Code - MM01    General / Plant.
*     -------------------------------------------
      PERFORM  BDC_DYNPRO  USING  'SAPLMGMM'              '4000'.
      PERFORM  BDC_FIELD   USING  'BDC_OKCODE'            '/00'.
      PERFORM  BDC_FIELD   USING  'MARA-BRGEW'            WA_TABDATA-BRGEW.
      PERFORM  BDC_FIELD   USING  'MARA-NTGEW'            WA_TABDATA-NTGEW.
      PERFORM  BDC_FIELD   USING  'MARC-MTVFP'            WA_TABDATA-MTVFP.
      PERFORM  BDC_FIELD   USING  'MARA-TRAGR'            WA_TABDATA-TRAGR.
      PERFORM  BDC_FIELD   USING  'MARC-LADGR'            WA_TABDATA-LADGR.
      PERFORM  BDC_FIELD   USING  'BDC_CURSOR'            'MARC-PRCTR'.
      PERFORM  BDC_FIELD   USING  'MARC-PRCTR'            WA_TABDATA-PRCTR.
*     ------------------------------------------------
*     Transaction Code - MM01    Foreign Trade Export.
*     ------------------------------------------------
      PERFORM  BDC_DYNPRO  USING  'SAPLMGMM'              '4004'.
      PERFORM  BDC_FIELD   USING  'BDC_OKCODE'            '/00'.
      PERFORM  BDC_FIELD   USING  'BDC_CURSOR'            'MARC-HERKL'.
      PERFORM  BDC_FIELD   USING  'MARC-HERKL'            WA_TABDATA-HERKL.
*     --------------------------------------
*     Transaction Code - MM01    Purchasing.
*     --------------------------------------
      PERFORM  BDC_DYNPRO  USING  'SAPLMGMM'              '4000'.
      PERFORM  BDC_FIELD   USING  'BDC_OKCODE'            '/00'.
      PERFORM  BDC_FIELD   USING  'BDC_CURSOR'            'MARC-EKGRP'.
      PERFORM  BDC_FIELD   USING  'MARA-BSTME'            WA_TABDATA-BSTME.
      PERFORM  BDC_FIELD   USING  'MARC-KAUTB'            WA_TABDATA-KAUTB.
      PERFORM  BDC_FIELD   USING  'MARC-XCHPF'            WA_TABDATA-XCHPF.
      PERFORM  BDC_FIELD   USING  'MARC-EKGRP'            WA_TABDATA-EKGRP.
      PERFORM  BDC_FIELD   USING  'MARC-WEBAZ'            WA_TABDATA-WEBAZ.
      PERFORM  BDC_FIELD   USING  'MARA-EKWSL'            WA_TABDATA-EKWSL.
*     -----------------------------------------------
*     Transaction Code - MM01    Purchase Order Text.
*     -----------------------------------------------
*      PERFORM  BDC_DYNPRO  USING  'SAPLMGMM'              '4040'.
*      PERFORM  BDC_FIELD   USING  'BDC_OKCODE'            '=LTEX'.
*
*      PERFORM  BDC_DYNPRO  USING  'SAPLSTXX'              '1100'.
*      PERFORM  BDC_FIELD   USING  'BDC_CURSOR'            'RSTXT-TXLINE(02)'.
*      PERFORM  BDC_FIELD   USING  'BDC_OKCODE'            '=TXBA'.
*      PERFORM  BDC_FIELD   USING  'RSTXT-TXLINE(02)'      WA_TABDATA-PTEXT.
*
*      PERFORM  BDC_DYNPRO  USING  'SAPLSPO1'              '0100'.
*      PERFORM  BDC_FIELD   USING  'BDC_OKCODE'            '=YES'.
      PERFORM  BDC_DYNPRO  USING  'SAPLMGMM'              '4040'.
      PERFORM  BDC_FIELD   USING  'BDC_OKCODE'            '=SP12'.
*     ---------------------------------
*     Transaction Code - MM01    MRP 1.
*     ---------------------------------
      PERFORM  BDC_DYNPRO  USING  'SAPLMGMM'              '4000'.
      PERFORM  BDC_FIELD   USING  'BDC_OKCODE'            '/00'.
      PERFORM  BDC_FIELD   USING  'MARC-DISGR'            WA_TABDATA-DISGR.
      PERFORM  BDC_FIELD   USING  'MARC-DISMM'            WA_TABDATA-DISMM.
      PERFORM  BDC_FIELD   USING  'MARC-MINBE'            WA_TABDATA-MINBE.
      PERFORM  BDC_FIELD   USING  'MARC-DISPO'            WA_TABDATA-DISPO.
      PERFORM  BDC_FIELD   USING  'BDC_CURSOR'            'MARC-BSTRF'.
      PERFORM  BDC_FIELD   USING  'MARC-DISLS'            WA_TABDATA-DISLS.
      PERFORM  BDC_FIELD   USING  'MARC-BSTFE'            WA_TABDATA-BSTFE.
      PERFORM  BDC_FIELD   USING  'MARC-BSTMI'            WA_TABDATA-BSTMI.
      PERFORM  BDC_FIELD   USING  'MARC-BSTMA'            WA_TABDATA-BSTMA.
      PERFORM  BDC_FIELD   USING  'MARC-AUSSS'            WA_TABDATA-AUSSS.
      PERFORM  BDC_FIELD   USING  'MARC-BSTRF'            WA_TABDATA-BSTRF.
*     ---------------------------------
*     Transaction Code - MM01    MRP 2.
*     ---------------------------------
      PERFORM  BDC_DYNPRO  USING  'SAPLMGMM'              '4000'.
      PERFORM  BDC_FIELD   USING  'BDC_OKCODE'            'SP14'.
      PERFORM  BDC_FIELD   USING  'MARC-BESKZ'            WA_TABDATA-BESKZ.
      PERFORM  BDC_FIELD   USING  'MARC-SOBSL'            WA_TABDATA-SOBSL.
      PERFORM  BDC_FIELD   USING  'MARC-LGPRO'            WA_TABDATA-LGPRO.
      PERFORM  BDC_FIELD   USING  'MARC-RGEKZ'            WA_TABDATA-RGEKZ.
      PERFORM  BDC_FIELD   USING  'MARC-LGFSB'            WA_TABDATA-LGFSB.
      PERFORM  BDC_FIELD   USING  'MARC-DZEIT'            WA_TABDATA-DZEIT.
      PERFORM  BDC_FIELD   USING  'MARC-PLIFZ'            WA_TABDATA-PLIFZ.
      PERFORM  BDC_FIELD   USING  'MARC-MRPPP'            WA_TABDATA-MRPPP.
      PERFORM  BDC_FIELD   USING  'MARC-FHORI'            WA_TABDATA-FHORI.
      PERFORM  BDC_FIELD   USING  'MARC-EISBE'            WA_TABDATA-EISBE.
      IF  WA_TABDATA-WEBAZ  EQ  ''.
        PERFORM  BDC_FIELD   USING  'MARC-WEBAZ'            WA_TABDATA-WEBAZ1.
      ENDIF.
*     ---------------------------------
*     Transaction Code - MM01    MRP 3.
*     ---------------------------------
      PERFORM  BDC_DYNPRO  USING  'SAPLMGMM'              '4000'.
      PERFORM  BDC_FIELD   USING  'BDC_OKCODE'            'SP15'.
      PERFORM  BDC_FIELD   USING  'MARC-STRGR'            WA_TABDATA-STRGR.
      PERFORM  BDC_FIELD   USING  'MARC-VRMOD'            WA_TABDATA-VRMOD.
      PERFORM  BDC_FIELD   USING  'MARC-VINT1'            WA_TABDATA-VINT1.
      PERFORM  BDC_FIELD   USING  'MARC-VINT2'            WA_TABDATA-VINT2.
      PERFORM  BDC_FIELD   USING  'MARC-MISKZ'            WA_TABDATA-MISKZ.
      PERFORM  BDC_FIELD   USING  'BDC_CURSOR'            'MARC-MTVFP'.
      IF  WA_TABDATA-MTVFP  EQ  ''.
        PERFORM  BDC_FIELD   USING  'MARC-MTVFP'            WA_TABDATA-MTVFP1.
      ENDIF.
*     ---------------------------------
*     Transaction Code - MM01    MRP 4.
*     ---------------------------------
      PERFORM  BDC_DYNPRO  USING  'SAPLMGMM'              '4000'.
      PERFORM  BDC_FIELD   USING  'BDC_OKCODE'            '/00'.
      PERFORM  BDC_FIELD   USING  'MARC-ALTSL'            WA_TABDATA-ALTSL.
      PERFORM  BDC_FIELD   USING  'MARC-KAUSF'            WA_TABDATA-KAUSF.
      PERFORM  BDC_FIELD   USING  'MARC-SBDKZ'            WA_TABDATA-SBDKZ.
      PERFORM  BDC_FIELD   USING  'BDC_CURSOR'            'MARC-SFEPR'.
      PERFORM  BDC_FIELD   USING  'MARC-SAUFT'            WA_TABDATA-SAUFT.
      PERFORM  BDC_FIELD   USING  'MARC-SFEPR'            WA_TABDATA-SFEPR.
      IF  WA_TABDATA-MTART  NE  'ROH'.
*       -------------------------------------------
*       Transaction Code - MM01    Work Scheduling.
*       -------------------------------------------
        PERFORM  BDC_DYNPRO  USING  'SAPLMGMM'              '4000'.
        PERFORM  BDC_FIELD   USING  'BDC_OKCODE'            '/00'.
        PERFORM  BDC_FIELD   USING  'BDC_CURSOR'            'MARC-FEVOR'.
        PERFORM  BDC_FIELD   USING  'MARC-FRTME'            WA_TABDATA-FRTME.
        PERFORM  BDC_FIELD   USING  'MARC-FEVOR'            WA_TABDATA-FEVOR.
      ENDIF.
*     ------------------------------------------------
*     Transaction Code - MM01    Plant Data / Stor. 1.
*     ------------------------------------------------
      PERFORM  BDC_DYNPRO  USING  'SAPLMGMM'              '4000'.
      PERFORM  BDC_FIELD   USING  'BDC_OKCODE'            '/00'.
      PERFORM  BDC_FIELD   USING  'MARC-AUSME'            WA_TABDATA-AUSME.
      PERFORM  BDC_FIELD   USING  'BDC_CURSOR'            'MARA-IPRKZ'.
      PERFORM  BDC_FIELD   USING  'MARA-MHDRZ'            WA_TABDATA-MHDRZ.
      PERFORM  BDC_FIELD   USING  'MARA-MHDHB'            WA_TABDATA-MHDHB.
      PERFORM  BDC_FIELD   USING  'MARA-IPRKZ'            WA_TABDATA-IPRKZ.
*     ----------------------------------------------
*     Transaction Code - MM01    Quality Management.
*     ----------------------------------------------
      PERFORM  BDC_DYNPRO  USING  'SAPLMGMM'              '4000'.
      PERFORM  BDC_FIELD   USING  'BDC_OKCODE'            '=PB01'.
      PERFORM  BDC_FIELD   USING  'BDC_CURSOR'            'MARC-QZGTP'.
      PERFORM  BDC_FIELD   USING  'MARC-WEBAZ'            WA_TABDATA-WEBAZ2.
      PERFORM  BDC_FIELD   USING  'MARA-QMPUR'            WA_TABDATA-QMPUR.
      PERFORM  BDC_FIELD   USING  'MARC-SSQSS'            WA_TABDATA-SSQSS.
      PERFORM  BDC_FIELD   USING  'MARC-QZGTP'            WA_TABDATA-QZGTP.
      IF  WA_TABDATA-QMATV  EQ  'X'.
*       -------------------------------------------------
*       Transaction Code - MM01    Inspection Setup Data.
*       -------------------------------------------------
        PERFORM  BDC_DYNPRO  USING  'SAPLQPLS'              '0100'.
        PERFORM  BDC_FIELD   USING  'BDC_CURSOR'            'RMQAM-ARGUMENT'.
        PERFORM  BDC_FIELD   USING  'BDC_OKCODE'            '=NEU'.
        PERFORM  BDC_DYNPRO  USING  'SAPLQPLS'              '0100'.
        PERFORM  BDC_FIELD   USING  'BDC_CURSOR'            'RMQAM-AKTIV(04)'.
        PERFORM  BDC_FIELD   USING  'BDC_OKCODE'            '=WEIT'.
        PERFORM  BDC_FIELD   USING  'RMQAM-ART(01)'         WA_TABDATA-ART1.
        PERFORM  BDC_FIELD   USING  'RMQAM-AKTIV(01)'       WA_TABDATA-AKTIV1.
        PERFORM  BDC_FIELD   USING  'RMQAM-ART(02)'         WA_TABDATA-ART2.
        PERFORM  BDC_FIELD   USING  'RMQAM-AKTIV(02)'       WA_TABDATA-AKTIV2.
        PERFORM  BDC_FIELD   USING  'RMQAM-ART(03)'         WA_TABDATA-ART3.
        PERFORM  BDC_FIELD   USING  'RMQAM-AKTIV(03)'       WA_TABDATA-AKTIV3.
        PERFORM  BDC_FIELD   USING  'RMQAM-ART(04)'         WA_TABDATA-ART4.
        PERFORM  BDC_FIELD   USING  'RMQAM-AKTIV(04)'       WA_TABDATA-AKTIV4.
        PERFORM  BDC_DYNPRO  USING  'SAPLMGMM'              '4000'.
        PERFORM  BDC_FIELD   USING  'BDC_OKCODE'            '/00'.
        PERFORM  BDC_FIELD   USING  'BDC_CURSOR'            'MAKT-MAKTX'.
      ENDIF.
*     ----------------------------------------
*     Transaction Code - MM01    Accounting 1.
*     ----------------------------------------
      PERFORM  BDC_DYNPRO  USING  'SAPLMGMM'              '4000'.
      PERFORM  BDC_FIELD   USING  'BDC_OKCODE'            '=SP26'.
      PERFORM  BDC_FIELD   USING  'BDC_CURSOR'            'MBEW-BKLAS'.
      PERFORM  BDC_FIELD   USING  'MBEW-BKLAS'            WA_TABDATA-BKLAS.
      PERFORM  BDC_FIELD   USING  'MBEW-VPRSV'            WA_TABDATA-VPRSV.
      PERFORM  BDC_FIELD   USING  'MBEW-PEINH'            WA_TABDATA-PEINH.
      PERFORM  BDC_FIELD   USING  'MBEW-STPRS'            WA_TABDATA-STPRS.
      PERFORM  BDC_FIELD   USING  'MBEW-VERPR'            WA_TABDATA-VERPR.
*     -------------------------------------------
*     Transaction Code - MM01    Cost Estimate 1.
*     -------------------------------------------
      PERFORM  BDC_DYNPRO  USING  'SAPLMGMM'              '4000'.
      PERFORM  BDC_FIELD   USING  'BDC_OKCODE'            '/00'.
      PERFORM  BDC_FIELD   USING  'MBEW-EKALR'            WA_TABDATA-EKALR.
      PERFORM  BDC_FIELD   USING  'MBEW-HKMAT'            WA_TABDATA-HKMAT.
      IF  WA_TABDATA-MTART  NE  'ROH'.
        PERFORM  BDC_FIELD   USING  'MARC-AWSLS'            WA_TABDATA-AWSLS.
      ENDIF.
      PERFORM  BDC_FIELD   USING  'MARC-PRCTR'            WA_TABDATA-PRCTR1.
      PERFORM  BDC_FIELD   USING  'BDC_CURSOR'            'MARC-LOSGR'.
      PERFORM  BDC_FIELD   USING  'MARC-LOSGR'            WA_TABDATA-LOSGR.
*     ------------------------------------------
*     Transaction Code - MM01    Saving of Data.
*     ------------------------------------------
      PERFORM  BDC_DYNPRO  USING  'SAPLSPO1'           '0300'.
      PERFORM  BDC_FIELD   USING  'BDC_OKCODE'         '=YES'.
*     ------------------------------------------
*     Call Transaction - MM01 to create Routing.
*     ------------------------------------------
      CALL  TRANSACTION  'MM01'  USING  BDCDATA
                                 MODE   'E'
                                 UPDATE 'A'
                                 MESSAGES  INTO  MSGTAB.
      CLEAR:   BDCDATA.
      REFRESH  BDCDATA.
    ENDIF.
  ENDLOOP.
ENDFORM.                    " BDC_OPERATION
*&---------------------------------------------------------------------*
*&      Form  CLOSE_BDC_SESSION
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM CLOSE_BDC_SESSION .
  CALL FUNCTION 'BDC_CLOSE_GROUP'
   EXCEPTIONS
     NOT_OPEN          = 1
     QUEUE_ERROR       = 2
     OTHERS            = 3.
  IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
ENDFORM.                    " CLOSE_BDC_SESSION
*&---------------------------------------------------------------------*
*&      Form  BDC_DYNPRO
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->PROGRAM   text
*      -->DYNPRO    text
*----------------------------------------------------------------------*
FORM BDC_DYNPRO  USING    PROGRAM
                          DYNPRO.
  CLEAR:  BDCDATA.
  BDCDATA-PROGRAM   =  PROGRAM.
  BDCDATA-DYNPRO    =  DYNPRO.
  BDCDATA-DYNBEGIN  =  'X'.
  APPEND  BDCDATA.
ENDFORM.                    " BDC_DYNPRO
*&---------------------------------------------------------------------*
*&      Form  BDC_FIELD
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->FNAM   text
*      -->FVAL   text
*----------------------------------------------------------------------*
FORM BDC_FIELD  USING    FNAM
                         FVAL.
  CLEAR:  BDCDATA.
  BDCDATA-FNAM  =  FNAM.
  BDCDATA-FVAL  =  FVAL.
  APPEND  BDCDATA.
ENDFORM.                    " BDC_FIELD
 

Labels

tutorial tutorial Delete
abap abap Delete
program program Delete
bdc bdc Delete
mm01 mm01 Delete
upload upload Delete
material material Delete
master master Delete
data data Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.