Skip to Content

Archived discussions are read-only. Learn more about SAP Q&A

Problem with Sales data Views when using BAPI

Hi All,

I am using BAPI_MATERIAL_SAVEDATA to add some default values to sales data views. When i execute BAPI is throwing an error message "<b>Key fields for use data SALESDATA and checkbox structure SALESDATAX are different</b>". Here is my sales data view code.If i comment the Salesdata processing code, material is creating scuccessfull.

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

FORM process_halb USING pv_wa_final LIKE wa_final

pv_wa_matno LIKE wa_matno

pv_v_error LIKE v_error

pv_v_sucess LIKE v_sucess

pv_wa_return LIKE wa_return.

bapimathead-material = pv_wa_matno-material. "Material Number

bapimathead-ind_sector = c_m. "industry sector

bapimathead-matl_type = pv_wa_final-mtart. "Material type

bapimathead-basic_view = c_x. "select Basic View

bapimathead-mrp_view = c_x. "Select MRP Views

bapimathead-storage_view = c_x. "Select Storage Views

bapimathead-account_view = c_x. "select Account views

bapimathead-work_sched_view = c_x. "Work Scheduling View

bapimathead-cost_view = c_x. "Costing View

bapimathead-sales_view = c_x.

  • Inserting Data for Sales view

IF pv_wa_final-werks EQ c_1010.

bapi_mvke-sales_org = c_1000. "Sales organisation

ENDIF. "IF pv_wa_final-werks EQ c_1010.

IF pv_wa_final-werks EQ c_1020.

bapi_mvke-sales_org = c_2000. "Sales Organisation

ENDIF. "IF pv_wa_final-werks EQ c_1020.

bapi_mvkex-sales_org = c_x.

bapi_mvke-distr_chan = c_00. "Distribution Channel

bapi_mvkex-distr_chan = c_x.

IF pv_wa_final-werks EQ c_1010.

bapi_mvke-delyg_plnt = c_1010. "Delivery Plant

ELSE.

bapi_mvke-delyg_plnt = c_1020. "Delivery Plant

ENDIF.

bapi_mvke-delyg_plnt = c_x.

bapi_mara-item_cat = c_0001. "General Item Category

bapi_marax-item_cat = c_x.

bapi_mvke-item_cat = c_0001. "Item Category Group

bapi_mvkex-item_cat = c_x.

IF pv_wa_final-werks EQ c_1010.

bapi_marc-availcheck = c_zw. "Availabity Check

ENDIF. "IF pv_wa_final-werks EQ c_1010.

IF pv_wa_final-werks EQ c_1020.

bapi_marc-availcheck = c_zg. "Availability Check

ENDIF. " IF pv_wa_final-werks EQ c_1020.

bapi_marcx-availcheck = c_x.

bapi_mara-trans_grp = c_0001. "Transportation Group

bapi_marax-trans_grp = c_x.

bapi_marc-loadinggrp = c_0001. "Loading Group

bapi_marcx-loadinggrp = c_x.

<b>bapi_mlan-taxclass_1 = c_1. </b> "Tax Classification

IF pv_wa_final-werks EQ c_1010.

bapi_marc-profit_ctr = c_wt. "Profit Center

ENDIF. "IF pv_wa_final-werks EQ c_1010.

IF pv_wa_final-werks EQ c_1020.

bapi_marc-profit_ctr = c_gt. "Profit Center

ENDIF. " IF pv_wa_final-werks EQ c_1020.

bapi_marcx-profit_ctr = c_x.

IF NOT pv_wa_final-lgnum IS INITIAL.

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

warehousenumberdata = bapi_mlgn

warehousenumberdatax = bapi_mlgnx

salesdata = bapi_mvke

salesdatax = bapi_mvkex

storagetypedata = bapi_mlgt

storagetypedatax = bapi_mlgtx

IMPORTING

return = pv_wa_return

TABLES

materialdescription = i_matdesc

unitsofmeasure = i_bapi_marm

unitsofmeasurex = i_bapi_marmx

materiallongtext = i_bapi_mltx

extensionin = i_bapiparex

extensioninx = i_bapiparexx.

IF pv_wa_return-type = c_e.

pv_v_error = pv_v_error + c_1.

  • Roll back an errored BAPI

CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.

ELSEIF pv_wa_return-type = c_s.

pv_v_sucess = pv_v_sucess + c_1.

  • Commit a successfull BAPI

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.

ENDIF. "IF pv_wa_return-type = c_e

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

The statement in the Bold is assigning a constant to Tax classification field.I assigned 'X' for all checkbox structures except for the Tax classification as i have'nt find the checkbox structure.

Can any one suggest where the problem lies and possible solution.

Thanks in advance

Tags:
Former Member
Not what you were looking for? View more on this topic or Ask a question