2020-08-27 06:35发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,我们有一个作业A每隔2小时运行一次,我们看到作业A的第二个实例即使在第一个实例仍在运行时也开始运行,有什么办法可以安排作业A在 前一个作业完成或取消之前,需要确保作业A之前没有运行的活动版本。
谢谢
Jonu Joy
等待最多3秒。 CASE systemid。 当" DEV"或" TST"时。 选择*从tbtcp到表lt_tbtcp的对应字段中 工作名称='ZTEST_JOB' 昨天和sdldate GE。 当" PRD"。 选择*从tbtcp到表lt_tbtcp的对应字段中 工作名称='ZPROD_JOB' 昨天和sdldate GE。 结束。 如果sy-subrc = 0。 选择*从tbtco到表lt_tbtco的对应字段中 对于lt_tbtcp中的所有条目 作业名称= lt_tbtcp-作业名称 AND jobcount = lt_tbtcp-jobcount AND状态=" R"。 "跑步 如果sy-subrc = 0。 lv_count = LINES(lt_tbtco)。 IF lv_count GE2。"大于2-先前的作业未完成 is_running ='X'。 其他。 "只是工作 清除:is_running。 万一。 其他。 写:/"没有更早的任务!"。 清除:is_running。 万一。 其他。 写:/"没有更早的任务!"。 清除:is_running。 万一。
向您的工作添加第一步,在此步骤中执行一个小报告:
注意,
Raymond
HI,
现在您已经有了一些实用的提示,例如 怎么样,剩下的问题是为什么。
我想象以下场景,为简单起见,我假设运行时间为140分钟:
作业#1从0800运行到1020
Job#2检测到仍在运行的Job 1并延迟了自己的开始,
因此从1021开始,直到1241结束
Job3,出于相同的原因 开始于1242,结束于1502
,我们将跳过一些作业详细信息,并在2200重新输入
,同时延迟总计超过两个小时,因此有作业#7 最初计划于2000年,现在从2206开始,而工作#8计划 d表示2200,将获得并发信息,这取决于您如何确定新的开始时间。
我想,我已经阐明了我的观点。 即使重叠较少,随着时间的流逝,您也会积累大量的延迟。
我认为,这可以使用内置方法来解决。
在您的原始帖子中, 这不是很明显,您的优先级在哪里。 但是我认为,您将需要另一个程序来协调不同的需求,甚至可能考虑使用具有有效时隙的自定义表。 在满足所有条件时,此程序仅需要触发一个事件。
最好的问候-约尔格(Jörg)
已经提出了几种选择,尽管我说真正的解决方案是 将处理时间减少到不到两个小时,或者在工作之间有更大的差距。
如果某种方式无法实现,那么Raymonds或Jörgs解决方案似乎是最好的选择。
最多设置5个标签!
向您的工作添加第一步,在此步骤中执行一个小报告:
注意,
Raymond
HI,
现在您已经有了一些实用的提示,例如 怎么样,剩下的问题是为什么。
我想象以下场景,为简单起见,我假设运行时间为140分钟:
作业#1从0800运行到1020
Job#2检测到仍在运行的Job 1并延迟了自己的开始,
因此从1021开始,直到1241结束
Job3,出于相同的原因 开始于1242,结束于1502
,我们将跳过一些作业详细信息,并在2200重新输入
,同时延迟总计超过两个小时,因此有作业#7 最初计划于2000年,现在从2206开始,而工作#8计划 d表示2200,将获得并发信息,这取决于您如何确定新的开始时间。
我想,我已经阐明了我的观点。 即使重叠较少,随着时间的流逝,您也会积累大量的延迟。
我认为,这可以使用内置方法来解决。
在您的原始帖子中, 这不是很明显,您的优先级在哪里。 但是我认为,您将需要另一个程序来协调不同的需求,甚至可能考虑使用具有有效时隙的自定义表。 在满足所有条件时,此程序仅需要触发一个事件。
最好的问候-约尔格(Jörg)
已经提出了几种选择,尽管我说真正的解决方案是 将处理时间减少到不到两个小时,或者在工作之间有更大的差距。
如果某种方式无法实现,那么Raymonds或Jörgs解决方案似乎是最好的选择。
# p#一周热门 更多>