MM views in BAPI_MATERIAL_SAVEDATA

Hi gurus,
I would like to ask if how can I know the field to supply with data for a specific view in MM01. For example if I want to create the Purchasing View of the material, what parameters in the BAPi will I have to supply.
Thank you very much!
Andre

Hello Andre,
                     Check the below program :
REPORT zmm_extendonline
NO STANDARD
PAGE HEADING
LINE-SIZE 255
MESSAGE-ID zz.
TABLES: mara,
       marc,
       mbew.
DATA: BEGIN OF return OCCURS 0.
       INCLUDE STRUCTURE bapiret2.
DATA: END OF return.
DATA: BEGIN OF bapimathead.
       INCLUDE STRUCTURE  bapimathead.
DATA: END OF bapimathead.
DATA: BEGIN OF bapi_mara.
       INCLUDE STRUCTURE  bapi_mara.
DATA: END OF bapi_mara.
DATA: BEGIN OF bapi_marax.
       INCLUDE STRUCTURE  bapi_marax.
DATA: END OF bapi_marax.
DATA: BEGIN OF bapi_marc.
       INCLUDE STRUCTURE  bapi_marc.
DATA: END OF bapi_marc.
DATA: BEGIN OF bapi_marcx.
       INCLUDE STRUCTURE  bapi_marcx.
DATA: END OF bapi_marcx.
DATA: BEGIN OF bapi_mard.
       INCLUDE STRUCTURE  bapi_mard.
DATA: END OF bapi_mard.
DATA: BEGIN OF bapi_mardx.
       INCLUDE STRUCTURE  bapi_mardx.
DATA: END OF bapi_mardx.
DATA: BEGIN OF bapi_mbew.
       INCLUDE STRUCTURE  bapi_mbew.
DATA: END OF bapi_mbew.
DATA: BEGIN OF bapi_mbewx.
       INCLUDE STRUCTURE  bapi_mbewx.
DATA: END OF bapi_mbewx.
DATA: BEGIN OF bapi_mvke.
       INCLUDE STRUCTURE  bapi_mvke.
DATA: END OF bapi_mvke.
DATA: BEGIN OF bapi_mvkex.
       INCLUDE STRUCTURE  bapi_mvkex.
DATA: END OF bapi_mvkex.
DATA: BEGIN OF i_tvkwz OCCURS 0,
        werks LIKE tvkwz-werks,
     END OF i_tvkwz.
DATA: BEGIN OF i_mara OCCURS 0,
        matnr LIKE mara-matnr,
     END OF i_mara.
SELECT-OPTIONS: sl_matnr FOR mara-matnr NO INTERVALS.
PARAMETERS: p_werks(4) TYPE c,
           ef_werks(4) TYPE c,
           et_werks(4) TYPE c.
DATA: p_matnr(10) TYPE c,
     c_matnr(18) TYPE c,
     c2_matnr(18) TYPE c,
     mtart_003(18) TYPE c,
     u_mtart_003(18) TYPE c,
     c_matl_group LIKE mara-matkl,
     c_old_mat_no LIKE mara-bismt,
     c_base_uom LIKE mara-meins,
     c_division LIKE mara-spart,
     c_net_weight LIKE mara-ntgew,
     c_unit_of_wt LIKE mara-gewei,
     c_size_dim LIKE mara-groes,
     c_item_cat LIKE mara-mtpos_mara,
     c_pur_valkey LIKE mara-ekwsl,
     w_matnr(18) TYPE c,
     u_matnr(10) TYPE c,
     c_lgort(4) TYPE c,
     u_lgort(4) TYPE c,
     c_prctr(10) TYPE c,
     c_stprs LIKE mbew-stprs,
     c1_stprs LIKE mbew-stprs,
     u_stprs(15) TYPE c,
     c_verpr LIKE mbew-verpr,
     c1_verpr LIKE mbew-verpr,
     u_verpr(15) TYPE c,
     w_bklas(04) TYPE c,
     c_bklas(04) TYPE c,
     c_sobsl(02) TYPE c,
     u_bklas LIKE mbew-bklas,
     c_peinh LIKE mbew-peinh,
     c_ekgrp LIKE marc-ekgrp,
     c_vprsv LIKE mbew-vprsv,
     ck_werks(4) TYPE c,
     wf_werks(4) TYPE c,
     wt_werks(4) TYPE c,
     w_line(70) TYPE c,
     matnr_found_sw(01) TYPE c VALUE u2018Nu2019,
     used_matnr_found_sw(01) TYPE c VALUE u2018Nu2019.
End generated data section ***
START-OF-SELECTION.
Load internal tables from SAP tables
u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014-
AUTHORITY-CHECK OBJECT u2018M_MATE_WRKu2019
         ID u2018WERKSu2019 FIELD ef_werks
         ID u2018ACTVTu2019 FIELD u201801u2032.
IF sy-subrc 0.            u201DUser is not authorized
   CALL FUNCTION u2018POPUP_TO_DISPLAY_TEXTu2019
        EXPORTING
         titel     = u2018UNABLE TO EXTEND ITEMu2019
         textline1 = u2018You do not have authorization to extend to plantu2019
         textline2 = ef_werks.
   STOP.
ENDIF.
Set plant specified range as 4 digits
IF ef_werks+3(1) = u2018 u2018.
   wf_werks+0(1) = u20180u2032.
   wf_werks1(3) = ef_werks0(3).
ELSE.
   wf_werks = ef_werks.
ENDIF.
IF et_werks+3(1) = u2018 u2018.
   wt_werks+0(1) = u20180u2032.
   wt_werks1(3) = et_werks0(3).
ELSE.
   wt_werks = et_werks.
ENDIF.
IF wf_werks > wt_werks.
   wt_werks = wf_werks.
ENDIF.
load all items to be processed for this run SL_MATNR table
LOOP AT sl_matnr.
   i_mara-matnr = sl_matnr-low.
   APPEND i_mara.
ENDLOOP.
PERFORM fill_plant_tb.
LOOP AT i_mara.
   p_matnr = i_mara-matnr+8(10).
   matnr_found_sw      = u2018Nu2019.
   used_matnr_found_sw = u2018Nu2019.
   PERFORM check_material_type.
   u_matnr = p_matnr.
   MOVE u20182u2032 TO u_matnr+0(1).
   SORT i_tvkwz.
   IF matnr_found_sw = u2018Yu2019.
     LOOP AT i_tvkwz.
       AUTHORITY-CHECK OBJECT u2018M_MATE_WRKu2019
               ID u2018WERKSu2019 FIELD i_tvkwz-werks
               ID u2018ACTVTu2019 FIELD u201801u2032.
       IF sy-subrc 0.            u201DUser is not authorized
         CALL FUNCTION u2018POPUP_TO_DISPLAY_TEXTu2019
              EXPORTING
               titel     = u2018UNABLE TO EXTEND ITEMu2019
        textline1 = u2018You do not have authorization to extend to plantu2019
               textline2 = i_tvkwz-werks.
         STOP.
       ENDIF.
       IF i_tvkwz-werks+3(1) = u2018 u2018.
         ck_werks+0(1) = u20180u2032.
         ck_werks1(3) = i_tvkwz-werks0(3).
       ELSE.
         ck_werks = i_tvkwz-werks.
       ENDIF.
       IF ck_werks >= wf_werks AND
          ck_werks u2018 u2018.
           c_lgort = i_tvkwz-werks.
           u_lgort = i_tvkwz-werks.
           MOVE u20180000005500u2032 TO c_prctr.
         ENDIF.
Check to make sure material is not already maintain for plant
         MOVE u20181u2032 TO c_matnr+8(1).
         SELECT SINGLE matnr FROM marc INTO w_matnr
           WHERE matnr = c_matnr
             AND werks = i_tvkwz-werks.
         IF sy-subrc 0.
           PERFORM extend_new_matnr.
           SELECT SINGLE matnr FROM marc INTO w_matnr
             WHERE matnr = c_matnr
               AND werks = i_tvkwz-werks.
           IF sy-subrc = 0.
           MOVE u2018                                                    u2019
                                     TO w_line.
             CONCATENATE
             u2019Material #: u2018 p_matnr u2018 was extended to plant: u2018
              i_tvkwz-werks
              INTO w_line.
             WRITE AT / w_line.
           ELSE.
           MOVE u2018                                                    u2019
                                     TO w_line.
             CONCATENATE
             u2019Error Material #: u2018 p_matnr u2018 not extended to plant: u2018
              i_tvkwz-werks
              INTO w_line.
             WRITE AT / w_line.
           ENDIF.
         ELSE.
           MOVE u2018                                                    u2019
             TO w_line.
           CONCATENATE
           u2019Material #: u2018 p_matnr u2018 is already extended to plant: u2018
            i_tvkwz-werks
            INTO w_line.
           WRITE AT / w_line.
         ENDIF.
