使用并行处理时,如何检查所有子WP是否结束?

2020-08-27 04:44发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)好吧,假设我必须处理总计50个W...

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

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


好吧,假设我必须处理总计50个WP(在特定时间最多限制为10个),如何检查所有子WP是否已终止?

当然,它们具有相同的过程,但是由于外部因素,它们的处理时间可能会略有不同。 当前已完成,并在主程序中放入多少个WP,然后检查它们是否具有相同的值。

但是它不起作用。 我认为将会有某种标准的FM来检查以跟踪所有子WP。

任何想法都会受到赞赏。

3条回答

在这种情况下,数据库锁一直是个问题,至少在ECC 6.0中(不确定HANA系统) 。 是的,只是在两者之间增加延迟是通常的处理方式。

或者在某些情况下(例如批量处理),我们只运行所有内容,然后仅再次运行由于任何错误而未处理的内容。 例如,在一个项目中,我们有一个IDoc接口在后台处理大量数据。 可以这么说,IDoc有时会互相踩到脚趾,然后尝试锁定相同的数据,然后失败。 因此,我们只是在同一工作的最后一步中添加了IDoc重新处理程序。 在那之后,我们很少遇到任何问题。 即使您不使用IDoc,也可以使用类似的策略:继续操作,然后再返回任何错误。

如果有人找到了更好的解决方案,我将非常有兴趣知道。

好,最后,我在代码中放入了一些重新处理的DO〜ENDDO子句,以删除Wait〜直到子句(感谢Jelena!)。

好吧,延迟0.3秒与重新处理之间没有什么区别。
当然,我还没有测试过大量数据(10,000+),可以在大约500个数据集中找到,并行处理需要 比执行1 WP花费的时间更多(延迟/等待在SAT上始终是最重要的)。


好,谢谢大家的回复。

一周热门 更多>