Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

BAPI_MATERIAL_SAVEDATA

Former Member
0 Kudos

Hi Gurus,

I'm using the above BAPI to create materials...The problem is that the BAPI is not creating any sales data for me.

Sales: Sales Org. Data 1

Sales: Sales Org. Data 2

Sales: General/Plant Data

These 3 views are not getting created even though I've populated the sales views...Any ideas why ? Any help would be appreciated. I've pasted my code here...

******************************************************************************

LOOP AT it_matmaster.

CLEAR: it_return[], it_return1[], it_return,it_return1.

lv_counter = lv_counter + 1.

*-- Header data

bapimathead-material = it_matmaster-matnr.

bapimathead-ind_sector = it_matmaster-mbrsh.

bapimathead-matl_type = it_matmaster-mtart.

*-- Select the views

bapimathead-basic_view = c_selected.

bapimathead-sales_view = c_selected.

bapimathead-purchase_view = c_selected.

bapimathead-mrp_view = c_selected.

bapimathead-storage_view = c_selected.

bapimathead-account_view = c_selected.

bapimathead-cost_view = c_selected.

*-- Client data

bapi_mara-matl_group = it_matmaster-matkl.

bapi_mara-base_uom = it_matmaster-meins.

bapi_mara-unit_of_wt = it_matmaster-gewei.

  • bapi_mara-item_cat = it_matmaster-mtpos.

bapi_mara-trans_grp = it_matmaster-tragr.

bapi_mara-pur_status = it_matmaster-mstae.

bapi_marax-matl_group = c_selected.

bapi_marax-base_uom = c_selected.

bapi_marax-unit_of_wt = c_selected.

  • bapi_marax-item_cat = c_selected.

bapi_marax-trans_grp = c_selected.

bapi_marax-pur_status = c_selected.

*-- Plant data

bapi_marc-plant = it_matmaster-werks.

bapi_marc-pur_group = it_matmaster-ekgrp.

bapi_marc-availcheck = it_matmaster-mtvfp.

bapi_marc-loadinggrp = it_matmaster-ladgr.

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-reorder_pt = it_matmaster-minbe.

bapi_marc-sloc_exprc = it_matmaster-lgfsb.

bapi_marc-plnd_delry = it_matmaster-plifz.

bapi_marc-sm_key = it_matmaster-fhori.

bapi_marc-safety_stk = it_matmaster-eisbe.

bapi_marc-lot_size = it_matmaster-losgr.

bapi_marc-minlotsize = it_matmaster-bstmi.

bapi_marcx-plant = it_matmaster-werks.

bapi_marcx-pur_group = c_selected.

bapi_marcx-availcheck = c_selected.

bapi_marcx-loadinggrp = c_selected.

bapi_marcx-mrp_group = c_selected.

bapi_marcx-mrp_type = c_selected.

bapi_marcx-mrp_ctrler = c_selected.

bapi_marcx-lotsizekey = c_selected.

bapi_marcx-reorder_pt = c_selected.

bapi_marcx-sloc_exprc = c_selected.

bapi_marcx-plnd_delry = c_selected.

bapi_marcx-sm_key = c_selected.

bapi_marcx-lot_size = c_selected.

bapi_marcx-minlotsize = c_selected.

*-- Storage Location data

bapi_mard-plant = it_matmaster-werks.

bapi_mard-stge_loc = it_matmaster-lgort.

bapi_mard-stge_bin = it_matmaster-lgpbe.

bapi_mardx-plant = it_matmaster-werks.

bapi_mardx-stge_loc = it_matmaster-lgort.

bapi_mardx-stge_bin = c_selected.

*-- Valuation data

bapi_mbew-val_area = it_matmaster-werks.

bapi_mbew-val_class = it_matmaster-bklas.

bapi_mbew-price_ctrl = it_matmaster-vprsv.

bapi_mbew-price_unit = it_matmaster-peinh.

bapi_mbew-moving_pr = it_matmaster-verpr.

bapi_mbew-std_price = it_matmaster-stprs.

bapi_mbewx-val_area = it_matmaster-werks.

