Material Master BAPI

Hi,
  I am using BAPI, BAPI_MATERIAL_SAVEDATA for the creation of material which is working fine. Now i want to add few fields which are not part of the import/tables.
  Can anyone know what is the procedure for adding the new fields for the existing structures
Regards,
vamshi

Hi ,
For Custom Fields Updation,
suppose you are updating MARC table
We need to create 2 structures like BAPI_TE_MARC,BAPI_TE_MARCX
In Extension table Parameter we Have to Pass Structure name BAPI_TE_MARC, in VALUEPART1 we have to pass string like MATNR has length of 18, plant has length of 4 characters, Custom field has length of 10 characters
str+0(18) = material number
str+18(4) = Plant
str+22(10) = your custom field
In ExtensionX table parameter we have to pass structure BAPI_TE_MARCX.
Thanks
Ramesh

Similar Messages

  • Issue in material master update from presentation server  using BAPI....

    Hi Guru's...
    i am trying to change the material master from presentation server (desktop flat file)
    using BAPI(BAPI_MATERIAL_SAVEDATA) ....
    while executing my program i am getting the message like material had changed...
    but while in mm02 i am un able to fine the updates...
    please find below program logic and correct me if any mistakes....
    thanks in advance...
    *& Report  ZAREPAS36
    REPORT  zarepas36.
    DATA : gs_bapimathead             TYPE  bapimathead,
           gs_clientdata              TYPE  bapi_mara,
           gs_clientdatax             TYPE  bapi_marax.
    TYPES : BEGIN OF gty_itab1,
            matnr(18),
            matkl(9),
            spart(2),
            ntgew(13),
            gewei(3),
            meins(3),
            END OF gty_itab1.
    DATA : gt_itab1 TYPE STANDARD TABLE OF gty_itab1,
           gwa_itab1 TYPE gty_itab1.
    TYPES: BEGIN OF gty_itab2,
           abc(132),
           END OF gty_itab2.
    DATA: gt_itab2 TYPE STANDARD TABLE OF gty_itab2,
          gwa_itab2 TYPE gty_itab2.
    flat file at selection screen
    PARAMETERS: p_files TYPE string.
    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.
      IF gwa_itab2-abc(1) = 'S'.
        gwa_itab1 = gwa_itab2-abc(132).
        APPEND gwa_itab1 TO gt_itab1.
      ENDIF.
    ENDLOOP.
    loop at gt_itab1 into gwa_itab1.
    *Material
    gs_bapimathead-material    = gwa_itab1-matnr.
    *Material details at client data
    *material group.
    gs_clientdata-matl_group = gwa_itab1-matkl.
    gs_clientdatax-matl_group = 'X'.
    *Division
    gs_clientdata-division = gwa_itab1-spart.
    gs_clientdatax-division = 'X'.
    *Net Weight
    gs_clientdata-net_weight = gwa_itab1-ntgew.
    gs_clientdatax-net_weight = 'X'.
    *Unit of Weight
    gs_clientdata-unit_of_wt = gwa_itab1-gewei.
    gs_clientdatax-unit_of_wt = 'X'.
    *Base Unit of Measure
    gs_clientdata-base_uom = gwa_itab1-meins.
    gs_clientdatax-base_uom = 'X'.
    endloop.
    *calling BAPI for making changes in material and saving thru BAPI.
    CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
      EXPORTING
        headdata    = gs_bapimathead
        clientdata  = gs_clientdata
        clientdatax = gs_clientdatax.
    IF sy-subrc NE 0.
      CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
      WRITE: / 'Error occured while changing material'.
    ELSE.
      CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
      WRITE: / 'material',gs_bapimathead-material,'changed'.
    ENDIF.

    hi hello Guru's
    i resolved the issuee..
    pleaso go thru the below proram logic for your reference..........
    *& Report  ZAREPAS36
    REPORT  zarepas36.
    DATA : gs_bapimathead             TYPE  bapimathead,
           gs_clientdata              TYPE  bapi_mara,
           gs_clientdatax             TYPE  bapi_marax.
    TYPES : BEGIN OF gty_itab1,
            matnr(18),
            matkl(9),
            spart(2),
            ntgew(13),
            gewei(3),
            meins(3),
            END OF gty_itab1.
    DATA : gt_itab1 TYPE STANDARD TABLE OF gty_itab1,
           gwa_itab1 TYPE gty_itab1.
    TYPES: BEGIN OF gty_itab2,
           abc(132),
           END OF gty_itab2.
    DATA: gt_itab2 TYPE STANDARD TABLE OF gty_itab2,
          gwa_itab2 TYPE gty_itab2.
    DATA:ls_return         TYPE bapiret2,
         lt_bapiret2       TYPE standard table of bapiret2.
    flat file at selection screen
    PARAMETERS: p_files TYPE string.
    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.
      IF gwa_itab2-abc(1) = 'S'.
        gwa_itab1 = gwa_itab2-abc(132).
        APPEND gwa_itab1 TO gt_itab1.
      ENDIF.
    ENDLOOP.
    LOOP AT gt_itab1 INTO gwa_itab1.
    *Material
      gs_bapimathead-material    = gwa_itab1-matnr.
    *Material details at client data
    *material group.
      gs_clientdata-matl_group = gwa_itab1-matkl.
      gs_clientdatax-matl_group = 'X'.
    *Division
      gs_clientdata-division = gwa_itab1-spart.
      gs_clientdatax-division = 'X'.
    *Net Weight
      gs_clientdata-net_weight = gwa_itab1-ntgew.
      gs_clientdatax-net_weight = 'X'.
    *Unit of Weight
      gs_clientdata-unit_of_wt = gwa_itab1-gewei.
      gs_clientdatax-unit_of_wt = 'X'.
    *Base Unit of Measure
      gs_clientdata-base_uom = gwa_itab1-meins.
      gs_clientdatax-base_uom = 'X'.
    ENDLOOP.
    *calling BAPI for making changes in material and saving thru BAPI.
    CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
      EXPORTING
        headdata    = gs_bapimathead
        clientdata  = gs_clientdata
        clientdatax = gs_clientdatax
      IMPORTING
        return      = ls_return.
    LOOP AT lt_bapiret2 INTO ls_return.
      EXIT.
    ENDLOOP.
    IF sy-subrc = 0.
      CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
      WRITE: / 'Error occured while changing material'.
    ELSE.
      CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
      WRITE: / 'material',gs_bapimathead-material,'changed'.
    ENDIF.

  • Material Master Update through BAPI - Follow up material not updated

    Hi Experts,
    I am updating the material master through a custom transaction using the BAPI  'BAPI_MATERIAL_SAVEDATA'. Rest of the fields are updating correctly except for discontinuation ind., effective out date & follow-up material.
    When I try to update it through MM02 it is working fine. However, when I pass the same data through BAPI it is throwing an error message that 'the material XXXXXX does not exist or is not activated'.
    Please advice.
    Thanks & Regards,
    Ashu Arora

    Some more fields need to be updated along with the discont. indicator. Now working fine.

  • Material Master Upload using Bapi getting error "****** not a valid unit of

    Hi Gurus,
    i am uploading material master using BAPI Material_master_save_data , where the volume and Unit of Volume is Blank, Still i am getting error as "****** not a valid unit of volume ".kindly help me to resolve the issue.Many Thanks In advance.

    Jurgen,
    I could able to solve the issue for invalid unit Error ....Now i am getting **** unit of measure is not defined , pls check your entry or else i am getting alternate unit of mesure is same as base unit of measure .
    I have used below logic for Purchase Order Unit and Base Unit of measure .
          if wa_upload-unmsr EQ wa_upload-ord_uom .
            bapi_mara1-base_uom = wa_upload-unmsr.
            bapi_mara1-po_unit = wa_upload-ord_uom .
          elseif wa_upload-unmsr NE wa_upload-ord_uom.
            wa_upload-ord_uom = wa_upload-alt_uom.
            bapi_mara1-po_unit = wa_upload-ord_uom.
          endif.
    Many Thanks for your help.

  • Problem with BAPI of Material Master creation

    Hi,
    I am creating material master(mm01) through BAPI_MATERIAL_SAVEDATA.
    Program is working fine but when i m checking in MM03 to display uploaded data through BAPI, i cant able to see material which i created to through BAPI but i can see in MARA table.
    i dont know wht is the problem ?
    can anybody let me know abt this ?

    then u are not committing the work.
    flow will be like this
    call ' BAPI'
    if return[] is initial.
    commit work.
    else.
    endif.
    Regards
    peram

  • Material master upload using BAPI...

    Helo SDNers,
    I am trying to upload material master using BAPI.
    data :  begin of t_mat occurs 0,
            material type matnr,             " Material - MATNR
            ind_sec type mbrsh,              " Industry sector  - MBRSH
            mat_typ type mtart,              " Material type - MTART
            plant type werks_d,              " plant - WERKS_D
            stge_loc type lgort_d,           " Storage location - LGORT_D
            sales_org type vkorg,            " Sales org - VKORG
            distr_chan type vtweg,           " Distribution channel - VTWEG
            mat_desc type maktx,             " Material description - MAKTX
            base_uom type meins,             " Base unit of measurement- MEINS
            mat_grp type matkl,              " material group - MATKL
            division type spart,             " Division - SPART
            gen_itmcatmgrp type MTPOS,       " General item category group -MTPOS_MARA
            gros_weight type BRGEW,          " Gross weight - BRGEW
            net_weight type NTGEW,          " Net weight - NTGEW
            mat_grppack type MAGRV,          " Material group pack - MAGRV
            delv_plant type DWERK_EXT,       " Delivery plant
            tax_clasif type TAXKM,           " Tax classification
            item_catgrp type MTPOS,          " Item category group
            aval_check type MTVFP,           " Availability check
            trans_grp type TRAGR,            " Transportation group
            load_grp type LADGR,             " Loading group
            pur_grp type EKGRP,              " Purchasing grp,
            mrp_type type DISMM,             " MRP type
            mrp_contr type DISPO,            " MRP Controller
            lot_size type DISLS,             " Lot size,
            gr_processing type WEBAZ,        " GR Processing time
            schdmargin_key type FHORI,       " Schedule margin key
            batch_mangment type XCHPF,       " Batch management
            strog_cond type RAUBE,           " Storage condition
            source_list type KORDB,          " Source list
            mrp_grp type DISGR,              " MRP group
            reorder_point type MINBE,        " Reorder point
            procurement_type type BESKZ,     " Procurement type
            sp_procurement_type type SOBSL,  " Special  Procurement type
            inhouse_prod type DZEIT,                    " Inhouse production
            safety_stock type EISBE,         " Safety stock
            strategy_group type STRGR,       " Strategy group
            availabilty_grp type MTVFP,      " Availability group
            batch_entry type KZECH ,         " Batch entry
            valuation_class type BKLAS,      " Valuation class
            price_control type VPRSV,        " Price control
            moving_price type VERPR,         " Moving price
            standard_price type STPRS,       " Standard price - STPRS
            langu(2),                        " Language
    end of t_mat.
    this is my internal table i have these many content in my excel file
    please explain me what the following code does .....
    move-corresponding wa to bapi_head.
    bapi_head-basic_view = 'X'.
    bapi_head-sales_view = 'X'.
    bapi_head-purchase_view = 'X'.
    bapi_head-mrp_view = 'X'.
    bapi_head-forecast_view = 'X'.
    bapi_head-work_sched_view = 'X'.
    bapi_head-prt_view = 'X'.
    bapi_head-storage_view = 'X'.
    bapi_head-warehouse_view = 'X'.
    bapi_head-quality_view = 'X'.
    bapi_head-account_view = 'X'.
    bapi_head-cost_view = 'X'.
    and also please help with an example how do i upload data from IT (my internal table) using BAPI.
    Regards,
    Ranjith N

    Hi ,
    First you upload your Excel data into Internal Table.
    Move all data to Respected BAPI Structures.
    and then call 'BAPI_MATERIAL_SAVEDATA' and pass all structures.
    Sample Code:
    CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
        EXPORTING
          filename                = p_fname
          i_begin_col             = v_c1
          i_begin_row             = l_v_r
          i_end_col               = v_cl
          i_end_row               = v_rl
        TABLES
          intern                  = i_excel
        EXCEPTIONS
          inconsistent_parameters = 1
          upload_ole              = 2
          OTHERS                  = 3.
      IF sy-subrc eq 0.
        LOOP AT i_excel.
          CASE i_excel-col.
            WHEN 0001.
              wa_final-field1 = i_excel-value.
            WHEN 0002.
              wa_final-field2 = i_excel-value.
            WHEN 0003.
              wa_final-field3 = i_excel-value.
            WHEN 0004.
              wa_final-field4 = i_excel-value.
            WHEN 0005.
              wa_final-field5 = i_excel-value.
            WHEN 0006.
              wa_final-field6 = i_excel-value.
            WHEN 0007.
              wa_final-field7 = i_excel-value.
            WHEN 0008.
              wa_final-field8 = i_excel-value.
            WHEN 0009.
              wa_final-field9 = i_excel-value.
            WHEN 0010.
              wa_final-field10 = i_excel-value.
            WHEN 0011.
              wa_final-field11 = i_excel-value.
            WHEN 0012.
              wa_final-field12 = i_excel-value.
            WHEN 0013.
              wa_final-field13 = i_excel-value.
            WHEN 0014.
              wa_final-field14 = i_excel-value.
            WHEN 0015.
              wa_final-field15 = i_excel-value.
            WHEN 0016.
              wa_final-field16 = i_excel-value.
          ENDCASE.
    *-at end of each row, a record needs to append the internal table
          AT END OF row.
            APPEND wa_final TO i_final.
            CLEAR: wa_final.
          ENDAT.
        ENDLOOP.
      ENDIF.
    Move all your Inatrnal tbale data to respected BAPI structures
    *&      Form  MOVE_HEADDATA
       * Move Header data to BAPI Header.
    FORM move_headdata .
    Move Header Data to BAPI Fields
      MOVE : wa_final-matnr      TO wa_mathead-material,
             wa_final-mbrsh      TO wa_mathead-ind_sector,
             wa_final-mtart      TO wa_mathead-matl_type.
    To get UOM
      SELECT SINGLE * FROM t006 INTO t006 WHERE msehi = wa_final-meins.
      MOVE: t006-isocode TO wa_mara-base_uom_iso,
            c_x          TO wa_marax-base_uom_iso.
    **-- Move Material Descriptions
      PERFORM move_materialdescription .
    ENDFORM.                    " MOVE_HEADDATA
    *&      Form  MOVE_CLIENTDATA
          * Move Basic data to Clientdata
    FORM   move_clientdata .
      MOVE : wa_final-spart      TO wa_mara-division,
             wa_final-bismt      TO wa_mara-old_mat_no,
             wa_final-extwg      TO wa_mara-extmatlgrp,
             wa_final-mtpos_mara TO wa_mara-item_cat,
             wa_final-groes      TO wa_mara-size_dim,
             wa_final-zeivr      TO wa_mara-doc_vers,
             wa_final-ekwsl      TO wa_mara-pur_valkey.
      MOVE : c_x      TO wa_marax-division,
             c_x      TO wa_marax-old_mat_no,
             c_x      TO wa_marax-extmatlgrp,
             c_x      TO wa_marax-item_cat,
             c_x      TO wa_marax-size_dim,
             c_x      TO wa_marax-doc_vers,
             c_x      TO wa_marax-pur_valkey.
    ENDFORM.                    " MOVE_CLIENTDATA
    *&      Form  MOVE_STORAGELOCATIONDATA
          * Move storage location data to STORAGELOCATIONDATA
    FORM move_storagelocationdata .
      CLEAR: wa_mard,wa_mardx.
      MOVE : wa_final-werks      TO wa_mard-plant,
             wa_final-lgort      TO wa_mard-stge_loc.
      MOVE : wa_final-werks      TO wa_mardx-plant,
             wa_final-lgort      TO wa_mardx-stge_loc.
    ENDFORM.                    " MOVE_STORAGELOCATIONDATA
    *&      Form  MOVE_SALESDATA
         * Move Salesdate to SALESDATA
    FORM move_salesdata .
      MOVE : wa_final-vkorg      TO wa_mvke-sales_org,
             wa_final-vtweg      TO wa_mvke-distr_chan,
             wa_final-dwerk      TO wa_mvke-delyg_plnt,
             wa_final-versg      TO wa_mvke-matl_stats,
             wa_final-ktgrm      TO wa_mvke-acct_assgt,
             wa_final-mtpos      TO wa_mvke-item_cat,
             wa_final-mvgr1      TO wa_mvke-matl_grp_1,
             wa_final-mvgr2      TO wa_mvke-matl_grp_2,
             wa_final-mvgr3      TO wa_mvke-matl_grp_3,
             wa_final-mvgr4      TO wa_mvke-matl_grp_4,
             wa_final-mvgr5      TO wa_mvke-matl_grp_5,
             wa_final-vrkme      TO wa_mvke-sales_unit.
      MOVE : wa_final-vkorg      TO wa_mvkex-sales_org,
             wa_final-vtweg      TO wa_mvkex-distr_chan,
             c_x                 TO wa_mvkex-delyg_plnt,
             c_x                 TO wa_mvkex-matl_stats,
             c_x                 TO wa_mvkex-acct_assgt,
             c_x                 TO wa_mvkex-item_cat,
             c_x                 TO wa_mvkex-matl_grp_1,
             c_x                 TO wa_mvkex-matl_grp_2,
             c_x                 TO wa_mvkex-matl_grp_3,
             c_x                 TO wa_mvkex-matl_grp_4,
             c_x                 TO wa_mvkex-matl_grp_5,
             c_x                 TO wa_mvkex-sales_unit.
    ENDFORM.                    " MOVE_SALESDATA
    *&      Form  MOVE_MATERIALDESCRIPTION
          * Move MATERIALDESCRIPTION to Material Description
    FORM move_materialdescription .
      CLEAR: wa_makt,i_makt.
      MOVE : wa_final-maktx TO wa_makt-matl_desc,
             sy-langu       TO wa_makt-langu.
      APPEND wa_makt TO i_makt.
      CLEAR wa_makt.
    ENDFORM.                    " MOVE_MATERIALDESCRIPTION
    *&      Form  basic_data
    FORM basic_data .
    **-- Move Material Data at Storage Location Level
      PERFORM move_storagelocationdata .
      MOVE : wa_final-vkorg      TO wa_mvke-sales_org,
             wa_final-vtweg      TO wa_mvke-distr_chan.
      MOVE : wa_final-vkorg      TO wa_mvkex-sales_org,
             wa_final-vtweg      TO wa_mvkex-distr_chan.
    **-- Move Material Data at Client Level
      PERFORM move_clientdata .
    IF ALT_UOM is not Given in flat file Move BASEUOM as ALT_UOM
      IF wa_final-meinh EQ c_space.
        MOVE : wa_final-meins     TO wa_marm-alt_unit,
               wa_final-meins     TO wa_marmx-alt_unit.
      ELSE.
        MOVE : wa_final-meinh      TO wa_marm-alt_unit,
                wa_final-umren      TO wa_marm-numerator.
        MOVE : wa_final-meinh     TO wa_marmx-alt_unit,
               c_x                TO wa_marmx-numerator.
      ENDIF.
      MOVE : wa_final-numtp      TO wa_marm-ean_cat,
             wa_final-brgew      TO wa_marm-gross_wt,
             wa_final-volum      TO wa_marm-volume,
             wa_final-voleh      TO wa_marm-volumeunit,
             wa_final-gewei      TO wa_marm-unit_of_wt.
      APPEND wa_marm TO i_marm.
      CLEAR wa_marm.
      MOVE : c_x                TO wa_marmx-ean_cat,
             c_x                TO wa_marmx-gross_wt,
             c_x                TO wa_marmx-volume,
             c_x                TO wa_marmx-volumeunit,
             c_x                TO wa_marmx-unit_of_wt.
      APPEND wa_marmx TO i_marmx.
      CLEAR wa_marmx.
    ENDFORM.                    " basic_data
    *&      Form  sales_data1
    FORM sales_data1 .
    Move Sales & Plant Data
      MOVE : wa_final-werks      TO wa_marc-plant,
             wa_final-mtvfp      TO wa_marc-availcheck,
             wa_final-ladgr      TO wa_marc-loadinggrp,
             wa_final-prctr      TO wa_marc-profit_ctr.
      MOVE : wa_final-werks      TO wa_marcx-plant,
             c_x                 TO wa_marcx-availcheck,
             c_x                 TO wa_marcx-loadinggrp,
             c_x                 TO wa_marcx-profit_ctr.
      MOVE: wa_final-tragr      TO wa_mara-trans_grp,
            c_x                 TO wa_marax-trans_grp.
    **-- Move Sales Data
      PERFORM move_salesdata .
    Move Tax Data
      MOVE : 'JP'              TO wa_mlan-depcountry_iso,
            'MWAR'             TO wa_mlan-tax_type_1,
             wa_final-taklv    TO wa_mlan-taxclass_1.
      APPEND wa_mlan TO i_mlan.
      CLEAR wa_mlan.
    ENDFORM.                    " sales_data1
    *&      Form  purchase_data
    FORM purchase_data .
    Move Plant Data
      MOVE : wa_final-werks      TO wa_marc-plant,
             wa_final-werks      TO wa_marcx-plant.
    Move PO data
      MOVE : wa_final-ekgrp  TO wa_marc-pur_group,
             wa_final-kautb  TO wa_marc-auto_p_ord,
             wa_final-usequ  TO wa_marc-quotausage,
             wa_final-kordb  TO wa_marc-sourcelist,
             c_x             TO wa_marcx-pur_group,
             c_x             TO wa_marcx-auto_p_ord,
             c_x             TO wa_marcx-quotausage,
             c_x             TO wa_marcx-sourcelist.
      MOVE: wa_final-matkl  TO wa_mara-matl_group,
            wa_final-bstme  TO wa_mara-po_unit,
             c_x            TO wa_marax-matl_group,
             c_x            TO wa_marax-po_unit.
    ENDFORM.                    " purchase_data
    *&      Form  mrp_data
    FORM mrp_data .
    **-- Move Material Data at Storage Location Level
      PERFORM move_storagelocationdata .
    Move All MRP data
      MOVE: wa_final-diskz TO wa_mard-mrp_ind,
            c_x            TO wa_mardx-mrp_ind.
      MOVE : wa_final-werks TO wa_marc-plant,
             wa_final-dismm TO wa_marc-mrp_type,
             wa_final-dispo TO wa_marc-mrp_ctrler,
             wa_final-beskz TO wa_marc-proc_type,
             wa_final-sobsl TO wa_marc-spproctype,
             wa_final-mtvfp TO wa_marc-availcheck,
             wa_final-minbe  TO wa_marc-reorder_pt,
             wa_final-fxhor  TO wa_marc-pl_ti_fnce,
             wa_final-disls  TO wa_marc-lotsizekey,
             wa_final-bstmi  TO wa_marc-minlotsize,
             wa_final-bstma  TO wa_marc-maxlotsize,
             wa_final-bstfe  TO wa_marc-fixed_lot,
             wa_final-mabst  TO wa_marc-max_stock,
             wa_final-ausss  TO wa_marc-assy_scrap,
             wa_final-dzeit  TO wa_marc-inhseprodt,
             wa_final-plifz  TO wa_marc-plnd_delry,
             wa_final-webaz  TO wa_marc-gr_pr_time,
             wa_final-fhori  TO wa_marc-sm_key,
             wa_final-eisbe  TO wa_marc-safety_stk,
             wa_final-strgr  TO wa_marc-plan_strgp,
             wa_final-wzeit  TO wa_marc-replentime,
             wa_final-lgfsb  TO wa_marc-sloc_exprc,
             wa_final-sbdkz  TO wa_marc-dep_req_id,
             wa_final-kzbed  TO wa_marc-grp_reqmts,
             wa_final-miskz  TO wa_marc-mixed_mrp,
             wa_final-stlal  TO wa_marc-alternative_bom,
             wa_final-stlan  TO wa_marc-bom_usage.
      MOVE : wa_final-werks TO wa_marcx-plant,
             c_x            TO wa_marcx-mrp_type,
             c_x            TO wa_marcx-mrp_ctrler,
             c_x            TO wa_marcx-proc_type,
             c_x            TO wa_marcx-spproctype,
             c_x            TO wa_marcx-availcheck,
             c_x            TO wa_marcx-reorder_pt,
             c_x            TO wa_marcx-pl_ti_fnce,
             c_x            TO wa_marcx-lotsizekey,
             c_x            TO wa_marcx-minlotsize,
             c_x            TO wa_marcx-maxlotsize,
             c_x            TO wa_marcx-fixed_lot,
             c_x            TO wa_marcx-max_stock,
             c_x            TO wa_marcx-assy_scrap,
             c_x            TO wa_marcx-inhseprodt,
             c_x            TO wa_marcx-plnd_delry,
             c_x            TO wa_marcx-gr_pr_time,
             c_x            TO wa_marcx-sm_key,
             c_x            TO wa_marcx-safety_stk,
             c_x            TO wa_marcx-plan_strgp,
             c_x            TO wa_marcx-replentime,
             c_x            TO wa_marcx-sloc_exprc,
             c_x            TO wa_marcx-dep_req_id,
             c_x            TO wa_marcx-grp_reqmts,
             c_x            TO wa_marcx-mixed_mrp,
             c_x            TO wa_marcx-alternative_bom,
             c_x            TO wa_marcx-bom_usage.
    ENDFORM.                    " mrp_data
    *&      Form  accounting_data
    FORM accounting_data .
    Move Plant Data
      MOVE: wa_final-werks TO wa_marc-plant,
            wa_final-werks TO wa_marcx-plant.
    Move Account Data
      MOVE :  wa_final-werks TO wa_mbew-val_area,
              wa_final-bklas TO wa_mbew-val_class,
              wa_final-vprsv TO wa_mbew-price_ctrl,
              wa_final-verpr TO wa_mbew-moving_pr,
              wa_final-peinh TO wa_mbew-price_unit,
              wa_final-stprs TO wa_mbew-std_price.
      MOVE :  wa_final-werks TO wa_mbewx-val_area,
              c_x TO wa_mbewx-val_class,
              c_x TO wa_mbewx-price_ctrl,
              c_x TO wa_mbewx-moving_pr,
              c_x TO wa_mbewx-price_unit,
              c_x TO wa_mbewx-std_price.
    ENDFORM.                    " accounting_data
    *&      Form  cost_data
    FORM cost_data .
    Move Plant Data
      MOVE: wa_final-werks TO wa_marc-plant,
            wa_final-awsls TO wa_marc-variance_key,
            wa_final-verid  TO wa_marc-prodverscs,   " Production Version
            wa_final-werks TO wa_marcx-plant,
            c_x            TO wa_marcx-variance_key,
            c_x            TO wa_marcx-prodverscs.
    Move Cost Data
      MOVE :  wa_final-werks TO wa_mbew-val_area,
              wa_final-bklas TO wa_mbew-val_class,
              wa_final-vprsv TO wa_mbew-price_ctrl,
              wa_final-ekalr TO wa_mbew-qty_struct.
      MOVE :  wa_final-werks TO wa_mbewx-val_area,
              c_x            TO wa_mbewx-val_class,
              c_x            TO wa_mbewx-price_ctrl,
              c_x            TO wa_mbewx-qty_struct.
    ENDFORM.                    " cost_data
    Call All Structures in to BAPI
      CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
        EXPORTING
          headdata             = wa_mathead
          clientdata           = wa_mara
          clientdatax          = wa_marax
          plantdata            = wa_marc
          plantdatax           = wa_marcx
          storagelocationdata  = wa_mard
          storagelocationdatax = wa_mardx
          valuationdata        = wa_mbew
          valuationdatax       = wa_mbewx
          salesdata            = wa_mvke
          salesdatax           = wa_mvkex
        IMPORTING
          return               = i_return
        TABLES
          materialdescription  = i_makt
          unitsofmeasure       = i_marm
          unitsofmeasurex      = i_marmx
          taxclassifications   = i_mlan.
      IF i_return-type = 'A' OR i_return-type = 'E' .
        DATA : l_v_string TYPE string,
               l_v_msg1   TYPE string,
               l_v_msg2   TYPE string.
        MOVE i_return-message TO l_v_string.
        CONDENSE l_v_string.
        PERFORM fill_error_table USING 'E'
                                       'ZMSG_MM'
                                       '098'
                                       v_reccon
                                       l_v_string
        v_error = v_error + 1.
        CLEAR: l_v_string.
      ELSEIF i_return-type = 'S'.
        PERFORM fill_error_table USING 'S'
                                             i_return-id
                                             i_return-number
                                            i_return-message_v1
                                           i_return-message_v2
                                           i_return-message_v3
                                           i_return-message_v4.
        v_success = v_success + 1.
      ENDIF .
      CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
        EXPORTING
          wait = 'X'.
      IF sy-subrc = 0.
        COMMIT WORK AND WAIT.      "for the update to table Transcation
      ENDIF.
    Regards,
    Siva.

  • Deletion of EAN number in Material Master using a BAPI BAPI_MATERIAL_SAVEDA

    Hello ,
    I am  using the BAPI_MATERIAL_SAVEDATA to update material master, I am trying to set the deletion flag to EAN code in the Basic data>>Additonal Data view.
    I am setting the deletion flag in the internal table for table bapi_mean. After running the bapi, the EAN code is not deleted.
    Any inputs how to do it.,
    Regards
    Irfan

    Hi,
    Refer the link:
    http://www.sap-img.com/abap/bapi-to-copy-materials-from-one-plant-to-another.htm

  • BAPI for Material master update

    Hello,
    I need to upload and change data to the classification screen of Material master (MM01/02). I am thinking of using BAPI_CHARACT_CREATE and BAPI_CHARACT_CHANGE. Can we use BAPI_MATERIAL_SAVEDATA to upload and change characteristic data for material master(MM01/02)?
    Can anybody provide me some sample code for mass upload and mass change of characteristic data to material master?
    Thanks in advance
    Rajesh.

    Hi Rajesh,
    You can use standard SAP program <b>RCCLBI03</b> to do mass upload.
    Please check the program documentation for more information.
    Also you can take a look this BAPI/FM.
    <b>BAPI_OBJCL_CREATE
    BAPI_OBJCL_CHANGE
    CLVF_INSERT_AUSP
    CLVF_UPDATE_AUSP
    CLVF_VB_INSERT_CLASSIFICATION</b>
    Hope this will help.
    Regards,
    Ferry Lianto
    Please reward points if helpful.

  • Material master update through BAPI

    Hello Experts,
    We are using BAPI_MATERIAL_SAVEREPLICA to update material master . It is required to update RefPlant:consumption (MARC-VRBWK) in forecast view . We could not find any field corresponding to MARC-VRBWK in table parameters PLANTDATA .
    Please help me if there is any way to update  RefPlant:consumption (MARC-VRBWK ) in forecast view by using  BAPI_MATERIAL_SAVEREPLICA  .
    If there is any other BAPI to update the field please let me know .
    Regards,
    Kiran.

    Hi Suhas,
    I tried EXTENSIONIN & EXTENSIONINX  approach but the MARC-VRBWK was not reflected. I did some research and came to know that these extensions can be used to update the custom fields . If there is any way to update the standard field like MARC-VRBWK  using extension please let me know . It would be great help .
    Thanks,
    Kiran.

  • Material Master: Update the Z fields using BAPI

    Hi to all,
    My requirement is simple. But I do not have much knowledge on BAPI. I have got some information that we can extend th BAPI and update the Z fields in material master. I have added the z fields in MARA. So when I call the bapi z fields has to get update.
    Which BAPI can i use? I have got one BAPI - BAPI_MATERIAL_SAVEDATA.   plz suggest me to do it.
    1. how do i enhance the BAPI or extend th BAPI.
    2. Is ther any approch to do it.
    thnks
    Yerukala Setty

    Hi,
    Append the z fields to BAPI_TE_MARA and BAPI_TE_MARAX structures using append structures.
    Populate two structures for the fields in BAPI_TE_MARA and BAPI_TE_MARAX.
    To BAPI_MATERIAL_SAVEDATA, under EXTENSIONIN parameters, pass structure name as BAPI_TE_MARA and Value Part1, 2, 3, 4 with the filled structure info.
    Similarly append X structure as well.
    Regards,
    Ganga

  • BAPI or FM Required to create Material Master

    IS there any BAPI or Function module avaiable in SAP to create Material Master.
    The following Two BAPIs uses Call transaction, which I dont want.
    BAPI_RETAILMATERIAL_CREATE 
    BAPI_STANDARDMATERIAL_CREATE
    Please let me know if any other Function module or BAPI Avaiable in the system.
    Thanks
    Aman

    Yep,  this one works pretty good.
    call function 'MATERIAL_MAINTAIN_DARK'
             exporting
                  sperrmodus                = ' '
                  kz_prf                    = 'W'
                  max_errors                = ' '
                  p_kz_no_warn              = 'X'
                  kz_verw                   = 'X'
                  kz_aend                   = 'X'
                  kz_dispo                  = 'X'
                  kz_test                   = ' '
                  flag_muss_pruefen         = ' '
                  call_mode                 = 'ACT'
             importing
                  number_errors_transaction = numerror
                  matnr_last     = last_matnr
             tables
                 amara_ueb      = i_mara    "Basic Data
    *             amakt_ueb      = i_makt    "Descriptions
                 amarc_ueb      = i_marc    "Plant
    *             amard_ueb      = i_mard    "Storage Location
    *            AMFHM_UEB      = I_MFHM    "Production Tools
    *             amarm_ueb      = i_marm    "Units of Measure
    *            AMEA1_UEB      = I_MEA1    "Internal Mangagement -  EANs
    *             ambew_ueb      = i_mbew    "Accounting/Costing
    *             asteu_ueb      = i_steu    "Tax Data
    *             astmm_ueb      = i_steumm  "Tax Data
    *            AMLGN_UEB      = I_MLGN    "Warehouse Data
    *            AMLGT_UEB      = I_MLGT    "Storage Type Data
    *            AMPGD_UEB      = I_MPGD    "Change Documents
    *            AMPOP_UEB      = I_MPOP    "Forcast Parameters
    *            AMVEG_UEB      = I_MVEG    "Total Consumption Data
    *            AMVEU_UEB      = I_MVEU    "Unplanned Consumption Data
    *             amvke_ueb      = i_mvke    "Sales Data
    *             altx1_ueb      = i_ltx1    "Sales Text
    *            AMPRW_UEB      = I_MPRW    "Forcast Values
                 amfieldres     = i_delfields
                 amerrdat       = i_errors
             exceptions
                  kstatus_empty             = 01
                  tkstatus_empty            = 02
                  t130m_error               = 03
                  internal_error            = 04
                  update_error              = 05
                  too_many_errors           = 06.
    Regards,
    Rich Heilman

  • Problem in extending material master data using BAPI?

    Hi all,
    I have created a program to upload material master using BAPI_MATERIAL_SAVEDATA WITH VIEWS
    Basic view, purchase view, account view , storage view and MRP view. I am successful while uploading this data while not  taking  the valuation type  field to account view(passing only valuation area,valuation class and moving price).
    But when i am trying to pass valuation type field also then it is giving error as 'First create the valuation-type-independent data' .
    So i have written another program to extend this material to enter valuation type , then it is giving the error as 'Valuation category does not allow split valuation'.
    Please help me to solve this problem and while modifying what are the mandatory values to pass to BAPI?
    Thanks,
    Vamshi.

    Hi VAMSHI,
    I have your same error but I don't know how to solve it. We have active "material split valuation" and valuation type is mandatory field if using ACCOUNTING and COSTING views.
    Please, let me know.
    Thanks in advance.
    GB

  • How to upload material master using BAPI

    I have a flat file with 3 fields MATNR,MAKTX,MEINS and I want to create material master with 2 views basic data1 & basic data2 with three fields using BAPI
    Can anyone tell me how to do this only using three fields and 2 views
    and also i want to know what is the exact difference between session call transaction BAPI and LSWM methods.
    Thank you,
    Pradeep Reddy M.

    Hi Pradeep Reddy Miriyala,
    This a example you can use, the views are related with each table only have to adapt to your case.
    Best regards
    Jaime Cordeiro
    *& Report  ZMM01_BAPI_01                                               *
    REPORT  ZMM01_BAPI_01                           .
                   STRUCTURE  DECLARATIONS                             *
    TABLES: BAPIMATHEAD,  "Headerdata
            BAPI_MARA,    "Clientdata
            BAPI_MARAX,   "Clientdatax
            BAPI_MVKE,    "SalesData
            BAPI_MVKEX,   "SalesDatax
            BAPI_MARC,    "Plantdata
            BAPI_MARCX,   "Plantdatax
            BAPI_MBEW,    "ValuationData
            BAPI_MBEWX,    "ValuationData
            BAPI_MLGN,    "Storage
            BAPI_MLGNX,   "StorageX
            BAPI_MAKT,    "Material description
            BAPI_MARM,
            BAPI_MARMX,
            bapi_mean,
            BAPI_MLAN,
            BAPIRET2.     "Return messages
    DATA: BEGIN OF LSMW_MATERIAL_MASTER,
    > Initial Data
         matnr(18),
         mtart(4),
         WERKS(4),
         VKORG(4),
         VTWEG(2),
         LGNUM(3),"retirar
    > Basic Data 1
         MAKTX(40),
         MEINS(3),
         MATKL(9),
         BISMT(18),
         SPART(2),
         PRDHA(18),
         BRGEW(17),
         NTGEW(17),
         GEWEI(3),
         VOLUM(13),
         VOLEH(3),
         EAN11(18),
         NUMTP(2),
    > Sales 1
         DWERK(4),
         TAXKM(1),
    > Sales 2
         KTGRM(2),
         PRODH(18),
         MTPOS(4),
    > Sales: General/Plant
         MTVFP(2),
         TRAGR(4),
         LADGR(4),
         PRCTR(10),
    > Purchasing
    Novas entradas
         EKGRP(3),
         KAUTB(1),
         XCHPF1(1),
         EKWSL(4),
         WEBAZ(3),
         INSMK1(1),
         KORDB(1),
    > Foreign Trade
         STAWN(17),
         MTVER(4),
         HERKL(3),
         HERKR(3),
    > Purchase Order Text View
    Identificar Campos
         TextoEN(100),
         TextoPT(100),
         TextoPL(100),
         TextoES(100),
    > MRP1
         DISGR(4),
         DISMM(2),
         DISPO(3),
         DISLS(2),
         BSTMI(18),
         BSTRF(13),
    > MRP2
         BESKZ(1),
         RGEKZ(1),
         LGPRO(4),
         LGFSB(4),
         EPRIO(4),
         WEBAZ1(3),
         PLIFZ(3),
         FHORI(3),
    > MRP3
         PERKZ(1),
         STRGR(2),
         VRMOD(1),
         VINT1(3),
         VINT2(3),
    > MRP4
         ALTSL(1),
         FEVOR(3),
    > Work Sch
         INSMK(1),
         XCHPF(1),
         UEETO(3),
    > Plant Storage 1
         MHDRZ(4),
         MHDHB(4),
    > Plant Storage 2
         PRCTR1(10),
         EPRIO1(4),
    > WM 1 S01 comum a todos
         LTKZA_S01(3),
         LTKZE_S01(3),
         LGBKZ_S01(3),
    > WM 1 SHV
         LTKZA_SHV(3),
         LTKZE_SHV(3),
         LGBKZ_SHV(3),
    > WM 1 SQW
         LTKZA_SQW(3),
         LTKZE_SQW(3),
         LGBKZ_SQW(3),
    > WM 2
         LHMG1(13),
         LHME1(3),
         LETY1(3),
         LHMG2(13),
         LHME2(3),
         LETY2(3),
         LHMG3(13),
         LHME3(3),
         LETY3(3),
    > Accounting 1
         BKLAS(4),
         VPRSV(1),
         VERPR(23),
         PEINH(5),
       END OF LSMW_MATERIAL_MASTER.
    DATA:V_FILE TYPE STRING.
    DATA:VolumUnitConv(3).
    DATA:UnitConv(3).
                   INTERNAL TABLE DECLARATIONS                         *
    *to store the input data
    DATA:
      BEGIN OF  it_matmaster OCCURS 0.
            INCLUDE STRUCTURE LSMW_MATERIAL_MASTER.
    DATA:
      END OF it_matmaster.
    *for material description
    DATA:BEGIN OF IT_MATERIALDESC OCCURS 0.
            INCLUDE STRUCTURE BAPI_MAKT .
    DATA:END OF IT_MATERIALDESC.
    *FOR gross wt
    data: begin of it_uom occurs 0.
            include structure BAPI_MARM.
    data:end of it_uom.
    DATA: BEGIN OF IT_UOMX OCCURS 0.
            INCLUDE STRUCTURE BAPI_MARMX.
    DATA:END OF IT_UOMX.
    data:begin of it_mean occurs 0.
            include structure bapi_mean.
    data:end of it_mean.
    DATA: BEGIN OF it_MLAN OCCURS 0.
            include STRUCTURE BAPI_MLAN.
    DATA: END OF it_MLAN.
    DATA:BEGIN OF IT_MLTX OCCURS 0.
            INCLUDE STRUCTURE BAPI_MLTX.
    DATA:END OF IT_MLTX.
    *to return messages
    DATA:BEGIN OF IT_RETURN OCCURS 0.
            INCLUDE STRUCTURE BAPIRET2.
    DATA:END OF IT_RETURN.
    DATA : imat TYPE TABLE OF bapimatinr WITH HEADER LINE.
    DATA: text LIKE bapi_mltx OCCURS 0 WITH HEADER LINE.
    DATA: matnrAct(18),oldMart(4).
    SELECTION SCREEN
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-002.
    PARAMETERS:P_FILE LIKE RLGRAP-FILENAME OBLIGATORY.
    SELECTION-SCREEN END OF BLOCK B1 .
    AT SELECTION SCREEN
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
      CALL FUNCTION 'F4_FILENAME'
        EXPORTING
          PROGRAM_NAME  = SYST-CPROG
          DYNPRO_NUMBER = SYST-DYNNR
          FIELD_NAME    = 'P_FILE'
        IMPORTING
          FILE_NAME     = P_FILE.
                   TO UPLOAD THE DATA                                  *
    START-OF-SELECTION.
      V_FILE = P_FILE.
      CALL FUNCTION 'GUI_UPLOAD'
        EXPORTING
          filename                      = V_FILE
         FILETYPE                      = 'ASC'
         HAS_FIELD_SEPARATOR           = 'X'
      HEADER_LENGTH                 = 0
      READ_BY_LINE                  = 'X'
      DAT_MODE                      = ' '
    IMPORTING
      FILELENGTH                    =
      HEADER                        =
        tables
          data_tab                      =  IT_MATMASTER
       EXCEPTIONS
         FILE_OPEN_ERROR               = 1
         FILE_READ_ERROR               = 2
         NO_BATCH                      = 3
         GUI_REFUSE_FILETRANSFER       = 4
         INVALID_TYPE                  = 5
         NO_AUTHORITY                  = 6
         UNKNOWN_ERROR                 = 7
         BAD_DATA_FORMAT               = 8
         HEADER_NOT_ALLOWED            = 9
         SEPARATOR_NOT_ALLOWED         = 10
         HEADER_TOO_LONG               = 11
         UNKNOWN_DP_ERROR              = 12
         ACCESS_DENIED                 = 13
         DP_OUT_OF_MEMORY              = 14
         DISK_FULL                     = 15
         DP_TIMEOUT                    = 16
         OTHERS                        = 17
      IF sy-subrc <> 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      check sy-subrc eq 0.
                   DATA POPULATIONS                                    *
      LOOP AT  IT_MATMASTER.
        IF IT_MATMASTER-MATNR EQ '' .
          oldMart = IT_MATMASTER-Mtart.
          CALL FUNCTION 'MATERIAL_NUMBER_GET_NEXT'
            EXPORTING
              MATERIALART                = IT_MATMASTER-Mtart
           IMPORTING
             MATERIALNR                 = matnrAct
      RETURNCODE                 =
    EXCEPTIONS
      NO_INTERNAL_INTERVAL       = 1
      TYPE_NOT_FOUND             = 2
      OTHERS                     = 3
          if sy-subrc = 0.
            BAPIMATHEAD-MATERIAL = matnrAct.
          endif.
        ELSE.
          BAPIMATHEAD-MATERIAL = it_matmaster-matnr.
        ENDIF.
    Preenchimento dos dados do ecrã inicial
       BAPIMATHEAD-MATERIAL = IT_MATMASTER-MATNR.
        BAPIMATHEAD-IND_SECTOR = 'M'.
        BAPIMATHEAD-MATL_TYPE = IT_MATMASTER-Mtart.
        "declaration of views
        BAPIMATHEAD-BASIC_VIEW = 'X'.
        BAPIMATHEAD-MRP_VIEW = 'X'.
        BAPIMATHEAD-STORAGE_VIEW = 'X'.
        BAPIMATHEAD-WAREHOUSE_VIEW = 'X'.
        BAPIMATHEAD-ACCOUNT_VIEW = 'X'.
        If IT_MATMASTER-Mtart EQ '31'.
          BAPIMATHEAD-SALES_VIEW = 'X'.
          BAPIMATHEAD-WORK_SCHED_VIEW = 'X'.
        ENDIF.
        If IT_MATMASTER-Mtart EQ '51'.
          BAPIMATHEAD-SALES_VIEW = 'X'.
          BAPIMATHEAD-WORK_SCHED_VIEW = 'X'.
        ENDIF.
        If IT_MATMASTER-Mtart EQ '65'.
          BAPIMATHEAD-PURCHASE_VIEW = 'X'.
        ENDIF.
    Preenchimento de dados relativos a MARA
        BAPI_MARA-BASE_UOM = IT_MATMASTER-MEINS.
        BAPI_MARA-MATL_GROUP = IT_MATMASTER-MATKL.
        BAPI_MARA-OLD_MAT_NO = IT_MATMASTER-BISMT.
        BAPI_MARA-DIVISION = IT_MATMASTER-SPART.
        BAPI_MARA-PROD_HIER = IT_MATMASTER-PRDHA.
        BAPI_MARA-NET_WEIGHT = IT_MATMASTER-ntgew.
        BAPI_MARA-UNIT_OF_WT = IT_MATMASTER-GEWEI.
        BAPI_MARA-TRANS_GRP = IT_MATMASTER-tragr.
    > Novas Entradas
        IF IT_MATMASTER-Mtart EQ '65'.
          BAPI_MARA-BATCH_MGMT = IT_MATMASTER-XCHPF1.
          BAPI_MARA-PUR_VALKEY = IT_MATMASTER-EKWSL.     
          BAPI_MARAX-PUR_VALKEY = 'X'.
        ELSE.
                   BAPI_MARA-BATCH_MGMT = IT_MATMASTER-XCHPF.
    ENDIF.
    > Novas Entradas
          BAPI_MARA-MINREMLIFE = IT_MATMASTER-MHDRZ.
          BAPI_MARA-SHELF_LIFE = IT_MATMASTER-MHDHB.
          BAPI_MARAX-MATL_GROUP = 'X'.
          BAPI_MARAX-OLD_MAT_NO = 'X'.
          BAPI_MARAX-BASE_UOM = 'X'.
          BAPI_MARAX-DIVISION = 'X'.
          BAPI_MARAX-PROD_HIER = 'X'.
          BAPI_MARAX-NET_WEIGHT = 'X'.
          BAPI_MARAX-UNIT_OF_WT = 'X'.
          BAPI_MARAX-TRANS_GRP = 'X'.
          BAPI_MARAX-BATCH_MGMT = 'X'.
          BAPI_MARAX-MINREMLIFE = 'X'.
          BAPI_MARAX-SHELF_LIFE = 'X'.
    Preencimento de dados Relativos a MKVE
          BAPI_MVKE-DELYG_PLNT = IT_MATMASTER-DWERK.
          BAPI_MVKE-SALES_ORG = IT_MATMASTER-VKORG.
          BAPI_MVKE-DISTR_CHAN = IT_MATMASTER-VTWEG.
          BAPI_MVKE-PROD_HIER = IT_MATMASTER-PRODH.
          BAPI_MVKE-ITEM_CAT = IT_MATMASTER-MTPOS.
          BAPI_MVKE-ACCT_ASSGT = IT_MATMASTER-KTGRM.
          BAPI_MVKEX-SALES_ORG = IT_MATMASTER-VKORG.
          BAPI_MVKEX-DISTR_CHAN = IT_MATMASTER-VTWEG.
          BAPI_MVKEX-PROD_HIER = 'X'.
          BAPI_MVKEX-ITEM_CAT = 'X'.
          BAPI_MVKEX-DELYG_PLNT = 'X'.
          BAPI_MVKEX-ACCT_ASSGT = 'X'.
    Preencimento de dados Relativos a MARC
          BAPI_MARC-PLANT = IT_MATMASTER-WERKS.
          BAPI_MARC-AVAILCHECK = IT_MATMASTER-MTVFP.
          BAPI_MARC-LOADINGGRP = IT_MATMASTER-LADGR.
          BAPI_MARC-PROFIT_CTR = IT_MATMASTER-PRCTR.
          IF NOT IT_MATMASTER-Mtart EQ '51'.
            BAPI_MARC-COMM_CODE = IT_MATMASTER-STAWN.
            BAPI_MARC-COUNTRYORI = IT_MATMASTER-HERKL.
            BAPI_MARC-REGIONORIG = IT_MATMASTER-HERKR.
            BAPI_MARCX-COMM_CODE = 'X'.
            BAPI_MARCX-COUNTRYORI = 'X'.
            BAPI_MARCX-REGIONORIG = 'X'.
          ENDIF.
          BAPI_MARC-MRP_GROUP = IT_MATMASTER-DISGR.
          BAPI_MARC-MRP_TYPE = IT_MATMASTER-DISMM.
          BAPI_MARC-MRP_CTRLER = IT_MATMASTER-DISPO.
          BAPI_MARC-LOTSIZEKEY = IT_MATMASTER-DISLS.
          BAPI_MARC-MINLOTSIZE = IT_MATMASTER-BSTMI.
          BAPI_MARC-ROUND_VAL = IT_MATMASTER-BSTRF.
          BAPI_MARC-PROC_TYPE = IT_MATMASTER-BESKZ.
          BAPI_MARC-BACKFLUSH = IT_MATMASTER-RGEKZ .
          BAPI_MARC-ISS_ST_LOC = IT_MATMASTER-LGPRO.
          BAPI_MARC-DETERM_GRP = IT_MATMASTER-EPRIO.
          BAPI_MARC-SM_KEY = IT_MATMASTER-FHORI.
          BAPI_MARC-PERIOD_IND = IT_MATMASTER-PERKZ.
          BAPI_MARC-PLAN_STRGP = IT_MATMASTER-STRGR.
          BAPI_MARC-CONSUMMODE = IT_MATMASTER-VRMOD.
          BAPI_MARC-BWD_CONS = IT_MATMASTER-VINT1.
          BAPI_MARC-FWD_CONS = IT_MATMASTER-VINT2.
          BAPI_MARC-ALT_BOM_ID = IT_MATMASTER-ALTSL.
          BAPI_MARC-PRODUCTION_SCHEDULER = IT_MATMASTER-FEVOR.
          IF NOT IT_MATMASTER-Mtart EQ '65'.
            BAPI_MARC-IND_POST_TO_INSP_STOCK = IT_MATMASTER-INSMK.
            BAPI_MARC-OVER_TOL = IT_MATMASTER-UEETO.
            BAPI_MARCX-IND_POST_TO_INSP_STOCK = 'X'.
            BAPI_MARCX-OVER_TOL = 'X'.
          ENDIF.
    > Novas Entradas
          IF IT_MATMASTER-Mtart EQ '65'.
                 BAPI_MARC-PUR_GROUP = IT_MATMASTER-EKGRP .
                 BAPI_MARC-AUTO_P_ORD = IT_MATMASTER-KAUTB .
                 BAPI_MARC-GR_PR_TIME = IT_MATMASTER-WEBAZ .
                 BAPI_MARC-IND_POST_TO_INSP_STOCK = IT_MATMASTER-INSMK1 .
                 BAPI_MARC-SOURCELIST = IT_MATMASTER-KORDB .
                 BAPI_MARC-EXPIMPGRP = IT_MATMASTER-MTVER .
                 BAPI_MARCX-PUR_GROUP = 'X'.
                 BAPI_MARCX-AUTO_P_ORD = 'X'.
            BAPI_MARCX-GR_PR_TIME = 'X'.
            BAPI_MARCX-IND_POST_TO_INSP_STOCK = 'X'.
            BAPI_MARCX-SOURCELIST = 'X'.
            BAPI_MARCX-EXPIMPGRP = 'X'.
          ENDIF.
    > Novas Entradas
          BAPI_MARCX-PLANT = IT_MATMASTER-WERKS.
          BAPI_MARCX-AVAILCHECK = 'X'.
          BAPI_MARCX-LOADINGGRP = 'X'.
          BAPI_MARCX-PROFIT_CTR = 'X'.
          BAPI_MARCX-MRP_GROUP = 'X'.
          BAPI_MARCX-MRP_TYPE = 'X'.
          BAPI_MARCX-MRP_CTRLER = 'X'.
          BAPI_MARCX-LOTSIZEKEY = 'X'.
          BAPI_MARCX-MINLOTSIZE = 'X'.
          BAPI_MARCX-ROUND_VAL = 'X'.
          BAPI_MARCX-PROC_TYPE = 'X'.
          BAPI_MARCX-BACKFLUSH = 'X'.
          BAPI_MARCX-ISS_ST_LOC = 'X'.
          BAPI_MARCX-DETERM_GRP = 'X'.
          BAPI_MARCX-SM_KEY = 'X'.
          BAPI_MARCX-PERIOD_IND = 'X'.
          BAPI_MARCX-PLAN_STRGP = 'X'.
          BAPI_MARCX-CONSUMMODE = 'X'.
          BAPI_MARCX-BWD_CONS = 'X'.
          BAPI_MARCX-FWD_CONS = 'X'.
          BAPI_MARCX-ALT_BOM_ID = 'X'.
          BAPI_MARCX-PRODUCTION_SCHEDULER = 'X'.
    Preencimento de dados Relativos a MLGN
          BAPI_MLGN-WHSE_NO = 'S01'.
          BAPI_MLGN-WITHDRAWAL = IT_MATMASTER-LTKZA_S01.
          BAPI_MLGN-PLACEMENT = IT_MATMASTER-LTKZE_S01.
          BAPI_MLGN-STGESECTOR = IT_MATMASTER-LGBKZ_S01.
          BAPI_MLGN-L_EQUIP_1 = IT_MATMASTER-LHMG1.
          BAPI_MLGN-L_EQUIP_2 = IT_MATMASTER-LHMG2.
          BAPI_MLGN-L_EQUIP_3 = IT_MATMASTER-LHMG3.
          BAPI_MLGN-LEQ_UNIT_1 = IT_MATMASTER-LHME1.
          BAPI_MLGN-LEQ_UNIT_2 = IT_MATMASTER-LHME2.
          BAPI_MLGN-LEQ_UNIT_3 = IT_MATMASTER-LHME3.
          BAPI_MLGN-UNITTYPE_1 = IT_MATMASTER-LETY1.
          BAPI_MLGN-UNITTYPE_2 = IT_MATMASTER-LETY2.
          BAPI_MLGN-UNITTYPE_3 = IT_MATMASTER-LETY3.
          BAPI_MLGNX-WHSE_NO = 'S01'.
          BAPI_MLGNX-WITHDRAWAL = 'X'.
          BAPI_MLGNX-PLACEMENT = 'X'.
          BAPI_MLGNX-STGESECTOR = 'X'.
          BAPI_MLGNX-L_EQUIP_1 = 'X'.
          BAPI_MLGNX-L_EQUIP_2 = 'X'.
          BAPI_MLGNX-L_EQUIP_3 = 'X'.
          BAPI_MLGNX-LEQ_UNIT_1 = 'X'.
          BAPI_MLGNX-LEQ_UNIT_2 = 'X'.
          BAPI_MLGNX-LEQ_UNIT_3 = 'X'.
          BAPI_MLGNX-UNITTYPE_1 = 'X'.
          BAPI_MLGNX-UNITTYPE_2 = 'X'.
          BAPI_MLGNX-UNITTYPE_3 = 'X'.
    Preencimento de dados Relativos a MBEW
    BAPI_MBEW,
    BAPI_MBEWX,
          BAPI_MBEW-VAL_CLASS = IT_MATMASTER-BKLAS.
          BAPI_MBEW-PRICE_CTRL = IT_MATMASTER-VPRSV.
          BAPI_MBEW-STD_PRICE = IT_MATMASTER-VERPR.
          BAPI_MBEW-PRICE_UNIT = IT_MATMASTER-PEINH.
          BAPI_MBEW-VAL_AREA = 'CLPS'."IT_MATMASTER-BWKEY.
          BAPI_MBEWX-VAL_AREA = 'CLPS'."IT_MATMASTER-BWKEY.
          BAPI_MBEWX-VAL_CLASS = 'X'.
          BAPI_MBEWX-PRICE_CTRL = 'X'.
          BAPI_MBEWX-STD_PRICE = 'X'.
          BAPI_MBEWX-PRICE_UNIT = 'X'.
    ---------------------------------------------------> Material Descrition
          IT_MATERIALDESC-LANGU = sy-langu. "'EN'.
          IT_MATERIALDESC-MATL_DESC = IT_MATMASTER-MAKTX.
          APPEND IT_materialdesc.
    Gross Weight, Volume and EAN
    *Volume é preciso uma rotina de conversão
          CALL FUNCTION 'CONVERSION_EXIT_CUNIT_INPUT'
            EXPORTING
              INPUT                = IT_MATMASTER-VOLEH
      LANGUAGE             = SY-LANGU
           IMPORTING
             OUTPUT               = VolumUnitConv
           EXCEPTIONS
             UNIT_NOT_FOUND       = 1
             OTHERS               = 2
          IF SY-SUBRC <> 0.
            MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
          ENDIF.
          CALL FUNCTION 'CONVERSION_EXIT_CUNIT_INPUT'
            EXPORTING
              INPUT                = IT_MATMASTER-MEINS
      LANGUAGE             = SY-LANGU
           IMPORTING
             OUTPUT               = UnitConv
           EXCEPTIONS
             UNIT_NOT_FOUND       = 1
             OTHERS               = 2
          IF SY-SUBRC <> 0.
            MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
          ENDIF.
          IT_UOM-GROSS_WT = IT_MATMASTER-BRGEW.
          IT_UOM-ALT_UNIT = UnitConv.
         IT_UOM-ALT_UNIT_ISO = IT_MATMASTER-GEWEI.
          IT_UOM-UNIT_OF_WT = IT_MATMASTER-GEWEI.
          IT_UOM-EAN_UPC = IT_MATMASTER-EAN11.
          IT_UOM-EAN_CAT = IT_MATMASTER-NUMTP.
          IT_UOM-VOLUME = IT_MATMASTER-VOLUM.
          IT_UOM-VOLUMEUNIT = VolumUnitConv.
         IT_UOM-VOLUMEUNIT_ISO = IT_MATMASTER-VOLEH.
          APPEND IT_UOM.
          IT_UOMX-ALT_UNIT = IT_MATMASTER-MEINS.
         IT_UOMX-ALT_UNIT_ISO = IT_MATMASTER-GEWEI.
          IT_UOMX-GROSS_WT = 'X'.
          IT_UOMX-UNIT_OF_WT = 'X'.
          IT_UOMX-EAN_UPC = 'X'.
          IT_UOMX-EAN_CAT = 'X'.
    *Volume
          IT_UOMX-VOLUME = 'X'.
          IT_UOMX-VOLUMEUNIT = 'X'.
         IT_UOMX-VOLUMEUNIT_ISO = 'X'.
          APPEND IT_UOMX.
          CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
            EXPORTING
              headdata             = BAPIMATHEAD
              CLIENTDATA           = BAPI_MARA
              CLIENTDATAX          = BAPI_MARAx
              PLANTDATA            = BAPI_MARc
              PLANTDATAX           = BAPI_MARcx
              VALUATIONDATA        = BAPI_MBEW
              VALUATIONDATAX       = BAPI_MBEWX
              WAREHOUSENUMBERDATA  = BAPI_MLGN
              WAREHOUSENUMBERDATAX = BAPI_MLGNX
              SALESDATA            = BAPI_MVKE
              SALESDATAX           = BAPI_MVKEX
            IMPORTING
              RETURN               = IT_RETURN
            TABLES
              MATERIALDESCRIPTION  = IT_MATERIALDESC
              UNITSOFMEASURE       = IT_UOM
              UNITSOFMEASUREX      = IT_UOMX
              MATERIALLONGTEXT     = text
              TAXCLASSIFICATIONS   = it_MLAN.
          if it_return-type eq 'S'.
            CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
         endif.
         WAIT UP TO 10 SECONDS.
          WRITE : / IT_RETURN-MESSAGE.
          CLEAR: IT_MATERIALDESC[],
                 IT_UOM[],
                 IT_UOMX[],
                 it_MLAN[],
                 IT_RETURN,
                 text,
                 BAPIMATHEAD,
                 BAPI_MARA,
                 BAPI_MARAx,
                 BAPI_MARc,
                 BAPI_MARcx,
                 BAPI_MBEW,
    BAPI_MBEWX,
    BAPI_MLGN,
    BAPI_MLGNX,
    BAPI_MVKE,
    BAPI_MVKEX
        ENDLOOP.

  • Change material master i.e MM02 using BAPI's

    Hi ,
    I need a BAPI which will change material master for changing MRP 2,Accounting 1 and Costing 1  View .
    Please provide me with code if possible .
    Thank you .
    Regards,
    Kumar.

    hi ,
    Use the fm SELECTION_VIEWS_FIND to get the list of active view for a particular materisl.
    The index of each record in the returned table will correspond to the position of that view in the list of views that is displayed in the bdc recording.
    The number of views maintained for a material is listed in field MARA-VPSTA.
    Each Letter in above fields indicate the views maintained. Following is the list.
    A Work scheduling
    B Accounting
    C Classification
    D MRP
    E Purchasing
    F Production resources/tools
    G Costing
    K Basic data
    L Storage
    P Forecasting
    Q Quality management
    S Warehouse management
    V Sales
    X Plant stocks
    for bdc check this,
    https://www.sdn.sap.com/irj/sdn/wiki?path=/display/abap/bdc%2btutorial
    https://www.sdn.sap.com/irj/sdn/wiki?path=/display/snippets/new%2bpage
    BDC:
    Batch Data Communication (BDC) is the process of transferring data from one SAP System to another SAP system or from a non-SAP system to SAP System.
    Features :
    BDC is an automatic procedure.
    This method is used to transfer large amount of data that is available in electronic medium.
    BDC can be used primarily when installing the SAP system and when transferring data from a legacy system (external system).
    BDC uses normal transaction codes to transfer data.
    Types of BDC :
    CLASSICAL BATCH INPUT (Session Method)
    CALL TRANSACTION
    BATCH INPUT METHOD:
    This method is also called as ‘CLASSICAL METHOD’.
    Features:
    Asynchronous processing.
    Synchronous Processing in database update.
    Transfer data for more than one transaction.
    Batch input processing log will be generated.
    During processing, no transaction is started until the previous transaction has been written to the database.
    CALL TRANSACTION METHOD :
    This is another method to transfer data from the legacy system.
    Features:
    Synchronous processing. The system performs a database commit immediately before and after the CALL TRANSACTION USING statement.
    Updating the database can be either synchronous or asynchronous. The program specifies the update type.
    Transfer data for a single transaction.
    Transfers data for a sequence of dialog screens.
    No batch input processing log is generated.
    For BDC:
    http://myweb.dal.ca/hchinni/sap/bdc_home.htm
    https://www.sdn.sap.com/irj/sdn/wiki?path=/display/home/bdc&
    http://www.sap-img.com/abap/learning-bdc-programming.htm
    http://www.sapdevelopment.co.uk/bdc/bdchome.htm
    http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm
    http://help.sap.com/saphelp_47x200/helpdata/en/69/c250684ba111d189750000e8322d00/frameset.htm
    http://www.sapbrain.com/TUTORIALS/TECHNICAL/BDC_tutorial.html
    Check these link:
    http://www.sap-img.com/abap/difference-between-batch-input-and-call-transaction-in-bdc.htm
    http://www.sap-img.com/abap/question-about-bdc-program.htm
    http://www.itcserver.com/blog/2006/06/30/batch-input-vs-call-transaction/
    http://www.planetsap.com/bdc_main_page.htm

  • Bapi or Function Module to update Material Master Data

    Hi Friends,
               could anyone let me know any BAPI's or Function Modules for Material Master UPdate.
    Thanks in Advance
    Regards
    Tina

    hi Tina,
    check this BAPi BAPI_MATERIAL_SAVEDATA to create and change the material master .
    Try ....
    BAPI_MATERIAL_SAVEDATA
    REPORT Z_BAPI_MAT.
                   STRUCTURE  DECLARATIONS                             *
    TABLES: BAPIMATHEAD,  "Headerdata
            BAPI_MARA,    "Clientdata
            BAPI_MARAX,   "Clientdatax
            BAPI_MARC,    "Plantdata
            BAPI_MARCX,   "Plantdatax
            BAPI_MAKT,    "Material description
            BAPIRET2.     "Return messages
    DATA:V_FILE TYPE STRING.
    DATA:
      BEGIN OF LSMW_MATERIAL_MASTER,
        MATNR(018) TYPE C,  "Material number
        MTART(004) TYPE C,  "Material type
        MBRSH(001) TYPE C,  "Industry sector
        WERKS(004) TYPE C,  "Plant
        MAKTX(040) TYPE C,  "Material description
        DISMM(002) TYPE C,  "Extra Field Added In the Program as itsrequired
        MEINS(003) TYPE C,  "Base unit of measure
        MATKL(009) TYPE C,  "Material group
        SPART(002) TYPE C,  "Division
        LABOR(003) TYPE C,  "Lab/office
        PRDHA(018) TYPE C,  "Product hierarchy
        MSTAE(002) TYPE C,  "X-plant matl status
        MTPOS_MARA(004) TYPE C,  "Gen item cat group
        BRGEW(017) TYPE C,  "Gross weight
        GEWEI(003) TYPE C,  "Weight unit
        NTGEW(017) TYPE C,  "Net weight
        GROES(032) TYPE C,  "Size/Dimensions
        MAGRV(004) TYPE C,  "Matl grp pack matls
        BISMT(018) TYPE C,  "Old material number
        WRKST(048) TYPE C,  "Basic material
        PROFL(003) TYPE C,  "DG indicator profile
        KZUMW(001) TYPE C,  "Environmentally rlvt
        BSTME(003) TYPE C,  "Order unit
        VABME(001) TYPE C,
        EKGRP(003) TYPE C,  "Purchasing group
        XCHPF(001) TYPE C,  "Batch management
        EKWSL(004) TYPE C,  "Purchasing key value
        WEBAZ(003) TYPE C,  "GR processing time
        MFRPN(040) TYPE C,  "Manufacturer part number
        MFRNR(010) TYPE C,  "Manufacturer number
        VPRSV(001) TYPE C,  "Price control indicator
        STPRS(015) TYPE C,  "Standard price
        BWPRH(014) TYPE C,  "Commercial price1
        BKLAS(004) TYPE C,  "Valuation class
      END OF LSMW_MATERIAL_MASTER.
                   INTERNAL TABLE DECLARATIONS                         *
    *to store the input data
    DATA:
      BEGIN OF it_matmaster OCCURS 0.
            INCLUDE STRUCTURE LSMW_MATERIAL_MASTER.
    DATA:
      END OF it_matmaster.
    *for material description
    DATA:BEGIN OF IT_MATERIALDESC OCCURS 0.
         INCLUDE STRUCTURE BAPI_MAKT .
    DATA:END OF IT_MATERIALDESC.
    *to return messages
    DATA:BEGIN OF IT_RETURN OCCURS 0.
         INCLUDE STRUCTURE BAPIRET2.
    DATA:END OF IT_RETURN.
    SELECTION SCREEN
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-002.
    PARAMETERS:P_FILE LIKE RLGRAP-FILENAME OBLIGATORY.
    SELECTION-SCREEN END OF BLOCK B1 .
    AT SELECTION SCREEN
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
      CALL FUNCTION 'F4_FILENAME'
        EXPORTING
          PROGRAM_NAME  = SYST-CPROG
          DYNPRO_NUMBER = SYST-DYNNR
          FIELD_NAME    = 'P_FILE'
        IMPORTING
          FILE_NAME     = P_FILE.
                   TO UPLOAD THE DATA                                  *
    START-OF-SELECTION.
    V_FILE = P_FILE.
    CALL FUNCTION 'GUI_UPLOAD'
      EXPORTING
        filename                      = V_FILE
       FILETYPE                      = 'ASC'
       HAS_FIELD_SEPARATOR           = 'X'
      HEADER_LENGTH                 = 0
      READ_BY_LINE                  = 'X'
      DAT_MODE                      = ' '
    IMPORTING
      FILELENGTH                    =
      HEADER                        =
      tables
        data_tab                      =  IT_MATMASTER
    EXCEPTIONS
       FILE_OPEN_ERROR               = 1
       FILE_READ_ERROR               = 2
       NO_BATCH                      = 3
       GUI_REFUSE_FILETRANSFER       = 4
       INVALID_TYPE                  = 5
       NO_AUTHORITY                  = 6
       UNKNOWN_ERROR                 = 7
       BAD_DATA_FORMAT               = 8
       HEADER_NOT_ALLOWED            = 9
       SEPARATOR_NOT_ALLOWED         = 10
       HEADER_TOO_LONG               = 11
       UNKNOWN_DP_ERROR              = 12
       ACCESS_DENIED                 = 13
       DP_OUT_OF_MEMORY              = 14
       DISK_FULL                     = 15
       DP_TIMEOUT                    = 16
       OTHERS                        = 17
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
                   DATA POPULATIONS                                    *
    LOOP AT  IT_MATMASTER.
      BAPIMATHEAD-MATERIAL = IT_MATMASTER-MATNR.
      BAPIMATHEAD-IND_SECTOR = IT_MATMASTER-Mbrsh.
      BAPIMATHEAD-MATL_TYPE = IT_MATMASTER-Mtart.
      BAPIMATHEAD-BASIC_VIEW = 'X'.
      BAPIMATHEAD-PURCHASE_VIEW = 'X'.
      BAPIMATHEAD-ACCOUNT_VIEW = 'X'.
      BAPI_MARA-MATL_GROUP = IT_MATMASTER-MATKL.
      BAPI_MARA-OLD_MAT_NO = IT_MATMASTER-BISMT.
      BAPI_MARA-BASE_UOM = IT_MATMASTER-MEINS.
      BAPI_MARA-BASIC_MATL = IT_MATMASTER-WRKST.
      BAPI_MARA-MFR_NO = IT_MATMASTER-MFRNR.
      BAPI_MARAX-MATL_GROUP = 'X'.
      BAPI_MARAX-OLD_MAT_NO = 'X'.
      BAPI_MARAX-BASE_UOM = 'X'.
      BAPI_MARAX-BASIC_MATL = 'X'.
      BAPI_MARAX-MFR_NO = 'X'.
      BAPI_MARC-PLANT = IT_MATMASTER-WERKS.
      BAPI_MARC-PUR_GROUP = IT_MATMASTER-EKGRP.
      BAPI_MARCX-PLANT = IT_MATMASTER-WERKS.
      BAPI_MARCX-PUR_GROUP = 'X'.
      IT_MATERIALDESC-LANGU = 'EN'.
      IT_MATERIALDESC-MATL_DESC = IT_MATMASTER-MAKTX.
      append IT_materialdesc.
      CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
        EXPORTING
          headdata                   = BAPIMATHEAD
          CLIENTDATA                 = BAPI_MARA
          CLIENTDATAX                = BAPI_MARAx
         PLANTDATA                  = BAPI_MARc
         PLANTDATAX                 = BAPI_MARcx
        FORECASTPARAMETERS         =
        FORECASTPARAMETERSX        =
        PLANNINGDATA               =
        PLANNINGDATAX              =
        STORAGELOCATIONDATA        =
        STORAGELOCATIONDATAX       =
        VALUATIONDATA              =
        VALUATIONDATAX             =
        WAREHOUSENUMBERDATA        =
        WAREHOUSENUMBERDATAX       =
        SALESDATA                  =
        SALESDATAX                 =
        STORAGETYPEDATA            =
        STORAGETYPEDATAX           =
        FLAG_ONLINE                = ' '
        FLAG_CAD_CALL              = ' '
       IMPORTING
         RETURN                     = IT_RETURN
       TABLES
         MATERIALDESCRIPTION        = IT_MATERIALDESC
        UNITSOFMEASURE             =
        UNITSOFMEASUREX            =
        INTERNATIONALARTNOS        =
        MATERIALLONGTEXT           =
        TAXCLASSIFICATIONS         =
        RETURNMESSAGES             =
        PRTDATA                    =
        PRTDATAX                   =
        EXTENSIONIN                =
        EXTENSIONINX               =
    WRITE:/    IT_RETURN-TYPE,
            2   IT_RETURN-ID,
            22  IT_RETURN-NUMBER,
            25  IT_RETURN-MESSAGE.
               IT_RETURN-LOG_NO,
               IT_RETURN-LOG_MSG_NO,
               IT_RETURN-MESSAGE_V1,
               IT_RETURN-MESSAGE_V2,
               IT_RETURN-MESSAGE_V3,
               IT_RETURN-MESSAGE_V4,
               IT_RETURN-PARAMETER,
               IT_RETURN-ROW,
               IT_RETURN-FIELD,
               IT_RETURN-SYSTEM.
    ENDLOOP.
    Regards,
    Naveen

Maybe you are looking for

  • How to use Batch operation for two xsodata services?

    Hi All, I have two xsodata services. How to use submit batch for two xsodata services Thanks,      Mj

  • My ipod wont sync with mac

    i have an older (wheel) 64gb ipod.  It is not letting me sync the songs i have on my ipod with my itunes library. I get a msg that says if yousync this ipod to your library you will lose all your songs and movies.  I dont want to lose anything instea

  • Adobe Flash Player is out of date (GOOGLE CHROME) it isn't...

    Hello! I am not very computer savvy so bare with me, but if anyone can help me I would be very grateful. I am using Google Chrome web browser (I have IE and FF but for some reason they are sooo slow). Everytime I visit a page that uses Flash (every p

  • Dual monitor per ideacentre a730

    come posso fare per collegare un secondo monitor ? ho provato con un cavo vga/hdmi ma non ci sono riuscito, quale procedura devo seguire ?  Moderator Note; translate.google.com translation of above. how do I connect a second monitor? I tried using a

  • My IPOD nano dosen't work

    i still hearing song this afternoon and after a few hours that i turned off my ipod i couldn't turn it on again. i think its juz no battery so i plugin the connect wire for charging.But that dosen't work too. The apple logo appear. But juz a moment.T