没到几天就遇到一个不大不小的问题,用户反映subcontracting订单的组件在修改了之后,去查看行项目修改记录的时候无法查到详细的组件修改的情况,只能看到其是否更改过。
本以为是个小问题,不过分析中发现,还真不太好为用户满足这个小小的需求;
庆幸还好这个问题或者说需求不是一天两天存在了,不是特别紧急(当然,才来乍到系统都不熟悉,总不可能给我出个王炸难题吧)。
越分析越觉得这可能不是配置或操作中的问题了,所以我大胆的断定,至少这个版本的ecc
标准情况下,组件的任何修改,在对应分包PO的行项目更改记录里只会出现如上图的一个X记录而已,具体详细修改内容是没有记录的;
进一步debug分析后发现,标准功能中系统不记录分包PO中分包组件的修改记录在行项目上的原因就是,这种涉及组件屏幕的处理,BOM扩展,更新,等处理是使用的是PP-MRP那边的函数实现的,所以其不会将组件的更改处理记录在采购凭证修改记录里;这个功能是缺失的;
所以。。。两手一摊(不到最后,这是不可能发生的情况)
那就进一步debug看是否系统留了对应的口子来开放式的处理这个需求,终于找到一个增强
使用下面的增强来实现记录分包组件的更改记录;
BAdI ME_CHDOC_ACTIVE
关于这个BADI的具体使用你们可以找ABAP研究一下,还是挺容易的,告诉你这个增强不仅仅可以用于分包组件的修改记录哦:当激活这个增强后分包PO的分包组件的修改将通过新的更改对象MDSB进行记录;对于分包组件的修改只需要将参数EX_COMPONENTS = ‘X'即可,同时将其他参数设置为空。