BDC FOR MM02

Hi Friends,
i want to write a BDC FOR MM02 T.CODE AT PLANT LEVEL AND METERIAL LEVEL.
I WANT UPLOAD THE BELOW FEILDS DATA :
THE FIELDS THAT I WANT UPLOAD IS EISBE(SAFETY STOCK) , MAABC(ABC INDICATOR)
AND WZEIT(LEAD TIME).....AT PLANT LEVEL AND METERIAL LEVEL.
PLS HELP ME.... IT IS AN URGENT.
REGARDS,

because with LSMW , you can standard program RMDATIND (direct input ==> faster than batch input.
In step 1 : you select standard program (OBject 0020 method 0000)
In step 2 you define source structure ZSRC_MARA
In step 3 you list the fields : MATNR, WERKS, MAABC, MINBE
In step 4 you make the link of your source struture to BGR00, BMM00, BMMH1
In step 5 you map your fields + BMM00-XEID1 ( you have to flag the views you consider).
Finished from developpement side
DAvid

Similar Messages

  • BDC for MM02 - MRP area

    Hello everyone!
    I have developed a BDC program to batch input data into MM02 / MRP area.
    It's working perfectly fine when I use mode 'A' in CALL TRANSACTION statement, but when I change it to 'N', so I can give this for the customer to test, it stops working, giving me an error in one of the screens, saying the "MRP area  is not assigned to plant CH01" (when running with mode "E" it also gives me the error).
    Here's my coding:
    REPORT  zload_mrp_areas.
    Data and variables definition
    DATA:  bdcdata    LIKE bdcdata OCCURS 0 WITH HEADER LINE.
    DATA: BEGIN OF t_header OCCURS 0,
            link      LIKE mara-matnr,
            matnr     LIKE mara-matnr,
            werks     LIKE marc-werks,
            mstae(2)  TYPE c,
            perkz(2)  TYPE c,
          END OF t_header.
    DATA: BEGIN OF t_details OCCURS 0,
            muvbr(5)  TYPE c,
            unvbr(5)  TYPE c,
            matnr     LIKE mara-matnr,
            priod(6)  TYPE c,
            gsvbr(5)  TYPE c,
          END OF t_details.
    DATA: v_count(3)  TYPE n,
          v_week      LIKE scal-week,
          v_week1(6)  TYPE n,
          v_week2(6)  TYPE n,
          v_page(5)   TYPE p DECIMALS 2,
          v_index(3)  TYPE n,
          v_field(19) TYPE c,
          v_mode      TYPE c,
          v_date1     LIKE sy-datum,
          v_date2     LIKE sy-datum,
          v_date3     TYPE i.
    Screen definition
    SELECTION-SCREEN  BEGIN OF BLOCK 1 WITH FRAME TITLE text-001.
    PARAMETERS: headfile     LIKE rfpdo1-febauszf OBLIGATORY,
                detsfile     LIKE rfpdo1-febauszf OBLIGATORY.
    SELECTION-SCREEN  END OF BLOCK 1.
    File selection
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR headfile.
      CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
        EXPORTING
          mask      = ',Multicash,*.txt'
          static    = 'X'
        CHANGING
          file_name = headfile.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR detsfile.
      CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
        EXPORTING
          mask      = ',Multicash,*.txt'
          static    = 'X'
        CHANGING
          file_name = detsfile.
    START-OF-SELECTION                                           *
    START-OF-SELECTION.
    Load files
      PERFORM load_files.
      PERFORM process_file.
    *&      Form  LOAD_FILES
          Load files from network to SAP
    FORM load_files .
    File upload
      DATA: l_filename TYPE string.
      l_filename = headfile.
      CALL FUNCTION 'GUI_UPLOAD'
        EXPORTING
          filename            = l_filename
          filetype            = 'ASC'
        TABLES
          data_tab            = t_header.
      IF sy-subrc <> 0.
      ENDIF.
      l_filename = detsfile.
      CALL FUNCTION 'GUI_UPLOAD'
        EXPORTING
          filename            = l_filename
          filetype            = 'ASC'
        TABLES
          data_tab            = t_details.
      IF sy-subrc <> 0.
      ENDIF.
    ENDFORM.                    " LOAD_FILES
    *&      Form  process_file
          Load files into Material Master
    FORM process_file .
      LOOP AT t_header.
        REFRESH bdcdata.
        PERFORM bdc_dynpro  USING 'SAPLMGMM'        '0060'.
        PERFORM bdc_field   USING 'RMMG1-MATNR'     t_header-matnr.
        PERFORM bdc_field   USING 'BDC_OKCODE'      '/00'.
        PERFORM bdc_dynpro  USING 'SAPLMGMM'        '0070'.
        PERFORM bdc_field   USING 'BDC_OKCODE'       '=SELA'.
        PERFORM bdc_dynpro  USING 'SAPLMGMM'        '0070'.
        PERFORM bdc_field   USING 'BDC_OKCODE'       '=ENTR'.
        PERFORM bdc_dynpro  USING 'SAPLMGMM'        '0080'.
        PERFORM bdc_field   USING 'RMMG1-WERKS'     t_header-werks.
        PERFORM bdc_field   USING 'BDC_OKCODE'      '=ENTR'.
        PERFORM bdc_dynpro  USING 'SAPLMGMM'        '4004'.
        PERFORM bdc_field   USING 'BDC_OKCODE'      '=SP12'.
        PERFORM bdc_dynpro  USING 'SAPLMGMM'        '4000'.
        PERFORM bdc_field   USING 'BDC_OKCODE'      '=PB42'.
        PERFORM bdc_dynpro  USING 'SAPLMD_MGD1'     '0010'.
       PERFORM bdc_field   USING 'SMDMA-BERID(01)' 'X'.
        PERFORM bdc_field   USING 'BDC_OKCODE'      '=AEND'.
        PERFORM bdc_dynpro  USING 'SAPLMD_MGD1'     '0020'.
        PERFORM bdc_field   USING 'BDC_OKCODE'      '=SP04'.
        CLEAR v_week.
        CALL FUNCTION 'GET_WEEK_INFO_BASED_ON_DATE'
          EXPORTING
            date = sy-datum
          IMPORTING
            week = v_week.
        CALL FUNCTION 'WEEK_GET_FIRST_DAY'
          EXPORTING
            week = v_week
          IMPORTING
            date = v_date1.
        LOOP AT t_details WHERE matnr = t_header-matnr.
          CLEAR: v_week1, v_week2.
          v_week1 = v_week.
          v_week  = t_details-priod.
          CALL FUNCTION 'WEEK_GET_FIRST_DAY'
            EXPORTING
              week = v_week
            IMPORTING
              date = v_date2.
          v_date3 = v_date1 - v_date2.
          v_page  = v_date3 / 7.
          IF v_page > 11.
            v_index = v_page MOD 11.
            v_page  = v_page / 11.
            COMPUTE v_count = TRUNC( v_page ).
          ELSE.
            v_index = v_page.
          ENDIF.
          IF v_index IS INITIAL.
            v_index = 11.
            v_count = v_count - 1.
          ELSE.
            v_index = v_index + 1.
          ENDIF.
    Paging
          IF v_count NE 0.
            v_count = v_count + 1.
            DO v_count TIMES.
              PERFORM bdc_dynpro  USING 'SAPLMD_MGD1'     '0020'.
              PERFORM bdc_field   USING 'BDC_OKCODE'      '=P-'.
            ENDDO.
            PERFORM bdc_dynpro  USING 'SAPLMD_MGD1'     '0020'.
            PERFORM bdc_field   USING 'BDC_OKCODE'      '=P++'.
            v_count = v_count - 1.
            DO v_count TIMES.
              PERFORM bdc_dynpro  USING 'SAPLMD_MGD1'     '0020'.
              PERFORM bdc_field   USING 'BDC_OKCODE'      '=P-'.
            ENDDO.
          ENDIF.
          PERFORM bdc_dynpro  USING 'SAPLMD_MGD1'     '0020'.
          v_field = 'RM03M_DB-KOVBW(*)'.
          REPLACE '*' WITH v_index INTO v_field.
          PERFORM bdc_field   USING v_field     t_details-muvbr.
          v_field = 'RM03M_DB-VBWRT(*)'.
          REPLACE '*' WITH v_index INTO v_field.
          PERFORM bdc_field   USING v_field     t_details-unvbr.
         PERFORM bdc_dynpro  USING 'SAPLMD_MGD1'     '0020'.
          PERFORM bdc_field   USING 'BDC_OKCODE'      '=WEIT'.
          PERFORM bdc_dynpro  USING 'SAPLMD_MGD1'     '0020'.
          PERFORM bdc_field   USING 'BDC_OKCODE'      '/00'.
          PERFORM bdc_dynpro  USING 'SAPLMD_MGD1'     '0020'.
          PERFORM bdc_field   USING 'BDC_OKCODE'      '=P++'.
        ENDLOOP.
        PERFORM bdc_dynpro  USING 'SAPLMD_MGD1'     '0020'.
        PERFORM bdc_field   USING 'BDC_OKCODE'      '=UEBE'.
        PERFORM bdc_dynpro  USING 'SAPLMD_MGD1'     '0010'.
        PERFORM bdc_field   USING 'BDC_OKCODE'      '=UEBE'.
        PERFORM bdc_dynpro  USING 'SAPLMGMM'        '4000'.
        PERFORM bdc_field   USING 'BDC_OKCODE'      '=BU'.
        DATA: ITAB TYPE TABLE OF BDCMSGCOLL.
        v_mode = 'N'.
        CALL TRANSACTION 'MM02' USING bdcdata
                       MODE   v_mode
                       UPDATE 'S'
                       MESSAGES INTO ITAB.
        if sy-subrc is initial.
        endif.
      ENDLOOP.
    ENDFORM.                    " process_file
    *&      Form  BDC_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
    FORM bdc_field USING fnam fval.
      CLEAR bdcdata.
      bdcdata-fnam = fnam.
      bdcdata-fval = fval.
      APPEND bdcdata.
    ENDFORM.                    "BDC_FIELD
    Can anyone help? Please!
    Thanks and regards,
    Fernanda

    You are trying to access one of the MRP area which is not yet assigned to CH01 plant. You need to make sure wheather the MRP view was already created for that material for CH01 plant.
    So, first check your data against the MARC for material and plant. If you don't fine any material for that plant than don't run BDC for that plant.
    Regards,
    Naimesh Patel

  • Problem in BDC for MM02

    Hi,
    I am working on a BDC for the tcode MM02 in which i have to insert the Inspection Type in the Quality Managment View of materials. i had executed the code which was working fine,but when i executed it ,it remains on the same screen where the after specifying on the file path. I dont know why it is happening ,plzz provide me guidelines for solving this problem.

    report ZMM02 no standard page heading line-size 255.
    include bdcrecx1.
    DATA: BEGIN OF ZVBM OCCURS 0,
           MATNR(18) TYPE C,
           BRGEW(16) TYPE C,
           NTGEW(16) TYPE C,
    END OF ZVBM.
    start-of-selection.
    CALL FUNCTION 'WS_UPLOAD'
    EXPORTING
      CODEPAGE                      = ' '
       FILENAME                      = 'c:\vijay.txt'
       FILETYPE                      = 'DAT'
      HEADLEN                       = ' '
      LINE_EXIT                     = ' '
      TRUNCLEN                      = ' '
      USER_FORM                     = ' '
      USER_PROG                     = ' '
      DAT_D_FORMAT                  = ' '
    IMPORTING
      FILELENGTH                    =
      TABLES
        DATA_TAB                      = ZVBM
    EXCEPTIONS
      CONVERSION_ERROR              = 1
      FILE_OPEN_ERROR               = 2
      FILE_READ_ERROR               = 3
      INVALID_TYPE                  = 4
      NO_BATCH                      = 5
      UNKNOWN_ERROR                 = 6
      INVALID_TABLE_WIDTH           = 7
      GUI_REFUSE_FILETRANSFER       = 8
      CUSTOMER_ERROR                = 9
      OTHERS                        = 10
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    perform open_group.
    LOOP AT ZVBM.
    perform bdc_dynpro      using 'SAPLMGMM' '0060'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RMMG1-MATNR'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'RMMG1-MATNR'
                                  zvbm-matnr.
    perform bdc_dynpro      using 'SAPLMGMM' '0070'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'MSICHTAUSW-DYTXT(01)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=ENTR'.
    perform bdc_field       using 'MSICHTAUSW-KZSEL(01)'
                                  'X'.
    perform bdc_dynpro      using 'SAPLMGMM' '4004'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=BU'.
    perform bdc_field       using 'MAKT-MAKTX'
                                  'VIJAY3'.
    perform bdc_field       using 'MARA-MEINS'
                                  'KG'.
    perform bdc_field       using 'MARA-MATKL'
                                  '01'.
    perform bdc_field       using 'MARA-SPART'
                                  '01'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'MARA-NTGEW'.
    perform bdc_field       using 'MARA-BRGEW'
                                  zvbm-brgew.
    perform bdc_field       using 'MARA-GEWEI'
                                  'KG'.
    perform bdc_field       using 'MARA-NTGEW'
                                  zvbm-ntgew.
    perform bdc_transaction using 'MM02'.
    ENDLOOP.
    perform close_group.

  • BDC For MM02 & MASS - BUS1001

    HI,
    I am trying to make BDC for updating Table - MARD, Feild - LGPBE using MM02.
    The problem I facing is the selection of view (General Plant Data/ Storage 1).
    For VERP Materials, it comes to 12th Position, while for HALB Materials is on 15th Position.
    The reason for the same is that for VERP Materials, the Sales Views are not maintained.
    I am facing the similar kind of problem while creating the BDC for MASS (Using Mass Maintenance - BUS1001).
    I need to update the Storage Bin of all Materials.
    What is the correct way to upload the same?
    Thanks & Regards,
    P K Karn

    hi PK you have to program your BDC according to material type..
    eg if material type = HALB
    BDC1
    else if material type = VERP
    BDC2..
    end if
    regards..

  • BDC for MM02 - Quality management

    Hi Friends,
    I need to create BDC program for MM02 with Quality Management View.
    My problem is with the sequence of the QM view in MM02 for different material types as per with recording.
    Kindly suggest me to resolve the issue.
    Thanks & Regards,
    S.Suresh
    Edited by: The Rock on Nov 7, 2011 1:43 PM

    Hi S.Suresh,
    I would simply read table QMAT to check if material/plant has Inspection Type '01'.
    Then, in case Inspection Type needs to be created, just call the BAPI_MATINSPCTRL_SAVEREPLICA FM with structure INSPECTIONCTRL properly filled-in.
    If successful, then remember to call BAPI_TRANSACTION_COMMIT.
    Hope this could help.
    Bye,
    Flavio

  • BDC for MM02 Internal comments - Not working

    I have created a BDC that inputs internal comments using MM02.  It moves the data in okay in the BDC.  The data is there the way it was formated.  Several lines of comments added.  But after it saves the data - it takes all of the lines and appends them into one and fills up the lines.  For example - enter: line 1, then enter line: 2.  Instead of having 2 lines showing 1 on the first and 2 on the second - I get 1 lines howing both: 2.
    Any ideas?

    Check this.  I think you may like it.  This program excepts the material number and changes the internal comment text.   I am forcing two lines, when I check after executing this program, the text is there in two lines.  Please see if you can use the BAPI instead of BDC.
    report zrich_0003 .
    data: headdata type bapimathead.
    data: clientdata type bapi_mara.
    data: clientdatax type bapi_marax.
    data: matlongtext type table of bapi_mltx with header line.
    data: return type  bapiret2 .
    data: returnm type table of bapi_matreturn2 with header line.
    data: xmara type mara.
    parameters: p_matnr type mara-matnr.
    select single * from mara into xmara
              where matnr = p_matnr.
    headdata-material        = xmara-matnr.
    headdata-ind_sector      = xmara-mbrsh.
    headdata-matl_type       = xmara-mtart.
    <b>matlongtext-applobject = 'MATERIAL'.
    matlongtext-text_name  = p_matnr.
    matlongtext-text_id    = 'IVER'.
    matlongtext-langu      = sy-langu.
    matlongtext-text_line = 'This is line 1'.
    append matlongtext.
    matlongtext-applobject = 'MATERIAL'.
    matlongtext-text_name  = p_matnr.
    matlongtext-text_id    = 'IVER'.
    matlongtext-langu      = sy-langu.
    matlongtext-text_line = 'This is line 2'.
    append matlongtext.</b>
    call function 'BAPI_MATERIAL_SAVEDATA'
         exporting
              headdata         = headdata
              clientdata       = clientdata
              clientdatax      = clientdatax
         importing
              return           = return
         tables
    <b>          materiallongtext = matlongtext</b>
              returnmessages   = returnm.
    Regards,
    Rich Heilman
    PS.
    Put yourself on the SDN world map (http://sdn.idizaai.be/sdn_world/sdn_world.html) and earn 25 points.
    Spread the wor(l)d!

  • BDC help req for MM02??

    hi
    I made a BDC pgm for MM02,to update the Purchasing Group filed for a matnr,based on Plant.
    But i am facing an prob that,when in a Matnr views,my curcur is coming to  Purchsaing View ,it update the EKGRP filed,but  when it directly comes to MRP 1,its given an error,that MARC-EKGRP not exits.
    Moreover I had done only recording for Purchaing View,not for MRP 1 view,but not able to understand why its going there in MRP 1 view,some time for some materials.
    Can any one tell me,how to rectify this prob?
    Regds.

    Hi,
    This problem occurs because,
    Different materials have different types,
    so this view will not be same for all,
    so if you have done recording for 4th tab ,than for next material at 4th tab some other thing will be there,
    to rectify this problem,
    do the recording for basic data 1 (it will be present for very material ) and then goto the required tab,
    i hope  it fits to your requirement,
    Regards,
    Talwinder

  • Problem in BDC FOR uploading more than 1 insep. typ in QM view for MM01

    Hi,
    I had made a BDC in which i am trying to upload the data for the QM view which is being extended in it but the problem is when the program reaches the to QM view it is only able to upload only 1 inspection Type which is working fine but when there is more than 1 it gives error that its QM View has already maintained.  Please provide me guiddlines how to solve this problem .
    Here's is the link to the code which i am trying to modify:-
    http://docs.google.com/Edit?id=dngp529_2fxwgmrgg
    Edited by: ricx .s on Apr 16, 2009 2:30 PM

    hi,
    But is it not possible that while creating the insepction type for the first it should simultaneously take the value of 2nd inspection type .
    see,ina bdc of qp01 or ca01 we can insert the values at the screen but why can't we do d same in the bdc of mm01,
    I had made a bdc for tcode MM02 in which i am able to upload  the data but in that there is a problem that some of the materials have the Quality managmnt View at position no. 11 or 13 of the screen.
    here's is d link for the code of the program :-
    http://docs.google.com/Doc?id=dngp529_3wcgnjdf3
    plzz provide me guidelines how to solve it    .
    Edited by: ricx .s on Apr 17, 2009 9:26 AM
    Edited by: ricx .s on Apr 17, 2009 10:56 AM

  • BDC for Material master

    Hi ,
        I am developing the BI program for Material Master (MM01) and change MM02(Both create and change).
    Can you let me know how do i select particular views before creating/changing the material .
    Is there any specific function module available to do this ..
    If you help me with any sample coding ,that would be great.
    Thanks
    Raj

    & Description                : This program is used to create material
    *& master (tcode MM01) . Material data is available in tab delimited   *
    *& flat file.                                                          *
    *& The Following is the flat file Structure:                           *
                     MATNR(018)  "Material Number
                     MBRSH(001)  "Industry Sectory
                     MTART(004)  "Material Type
                     WERKS(004)  "Plant
                     LGORT(004)  "Storage Location
                     MAKTX(040)  "Material Text
                     MEINS(003)  "Basic Unit of Measurement
                     MATKL(009)  "Material Group
                     PRDHA(018), "Product Hierarchy
                     MTPOS_MARA(004), "General Item Categoy Group
                     ZEINR(022)  "Document
                     ZEIVR(002)  "Doc Version
                     SPART(002)  "Division
                     DWERK(004)  "Delivery Plant
                     TAXKM(001)  "Tax
                     KTGRM(002)  "Account Assignemnt Group
                     MTPOS_MARA(004), "General. Item Category Group
                     MTPOS(004), "Item Category Group
                     MTVFP(002)  "Availability check
    */ Begin of changes by Anoop for Sales Text Date: 17 feb 2004
                     s_ltex1(40), "Sales Text line 1
                     s_ltex2(40), "Sales Text line 2
                     s_ltex3(40), "Sales Text line 3
                     s_ltex4(40), "Sales Text line 4
                     s_ltex5(40), "Sales Text line 5
                     s_ltex6(40), "Sales Text line 6
    **/ End of changes by Anoop for Sales Text Date: 17 feb 2004
    **/ Begin of changes by Anoop for Purchase Order Text Date: 17 feb 2004
                     po_ltex1(40), "Purchase Order Text line 1
                     po_ltex2(40), "Purchase Order Text line 2
                     po_ltex3(40), "Purchase Order Text line 3
                     po_ltex4(40), "Purchase Order Text line 4
                     po_ltex5(40), "Purchase Order Text line 5
                     po_ltex6(40), "Purchase Order Text line 6
                     MAKTX(040)  "Sales text
                     EKGRP(003)  "Purchasing Group
                     DISMM(002)  "MRP Type
                     DISPO(003)  "MRP Controller
                     DISLS(002)  "Lot Size
                     EKGRP(003)  "Purchasing group
                     BSTFE(017)  "Fixed Lot Size
                     BESKZ(001)  "Procurement Type
                     LGPRO(004)  "Prod. Storage Location
                     DZEIT(003)  "In house production
                     PLIFZ(003)  "Planned Delivery Time
                     FHORI(003)  "Sch. Margin Key
                     STRGR(002)  "Planning Strategy Group
                     MTVFP(002)  "Availabilty Check
                     SBDKZ(001)  "Ind/Collective
                     SERNP(004)  "Serial Number Profile
                     LGPBE(010)  "Storage Bin
                     GROES(032)  "Size and Dimension
                     WEBAZ(003)  "GR Processing Time
                     BKLAS(004)  "Valuation Class
                     VPRSV(001)  "Price Control
                     VERPR(015)  "Moving Average Price
                     STPRS(015)  "Standard Price
                     MYPOL(004)  "LIFO Pool
                     EKALR(001)  "With Qty structure
                     HKMAT(001)  "Material Origin
                     ZPLP1(014)  "Planned Price 1
                     ZPLD1(010)  "Planned Price Date 1
    *Include
    INCLUDE bdcrecx1.
    *Variables
    DATA : v_filename TYPE string,
           v_flag(1) TYPE c,
           v_counter(2) TYPE c,
           v_lines TYPE i,
           v_count TYPE i VALUE 0.
    *Selection-screen
    SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.
    PARAMETER : filename LIKE rlgrap-filename OBLIGATORY.
    SELECTION-SCREEN SKIP.
    SELECTION-SCREEN BEGIN OF BLOCK blk2 WITH FRAME TITLE text-002.
    PARAMETER : v_basic1    TYPE checkbox,
                v_basic2    TYPE checkbox,
                v_sales1    TYPE checkbox,
                v_sales2    TYPE checkbox,
                v_salesg    TYPE checkbox,
                v_salest    TYPE checkbox,
                v_purcha    TYPE checkbox,
    Begin of changes by Anoop Date: 18 feb 2004.
                v_potext    TYPE checkbox,
    *End of changes by Anoop Date: 18 feb 2004
                v_mrp1      TYPE checkbox,
                v_mrp2      TYPE checkbox,
                v_mrp3      TYPE checkbox,
                v_mrp4      TYPE checkbox,
                v_wrksch    TYPE checkbox,
                v_gplnt1    TYPE checkbox,
                v_gplnt2    TYPE checkbox,
                v_qality    TYPE checkbox,
                v_acct1     TYPE checkbox,
                v_acct2     TYPE checkbox,
                v_testi     TYPE checkbox,
                v_cost2     TYPE checkbox.
    SELECTION-SCREEN END OF BLOCK blk2.
    SELECTION-SCREEN END OF BLOCK blk1.
    */ Comments given are the view names that have been incorporated into
    the BDC for the transaction MM01.
    **Internal Tables
    DATA: BEGIN OF record,
    */ Basic Data 1..
    data element: MATNR
            matnr_001(018),  "Material Number
    data element: MBRSH
            mbrsh_002(001),  "Industry Sectory
    data element: MTART
            mtart_003(004),  "Material Type
    data element: WERKS_D
            werks_019(004),  "Plant
    data element: LGORT_D
            lgort_020(004),  "Storage Location
    *DATA ELEMENT : vkorg
            vkorg(004),      "Sales Organisation
    *DATA ELEMENT : VTWEG
            vtweg(002),      "Distribution channel
    data element: MAKTX
            maktx_021(040),  "Material Text
    data element: MEINS
            meins_022(003),  "Basic Unit of Measurement
    data element: MATKL
            matkl_023(009),  "Material Group
    data element: PRODH_D
            prdha_015(018),
    data element: MTPOS_MARA
            mtpos_mara_016(004),
    data element: MTPOS_MARA
           MTPOS_MARA_024(004),
    */ Basic Data 2...
    data element: DZEINR
            zeinr_026(022),  "Document
    data element: DZEIVR
            zeivr_027(002),  "Doc Version
    data element: MEINS
           MEINS_029(003),
    */ Sales : Sales Org. Data 1
    data element: SPART
            spart_020(002),
    data element: DWERK_EXT
            dwerk_021(004),
    data element: TAXKM
            taxkm_01_024(001),
    */ Sales  : Sales Org. Data 2
    data element: KTGRM
            ktgrm_033(002),
    data element: MTPOS_MARA
            mtpos_mara_034(004),
    data element: MTPOS
            mtpos_035(004),
    */ Sales : General Plant/Data
    data element: MTVFP
            mtvfp_040(002),
    data element: PRCTR
            prctr_041(007),
    */ Sales Text
    */commented by Anoop
    data element: MAKTX
           maktx_041(040),
    */commented up to here by Anoop
    */ Begin of changes by Anoop for Sales Text Date: 17 feb 2004
            s_ltex1(40),
            s_ltex2(40),
            s_ltex3(40),
            s_ltex4(40),
            s_ltex5(40),
            s_ltex6(40),
    */ End of changes by Anoop for Sales Text Date: 17 feb 2004
    */ Purchasing..
    data element: EKGRP
            ekgrp_030(003),
    data element: MEINS
           MEINS_033(003),
    data element: EKGRP
           EKGRP_034(003),
    */ Begin of changes by Anoop for Purchase Order Text Date: 17 feb 2004
    */ Purchase Order Text
            po_ltex1(40),
            po_ltex2(40),
            po_ltex3(40),
            po_ltex4(40),
            po_ltex5(40),
            po_ltex6(40),
    */ MRP1..
    data element: DISMM
            dismm_035(002), "MRP Type
    data element: DISPO
            dispo_036(003), "MRP Controller
    data element: DISLS
            disls_037(002), "Lot Size
    data element : EKGRP
            ekgrp(003),
    data element: MEINS
           MEINS_039(003),
    data element: EKGRP
           EKGRP_040(003),
    data element: DISMM
           DISMM_041(002),
    data element: DISPO
           DISPO_042(003),
    data element: DISLS
           DISLS_043(002), "Proc. Type
    data element: BSTFE
            bstfe_044(017),
    */ MRP2..
    data element: BESKZ
            beskz_046(001),
    data element: LGPRO
            lgpro_047(004),
    data element: DZEIT
            dzeit_048(003),
    data element: PLIFZ
            plifz_049(003),
    data element: FHORI
            fhori_050(003),
    data element: PERKZ
           PERKZ_052(001),
    */ MRP3..
    data element: STRGR
            strgr_053(002),
    data element: MTVFP
            mtvfp_054(002),
    */ MRP4
    data element: SBDKZ
            sbdkz_056(001),
    data element: MEINS
           MEINS_058(003),
    data element: LGPRO
           LGPRO_059(004),
    */ Work Scheduling
    data element: SERAIL
            sernp_060(004),
    data element: DZEIT
           DZEIT_061(003),
    data element: MEINS
           MEINS_063(003),
    */ Plant Data/Str1
    data element: LGPBE
            lgpbe_064(010),
    data element: DATTP
           IPRKZ_065(001),
    */ Plant Data/Str2
    data element: GROES
            groes_067(032),
    data element: SERAIL
           SERNP_068(004),
    data element: MEINS
           MEINS_070(003),
    */ Quality Management
    data element: WEBAZ
            webaz_071(003),
    data element: MEINS
           MEINS_073(003),
    */ Accounting 1
    data element: BKLAS
            bklas_074(004),
    data element: VPRSV
            vprsv_075(001),
    data element: PEINH
           PEINH_076(006),
    data element: VERPR
            verpr_077(015),
    data element: STPRS
            stprs_078(015),
    */ Accounting 2
    data element: MYPOOL
            mypol_080(004),
    data element: MEINS
           MEINS_082(003),
    */ Cost Estimate 1.
    data element: CK_EKALREL
            ekalr_083(001),
    data element: HKMAT
            hkmat_084(001),
    data element: CK_LOSGR
           LOSGR_085(017),
    */ Costing 2..
    data element: DZPLP1
           zplp1_087(014),
    data element: DZPLD1
            zpld1_088(010),
    data element: BKLAS
           BKLAS_089(004),
    data element: VPRSV
           VPRSV_090(001),
    data element: PEINH
           PEINH_091(006),
    data element: VERPR
           VERPR_092(015),
    data element: STPRS
           STPRS_093(015),
          END OF record.
    */ Begin of changes by Anoop Date: 17 feb 2004
    */ intermediate internal table for Sales Text and Purchase Order Text
    *DATA: BEGIN OF s_tab OCCURS 0,
         matnr LIKE mara-matnr,
         s_ltex1 LIKE makt-maktx,
         s_ltex2 LIKE makt-maktx,
         s_ltex3 LIKE makt-maktx,
         s_ltex4 LIKE makt-maktx,
         s_ltex5 LIKE makt-maktx,
         s_ltex6 LIKE makt-maktx,
         END OF s_tab.
    *DATA: BEGIN OF po_tab OCCURS 0,
         matnr LIKE mara-matnr,
         po_ltex1 LIKE makt-maktx,
         po_ltex2 LIKE makt-maktx,
         po_ltex3 LIKE makt-maktx,
         po_ltex4 LIKE makt-maktx,
         po_ltex5 LIKE makt-maktx,
         po_ltex6 LIKE makt-maktx,
         END OF po_tab.
    */ End of changes by Anoop Date: 17 feb 2004
    DATA : itab LIKE record OCCURS 0 WITH HEADER LINE.
    DATA : ok_code(5) TYPE c.
    *AT SELECTION-SCREEN
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR filename.
      CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
        EXPORTING
          field_name = filename
        CHANGING
          file_name  = filename.
    *START-OF-SELECTION
    START-OF-SELECTION.
      v_filename = filename.
      CALL FUNCTION 'GUI_UPLOAD'
        EXPORTING
          filename                      = v_filename
          filetype                      = 'ASC'
          has_field_separator           = 'X'
      HEADER_LENGTH                 = 0
      READ_BY_LINE                  = 'X'
      DAT_MODE                      = ' '
      CODEPAGE                      = ' '
      IGNORE_CERR                   = ABAP_TRUE
      REPLACEMENT                   = '#'
    IMPORTING
      FILELENGTH                    =
      HEADER                        =
        TABLES
          data_tab                      = itab.
    */ Begin of changes by Anoop Date: 17 feb 2004
       LOOP AT itab.
       move itab-s_ltext+0(40) to itab-s_ltex1.
       move itab-s_ltext+40(40) to itab-s_ltex2.
       move itab-s_ltext+80(40) to itab-s_ltex3.
       move itab-s_ltext+120(40) to itab-s_ltex4.
       move itab-s_ltext+160(40) to itab-s_ltex5.
       move itab-s_ltext+200(40) to itab-s_ltex6.
       move itab-po_ltext+0(40) to itab-po_ltex1.
       move itab-po_ltext+40(40) to itab-po_ltex2.
       move itab-po_ltext+80(40) to itab-po_ltex3.
       move itab-po_ltext+120(40) to itab-po_ltex4.
       move itab-po_ltext+160(40) to itab-po_ltex5.
       move itab-po_ltext+200(40) to itab-po_ltex6.
       modify itab.
       ENDLOOP.
    */ End of changes by Anoop Date: 17 feb 2004
      DELETE itab WHERE  matnr_001 = ' '.
      DESCRIBE TABLE itab LINES v_lines.
      PERFORM open_group.
      LOOP AT itab.
        v_count = v_count + 1.
        PERFORM bdc_dynpro      USING 'SAPLMGMM' '0060'.
        IF v_count = v_lines.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                       '=BACK'.
        ENDIF.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'RMMG1-MATNR'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '/00'.
        PERFORM bdc_field       USING 'RMMG1-MATNR'
                                      itab-matnr_001.
        PERFORM bdc_field       USING 'RMMG1-MBRSH'
                                      itab-mbrsh_002.
        PERFORM bdc_field       USING 'RMMG1-MTART'
                                      itab-mtart_003.
        PERFORM bdc_dynpro      USING 'SAPLMGMM' '0070'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'MSICHTAUSW-DYTXT(17)'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '=P+'.
        TRANSLATE itab-mtart_003 TO UPPER CASE.
    */ IF the data to be uploaded is of Material type 'Trading Goods'
    the following view selection
        IF itab-mtart_003 = 'HAWA'.
          PERFORM view_sel3.
        ENDIF.
    */ IF the data to be uploaded is of Material type 'Finished Goods'
    the following view selection
        IF itab-mtart_003 = 'FERT'.
          PERFORM view_sel1.
        ENDIF.
    */ IF the data to be uploaded is of Material type 'Semi-Finished Goods'
    the following view selection
        IF itab-mtart_003 = 'HALB'.
          PERFORM view_sel2.
        ENDIF.
        PERFORM bdc_dynpro      USING 'SAPLMGMM' '0080'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'T001L-LGOBE'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '=ENTR'.
        PERFORM bdc_field       USING 'RMMG1-WERKS'
                                      itab-werks_019.
        PERFORM bdc_field       USING 'RMMG1-LGORT'
                                      itab-lgort_020.
        PERFORM bdc_field       USING 'RMMG1-VKORG'
                                      itab-vkorg.
        PERFORM bdc_field       USING 'RMMG1-VTWEG'
                                      itab-vtweg.
        PERFORM bdc_dynpro      USING 'SAPLMGMM' '4004'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '/00'.
        IF  v_basic1 = 'X'.
    */ Basic Data 1
          PERFORM bdc_field       USING 'MAKT-MAKTX'
                                        itab-maktx_021.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                        'MARA-MATKL'.
          PERFORM bdc_field       USING 'MARA-MEINS'
                                        itab-meins_022.
          PERFORM bdc_field       USING 'MARA-MATKL'
                                        itab-matkl_023.
          PERFORM bdc_field       USING 'MARA-PRDHA'
                                        itab-prdha_015.
          PERFORM bdc_field       USING 'MARA-MTPOS_MARA'
                                        itab-mtpos_mara_016.
       perform bdc_field       using 'MARA-MTPOS_MARA'
                                     itab-MTPOS_MARA_024.
        ENDIF.
        IF v_basic2 = 'X'.
    */ Basic Data 2
          PERFORM bdc_dynpro      USING 'SAPLMGMM' '4004'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        '/00'.
          PERFORM bdc_field       USING 'MAKT-MAKTX'
                                        itab-maktx_021.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                        'MARA-ZEIVR'.
          PERFORM bdc_field       USING 'MARA-ZEINR'
                                        itab-zeinr_026.
          PERFORM bdc_field       USING 'MARA-ZEIVR'
                                        itab-zeivr_027.
        ENDIF.
        IF itab-vkorg(004) <> ' '.
          IF v_sales1 = 'X'.
    */ Sales : Sales Org. Data 1
            PERFORM bdc_dynpro      USING 'SAPLMGMM' '4000'.
            PERFORM bdc_field       USING 'BDC_OKCODE'
                                          '/00'.
            PERFORM bdc_field       USING 'MAKT-MAKTX'
                                          itab-maktx_021.
            PERFORM bdc_field       USING 'MARA-MEINS'
                                          itab-meins_022.
            PERFORM bdc_field       USING 'MARA-SPART'
                                          itab-spart_020.
            PERFORM bdc_field       USING 'MVKE-DWERK'
                                          itab-dwerk_021.
            PERFORM bdc_field       USING 'MARA-MATKL'
                                          itab-matkl_023.
    ****perform bdc_field       using 'MVKE-SKTOF'
                                 record-SKTOF_023.
            IF itab-taxkm_01_024 <> ' '.
              PERFORM bdc_field       USING 'BDC_CURSOR'
                                            'MG03STEUER-TAXKM(01)'.
              PERFORM bdc_field       USING 'MG03STEUER-TAXKM(01)'
                                            itab-taxkm_01_024.
    */ After entering tax another screen in which no data has to be *
    populated
              PERFORM bdc_dynpro      USING 'SAPLMGMM' '4200'.
              PERFORM bdc_field       USING 'BDC_OKCODE'
                                            '/00'.
              PERFORM bdc_field       USING 'BDC_CURSOR'
                                            'MAKT-MAKTX'.
       PERFORM bdc_field       USING 'MAKT-MAKTX'
                                     record-maktx_021.
            ENDIF.
            PERFORM bdc_dynpro      USING 'SAPLMGMM' '4000'.
            PERFORM bdc_field       USING 'BDC_OKCODE'
                                          '/00'.
            PERFORM bdc_field       USING 'MAKT-MAKTX'
                                          itab-maktx_021.
            PERFORM bdc_field       USING 'MARA-MEINS'
                                          itab-meins_022.
            PERFORM bdc_field       USING 'MARA-SPART'
                                          itab-spart_020.
            PERFORM bdc_field       USING 'MVKE-DWERK'
                                          itab-dwerk_021.
            PERFORM bdc_field       USING 'MARA-MATKL'
                                          itab-matkl_023.
          ENDIF.
          IF v_sales2 = 'X'.
    */ Sales : Sales Org. Data 2
            PERFORM bdc_dynpro      USING 'SAPLMGMM' '4000'.
            PERFORM bdc_field       USING 'BDC_OKCODE'
                                          '/00'.
            PERFORM bdc_field       USING 'MAKT-MAKTX'
    */commented by Anoop
    */                                 itab-maktx_041.
    */commented up to here by Anoop
    */ Begin of changes by Anoop Date: 17 feb 2004
                                          itab-maktx_021.
    */ End of changes by Anoop Date: 17 feb 2004
            PERFORM bdc_field       USING 'BDC_CURSOR'
                                          'MVKE-MTPOS'.
            PERFORM bdc_field       USING 'MVKE-KTGRM'
                                          itab-ktgrm_033.
            IF itab-mtpos_mara_034 <> ' '.
              PERFORM bdc_field       USING 'MARA-MTPOS_MARA'
                                            itab-mtpos_mara_034.
            ENDIF.
            IF itab-mtpos_035 <> ' '.
              PERFORM bdc_field       USING 'MVKE-MTPOS'
                                            itab-mtpos_035.
            ENDIF.
          ENDIF.
          IF v_salesg = 'X'.
    */ Sales : General/Plant Data
            PERFORM bdc_dynpro      USING 'SAPLMGMM' '4000'.
            PERFORM bdc_field       USING 'BDC_OKCODE'
                                          '/00'.
            PERFORM bdc_field       USING 'MAKT-MAKTX'
                                          itab-maktx_021.
            PERFORM bdc_field       USING 'BDC_CURSOR'
                                          'MARC-MTVFP'.
           PERFORM bdc_field       USING 'MARA-MEINS'
                                         itab-meins_022.
    ***perform bdc_field       using 'MARA-GEWEI'
                                 record-GEWEI_039.
            PERFORM bdc_field       USING 'MARC-MTVFP'
                                          itab-mtvfp_040.
            IF itab-prctr_041 <> ' '.
              PERFORM bdc_field       USING 'BDC_CURSOR'
                                            'MARC-PRCTR'.
              PERFORM bdc_field       USING 'MARC-PRCTR'
                                            itab-prctr_041.
            ENDIF.
          ENDIF.
          IF v_salest = 'X'.
    */ Sales Text
            PERFORM bdc_dynpro      USING 'SAPLMGMM' '4040'.
            IF itab-mtart_003 = 'HAWA' OR itab-mtart_003 = 'HALB'.
              PERFORM bdc_field       USING 'BDC_OKCODE'
                                            '=SP09'.
              ok_code = '=SP09'.
            ELSEIF itab-mtart_003 = 'FERT'.
              PERFORM bdc_field       USING 'BDC_OKCODE'
                                           '=SP12'.
              ok_code = '=SP12'.
            ENDIF.
    */commented by Anoop
          PERFORM bdc_field       USING 'MAKT-MAKTX'
    */                                 itab-maktx_041.
    */commented up to here by Anoop
    */ Begin of changes by Anoop for Sales Text Date: 17 feb 2004
            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)' itab-s_ltex1.
            perform bdc_field      using 'RSTXT-TXLINE(03)' itab-s_ltex2.
            perform bdc_field      using 'RSTXT-TXLINE(04)' itab-s_ltex3.
            perform bdc_field      using 'RSTXT-TXLINE(05)' itab-s_ltex4.
            perform bdc_field      using 'RSTXT-TXLINE(06)' itab-s_ltex5.
            perform bdc_field      using 'RSTXT-TXLINE(07)' itab-s_ltex6.
            PERFORM bdc_dynpro      USING 'SAPLSPO1'   '0100'.
            PERFORM bdc_field       USING 'BDC_OKCODE'     '=YES' .
    */ End of changes by Anoop for Sales Text Date: 17 feb 2004
            PERFORM bdc_dynpro      USING 'SAPLMGMM' '4040'.
            PERFORM bdc_field       USING 'BDC_OKCODE'  '/00'.
          ENDIF.
        ENDIF.
        IF v_purcha = 'X' AND ok_code = '=SP09'.
          CLEAR ok_code.
    */ Purchasing
          PERFORM bdc_dynpro      USING 'SAPLMGMM' '4000'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        'SP11'.
          PERFORM bdc_field       USING 'MAKT-MAKTX'
                                        itab-maktx_021.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                        'MARC-EKGRP'.
          PERFORM bdc_field       USING 'MARA-MEINS'
                                        itab-meins_022.
          PERFORM bdc_field       USING 'MARC-EKGRP'
                                        itab-ekgrp_030.
          PERFORM bdc_field       USING 'MARA-MATKL'
                                        itab-matkl_023.
       perform bdc_dynpro      using 'SAPLMGMM' '4000'.
       perform bdc_field       using 'BDC_OKCODE'
                                     'ENTR'.
       perform bdc_field       using 'MAKT-MAKTX'
                                     itab-maktx_021.
       perform bdc_field       using 'MARA-MEINS'
                                     itab-meins_022.
       perform bdc_field       using 'MARC-EKGRP'
                                     itab-ekgrp_030.
       perform bdc_field       using 'BDC_CURSOR'
                                     'MARC-DISMM'.
       perform bdc_field       using 'MARC-DISMM'
                                     itab-DISMM_035.
       perform bdc_field       using 'MARC-DISPO'
                                     itab-DISPO_036.
       perform bdc_field       using 'MARC-DISLS'
                                     itab-DISLS_037.
        ENDIF.
    */ Begin of changes by Anoop for Purchase Order Text Date: 18 feb 2004
       PERFORM bdc_dynpro      USING 'SAPLMGMM' '4040'.
       PERFORM bdc_field       USING 'BDC_OKCODE'  '/00'.
        IF v_potext = 'X' .
          CLEAR ok_code.
    *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)' itab-po_ltex1.
            perform bdc_field      using 'RSTXT-TXLINE(03)' itab-po_ltex2.
            perform bdc_field      using 'RSTXT-TXLINE(04)' itab-po_ltex3.
            perform bdc_field      using 'RSTXT-TXLINE(05)' itab-po_ltex4.
            perform bdc_field      using 'RSTXT-TXLINE(06)' itab-po_ltex5.
            perform bdc_field      using 'RSTXT-TXLINE(07)' itab-po_ltex6.
         PERFORM bdc_field       USING 'RSTXT-TXLINE(02)' itab-po_ltex1 .
       PERFORM bdc_field       USING 'BDC_CURSOR' 'RSTXT-TXPARGRAPH(03)'.
         PERFORM bdc_field       USING 'RSTXT-TXPARGRAPH(03)' '*'.
         PERFORM bdc_field       USING 'RSTXT-TXLINE(03)' itab-po_ltex2 .
        PERFORM bdc_field       USING 'BDC_CURSOR' 'RSTXT-TXPARGRAPH(04)'.
         PERFORM bdc_field       USING 'RSTXT-TXPARGRAPH(04)' '*'.
         PERFORM bdc_field       USING 'RSTXT-TXLINE(04)' itab-po_ltex3 .
         PERFORM bdc_field      USING 'BDC_CURSOR' 'RSTXT-TXPARGRAPH(05)'.
         PERFORM bdc_field       USING 'RSTXT-TXPARGRAPH(05)' '*'.
         PERFORM bdc_field       USING 'RSTXT-TXLINE(05)' itab-po_ltex4 .
         PERFORM bdc_field      USING 'BDC_CURSOR' 'RSTXT-TXPARGRAPH(06)'.
         PERFORM bdc_field       USING 'RSTXT-TXPARGRAPH(06)' '*'.
         PERFORM bdc_field       USING 'RSTXT-TXLINE(06)' itab-po_ltex5 .
        PERFORM bdc_field       USING 'BDC_CURSOR' 'RSTXT-TXPARGRAPH(07)'.
         PERFORM bdc_field       USING 'RSTXT-TXPARGRAPH(07)' '*'.
         PERFORM bdc_field       USING 'RSTXT-TXLINE(07)' itab-po_ltex6 .
        PERFORM bdc_field       USING 'BDC_CURSOR' 'RSTXT-TXPARGRAPH(08)'.
         PERFORM bdc_field       USING 'RSTXT-TXPARGRAPH(08)' '*'.
          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'   '/00'.
        endif.
    */ End of changes by Anoop for Purchase Order Text Date: 18 feb 2004
        IF v_mrp1 = 'X'.
    */ MRP 1
          PERFORM bdc_dynpro      USING 'SAPLMGMM' '4000'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        'ENTR'.
          PERFORM bdc_field       USING 'MAKT-MAKTX'
                                        itab-maktx_021.
          PERFORM bdc_field       USING 'MARA-MEINS'
                                        itab-meins_022.
          PERFORM bdc_field       USING 'MARC-EKGRP'
                                        itab-ekgrp_030.
          PERFORM bdc_field       USING 'MARC-DISMM'
                                        itab-dismm_035.
          PERFORM bdc_field       USING 'MARC-DISPO'
                                        itab-dispo_036.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                        'MARC-DISLS'.
          PERFORM bdc_field       USING 'MARC-DISLS'
                                        itab-disls_037.
          IF itab-ekgrp <> ' '.
            PERFORM bdc_field       USING 'MARC-EKGRP'
                                          itab-ekgrp.
          ENDIF.
          PERFORM bdc_field       USING 'MARC-BSTFE'
                                        itab-bstfe_044.
        ENDIF.
        IF v_mrp2 = 'X'.
    */ MRP 2
          PERFORM bdc_dynpro      USING 'SAPLMGMM' '4000'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        '/00'.
          PERFORM bdc_field       USING 'MAKT-MAKTX'
                                        itab-maktx_021.
          PERFORM bdc_field       USING 'MARC-BESKZ'
                                        itab-beskz_046.
          PERFORM bdc_field       USING 'MARC-LGPRO'
                                        itab-lgpro_047.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                        'MARC-DZEIT'.
          PERFORM bdc_field       USING 'MARC-DZEIT'
                                        itab-dzeit_048.
          PERFORM bdc_field       USING 'MARC-PLIFZ'
                                        itab-plifz_049.
          PERFORM bdc_field       USING 'MARC-FHORI'
                                        itab-fhori_050.
        ENDIF.
        IF v_mrp3 = 'X'.
    */ MRP 3
          PERFORM bdc_dynpro      USING 'SAPLMGMM' '4000'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        '/00'.
          PERFORM bdc_field       USING 'MAKT-MAKTX'
                                        itab-maktx_021.
       perform bdc_field       using 'MARC-PERKZ'
                                     itab-PERKZ_052.
          PERFORM bdc_field       USING 'MARC-STRGR'
                                        itab-strgr_053.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                        'MARC-MTVFP'.
          PERFORM bdc_field       USING 'MARC-MTVFP'
                                        itab-mtvfp_054.
        ENDIF.
        IF v_mrp4 = 'X'.
    */ MRP 4
          PERFORM bdc_dynpro      USING 'SAPLMGMM' '4000'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        '/00'.
          PERFORM bdc_field       USING 'MAKT-MAKTX'
                                        itab-maktx_021.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                        'MARC-SBDKZ'.
          PERFORM bdc_field       USING 'MARC-SBDKZ'
                                        itab-sbdkz_056.
        ENDIF.
        IF v_wrksch = 'X'.
    */ WORK SCHEDULES
          PERFORM bdc_dynpro      USING 'SAPLMGMM' '4000'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        '/00'.
          PERFORM bdc_field       USING 'MAKT-MAKTX'
                                        itab-maktx_021.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                        'MARC-SERNP'.
          PERFORM bdc_field       USING 'MARA-MEINS'
                                        itab-meins_022.
          PERFORM bdc_field       USING 'MARC-LGPRO'
                                        itab-lgpro_047.
          PERFORM bdc_field       USING 'MARC-SERNP'
                                        itab-sernp_060.
          PERFORM bdc_field       USING 'MARC-DZEIT'
                                        itab-dzeit_048.
        ENDIF.
        IF v_gplnt1 = 'X'.
    */ PLANT DATA/STR1
          PERFORM bdc_dynpro      USING 'SAPLMGMM' '4000'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        '/00'.
          PERFORM bdc_field       USING 'MAKT-MAKTX'
                                        itab-maktx_021.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                        'MARD-LGPBE'.
          PERFORM bdc_field       USING 'MARA-MEINS'
                                        itab-meins_022.
          PERFORM bdc_field       USING 'MARD-LGPBE'
                                        itab-lgpbe_064.
       perform bdc_field       using 'MARA-IPRKZ'
                                     itab-IPRKZ_065.
        ENDIF.
        IF v_gplnt2 = 'X'.
    */ PLANT DATA/STR2
          PERFORM bdc_dynpro      USING 'SAPLMGMM' '4000'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        '/00'.
          PERFORM bdc_field       USING 'MAKT-MAKTX'
                                        itab-maktx_021.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                        'MARA-GROES'.
          PERFORM bdc_field       USING 'MARA-GROES'
                                        itab-groes_067.
          PERFORM bdc_field       USING 'MARC-SERNP'
                                        itab-sernp_060.
        ENDIF.
        IF v_qality = 'X'.
    */ QUALITY MANAGEMENT
          PERFORM bdc_dynpro      USING 'SAPLMGMM' '4000'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        '=PB01'.
          PERFORM bdc_field       USING 'MAKT-MAKTX'
                                        itab-maktx_021.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                        'MARC-WEBAZ'.
          PERFORM bdc_field       USING 'MARA-MEINS'
                                        itab-meins_022.
          PERFORM bdc_field       USING 'MARC-WEBAZ'
                                        itab-webaz_071.
    Addition done by Hymavathi on 24-01-2005
          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(01)'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        '=WEIT'.
          PERFORM bdc_field       USING 'RMQAM-ART(01)'
                                         '01'.
          PERFORM bdc_field       USING 'RMQAM-AKTIV(01)'
                                        'X'.
          PERFORM bdc_dynpro      USING 'SAPLMGMM' '4000'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        '/00'.
          PERFORM bdc_field       USING 'MAKT-MAKTX'
                                        itab-maktx_021.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                        'MARC-WEBAZ'.
          PERFORM bdc_field       USING 'MARA-MEINS'
                                        itab-meins_022.
          PERFORM bdc_field       USING 'MARC-WEBAZ'
                                        itab-webaz_071.
    End Of Addition Done By Hymavathi
        ENDIF.
        IF v_acct1 = 'X'.
    */ ACCOUNTING 1
          PERFORM bdc_dynpro      USING 'SAPLMGMM' '4000'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        '/00'.
          PERFORM bdc_field       USING 'MAKT-MAKTX'
                                        itab-maktx_021.
          PERFORM bdc_field       USING 'MARA-MEINS'
                                        itab-meins_022.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                        'MBEW-STPRS'.
          PERFORM bdc_field       USING 'MBEW-BKLAS'
                                        itab-bklas_074.
          PERFORM bdc_field       USING 'MBEW-VPRSV'
                                 

  • BDC on MM02 with user view

    Hi all,
    I am performing BDC on MM02 to change MRP2 data.
    I have used SELECTION_VIEWS_FIND to get the correct view. It works fine on my screen as i have access to all the views in MM02.
    But when the user runs, it errors out as the user is restricted to only MRP view.
    How do i get my BDC working based on user view?
    Points will rewarded for helpful ans

    Hi Ramesh babu, user has mrp view and my program also uses mrp view.
    But the problem is my program when uses the FM  SELECTION_VIEWS_FIND, it considers almost all view and the MRP 2 view is at 12 position say, but since user has only mrp view MRP 2 is at position 2 and hence mismatch. Now how do i get the current position of view in my program based on the user view?

  • Error while running a BDC for the Transaction F-02

    Hi,
           I'm getting an error <b><i>"Parking not possible during Batch Input"</i></b> while running a BDC for the transaction F-02.
           When i click on the error message it displays the message [b<i>]"In Customizing, you can control whether an error message is issued."</b></i>
            How to solve this issue?.
            Waiting for ur replies.........
    Regards
    N.Senthil

    Hi,
    When you are doing the recording in SHDB, and in the same screen where the TCODE to be recorded is given, there are options that you can choose called "Recording Parameters"...Select the checkbox which says "Not a Batch Input Session", this will set the sy-binpt variable to " "(in a recording by default it is "X")...and you will not get this error...
    Also make sure while writing the BDC program to make use of the "bdc options" parameter which has this property to switch of sy-binpt...
        Refer below theard for sample bdc code for f-02.
    https://forums.sdn.sap.com/click.jspa?searchID=5126766&messageID=1538409
    Regards

  • Problem in creation of BDC for transaction phap_create

    Hello Friends,
    I am trying to create BDC for PHAP_CREATE.
    When you run a transaction a pop up window appears to select the template id.
    And in BDC it is selected by cursor position. So once selected, the value of template id cannot be changed.
    I want this as a parameter.So that each time I run a BDC I will be able to create different types of Appraisal documents i.e with different template ids.
    How to go about it???
    Regards,
    Bhushan

    Hi,
    For selecting the id, while doing recording,
    record with
    CTRL + F ( Where u can give ur id) and proceed further.

  • How to give line items in flatfile while doing BDC for Table control

    Hi all,
    I am writing BDC for Multiple line items and Transaction  is : FSE5N.
    How do i give the data in the flat file. I mean how do we give the multiple line items in flat file , i.e for second line item again we have to header data or not ?
    ex:
    1015;ALL;demo;kr;INR;01;0001;3000172;100
    1015;ALL;demo;kr;INR;01;0001;3000172;200
    for first lineitem  : 3000172;100
    for 2nd line item : 3000172; 200.
    header data : 1015;ALL;demo;kr;INR;01;0001.
    Thanks in advance
    krupali

    Hii ,
    u can give in the same format as u have done in the example.
    A       B    C     D  E    F   G        H          I
    1015;ALL;demo;kr;INR;01;0001;3000172;100
    1015;ALL;demo;kr;INR;01;0001;3000172;200
    and while writing the loop u can give
    loop at it_head.
    loop at it_head where a = it_head-A and b = it_head-B ..........upto G = it_head-G.
      endloop.
    endloop.
    check this
    http://www.sap-img.com/abap/bdc-example-using-table-control-in-bdc.htm
    Neeraj

  • BDC for TCODE F150

    Hi Friends,
    I am facing problem while developing BDC for tcode F150. The last action i.e. scheduling for particular dunning date is not getting executed in my BDC.
    I am also pasting the end part of my BDC recording. Please review it and advise.
    PERFORM bdc_dynpro      USING 'SAPLF150_JOBS' '1000'.
      PERFORM bdc_field       USING 'BDC_CURSOR'
                                    'F150V-STRZT'.
      PERFORM bdc_field       USING 'BDC_OKCODE'
                                    '=JOBS'.
      PERFORM bdc_field       USING 'F150V-STRDT'
                                    rdate.
      PERFORM bdc_field       USING 'F150V-XSTRF'
                                    'X'.
        select single SPLD into p_out from USR01 where bname = sy-uname.
      perform bdc_field       using 'ITCPO-TDDEST'
                                     p_out.
      CALL TRANSACTION 'F150'
    Thank you,
    Swapnil
    Edited by: Swapnil Tawade on Sep 22, 2008 3:15 PM

    Hi,
       If u want it for  some specific plants then before populating data  to bdcdata internal table  check the conditions for which the plant fields required values to be passed  and if the condition is satisfied then pass the plant field to bdcdata table . If the condition is not satisfied then dont pass that plant field to bdcdata table bcoz  if  u r not passing any field to bdcdata table then that field is going have default values.
    Regards,
    Shafi

  • User Exit and BDC for ME22N

    Hello All,
    A code has been written in the User exit for Tcode ME22N, Which sets the indicator on PO line item. This has been done by modifying the standard itab POT by using field symbols, because the fields to be modified are shown in display mode in the tcode ME22N and cannot be done in BDC. See the below code in user exit ZXM06U43.
    DATA char(50) VALUE '(SAPLMEPO)POT[]'.
    CLEAR wa_ind.
        FIELD-SYMBOLS <f1> TYPE ANY.
    Move memory of internal table POT to field symbol f1.
        ASSIGN (char) TO <f1>.
    Move content of f1 to internal table i_ind
        i_ind[] = <f1> .
        LOOP AT i_ind INTO wa_ind.
          IF wa_ind-pstyp = '9'.            " Service PO - item category
    IF PO Line item has History per Purchasing Document as 'D'
    Set indicators on, for the line item.
            CLEAR v_cnt.
            SELECT COUNT( * ) INTO v_cnt FROM ent5100
                                         WHERE ebeln = wa_ind-ebeln
                                           AND ebelp = wa_ind-ebelp
                                           AND bewtp = 'D'.
            IF sy-subrc = 0.
              wa_ind-wepos = 'X'.            " Set Goods Receipt Indicator
              wa_ind-webre = 'X'.            " Set GR-based IV Indicator
              wa_ind-lebre = 'X'.            " Set Srv-based IV Indicator
            ELSE.
    *End of addition SAP-20070910104025 - SL36 - D01K963369
              wa_ind-wepos = ' '.            " Clear Goods Receipt Indicator
              wa_ind-webre = ' '.            " Clear GR-based IV Indicator
              wa_ind-lebre = ' '.            " Clear Srv-based IV Indicator
              wa_ind-xersy = ' '.            " Clear ERS Indicator
            ENDIF.                                           
            MODIFY i_ind FROM wa_ind INDEX sy-tabix.
          ENDIF.
        ENDLOOP.
        <f1> = i_ind[].
      ENDIF.          
    ENDIF.
    This code is in production and has been working fine.
    The requirnment is now to make this indicator work for all the Purchase order before this code has been written in the Exit. For this my functional suggests that to write a separate program using BDC for PO change and jus add a period/dot  in the short text and save it. The code has been written, the user exit and the above code is getting triggrred values are updated in internal table correctly.
    However the flags was not set or cleared when seen in the tcode ME22N . This works fine if the tcode me22n is run directly and not working in BDC.
    I have tried with ME22 without enjoy transaction in BDC changing the POT Program to SAPMM06E. It does not work.
    Please help me as why it is not uodating in the table when using BDC.
    Thanks in Advance.
    Senthil Kumar

    Hi All,
    Any luck on this??
    Thanks

