‎2010 May 14 3:22 PM
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.
‎2010 May 14 3:23 PM
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
‎2010 Jul 07 11:40 AM