SAP BAPI_MATERIAL_SAVEDATA保存自定义字段(包括保存自定义字段失败的解决方法)

Step1. 增强MARA表

SAP BAPI_MATERIAL_SAVEDATA保存自定义字段(包括保存自定义字段失败的解决方法)

Step2. 增强结构BAPI_TE_MARA BAPI_TE_MARAX

SAP BAPI_MATERIAL_SAVEDATA保存自定义字段(包括保存自定义字段失败的解决方法)
SAP BAPI_MATERIAL_SAVEDATA保存自定义字段(包括保存自定义字段失败的解决方法)

Step3. 事务代码:OMSR 指派屏幕字段

SAP BAPI_MATERIAL_SAVEDATA保存自定义字段(包括保存自定义字段失败的解决方法)
SAP BAPI_MATERIAL_SAVEDATA保存自定义字段(包括保存自定义字段失败的解决方法)

Step4. BAPI_MATERIAL_SAVEDATA调用

DATA:
LS_HEADER  TYPE BAPIMATHEAD,
LS_PLANT   TYPE BAPI_MARC,
LS_PLANTX  TYPE BAPI_MARCX,
LS_MESSAGE TYPE BAPIRET2.

DATA: ls_bapi_te_mara  TYPE bapi_te_mara,
    ls_bapi_te_marax TYPE bapi_te_marax.

DATA: lt_extensionin  TYPE TABLE OF  bapiparex WITH HEADER LINE,
    lt_extensioninx TYPE TABLE OF  bapiparexx WITH HEADER LINE.

*   MARA
LS_HEADER-MATERIAL      = GS_RB06-MATNR.         "物料号
LS_HEADER-MATERIAL_LONG = GS_RB06-MATNR.
ls_header-basic_view = 'X'.                      "增强字段在哪个视图的主数据表,必须设置View更新标准;否则extension字段不更新          

*   MARC
LS_PLANT-PLANT       = '1100'.                   "工厂
LS_PLANTX-PLANT      = '1100'.                   "工厂
LS_PLANT-QM_AUTHGRP  = GS_RB06-QMATA.
LS_PLANTX-QM_AUTHGRP = 'X'.

"结构赋值,可不用位置偏移(SY-DAUTM+0(4))
ls_bapi_te_mara-material = gs_rb06-matnr.
ls_bapi_te_mara-zupid    = '00000001'

ls_bapi_te_marax-material = gs_rb06-matnr.
ls_bapi_te_marax-zupid = 'X'.

"将结构值append到extension表
lt_extensionin-STRUCTURE = 'BAPI_TE_MARA'.
lt_extensionin-valuepart1 = ls_bapi_te_mara.
APPEND lt_extensionin.
lt_extensioninx-STRUCTURE = 'BAPI_TE_MARAX'.
lt_extensioninx-valuepart1 = ls_bapi_te_marax.
APPEND lt_extensioninx.



*   物料导入
CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
  EXPORTING
    HEADDATA   = LS_HEADER
    PLANTDATA  = LS_PLANT
    PLANTDATAX = LS_PLANTX
  IMPORTING
    RETURN     = LS_MESSAGE
TABLES
  extensionin        = lt_extensionin[]
  extensioninx       = lt_extensioninx[].
上一篇:servlet知识点大全总结


下一篇:shell编程