SAP-ABAP-BAPI 调试 SHP_DELIVERY_CREATE_FROM_STO 的 bug

昨天晚上调试一个程序,奋战到将近3点快哭了才找到原因。问题就出在   SHP_DELIVERY_CREATE_FROM_STO  这个 sap的标准函数上。

再用简单的数据单独对这个函数测试。

SAP-ABAP-BAPI 调试 SHP_DELIVERY_CREATE_FROM_STO 的 bug_第1张图片

采购订单 行项 数量 单位
4600021861 360 900 M
4600021861 370 900 M
4600021861 380 600 M

现在要针对上面的数据,创建转储的交货单(公司间交易的交货单),测试数据如下:

1、当我所有行都作完全数量的创建时,没有问题,能够正创建.

输入

输出 (很正常,行数,数量都正确 交货单 41037971)

SAP-ABAP-BAPI 调试 SHP_DELIVERY_CREATE_FROM_STO 的 bug_第2张图片

2.当其中有只创建部分数量时,就诡异了。。。


输入 (360行项不是全部数量,只出 899 ,正常情况应该是结果同上,只是360的数量是 899)

SAP-ABAP-BAPI 调试 SHP_DELIVERY_CREATE_FROM_STO 的 bug_第3张图片

输出 (  360 行项不见了,变成两个 370 行去了)

SAP-ABAP-BAPI 调试 SHP_DELIVERY_CREATE_FROM_STO 的 bug_第4张图片

看更多诡异的.

输入


输出(两个380行了,其它两行没了)


输入


输出

输入 (当只有最后一个是不完全数量时,能够正常 )

SAP-ABAP-BAPI 调试 SHP_DELIVERY_CREATE_FROM_STO 的 bug_第5张图片

输出


这问题真是蛋疼呀(调试这鬼东西,我一坐就是7个多小时), 没办法去改这个函数,只能从调用的地方入手了。

我在调用前,把只要是不完全数量的都单独提出来,作为单个项来创建一个交货单。 算是绕过这个问题了。

此时此刻已经是凌晨了,没敢吵醒那本就愤愤不平的老婆大人,自已躲在小房间里猫了一宿。

2012/02/16

你可能感兴趣的:(测试,SAP,360)