JCL笔记.docx

上传人:b****3 文档编号:886934 上传时间:2022-10-13 格式:DOCX 页数:20 大小:461.04KB
下载 相关 举报
JCL笔记.docx_第1页
第1页 / 共20页
JCL笔记.docx_第2页
第2页 / 共20页
JCL笔记.docx_第3页
第3页 / 共20页
JCL笔记.docx_第4页
第4页 / 共20页
JCL笔记.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

JCL笔记.docx

《JCL笔记.docx》由会员分享,可在线阅读,更多相关《JCL笔记.docx(20页珍藏版)》请在冰豆网上搜索。

JCL笔记.docx

JCL笔记

一.JCL的基本概念

1.JCL的定义

ØJobControlLanguage的缩写。

JCL用户与操作系统的接口,用户通过JCL语句按照自己的意图来控制作业的执行

2.作业(JOB)的概念

Ø把大型机完成的每项任务,称为一个作业(或一个JOB)

3.作业步(JOBSTEP)的概念

Ø执行一个作业所要经历的步骤

Ø同一个JOB内,作业步JOBSTEP不能超过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语句的区域划分(举例说明)

标识区名字区操作区参数区备注区

//XYZJOB(SMD),‘DEVXMG’,MSGLEVEL=(1,1)XXXXXXXXXXX

HIJCL高亮JCL保留字命令HIJCLOFF

3.JCL的参数类型

位置参数(PositionalParameter)

关键字参数(KeywordParameter)

列示参数(ListofSub-parameter)

符号参数(SymbolicParameter)

3.1位置参数PositionalParameter

Ø定义:

用它的位置描述其特性的一种参数

Ø特点:

✓如果一个操作符(如JOB,DD等)可以含有多种参数,则位置参数必须位于其他参数之前

✓如果一个操作符可以含有多个位置参数,则位置参数之间不允许调换前后顺序

位置参数的子参数

Ø位置参数可以包含多个子参数

Ø每个子参数也有固定位置,顺序不可调换

Ø若前边或中间的子参数缺省,则需用“,”留位置

Ø若后边的子参数全部缺省,则不需用“,”留位置

如果括号里只有一个参数那么括号也可以省略

3.2关键字参数KeywordParameter

Ø定义:

简称键字参数,以关键字来描述其特性

Ø特点:

✓关键字参数一定带“=”号,带“=”号的未必是关键字参数

比如:

“PGM=”和“PROC=”是EXEC语句的位置参数

(PGM:

JCL中,程序,是经过编译之后的机器码

PROC:

过程,用JCL语言编写的一段代码,过程内必须由一至多个作业步组成,过程只能被作业调用,不能直接执行)

又如:

符号参数也带“=”号,也不属于关键字参数

✓关键字参数之间可以互换顺序

3.3列示参数,ListofSub-parameter

Ø定义:

是关键字参数的一种延伸。

(关键字参数的一种)

所有含有子参数的关键字参数可以统称为列示参数

Ø特点:

有位置子参数和关键字子参数两种表现形式

✓以“位置子参数”的形式表现

例:

DISP=(NEW,KEEP,DELETE)

(注意:

和位置参数的子参数作区别)

其中的NEWKEEPDELETE具有位置参数的特性,不得调换顺序

✓以“关键字子参数”的形式表现

例:

DCB=(RECFM=FB,LRECL=80,DSORG=PS)

其中的RECFM、LRECL、DSORG具有关键字参数特性,可以换顺序

注意:

•括号的用法:

若一个参数含有多个子参数,则必须用括号进行包含,

除非只写一个子参数。

如:

DISP=NEW或DCB=LRECL=80

•子参数最多有2级,即括号最多2层。

3.4符号参数SymbolicParameter

Ø定义:

与“变量”概念类似,并非系统指定的,而是程序员自定义

Ø符号参数的三种定义和赋值的方式:

✓SET语句,权限最大,可在过程或JOB里定义符号参数并赋值

✓PROC语句,只在过程里定义符号参数(并赋值)(可以不赋值)

✓EXEC语句,在调用过程时,对符号参数赋值

Ø调用符号参数:

在参数之前加一个“&”号,即为调用符号参数

Ø利用过程中定义的符号参数,可以向本过程传递不同的参数值

4.JCL的续行规范和方式

ØJOB、EXEC、DD、PROC等语句续行几率最大

Ø续行时,在一个完整的参数后紧接着“,”(必须在第71列<含>之前)

Ø下一行的第1列、第2列仍然必须为“//”

Ø欲延续的参数必须在第4列至第16列之间开始

例:

//FILE1DDDSN=USERID.ABC,DISP=(NEW,CATLG,DELETE),

//DCB=(RECFM=FB,LRECL=80,DSORG=PS)