Check to make sure material is not already maintain for plant
         MOVE u20182u2032 TO c_matnr+8(1).
         SELECT SINGLE matnr FROM marc INTO w_matnr
           WHERE matnr = c_matnr
             AND werks = i_tvkwz-werks.
         IF sy-subrc 0.
           IF mtart_003 u2018ZCONu2019 AND
              used_matnr_found_sw = u2018Yu2019.
             PERFORM extend_used_matnr.
             SELECT SINGLE matnr FROM marc INTO w_matnr
               WHERE matnr = c_matnr
                 AND werks = i_tvkwz-werks.
             IF sy-subrc = 0.
           MOVE u2018                                                    u2019
                                                             TO w_line
               CONCATENATE
               u2019Material #: u2018 u_matnr u2018 was extended to plant: u2018
                i_tvkwz-werks
                INTO w_line.
               WRITE AT / w_line.
             ELSE.
           MOVE u2018                                                    u2019
                                                             TO w_line
               CONCATENATE
               u2019Error Material #: u2018 u_matnr u2018 not extended to plant: u2018
                i_tvkwz-werks
                INTO w_line.
               WRITE AT / w_line.
             ENDIF.
           ENDIF.
         ELSE.
           MOVE u2018                                                    u2019
             TO w_line.
           CONCATENATE
           u2019Material #: u2018 u_matnr u2018 is already extended to plant: u2018
            i_tvkwz-werks
            INTO w_line.
           WRITE AT / w_line.
         ENDIF.
       ENDIF.
     ENDLOOP.
   ELSEIF  matnr_found_sw = u2018Nu2019.
     CALL FUNCTION u2018POPUP_TO_DISPLAY_TEXTu2019
          EXPORTING
               titel     = u2018UNABLE TO EXTEND ITEMu2019
               textline1 = u2018Item does not exist in SAPu2019
               textline2 = p_matnr.
     STOP.
   ENDIF.
ENDLOOP.
&u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014
*&      Form  Check_Material_Type
&u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014
FORM check_material_type.
CLEAR: c_matnr, c_stprs, u_mtart_003.
CONCATENATE u201800000000u2032 p_matnr INTO c_matnr.
c2_matnr = c_matnr.
MOVE u20182u2032 TO c2_matnr+8(1).
Get used item info (material type, valuation class)
SELECT SINGLE mtart INTO u_mtart_003 FROM mara WHERE matnr = c2_matnr.
IF sy-subrc = 0.
   used_matnr_found_sw = u2018Yu2019.
   SELECT SINGLE bklas
      INTO u_bklas FROM mbew
      WHERE matnr = c2_matnr.
ENDIF.
Get new item info (material type, valuation class)
SELECT SINGLE mtart INTO mtart_003 FROM mara WHERE matnr = c_matnr.
IF sy-subrc = 0.
   matnr_found_sw = u2018Yu2019.
   SELECT SINGLE verpr stprs bklas peinh vprsv
      INTO (c_verpr,c_stprs,c_bklas,c_peinh,c_vprsv) FROM mbew
      WHERE matnr = c_matnr.
   c1_stprs = c_stprs / 5.
   c1_verpr = c_verpr / 5.
   u_stprs = c1_stprs.
   u_verpr = c1_verpr.
If the item is not found as used then determine valuation class
otherwise use the one from the database
   IF u_mtart_003 u2018ZCONu2019 AND
      u_mtart_003 u2018HAWAu2019.
     IF mtart_003 = u2018ZCONu2019.
       u_bklas = c_bklas.
     ELSEIF c_bklas = u2018ISHPu2019.
       MOVE u2018ISTUu2019 TO u_bklas.
     ELSE.
       u_bklas = c_bklas.
       MOVE u2018Uu2019 TO u_bklas+3(1).
     ENDIF.
   ENDIF.
   SELECT SINGLE bklas
      FROM t025
      INTO w_bklas
      WHERE bklas = c_bklas.
   IF sy-subrc = 0.
     SELECT SINGLE bklas
        FROM t025
        INTO w_bklas
        WHERE bklas = u_bklas.
     IF sy-subrc 0.
       u_bklas = c_bklas.
     ENDIF.
   ENDIF.
Get purchasing group (buyer) from any plant other than 5502
   MOVE u20181u2032 TO c_matnr+8(1).
   SELECT SINGLE ekgrp FROM marc INTO c_ekgrp
     WHERE matnr = c_matnr
       AND werks 5502.
Check to see material is stocked at 5502
   MOVE u20181u2032 TO c_matnr+8(1).
   SELECT SINGLE matnr FROM marc INTO w_matnr
     WHERE matnr = c_matnr
       AND werks = 5502.
   IF sy-subrc = 0.
     MOVE u201840u2032 TO c_sobsl.
   ELSE.
     MOVE u2018 u2018 TO c_sobsl.
   ENDIF.
ENDIF.
ENDFORM.                    u201D Check_Material_Type
&u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014
*&      Form  fill_plant_tb
&u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014
Load plant, distribution channel and sales organization table        *
(tvkwz) into an internal table to be able to use this info for       *
extending an item to multiple specified plants.                      *
u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014-
FORM fill_plant_tb.
REFRESH i_tvkwz.
CLEAR i_tvkwz.
SELECT werks INTO i_tvkwz-werks
    FROM tvkwz
      WHERE vkorg = u20181000u2032
      AND   vtweg = u201800u2032.
   IF i_tvkwz-werks+3(1) = u2018 u2018.
     ck_werks+0(1) = u20180u2032.
     ck_werks1(3) = i_tvkwz-werks0(3).
   ELSE.
     ck_werks = i_tvkwz-werks.
   ENDIF.
   IF ck_werks >= wf_werks AND
      ck_werks u20189u2032 AND
     IF i_tvkwz-werks u20185502u2032 AND
       i_tvkwz-werks u20185501u2032.
       APPEND i_tvkwz.
       CLEAR i_tvkwz.
     ELSEIF i_tvkwz-werks = u2018900u2032 OR
            i_tvkwz-werks = u2018901u2032 OR
            i_tvkwz-werks = u2018902u2032.
       APPEND i_tvkwz.
       CLEAR i_tvkwz.
     ENDIF.
   ENDIF.
ENDSELECT.
ENDFORM.                    u201D fill_plant_tb
&u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014
*&      Form  extend_new_matnr
&u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014
FORM extend_new_matnr.
PERFORM fill_new_matnr_data.
CALL FUNCTION u2018BAPI_MATERIAL_SAVEDATAu2019
   EXPORTING
     headdata                   = bapimathead
  CLIENTDATA                 *   CLIENTDATAX                      plantdata                  = bapi_marc
     plantdatax                 = bapi_marcx
  FORECASTPARAMETERS         *   FORECASTPARAMETERSX        *   PLANNINGDATA               *   PLANNINGDATAX                    storagelocationdata        = bapi_mard
     storagelocationdatax       = bapi_mardx
     valuationdata              = bapi_mbew
     valuationdatax             = bapi_mbewx
  WAREHOUSENUMBERDATA        *   WAREHOUSENUMBERDATAX             salesdata                  = bapi_mvke
     salesdatax                 = bapi_mvkex
  STORAGETYPEDATA            *   STORAGETYPEDATAX               IMPORTING
     return                     = return
TABLES
  MATERIALDESCRIPTION        *   UNITSOFMEASURE             *   UNITSOFMEASUREX            *   INTERNATIONALARTNOS        *   MATERIALLONGTEXT           *   TAXCLASSIFICATIONS         *   RETURNMESSAGES             *   PRTDATA                    *   PRTDATAX                   *   EXTENSIONIN                *   EXTENSIONINX                           .
