JCL中的DD语句介绍
DD语句,主要定义数据集用的,也叫做DATASET DEFINE,分为定义设备的UNIT、VOLUME、SPACE,定义数据集的DSN、DISP、DCB,详细可以看英文版的《MVS JCL Reference》,还有一些特殊的DD,暂时感觉用处不大,用的时候直接COPY。
一、DSN参数
DSN参数,也叫做DSNAME。主要用来指定数据集的名字,一般新建的数据集下面,会指定一些数据集相关的参数,比如说DISP、UNIT、SPACE、DCB。而引用的数据集,只会写DISP。
二、DISP参数
DISP参数,主要写程序执行时候的状态,其次可以写STEP结束后如何处理这个数据集。一般在出力的时候,会有一个三连,比如说DISP=(OLD,PASS,DELETE),或者说是DISP=(NEW,CATLG,DELETE)。
描述DATASET状态的参数主要有NEW,OLD,SHR:
NEW | 指明数据集要在这个作业步中生成 |
---|---|
OLD | 指明数据集在本作业部前已经存在,这里用排他方式使用 |
SHR | 指明数据集在本作业部前已经存在,这里用共享的方式使用它 |
正常结束时候,处理的参数是DELETE、KEEP、PASS、CATLG
DELETE | 作业步结束后系统删除这个数据集 |
---|---|
KEEP | 作业步结束时,数据集仍然保留 |
PASS | 数据集保留给后面的作业步用,常见于临时文件中 |
CATLG | 作业步结束后自动对数据集编目 |
非正常结束时候的参数,处理的参数是DELETE、KEEP、CATLG、UNCATLG
DELETE | 作业步结束后系统删除这个数据集 |
---|---|
KEEP | 作业步非正常结束时,数据集仍然保留 |
UNCATLG | 作业步结束后自动清除数据集编目 |
CATLG | 作业步结束后自动对数据集编目 |
三、VOLUME参数
在UNIT分配完后。就开始分配VOLME,VOLUME=SER=VN248,定义了一个数据集放在VN248固定卷上。如果这个参数不指定,那么就是系统随机分配一个卷出去,主要的参数有TRK,CYL,RLSE
四、SPACE参数
SPACE参数,指定在磁盘上创建新的数据集时,为新数据集分配空间的大小。
比方说上面的SPACE写法,第一次分配量+第二次分配量*15>数据集的大小
五、DCB参数
DCB参数,我这段写的是RECFB=FB,这个意思是分配到了一个定长的文件上面,记录长度为500=记录的块大小是27500。
如果说RECFB=VB,这个意思就是分配到了一个变长文件上面
六、UNIT参数
UNIT主要代表指的卷的名字,比如说3390,WORK,(WORK,16)
3390 | 是一个指固定卷的方式,可以在系统中存较长时间 |
---|---|
WORK | 主要说随机分配一个临时卷 |
WORK,16 | 这个主要在生成文件较大时使用,可以随机将内容存在十六个卷上 |