1) JCL语句全部由大写字母构成,每行80列
2) JCL语句由5个区域构成,分别是标志区,命名区,操作区,参数区,注释区
3) 标志区就是//,标志区后紧跟命名区
4) 命名区,操作区,参数区,注释区间隔至少一个空格
5) 参数区无内容,不能出现注释区
以下总结的7大常用JCL模板,小写部分代表可以客户化的部分。
1,删除1个数据集
//jobname JOB NOTIFY=&SYSUID
//stepname EXEC PGM=IEFBR14
//SYSPRINT DD SYSOUT=*
//ddname DD DSN=dsname,DISP=(OLD,DELETE,DELETE)
//
删除数据集名为dsname的数据集
2,删除VSAM数据集
//jobname JOB NOTIFY=&SYSUID
//stepname EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DELETE ‘entryname1’
DELETE ‘entryname2,entryname3,entryname4’
//
删除VSAM数据集entryname1,entryname2,entryname3,entryname4。
删除多个VSAM数据集,请用逗号隔开
3,创建一个数据集
//jobname JOB NOTIFY=&SYSUID
//stepname EXEC PGM=IERBR14
//ddname DD DSN=dsname,DISP=(NEW,CATLG),
// UNIT=SYSALLDA,SPACE=(TRK,1)
//
UNIT=SYSALLDA 指定系统选择一个最合适的设备存放数据集
4,数据集上带库
//jobname JOB
//stepname EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSIN DD DUMMY
//SYSUT1 DD DSN=dsname,DISP=SHR
//SYSUT2 DD DSN=dsname,DISP=(NEW,CATLG),
// UNIT=tapedevice,VOL=SER=volser
//
5,拷贝一个顺序数据集
//jobname JOB NOTIFY=&SYSUID
//stepname EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSIN DD DUMMY
//SYSUT1 DD DSN=dsname,DISP=SHR
//SYSUT2 DD DSN=dsname,DISP=OLD
//
6,拷贝一个分区数据集
//jobname JOB
//stepname EXEC PGM=IEBCOPY
//SYSPRINT DD SYSOUT=*
//sysut1 DD DSN=dsname,DISP=SHR
//sysut2 DD DSN=dsname,DISP=(NEW,CATLG),
// SPACE=(CYL,(1,1,45)),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=800),
// UNIT=unit,VOL=SER=volser
//SYSIN DD *
COPY INDD= sysut1,OUTDD= sysut2
/*
7,拷贝分区数据集成员到另一个分区数据集
//jobname JOB NOTIFY=&SYSUID
//stepname EXEC PGM=IEBCOPY
/*JOBPARM SYSAFF=*,LINES=99
//SYSPRINT DD SYSOUT=*
//sysut1 DD DSN=dsname,DISP=SHR
//sysut2 DD DSN=dsname,DISP=SHR
// UNIT=uint,VOL=SER=vol
//SYSIN DD *
COPYMOD INDD=sysut1,OUTDD=sysut2,
SELECTM=(membername)
/*