D在必须4-16列之间

三.JCL的语句介绍

1.JOB语句定义作业名称,表示作业开始每个作业的起始语句必须是JOB语句

2.PROC语句只在过程里定义符号参数(并赋值)

3.PEND语句过程的结束语句,一般与流内PROC搭配使用

4.JCLLIB语句指定私有的过程库及查找顺序的语句,以备调用编目过程

(名字区可省略)

5.EXEC语句每个作业步的起始语句,用以指定所要执行的程序或调用的过程在调用过程时,对符号参数赋值每个作业步的标志语句是EXEC语句

6.NULL语句表示作业的结束

7.SET语句权限最大,可在过程或JOB里定义符号参数并赋值(名字区可省略)

8.COMMENT语句注释语句,不参与作业的执行

9.DELIMITER语句流内数据或流内控制语句的结束符

10.DD语句定义每个作业步中所要用到的文件(数据集)和属性

1.JOB语句

Ø作用:

定义作业名称,表示作业开始

Ø格式:

//jobnameJOBparameterscomments

Ø规则:

每个作业的起始语句必须是JOB语句

每个作业必须有且只有一个JOB语句

JOB语句中的jobname必须与所在的member名一致

jobname尽量起有意义的名字

Ø常见的JOB的参数和格式:

//jobnameJOBaccounting-information,programmer-name,

//CLASS=job-class,

//MSGCLASS=message-class,

//MSGLEVEL=(statements,messages),

//NOTIFY=USERID,

//REGION=region-size,设定作业运算空间大小的参数

//TIME=([minutes][,seconds]),设定作业运算时间的参数

//COND=((code,operator),…),满足条件,整个作业停止执行

//……

JOB语句(参数说明)

Øaccounting-information:

位置参数,1-143个字符,可省略

Øprogrammer-name:

位置参数,1-20个字符,可省略,

与accounting-information顺序不可调换

ØCLASS=job-class

✓设定本作业的输入类别

✓类别可填写A-Z或0-9其中之一

✓相同类别的作业会放在同一输入队列里顺序的等待执行,

但队列之间并没有优先级

✓CLASS=A

ØMSGCLASS=message-class

✓设定作业日志的输出类别(作业日志:

监控作业执行情况,检查作业错误原因)

✓类别可填写A-Z或0-9其中之一

✓在输出时,DD语句的SYSOUT用来存放作业日志,因此,

本参数值与DD语句的SYSOUT参数值需相同,即SYSOUT=A(从A类别输出,存放在SYSOUT),

简便写法为SYSOUT=*,*表示跟随MSGCLASS的值

✓MSGCLASS=A

✓SYSOUT:

是系统内置的输出数据集,用来存放作业日志或程序的输出结果

✓MSGLEVEL=(statements,messages)

(MSGLEVEL:

作业清单作业源代码)

✓控制作业清单的输出内容和条件

✓statements控制作业清单的输出内容

✓0作业清单只输出JOB语句

✓1作业清单将所有JCL语句及调用过程代码都输出(输出所有语句)

✓2作业清单只输出JCL语句(输出除了过程以外的所有语句)

✓messages控制作业清单的输出条件

✓0只有作业非正常执行,才输出

✓1无论作业正常执行与否,都输出

✓MSGLEVEL=(1,1)

ØNOTIFY=USERID用来控制作业返回码

✓控制作业处理后的反馈信息发送到哪个USER-ID的MSGLOG,

✓USERID的值须与当前登陆TSO的USERID相同,

如:

NOTIFY=USER21,表示作业返回码发送给USER21

✓常用写法:

NOTIFY=&SYSUID

SYSUID系统自带变量

&SYSUID调用系统登录账号的ID

✓作业返回码的几种状况

JOBID是不同的,系统生成的。

1.MAXCC最大条件码(MAXConditionCode)MAXXCC=0作业正常

=4警告,=8,=12等,数字为4的倍数

3.JCLERROR语法错误

3.ABENDED

每个作业步也有返回码,MAXCC是其中数值最大的。

TIME=(1,3)1分3秒运行到1分3秒时停止执行。

REGION=1024K空间

COND=(8,LT)满足判断条件,整个作业或者当前作业步停止执行。

8=[0-4095]LT=比较关系符

GT大于GE大于等于LT小于LE小于等于EQ等于NE不等于

例COND=(8,LT)8<任何一个作业步的返回码如符合条件,作业停止执行

COND=(4,EQ,S1)S1作业步返回码=4时作业停止执行

可用之前的作业步决定后面作业是否继续执行。

若作业步S4中,COND=((8,GE,S1),(16,NE,S2))表示若满足8大于等于S1or16不等于S2,作业步S4停止执行。

JOB语句(常用参数小结)

ØCLASS

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1