Application Development and Automation 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: 
Read only

Problem with BAPI_MATERIAL_SAVEDATA

Former Member
0 Likes
688

Hi,

I am trying to create/change material using bapi BAPI_MATERIAL_SAVEDATA. The salesdata is not getting updated.

When I tried to run it in SE37 with the exact data used in the program, it is working and getting updated.

Also I tried creating a test program where all the data are hardcorded and send to the bapi. After that BAPI_TRANSACTION_COMMIT is also called. Here also the data is getting updataded.

The data I have passed in my test program will be like below which I copied from my main program.

BAPIMATHEAD-MATERIAL = '000000000210000097'.
BAPIMATHEAD-IND_SECTOR   = 'O'.
BAPIMATHEAD-MATL_TYPE	= 'YBLK'.
BAPIMATHEAD-BASIC_VIEW  = 'X'.
BAPIMATHEAD-SALES_VIEW   = 'X'.
BAPIMATHEAD-PURCHASE_VIEW	= 'X'.
BAPIMATHEAD-ACCOUNT_VIEW   = 'X'.

BAPI_MARA-MATL_GROUP = 'ZPDC103B'.
BAPI_MARA-BASE_UOM  = 'KG'.
BAPI_MARA-UNIT_OF_WT = 'KG'.
BAPI_MARA-DIVISION  = '02'.
BAPI_MARA-PROD_HIER	 = '001A9177002VID0000'.

BAPI_MARAX-MATL_GROUP	= 'X'.
BAPI_MARAX-OLD_MAT_NO	 = 'X'.
BAPI_MARAX-BASE_UOM	  = 'X'.
BAPI_MARAX-BASE_UOM_ISO	 = 'X'.
BAPI_MARAX-PO_UNIT     = 'X'.
BAPI_MARAX-SIZE_DIM = 'X'.
BAPI_MARAX-BASIC_MATL = 'X'.
BAPI_MARAX-DSN_OFFICE  = 'X'.
BAPI_MARAX-PUR_VALKEY	= 'X'.
BAPI_MARAX-NET_WEIGHT	= 'X'.
BAPI_MARAX-UNIT_OF_WT	= 'X'.
BAPI_MARAX-DIVISION	 = 'X'.
BAPI_MARAX-PROD_HIER  = 'X'.
BAPI_MARAX-VAR_ORD_UN	= 'X'.
BAPI_MARAX-MAT_GRP_SM	 = 'X'.
BAPI_MARAX-PUR_STATUS	  = 'X'.
BAPI_MARAX-ENVT_RLVT   = 'X'.
BAPI_MARAX-MANU_MAT	= 'X'.
BAPI_MARAX-MFR_NO	 = 'X'.
BAPI_MARAX-HAZMATPROF	   = 'X'.
BAPI_MARAX-ITEM_CAT	  = 'X'.

SALESDATA-SALES_ORG = 'GB01'.
SALESDATA-DISTR_CHAN = '03'.
SALESDATA-SAL_STATUS =  '02'.
SALESDATA-VALID_FROM =  '20100419'.

SALESDATAX-SALES_ORG = 'GB01'.
SALESDATAX-DISTR_CHAN = '03'.
SALESDATAX-SAL_STATUS = 'X'.
SALESDATAX-VALID_FROM = 'X'.

MATERIALDESCRIPTION-LANGU = 'EN'.
MATERIALDESCRIPTION-MATL_DESC = 'BP UL98 100% ADDITISED'.
append MATERIALDESCRIPTION.

TAXCLASSIFICATIONS-DEPCOUNTRY = 'DE'.
TAXCLASSIFICATIONS-TAX_TYPE_1 = 'MWST'.
TAXCLASSIFICATIONS-TAXCLASS_1 = '1'.
append TAXCLASSIFICATIONS. 

2 REPLIES 2
Read only

Former Member
0 Likes
517

The BAPI call wil be like this. Also note that no error messages are giving while running.


CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
  EXPORTING
    headdata            = bapimathead
    clientdata          = bapi_mara
    clientdatax         = bapi_marax
    salesdata           = salesdata
    salesdatax          = salesdatax
  IMPORTING
    return              = it_return
  TABLES
    materialdescription = MATERIALDESCRIPTION
    taxclassifications  = taxclassifications.

    if sy-subrc = 0.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
  EXPORTING
    WAIT   = 'X'
  IMPORTING
    RETURN = it_return.
endif.

Edited by: vinraaj on May 14, 2010 4:23 PM

Read only

Former Member
0 Likes
517

closed