05-12-2011 3:33 AM
Hi Gurus,
I'm developing LSMW for Material Master Upload using BAPI method.
Object:BUS1001006
BAPI:BAPI_MATERIAL_SAVEDATA
MESSAGE TYPE: MATMAS_BAPI
BASIC TYPE : MATMAS_BAPI03.
There is a requirement to use/map a custom field. Upon research custom field can be added to the parameter EXTENSIONIN and EXTENSIONINX, but I have no Idea on how to do it with LSMW. Please advise what approach is needed.
Thanks and Regards,
Jay
05-12-2011 10:29 AM
Hi Gurus,
I got the following code below.
The custom field won't get updated.... Please advise on what should I do... I've checked different forums and still can't come up with the solution... Please advise..
REPORT ztest_extend_matmas1.
********************************************************
STRUCTURE
********************************************************
TABLES:
bapimathead, "Headerdata
bapi_mara, "Clientdata
bapi_marax, "Clientdatax
bapi_marc, "Plantdata
bapi_marcx, "Plantdatax
bapi_makt, "Material description
bapiparex, "Extensionstruktur
bapiparexx,
bapiret2. "Return messages
DATA:
bapi_te_mara LIKE bapi_te_mara,
bapi_te_marax LIKE bapi_te_marax,
v_file TYPE string.
********************************************************
INTERNAL TABLE
********************************************************
*to store the output data
DATA:BEGIN OF it_material_number OCCURS 0.
INCLUDE STRUCTURE bapimatinr.
DATA:END OF it_material_number.
*for materialtext
DATA:BEGIN OF it_materialdesc OCCURS 0.
INCLUDE STRUCTURE bapi_makt .
DATA:END OF it_materialdesc.
*für z-feld
DATA:BEGIN OF it_bapiparex OCCURS 0.
INCLUDE STRUCTURE bapiparex.
DATA:END OF it_bapiparex.
*für z-feldx
DATA:BEGIN OF it_bapiparexx OCCURS 0.
INCLUDE STRUCTURE bapiparexx.
DATA:END OF it_bapiparexx.
*to return messages
DATA:BEGIN OF it_return2 OCCURS 0.
INCLUDE STRUCTURE bapiret2.
DATA:END OF it_return2.
DATA:BEGIN OF it_return OCCURS 0.
INCLUDE STRUCTURE bapiret1.
DATA:END OF it_return.
DATA
lt_messages TYPE bapiret2_t.
********************************************************
PROCESSING
********************************************************
*bapimathead-material = it_material_number-material.
bapimathead-material = '100-2520'.
bapimathead-ind_sector = 'P'.
bapimathead-matl_type = 'AEM'.
bapimathead-basic_view = 'X'.
bapimathead-purchase_view = 'X'.
bapimathead-inp_fld_check = 'I'.
*bapimathead-BASIC_VIEW = 'X'.
*bapimathead-SALES_VIEW = 'X'.
*bapimathead-PURCHASE_VIEW = 'X'.
*bapimathead-MRP_VIEW = 'X'.
*bapimathead-FORECAST_VIEW = 'X'.
*bapimathead-WORK_SCHED_VIEW = 'X'.
*bapimathead-PRT_VIEW = 'X'.
*bapimathead-STORAGE_VIEW = 'X'.
*bapimathead-WAREHOUSE_VIEW = 'X'.
bapi_mara-matl_group = '0001'.
bapi_mara-old_mat_no = '100-251'.
bapi_mara-base_uom = 'ST'.
bapi_marax-matl_group = 'X'.
bapi_marax-old_mat_no = 'X'.
bapi_marax-base_uom = 'X'.
bapi_marc-plant = '1000'.
bapi_marcx-plant = '1000'.
it_materialdesc-langu = 'EN'.
it_materialdesc-matl_desc = 'DESC'.
APPEND it_materialdesc.
*bapi_te_mara-material = it_material_number-material.
bapimathead-material = '100-2520'.
*bapi_te_mara-zzforst = '4148'.
bapi_te_mara-material = '100-2520'.
bapi_te_mara-zzmar_field1 = '4148'.
*bapi_te_marax-material = it_material_number-material.
bapimathead-material = '100-2520'.
*bapi_te_marax-zzforst = 'X'.
bapi_te_marax-material = '100-2520'.
bapi_te_marax-zzmar_field1 = 'X'.
it_bapiparex-structure = 'BAPI_TE_MARA'.
it_bapiparex-valuepart1 = bapi_te_mara.
APPEND it_bapiparex.
it_bapiparexx-structure = 'BAPI_TE_MARAX'.
it_bapiparexx-valuepart1 = bapi_te_marax.
APPEND it_bapiparexx.
CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
EXPORTING
headdata = bapimathead
clientdata = bapi_mara
clientdatax = bapi_marax
plantdata = bapi_marc
plantdatax = bapi_marcx
IMPORTING
return = it_return2
TABLES
materialdescription = it_materialdesc
extensionin = it_bapiparex
extensioninx = it_bapiparexx
returnmessages = lt_messages.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
THanks and Regards,
Jay
Edited by: jhayyy on May 17, 2011 6:54 AM
05-17-2011 6:34 AM