近日和项目上的 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 表里的供应商字段如何被更新到,还是不得而知!
聪明的你,有什么好的建议呢?
2019-07-03 写于苏州市。
版权声明:
凡本网内容请注明来源:T媒体(http://www.cniteyes.com)”的所有原创作品,版权均属于易信视界(北京)信息科技有限公司所有,未经本网书面授权,不得转载、摘编或以其它方式使用上述作品。
本网书面授权使用作品的,应在授权范围内使用,并按双方协议注明作品来源。违反上述声明者,易信视界(北京)信息科技有限公司将追究其相关法律责任。
评论