Maybe you are looking for

  • Parameter is incorrect compile problem in virtual box

    Hi, since Linux support for flash builder (flex builder at the time) was dropped longer ago, we Linux users are forced to use virtualbox to run flash builder. Latest virtualbox 4.1 has an issue to build flex projects. I spent hours yestarday to try t

  • Help with select code??

    I have a calendar program in jsp. The users can enter description for the dates. These dates are stored in the database. I need to provide colors to those dates,which have a value 'N' in the weekender field. Am able to write the query, but am not abl

  • Firefox 11 Crashing Regularly on OS X Snow Leopard

    After upgrading to FF 11, the browser crashes regularly. It usually happens on pages with some sort of flash on it, whether it be a video page or even a page with flash ads. I have tried turning off the hardware option in flash. I tried turning any v

  • Scope of "user" in jsp

    Hi. here is some code for a jsp to pull some data out of an HTML form. <jsp:useBean id = "user" class="collect.CollectData" scope = "session"/> <jsp:setProperty name = "user" property="*"/> <%@ page import="java.util.*,java.sql.*,javax.naming.*,javax

  • What is a drop zone for?

    Hi folks. I'm a little confused in iDVD6 about what a drop zone is for. Is this to link to a submenu or movie or is it just a graphic as part of the menu? Super confused here. Trying to make my first DVD and it's not cooperating. Thanks.