JCL(中文)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

JCL(JobControlLanguage)即作业控制语言。在大型机中,作业(Job)是用户在完成某任务时要求计算机所做工作的集合。其中也包括了对于COBOL程序的编译运行,以及COBOL源代码所在数据集的管理。JCL对作业的控制具体是通过JCL语句来实现的。对于任何一个作业,通常至少应该包含以下3种JCL语句:JOB语句:作业语句。EXEC语句:执行语句。DD语句:数据定义语句。JCL语句除/*语句外均以第一、二列的“//”符号作为开始标志。系统规定每行的长度为80列,当某一JCL语句需要超过80列时,可以通过续行完成。80列分为五个区标志符区:用于标志JCL语句。名字区:用于对一条语句进行命名。操作符区:用于指定语句的类型。参数区:用于指定语句中所要用到的参数。注释区:用于对相应语句进行注释说明,可以为任何注释消息。JCL只允许在参数区和注释区有续行。当前行的第71列之前的参数或子参数,以及参数后的逗号必须是完整的。新一行的首两列必须为“//”符号,第三列为空格。续行内容只能从4~16列开始。当续行内容超过16列时,将会被认为是注释内容,而非JCL语句的续行部分。JOB语句标志着一个作业的开始,并提供该作业执行时所必要的一些运行参数。JOB语句中的语句名即为所标明作业的作业名。作业名的第一个字符必须为字母或通配符。作业名的长度不能超过8个字符记账信息参数:([account-number][,accounting-information]...)包括用户帐号、时间、部门号、房间号等等。记账信息参数可以包含多个子参数,每一子参数用来提示一条信息。记账信息参数及其子参数最多不超过143个字符。程序员名参数:programmer’s-name程序员名参数最多不超过20个字符。BYTES={nnnnnn}{([nnnnnn][,CANCEL])}{([nnnnnn][,DUMP])}{([nnnnnn][,WARNING])}nnnnnn:取值范围为0-999999定义打印作业的输出数据集的最大千字节数,同时该参数还指出当超过所给出的最大千字节数时,系统对作业的处理方式。包括取消作业(转储(DUMP)或不转储)或继续作业并向操作员发出超过最大字节数的警告信息。JOB中除了BYTES外,另外CARDS,LINESPAGESCLASS=jobclassjobclass:A-Z,0–9CLASS参数规定了作业的类别,而具有相同类别的作业处于同一输出队列等待执行,并具有相同的处理属性。MSGCLASS=class指定作业日志的输出类别:26个字母或10个数字中的一个字符默认时系统会自动指定一个默认值TIME[.procstepname]={([minutes][,seconds])}{1440}{NOLIMIT}{MAXIMUM}如果代码中仅仅含有1440,0或者处理器时间就可以省略圆括号。用于指定占用处理器的最长时间并可通过一些信息得知该作业占用处理器的时间。你可以用TIME关键字在EXEC语句中增加或减少作业步的时间。当作业占用处理器的时间超过指定值时,系统将终止该作业。ADDRSPC={VIRT}{REAL}ADDRSPC参数用于指定作业所需的存储类型。该参数有两种取值:•取值为VIRT:表示作业请求的存储类型为虚拟页式存储。•取值为REAL:表示作业请求的是实存空间。该参数的默认值为VIRT。即当该参数默认时,系统会认为该作业请求的存储类型是虚拟页式存储。REGION={valueK}{valueM}REGION参数可以默认,但不能为0,同时该参数不可被指定为任何大于系统极限值的值。REGION用于指定作业所需的虚存或实存的大小,通常用2个单位表示:KB和MB.系统是以每4KB的存储单元分配空间的,当其不为4的倍数时,系统会视为4的倍数进行处理。作业处理过程中,系统会在该作业的每一步作业中用到REGION参数所指定的值。当JOB语句中的REGION参数默认时,系统将采用每条EXEC语句中定义的REGION参数MSGLEVEL=([statements][,messages])MSGLEVEL用于指定作业清单输出的内容和方式。该参数中包含有2个位置子参数,第一个用于控制作业清单输出的内容,第二个它用于控制作业清单输出的方式。•第一个参数:0表示仅输出作业中的JOB语句•1表示输出作业中所有JCL语句•2表示输出作业中包含输入流控制语句在内的所有语句•第二个参数:0表示作业异常终止时,才输出相关内容,包括JCL,JESSMS和操作员的处理信息.•1表示作业无论异常终止,都输出以上相关信息。第一个参数默认时必须用逗号表示;第二个参数默认时,可省略逗号,且可去掉括号。TYPRUN={COPY}{HOLD}{JCLHOLD}{SCAN}COPY(只能在JES2使用)当提交的时候,要求JES2复制输入工作流,指向SYSOUT数据集,为输出过程设置SYSOUT数据集,系统不对要执行的作业进行操作,这种类型的数据集跟作业的信息类别是一样的,而且是被JOB中的MSGCLASS所控制的HOLD在执行之前要求系统挂起作业,直到操作员释放它为止。当特殊情况发生时操作员应该释放作业,当输入服务过程中出现了错误时,系统部会挂起作业。JCLHOLD(只能JES2使用)要求系统在JCL过程执行完成之前JES2挂起作业,直到操作员释放为止。SCAN对JOB中的JCL语句进行语法检测,而不执行作业或者分配设备NOTIFY={nodename.userid},={userid}其中nodename为1至8个字符或通配符($,#,@),userid为1至8个字符或通配符($,#,@).当没有nodename时userid为1至7个字符或通配符($,#,@)。用于请求系统在后处理作业完毕时给指定用户发送信息。如果作业完成时,该用户未在系统登录,则系统所发送的信息会保留到此用户下次登录。PRTY=priorityPRTY参数:该参数用于指定作业的优先级。优先级用数字表示,数字越大,优先级越高。PASSWORD=(password[,new-password])Password定义当前的RACFpassword,定义的长度在1到8个字节的字符或者通配符($,#,@)(注意:系统JESJCL和JESCILIN数据集中抑制你的password代码值)new-password定义一个新的RACFpassword,长度也在1到8个字节的字符或者通配符,安装的安全管理员可以按照你安装的规则对密码的额外限制(注意:系统从JESJCL和JESCILIN数据集中抑制你的new-password代码值)RESTART=({*}[,checkid])({stepname})({stepname.procstepname})*表示该系统是在开始时或在第一个作业步内重新启动执行,如果第一个作业步调用编目或流内过程,则在开始时或在第一个过程内重启。stepname表示该系统是在开始时或在第一个作业步内重新启动执行。如果stepname指的是一个EXEC语句的调用程序,该过程内步骤名称也必须指定。stepname.procstepname表示该系统是在开始时或在一个编目过程的步骤内重新启动执行。Stepname标识调用程序的作业步骤的EXEC语句;procstepname表示程序步骤的EXEC语句。该步骤由procstepname确定必须包含PGM关键字,而不是调用程序。checkid在系统重新启动执行时指定检查点的名字。这个检查点必须在作业步骤的第一子参数指定RESTART=({*}[,checkid])({stepname})({stepname.procstepname})使用RESTART参数,在系统重新启动步骤时以指示步骤,程序步骤,或检查点。你能指定系统执行两个重启动中的任一个:•1.延迟步重新启动,在作业步开始时的重新启动。•2.延迟检查点启动,在步骤被宏指令的执行中采取的重新启动SECLABEL=seclabel-nameseclabel-name指明在你的设备中被安全管理员定义的安全标签的名字。Seclabel-name是一到八个字符或通配符($,#,@)。第一个字符必须是字母,$,#,或@。如果不指定SECLABEL参数,系统使用在你的RACF配置中默认的安全标签。用SECLABEL参数在作业执行并提交给系统时指定安全等级。安全标签表示一个安全级别,并定义到RACF类别。你必须在你的设备中被安全管理员赋予足够的权力,用你指定的安全等级去运行作业。每个作业步必须有EXEC语句每个作业最多有255个作业步PGM指明所要执行的程序名PROC指明所要运行的过程名流内过程存放在作业输入流里编目过程存放在过程库中ACCT指明作业步所需的一个或多个记账信息的参数ADDRSPC指明作业步的存储类型DPRTY设置优先级PARM本作业步的程序传递变量信息REGION指定作业步执行所需空间大小TIME指定作业步执行所需的最大时间DD语句的语句名DD语句中的位置参数DD语句中与数据集相关的关键字参数DD语句的作用:该语句主要用于定义数据集及设置与该数据集相关的各种属性;DD语句的语句名首先必须满足JCL语句名字区中的要求。DD语句的语句名必须为一段由字母或通配符开头的1~8位字符。一个作业步中可以包含多条DD语句表示的数据定义。同一EXEC语句中的DD语句必须唯一,但是不同的作业步中可以重复。JOBCATJOBLIBSTEPLIBSYSINSYSPRINTSYSUT1SYSUT2SYSMDUNPSYSUDUMPSYSCHKSYSCKEOVSYSABEND注意:用户命名不能和系统定义的相同。•关键字参数•与设备相关的主要参数:UNIT,VOLUME,SPACE•与数据集或数据相关的主要参数:DSNAME,DISP,DCB,SYSOUT•DD语句参数•位置参数•关键字参数“*”参数‘*’参数用于表示一个流内数据集的开始。且该参数所引导的流内数据机集中的首两列不得为‘/*’符号或‘//’符号。前一个符号用于表示流内数据集的结束,后一个用于表示一个新的JCL语句的开始。,也表示该流内数据集的结束。DATA参数引导一个流内数据集。与参数‘*’不同的是,DATA所引导的流内数据集中的首两列是可以为‘//’符号的。DUMMY参数1.作为空的内容填充某些JCL实用程序中相应参数的数据,以保证格式的完整。2.对DD语句中的各项参数进行语法检测。例://TEST1DDDUMMY,//DSN=TEST.DS,DISP=OLD,//UNIT==3370,VOL=WORK01,SPACE=(TRK,(5,2,2)),//DSORG=PO,RECFM=FB,LRECL=80DSNAME参数用来指定一个数据集的名字指定分区数据集中的成员对之前作业步中的DD语句里指定的数据集进行引用DISP参数用于描述数据集的状态,并指定该数据集在作业或作业步结束后如何进行相应的处理DISP参数含3个位置子参数。第一个参数描述数据集的状态,第二个参数指定作业或作业步正常结束时如何处理该数据集,第三个参数指定异常结束时的处理方式。用于描述数据集状态的子参数NEWOLDSHRMOD用于对数据集进行处理的子参数DELETEKEEPCATLGUNCATLGPASS默认整个DISP参数:DISP=(NEW,DELETE,DELETE)DCB(DataControlBlock)参数即数据控制块参数,用于描述数据集的属性。包括数据集的组织结构(DSORG)记录格式(RECFM)逻辑记录长度(LRECL)记录块大小(BLKSIZE)等。SYSOUT参数用于将相应的数

1 / 89
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功