在SAS中返回JCL代码是可能的吗?

时间:2014-03-25 10:53:37

标签: sas mainframe jcl

我听说JCL returtn代码总是具有最高的回报值。 例如:

when step 1 ends with 1 
step ends with 0
step3 ends with 0 

当我想执行step4并且来自JCL的返回值(示例cae中的最大代码为1)必须被发送到从stp 4调用以进行处理的SAS代码 有可能吗?

任何人都可以帮助我!!!!

1 个答案:

答案 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 您可以调用程序并保存返回代码,然后将其传递给后续程序。这应该被视为最后的手段,但