bapi_mbewx-val_class = c_selected.

bapi_mbewx-price_ctrl = c_selected.

bapi_mbewx-price_unit = c_selected.

bapi_mbewx-moving_pr = c_selected.

bapi_mbewx-std_price = c_selected.

*-- Sales data

bapi_mvke-sales_org = it_matmaster-vkorg.

bapi_mvke-distr_chan = it_matmaster-vtweg.

bapi_mvke-item_cat = it_matmaster-mtpos.

bapi_mvkex-sales_org = it_matmaster-vkorg.

bapi_mvkex-distr_chan = it_matmaster-vtweg.

bapi_mvkex-item_cat = c_selected.

*-- Tax Classification data

bapi_mlan-taxclass_1 = it_matmaster-taxkm.

*-- Material descriptions

it_materialdesc-langu = 'EN'.

it_materialdesc-matl_desc = it_matmaster-maktx.

APPEND it_materialdesc.

it_mltx-langu = 'E'.

it_mltx-text_name = it_matmaster-matnr.

APPEND it_mltx.

**-- Quantities

  • it_uom-gross_wt = it_matmaster-brgew.

  • it_uom-alt_unit = 'KG'.

  • it_uom-alt_unit_iso = 'KG'.

  • it_uom-unit_of_wt = it_matmaster-gewei.

  • APPEND it_uom.

  • it_uomx-gross_wt = c_selected.

  • it_uomx-alt_unit = 'KG'.

  • it_uomx-alt_unit_iso = 'KG'.

  • it_uomx-unit_of_wt = c_selected.

  • APPEND it_uomx.

**-- Units

  • it_mean-unit = 'KD3'.

  • APPEND it_mean.

*-- Call the BAPI

CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'

EXPORTING

headdata = bapimathead

clientdata = bapi_mara

clientdatax = bapi_marax

plantdata = bapi_marc

plantdatax = bapi_marcx

storagelocationdata = bapi_mard

storagelocationdatax = bapi_mardx

valuationdata = bapi_mbew

valuationdatax = bapi_mbewx

salesdata = bapi_mvke

salesdatax = bapi_mvkex

IMPORTING

return = it_return

TABLES

materialdescription = it_materialdesc.

  • unitsofmeasure = it_uom

  • unitsofmeasurex = it_uomx.

  • internationalartnos = it_mean.

IF it_return-type = 'E' OR

it_return-type = 'A'.

CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.

*-- Write the log

WRITE:/(10) lv_counter CENTERED COLOR 6,

12 it_matmaster-matnr COLOR 6,

34 it_return-message COLOR 6.

ELSE.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

EXPORTING

wait = c_selected

IMPORTING

return = it_return1.

*-- Write the log

WRITE:/(10) lv_counter CENTERED COLOR 5,

12 it_matmaster-matnr COLOR 5,

34 it_return-message COLOR 5.

ENDIF.

ENDLOOP.

3 REPLIES 3

Former Member
0 Kudos

Hi

Check the table name salesdata = <b>bapi_mvke</b>

I hope it is <b>bapi_mvkex</b>

for some fields you are not using mvkex

check it

*-- Sales data

bapi_mvke-sales_org = it_matmaster-vkorg.

bapi_mvke-distr_chan = it_matmaster-vtweg.

bapi_mvke-item_cat = it_matmaster-mtpos.

bapi_mvkex-sales_org = it_matmaster-vkorg.

bapi_mvkex-distr_chan = it_matmaster-vtweg.

bapi_mvkex-item_cat = c_selected.

mvke table is optional , where as for bapi_mvkex pass all the values of fields and see

Reward if useful

regards

Anji

Message was edited by:

Anji Reddy Vangala

0 Kudos

Hi Anji Reddy,

Did not get your point here. I'm passing sales org/dist channel and item cat group to salesdata (BAPI_MVKE) and salesdatax(BAPI_MVKEX)...Isn't it ?

JJ

Former Member
0 Kudos

Hi,

Check this link for a sample code for the BAPI.

http://sap-img.com/abap/bapi-to-copy-materials-from-one-plant-to-another.htm

Regards,

Padmam.