Saves work
COMMIT WORK AND WAIT.
ENDFORM.                    u201D extend_new_matnr
&u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014
*&      Form  extend_used_matnr
&u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014
FORM extend_used_matnr.
PERFORM fill_used_matnr_data.
CALL FUNCTION u2018BAPI_MATERIAL_SAVEDATAu2019
   EXPORTING
     headdata                   = bapimathead
  CLIENTDATA                 *   CLIENTDATAX                      plantdata                  = bapi_marc
     plantdatax                 = bapi_marcx
  FORECASTPARAMETERS         *   FORECASTPARAMETERSX        *   PLANNINGDATA               *   PLANNINGDATAX                    storagelocationdata        = bapi_mard
     storagelocationdatax       = bapi_mardx
     valuationdata              = bapi_mbew
     valuationdatax             = bapi_mbewx
  WAREHOUSENUMBERDATA        *   WAREHOUSENUMBERDATAX             salesdata                  = bapi_mvke
     salesdatax                 = bapi_mvkex
  STORAGETYPEDATA            *   STORAGETYPEDATAX               IMPORTING
     return                     = return
TABLES
  MATERIALDESCRIPTION        *   UNITSOFMEASURE             *   UNITSOFMEASUREX            *   INTERNATIONALARTNOS        *   MATERIALLONGTEXT           *   TAXCLASSIFICATIONS         *   RETURNMESSAGES             *   PRTDATA                    *   PRTDATAX                   *   EXTENSIONIN                *   EXTENSIONINX                           .
Saves work
COMMIT WORK AND WAIT.
ENDFORM.                    u201D extend_used_matnr
&u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014
*&      Form  fill_new_matnr_data
&u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014
FORM fill_new_matnr_data.
CLEAR bapimathead.
bapimathead-material      = c_matnr.
  bapimathead-basic_view  = u2018Xu2019.
bapimathead-sales_view    = u2018Xu2019.
bapimathead-purchase_view = u2018Xu2019.
bapimathead-mrp_view      = u2018Xu2019.
bapimathead-storage_view  = u2018Xu2019.
bapimathead-account_view  = u2018Xu2019.
CLEAR bapi_marc.
bapi_marc-plant       = i_tvkwz-werks.
bapi_marc-pur_group   = c_ekgrp.
bapi_marc-mrp_type    = u2018NDu2019.
bapi_marc-period_ind  = u2018Mu2019.
bapi_marc-lotsizekey  = u2018EXu2019.
bapi_marc-proc_type   = u2018Fu2019.
bapi_marc-spproctype  = c_sobsl.
bapi_marc-availcheck  = u201802u2032.
bapi_marc-profit_ctr  = c_prctr.
bapi_marc-sloc_exprc  = c_lgort.
IF i_tvkwz-werks = u20188300u2032.
   bapi_marc-mrp_ctrler  = u201813u2032.
   bapi_marc-mrp_group   = u201813u2032.
ELSEIF i_tvkwz-werks = u20188400u2032.
   bapi_marc-mrp_ctrler  = u201814u2032.
   bapi_marc-mrp_group   = u201814u2032.
ELSEIF i_tvkwz-werks = u20188500u2032.
   bapi_marc-mrp_ctrler  = u201815u2032.
   bapi_marc-mrp_group   = u201815u2032.
ELSEIF i_tvkwz-werks = u20188600u2032.
   bapi_marc-mrp_ctrler  = u201816u2032.
   bapi_marc-mrp_group   = u201816u2032.
ELSE.
   bapi_marc-mrp_ctrler  = u2018001u2032.
   bapi_marc-mrp_group   = u20180001u2032.
ENDIF.
CLEAR bapi_marcx.
bapi_marcx-plant      = i_tvkwz-werks.
bapi_marcx-pur_group  = u2018Xu2019.
bapi_marcx-mrp_type   = u2018Xu2019.
bapi_marcx-period_ind = u2018Xu2019.
bapi_marcx-lotsizekey = u2018Xu2019.
bapi_marcx-proc_type  = u2018Xu2019.
bapi_marcx-availcheck = u2018Xu2019.
bapi_marcx-profit_ctr = u2018Xu2019.
bapi_marcx-sloc_exprc = u2018Xu2019.
bapi_marcx-mrp_ctrler = u2018Xu2019.
bapi_marcx-mrp_group  = u2018Xu2019.
bapi_marcx-spproctype = u2018Xu2019.
CLEAR bapi_mard.
bapi_mard-plant      = i_tvkwz-werks.
bapi_mard-stge_loc   = c_lgort.
CLEAR bapi_mardx.
bapi_mardx-plant     = i_tvkwz-werks.
bapi_mardx-stge_loc  = c_lgort.
CLEAR bapi_mbew.
bapi_mbew-val_area    = i_tvkwz-werks.
bapi_mbew-price_ctrl  = c_vprsv.
bapi_mbew-moving_pr   = c_verpr.
bapi_mbew-std_price   = c_stprs.
bapi_mbew-price_unit  = c_peinh.
bapi_mbew-val_class   = c_bklas.
CLEAR bapi_mbewx.
bapi_mbewx-val_area   = i_tvkwz-werks.
bapi_mbewx-price_ctrl = u2018Xu2019.
bapi_mbewx-moving_pr  = u2018Xu2019.
bapi_mbewx-std_price  = u2018Xu2019.
bapi_mbewx-price_unit = u2018Xu2019.
bapi_mbewx-val_class  = u2018Xu2019.
CLEAR bapi_mvke.
bapi_mvke-sales_org   = u20181000u2032.
bapi_mvke-distr_chan  = u201800u2032.
CLEAR bapi_mvkex.
bapi_mvkex-sales_org   = u20181000u2032.
bapi_mvkex-distr_chan  = u201800u2032.
bapi_mvkex-delyg_plnt  = u2018Xu2019.
ENDFORM.                    u201D fill_new_matnr_data
&u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014
*&      Form  fill_used_matnr_data
&u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014u2014
FORM fill_used_matnr_data.
CLEAR bapimathead.
bapimathead-material      = c_matnr.
  bapimathead-basic_view  = u2018Xu2019.
bapimathead-sales_view    = u2018Xu2019.
bapimathead-purchase_view = u2018Xu2019.
bapimathead-mrp_view      = u2018Xu2019.
bapimathead-storage_view  = u2018Xu2019.
bapimathead-account_view  = u2018Xu2019.
CLEAR bapi_marc.
bapi_marc-plant       = i_tvkwz-werks.
bapi_marc-pur_group   = c_ekgrp.
bapi_marc-mrp_type    = u2018NDu2019.
bapi_marc-period_ind  = u2018Mu2019.
bapi_marc-lotsizekey  = u2018EXu2019.
bapi_marc-proc_type   = u2018Fu2019.
bapi_marc-spproctype  = u2018  u2019.
bapi_marc-availcheck  = u201802u2032.
bapi_marc-profit_ctr  = c_prctr.
bapi_marc-sloc_exprc  = u_lgort.
IF i_tvkwz-werks = u20188300u2032.
   bapi_marc-mrp_ctrler  = u201813u2032.
   bapi_marc-mrp_group   = u201813u2032.
ELSEIF i_tvkwz-werks = u20188400u2032.
   bapi_marc-mrp_ctrler  = u201814u2032.
   bapi_marc-mrp_group   = u201814u2032.
ELSEIF i_tvkwz-werks = u20188500u2032.
   bapi_marc-mrp_ctrler  = u201815u2032.
   bapi_marc-mrp_group   = u201815u2032.
ELSEIF i_tvkwz-werks = u20188600u2032.
   bapi_marc-mrp_ctrler  = u201816u2032.
   bapi_marc-mrp_group   = u201816u2032.
ELSE.
   bapi_marc-mrp_ctrler  = u2018001u2032.
   bapi_marc-mrp_group   = u20180001u2032.
