SAP ABAP并行处理控件

2020-09-06 04:40发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我经历了SAP的并行...

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

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


大家好,

我经历了SAP的并行处理概念,我们使用以下语句来实现它:

"通话功能" " ZPARALLEL_PROCESS_FM" 开始新任务 lv_taskname

组中的目的地 p_rfcgr'

但是我想知道以下内容:

在一种情况下,我们正在运行每日批处理作业,并且该作业具有并行处理逻辑。 但是,直到第二天同一工作再次开始时,并行处理仍未完成。 由于这些原因,输出文件生成不正确。

我们如何控制/处理方案,以确保下一个作业在上一个作业完成之前不开始,或者可以确保异步作业在有限的时间内完成。

有一种解决方法,我们可以使用锁定对象在报表中写入条件,我们可以在作业开始时锁定表,并在完成之间解锁,如果再次触发相同的作业,我们将其置于等待状态

但是我可以知道有什么标准的处理方法。

此致

乔希王子

4条回答
compass1988
2020-09-06 05:33 .采纳回答

使主程序保持活动状态直到执行结束(它将使用一个进程),您可以使用选项CALLING方法在任务结束时检查RFC调用的执行情况。 (在启动任务时添加一个计数器,并在任务方法的末尾将其递减,直到运行的任务等待0个)

"致电
 不要做。
   向任务名称添加1。
   通话功能" zparallel_process_fm"
     开始新任务任务名称
     任务结束时的呼叫方法。
   "
 ENDDO。
 等等
 等待任务名称LT'0001'。
 " 方法
 从任务名中减去1。
 

在主程序中检查是否没有其他作业(当前正在运行相同名称或相同的报告),不要忘记您正在运行,因此当找到2个" R"运行作业时退出。

"查找运行相同程序的作业
 通话功能'BP_FIND_JOBS_WITH_PROGRAM'
   出口
     abap_program_name = lv_repid
     状态=" R"
   桌子
     工作清单= lt_joblist
   例外情况
     其他= 0。
 "如果有2个职位,请退出
 描述表lt_joblist行lv_nbjobs。  "行()
 

一周热门 更多>