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发布策略。

6条回答
Alawn_Xu
2020-09-16 00:02

谢谢您的回复。我下载了说明,尽管它说可以执行,但是在执行后,消息说已经存在更改。 还有已经存在的手动步骤.. !! 我们是605。我也编译了代码,没有进行任何更改。

问题是没有提交可用于创建SES。 但是对于在循环运行BAPI时首先创建和接受SES的创建和接受,我创建并接受了消息。 第二,更新错误,第二,没有消息,为I000。

在检入ML81N时,由于错误而未创建任何内容。 如果我使用BAPI Commit强制在循环外进行提交,那么它仍然不起作用。创建并接受需要提交才能进入下一级别。

另一种选择是为每个记录创建并接受提交,然后如果下一个记录中有错误,请取消接受所有SES并将其删除。

但是为此我也找不到任何FM/BAPI来接受它。 我们没有发布策略设置。

谢谢,请指教。

一周热门 更多>