主题:物料主数据增加两个自定义栏位,如我们需要新增这两个用户栏位ZZMPN/ZZFLAG
具体的功能需求:
标准功能MM01/MM02/MM03要能维护/修改这两个自定义栏位;
标准功能MM17要能批量变更这两个用户自定义栏位;
物料主数据的LSMW(使用SAP标准direct input的方式)要能批量上传并更新这两个用户栏位。
具体的实现:
第一部分:对标准功能MM01/MM02/MM03的增强
具体的步骤请参照下面这个帖子的步骤:
https://blogs.sap.com/2013/10/10/enhancing-material-master/
这里在画界面的时候要注意从MARA表去调用这两个栏位,我刚开始的时候就是用ZMM_MARAA这个结构去调用这两个栏位,后来发现无法更新栏位的值。
第二部分:增强MM17的增强
基本上按照这个帖子的步骤来做:http://stankowski.it/webpage/how2/A001.pdf
这里要说明一下的是步骤3.8和3.9.
3.8是复制SAP的示例代码到badi实现中去。
3.9要根据自己的情况调整一下代码:
3.9.1, 对于RETURN_IDOC_TYPE这个方法,要把里面的代码注释掉,因为这个部分是给IS-OIL行业用的
3.9.2,对于ADD_NEW_SEGMENT这个方法,我们要根据自己的情况调整一下代码
申明的部分,赋值出来的代码是这样的:
将SAP标准的注释掉,然后打开自己在2.1 WE31定义的segment type
这里调整成自己的代码,
从这里一直到最后是给IS-OIL行业用的,要注释掉,否则无法更新成功。我之前就是没有把这一段注释掉,一直不成功。
第三部分:物料主数据LSMW direct input的增强
这部分就是启用增强MGA00001的用户增强,并将这两个栏位加入到CI_MMH1这个结构中去。
增加完了后可以看到BMMH1这个结构就包含了这两个栏位
LSMW里面做mapping的时候也可以看到这两个新增的栏位。
经过测试可以正确上传并写入。