一、在MARA表中APPEND STRUCTURE

二、在BAPI_TE_MARA和BAPI_TE_MARAX结构中APPEND中相应的STRUCTURE


三、OMSR分配字段选择组。
TCODE:OMSR 新建一个字段分配,参数如下配置:

维护状态参数分别代表意义如下:

选择组应该分配一个与目前存在的组不同的组,本文中就选择了'111'

四、以上三步完成以后就可以在BAPI中传入相应的字段了。具体实现代码如下:
DATA:ls_header_ext LIKE bapi_te_mara,
ls_header_extx LIKE bapi_te_marax.
CLEAR:ls_header_ext,
ls_header_extx.
MOVE-CORRESPONDING gs_upload_base TO ls_header_ext.
ls_header_ext-material = gs_head-material.
ls_header_extx-material = gs_head-material.
ls_header_extx-zzzlogo = cn_flag.
ls_header_extx-zzzspec = cn_flag.
ls_header_extx-zzztype = cn_flag.
ls_header_extx-zzzusage = cn_flag.
ls_header_extx-zzlifem = cn_flag.
ls_header_extx-zzstdno = cn_flag.
ls_header_extx-zzbinder = cn_flag.
ls_header_extx-zzzmatch = cn_flag.
ls_header_extx-zzhazard = cn_flag.
ls_header_extx-zzsignal = cn_flag.
ls_header_extx-zzcustom = cn_flag.
ls_header_extx-zzcotax = cn_flag.
ls_header_extx-zzstrn = cn_flag.
CLEAR:gt_extend.
gt_extend-structure = 'BAPI_TE_MARA'.
gt_extend-valuepart1 = ls_header_ext+0(240).
gt_extend-valuepart2 = ls_header_ext+240.
APPEND gt_extend.
CLEAR:gt_extendx.
gt_extendx-structure = 'BAPI_TE_MARAX'.
gt_extendx-valuepart1 = ls_header_extx+0(31).
APPEND gt_extendx.
注意gt_extend的valuepart1实际上只有240位,如果超过这个位数的话,需要用到valuepart2,以此类推,根据实际增加的字段
个数与长度来确定。
本文介绍了如何在SAP系统中扩展物料主数据的字段,包括在MARA表中追加结构,使用BAPI_TE_MARA和BAPI_TE_MARAX结构,以及在OMSR中配置字段分配组。通过这些步骤,可以使用BAPI_BAPIMATERIALSAVEDATA更新自定义字段。详细实现代码中提到了gt_extend的valuepart1和可能需要的valuepart2,以适应不同字段数量和长度。

1749

被折叠的 条评论
为什么被折叠?



