来源/微信公众号:勇闯天涯的虾客
作者:城市中迷途小书童
文章已获授权
投稿邮箱:zh@tikehui.com
近日和项目上的ABAP开发顾问一起弄一个自开发的报表。其中某个栏位的取值需要从批次主数据里抓取到供应商代码,然后根据供应商代码取到供应商名称等。为此笔者需要备功能说明书,在说明书里笔者需要将具体取值逻辑写清楚。要取到批次主记录里的'供应商'字段,图示
根据物料号 批次号组合取供应商代码100823。
习惯性的,笔者将鼠标放在供应商字段上点击F1键调出帮助文档,
由该字段的技术信息表明,它的技术名称是MCHA-LIFNR。如上图示。
可以当笔者使用事务代码SE16 表名 MCHA, 输入该物料号 批次号,查出来的记录里'供应商'字段竟然是空!
Are you kidding me?
笔者又换了表名看看,SE16 表名 MCH1, 输入该物料号 批次号,查出来的记录里'供应商'字段才有值 ! 如下图:
F1帮助文档里的信息,误导了我。莫非SAP系统玩阴的?以SAP系统的严谨与强大,不至于这样吧?笔者有些不解。虽然说,作为SAP 顾问,不是笔者玩SAP,就是SAP玩笔者,被SAP玩玩我是有心理准备的,但是SAP你不能这么低级而简单的玩吧?
由此,笔者决定研究一下SAP MCH1表和MCHA表更新逻辑。
经查,笔者所在的A项目里,批次是在material level 唯一。
意味着不同物料号可以有相同的批次号,只要物料号 批次号组合是唯一的即可。
SE11 看MCH1表结构,
MCHA表结构,
1), MSC1N, globally的创建一个批次主记录,
保存之,
SE16 去观察MCH1/MCHA表数据,
MCH1表,
此时,MCHA表无数据,
2), 在某个工厂代码下创建一个批次主数据,
保存,
此时再次去看MCH1和MCHA表数据,
MCH1表,
Vendor字段值有值。
MCHA表, 也有数据,
不过Vendor字段值还是空的!
虽然大致明白了MCH1和MCHA表的更新方式,不过MCHA表里的供应商字段如何被更新到,还是不得而知!
聪明的你,有什么好的建议呢?