1. 问题背景
在 SAP MM(物料管理)模块的实施中,针对采购订单(PO)的标准界面增强是非常常见的需求。开发顾问通常会使用 EXIT_SAPMM06E_* 或者BAdI ME_GUI_PO_CUST在 ME21N / ME22N 的抬头或行项目处添加“客户数据(Customer Data)”页签,用于输入一些企业特有的自定义字段信息(例如:特殊审批人、关联项目号等)。
然而,在系统从早期版本升级到较新的 S/4HANA 版本后,有时会遇到一个极其恼人的“灵异事件”。
2. 问题表现
具体操作路径通常如下:
-
输入增强字段: 进入 ME21N,首先点击抬头的“客户数据”页签,在自定义字段中输入了相应的值 。
-
触发标准报错: 接着,切换到其他标准页签(例如“组织数据”),并填写了部分标准字段 。此时由于一部分的标准字段校验未通过,系统弹出了标准的红色报错信息,例如:“ME083: 请输入采购组 (Enter Purch. Group)” 。
-
数据离奇消失: 想要回头确认之前输入的信息时,再次切回“客户数据”页签,会震惊地发现:刚才辛辛苦苦手动输入的自定义增强字段,竟然全部被系统自动清空了!
3. 原因分析:版本迭代带来的框架级差异
当接到这个工单时,第一反应是:“我的增强代码写错了吗?”
实际上,这往往不是由于代码写错了,而是 S/4HANA 底层标准程序的屏幕数据刷新机制(Screen Data Flush)发生了改变。
我们可以打个比方:
这就像你在网页上填表单。你先在第一页填了“收货地址”(自定义字段),然后翻到第二页填“邮编”(标准字段)。系统发现邮编格式不对报错了,同时为了

1万+

被折叠的 条评论
为什么被折叠?



