FavoriteLoading
0

[问题解决]开启了adsubcon调用BAPI_GOODSMVT_CREATE创建物料凭证时第一行批次错误

[隐藏]

1,问题描述

项目里使用了ADSUBCON,在调用BAPI_GOODSMVT_CREATE创建带subcontractor行项目的物料移动凭证时,发现主行项目中的批次赋值错误。

错误截图:

看到第一行,也就是物料移动类型是101的行项目上的批次是1208221560,实际调用bapi时的输入批次是另外一个1906050181,但是创建出来的物料凭证却不同,而且bapi返回消息中也没有提示任何信息。

预想结果:

2,问题分析

业务顾问一头雾水,所以只能搬出debug大法,此处略去10000000个字。。。。经过debug发现了一段标准SAP代码中的注释,

include:MM07MFS0_SEGMENTDATEN_EK_SETZE中

翻译过来就是,用tcode MIGO根据带subcon的采购订单创建物料凭证时,主行项目中的批次号和评估类型是不能被PO带过来的值覆盖,反言之,就是不使用MIGO创建物料凭证时PO中的批次和评估类型的优先级就高,会覆盖bapi输入参数里的值!!!

这时再查看一下对应的PO批次,

MIGO中找到物料凭证中的PO

ME23n找到PO中的批次,果然和BAPI输入的不一致。

以上。