ENDIF.
CLEAR bapi_marcx.
bapi_marcx-plant      = i_tvkwz-werks.
bapi_marcx-pur_group  = u2018Xu2019.
bapi_marcx-mrp_type   = u2018Xu2019.
bapi_marcx-period_ind = u2018Xu2019.
bapi_marcx-lotsizekey = u2018Xu2019.
bapi_marcx-proc_type  = u2018Xu2019.
bapi_marcx-availcheck = u2018Xu2019.
bapi_marcx-profit_ctr = u2018Xu2019.
bapi_marcx-sloc_exprc = u2018Xu2019.
bapi_marcx-mrp_ctrler = u2018Xu2019.
bapi_marcx-mrp_group  = u2018Xu2019.
bapi_marcx-spproctype = u2018Xu2019.
CLEAR bapi_mard.
bapi_mard-plant      = i_tvkwz-werks.
bapi_mard-stge_loc   = u_lgort.
CLEAR bapi_mardx.
bapi_mardx-plant     = i_tvkwz-werks.
bapi_mardx-stge_loc  = u_lgort.
CLEAR bapi_mbew.
bapi_mbew-val_area    = i_tvkwz-werks.
bapi_mbew-price_ctrl  = c_vprsv.
bapi_mbew-moving_pr   = c1_verpr.
bapi_mbew-std_price   = c1_stprs.
bapi_mbew-price_unit  = c_peinh.
bapi_mbew-val_class   = u_bklas.
CLEAR bapi_mbewx.
bapi_mbewx-val_area   = i_tvkwz-werks.
bapi_mbewx-price_ctrl = u2018Xu2019.
bapi_mbewx-moving_pr  = u2018Xu2019.
bapi_mbewx-std_price  = u2018Xu2019.
bapi_mbewx-price_unit = u2018Xu2019.
bapi_mbewx-val_class  = u2018Xu2019.
CLEAR bapi_mvke.
bapi_mvke-sales_org   = u20181000u2032.
bapi_mvke-distr_chan  = u201800u2032.
CLEAR bapi_mvkex.
bapi_mvkex-sales_org   = u20181000u2032.
bapi_mvkex-distr_chan  = u201800u2032.
bapi_mvkex-delyg_plnt  = u2018Xu2019.
ENDFORM.                    u201D fill_used_data
Hoppe this helps you.
Thanks,
Greetson

Similar Messages

  • How to select a custom view in BAPI_MATERIAL_SAVEDATA

    In our company we have defined some CUSTOM views for different materials. I want to select a custom view in the header data but don't see an option. The only options I see are as follows:
    MATERIAL
    IND_SECTOR
    MATL_TYPE
    BASIC_VIEW
    SALES_VIEW
    PURCHASE_VIEW
    MRP_VIEW
    FORECAST_VIEW
    WORK_SCHED_VIEW
    PRT_VIEW
    STORAGE_VIEW
    WAREHOUSE_VIEW
    QUALITY_VIEW
    ACCOUNT_VIEW
    COST_VIEW
    INP_FLD_CHECK
    MATERIAL_EXTERNAL
    MATERIAL_GUID
    MATERIAL_VERSION
    How can I select a view (in BAPI_MATERIAL_SAVEDATA) that's not a standard SAP view?
    Please help!
    Thanks.

    Hi,
    which views do you select in the structure HEADDATA? Do you select STORAGE_VIEW?
    Cheers

  • How to add classification view using BAPI_MATERIAL_SAVEDATA

    Hi,
    Please any one let me know how to add classification view using BAPI_MATERIAL_SAVEDATA to the material master.
    Thanks,
    shekar

    We use this bapi on a regular basis as well as classification of materials.  We have success doing this in 2 steps.  First step is to save the material using BAPI_MATERIAL_SAVEDATA, second step is to save classification using BAPI_OBJCL_CHANGE  (this can be used for both create and change)  Also look at Function Group CLBPA .   there are several bapi's in that group dealing with object classification, including the one I mentioned..

  • BASIC PLANT DATA VIEW in BAPI_MATERIAL_SAVEDATA

    HI,
        I need to save some fields in the BASIC PLANT DATA View using BAPI_MATERIAL_SAVEDATA. Would anyone know the HEADER VIEW DATA I need to select and how I am going to go about this?
    I am able to successfully save a material but I am having problems in creating the material's BASIC PLANT DATA VIEW.
    Thanks!

    Check out this code:
    *& Report  ZBAPI_MATERIAL_SAVEDATA
    *& AUTHOR
    *& PURPOSE : THIS REPORT USES BAPI MATERIAL SAVE DATA TO UPDATE AND CREATE
    *&           THE MATERIAL
    REPORT  ZBAPI_MATERIAL_SAVEDATA NO STANDARD PAGE HEADING MESSAGE-ID (ZHNC).
    TYPES:BEGIN OF TY_MAT,
           MATERIAL(4),
           IND_SECTOR(1),
           MATL_TYPE(4),
    **       BASIC_VIEW(1),
    **       SALES_VIEW(1),
    **       PURCHASE_VIEW(1),
    *       STORAGE_VIEW(1),
           MATL_GROUP(9),
           BASE_UOM(3),
           BASE_UOM_ISO(3),
    *       MATL_GROUP1(1),
    *       BASE_UOM1(1),
    *       BASE_UOM_ISO1(1),
           PLANT(4),
           DEL_FLAG(1),
           PUR_GROUP(3),
           BASE_QTY(13),
    *       PLANT2(4),
    *       DEL_FLAG5(1),
    *       PUR_GROUP1(1),
    *       BASE_QTY1(1),
    *       PLANT3(4),
           STGE_LOC(4),
           MRP_IND(1),
    *       PLANT4(4),
    *       STGE_LOC1(4),
    *       MRP_IND1(1),
           SALES_ORG(4),
           DISTR_CHAN(2),
           DEL_FLAG1(1),
           MIN_ORDER(13),
    *       SALES_ORG1(4),
    *       DISTR_CHAN1(2),
    *       DEL_FLAG2(1),
    *       MIN_ORDER1(1),
           LANGU(2),
          MATL_DESC(40),
       END OF TY_MAT.
    DATA: IT_DATA TYPE TABLE OF TY_MAT,
          WA_DATA LIKE LINE  OF IT_DATA.
    *decalraing flag
    data: v_flag value ''.
    *DECLARING WORK AREAs  TO BE PASSED TO THE FUNCTION MODULE.
    DATA: BAPI_HEAD LIKE BAPIMATHEAD,
          BAPI_CLIENTDATA LIKE BAPI_MARA,
          BAPI_CLIENTDATAX LIKE BAPI_MARAX,
          BAPI_PLANTDATA LIKE BAPI_MARC,
          BAPI_PLANTDATAX LIKE  BAPI_MARCX,
          BAPI_STORAGELOCATIONDATA LIKE BAPI_MARD,
          BAPI_STORAGELOCATIONDATAX LIKE BAPI_MARDX,
          BAPI_SALESDATA LIKE BAPI_MVKE,
          BAPI_SALESDATAX LIKE BAPI_MVKEX,
          BAPI_MAKT LIKE BAPI_MAKT,
          BAPI_RETURN LIKE BAPIRET2.
    *INTERNAL TABLE TO HOLD THE MATERIAL DESCRIPTION
    DATA: BEGIN OF IT_MAKT OCCURS 0.
    INCLUDE STRUCTURE BAPI_MAKT.
    DATA END OF IT_MAKT.
    DATA:BEGIN OF IT_RET OCCURS 0.
    INCLUDE STRUCTURE BAPIRET2.
    DATA END OF IT_RET.
    *INTERNAL TABLE TO HOLD HEADER DATA
    DATA: IT_EXCEL TYPE ALSMEX_TABLINE OCCURS 0 WITH HEADER LINE.
    *SELECTION-SCREEN ELEMENTS
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
    PARAMETER: FNAME TYPE RLGRAP-FILENAME OBLIGATORY DEFAULT 'C:\Documents and Settings\Administrator\Desktop\MATMAS.XLS' .
    PARAMETERS: P_BEGCOL TYPE I DEFAULT 1 NO-DISPLAY,
                P_BEGROW TYPE I DEFAULT 1 NO-DISPLAY,
                P_ENDCOL TYPE I DEFAULT 100 NO-DISPLAY,
                P_ENDROW TYPE I DEFAULT 32000 NO-DISPLAY.
    SELECTION-SCREEN END OF BLOCK B1.
    *DECLARATION OF EXCELAL TABLE
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR FNAME.
    PERFORM F_GET_FILE USING FNAME.
    START-OF-SELECTION.
    PERFORM F_XLS_ITAB USING FNAME
                       CHANGING IT_EXCEL.
    PERFORM F_MOVE_DATA.
    perform F_GET_DATA.
    *&      Form  F_GET_FILE
    *       text
    *      -->P_FNAME  text
    *      <--P_SY_SUBRC  text
    FORM F_GET_FILE  USING    P_FNAME LIKE FNAME.
    CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
    EXPORTING
       PROGRAM_NAME        = SYST-REPID
       DYNPRO_NUMBER       = SYST-DYNNR
    *   FIELD_NAME          = ' '
    *   STATIC              = ' '
    *   MASK                = ' '
      CHANGING
        FILE_NAME           = P_FNAME
    * EXCEPTIONS
    *   MASK_TOO_LONG       = 1
    *   OTHERS              = 2
    IF SY-SUBRC  0.
    MESSAGE E006(ZHNC).
    ENDIF.
    ENDFORM.                    " F_GET_FILE
    *&      Form  F_XLS_ITAB
    *       text
    *      -->P_FNAME  text
    *      <--P_IT_EXCEL  text
    FORM F_XLS_ITAB  USING    P_FNAME
                     CHANGING P_IT_EXCEL.
    CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
      EXPORTING
        FILENAME                      = FNAME
        I_BEGIN_COL                   = P_BEGCOL
        I_BEGIN_ROW                   = P_BEGROW
        I_END_COL                     = P_ENDCOL
        I_END_ROW                     = P_ENDROW
      TABLES
        INTERN                        = IT_EXCEL
    EXCEPTIONS
       INCONSISTENT_PARAMETERS       = 1
       UPLOAD_OLE                    = 2
       OTHERS                        = 3
    IF SY-SUBRC  0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    ENDFORM.                    " F_XLS_ITAB
    *&      Form  F_MOVE_DATA
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM F_MOVE_DATA .
    DATA : LV_INDEX TYPE I.
    FIELD-SYMBOLS <FS>.
    *--- Sorting the internal table
    SORT IT_EXCEL BY ROW COL.
    CLEAR IT_EXCEL.
    LOOP AT IT_EXCEL.
    MOVE IT_EXCEL-COL TO LV_INDEX.
    *--- Assigning the each record to an internal table row
    ASSIGN COMPONENT LV_INDEX OF STRUCTURE WA_DATA TO <FS>.
    *--- Asigning the field value to a field symbol
    MOVE IT_EXCEL-VALUE TO <FS>.
    AT END OF ROW.
    APPEND WA_DATA TO IT_DATA.
    CLEAR WA_DATA.
    ENDAT.
    ENDLOOP.
    ENDFORM.                    " F_MOVE_DATA
    *&      Form  F_GET_DATA
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM F_GET_DATA .
    LOOP AT IT_DATA INTO WA_DATA.
    MOVE-CORRESPONDING WA_DATA  TO  BAPI_HEAD.
    BAPI_HEAD-BASIC_VIEW ='X'.
    BAPI_HEAD-SALES_VIEW ='X'.
    BAPI_HEAD-PURCHASE_VIEW ='X'.
    BAPI_HEAD-STORAGE_VIEW ='X'.
    MOVE-CORRESPONDING WA_DATA TO BAPI_CLIENTDATA.
    BAPI_CLIENTDATAX-MATL_GROUP = 'X'.
    BAPI_CLIENTDATAX-BASE_UOM = 'X'.
    BAPI_CLIENTDATAX-BASE_UOM_ISO = 'X'.
    MOVE-CORRESPONDING WA_DATA TO BAPI_PLANTDATA.
    BAPI_PLANTDATAX-PLANT = BAPI_PLANTDATA-PLANT.
    BAPI_PLANTDATAX-DEL_FLAG = 'X'.
    BAPI_PLANTDATAX-PUR_GROUP = 'X'.
    BAPI_PLANTDATAX-BASE_QTY = 'X'.
    MOVE-CORRESPONDING WA_DATA TO BAPI_STORAGELOCATIONDATA.
    BAPI_STORAGELOCATIONDATA-PLANT = BAPI_PLANTDATA-PLANT.
    BAPI_STORAGELOCATIONDATAX-PLANT = BAPI_STORAGELOCATIONDATA-PLANT.
    BAPI_STORAGELOCATIONDATAX-STGE_LOC = BAPI_STORAGELOCATIONDATA-STGE_LOC.
    BAPI_STORAGELOCATIONDATAX-MRP_IND = 'X'.
    MOVE-CORRESPONDING WA_DATA TO BAPI_SALESDATA.
    BAPI_SALESDATAX-SALES_ORG = BAPI_SALESDATA-SALES_ORG.
    BAPI_SALESDATAX-DISTR_CHAN = BAPI_SALESDATA-DISTR_CHAN.
    BAPI_SALESDATAX-DEL_FLAG = BAPI_SALESDATA-DEL_FLAG.
    BAPI_SALESDATAX-MIN_ORDER = 'X'.
    REFRESH IT_MAKT.
    IT_MAKT-LANGU = WA_DATA-LANGU.
    IT_MAKT-MATL_DESC = WA_DATA-MATL_DESC.
    APPEND IT_MAKT.
    CLEAR IT_RET.
    REFRESH IT_RET.
    PERFORM F_CALL_BAPI.
    READ TABLE IT_RET WITH KEY TYPE = 'S'.
    IF SY-SUBRC EQ 0.
    PERFORM F_BAPI_COMMIT.
    WRITE:/ 'MATERIAL CREATED OR UPDATED SUCESSFULLY WITH MATERIAL NO',WA_DATA-MATERIAL.
    ELSE.
    MESSAGE E000(ZHNC) WITH 'ERROR IN CREATING THE MATERIAL'.
    *WRITE: / 'ERROR IN CREATIN MATERIAL',IT_RET-MESSAGE.
    *PERFORM F_DOWNLOAD.
    ENDIF.
    *ENDIF.
    ENDLOOP.
    ENDFORM.                    " F_GET_DATA
    *&      Form  F_CALL_BAPI
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM F_CALL_BAPI .
    CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
      EXPORTING
        HEADDATA                   = BAPI_HEAD
       CLIENTDATA                 =  BAPI_CLIENTDATA
       CLIENTDATAX                =  BAPI_CLIENTDATAX
       PLANTDATA                  =  BAPI_PLANTDATA
       PLANTDATAX                 =  BAPI_PLANTDATAX
       STORAGELOCATIONDATA        =  BAPI_STORAGELOCATIONDATA
       STORAGELOCATIONDATAX       =  BAPI_STORAGELOCATIONDATAX
       SALESDATA                  =  BAPI_SALESDATA
       SALESDATAX                 =  BAPI_SALESDATAX
    IMPORTING
       RETURN                     =  IT_RET
    TABLES
       MATERIALDESCRIPTION        = IT_MAKT
    *   UNITSOFMEASURE             =
    *   UNITSOFMEASUREX            =
    *   INTERNATIONALARTNOS        =
    *   MATERIALLONGTEXT           =
    *   TAXCLASSIFICATIONS         =
    *   RETURNMESSAGES             =
    *   PRTDATA                    =
    *   PRTDATAX                   =
    *   EXTENSIONIN                =
    *   EXTENSIONINX               =
    APPEND IT_RET.
    ENDFORM.                    " F_CALL_BAPI
    *&      Form  F_BAPI_COMMIT
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM F_BAPI_COMMIT .
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    * EXPORTING
    *   WAIT         =
    * IMPORTING
    *   RETURN        =
    ENDFORM.                    " F_BAPI_COMMIT

  • Updating account view in BAPI_MATERIAL_SAVEDATA

    Hello!!
    I am using the BAPI_MATERIAL_SAVEDATA to create the views of many materials, but I found a trouble in the BAPI. Three fields aren't updated after the BAPI process.
    They are the Usage of the material (MARA-MTUSE), Origin of the material (MARA-MTORG) and the Produced in-house (MARA-OWNPR) from table MBEW.
    Debugging the BAPI I found that the fields that I filled in the BAPI call aren't filled into the BAPI processing.
    Would someone help me in this question? Anybody was in this situation before?
    Thanks!
    Best regards,
    Diogo.

    Hello Diogo,
    have a look at OSS note 308303 "ALE - Fields in Brazilian solution not maintainable". Perhaps this could help you. Even, if it's a note regarding ALE, this could solve your problem too.
    Anyway - I would search for an OSS note, or open a call in the OSS, as this is a problem with SAP standard functionality.
    Best regards
    Stephan

  • Foriegn trade view in BAPI_MATERIAL_SAVEDATA

    HI,
    I am using BAPI_MATERIAL_SAVEDATA in that I cant  able to find the Foreign trade view can any one suggest me where it is.
    regards
    paul

    Hi,
    Foreign Trade view comes under Sales/Purchase view depending upon whether it is import or export.
    Hence, there is no specefic selection for it.
    This view contains some client level data and some plant level data.
    If you fill CLIENTDATA, CLIENTDATAX, PLANTDATA and PLANDATAX parameters, the FT view will be created.
    Hope this helps..
    Regards,
    Shashank

  • How to select plant view in BAPI_MATERIAL_SAVEDATA

    Hi Friends,
    I am using standard BAPI (BAPI_MATERIAL_SAVEDATA) to create Material Master. There is no option to select plant view in headdata itself but i need to populate plant data. So i've used PLANTDATA and PLANTDATAX parameter to pass plant name,storage location and period indicator.
    say
    PLANTDATA-plantname = '0011'.
    PLANTDATA-storagelocation = '0011'.
    PLANTDATA-periodind = 'D'.
    PLANTDATAX-plantname = '0011'.
    PLANTDATAX-storagelocation = 'X'.
    PLANTDATAX-periodind = 'X'.
    The material gets created but plant view is not created.
    <<text removed>>
    Thanks in advance.
    Regards,
    Prabhu
    Edited by: Matt on May 5, 2009 11:15 AM - don't use ASAP

    Hello,
    Try this
    Data:
               PLANTDATA           LIKE BAPI_MARC,             "ins H 592229
               PLANTDATAX          LIKE BAPI_MARCX,            "ins H 592229
    Get plant
          IF FT-FNAM = 'RM03M-WERKS'.                          "ins H 592229
            PLANTDATA-PLANT = FT-FVAL.                         "ins H 592229
            PLANTDATAX-PLANT = FT-FVAL.                        "ins H 592229
          ENDIF.             
        CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'                 "ins H 592229
             EXPORTING                                         "ins H 592229
               HEADDATA            = HEADDATA                  "ins H 592229
               CLIENTDATA          = CLIENTDATA                "ins H 592229
               CLIENTDATAX         = CLIENTDATAX               "ins H 592229
               PLANTDATA           = PLANTDATA                 "ins H 592229
               PLANTDATAX          = PLANTDATAX                "ins H 592229
             IMPORTING                                         "ins H 592229
               RETURN = RETURN_CODE2                           "ins H 592229
             TABLES                                            "ins H 592229
               MATERIALDESCRIPTION = MATERIALDESCRIPTION.      "ins H 592229
    Check this standard one is using in the same way
    see this program MMCP3FP0

  • Creat inspection setup entries in quality View using BAPI_MATERIAL_SAVEDAT

    Dear all,
    I am using BAPI_MATERIAL_SAVEDATA to extend Material from one plant to another.
    I am able to extend Quality view to another plant
    But unable to create inspection setup entries for the extended view.
    Please help.
    Regards,
    Gaurav sood

    Issue Resolved

  • Maintain sales text View through BAPI_MATERIAL_SAVEDATA

    Hi,
    in BAPI_MATERIAL_SAVEDATA, can we maintain the Sales Text view in mm02 through this BAPI.
    Regards,
    Masoom Ali

    Hi,
    Fill the data in BAPI structure "MATERIALLONGTEXT".
    Pass following parameters in the structure
    APPLOBJECT : MVKE
    TEXT_NAME : {Material+SalesOrg+Dist Channel}
    TEXT_ID : 0001
    LANGU : sy-langu
    FORMAT_COL : *
    TEXT_LINE : "Sales text which is to be updated"
    Regards
    Vinod
    Edited by: Vinod Kumar on Jul 23, 2010 4:49 PM

  • Create Material Master using BAPI_MATERIAL_SAVEDATA - just the basic view

    Hi,
    I want to create new material master ( just the basic view ) using BAPI_MATERIAL_SAVEDATA.
    No error found in the return parameter, but the material was not created.
    Here is my code :
    DATA : ld_headdata LIKE bapimathead,
           lt_return LIKE bapiret2 OCCURS 0 WITH HEADER LINE,
           lt_return_comit LIKE bapiret2 OCCURS 0 WITH HEADER LINE,
           lt_return_cl LIKE bapiret2 OCCURS 0 WITH HEADER LINE,
           ld_datum(10),
           ld_uzeit(10).
    DATA: ld_matdesc LIKE bapi_makt OCCURS 0 WITH HEADER LINE,
          ld_clientdata  LIKE bapi_mara.
    Regards,
    Hary
    ld_headdata-material = 'MATERIAL-01'.
    ld_headdata-ind_sector  = 'M'.
    ld_headdata-matl_type = 'ERSA'.
    ld_headdata-basic_view = 'X'.
    ld_matdesc-matl_desc = 'TEST MATERIAL'.
    ld_matdesc-langu = sy-langu.
    APPEND ld_matdesc.
    ld_clientdata-base_uom = 'PC'.
    CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
      EXPORTING
        headdata                    = ld_headdata
        clientdata                  = ld_clientdata
       clientdatax                 =
      PLANTDATA                   =
      PLANTDATAX                  =
      FORECASTPARAMETERS          =
      FORECASTPARAMETERSX         =
      PLANNINGDATA                =
      PLANNINGDATAX               =
      STORAGELOCATIONDATA         =
      STORAGELOCATIONDATAX        =
      VALUATIONDATA               =
      VALUATIONDATAX              =
      WAREHOUSENUMBERDATA         =
      WAREHOUSENUMBERDATAX        =
      SALESDATA                   =
      SALESDATAX                  =
      STORAGETYPEDATA             =
      STORAGETYPEDATAX            =
      FLAG_ONLINE                 = ' '
      FLAG_CAD_CALL               = ' '
      NO_DEQUEUE                  = ' '
      NO_ROLLBACK_WORK            = ' '
    IMPORTING
       return                      = lt_return
    TABLES
       materialdescription         = ld_matdesc
      UNITSOFMEASURE              =
      UNITSOFMEASUREX             =
      INTERNATIONALARTNOS         =
      MATERIALLONGTEXT            =
      TAXCLASSIFICATIONS          =
      RETURNMESSAGES              =
      PRTDATA                     =
      PRTDATAX                    =
      EXTENSIONIN                 =
      EXTENSIONINX                =
      NFMCHARGEWEIGHTS            =
      NFMCHARGEWEIGHTSX           =
      NFMSTRUCTURALWEIGHTS        =
      NFMSTRUCTURALWEIGHTSX       =
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    EXPORTING
      WAIT          =
    IMPORTING
       return        = lt_return_comit

    hi
    Hope it will help you.
    <REMOVED BY MODERATOR>
    REPORT z34332_bdc_create_material .
    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 = '000000000000000004'.
    la_headdata-IND_SECTOR = 'M'.
    la_headdata-MATL_TYPE = 'FERT'.
    la_clientdata-BASE_UOM = 'FT3'.
    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 =
    write: la_return-TYPE, ',', la_return-MESSAGE.
    clear: la_headdata, la_return, la_clientdata, la_clientdatax.
    Edited by: Alvaro Tejada Galindo on Feb 19, 2008 3:23 PM

  • Create view for Material using BAPI_MATERIAL_SAVEDATA

    Hello. I need create Accounting View(1&2) and Costing View(1&2) using FM BAPI_MATERIAL_SAVEDATA, but i don't now who importing values are required for this...
    please HELP!!!!

    Hi,
    Check this link.
    http://sap-img.com/abap/bapi-to-copy-materials-from-one-plant-to-another.htm
    Thanks,
    Anitha

  • BAPI_MATERIAL_SAVEDATA -extnd purch view -Er:'No plant specific data exist'

    Hi, i am trying to extend the purcahsing view from a template material  for a new material using BAPI BAPI_MATERIAL_SAVEDATA. Both these material belong to the same plant and the template material has a purcahsing view defined.
    But after the extention process, when i open the purchaisng view for the new material in MM03 , i get the message "No plant specific data exists".
    what can be the reson for this. ?
    please advice.
    Thanks in advance.
    -Shyam.

    Are you passing your plant number in your file ?.It seems you are not passing plant data ,Check your data.

  • BAPI_MATERIAL_SAVEDATE + Accounting + consting view

    Hi All,
    I want to use BAPI_MATERIAL_SAVEDATA to create accounting view, but not costing view...
    My question is, how am I doing this?
    How to separate between accounting view and costing view?
    Thanks in advance

    We have never been able to update the QM view (Inspection Setup) with the BAPI in question.  We found that it can be updated however in a separate step using the BAPI BAPI_MATINSPCTRL_SAVEREPLICA or IDoc MATQM01 in release 46C.  We usually do a completely separate data load for the QM views after our material master loads are done.  Other fields in the QM view that are part of MARA and MARC we are able to update with BAPI_MATERIAL_SAVEDATA.

  • Error while creating a material using Bapi_material_savedata

    Hi,
    there is an error encountered while creating a material using BAPI_MATERIAL_SAVEDATA..
    The Error description is " Material description is not transfered " even after supplying the Material description and other mandatory field information like industrial sector, material type ,basic view indicator,Base UOM,Base UOM ISO code.
    Please let me know the solution, if you know.

    Hi,
    Please search the SCN for the answers
    https://www.sdn.sap.com/irj/scn/advancedsearch?query=errorinBAPI_MATERIAL_SAVEDATA+&cat=sdn_all

  • Problem in using BAPI_MATERIAL_SAVEDATA

    I want to extend a Material from Plant A to Plant B. I am getting the following error.
    E   MM         360 Key fields for user data PLANTDATA and checkbox structure PLANTDATAX are different
    Please correct in the following code
    data: la_headdata type BAPIMATHEAD,
    la_clientdata type BAPI_MARA,
    la_CLIENTDATAX type BAPI_MARAX,
    la_PLANTDATA type BAPI_marc,    "Plant View
    la_PLANTDATAX type bapi_marcx,  "Plant View
    la_mbew  type  bapi_mbew,    "Accounting View
    la_mbewx  type bapi_mbewx.
    *la_return type BAPIRET2.
    *to return messages
    DATA:BEGIN OF la_RETURN OCCURS 0.
            INCLUDE STRUCTURE BAPIRET2.
    DATA:END OF la_RETURN.
    data: i_materialdescription type table of BAPI_MAKT,
          wa_mat_desc like line of i_materialdescription.
    Header
    la_headdata-MATERIAL = '000001000000004000'.
    la_headdata-IND_SECTOR = 'M'.
    la_headdata-MATL_TYPE = 'ZALB'.
        la_headdata-basic_view      = 'X'.
        la_headdata-purchase_view   = 'X'.
        la_headdata-account_view    = 'X'.
        la_headdata-MRP_VIEW        = 'X'.
        la_headdata-STORAGE_VIEW    = 'X'.
        la_headdata-COST_VIEW       = 'X'.
    Client Data - Basic
    la_clientdata-BASE_UOM = 'EA'.
    la_CLIENTDATAX-BASE_UOM = 'X'.
    la_clientdata-MATL_GROUP = '21001000'.
    la_CLIENTDATAX-MATL_GROUP = 'X'.
    la_clientdata-unit_of_wt     = 'KG'.
    la_clientdatax-unit_of_wt    = 'X'.
    la_clientdata-division       = '10'.
    la_clientdatax-division      = 'X'.
    Material Description
    wa_mat_desc-langu           = 'E'.
    wa_mat_desc-MATL_DESC = '+TLA,FILTER KIT,BUNDLE B'.
    append wa_mat_desc to i_materialdescription.
    clear: wa_mat_desc.
    Plant - Purchasing
    la_PLANTDATA-plant     = '5530'.
    la_PLANTDATAX-plant     = 'X'.
    la_PLANTDATA-pur_group     = '006'.
    la_PLANTDATAX-pur_group    = 'X'.
    Accounting
    la_mbew-val_area = '5530'.
    la_mbewx-val_area = 'X'.
    la_mbew-price_ctrl = 'S'.
    la_mbewx-price_ctrl = 'X'.
    la_mbew-std_price = '0.01'.
    la_mbewx-std_price = 'X'.
    *la_mbew-price_unit = '1.000'.
    *la_mbewx-price_unit = 'X'.
    CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
    EXPORTING
    headdata = la_headdata
    CLIENTDATA = la_clientdata
    CLIENTDATAX = la_CLIENTDATAX
    PLANTDATA = la_PLANTDATA
    PLANTDATAX = la_PLANTDATAX
    FORECASTPARAMETERS =
    FORECASTPARAMETERSX =
    PLANNINGDATA =
    PLANNINGDATAX =
    STORAGELOCATIONDATA =
    STORAGELOCATIONDATAX =
    VALUATIONDATA = la_mbew
    VALUATIONDATAX = la_mbewx
    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 =
    read table la_return with key TYPE = 'S'.
      if sy-subrc = 0.
          CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
      endif.
      WRITE:/ la_RETURN-TYPE,
        2 la_RETURN-ID,
        22 la_RETURN-NUMBER,
        25 la_RETURN-MESSAGE.

    Hi,
    hope this code gives you an idea
    *& Report ZKAR_MATMAS_BAPI
    *& This program demonstrates how easy it is to create Material master
    *& data using BAPI_MATERIAL_SAVEDATA
    *& The program also generates a report post-execution displaying errors
    *& as well as successful uploads
    REPORT ZKAR_MATMAS_BAPI.
    * TABLES
    * FLAGS *
    DATA: F_STOP. " Flag used to stop processing
    * DATA DECLARATIONS *
    DATA : V_EMPTY TYPE I, " No. of empty records
    V_TOTAL TYPE I. " Total no. of records.
    * STRUCTURES & INTERNAL TABLES
    *BAPI structures
    DATA: BAPI_HEAD LIKE BAPIMATHEAD, " Header Segment with Control Information
    BAPI_MAKT LIKE BAPI_MAKT, " Material Description
    BAPI_MARA1 LIKE BAPI_MARA, " Client Data
    BAPI_MARAX LIKE BAPI_MARAX, " Checkbox Structure for BAPI_MARA
    BAPI_MARC1 LIKE BAPI_MARC, " Plant View
    BAPI_MARCX LIKE BAPI_MARCX, " Checkbox Structure for BAPI_MARC
    BAPI_MBEW1 LIKE BAPI_MBEW, " Accounting View
    BAPI_MBEWX LIKE BAPI_MBEWX, " Checkbox Structure for BAPI_MBEW
    BAPI_RETURN LIKE BAPIRET2. " Return Parameter
    *--- Internal table to hold excel file data
    DATA: IT_INTERN TYPE ALSMEX_TABLINE OCCURS 0 WITH HEADER LINE.
    *--- Internal table to hold Matetrial descriptions
    DATA: BEGIN OF IT_MAKT OCCURS 100.
            INCLUDE STRUCTURE BAPI_MAKT.
    DATA: END OF IT_MAKT.
    *--- Internal to hold the records in the text file
    DATA : BEGIN OF IT_DATA 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 IT_DATA.
    * SELECTION SCREEN. *
    SELECTION-SCREEN BEGIN OF BLOCK SCR1 WITH FRAME TITLE TEXT-111.
    PARAMETER : P_FILE TYPE RLGRAP-FILENAME OBLIGATORY DEFAULT " Input File
    'C:\Material_master.XLS'.
    PARAMETER : P_MAX(4) OBLIGATORY DEFAULT '100'. " no.of recs in a session
    PARAMETERS: P_HEADER TYPE I DEFAULT 0. " Header Lines
    PARAMETERS: P_BEGCOL TYPE I DEFAULT 1 NO-DISPLAY,
    P_BEGROW TYPE I DEFAULT 1 NO-DISPLAY,
    P_ENDCOL TYPE I DEFAULT 100 NO-DISPLAY,
    P_ENDROW TYPE I DEFAULT 32000 NO-DISPLAY.
    SELECTION-SCREEN END OF BLOCK SCR1.
    * AT SELECTION-SCREEN *
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
    *--- Validating file
      PERFORM VALIDATE_FILE USING P_FILE.
    * START-OF-SELECTION
    START-OF-SELECTION.
    *--- Perform to convert the Excel data into an internal table
      PERFORM CONVERT_XLS_ITAB.
      IF NOT IT_DATA[] IS INITIAL.
    *--- Perform to delete Header lines
        PERFORM DELETE_HEADER_EMPTY_RECS.
      ENDIF.
    * END OF SELECTION. *
    END-OF-SELECTION.
    *--- Perform to upload Material Master data
      PERFORM UPLOAD_MATMAS.
    * Form : validate_input_file
    * Description : To provide F4 help for file if read from PC
    FORM VALIDATE_FILE USING F_FILE TYPE RLGRAP-FILENAME.
      CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
        CHANGING
          FILE_NAME     = F_FILE
        EXCEPTIONS
          MASK_TOO_LONG = 1
          OTHERS        = 2.
      IF SY-SUBRC <> 0.
        MESSAGE S010(ZLKPL_MSGCLASS). " 'Error in getting filename'.
      ENDIF.
    ENDFORM. " validate_input_file
    *& Form CONVER_XLS_ITAB
    * text
    FORM CONVERT_XLS_ITAB.
      CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
        EXPORTING
          FILENAME    = P_FILE
          I_BEGIN_COL = P_BEGCOL
          I_BEGIN_ROW = P_BEGROW
          I_END_COL   = P_ENDCOL
          I_END_ROW   = P_ENDROW
        TABLES
          INTERN      = IT_INTERN.
      IF SY-SUBRC <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    *--- Perform to move the data into an internal data
      PERFORM MOVE_DATA.
    ENDFORM. " CONVERT_XLS_ITAB
    *& Form MOVE_DATA
    * text
    FORM MOVE_DATA.
      DATA : LV_INDEX TYPE I.
      FIELD-SYMBOLS <FS>.
    *--- Sorting the internal table
      SORT IT_INTERN BY ROW COL.
      CLEAR IT_INTERN.
      LOOP AT IT_INTERN.
        MOVE IT_INTERN-COL TO LV_INDEX.
    *--- Assigning the each record to an internal table row
        ASSIGN COMPONENT LV_INDEX OF STRUCTURE IT_DATA TO <FS>.
    *--- Asigning the field value to a field symbol
        MOVE IT_INTERN-VALUE TO <FS>.
        AT END OF ROW.
          APPEND IT_DATA.
          CLEAR IT_DATA.
        ENDAT.
      ENDLOOP.
    ENDFORM. " MOVE_DATA
    *& Form DELETE_HEADER_EMPTY_RECS
    * To delete the Header and empty records
    FORM DELETE_HEADER_EMPTY_RECS.
      DATA: LV_TABIX LIKE SY-TABIX.
      IF NOT P_HEADER IS INITIAL.
        LOOP AT IT_DATA.
          IF P_HEADER > 0 AND NOT IT_DATA IS INITIAL.
            DELETE IT_DATA FROM 1 TO P_HEADER.
    * P_HEADER = 0.
            EXIT.
          ENDIF.
        ENDLOOP.
      ENDIF.
      CLEAR IT_DATA.
    *--- To delete the empty lines from internal table
      LOOP AT IT_DATA.
        LV_TABIX = SY-TABIX.
        IF IT_DATA IS INITIAL.
          V_EMPTY = V_EMPTY + 1.
          DELETE IT_DATA INDEX LV_TABIX..
        ENDIF.
      ENDLOOP.
      CLEAR IT_DATA.
    *--- Total no of recs in file
      DESCRIBE TABLE IT_DATA LINES V_TOTAL.
      IF V_TOTAL = 0.
        MESSAGE I013(ZLKPL_MSGCLASS). " No records in the file
        F_STOP = 'X'.
        STOP.
      ENDIF.
    ENDFORM. " DELETE_HEADER_EMPTY_RECS
    *& Form UPLOAD_MATMAS
    * to upload Material Master data
    FORM UPLOAD_MATMAS .
      LOOP AT IT_DATA.
    * Header
        UNPACK IT_DATA-MATNR TO IT_DATA-MATNR.
        BAPI_HEAD-MATERIAL = IT_DATA-MATNR.
        BAPI_HEAD-IND_SECTOR = IT_DATA-MBRSH.
        BAPI_HEAD-MATL_TYPE = IT_DATA-MTART.
        BAPI_HEAD-BASIC_VIEW = 'X'.
        BAPI_HEAD-PURCHASE_VIEW = 'X'.
        BAPI_HEAD-ACCOUNT_VIEW = 'X'.
    * Material Description
        REFRESH IT_MAKT.
        IT_MAKT-LANGU = IT_DATA-SPRAS.
        IT_MAKT-MATL_DESC = IT_DATA-MAKTX.
        APPEND IT_MAKT.
    * Client Data - Basic
        BAPI_MARA1-MATL_GROUP = IT_DATA-MATKL.
        BAPI_MARA1-BASE_UOM = IT_DATA-MEINS.
        BAPI_MARA1-UNIT_OF_WT = IT_DATA-GEWEI.
        BAPI_MARA1-DIVISION = IT_DATA-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 = IT_DATA-WERKS.
        BAPI_MARC1-PUR_GROUP = IT_DATA-EKGRP.
        BAPI_MARCX-PLANT = IT_DATA-WERKS.
        BAPI_MARCX-PUR_GROUP = 'X'.
    * Accounting
        BAPI_MBEW1-VAL_AREA = IT_DATA-WERKS.
        BAPI_MBEW1-PRICE_CTRL = IT_DATA-VPRSV.
        BAPI_MBEW1-STD_PRICE = IT_DATA-STPRS.
        BAPI_MBEW1-PRICE_UNIT = IT_DATA-PEINH.
        BAPI_MBEWX-VAL_AREA = IT_DATA-WERKS.
        BAPI_MBEWX-PRICE_CTRL = 'X'.
        BAPI_MBEWX-STD_PRICE = 'X'.
        BAPI_MBEWX-PRICE_UNIT = 'X'.
    *--- BAPI to create material
        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 = IT_MAKT
    * UNITSOFMEASURE =
    * UNITSOFMEASUREX =
    * INTERNATIONALARTNOS =
    * MATERIALLONGTEXT =
    * TAXCLASSIFICATIONS =
    * RETURNMESSAGES =
    * PRTDATA =
    * PRTDATAX =
    * EXTENSIONIN =
    * EXTENSIONINX =
        IF BAPI_RETURN-TYPE = 'E'.
          WRITE:/ 'Error:' ,BAPI_RETURN-MESSAGE ,'for material:' ,IT_DATA-MATNR.
        ELSEIF BAPI_RETURN-TYPE = 'S'.
          WRITE: 'Successfully created material' ,IT_DATA-MATNR.
        ENDIF.
      ENDLOOP.
    ENDFORM. " UPLOAD_MATMAS
    Regards,
    V.Balaji
    Reward if Usefull...

