点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
当前,我想知道我是否可以通过并行处理来改善当前程序-
我必须使用BAPI制作70,000个GI/GR文档,这需要很多时间。.所以我想拆分成较小的程序包,并进行一些并行处理以拆分WP。
所以我制作了测试运行程序,该程序生成了50个文档,并分成了10个WP:
做50次。
等待g_progs LE pa_wpnum。
呼叫功能'Z_PARA_TEST'
在组'390'中开始新任务g_task目的地
在任务结束时执行return_z_para_test
异常
resource_failure = 3。
案例sy-subrc。
当3.
等待g_progs <3到'20'秒为止。
结束。
将1加至g_task。
将1加至g_progs。
将1加至g_sprog。
ENDDO。
FORM使用任务名称返回_z_pp_para_test。
从g_progs中减去1。
向g_eprog添加1。
gt_chk_message-message =10。
附加gt_chk_message。
ENDFORM。
* Z_PARA_TEST具有BAPI_GOODSMVT_CREATE-> BAPI_TRANSACTION COMMIT函数。
事实证明,我循环了50次(显示50行" 10"的文字)。 但是只能制作1个文档!
所以..我的问题是:
1。 BAPI_GOODSMVT_CREATE是否可以与并行处理一起使用? 还是我做错了?
2。 如果每个WP工作太快,我认为文档编号将相同。 可能有问题吗?
您可以在侦察时使用BAPI进行操作。 请将" X"传递给FM" BAPI_TRANSACTION_COMMIT"的导入参数。 下面的线程供SAP中并行处理参考。
https://blogs.sap.com/2019/03/19/parallel-processing-made-easy/
谢谢
Gourab
任何BAPI都能与并行处理一起很好地工作。
您是否正确执行了BAPI,并检查了其返回消息吗?
数字范围应该不是问题(有时会出现一些性能,数字空白,数字顺序等问题,但这并不能阻止成功执行)。
您无需进行并行处理, 可以将文件拆分为多个文件,并同时运行该程序多次。
谢谢
Gourab
发现了问题:
在Do〜Enddo之间,我不得不延迟一些时间(我使用Wait最多等待'0.5'秒)。
但这会带来不同的问题-在较小的口袋中,
它比没有并行处理的实际处理时间还要重!
因此,我目前正在寻找在DO-ENDDO之间最小化"等待时间"的方法。
任何想法将不胜感激。
此外,在上载" 70,000"条记录时,您还需要考虑的另一件事是如何处理错误记录。 一次性上传这么多记录会很麻烦。 您还必须考虑70000条记录的上载时间。 相反,您可以将每个文件中的记录拆分为5000条记录,然后上传一次。
否则,您只能从同一文件和进程中读取5000条记录(该文件将为1,但一次只能读取5000条记录),并且可以在6个会话中同时运行该程序。 这样就很容易生产。 您可以计划在休假的一周在PRD中进行一整天的过渡,然后继续进行,这样将轻松且无错误。
从技术上讲,可以并行执行BAPI。 尽管从技术上讲是可行的,但单步跟踪任何错误都将很困难。
谢谢
Gourab
是的。 那可能是答案-但是为什么我要使用并行处理是..避免"使用多个选项卡来运行问题"。
据我所知,它实际上是与手册并行处理的?
一周热门 更多>