BDC - MM02 _long text  for material PO upload

Hi experts,
I want to upload Long text for material PO in MM02 (Purchase  order text view)
throuh BDC upload.  I have successfully done recording for this transaction. But in the recording it show no  table field for that particular long text.
Pls help me to do this issue.
Thanks.

Hi
See the sample program for this and modify as per your requirement.
REPORT zmm_longtext
       NO STANDARD PAGE HEADING
       LINE-SIZE 255.
Internal Table for Upload of Long Texts Data
DATA: BEGIN OF itab1 OCCURS 0,
        matnr    LIKE mara-matnr,    " Material
        text1    LIKE tline-tdline,  " Long Text
      END OF itab1.
Internal Table for Upload of Long Texts Data
DATA: BEGIN OF itab OCCURS 0,
        matnr LIKE mara-matnr,    " Material
        text  LIKE tline-tdline,  " Long Text
      END OF itab.
To create Long Text lines for CREATE_TEXT function module
DATA:BEGIN OF dt_lines OCCURS 0.
        INCLUDE STRUCTURE tline.   " Long Text
DATA:END OF dt_lines.
Variable declarations for CREATE_TEXT function module
DATA : dl_name TYPE thead-tdname,   " Object Name
       dl_lan TYPE thead-tdspras,   " Language
       gv_matnr TYPE matnr.
Constants
CONSTANTS:
Object ID for Long Text of Material Basic Data 1
  c_best     TYPE thead-tdid VALUE 'GRUN',
  c_material TYPE thead-tdobject VALUE 'MATERIAL'. " Object
Parameters
PARAMETERS p_file LIKE rlgrap-filename.
At selection-screen on Value Request for file Name
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
Get the F4 Values for the File
  CALL FUNCTION 'F4_FILENAME'
    EXPORTING
      program_name  = syst-cprog
      dynpro_number = syst-dynnr
    IMPORTING
      file_name     = p_file.
Start Of Selection
START-OF-SELECTION.
*To Upload Flat file
  CALL FUNCTION 'UPLOAD'
    EXPORTING
      filename                = p_file
      filetype                = 'DAT'
    TABLES
      data_tab                = itab1
    EXCEPTIONS
      conversion_error        = 1
      invalid_table_width     = 2
      invalid_type            = 3
      no_batch                = 4
      unknown_error           = 5
      gui_refuse_filetransfer = 6
      OTHERS                  = 7.
  SORT itab1 BY matnr.
  LOOP AT itab1.
    CLEAR gv_matnr.
    SELECT SINGLE matnr INTO gv_matnr
       FROM mara WHERE bismt = itab1-matnr.
        IF itab1-text1 NE ' '.
      itab-matnr = gv_matnr.
      itab-text  = itab1-text1.
      APPEND itab.
    ENDIF.
    CLEAR itab.
  ENDLOOP.
  DELETE itab WHERE matnr EQ ' '.
Upload the Texts
  SORT itab BY matnr.
  LOOP AT itab.
    dt_lines-tdformat = 'ST'.
    dt_lines-tdline = itab-text.
    APPEND dt_lines.
    dl_lan = sy-langu.
    dl_name = itab-matnr.
Call the Function Module to Create Text
    CALL FUNCTION 'CREATE_TEXT'
      EXPORTING
        fid         = c_best
        flanguage   = dl_lan
        fname       = dl_name
        fobject     = c_material
        save_direct = 'X'
        fformat     = '*'
      TABLES
        flines      = dt_lines
      EXCEPTIONS
        no_init     = 1
        no_save     = 2
        OTHERS      = 3.
    IF sy-subrc <> 0.
      WRITE:/ 'Long Text Creation failed for Material'(001),
             itab-matnr.
    ELSE.
      WRITE:/ 'Long Text Created Successfully for Material'(002),
             itab-matnr.
    ENDIF.
    AT END OF matnr.
      REFRESH dt_lines.
    ENDAT.
  ENDLOOP.
