Create material using bapi ' bapi_material_savedata'

Hi Experts,
i was tring to create material using bapi ' bapi_material_savedata' but the material is not updating in the table.
please find the code and suggest me if any modification
data: la_headdata type BAPIMATHEAD,
la_clientdata type BAPI_MARA,
la_CLIENTDATAX type BAPI_MARAX,
la_return type BAPIRET2.
data: i_materialdescription type table of BAPI_MAKT,
wa_materialdescription like line of i_materialdescription.
*la_headdata-MATERIAL = int_matnum-MATERIAL.
*LOOP AT int_matnum.
la_headdata-MATERIAL = int_matnum-MATERIAL.
write : int_matnum-material.
*ENDLOOP.
la_headdata-MATERIAL = '100000518'."int_matnum-MATERIAL.
la_headdata-IND_SECTOR = p_indsr.
la_headdata-MATL_TYPE = p_matype.
la_clientdata-BASE_UOM = 'FT3'.
la_clientdata-pur_valkey = ' '.
la_CLIENTDATAX-BASE_UOM = 'X'.
la_clientdata-MATL_GROUP = '01'.
la_CLIENTDATAX-MATL_GROUP = 'X'.
wa_materialdescription = 'TEST'.
append wa_materialdescription to i_materialdescription.
clear: wa_materialdescription.
CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
EXPORTING
headdata = la_headdata
CLIENTDATA = la_clientdata
CLIENTDATAX = la_CLIENTDATAX
PLANTDATA =
PLANTDATAX =
FORECASTPARAMETERS =
FORECASTPARAMETERSX =
PLANNINGDATA =
PLANNINGDATAX =
STORAGELOCATIONDATA =
STORAGELOCATIONDATAX =
VALUATIONDATA =
VALUATIONDATAX =
WAREHOUSENUMBERDATA =
WAREHOUSENUMBERDATAX =
SALESDATA =
SALESDATAX =
STORAGETYPEDATA =
STORAGETYPEDATAX =
FLAG_ONLINE = ' '
FLAG_CAD_CALL = ' '
IMPORTING
RETURN = la_return
TABLES
MATERIALDESCRIPTION = i_materialdescription
UNITSOFMEASURE =
UNITSOFMEASUREX =
INTERNATIONALARTNOS =
MATERIALLONGTEXT =
TAXCLASSIFICATIONS =
RETURNMESSAGES =
PRTDATA =
PRTDATAX =
EXTENSIONIN =
EXTENSIONINX =
Please Help me
Regards,
Naresh

Hi all,
Now it is asking me for the other fields,
E ,
The field MARA-XCHPF/BAPI_MARA-BATCH_MGMT is defined as a required field; it does not contain an entry
i have passed this val as
la_clientdata-batch_mgmt = 'X'.
even though i am getting the same error.
can you help me to solve the issue.
Tthanks
Naresh
Edited by: naresh.k.dasari on Jan 4, 2011 10:36 AM

