1、问题描述:
目前在项目中发现执行SAP的IDCNGRIR_GNB报表的时候,出现了物料编码和订单的物料编码不一致的情况:
2、问题展示:
采购订单上物料及编码显示
IDCNGRIR_GNB报表执行结果显示
3、问题原因:
调试程序发现,当会计凭证的行项目标识(BSEG-BUZID)为F\G\H\I\Y的时候,没有物料编码,物料描述根据采购订单编码及行项目从EKPO中获取行项目文本。
根据采购订单号获取物料描述
其他类型的行项目则根据EKBE采购订单历史中获取物料号,然后会根据物料编码从物料主数据中获取物料描述
根据采购订单历史获取物料编码
跟据物料编码从主数据获取物料描述
继续调试,发现程序中处理数据时通过MOVE-CORRESPONDING来赋值,当前凭证的行项目类型是F,不应该取到物料号,应该走上述逻辑分支1,取采购订单的行项目文本。但是没有清空结构,此时由于上一条记录的数据中有物料号,导致结构变量gs_extract的MATNR字段保留了上一条处理的数据中的物料号,因此走了上述逻辑的分支2。
4、结论:
根据测试这个问题应该是此报表的bug。
5、解决办法:
无。
6、本次执行报表的SAP版本如下: