点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,我们从一个系统调用的RFC很少,例如:
在更新任务中调用1 RFC->标准RFC
2在更新任务中调用RFC->标准RFC
3在更新任务中调用RFC->标准RFC(此处有提交工作)
4在更新任务中调用RFC->自定义RFC
所有这些都按顺序排列在QRFC(SMQ1)中,并在提交有效的第3 RFC之前按顺序执行。 现在的问题是,一旦触发提交,它将按顺序执行直到第3 RFC,但4 RFC也在第3 RFC之前执行。 即使全部按顺序设置,这可能是什么原因呢? 我也希望第四个RFC仅在第三个RFC完成后才能执行。
谢谢。
Rakesh
一个人解决
Yaah mike,
但是这里的问题是在标准程序/类中调用了RFC3,它在RFC内部传递了commit ='X'。 而且,如果RFC3中没有提交,那么它将不会创建RFC4所需的未清项。
此外,如果RFC4在RFC3之前排在队列中,则RFC4将不会执行并抛出错误,因为RFC4查找由RFC 3创建的未清项目。
谢谢
Rakesh
如果执行提交,则队列已完成并得到执行。 根据您的解释,RFC4将在新队列中创建一个新的LUW,如果运行速度更快,则很可能在其他三个队列之前完成。 如果您需要保留序列,则它们必须位于同一LUW中。
嗨,迈克,
是的,我用相同的队列名称排列了RFC4,并且它在SMQ1中也按顺序显示。
我确实尝试将RFC4调用之前的wait语句作为RFC3的提交触发器。 但是输出不一致。
谢谢
Rakesh
好,我在这里没有解释所有可能性,它可能有点冗长。 最可能的情况是我解释的第一个情况。 更详细地:
RFC1-3进入LUW1,放入队列。 承诺。 LUW由队列管理器处理。 RFC4进入LUW2。 如果有任何超出队列的延迟原因(例如V2更新或后续活动),则LUW2现在可以超过LUW1正在执行的任何过程。
最重要的问题:您是否使用相同的队列名称?
检查RFC调用的时间。 尝试(出于测试目的)在提交RFC4之前在代码中添加延迟。 您确定业务交易确实完成了,而不仅仅是从RFC/LUW的角度来看?
大家好,
关于上述要求的任何输入?
谢谢
Rakesh
一周热门 更多>