Similar Messages

  • Creating Material Using BAPI

    Hi Friends,
    I want to create a material using BAPI, can anyone give me some sample program or can any one give me links which earlier posted this problem.
    Points for sure for sample program.
    thanks and regards
    Vijaya

    hi
    good
    go through this REPORT z_bapi_salesorder_create.
    Parameters
    Sales document type
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 2(20) v_text FOR FIELD p_auart.
    PARAMETERS: p_auart TYPE auart OBLIGATORY.
    SELECTION-SCREEN END OF LINE.
    Sales organization
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 2(20) v_text1 FOR FIELD p_vkorg.
    PARAMETERS: p_vkorg TYPE vkorg OBLIGATORY.
    SELECTION-SCREEN END OF LINE.
    Distribution channel
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 2(20) v_text2 FOR FIELD p_vtweg.
    PARAMETERS: p_vtweg TYPE vtweg OBLIGATORY.
    SELECTION-SCREEN END OF LINE.
    Division.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 2(20) v_text3 FOR FIELD p_spart.
    PARAMETERS: p_spart TYPE spart OBLIGATORY.
    SELECTION-SCREEN END OF LINE.
    SKIP 1.
    Sold-to
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 2(20) v_text4 FOR FIELD p_sold.
    PARAMETERS: p_sold  TYPE kunnr OBLIGATORY.
    SELECTION-SCREEN END OF LINE.
    Ship-to
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 2(20) v_text5 FOR FIELD p_ship.
    PARAMETERS: p_ship  TYPE kunnr OBLIGATORY.
    SELECTION-SCREEN END OF LINE.
    SKIP 1.
    Material
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 2(20) v_text6 FOR FIELD p_matnr.
    PARAMETERS: p_matnr TYPE matnr   OBLIGATORY.
    SELECTION-SCREEN END OF LINE.
    Quantity.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 2(20) v_text7 FOR FIELD p_menge.
    PARAMETERS: p_menge TYPE kwmeng  OBLIGATORY.
    SELECTION-SCREEN END OF LINE.
    Plant
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 2(20) v_text9 FOR FIELD p_plant.
    PARAMETERS: p_plant TYPE werks_d OBLIGATORY.
    SELECTION-SCREEN END OF LINE.
    Data declarations.
    DATA: v_vbeln            LIKE vbak-vbeln.
    DATA: header             LIKE bapisdhead1.
    DATA: headerx            LIKE bapisdhead1x.
    DATA: item               LIKE bapisditem  OCCURS 0 WITH HEADER LINE.
    DATA: itemx              LIKE bapisditemx OCCURS 0 WITH HEADER LINE.
    DATA: partner            LIKE bapipartnr  OCCURS 0 WITH HEADER LINE.
    DATA: return             LIKE bapiret2    OCCURS 0 WITH HEADER LINE.
    DATA: lt_schedules_inx   TYPE STANDARD TABLE OF bapischdlx
                             WITH HEADER LINE.
    DATA: lt_schedules_in    TYPE STANDARD TABLE OF bapischdl
                             WITH HEADER LINE.
    Initialization.
    INITIALIZATION.
    v_text   = 'Order type'.
    v_text1  = 'Sales Org'.
    v_text2  = 'Distribution channel'.
    v_text3  = 'Division'.
    v_text4  = 'Sold-to'.
    v_text5  = 'Ship-to'.
    v_text6  = 'Material'.
    v_text7  = 'Quantity'.
    v_text9  = 'Plant'.
    Start-of-selection.
    START-OF-SELECTION.
    Header data
    Sales document type
      header-doc_type = p_auart.
      headerx-doc_type = 'X'.
    Sales organization
      header-sales_org = p_vkorg.
      headerx-sales_org = 'X'.
    Distribution channel
      header-distr_chan  = p_vtweg.
      headerx-distr_chan = 'X'.
    Division
      header-division = p_spart.
      headerx-division = 'X'.
      headerx-updateflag = 'I'.
    Partner data
    Sold to
      partner-partn_role = 'AG'.
      partner-partn_numb = p_sold.
      APPEND partner.
    Ship to
      partner-partn_role = 'WE'.
      partner-partn_numb = p_ship.
      APPEND partner.
    ITEM DATA
      itemx-updateflag = 'I'.
    Line item number.
      item-itm_number = '000010'.
      itemx-itm_number = 'X'.
    Material
      item-material = p_matnr.
      itemx-material = 'X'.
    Plant
      item-plant    = p_plant.
      itemx-plant   = 'X'.
    Quantity
      item-target_qty = p_menge.
      itemx-target_qty = 'X'.
      APPEND item.
      APPEND itemx.
      Fill schedule lines
      lt_schedules_in-itm_number = '000010'.
      lt_schedules_in-sched_line = '0001'.
      lt_schedules_in-req_qty    = p_menge.
      APPEND lt_schedules_in.
      Fill schedule line flags
      lt_schedules_inx-itm_number  = '000010'.
      lt_schedules_inx-sched_line  = '0001'.
      lt_schedules_inx-updateflag  = 'X'.
      lt_schedules_inx-req_qty     = 'X'.
      APPEND lt_schedules_inx.
    Call the BAPI to create the sales order.
      CALL FUNCTION 'BAPI_SALESDOCU_CREATEFROMDATA1'
           EXPORTING
                sales_header_in     = header
                sales_header_inx    = headerx
           IMPORTING
                salesdocument_ex    = v_vbeln
           TABLES
                return              = return
                sales_items_in      = item
                sales_items_inx     = itemx
                sales_schedules_in  = lt_schedules_in
                sales_schedules_inx = lt_schedules_inx
                sales_partners      = partner.
    Check the return table.
      LOOP AT return WHERE type = 'E' OR type = 'A'.
        EXIT.
      ENDLOOP.
      IF sy-subrc = 0.
        WRITE: / 'Error in creating document'.
      ELSE.
    Commit the work.
        COMMIT WORK AND WAIT.
        WRITE: / 'Document ', v_vbeln, ' created'.
      ENDIF.
    thanks
    mrutyun^

  • How to create material using BAPI  Methods?

    hi,
    how to create material master dat using BAPI?
    could u guide me
    i will be waiting for reply.
    REGARDS
    ESWAR.

    Hi eswar,
    Try this code to create gods mmovement...
    DATA: GOODSMVT_HEADER LIKE BAPI2017_GM_HEAD_01,
          " Material Document Header Data
          GOODSMVT_CODE LIKE BAPI2017_GM_CODE,
          " Assign code to transaction for BAPI goods movement
          MATERIALDOCUMENT LIKE BAPI2017_GM_HEAD_RET-MAT_DOC,
          " Number of Material Document
          GOODSMVT_ITEM LIKE BAPI2017_GM_ITEM_CREATE OCCURS 0 WITH HEADER
          LINE,
          " Create Material Document Item
          RETURN LIKE BAPIRET2 OCCURS 0 WITH HEADER LINE
          " Return table for messages
    *Fill values in header
    GOODSMVT_HEADER-PSTNG_DATE = '20030825'.
    GOODSMVT_HEADER-DOC_DATE = '20030802'.
    *Fill GOODSMVT_CODE
    GOODSMVT_CODE-GM_CODE = '05' .
    *Fill Item Table
    GOODSMVT_ITEM-MATERIAL = '100-100'.
    GOODSMVT_ITEM-PLANT = '1000'.
    GOODSMVT_ITEM-STGE_LOC = '0001'.
    GOODSMVT_ITEM-MOVE_TYPE = '501'.
    GOODSMVT_ITEM-ENTRY_QNT = '50'.
    GOODSMVT_ITEM-ITEM_TEXT = 'Test Sanket'.
    *GOODSMVT_ITEM-COSTCENTER = '1000'.
    APPEND GOODSMVT_ITEM.
    *Create Good's movement
    CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
      EXPORTING
        GOODSMVT_HEADER  = GOODSMVT_HEADER
        GOODSMVT_CODE    = GOODSMVT_CODE
      IMPORTING
        MATERIALDOCUMENT = MATERIALDOCUMENT
      TABLES
        GOODSMVT_ITEM    = GOODSMVT_ITEM
        RETURN           = RETURN.
    *Commit BAPI
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
      EXPORTING
        WAIT = 'X'.
    *Display Goods movement number
    FORMAT COLOR 6 INVERSE ON.
    READ TABLE RETURN WITH KEY TYPE = 'E'.
    IF SY-SUBRC = 0.
      WRITE: /,'ERROR! Goods movement not created'.
    ELSE.
      WRITE: /,'Goods movent number',MATERIALDOCUMENT COLOR 5,
               'posted for material',GOODSMVT_ITEM-MATERIAL.
    ENDIF.
    FORMAT COLOR OFF INVERSE OFF.
    try this on report program and create a goods movement.
    Sanket.

  • Upload the Plant by using BAPI "  BAPI_MATERIAL_SAVEDATA"

    Hi experts ,
    I have a requirement where i need to update the plant for the material.
    i tried to use BAPI "  BAPI_MATERIAL_SAVEDATA"
    Can any one please help me out what are the import and export parameters we need to pass  for updating the Plant for that particluar material.
    If any one have any sample code please send .
    Thanks in advance.
    Anupama . P

    Hi
    When creating material master data, you must transfer the material number, the material type, and the industry sector to the method. You must also enter a material description and its language.
    When changing material master data, you need enter only the material number.
    In the header data, you must select at least one view for which data is to be created. Depending on the view selected, you must maintain other required parameters. If you do not enter values for all of the required parameters, the method is ended with an error message.
    For what fields to be filled up, please go to SE37, Enter the BAPI, click on display
    Click on Import tab page , clcik on the Associated type of Parmeters
    HEADDATA
    CLIENTDATA
    PLANTDATA
    & any other data which you want to upload ,
    Thanks & Regards
    Kishore

  • How to create invoice using bapi  base on delivery number with example

    hi,
    Pl give me one example to create invoice using bapi base on delivery number (PGI).

    Use this code
    * Pass the delivery no to the FM to create the invoice
          wa_vbsk-smart = u2018Fu2019.
            wa_komfk-vbeln = nast-objky. u201CuF0DF-----delivery number
            APPEND wa_komfk TO it_komfk.
            CLEAR wa_komfk.
    *    To fill the message structure
    *        l_wa_error-vbeln_vl = nast-objky. " Delivery No.
    *        l_wa_error-fkart = wa_ztab-bil_doc_type." Billing Doc type
            CALL FUNCTION 'RV_INVOICE_CREATE'
                    EXPORTING
    *                 delivery_date             = 0
                     invoice_date              = v_date  u201C<- date
    *                 invoice_type              = '    '
    *                 pricing_date              = 0
                     vbsk_i                    = wa_vbsk
                     with_posting              = u2018Du2019
    *                 select_date               = 0
                     i_no_vblog                = ' '
                     i_analyze_mode            = ' '
                     id_utasy                  = ' '
                     id_utswl                  = ' '
                     id_utsnl                  = ' '
                     id_no_enqueue             = ' '
                     id_new_cancellation       = ' '
    **             IMPORTING
    *               VBSK_E                    =
    *               OD_BAD_DATA               =
    *               DET_REBATE                =
                    TABLES
                      xkomfk                    = it_komfk
                      xkomv                     = it_komv
                      xthead                    = it_thead
                      xvbfs                     = it_vbfs
                      xvbpa                     = it_vbpa
                      xvbrk                     = it_xvbrk
                      xvbrp                     = it_vbrp
                      xvbss                     = it_vbss
    *               XKOMFKGN                  =
    *               XKOMFKKO                  =

  • Need code for sales order create report using bapi's

    need code for sales order create report using bapi's

    Hi,
    Go through below link
    http://www.saptechies.com/bapi_salesorder_createfromdat2/
    <b>Reward points if it helps,</b>
    Satish

  • I can create material using inbound Idoc of type MATMAS01, but not MATMAS05

    I can create material using inbound Idoc of type MATMAS01 in WE19, but MATMAS05 failed. In fact I used same data ( different material number), and same inbound function, but got different result.
    What is different between MATMAS01 and MATMAS05? Is there some configuation need for MATMAS05?
    My system is ECC5.0. Thanks.

    Hi, nagaraj
    this is inbound IDoc, not outbound IDoc, so we can't assign Basic type in WE20, only can assign Message type.
    In WE82, there are 5 records about Messagetype MATMAS:
         Message type   Basic type     Release
          MATMAS         MATMAS01        30A
          MATMAS         MATMAS02        30D
          MATMAS         MATMAS03        40A
          MATMAS         MATMAS04        46C
          MATMAS         MATMAS05        470
       I think it should be ok.
    In WE57, there 2 records are exist:
       FM_name                 BasicType       MessageType
      IDOC_INPUT_MATMAS01       MATMAS01         MATMAS
      IDOC_INPUT_MATMAS01       MATMAS05         MATMAS
    so I think all configurations should be ok.
    Message was edited by:
            liu bin

  • ERROR IN CREATING PO USING BAPI

    Hi friends,
            My  requirement is to create po using BAPI but i am getting error message .i have entered all the fields but still i am getting This errors.
    E BAPI 001 No instance of object type Purchase Order has been created. External reference:
    E MEPO 000 Purchase order still contains faulty items
    E ME 645 Subcontracting as stock transfer within a company code not possible
    I ME 123 Supplying and receiving plants identical (Please check)
    please help.
    thanks in advance.
    Moderator message: please read message long texts, speak to a functional expert (these are not ABAP related errors), do more research before asking, do not use all capitals in the title.
    Edited by: Thomas Zloch on Nov 30, 2011 1:06 PM

    Hi
    It seems you're creating a transfer order and an item is set for subcontracting, that's not possible, so check the item type
    Max

  • Creating PDF using BAPI

    Hi,
    I am trying to create PDF using BAPI. I got one BAPI(Z_MM_EPSP_BAPI_GET_PO_PDF). That bapi returns bytecodes. How can I generate PDF file using this BAPI output in BLS. Give some example
    Thanks & Regards
    Art

    Art,
    Are you familiar with xMII at all? I would like to answer your question but it seems more like a tutoring lesson rather than a technical problem.
    Please post a problem and not how somone can help you do your work. Unless of course you are willing to paypal some money over. :-D

  • Account assignment while creating reservation using bapi

    Hi , I am creating reservation using BAPI  (BAPI_RESERVATION_CREATE1), but when I seeing the open reservation account assignment field is blank, could any on ehelp me on this, i.e what parameter I am missing in BAPI for account assignment.
    best regards
    pankaj

    Hi,
    there is not field to assign the account assignment in Bapi..
    you need to assignt he account manaually.
    Assign account assignment category.
        SELECT * FROM eban INTO TABLE lt_eban WHERE banfn = w_banfn .
        IF sy-subrc = 0.                                     
          LOOP AT lt_eban .                 
            lt_eban-knttp = 'J'.    "assign your own account categeory
            MODIFY eban FROM lt_eban.
            COMMIT WORK AND WAIT.                            
          ENDLOOP.
    endif.
    Regards,
    Prabhudas

  • Problem while creating assets using BAPI

    Use table enhancement BAPI_TE_ANLU
    Diagnosis :The BAPIs for creating and changing assets currently support only those customer enhancements that relate to the user fields created using SAP enhancement AIST0002.
    Can anybody give the appropriate solution why this error is coming while creating assets using BAPI.

    Looks like you are trying to transfer custom fields into the asset master data that were not added following the steps in enhancement AIST0002.
    Using EXTENSIONIN parameter, you can transfer user fields from the asset master record. However, it is not possible to transfer fields that are updated in user-defined tables. Only user fields that were defined using SAP enhancement AIST0002 and are automatically updated in table ANLU can be udpated in this way. This means you have to use table extension BAPI_TE_ANLU.
    Enhancement AIST0002 contains function module EXIT_SAPL1022_001 as a component in which user fields can be implemented.
    The documentation ( BAPIPAREX) of the structure that forms the basis for this parameter contains additional information about using this parameter.
    Please check how table ANLU has been enhanced and also go through the documentation of enhancement AIST0002.
    Regards,
    Shyam

  • To create a Material using BAPI with out passing the material number

    Hello Experts,
    I am using BAPI_MATERIAL_SAVEDATA to create a material of some Ztype. I am successfully creating a material if I am passing Material Number as input. I want the material number to generated internally.
    When I am doing material creation with same input data with out material number using BDC, it is working fine. It is generating the material number.
    But, not with the BAPI.
    Do, I need to specify this some where in the BAPI to generate the Material number internally? Please let me know.
    Please help me in this regard.
    Thanks & Regards,
    Naresh.

    Hi,
    Read the BAPI documentation regarding Internal Number range for materials.
    When you create material master data, the following fields must always
    contain a value in the structure:
    o   MATERIAL
        Only external number assignment is supported for the material number
        (MATERIAL). If you want the material number to be assigned
        internally, the method BAPI_MATERIAL_GETINTNUMBER must first be
        called. This method determines an internal number for the material
        to be created. You must enter this internal number in field
        HEADDATA-MATERIAL.
    Regards
    Vinod

  • How to create material using BAPI_material_savedata.

    hi,
    i try to create the material by using a bapi BAPI_MATERIAL_SAVEDATA , every thing i s going good material is created but only the MFRPN (manufacrurer part number ) is not updated.
    thanks in advance.

    Hi Ritesh,
    Plz check out this link;
    [Creation of BAPI using BAPI_material_savedata|https://wiki.sdn.sap.com/wiki/display/Snippets/Tutorial%2CMM01UploadusingBAPI]
    But plz check the mandatory fields to be passed to the BAPI.
    with regards,
    Mamta
    Edited by: Mamta Kumari on Aug 20, 2009 3:14 PM

  • Create material using bapi_material_savedata

    Hi.
    I'm having prob with creation of material using bapi_material_savedata. When creating new material we use internal numbering so I use first bapi_material_getintnumber'. the number from that bapi is what i used in bapi_material_savedata. However, I getting an error that says 'matnr <from bapi>does not exists', why is this so? do i need to put the commit after the bapi_material_getintnumber and before calling the bapi_material_savedata?
    Please help.
    thnx.

    hi
    good
    go through this example and use accordingly
    REPORT ZBAPIMM01 LINE-SIZE 255 NO STANDARD PAGE HEADING
                     LINE-COUNT 065(001).
    TABLES: T001L, "Storage Locations
            MARA,  "General Material Data
            MAKT,  "Material Descriptions
            MBEW,  "Material Valuation
            MARC.  "Plant Data for Material
    DATA: BAPI_HEAD   LIKE BAPIMATHEAD,
          BAPI_MAKT   LIKE BAPI_MAKT,    "Material Description
          BAPI_MARA1  LIKE BAPI_MARA,    "Client Data
          BAPI_MARAX  LIKE BAPI_MARAX,
          BAPI_MARC1  LIKE BAPI_MARC,    "Plant View
          BAPI_MARCX  LIKE BAPI_MARCX,
          BAPI_MBEW1  LIKE BAPI_MBEW,    "Accounting View
          BAPI_MBEWX  LIKE BAPI_MBEWX,
          BAPI_RETURN LIKE BAPIRET2.
    DATA: BEGIN OF INT_MAKT OCCURS 100.
            INCLUDE STRUCTURE BAPI_MAKT.
    DATA: END OF INT_MAKT.
    DATA: BEGIN OF INT_MAT OCCURS 100,
             WERKS(4),     "Plant
             MTART(4),     "Material type
             MATNR(18),    "Material number
             MATKL(9) ,    "Material group
             MBRSH(1),     "Industry sector
             MEINS(3),     "Base unit of measure
             GEWEI(3),     "Weight Unit
             SPART(2),     "Division
             EKGRP(3),     "Purchasing group
             VPRSV(1),     "Price control indicator
             STPRS(12),    "Standard price
             PEINH(3),     "Price unit
             SPRAS(2),     "Language key
             MAKTX(40),     "Material description
           END OF INT_MAT.
    SELECT-OPTIONS:
                PLANT    FOR  MARC-WERKS OBLIGATORY MEMORY ID PLT,
                MATERIAL FOR  MARA-MATNR MEMORY ID MAT,
                MATLTYPE FOR  MARA-MTART MEMORY ID MTY,
                DIVISION FOR  MARA-SPART MEMORY ID DIV.
    PARAMETERS:  F_FILE LIKE RLGRAP-FILENAME
                 DEFAULT 'C:\DATA\ZMATERIAL.XLS' MEMORY ID F_FILE,
                 GETDATA AS CHECKBOX, "Tick to download materials data to local harddisk
                 UPDDATA AS CHECKBOX. "Tick to update date to Materials Master
    IF GETDATA = 'X'.
       PERFORM DOWNLOAD_DATA.
       PERFORM DOWNLOAD_FILE.
    ENDIF.
    IF UPDDATA = 'X'.
       PERFORM UPLOAD_FILE.
       PERFORM UPDATE_MM.
    ENDIF.
    FORM DOWNLOAD_DATA.
    SELECT * FROM MARC  WHERE LVORM EQ ' '
                          AND WERKS IN PLANT
                          AND MATNR IN MATERIAL.
        CLEAR MARA.
        SELECT SINGLE * FROM MARA WHERE MATNR =  MARC-MATNR.
        CHECK MATLTYPE.
        CHECK DIVISION.
        CLEAR MBEW.
        SELECT SINGLE * FROM MBEW WHERE MATNR =  MARC-MATNR
                                    AND BWKEY =  MARC-WERKS.
        CLEAR MAKT.
        SELECT SINGLE * FROM MAKT WHERE SPRAS =  'EN'
                                    AND MATNR =  MARC-MATNR.
        WRITE:/ MARC-WERKS,    "Plant
                MARA-MTART,    "Material type
                MARA-MATNR,    "Material number
                MARA-MATKL,    "Material group
                MARA-MBRSH,    "Industry sector
                MARA-MEINS,    "Base unit of measure
                MARA-GEWEI,    "Weight Unit
                MARA-SPART,    "Division
                MARC-EKGRP,    "Purchasing group
                MBEW-VPRSV,    "Price control indicator
                MBEW-STPRS,    "Standard price
                MBEW-PEINH,    "Price unit
                MAKT-SPRAS,    "Language key
                MAKT-MAKTX.    "Material description
                INT_MAT-WERKS = MARC-WERKS.    "Plant
                INT_MAT-MTART = MARA-MTART.    "Material type
                INT_MAT-MATNR = MARA-MATNR.    "Material number
                INT_MAT-MATKL = MARA-MATKL.    "Material group
                INT_MAT-MBRSH = MARA-MBRSH.    "Industry sector
                INT_MAT-MEINS = MARA-MEINS.    "Base unit of measure
                INT_MAT-GEWEI = MARA-GEWEI.    "Weight Unit
                INT_MAT-SPART = MARA-SPART.    "Division
                INT_MAT-EKGRP = MARC-EKGRP.    "Purchasing group
                INT_MAT-VPRSV = MBEW-VPRSV.    "Price control indicator
                INT_MAT-STPRS = MBEW-STPRS.    "Standard price
                INT_MAT-PEINH = MBEW-PEINH.    "Price unit
                INT_MAT-SPRAS = MAKT-SPRAS.    "Language key
                INT_MAT-MAKTX = MAKT-MAKTX.    "Material description
                APPEND INT_MAT.
                CLEAR  INT_MAT.
    ENDSELECT.
    ENDFORM.
    FORM DOWNLOAD_FILE.
    call function 'WS_DOWNLOAD'
      EXPORTING
        FILENAME                      = F_FILE
        FILETYPE                      = 'DAT'
      FILETYPE                      = 'WK1'
      tables
        data_tab                      = INT_MAT
      EXCEPTIONS
        FILE_OPEN_ERROR               = 1
        FILE_WRITE_ERROR              = 2
        INVALID_FILESIZE              = 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.
       FORMAT COLOR COL_GROUP.
       WRITE:/ 'Data Download Successfully to your local harddisk'.
       SKIP.
    ENDIF.
    ENDFORM.
    FORM UPLOAD_FILE.
    call function 'WS_UPLOAD'
      EXPORTING
        FILENAME                      = F_FILE
        FILETYPE                      = 'DAT'
      FILETYPE                      = 'WK1'
      tables
        data_tab                      = INT_MAT
      EXCEPTIONS
        FILE_OPEN_ERROR               = 1
        FILE_WRITE_ERROR              = 2
        INVALID_FILESIZE              = 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.
       FORMAT COLOR COL_GROUP.
       WRITE:/ 'Data Upload Successfully from your local harddisk'.
       SKIP.
    ENDIF.
    ENDFORM.
    FORM UPDATE_MM.
    LOOP AT INT_MAT.
    Header
        BAPI_HEAD-MATERIAL        = INT_MAT-MATNR.
        BAPI_HEAD-IND_SECTOR      = INT_MAT-MBRSH.
        BAPI_HEAD-MATL_TYPE       = INT_MAT-MTART.
        BAPI_HEAD-BASIC_VIEW      = 'X'.
        BAPI_HEAD-PURCHASE_VIEW   = 'X'.
        BAPI_HEAD-ACCOUNT_VIEW    = 'X'.
    Material Description
        REFRESH INT_MAKT.
        INT_MAKT-LANGU           = INT_MAT-SPRAS.
        INT_MAKT-MATL_DESC       = INT_MAT-MAKTX.
        APPEND INT_MAKT.
    Client Data - Basic
        BAPI_MARA1-MATL_GROUP     = INT_MAT-MATKL.
        BAPI_MARA1-BASE_UOM       = INT_MAT-MEINS.
        BAPI_MARA1-UNIT_OF_WT     = INT_MAT-GEWEI.
        BAPI_MARA1-DIVISION       = INT_MAT-SPART.
        BAPI_MARAX-MATL_GROUP = 'X'.
        BAPI_MARAX-BASE_UOM   = 'X'.
        BAPI_MARAX-UNIT_OF_WT = 'X'.
        BAPI_MARAX-DIVISION   = 'X'.
    Plant - Purchasing
        BAPI_MARC1-PLANT      = INT_MAT-WERKS.
        BAPI_MARC1-PUR_GROUP  = INT_MAT-EKGRP.
        BAPI_MARCX-PLANT      = INT_MAT-WERKS.
        BAPI_MARCX-PUR_GROUP  = 'X'.
    Accounting
        BAPI_MBEW1-VAL_AREA   = INT_MAT-WERKS.
        BAPI_MBEW1-PRICE_CTRL = INT_MAT-VPRSV.
        BAPI_MBEW1-STD_PRICE  = INT_MAT-STPRS.
        BAPI_MBEW1-PRICE_UNIT = INT_MAT-PEINH.
        BAPI_MBEWX-VAL_AREA   = INT_MAT-WERKS.
        BAPI_MBEWX-PRICE_CTRL = 'X'.
        BAPI_MBEWX-STD_PRICE  = 'X'.
        BAPI_MBEWX-PRICE_UNIT = 'X'.
        WRITE:/ BAPI_HEAD, BAPI_MARC1.
        call function 'BAPI_MATERIAL_SAVEDATA'
          exporting
            HEADDATA                   = BAPI_HEAD
            CLIENTDATA                 = BAPI_MARA1
            CLIENTDATAX                = BAPI_MARAX
            PLANTDATA                  = BAPI_MARC1
            PLANTDATAX                 = BAPI_MARCX
          FORECASTPARAMETERS         =
          FORECASTPARAMETERSX        =
          PLANNINGDATA               =
          PLANNINGDATAX              =
          STORAGELOCATIONDATA        =
          STORAGELOCATIONDATAX       =
            VALUATIONDATA              = BAPI_MBEW1
            VALUATIONDATAX             = BAPI_MBEWX
          WAREHOUSENUMBERDATA        =
          WAREHOUSENUMBERDATAX       =
          SALESDATA                  = BAPI_MVKE1
          SALESDATAX                 = BAPI_MVKEX
          STORAGETYPEDATA            =
          STORAGETYPEDATAX           =
          IMPORTING
            RETURN                     = BAPI_RETURN
          TABLES
            MATERIALDESCRIPTION        = INT_MAKT
          UNITSOFMEASURE             =
          UNITSOFMEASUREX            =
          INTERNATIONALARTNOS        =
          MATERIALLONGTEXT           =
          TAXCLASSIFICATIONS         =
          RETURNMESSAGES             =
          PRTDATA                    =
          PRTDATAX                   =
          EXTENSIONIN                =
          EXTENSIONINX               =
    IF BAPI_RETURN-TYPE = 'E'.
       WRITE:/ 'Error Message ', BAPI_RETURN.
    ENDIF.
    ENDLOOP.
    ENDFORM.
    *---End of Program
    thanks
    mrutyun^

  • Fasing some problem in Material using BAPI..?

    Hi... Guru's..
    thanks in advance and will give full points...
    I am creating material master using the BAPI and the data is in presentation server....
    this is is the error message i am getting while control ebterinng into CALL BAPI(FM)....
    Key fields for use data PLANTDATA and checkbox structure PLANTDATAX are different
    please look into the program and and let me know if any chenges required...
    i am able get the data from presentation layer and i am able to move field values from internal table to BAPI fields and values are populating properly....
    while entering control into BAPI ..i am getting the above error..(error message ....i found in debugging mode...)
    TYPE      :  E
    ID            : MM
    NUMBER : 360
    MESSAG :Key fields for use data PLANTDATA and checkbox structure PLANTDATAX are different
    LOG_NO                                       
    LOG_MSG_NO : 000000
    MESSAGE_V1 : PLANTDATA
    MESSAGE_V2 : PLANTDATAX
    MESSAGE_V3                                       
    MESSAGE_V4                                       
    PARAMETER                                       
    ROW                                             0
    FIELD                                       
    SYSTEM                                             
    Program logic:
    DATA:gs_bapimathead          TYPE bapimathead,
         gs_clientdata           TYPE bapi_mara,
         gs_clientdatax          TYPE bapi_marax,
         gs_plantdata            TYPE bapi_marc,
         gs_plantdatax           TYPE bapi_marcx,
         gs_forecastparameters   TYPE bapi_mpop,
         gs_forecastparametersx  TYPE bapi_mpopx,
         gs_valuationdata        TYPE bapi_mbew,
         gs_valuationdatax       TYPE bapi_mbewx,
         gs_salesdata            TYPE bapi_mvke,
         gs_salesdatax           TYPE bapi_mvkex,
         gs_storagelocationdata  TYPE bapi_mard,
         gs_storagelocationdatax TYPE bapi_mardx,
         gt_materialdescription  TYPE STANDARD TABLE OF bapi_makt,
         gwa_materialdescription TYPE bapi_makt,
         gt_taxclassifications   TYPE STANDARD TABLE OF bapi_mlan,
         gwa_taxclassifications  TYPE bapi_mlan,
         gt_prtdata              TYPE STANDARD TABLE OF bapi_mfhm,
         gwa_prtdata             TYPE bapi_mfhm,
         gt_prtdatax             TYPE STANDARD TABLE OF bapi_mfhmx,
         gwa_prtdatax            TYPE bapi_mfhmx,
         gt_unitsofmeasure       TYPE STANDARD TABLE OF bapi_marm,
         gwa_unitsofmeasure      TYPE bapi_marm,
         gt_unitsofmeasurex      TYPE STANDARD TABLE OF bapi_marmx,
         gwa_unitsofmeasurex     TYPE bapi_marmx,
         gs_return               TYPE bapiret2.
    TYPES:BEGIN OF gty_itab1,
             matnr(18),
             mbrsh(1),
             mtart(4),
             werks(4),
             lgort(4),
             vkorg(4),
             vtweg(2),
             maktx(40),
             meins(3),
             matkl(9),
             spart(2),
             brgew(13),
             ntgew(13),
             gewei(3),
             dwerk(4),
             taxkm(1),
             kondm(2),
             ktgrm(2),
             mtpos(4),
             tragr(4),
             ladgr(4),
             disgr(4),
             dismm(2),
             dispo(3),
             beskz(1),
             mtvfp(2),
             prmod(1),
             planv(3),
             bklas(4),
             vprsv(1),
             peinh(5),
             stprs(11),
          END OF gty_itab1.
    DATA:gt_itab1 TYPE STANDARD TABLE OF gty_itab1,
         gwa_itab1 TYPE gty_itab1.
    TYPES:BEGIN OF gty_itab2,
          abc(1000),
    END OF gty_itab2.
    DATA:gt_itab2 TYPE STANDARD TABLE OF gty_itab2,
         gwa_itab2 TYPE gty_itab2.
    PARAMETERS:p_files TYPE string.
    START-OF-SELECTION.
      CALL METHOD cl_gui_frontend_services=>gui_upload
        EXPORTING
          filename = p_files
          filetype = 'ASC'
        CHANGING
          data_tab = gt_itab2
        EXCEPTIONS
          OTHERS   = 8.
      LOOP AT gt_itab2 INTO gwa_itab2.
        gwa_itab1 = gwa_itab2-abc(1000).
        APPEND gwa_itab1 TO gt_itab1.
      ENDLOOP.
      LOOP AT gt_itab1 INTO gwa_itab1.
        gs_bapimathead-material                      = gwa_itab1-matnr.
        gs_bapimathead-ind_sector                    = gwa_itab1-mbrsh.
        gs_bapimathead-matl_type                     = gwa_itab1-mtart.
        gs_plantdata-plant                           = gwa_itab1-werks.
        gs_plantdatax-plant                          = 'X'.
        gs_salesdata-sales_org                       = gwa_itab1-vkorg.
        gs_salesdatax-sales_org                      = 'X'.
        gs_salesdata-distr_chan                      = gwa_itab1-vtweg.
        gs_salesdatax-distr_chan                     = 'X'.
        gs_salesdata-mat_pr_grp                      = gwa_itab1-kondm.
        gs_salesdatax-mat_pr_grp                     = 'X'.
        gs_salesdata-acct_assgt                      = gwa_itab1-ktgrm.
        gs_salesdatax-acct_assgt                     = 'X'.
        gs_salesdata-delyg_plnt                      = gwa_itab1-dwerk.
        gs_salesdatax-delyg_plnt                     = 'X'.
        gs_clientdata-base_uom                       = gwa_itab1-meins.
        gs_clientdatax-base_uom                      = 'X'.
        gs_clientdata-trans_grp                      = gwa_itab1-tragr.
        gs_clientdatax-trans_grp                     = 'X'.
        gs_clientdata-matl_group                     = gwa_itab1-matkl.
        gs_clientdatax-matl_group                    = 'X'.
        gs_clientdata-division                       = gwa_itab1-spart.
        gs_clientdatax-division                      = 'X'.
        gs_clientdata-net_weight                     = gwa_itab1-ntgew.
        gs_clientdatax-net_weight                    = 'X'.
        gs_clientdata-unit_of_wt                     = gwa_itab1-gewei.
        gs_clientdatax-unit_of_wt                    = 'X'.
        gs_plantdata-loadinggrp                      = gwa_itab1-ladgr.
        gs_plantdatax-loadinggrp                     = 'X'.
        gs_plantdata-mrp_type                        = gwa_itab1-dismm.
        gs_plantdatax-mrp_type                       = 'X'.
        gs_plantdata-availcheck                      = gwa_itab1-mtvfp.
        gs_plantdatax-availcheck                     = 'X'.
        gs_plantdata-mrp_group                       = gwa_itab1-disgr.
        gs_plantdatax-mrp_group                      = 'X'.
        gs_plantdata-mrp_ctrler                      = gwa_itab1-dispo.
        gs_plantdatax-mrp_ctrler                     = 'X'.
        gs_plantdata-proc_type                       = gwa_itab1-beskz.
        gs_plantdatax-proc_type                      = 'X'.
        gs_forecastparameters-fore_model             = gwa_itab1-prmod.
        gs_forecastparametersx-fore_model            = 'X'.
        gs_valuationdata-val_class                   = gwa_itab1-bklas.
        gs_valuationdatax-val_class                  = 'X'.
        gs_valuationdata-std_price                   = gwa_itab1-stprs.
        gs_valuationdatax-std_price                  = 'X'.
        gs_valuationdata-price_ctrl                  = gwa_itab1-vprsv.
        gs_valuationdatax-price_ctrl                 = 'X'.
        gs_valuationdata-price_unit                  = gwa_itab1-peinh.
        gs_valuationdatax-price_unit                 = 'X'.
        gs_storagelocationdata-stge_loc              = gwa_itab1-lgort.
        gs_storagelocationdatax-stge_loc             = 'X'.
        gwa_materialdescription-langu                = 'E'.
        gwa_materialdescription-matl_desc            = gwa_itab1-maktx.
        gwa_taxclassifications-taxclass_1            = gwa_itab1-taxkm.
        gwa_prtdata-prt_usage                        = gwa_itab1-planv.
        gwa_prtdatax-prt_usage                       = 'X'.
        gwa_unitsofmeasure-gross_wt                  = gwa_itab1-brgew.
        gwa_unitsofmeasurex-gross_wt                  = 'X'.
        APPEND gwa_materialdescription    TO gt_materialdescription.
        APPEND gwa_taxclassifications     TO gt_taxclassifications.
        APPEND gwa_prtdata                TO gt_prtdata.
        APPEND gwa_prtdatax               TO gt_prtdatax.
        APPEND gwa_unitsofmeasure         TO gt_unitsofmeasure.
        APPEND gwa_unitsofmeasurex        TO gt_unitsofmeasurex.
        CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
          EXPORTING
            headdata            = gs_bapimathead
            clientdata          = gs_clientdata
            clientdatax         = gs_clientdatax
            plantdata           = gs_plantdata
            plantdatax          = gs_plantdatax
            forecastparameters  = gs_forecastparameters
            forecastparametersx = gs_forecastparametersx
            valuationdata       = gs_valuationdata
            valuationdatax      = gs_valuationdatax
            salesdata           = gs_salesdata
            salesdatax          = gs_salesdatax
          IMPORTING
            return              = gs_return
          TABLES
            materialdescription = gt_materialdescription
            unitsofmeasure      = gt_unitsofmeasure
            unitsofmeasurex     = gt_unitsofmeasurex
            taxclassifications  = gt_taxclassifications
            prtdata             = gt_prtdata
            prtdatax            = gt_prtdatax.
    Check the return table.
        IF sy-subrc NE 0.
          CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
          WRITE: / 'Error occured while creating material'.
        ELSE.
          CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
          WRITE: / 'material',gwa_itab1-matnr,'created'.
        ENDIF.
      ENDLOOP.

    Hello,
    Unfortunately SAP does not support any BAPI's to change customer/vendor master data.
    The BAPI's were developed from different applications and were designed for their special needs.
    You can see the existing BAPIs via tranx BAPI.
    Please have a look at the SAP notes 390045 and 384462 which should
    explain the proceeding. If you want to use Batch Input, please also have a look at SAP note 306275.
    Another possibility is to use Trx XD99, object KNA1, Trx XK99, object LFA1.
    Regards,
    David

Maybe you are looking for

  • How to uncheck many music pieces at once?

    Is there any way to uncheck music pieces automatically, instead of manually one by one (which I find silly). All I see in iTunes' menu is SELECT ALL, SELECT NONE which has nothing to do with the check mark. I often have to check a lot of them and the

  • Can anyone from the flex community answer this question?

    Hello, Does anyone know if its possible to load a AS2 swf into a AS3 swf, and then have that AS2 swf load other AS2 swfs onto different levels (e.g. _level1, _level2, ect...). I'm trying to include a preexisting AS2 swf that manages the loading of se

  • Metapedia import error

    Hello there, We are using Information steward version 4.2. We exported an existing metapedia into an xls file.We added some new categories and terms in the same xls file.When we import this file again using "Import Metapedia from MS excel file" , we

  • Oracle10g installation

    hai...! I am new to oracle.When installing oracle10gR2 on Linux AS4 i am getting following error..... Preparing to launch Oracle Universal Installer from /tmp/OraInstall2008-03-06_03-28-01PM. Please wait ...[oracle@linux40 database]$ Xlib: connection

  • Firming of order proposals

    Hi, I learnt from the books that the order proposals falling within the PTF are firmed and no automatic changes are done during the planning run. There are 4 firming types. Can you explain from the end user point of view what is firming and how do we