Maybe you are looking for

  • Photoshop CS2 unexpectedly quits

    I just purchased Adobe Creative Suite2 (education) and all the programs run just fine, except Photoshop. Once it gets to the "building TWAIN menu items" step of starting up it "unexpectedly quits". Every single time I try to open it. I've tried most

  • First time SSD install in T61p - system hangs or is very slow

    After I decided to finally leave XP behind and move onto Windows 7 I also decided unadvisedly perhaps to buy my first solid state drive, a 120GB Intel 520 for no other reason than it suit my budget. Well installed Windows 7 and it seems as if the sys

  • Settings 1080i missing.

    I have a 50" Samsung HDTV Plasma (with a DVI connector in the back). A HDMI-DVI Converter/Hub which I use to attach my AppleTV and Sony PS3. The PS3 delivers 1080i* to my plasma - and looks much better than 480/720. *(so I know my TV is capable of di

  • Code Written In Servelet Is Not Working

    1. My name is Anand Patil, I have developed a web project with my partner. 2. We both are using Tom Cat 6.0. And eclipse Juno as a IDE 3. My partner is using operating system Windows 07 and I am using operating system Windows XP. 4. All project files

  • How to uninstall NMH410 media hub software?

    I pulled this media storage device out of storage room and hooked it up to our Ethernet switch, hoping to save and share photos in our home. It is no longer supported now, and very complex to set up. Very little support materials to find. I decided t