BAPI_ENTRYSHEET_CREATE

2020-09-15 23:25发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我们正在开发一个代理,其...

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

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


嗨,

我们正在开发一个代理,其中的数据将来自外部服务,并将通过BAPI_ENTRYSHEET_CREATE创建SES。 一个呼叫中将有多个SES数据,并且代理必须验证所有数据以进行创建和接受。

要求是,如果所有数据看起来都不错,则应创建并接受SES(因为所有SES都包含在代理中),然后才应执行提交工作。 如果多个SES数据中的任何一个有问题,则不应提交事务,也不应创建和接受SES。这就像是全部或全部。

为此,我们在循环中调用BAPI_ENTRYSHEET_CREATE并在创建本身中设置接受标志。 我们还将NO_COMMIT标志设置为true,因此BAPI内部不会发生自动提交。 并且我们在检查了循环中出现的任何错误消息后提交。 我们面临的问题如下。

如果有多个SES数据(每个都有不同的PO号),则BAPI可以创建SES并接受第一行项目的SES(返回2条消息)(不提交) 但是当第二个订单项到来时在循环内部,则会引发错误"更新错误"。 对于随后的BAPI调用,它显示已创建,并且I000带有文本消息,没有错误.....

当BAPI上的No commit标志消失(对于相同数据)时,SES将被创建并被接受而不会出现错误。 但是,由于提交已经完成,因此如果后续数据中发生任何错误,我们将失去取消提交的能力。

请建议如何处理这种情况。.

PS:我们没有在SES上使用y发布策略。