JCL基本概念
定义:job control language 用户与操作系统的接口,用户通过JCL语句按照自己的意图来控制作业的执行。
JOB的概念:把大机要实现的每一项任务,称为一个JOB或作业。
作业步的概念(JOB STEP):
执行一个作业所要经历的步骤
同一个JOB中JOB STEP不能超过255
每一个作业步的标志语句是EXEC语句。
JCL三大功能
控制作业的执行。
管理系统资源和数据集(类似TSO交互式菜单对数据集的管理。)
对COBOL程序编译和执行。
JCL的重要性:
编译作业流和执行作业流都是JCL编写。
JCL语法规则
JCL允许使用的字符:
字母字符(alphanumeric character):A~Z
数据字符(numeric character):0~9
通配字符(national character):@ # $
特殊字符(special character): , . ' ' / () * & + - = 空格
JCL语句介绍
JOB语句:
用途:定义作业的名称,表示作业的开始。
格式://jobname job operands omments
规则:每一个作业的第一个语句必须是JOB语句
每一个作业必须有且只有一个JOB语句
job语句中的jobname必须编写,并要符合名称域的编写规则,尽量起有意义的名字。
例如:
PROC语句
定义一段处理过程,可由多个JOB STEP组成
过程类似于其它语言里的子程序,它用JCL的语句进行编写,能够完成某种功能但不能被(SUB)执行,只能被作业调用。
分为流内过程和编目过程
流内过程写在一个作业内部,只能被本作业调用。一个JOB里,流内过程最多能建15个。
而编目过程只能以某个PDS或PDSE的member形式存在,可被多个作业调用。
格式://procname PROC [symbolic parameter]
symbolic parameter参数传递,要求:参数名称不可重复。
过程中不允许含有如下语句:
JOB、Delimeter(/*)、Null(//)statements
DD *、DD Data Statements
JOBLIB DD Statements
PEND语句(与流内PROC搭配使用)
只针对流内过程,做为流内过程的结束语句。
以PROC开始,以PEND结束。
编目过程无需PEND语句
编目过程放在以PDS或PDSE的member形式存在
以PROC开始,无需PEND语句结束。
举例:
JOBLIB语句
指定私有的过程库及查找顺序的语句,以备调用编目过程(指定编目过程查找路径的语句)。
格式:// joblib order=(userid.lib1,userid.lib2......)
EXEC语句
DD语句