Download - Bdc Program for MM01 Tcode

Transcript
Page 1: Bdc Program for MM01 Tcode

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.

Page 2: Bdc Program for MM01 Tcode

          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.

Page 3: Bdc Program for MM01 Tcode

          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.*         ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

Page 4: Bdc Program for MM01 Tcode

*         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 DataDATA:  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.

Page 5: Bdc Program for MM01 Tcode

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

Page 6: Bdc Program for MM01 Tcode

*      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

Page 7: Bdc Program for MM01 Tcode

      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.*     :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

Page 8: Bdc Program for MM01 Tcode

      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.

Page 9: Bdc Program for MM01 Tcode

      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.

Page 10: Bdc Program for MM01 Tcode

                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.

Page 11: Bdc Program for MM01 Tcode

*     :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*     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.

Page 12: Bdc Program for MM01 Tcode

                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.*     :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

Page 13: Bdc Program for MM01 Tcode

    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

Page 14: Bdc Program for MM01 Tcode

     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'.

Page 15: Bdc Program for MM01 Tcode

        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.

Page 16: Bdc Program for MM01 Tcode

      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.

Page 17: Bdc Program for MM01 Tcode

      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.

Page 18: Bdc Program for MM01 Tcode

      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.

Page 19: Bdc Program for MM01 Tcode

      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.

Page 20: Bdc Program for MM01 Tcode

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

Page 21: Bdc Program for MM01 Tcode

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