背景
创建信息类型9061,PS结构下字段名为"ZZZZBG"(包含4个Z)
生成时报错如下,我们发现出现了一个不存在的字段,原来ZZZZ的位置被替换成了信息类型编码。
排查
根据消息号XI166,打断点排查一下,找到生成逻辑流的标准程序(MP50JF11),如下:
在 FORM ADJUST_FLOW_LOGIC 中,有一系列关键字被替换的操作,包括PMMMM、PNNNN、PZZZZ、NNNN、MMMM、ZZZZ。
分析
标准程序在创建信息类型时会以PMMMM、PZZZZ等空模板为基础创建,之后再将相应关键字符替换为对应信息类型,然而当我们在字段中含有上述字符时,就会被误伤。
解决方案
在SAP不做修改的情况下,我们可以避免创建包含以下字符的字段:
- PMMMM
- PNNNN
- PZZZZ
- NNNN
- MMMM
- ZZZZ