物料主数据附加字段增强
MARA附加
SE11 MARA 附加结构
配置函数组
spro
填写函数组ZFG_MDG006(这一步会创建函数组)
复制屏幕到新建的函数组(屏幕进MM03 F1看)比如
复制的屏幕清空字段,加附加字段
改一下屏幕流的 field,其他不动
配置新建屏幕
选21(注意不一定是21,如果配置了自定义的找自定义的),进来加子屏幕
新加一行
传输
如果要加描述,在函数TOP里定义全局变量
MARC 附加
SE11 MARC追加字段
注意向修改MARC的附加结构后,需要激活附加结构,否则进入MM02会dump
HANA激活CDS VIEW note 2242679
新建ddl,名称 ZEXT_MM044_DDL ,描述 Extension view for Append ZEXT_MM044_DDL,
选 extend view
@AbapCatalog.sqlViewAppendName: 'ZEXT_MM044_V'
@EndUserText.label: 'Extension view for Append ZEXT_MM044'
extend view nsdm_e_marc with ZEXT_MM044_E {
t.zzbaxh
}
激活即可
附:MARCU能查到数据,MARC查不到,因为查MARC是走的代理对象
而不是直接查的MARC表
走的是NSDM_V_MARC这个DDL视图,如果附加了字段,必须要 extend view
增加屏幕字段
spro
创建函数组
配置屏幕对应的函数组
选择21,双击“数据屏幕”
选择对应的子屏幕,双击“子屏幕”
可以看到函数组为ZMGD1,屏幕为003
在PAI加入字段
注意:完成增强之后,如果要做lsmw,还需要继续在BMMH1中追加字段,可以看到include了CI_MMH1,直接修改CI_MMH1即可。添加完字段后,se38执行程序RMDATING重新生成一下(测试不需要执行生成,添加完字段就可以了)。这样lsmw就可以看到这个字段了,但是如果没有配置omsR,还是不会更新
BAPI写入增加字段
1.拓展结构:
1.1bapi_material_savedata拓展结构BAPI_TE_MARC、BAPI_TE_MARCX追加字段,注意BAPI_TE_MARC只能追加C类型字段(主数据表不需要CHAR,BAPI附加结构才需要char),BAPI_TE_MARCX要追加CHAR1类型字段(数据元素BAPIUPDATE)
1.2BAPI_MATERIAL_SAVEREPLICA 拓展结构BAPI_TE_E1MARC BAPI_TE_E1MARC X
2.omsR添加字段
维护:状态看具体视图,不一定是D
如果字段超长,或者debug 看badiSTANDARDMATERIAL_SAVE_DATA
注意:bapi_material_savereplica和bapi_material_savedata扩展的结构不一样,传入的参数也不一样
问题
MARA标准或自定义字段保存不了
如果配置和代码都没问题,MM02保存不了自定义字段,参考note 2539674,激活MARU即可
报错 C+ 890 "Changes are no longer possible following a closing entry"
原因是物料成本估算MBEW-VMSAV 没有更新成功,打note3020075 可解决