<b>Reward points for useful Answers</b>
Regards
Anji

Similar Messages

  • Uploading sales text and Purchase order text for material master

    Hi,
      I have created, material master with LSMW  byt not updated SALES TEXT and Purchase order text with LSMW  now i want to uplaod the sales and po text for material master can you give some link or ref. code to upload the text i have near 1000 items for which i want to uplaod text  when i have done the recording with SHDB  i have not found filed in recording.
    regards,
      zafar

    Hi,
    I have made the code in se38
    as below but still it is not working
    REPORT  ZTEST_TEXT.
      data: headerl like thead occurs 0 with header line.
      data itab3 like tline occurs 0 with header line.
    headerl-tdobject = 'MATERIAL'.
    headerl-tdname = '00000000000LSMW123'.          "(Material : 000000000300000560, Sorg : 0001, Dist channel: 01)
    headerl-tdid  = 'BEST'.
    headerl-tdspras = 'E'.
    append headerl.
    move '*' to itab3-tdformat.
    move 'Testing PO text' to itab3-tdline.
    append itab3.
    call function 'SAVE_TEXT'
      exporting
        header                = headerl
      insert                = ' '
       savemode_direct       = ' '
      tables
        lines                 = itab3
    exceptions
       id                    = 1
       language              = 2
       name                  = 3
       object                = 4
       others                = 5.
       IF SY-SUBRC = 0.
         CALL FUNCTION 'COMMIT_TEXT'
           EXPORTING
                OBJECT   = headerl-tdobject
                NAME     = headerl-tdname.
       ENDIF.
       break-point.
    regards,
    zafar

  • Upload sales text for material master using LSMW direct input method

    Hello Experts,
    I was trying to upload sales text for a material master using LSMW direct input method.
    I followed the following steps for the same
    Tab dlimited Text file format
    MATNR           LONGTEXT                                                     LINE       
    MATERIAL1    LONGTEXT FOR MATERIAL MATERIAL1       1
    Step1 -> Maintain object attributes
    Object -> 0001
    Method-> 0001
    Program name -> /SAPDMC/SAP_LSMW_IMPORT_TEXTS
    Program type -> D
    Step2 -> Maintain Source Structure
    Source structure -> LONG_TEXT            Source structure for long text
    Step 3-> Maintain souce file
    Source Fields
    ZLONG_TEXT             Source structure for long text
                           MATNR                         C(018)    MATNR
                           LTEXT                          C(132)    LTEXT
    Step 4-> Maintain structure relationship
    Structure Relations
    /SAPDMC/LTXTH Long Texts: Header                                           <<<< ZLONG_TEXT Source structure for long text
                  Select Target Structure /SAPDMC/LTXTH .
    /SAPDMC/LTXTL Long Texts: Row                                              <<<< ZLONG_TEXT Source structure for long text
                 Select Target Structure /SAPDMC/LTXTL .
    Step 5-> Maintain Field mapping and conversion rules
    Here i have assigned constan rules to couple of them like
    /SAPDMC/LTXTH                  Long Texts: Header
    Fields
       OBJECT                Texts: Application Object
                                    Rule :   Constant
                                    Code:    /SAPDMC/LTXTH-OBJECT = 'MVKE'.
       NAME                  Name
                                    Source:  ZLONG_TEXT-MATNR (MATNR)
                                    Rule :   Transfer (MOVE)
                                    Code:    /SAPDMC/LTXTH-NAME = ZLONG_TEXT-MATNR.
       ID                         Text ID
                                    Rule :   Constant
                                    Code:    /SAPDMC/LTXTH-ID = '0001'.
       SPRAS                 Language Key
                                    Rule :   Constant
                                    Code:    /SAPDMC/LTXTH-SPRAS = 'E'.
    /SAPDMC/LTXTL                  Long Texts: Row
      Fields
        TEXTFORMAT     Tag column
                                    Rule :   Constant
                                    Code:    /SAPDMC/LTXTL-TEXTFORMAT = '/'.
        TEXTLINE             Text Line
                                    Source:  ZLONG_TEXT-LTEXT (LTEXT)
                                    Rule :   Transfer (MOVE)
                                    Code:    /SAPDMC/LTXTL-TEXTLINE = ZLONG_TEXT-LTEXT.
    Step6 -> Specify file
    Legacy Data          On the PC (Frontend)
                 Data                           D:\Sales_Longtext.txt
    Step7 -> Assign File
    ZLONG_TEXT Source structure for long text
                  Data D:\Sales_Longtext.txt
    Step8 -> Read data
    Output result
    Source Structure             Read      Written        Not Written
    ZLONG_TEXT              1                1              0
    Transactions Read:            1
    Records Read:                   1
    Transactions Written:         1
    Records Written:                 1
    Step 8 -> Display read data
    Field Name                    Field Text Field Value
    MATNR                          MATNR      MATERIA1
    LTEXT                            LTEXT      SALES TEXT FOR Material MATERIAL1
    Step 9 -> Convert data
    File Read:          ZNRD_PRJ1_ZNRD_SUBPRJ2_ZNRD_LTEXT.lsmw.read
    File Written:       ZNRD_PRJ1_ZNRD_SUBPRJ2_ZNRD_LTEXT.lsmw.conv
    Transactions Read:                 1
    Records Read:                        1
    Transactions Written:              1
    Records Written:                     2
    Step 10 -> Display converted data
    1 /SAPDMC/LTXTH                   1MVKE      MATERIAL1                                                                   0001E
    2 /SAPDMC/LTXTL                   2/ SALES TEXT FOR Material MATERIAL1
    Step 11 -> Start direct input program
    Output result for the same
    Legacy System Migration Workbench
    Project:                              ZNRD_PRJ1       ORH
    Subproject:                        ZNRD_SUBPRJ2    Upload long text
    Object:                               ZNRD_LTEXT      Long text tru direct input
    File :                                   ZNRD_PRJ1_ZNRD_SUBPRJ2_ZNRD_LTEXT.lsmw.conv
    Long Texts in Total:                                1
    Successfully Transferred Long Texts:  1
    Non-Transferred Long Texts:                 0
    Now when i check the material master sales view -> sales text it is empty.
    Please help me with the same.
    Regards,
    Ranjith N

    Hello Experts, I was trying to upload sales text for a material master using LSMW direct input method.
    I followed the following steps for the same
    Tab dlimited Text file format
    MATNR             LONGTEXT                                              LINE
    MATERIAL1     LONGTEXT FOR MATERIAL MATERIAL1 1 *************************************************************************************************************
    Step1 -> Maintain object attributes
    Object -> 0001
    Method-> 0001
    Program name -> /SAPDMC/SAP_LSMW_IMPORT_TEXTS
    Program type -> D
    Step2 -> Maintain Source Structure
    Source structure -> LONG_TEXT Source structure for long text
    Step 3-> Maintain souce file Source Fields
    ZLONG_TEXT Source structure for long text
    MATNR C(018) MATNR
    LTEXT C(132) LTEXT
    Step 4-> Maintain structure relationship
    Structure Relations 
    /SAPDMC/LTXTH Long Texts:  Header <<<< ZLONG_TEXT Source structure for long text
    Select Target Structure
    /SAPDMC/LTXTH . /SAPDMC/LTXTL Long Texts: Row <<<< ZLONG_TEXT Source structure for long text
    Select Target Structure /SAPDMC/LTXTL .
    Step 5-> Maintain Field mapping and conversion rules
    Here i have assigned constan rules to couple of them like
    /SAPDMC/LTXTH Long Texts: Header
    Fields
    OBJECT            Texts: Application Object
                             Rule : Constant
                              Code: /SAPDMC/LTXTH-OBJECT = 'MVKE'.
    NAME               Name
                             Source: ZLONG_TEXT-MATNR (MATNR)
                             Rule : Transfer (MOVE)
                             Code: /SAPDMC/LTXTH-NAME = ZLONG_TEXT-MATNR.
    ID                     Text ID
                             Rule : Constant
                             Code: /SAPDMC/LTXTH-ID = '0001'.
    SPRAS             Language Key
                             Rule : Constant
                            Code: /SAPDMC/LTXTH-SPRAS = 'E'.
    /SAPDMC/LTXTL Long Texts: Row
    Fields
    TEXTFORMAT  Tag column 
                             Rule : Constant
                             Code: /SAPDMC/LTXTL-TEXTFORMAT = '/'.
    TEXTLINE          Text Line
                             Source: ZLONG_TEXT-LTEXT (LTEXT)
                             Rule : Transfer (MOVE)
                             Code: /SAPDMC/LTXTL-TEXTLINE = ZLONG_TEXT-LTEXT.
    Step6 -> Specify file Legacy
    Data On the PC (Frontend)
                 Data D:\Sales_Longtext.txt
    Step7 -> Assign File ZLONG_TEXT
    Source structure for long text
              Data D:\Sales_Longtext.txt
    Step8 -> Read data
    Output result
    Source Structure            Read                Written                Not Written
    ZLONG_TEXT                  1                       1                            0
    Transactions Read          1
    Records Read:                1
    Transactions Written:      1
    Records Written:             1
    Step 8 -> Display read data
    Field Name             Field Text                      Field Value
    MATNR                    MATNR                         MATERIA1
    LTEXT                     LTEXT                            SALES TEXT FOR Material MATERIAL1
    Step 9 -> Convert data
    File Read: ZNRD_PRJ1_ZNRD_SUBPRJ2_ZNRD_LTEXT.lsmw.read
    File Written: ZNRD_PRJ1_ZNRD_SUBPRJ2_ZNRD_LTEXT.lsmw.conv
    Transactions Read:    1
    Records Read:           1
    Transactions Written: 1
    Records Written:         2
    tep 10 -> Display converted data
    1 /SAPDMC/LTXTH     1    MVKE        MATERIAL1 0001   E
    2 /SAPDMC/LTXTL     2/   SALES TEXT FOR Material       MATERIAL1
    Step 11 -> Start direct input program
    Output result for the same
    Legacy System Migration Workbench Project:
    ZNRD_PRJ1  ORH
    Subproject:   ZNRD_SUBPRJ2     Upload long text
    Object:          ZNRD_LTEXT          Long text tru direct input
    File :              ZNRD_PRJ1_ZNRD_SUBPRJ2_ZNRD_LTEXT.lsmw.conv
    Long Texts in Total:                                1
    Successfully Transferred Long Texts:  1
    Non-Transferred Long Texts:                0
    Now when i check the material master sales view -> sales text it is empty. Please help me with the same.
    Regards,
    Ranjith N

  • What is the standard program for Material Master upload using LSMW

    Dear All
    I am trying to use the MM upload using DATMIG_INF4. I want to know what are the different standard projects that are used for Material master upload.

    Hi Amol,
    You can load the material master using direct input method  in LSMW ,details of which are as follows:
    Object               0020   Material master
    Method               0000                 
    Program name         RMDATIND             
    Program type         D   Direct input    
    Please revert back in case of any doubt.
    Cheers
    VJ

  • SAVE_TEXT to implement long text for Material, BOM, documents etc...

    Hello,
    we are working on a process to download longtexts from one system and to upload into another system to add missing long text there for different objects.
    We are using SAVE_TEXT and it is working fine for documents in DRAW/DRAT.
    Here we got what we expected. Long texts are uploaded and can be edited in the
    transaction CV02N.
    But then we started with material and with BOMs (bill of material).
    Result of upload:
    STXH is filled with entries but in MM02 and CS02 we cannot see the added long texts.
    Seems that the connection between material and bom and their texts is missing.
    For BOM we are not totally wrong. If there is a longtext in the BOM we can add longtext (we READ_TEXT the existing longtext and add our text. Then we do a update) and can see the added longtext in CSxx transactions.
    But if there is only a short text, our insert via SAVE_TEXT is not working.
    Is there something we are doing wrong or don´t we understand something?
    Any help is appreciated.
    Best regard
    Dirk

    Hello Naren,
    oh, this answer was bringing light into my confusion.
    My problem is that there will be some import files with any long text for any object in R/3 like
    material with x textids , bom, equipment etc...
    Is there any chance to find out easily which text object combination with textid belongs to a specific long text. The TTXID table is only a listing w/o any explanantion???????
    Update longtext in BOM header -> set STZU-LTXSP
    Update longtext alternative in BOM header -> set STKO-LTXSP
    Update longtext in BOM position  -> set STPO-LTXSP
    And what is the text ID DPO for?
    My other problem now is with Material long text import.
    I checked the SDN threats but could not find the answer.
    This is my abap that is not running for material.
    I can see the long text entries from READ_TEXT, but not in STXH and STXL.
    zs_textline_c [ ]  = zs_textline_b [ ] .
    CALL FUNCTION 'INIT_TEXT'
        EXPORTING
          id            = wa_header-tdid
          language = wa_header-tdspras
          name      = wa_header-tdname
          object     = wa_header-tdobject
        IMPORTING
          header   = wa_header_b
        TABLES
          lines    = zs_textline_c
        EXCEPTIONS
          id       = 1
          language = 2
          name     = 3
          object   = 4
          OTHERS   = 5.
      IF sy-subrc <> 0.
      ENDIF.
      CALL FUNCTION 'SAVE_TEXT'
            EXPORTING
              client                = sy-mandt
              header                = wa_header_b
              insert                = 'X'
              savemode_direct       = 'X'
                     owner_specified       = 'X'
              local_cat             = ' '
            IMPORTING
              function              = l_result
            NEWHEADER             =
            TABLES
              lines                 = zs_textline_b
            EXCEPTIONS
              id                    = 1
              language         = 2
              name              = 3
              object             = 4
              OTHERS        = 5
      IF sy-subrc <> 0.
      ENDIF.
      CALL FUNCTION 'COMMIT_TEXT'.
      COMMIT WORK.
    Your help is welcome!
    Best regards
    Dirk
    Edited by: Dirk Meinhard on Mar 31, 2009 4:33 PM

  • LSMW for material master upload

    Hi gurus
    i have one problem while uploading material master with LSMW.
    I have murged 2 company codes in one so while creating material master system is asking me tax classification data in sales view for 2 country sales org and distrubition channel. I am using sap std LSMW for material master creation.
    system is giving me error as " tax classification data not maintained completely".
    need your valuable help to solve this problem

    Tax classification data is mandatory field in Sales view of MM01.
    Check out you mapping for the tax classification fields. usually classification value is 0 OR 1.
    You can first test the values in MM01 Sales View with the legacy data you have and this way you will able to find the mandatory fields also and can see the valid values for the fields.
    Remember you may have more than one Tax Classification values depending on the country code.
    For that you can add those many columns in legacy data file and map them.
    Hope it helps.

  • Help me for material master upload by using Direct Input method

    <b>Hi All,</b>
       Can any one help me out for developing Material Master Upload program  by using <b>Direct Input</b> Method where we are also submitting the report to upload the data in SAP Database.
    <b>
    Thanks in Advance!</b>
    <b>Ramkumar.K</b>

    <b>Hi Kumar,</b>
      Thanks! I am using submit statement in my program as well but its populating all the views like Sales Organization Data, Sales - General / Plant Data, Accounting, and all the other views except the<b> Basic Data View</b>.. Eventhough i have populated the corresponding fields of the same.
    I am also using structure BGR00, BMM00, BMMH1 to upload the data
    Can you please help me on this..
    <b>
    Regards,
    Ramkumar.K</b>

  • Material PO text  in Material Master upload

    Hello,
    I want to upload the Material Master and want to upload the Material PO text field as well How do i upload this field. I cant find any technical name of the field nor any field in the object while uploading thru LSMW ?  Kindly respond.
    Thanks,
    Shehryar Dahar

    Hi
    see this
    Re: upload longtext from excel file  
    REPORT  zupload_excel_to_itab.
    TYPE-POOLS: truxs.
    PARAMETERS: p_file TYPE  rlgrap-filename.
    TYPES: BEGIN OF t_datatab,
          col1(30)    TYPE c,
          col2(30)    TYPE c,
          col3(30)    TYPE c,
          END OF t_datatab.
    DATA: it_datatab type standard table of t_datatab,
          wa_datatab type t_datatab.
    DATA: it_raw TYPE truxs_t_text_data.
    At selection screen
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
      CALL FUNCTION 'F4_FILENAME'
        EXPORTING
          field_name = 'P_FILE'
        IMPORTING
          file_name  = p_file.
    *START-OF-SELECTION.
    START-OF-SELECTION.
      CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
        EXPORTING
        I_FIELD_SEPERATOR        =
          i_line_header            =  'X'
          i_tab_raw_data           =  it_raw       " WORK TABLE
          i_filename               =  p_file
        TABLES
          i_tab_converted_data     = it_datatab[]    "ACTUAL DATA
       EXCEPTIONS
          conversion_failed        = 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.
    END-OF-SELECTION.
    END-OF-SELECTION.
      LOOP AT it_datatab INTO wa_datatab.
        WRITE:/ wa_datatab-col1,
                wa_datatab-col2,
                wa_datatab-col3.
      ENDLOOP.
    http://www.sapdevelopment.co.uk/file/file_upexcel.htm
    Reward  if useful
    Regards
    Anji

  • LSMW FOR MATERIAL MASTER USING BAPI_MATERIAL_SAVEDATA -Adding Custom Fields

    Hi Gurus,
    I'm developing LSMW for Material Master Upload using BAPI method.
    Object:BUS1001006
    BAPI:BAPI_MATERIAL_SAVEDATA
    MESSAGE TYPE: MATMAS_BAPI
    BASIC TYPE : MATMAS_BAPI03.
    There is a requirement to use/map a custom field. Upon research custom field can be added to the parameter EXTENSIONIN and EXTENSIONINX, but I have no Idea on how to do it with LSMW. Please advise what approach is needed.
    Thanks and Regards,
    Jay

    Hi Gurus,
    I got the following code below.
    The custom field won't get updated.... Please advise on what should I do... I've checked different forums and still can't come up with the solution... Please advise..
    REPORT ztest_extend_matmas1.
    STRUCTURE
    TABLES:
    bapimathead, "Headerdata
    bapi_mara, "Clientdata
    bapi_marax, "Clientdatax
    bapi_marc, "Plantdata
    bapi_marcx, "Plantdatax
    bapi_makt, "Material description
    bapiparex, "Extensionstruktur
    bapiparexx,
    bapiret2. "Return messages
    DATA:
    bapi_te_mara LIKE bapi_te_mara,
    bapi_te_marax LIKE bapi_te_marax,
    v_file TYPE string.
    INTERNAL TABLE
    *to store the output data
    DATA:BEGIN OF it_material_number OCCURS 0.
            INCLUDE STRUCTURE bapimatinr.
    DATA:END OF it_material_number.
    *for materialtext
    DATA:BEGIN OF it_materialdesc OCCURS 0.
            INCLUDE STRUCTURE bapi_makt .
    DATA:END OF it_materialdesc.
    *für z-feld
    DATA:BEGIN OF it_bapiparex OCCURS 0.
            INCLUDE STRUCTURE bapiparex.
    DATA:END OF it_bapiparex.
    *für z-feldx
    DATA:BEGIN OF it_bapiparexx OCCURS 0.
            INCLUDE STRUCTURE bapiparexx.
    DATA:END OF it_bapiparexx.
    *to return messages
    DATA:BEGIN OF it_return2 OCCURS 0.
            INCLUDE STRUCTURE bapiret2.
    DATA:END OF it_return2.
    DATA:BEGIN OF it_return OCCURS 0.
            INCLUDE STRUCTURE bapiret1.
    DATA:END OF it_return.
    DATA
    lt_messages      TYPE bapiret2_t.
    PROCESSING
    *bapimathead-material = it_material_number-material.
    bapimathead-material = '100-2520'.
    bapimathead-ind_sector = 'P'.
    bapimathead-matl_type = 'AEM'.
    bapimathead-basic_view = 'X'.
    bapimathead-purchase_view = 'X'.
    bapimathead-inp_fld_check = 'I'.
    *bapimathead-BASIC_VIEW = 'X'.
    *bapimathead-SALES_VIEW = 'X'.
    *bapimathead-PURCHASE_VIEW = 'X'.
    *bapimathead-MRP_VIEW = 'X'.
    *bapimathead-FORECAST_VIEW = 'X'.
    *bapimathead-WORK_SCHED_VIEW = 'X'.
    *bapimathead-PRT_VIEW = 'X'.
    *bapimathead-STORAGE_VIEW = 'X'.
    *bapimathead-WAREHOUSE_VIEW = 'X'.
    bapi_mara-matl_group = '0001'.
    bapi_mara-old_mat_no = '100-251'.
    bapi_mara-base_uom = 'ST'.
    bapi_marax-matl_group = 'X'.
    bapi_marax-old_mat_no = 'X'.
    bapi_marax-base_uom = 'X'.
    bapi_marc-plant = '1000'.
    bapi_marcx-plant = '1000'.
    it_materialdesc-langu = 'EN'.
    it_materialdesc-matl_desc = 'DESC'.
    APPEND it_materialdesc.
    *bapi_te_mara-material = it_material_number-material.
    bapimathead-material = '100-2520'.
    *bapi_te_mara-zzforst = '4148'.
    bapi_te_mara-material = '100-2520'.
    bapi_te_mara-zzmar_field1 = '4148'.
    *bapi_te_marax-material = it_material_number-material.
    bapimathead-material = '100-2520'.
    *bapi_te_marax-zzforst = 'X'.
    bapi_te_marax-material  = '100-2520'.
    bapi_te_marax-zzmar_field1 = 'X'.
    it_bapiparex-structure = 'BAPI_TE_MARA'.
    it_bapiparex-valuepart1 = bapi_te_mara.
    APPEND it_bapiparex.
    it_bapiparexx-structure = 'BAPI_TE_MARAX'.
    it_bapiparexx-valuepart1 = bapi_te_marax.
    APPEND it_bapiparexx.
    CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
      EXPORTING
        headdata            = bapimathead
        clientdata          = bapi_mara
        clientdatax         = bapi_marax
        plantdata           = bapi_marc
        plantdatax          = bapi_marcx
      IMPORTING
        return              = it_return2
      TABLES
        materialdescription = it_materialdesc
        extensionin         = it_bapiparex
        extensioninx        = it_bapiparexx
        returnmessages      = lt_messages.
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
    THanks and Regards,
    Jay
    Edited by: jhayyy on May 17, 2011 6:54 AM

  • LSMW FOR MATERIAL MASTER USING BAPI_MATERIAL_SAVEDATA

    Hi Gurus,
    Im trying to develop lsmw for material master upload using bapi method.
    Object:BUS1001006
    BAPI:BAPI_MATERIAL_SAVEDATA
    MESSAGE TYPE: MATMAS_BAPI
    BASIC TYPE : MATMAS_BAPI01.
    I m unable to find parameters to load gross_weight volume and volume unit and also problem loading the custom fields of material master. Any body who has worked on this one, can you please help me.
    Thanks
    venkat

    The BAPI_MATERAIL_SAVEDATA support the gross_weight or the volume via the tables UNITSOFMEASURE and UNITSOFMEASUREX.
    eg.
    UNIT_OF_WT =KG
    ALT_UNIT = PCS
    NUMERATOR = 1
    DENOMINATR =1
    GROSS_WT =1000
    All the customer specific field are supported by the EXTENSIONIN and EXTENSIONINX tables.

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

  • How to upload PO text of material master ?

    dear gurus,
    how to upload PO text in material master in mass , can i use LSMW or BDC ? if yes then how?
    I have done the recording but LSMW is not working for PO text.
    Upesh khairnar.

    Hi!
    try using Purchasing Inforecord for this. in here you maintain master data linkage for Material Master and Vendor Master. You will just have to input the Material Number, the Vendor Account, and the Purchasing Org. In here you can maintain the PO text defaulted per Material Number. After the maintenance of Inforecord, the PO text will be reflected on the PO document.
    Here is the ff Transaction Code:
    - ME11 (Create Inforecord)
    - ME12 (Change Inforecord)
    - ME13 (Display Inforecord)
    Hope this helps, Thank you.
    Mik

  • Text ID  for text object MATERIAL does not exist - MM01

    Hi All,
    I am getting below error message when trying to save Material Master in MM01.
    Text ID  for text object MATERIAL does not exist
    Message no. TD603
    Diagnosis
    You want to edit a text. However, the text ID (text type) of the specified text object does not exist.
    Procedure
    You can display a list of valid text IDs (text types) using F4=Possible entries. You can select the required text ID from this list with F2 or a double click.
    The valid text objects are listed in table TTXOB. The valid text IDs (text types) for an object are specified in table TTXID.
    I have searched the forums but couldn't get relevant message.
    Please assist.
    Thanks,
    Raj

    Hi Jurgen,
    This is the complete message i am getting.
    Text ID for text object MATERIAL does not exist
    Message no. TD603
    Diagnosis
    You want to edit a text. However, the text ID (text type) of the specified text object does not exist.
    Procedure
    You can display a list of valid text IDs (text types) using F4=Possible entries. You can select the required text ID from this list with F2 or a double click.
    The valid text objects are listed in table TTXOB. The valid text IDs (text types) for an object are specified in table TTXID.
    If I enter MM02 and without changing anything if i save still i get this error message.
    Thanks & Regards,
    Raj

  • MM02: Updating characterstics in PO text and Material description

    Hello Experts,
    I have a requirement wherein, I have to update the characterstics of a material
    to the Po text and Material description as soon as they are changed in MM02.
    At present there is a custom program doing the same,but I need to automate it,
    directly from MM02.
    Please help me with your views.
    Thanks,
    Sumit Mittal.

    Try using the customer exit EXIT_SAPLMGMU_001 for this purpose.
    Good Luck!
    -D

  • Upload Basic Data Text for Materials

    Hi,
    I'm trying to upload Basic Data Text for Materials using FM SAVE_TEXT. Everything works fine except long text. It is not accepting more than 132 charactors. What logic should I use so that it will append the remaining text for the same material on the other line?
    Please help !!!
    Thanks.

    If your text is longer than 132 characters, you have to wrap the text into multiple lines (FMs you should be using are FORMAT_TEXTLINES & RKD_WORD_WRAP).
    Search in SDN for details on these FMs.
    BR,
    Suhas
    PS: You can also explore uploading the material long texts using BAPI_MATERIAL_SAVEDATA. Uploading Basic Data Longtext into Material Master

Maybe you are looking for