在JCL过程中,如何测试参数是否未被调用者设置?

时间:2018-03-06 12:53:38

标签: jcl

我想为proc中的参数提供默认值,为此我想知道如何测试EXEC调用是否定义了预期的参数。

2 个答案:

答案 0 :(得分:2)

一种方法是使编目过程中的默认值创建JCL错误,从而确保执行JCL提供有效值。

//AEIOU   PROC DSNHLQ='SUPPLY_A_DSN_HLQ'  Force EXEC statement override
//*
//NOTHING  EXEC PGM=IEFBR14
//DD001    DD  DISP=OLD,DSN=&DSNHLQ..TEMP

另一种技术是编写一个简单的程序来验证任意参数,用COBOL术语通过Linkage部分获取parm值,并根据从平面文件读入的一组有效值进行验证。根据您的SORT产品,您可以通过创造性地使用控制卡来实现相同的目标。

答案 1 :(得分:0)

找到正确的方法:

//MYPROC  PROC  MYPAR=999
//*       [your proc code]
//        PEND

如果调用EXEC没有将MYPAR设置为某个东西(也没有将其取消),则默认为999。

参考:https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.1.0/com.ibm.zos.v2r1.ieab600/iea3b6_Examples_of_the_PROC_statement.htm