JCL笔记
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一. JCL的基本概念
1. JCL的定义
➢Job Control Language 的缩写。JCL用户与操作系统的接口,用户通过JCL 语句按照自己的意图来控制作业的执行
2. 作业(JOB)的概念
➢把大型机完成的每项任务,称为一个作业(或一个JOB)
3. 作业步(JOB STEP)的概念
➢执行一个作业所要经历的步骤
➢同一个JOB内,作业步JOB STEP不能超过255个
➢每个作业步的标志语句是EXEC语句
4. JCL的功能
➢控制系统权限
➢管理系统资源和数据集
➢对COBOL程序的编译和执行
cobol源代码>>>JCL编译>>>cobol机器码(可执行码)
>>>JCL执行
5. JCL的重要性
➢编译作业流和执行作业流都用JCL编写
➢维护、管理大型机资源的基础语言
二. JCL的语法规则
1.JCL允许使用的字符
➢字母字符:A – Z
➢数字字符:0 – 9
➢通配字符:@、#、$
➢特殊字符:, . ‘’/ ( ) * & + - = 空格
, 分割不同参数
空格分割不同区域标识区【空格】名字区【空格】操作区【空格】....
& 1.调用符号参数的值 2.定义临时数据集
➢EBCDIC可打印字符集(EBCDIC码) (两个十六进制数表示一个字符)2. JCL语句的区域划分
➢标识区
✓告知系统所包含的语句类型,用来区分语言种类
✓每条语句以“//”作为开始
➢名字区
✓必须从第3列开始编写
✓最多8个字符,可用字母、数字、通配符(@、#、$) 组合
✓首字符不能是数字,必须是字母或通配符(@、#、$)
➢操作区(操作符区)
✓表示语句的类型。如:操作符是EXEC,则该条语句就被界定为EXEC
语句
➢参数区(运算区)
✓几乎每一个操作符都需要有参数配合使用,才能完成语句的效力
✓可包含多个参数,参数之间用“,”分隔
➢备注区(注释区、说明区)
✓写注释用,不参与语句的执行(此区不建议使用)
2. JCL语句的区域划分(举例说明)
标识区名字区操作区参数区备注区
//XYZ JOB(SMD),‘DEVXMG’,MSGLEVEL=(1,1) XXXXXXXXXXX HI JCL 高亮JCL保留字命令HI JCL OFF
3. JCL的参数类型
位置参数(Positional Parameter)
关键字参数(Keyword Parameter)
列示参数(List of Sub-parameter)
符号参数(Symbolic Parameter)
3. 1位置参数Positional Parameter
➢定义:用它的位置描述其特性的一种参数
➢特点:
✓如果一个操作符(如JOB,DD等)可以含有多种参数,则位置参
数必须位于其他参数之前
✓如果一个操作符可以含有多个位置参数,则位置参数之间不允许调
换前后顺序
位置参数的子参数
➢位置参数可以包含多个子参数
➢每个子参数也有固定位置,顺序不可调换
➢若前边或中间的子参数缺省,则需用“,”留位置
➢若后边的子参数全部缺省,则不需用“,”留位置
如果括号里只有一个参数那么括号也可以省略
3. 2关键字参数Keyword Parameter
➢定义:简称键字参数,以关键字来描述其特性
➢特点:
✓关键字参数一定带“=”号,带“=”号的未必是关键字参数比如:“PGM=”和“PROC=”是EXEC语句的位置参数
(PGM:JCL中,程序,是经过编译之后的机器码
PROC:过程,用JCL语言编写的一段代码,过程内必须由一至多个作业步组成,过程只能被作业调用,不能直接执行)
又如:符号参数也带“=”号,也不属于关键字参数
✓关键字参数之间可以互换顺序
3. 3列示参数,List of Sub-parameter
➢定义:是关键字参数的一种延伸。(关键字参数的一种)
所有含有子参数的关键字参数可以统称为列示参数
➢特点:有位置子参数和关键字子参数两种表现形式
✓以“位置子参数”的形式表现
例:DISP=(NEW,KEEP,DELETE)
(注意:和位置参数的子参数作区别)
其中的NEW KEEP DELETE具有位置参数的特性,不得调换顺序
✓以“关键字子参数”的形式表现
例:DCB=(RECFM=FB,LRECL=80,DSORG=PS)
其中的RECFM、LRECL、DSORG 具有关键字参数特性,可以换顺序
注意:
•括号的用法:若一个参数含有多个子参数,则必须用括号进行包含,
除非只写一个子参数。如:DISP=NEW 或DCB=LRECL=80
•子参数最多有2级,即括号最多2层。
3. 4符号参数Symbolic Parameter
➢定义:与“变量”概念类似,并非系统指定的,而是程序员自定义
➢符号参数的三种定义和赋值的方式:
✓SET语句,权限最大,可在过程或JOB里定义符号参数并赋值
✓PROC语句,只在过程里定义符号参数(并赋值) (可以不赋值)
✓EXEC语句,在调用过程时,对符号参数赋值
➢调用符号参数:在参数之前加一个“&”号,即为调用符号参数
➢利用过程中定义的符号参数,可以向本过程传递不同的参数值
4. JCL的续行规范和方式
➢JOB、EXEC、DD、PROC等语句续行几率最大
➢续行时,在一个完整的参数后紧接着“,”(必须在第71列<含>之前)
➢下一行的第1列、第2列仍然必须为“//”
➢欲延续的参数必须在第4列至第16列之间开始
例:
//FILE1 DD DSN=USERID.ABC,DISP=(NEW,CATLG,DELETE),
// DCB=(RECFM=FB,LRECL=80,DSORG=PS)
D在必须4-16列之间