gpt4 book ai didi

jcl - jcl 中的刷新步骤返回码

转载 作者:行者123 更新时间:2023-12-01 22:42:36 24 4
gpt4 key购买 nike

我遇到了以下场景,我对 cond 参数如何在前面的步骤中起作用有点困惑,这是 flsuhed 出来的。

比如……

//第一步执行
//步骤 2 执行条件=(0,ne,step1)
//步骤 3 执行条件=(0,ne,step2)

在上述情况下,对于一个输入文件,step1 RC 为 4,因此 Step2 被清除,但已执行第 3 步。
这是我感到困惑的地方,jcl 会将刷新的步骤 rc 视为 0 还是导致 step3 执行的原因,即使 step2 未执行。

感谢任何关于此的解释,并提前致谢。

最佳答案

来自documentation ...

Use the COND parameter to test return codes from previous job stepsand determine whether to bypass this job step. You can specify one ormore tests on the COND parameter, and you can test return codes fromparticular job steps or from every job step that has completedprocessing. If any of the test conditions are satisfied, the systemevaluates the COND parameter as true and bypasses the job step. Ifnone of the test conditions specified on the COND parameter aresatisfied, the system evaluates the COND parameter as false andexecutes the job step.

The system performs the COND parameter tests against return codes fromthe current execution of the job. If a test returns a previouslybypassed step, the system evaluates the test as false.

请注意我用斜体显示的文字。因为“系统将测试评估为错误”,所以执行了作业步骤。换句话说,EXEC 语句的 COND 参数按记录工作。至于为什么这个参数被设计成这样工作,恐怕在大约 40 多年前它被发明的时候我并没有在这个领域工作,因此无法说明原始的推理开发人员。

您可能想查看 IF statement ,除了测试其返回代码外,它还提供测试给定步骤是否已运行的功能。

//STEP01 EXEC 
//CK01 IF STEP1.RC EQ 0 THEN
//STEP02 EXEC
//CK01E ENDIF
//CK02 IF STEP2.RUN & STEP2.RC EQ 0
//STEP03 EXEC
//CK02E ENDIF

或者,您可以编写代码...

//STEP01 EXEC 
//CK01 IF STEP1.RC EQ 0 THEN
//STEP02 EXEC
//CK02 IF STEP2.RC EQ 0
//STEP03 EXEC
//CK02E ENDIF
//CK01E ENDIF

关于jcl - jcl 中的刷新步骤返回码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9840691/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com