我听说JCL returtn代码总是具有最高的回报值。 例如:
when step 1 ends with 1
step ends with 0
step3 ends with 0
当我想执行step4并且来自JCL的返回值(示例cae中的最大代码为1)必须被发送到从stp 4调用以进行处理的SAS代码 有可能吗?
任何人都可以帮助我!!!!
答案 0 :(得分:4)
正如Bill所说,无法将上一步中的返回代码传递给JCL中的程序。
Bill要求为什么要将返回代码传递给您的程序
您拥有的选项包括:
使用JCL if 语句基本上可以看到JCL IF examples或 cond 选项:
// IF (RC = 1) THEN
// EXEC PGM=MyProg,PARM='1'
// END-IF
// IF (RC = 2) THEN
// EXEC PGM=MyProg,PARM='2'
// END-IF
// IF (RC = 3) THEN
// EXEC PGM=MyProg,PARM='3'
// END-IF
// IF (RC > 3) THEN
// EXEC PGM=MyProg,PARM='99'
// END-IF
或
// EXEC PGM=MyProg,PARM='1',cond=(0,ne)
// EXEC PGM=MyProg,PARM='2',cond=(1,ne)
// EXEC PGM=MyProg,PARM='3',cond=(2,ne)
// EXEC PGM=MyProg,PARM='99',cond=(4,lt)
更新以前的程序并写入文件,而不是发出返回代码。
您可以运行 rexx 脚本背景并从rexx调用程序。在rexx 您可以调用程序并保存返回代码,然后将其传递给后续程序。这应该被视为最后的手段,但