点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
我们正在使用FM'IDOC_INBOUND_ASYNCHRONOUS'通过程序创建IDOC。
之所以使用它,是因为我们希望程序继续运行,而不必等待IDOC的创建/处理。
但是,该程序实际上正在等待IDOC被处理。 当我们仔细观察时,程序正在等待语句"等待直到g_semaphore ='X'"。 在同一标准FM中。
为什么会这样? 由于FM是异步FM,因此不应该立即返回控制。 为什么要等待IDOC完成处理?
我们还检查了WE20中的配置。 我们使用的IDOC合作伙伴资料设置为"后台程序触发"。
我们在这里缺少什么? 任何输入将不胜感激。
谢谢。
我确定的原因是,这是因为在合作伙伴资料(T CODE:WE20)->基本类型->"入站选项"中,这里有一个单选按钮选项,它被选为"立即触发" '因此,即使我在并行处理中调用FM(使用CALL FM-STARTING NEW TASK),也会在等待一个IDOC进行处理的情况下进行处理。
因此,以下是解决此问题的步骤:
1。 我已在合作伙伴资料(TCODE:WE20)中将单选按钮更改为" TRIGGER BY Background PROGRAM"。
2。 在开始新任务时调用FM(使用语法:CALL FM'Ztest_fm'STARTING NEW TASK)
3。 除了上述内容外,我们还需要安排生产系统中的标准程序以后台模式进行处理,
报告:RBDAPP01 i在生产系统中按小时计费。
请注意:完成上述步骤后,后续的IDOC将不等待先前的idocs处理完成,因此将很快执行。
所有IDOC将成功获得状态为64的进程。
请记住,报告:RBDAPP01实际上将以异步模式处理IDOC,并在IDOC处理后将状态更改为53。
感谢您进行更新。 如果已回答问题,请关闭问题。
FM IDOC_INBOUND_ASYNCHRONOUS已启用RFC。 您可以(或应该)使用选项调用功能-开始新任务。
注意:为了提高性能,在进行MASS交易时,应使用 {CALLING meth} | {PERFORMING subr} 选项来管理当前正在运行的任务数量(例如在任何正确的并行任务管理中) em>
一周热门 更多>