点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我已经编写了ABAP程序,该程序将使用功能模块" BAPI_IPKG_START"以不同的选择来触发信息包(多次)。
代码:
在IT_ABC处分配
IT_ABC2 [] = P_IT_ABC []。
在其中SIMULATION_ID NE
呼叫功能'ENQUEUE_E_TABLE'
导出
MODE_RSTABLE ='E'
TABNAME ='ZDEMO'
从ZDEMO删除,其SIMULATION_ID不为空。
呼叫功能'DB_COMMIT '。
从表IT_ABC2修改ZDEMO。
调用功能'DB_COMMIT'。
调用功能'DEQUEUE_E_TABLE'
导出
MODE_RSTABLE ='E'
TABNAME ='ZDEMO'。
呼叫功能" BAPI_IPAK_START"
导出
信息包= P_IPACK
*作业名=
*导入
* REQUESTID =
表
RETURN = LV_RETURN。
等待最多200秒。
清除IT_ABC2 []。
ENDLOOP。
但是由于声明,我们遇到了性能问题-等待长达200秒。
一旦信息包被触发并完成,下一个信息包将在200秒后启动。 该信息包针对不同的选择运行了80次,因此200秒导致延迟,程序需要4-5个小时才能完成。
80次* 200秒= 16000秒= 4-4:45小时
请告知我是否还有其他方法可以改善我的表现。
谢谢
Abhimanyu Sharma。
capture1.jpg (19.6 kB)
对于InfoPackages必须严格按顺序运行还是为什么必须在代码中控制此顺序有什么特殊的原因吗? 如果IP都有不同的选择,则可以触发所有IP,而不必等待每个完成之后才触发下一个(并行执行),并使系统进程在后台执行。
完全正确。 最好从程序中触发流程链,以所需的顺序运行信息包。
Abhimanyu Sharma,
尝试将ABAP代码替换为WAIT UP 200 SECONDS,以解决以下代码,以解决您的问题。
让我知道结果! 问候。
如果顺序很关键,您还可以通过定期(每10秒一次)检查infoPackage的状态(使用'BAPI_ISREQUEST_GETSTATUS'MF)来使等待时间更智能。
此致
弗雷德里克
一周热门 更多>