Update custom fields using BAPI extension

Step1:Requirement and basic explanation Important 

Requirement:Update MARA custom fields using material BAPI BAPI_MATERIAL_SAVEDATA.

We have some custom fields in MARA table, while creating/updating a material I need update them along with material.

To achieve this, we need to follow below steps:

1.Check for the available structure BAPI_TE_<TABLENAME>, here in this requirement BAPI_TE_MARA, and append custom fields using append structure.

2.Pass the structure and values to material BAPI, BAPI_MATERIAL_SAVEDATA.

Step2:Append structure BAPI_TE_MARA Important 

Go to SE11, provide name as BAPI_TE_MARA, display

using BAPI extension for MARA

Click on append structure.

BAPI extension for MARA

A pop up will come, provide a append structure name ex: ZBAPI_MARA_EX, enter

Provide custom fields available in MARA to ZBAPI_MARA_EX.

BAPI extension for MARA

Save and Activate.

Step3:Using extension in BAPI_MATERIAL_SAVEDATA Important 

Use the below code to use BAPI extension 

  DATA : ls_headdata  TYPE bapimathead,
  ls_clientdata  TYPE bapi_mara,
  ls_clientdatax  TYPE bapi_marax.
  DATA materialdescriptions TYPE TABLE OF bapi_makt .
  DATA : lt_mara TYPE STANDARD TABLE OF bapi_te_mara WITH HEADER LINE,
  lt_marax TYPE STANDARD TABLE OF bapi_te_marax WITH HEADER LINE,
  lt_extensionin TYPE STANDARD TABLE OF  bapiparex WITH HEADER LINE,
  lt_extensioninx TYPE STANDARD TABLE OF bapiparexx WITH HEADER LINE .
  headdata-material = 'TEST_MAT001'.
  headdata-ind_sector = 'M'.
  headdata-matl_type = 'FERT'.
  headdata-basic_view = 'X'. 
  clientdata-base_uom = 'EA'.
  clientdatax-base_uom = 'X'.

  wa_mat_desc-langu = 'E'.
  wa_mat_desc-matl_desc = 'Test material description'.
  APPEND wa_mat_desc TO materialdescriptions.
**extension structure
  MOVE 'BAPI_TE_MARA' TO lt_extensionin-structure.
  MOVE headdata-material TO lt_mara-material.
  MOVE 'CUSTOM VALUE' TO lt_mara-ZCUSTOM.
  MOVE lt_mara TO lt_extensionin-valuepart1.
  APPEND lt_extensionin.

CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
  EXPORTING
  headdata  = headdata
  clientdata  = clientdata
  clientdatax  = clientdatax
*  PLANTDATA  = PLANTDATA
*  PLANTDATAX  = PLANTDATAX
*  FORECASTPARAMETERS  = FORECASTPARAMETERS
*  FORECASTPARAMETERSX  = FORECASTPARAMETERSX
*  PLANNINGDATA  = PLANNINGDATA
*  PLANNINGDATAX  = PLANNINGDATAX
*  STORAGELOCATIONDATA  = STORAGELOCATIONDATA
*  STORAGELOCATIONDATAX = STORAGELOCATIONDATAX
*  VALUATIONDATA  = VALUATIONDATA
*  VALUATIONDATAX  = VALUATIONDATAX
*  WAREHOUSENUMBERDATA  = WAREHOUSENUMBERDATA
*  WAREHOUSENUMBERDATAX = WAREHOUSENUMBERDATAX
*  SALESDATA  = SALESDATA
*  SALESDATAX  = SALESDATAX
*  STORAGETYPEDATA  = STORAGETYPEDATA
*  STORAGETYPEDATAX  = STORAGETYPEDATAX
*  FLAG_ONLINE  = ' '
*  FLAG_CAD_CALL  = ' '
*  NO_DEQUEUE  = ' '
*  NO_ROLLBACK_WORK  = ' '
  IMPORTING
  return  = ls_return
  TABLES
  materialdescription  = materialdescriptions
*  UNITSOFMEASURE  = UNITSOFMEASURE
*  UNITSOFMEASUREX  = UNITSOFMEASUREX
*  INTERNATIONALARTNOS  = INTERNATIONALARTNOS
*  MATERIALLONGTEXT  = MATERIALLONGTEXT
*  TAXCLASSIFICATIONS  = TAXCLASSIFICATIONS
*  RETURNMESSAGES  = RETURNMESSAGES
*  PRTDATA  = PRTDATA
*  PRTDATAX  = PRTDATAX
  extensionin  = lt_extensionin
  extensioninx  = lt_extensioninx.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ChampaignWolf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值