JCL中DD语句的位置参数
DD语句的格式:
//DD名 DD 位置参数
DD名,是DD语句定义的名字,由1-8个字符组成,一个STEP里面可以有多个DD语句,每个DD语句指向一个系统中的数据资源,这就是为了操纵数据文件用的,C语言和COBOL中都有类似的操作语句。位置参数主要讲两个,DUMMY,和普通的DATA参数。
一、DUMMY参数
DUMMY参数,一种位置参数,可以替代任意形态的入力参数。优点是不用下一些测试数据集,因为实际开发中,一些GDG存在权限、登录时间等问题,会导致下载失败。在GDG编造十分困难时,有一个入力可以百搭是十分必要的,相当于是一个空的入力参数,分为三个部分。
1 | 没有设备或者外存空间分配给该数据集 |
---|---|
2 | 对该数据集不进行状态处理 |
3 | 对BASM或者QSAM来说,不对该数据集做输入输出操作 |
DUMMY语句中的参数也不能随心所欲的写,比方说在一些SORT操作中,要求把出力文件的DCB信息复制上去,因为要保证语法CHECK的时候,入力和出力数据的逻辑一致性。
在这里重新来说一下这个DCB参数,这个DCB主要指定D/S的类型,其中最重要的是指明了DCB的长度,比方说DCB=(子参数,[子参数]),对于QSAM这种文件来描述的话
RECFM | FB,代表定长文件;FB,代表是变长文件 |
---|---|
LRECL | 这个主要指明数据集GDG的文件长度大小 |
BLKSIZE | 根据LRECL算出来一个长度,有一个计算公式 |
二、DATA参数
DATA参数就是除了DUMMY以外正常的入力文件,这个入力文件可能是BCD码或者说是EBC码,就是入力数据文件中的数据编码格式
一般来说是以//开头,同时是以/*这个字符结束,
// INDD DD DSN=B05678.AHJ551.INDD1,DISP=SHR
// OUTDD DD DSN=A.B.C,D,
// UNIT=3390,VOL=SER=UY999,
// DCB=()
/*