通过ABAP代码监视子作业

2020-08-23 01:39发布

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

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


大家好,

我对如何使父作业保持"正在运行"状态直到子作业"完成"有疑问。

我有一个自定义程序来创建一个正在调用标准程序的作业,该作业将触发另一个子作业。

现在,要求是将父作业保持为"正在运行"状态,直到子作业完成。

谢谢。

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

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


大家好,

我对如何使父作业保持"正在运行"状态直到子作业"完成"有疑问。

我有一个自定义程序来创建一个正在调用标准程序的作业,该作业将触发另一个子作业。

现在,要求是将父作业保持为"正在运行"状态,直到子作业完成。

谢谢。

付费偷看设置
发送
8条回答
Tong__Ming
1楼-- · 2020-08-23 02:20

自创建子作业以来,您应该知道它的名称。

所有您需要做的就是在父程序中查询表TBTCO,该表包含作业运行信息以查看其是否仍在运行。

编辑:我看到您正在提交工作,而不是创建新的后台会话。 我上面给出的指示是监视作为SM36作业创建的作业。 尝试Submit...。然后返回

南山jay
2楼-- · 2020-08-23 02:29

因此,您需要更改您的自定义程序以等待其他作业的结束,方法是像罗伯特所说的那样循环读取表TBTCO。 每次尝试之间最多等待x秒。

NB:让一项工作无所事事通常不是一个好主意,但我想在某些特殊情况下该规则可能会有例外。/p>

落灬小鱼
3楼-- · 2020-08-23 02:19

创建子作业JOB_OPEN时,将其ID JOBCOUNT,JOBNAME保留在内存中。 (如果此信息隐藏在标准报告中,建议您调用BP_FIND_JOBS_WITH_PROGRAM之类的FM以查找计划的最后一个作业)

在父作业的最后一步结束时,在以下位置调用FM BP_JOB_STATUS_GET 一个循环,等待时间不超过n秒,直到结果" F"完成或取消" C"为止。

一只江湖小虾
4楼-- · 2020-08-23 02:14

这的确切目的是什么? 为什么"子作业"完成后不能简单地开始下一步?

Cikesha
5楼-- · 2020-08-23 02:06

您好 Anurag Singh

在我们的BASIS世界中,我们可以使用Predecessor&Successor Jobs选项配置此类作业条件。现在,如果您的组织使用Control-M这样的作业计划程序, 例如,可以为ECC设置父作业,一旦ECC中完成1个作业,然后在BW中完成1个JOB作业,然后在ECC中完成另一个作业,就像这样,也可以是示例或反向

感谢,

Kaushik

me_for_i
6楼-- · 2020-08-23 02:20

您好 Anurag Singh

据我了解,您所引用的作业是动态创建的,这意味着您正在执行触发该作业的程序,这有时可能也是不定期的。 很好的建议可能是使用工作变体。

好吧,既然您没有提到更多细节,为什么不问组织基础人员呢。 我几乎可以肯定,在这种公共论坛上共享您的组织详细信息可能会受到您组织的限制。

无论如何,您现在都可以按照以下步骤操作

https://answers.sap.com/questions/9338575/trigger-background-job-after-multiple-jobs-are-com.html

特别是下面的最后答案

https://answers.sap.com/questions/10168436/scheduling-job-with-dynamic-start-condition.html

谢谢

Kaushik

一周热门 更多>