信息记录批量修改工具MEMASSIN为何可以违反info record里的配置的字段选择的原因浅析
作者:袁云飞(AlbertYuan)- 微信号yuanalbert
以下内容均为原创,希望对初学者有一些辅助作用,本人主要从事MM/QM/WM的相关工作,不专业处请多多指点,十足干货,码字不易,且行且珍惜,加入粉丝您将能看到更多相关主题文章,你们的关注就是我努力的动力,转载请引用出处,感激不尽;
MEMASSIN这个事务代码,相比大家都不会太陌生,我们顾问常常用来批量对信息记录进行批量的修改;当信息记录某个字段在维护的时候发生了批量错误的时候,这个工具常常就会派上用场;因为他迅速,便捷,高效;不过这个工具仅限于对信息记录的修改;也就是EINA/EINE里的数据的更改,关于条件类型detail里的信息,不再此工具覆盖范围内;
使用这个工具的时候,不知小伙伴们发现过这种问题没有,对于信息记录中,我们配置为必输的字段,使用MEMASSIN依然可以将其设置为空值;配置为仅显示的字段,MEMASSIN可以去修改其值;
往往我们有时还真利用这些特点去修改信息记录里正常情况在dialog模式下不能处理的字段;但很多小伙伴往往不清楚为什么会这样;其实我们分析一下标准代码就很容易推导出一些规律;MEMASSIN这个工具所使用的修改方式,是通过函数MASS_INFREC01_CHANGE来实现的,这个函数本质上不回去调用检查信息记录字段选择的配置信息,也就是说其并不知道此时后台配置里针对这个字段的状态设置是何值;而ME11/12/13这些dialog模式程序是和字段选择配置同步的,
另外,这个函数,并没有使用标准的BAPI去更改信息记录,或者说信息记录根本就没有所谓的BAPI修改函数,每个处理办法都是自己相对独立的代码逻辑;所以综合起来看,产生这个效果的原因就是上述这两个方面;
以上为本章讨论的所有信息;