点击此处---> 群内免费提供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发布策略。
如KBA 2468660中所述,这是不可避免的。
2468660-BAPI_ENTRYSHEET_CREATE号码范围问题
最诚挚的问候,
Myra
感谢您的答复。我下载了说明,尽管说明可以执行,但执行后,消息说已经存在更改。 还有已经存在的手动步骤.. !! 我们是605。我也编译了代码,没有进行任何更改。
问题是没有提交可用于创建SES。 但是对于在循环运行BAPI时首先创建和接受SES的创建和接受,我创建并接受了消息。 第二,更新错误,第二,没有消息,为I000。
在检入ML81N时,由于错误而未创建任何内容。 如果我使用BAPI Commit强制在循环外进行提交,那么它仍然不起作用。创建并接受需要提交才能进入下一级别。
另一种选择是为每个记录创建并接受提交,然后如果下一个记录中有错误,请取消接受所有SES并将其删除。
但是为此我也找不到任何FM/BAPI来接受它。 我们没有发布策略设置。
谢谢,请指教。
您好,
有关提交工作问题,请参考以下说明:
1338514-在BAPI中提交工作问题
请确保此注释已在您的系统中实现。
最好的问候,
Yang
谢谢您的回复。我下载了说明,尽管它说可以执行,但是在执行后,消息说已经存在更改。 还有已经存在的手动步骤.. !! 我们是605。我也编译了代码,没有进行任何更改。
问题是没有提交可用于创建SES。 但是对于在循环运行BAPI时首先创建和接受SES的创建和接受,我创建并接受了消息。 第二,更新错误,第二,没有消息,为I000。
在检入ML81N时,由于错误而未创建任何内容。 如果我使用BAPI Commit强制在循环外进行提交,那么它仍然不起作用。创建并接受需要提交才能进入下一级别。
另一种选择是为每个记录创建并接受提交,然后如果下一个记录中有错误,请取消接受所有SES并将其删除。
但是为此我也找不到任何FM/BAPI来接受它。 我们没有发布策略设置。
谢谢,请指教。
很抱歉再次打扰大家,这个问题部分与BAPI有关,因此再次发布。 我们在设计上做出了某种折衷,现在要做的是,如果"测试运行"为"开",我们将在No Commit ='X'且没有接受标志的情况下运行BAPI。 这样可以确保完成对"创建条目"工作表的所有验证(而不是我们计划在调用BAPI之前进行的确认)
如果任何数据有错误(我们根据代理中输入的数据多次运行此bapi),则会发出错误消息。 如果运行中没有错误,我们将再次调用BAPI,这一次是No Commit =空,并在BAPI中添加了接受标志= X。
除一个问题外,其他所有方法都工作正常。 当BAPI在测试模式下运行时(即使没有提交='X'),它也在消耗数字范围。 因此,当进入实际运行时,条目表的文档编号将增加1。 代理数据有3个条目表数据,对于第一个测试运行,编号为100XX01,实际运行正在创建100XX02(加号1)。 在代理运行结束时,我们将文件编号为100XX02、100XX04、100XX06。
现在,非办公室业务不希望出现这种差距,因为这会造成和解问题。 我们无法将数字范围设置为外部,因为我们有用户通过ML81N手动创建。 我们尝试做的另一件事是,当测试模式将EXT_NUMBER传递给BAPI时,它可以将no用作测试模式,但这也不起作用。
如果您对此问题有任何见解,请提出建议
PS:我测试了NRIV缓冲液并从中取出了缓冲液,但这并没有帮助。
此致
感谢关闭此线程!
一周热门 更多>