在老师提供的一个PDF中,找到了一段关于JCL书写格式的描述,如下:
一般语句格式规范
在 JCL 中,除/*语句外的所有语句均以第一、二列的//符号作为开始标志,系统规定这 些语句的长度为 80 列。这 80 列在逻辑上被划分为五个区域,分别是标识符区、名字区、操作符区、参数区和说明区,即:
标识符区 | 名字区 | 操作符区 | 参数区 | 说明区 |
// or //* or /* | name | operator | parameter | comment |
一般情况下,标识符区的符号为“// ”,该符号表明该条语句为 JCL 语句。标识符区位于每条语句的第一、二列。
在特殊情况下,标识符区的符号将有所变化。如 3.2.1 中所讨论过的“/* ”语句和“//*
语句,则分别在标识符区中使用的符号“/* ”和“//* ”表示。
·名字区
名字区指明一个语句,便于系统控制块或其他语句引用它。名字可以由 1~8 个字母数字 或通配符组成,但第一个字符必须是字母或通配符,且必须从第三列开始。名字区后必须跟一个或多个空格,可以选择名字表达出这个 JCL 语句的作用。下面给出几个正确与错误的名字区的例子:
正确的 错误的
//Z //9Z
//BACKUP#1 //TAPEBACKUP
//#99 //TEST*9
//$EXAM //EXAM(0)
·操作符区
操作符区位于名字区之后,规定了语句的类型:JOB、EXEC、DD、PROC、PEND,或操作员命令。名字区后必须跟一个或多个空格。例如:
//EXAMPLE JOB
//STEP1 EXEC
//INDD1 DD
·参数区
参数区在操作符区之后,其中包括被逗号分隔的参数,参数由事先规定好的关键字组成,对于这些参数其数值必须是可被代换的变值。参数区没有固定的长度及列的要求。例如:
//EXAMPLE JOB 2000,CLASS=A
//STEP1 EXEC PGM=IEYFORT
//PRINT DD SYSOUT=A
·说明区
说明区位于参数区后,用于对相应语句进行注释说明,它可以是任何需要的说明信息,注释区后必须跟一空格。需要注意的是,仅当参数出现时才能书写说明信息,不然容易与参数混淆。下面是一个说明区的例子:
//EXAMPLE JOB ,CLASS=A IT IS A COMMENT
JCL 只允许在参数区和说明区有续行,当需要续行时,在当前行的第 71 列前必须将某个参数或某个子参数以及参数后的逗号写完整,且下一行第 1、2 列为“// ”,第3 列为空格,续行的内容只能从4~16 列开始,如从 16 列后开始,将被认为是注释语句。下面是一个续行的例子:
//DATA DD DSN=SYS1 。FORTLIB,
// DISP=OLD