BAPI_TRANSACTION_COMMIT问题

2020-09-09 19:36发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)在.net程序中,根据SAP返回...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


在.net程序中,根据SAP返回的消息,我收到使用BAPI_PO_CREATE1创建的采购订单。 实际上,每次执行时,都会得到一个新的下一个更高的数字PO。 这似乎很好。

另外,在BAPI返回我的.net程序之后,我立即执行BAPI_TRANSACTION_COMMIT。

但是,当我查看SAP时,PO不存在。

BAPI_TRANSACTION_COMMIT中的RETURN结构是初始的。 因此那里没有错误。

对于WAIT = X和BAPI_TRANSACTION_COMMIT中的默认WAIT,我已经尝试了相同的结果。

在该过程中是否有特殊的地方应调用此BAPI_TRANSACTION_COMMIT? 在调用CREATE PO BAPI之后,我立即"假设"是正确的时间和地点。

7条回答
四川大学会员
2020-09-09 20:05
All, 感谢大家的答复。 但是我能够找到解决方案。 解决方案是将BAPI_PO_CREATE1函数对象包装到一个Transaction对象中,然后在调用BAPI创建PO后提交事务。 我最终没有调用Commit BAPI(至少没有明确地)。 C#代码段如下: ........... RfcTransaction transaction = new RfcTransaction(); //创建交易对象 transaction.AddFunction(function); //将BAPI_PO_CREATE添加到交易对象 ........... RfcSessionManager.BeginContext(destination); //开始交易 function.Invoke(目的地); //致电BAPI_PO_CREATE transaction.Commit(目的地); //交易对象 RfcSessionManager.EndContext(destination); //结束交易 ........

一周热门 更多>