好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

大型机S390系统管理第三章1节作业控制语言.doc

20页
  • 卖家[上传人]:工****
  • 文档编号:436780876
  • 上传时间:2023-06-12
  • 文档格式:DOC
  • 文档大小:98.50KB
  • / 20 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 第三章 作业控制语言3.1 基本概念 在大型服务器系统中,当用户需要使用计算机完成某项任务时,用户必须准备一个作业流(Job Stream)作业流中包含一个或多个作业(Job)作业是用户在完成该任务时要求计算机所做工作的集合 与COBOL等一般的编程语言不同,作业控制语言JCL(Job Control Language)是用户与操作系统的接口用户通过JCL的相应语句来与操作系统通讯,获得作业所需的资源等,按自己的意图来控制作业的执行JCL由几个语句组成,对于一个作业,JCL为被执行的任务引导操作系统,并说明所需要的全部I/O设备在一个作业中,每一次程序的执行称为一个作业步,一个作业可包含几个作业步一般的,一个作业由以下相对独立的三步组成:(1) 编译:把源程序语句(源模块)转换成目标模块;(2) 链接编辑:把目标模块同子程序库中的其他程序链接起来得到可执行模块;(3) 执行:运行可执行模块得到结果一个作业中的各步是顺序执行的,因此一个作业步的输出可以作为下一个作业步的输入大型服务器系统中用户的作业可以由一个或多个作业步构成只有一个作业步的作业叫做单步作业;由多个作业步构成的作业叫做多步作业。

      不论单步作业还是多步作业都必须包含三个JCL基本语句(JCL Statement)它们分别是:(1) 作业语句(JOB):标识一个作业的开始,提供必要的运行参数2) 执行语句(EXEC):标识一个作业步的开始,定义本作业步所要执行的程序或过程3) 数据定义语句(DD):用于描述应用程序所需要的数据文件系统规定这三种语句行必须以“//”开头下面是一个多步作业的例子://JOB1 JOB … //STEP1 EXEC … //DD1 DD … 作业步1//STEP2 EXEC …//INDD1 DD … 作业步2 //INDD2 DD … //除了上述一些基本概念,有关数据结构和存取方法的概念在JCL的使用中也是非常重要的,由于这一部分已在本书的第二章中详细讨论过,就本章不再重复了3.2 JCL语句3.2.1 JCL语句分类在大型服务器系统中,作业控制语言被分做两类:JES2和JCLJES2将在本书的后续章节中讨论作业控制语言由九种语句组成,除了上一节中讨论过的三种基本语句外,还有以下六种附加语句:(1)/* 语句:表示六内数据结束或调用JES控制语句;(2)//*语句:注释语句,由第4到第80列写出注释内容;(3)//语句:空语句,用以标记一个作业的结束;(4) PROC语句:流内过程(IN-STREAM PROCEDURE)或编目过程(CATALOGED PROCEDURE)的起始标记。

      5) PEND语句:标志一个流内过程的结束6) Command语句:操作员用这个语句在输入流中写入操作命令在这九种语句中,JOB、EXEC和DD三种语句对于每个作业来说都是必要的下面给出一个单步作业的JCL实例//BACKUP JOB ,’EXAMPLE JOB’//************************//* IT IS A EXAMPLE! *//************************//STEP1 EXEC PGM=IEBGENER//STEPLIB DD DSN=SYS1.LINKLIB,DISP=SHR//SYSIN DD DUMMY //SYSPRINT DD SYSOUT=A//SYSU1 DD DSN=PR.MASTER,DISP=OLD//SYSU2 DD DSN=PR.MAILY.BACKUP,DISP=(NEW,CATLG),UNIT=TAPE,// DCB=(RECFM=FB,LRECL=200,BLKSIZE=1000)//在上述例子中,我们给出了一个名为BACKUP的单步作业,在这个作业中我们通过调用公用程序IEBGENER完成了将库SYS1.LINKLIB中的PR.MASTER数据集备份到磁带上的工作。

      通过该例我们可以初步了解JCL中各语句的使用方式,下面我们将详细向大家介绍JCL的语法规则及语句的使用3.2.2 JCL的语法规则与其计算机语言一样,JCL有一套严格的语法规则但与我们熟知的一些编程语言不同的是,JCL还有其严格的语句格式规范用户只有严格按照这些规则来编写作业控制程序,系统才能按照其意图正确完成用户的作业,否则系统就会给出错误信息,或产生不可预知的后果一、 JCL字符集(1) 字母(共26个)A B C D E F G H I J K L M N O P Q R S T U V W X Y Z(2) 数字(共10个)0 1 2 3 4 5 6 7 8 9(3) 特殊字符(共10个), . / ‘ ( ) * & + - =(4) 通配符(共6个)@ $ # (也可分别用X’7C’ X’5B’ 和 X’7B’表示)(5) EBCDIC 可打印字符集(参见附录)使用十六进制值表示:X’40’ ~ X’FE’在JCL语法中会用到一些特殊字符,其作用列表如下表3.2.1:字符语法功能,分隔参数和子参数=分隔关键字参数(见3.2.2节)与它的值,例:CLASS=A(b )括起子参数列表或PDS、PDSE的成员名&标志一个符号参数(symbolic parameter),例:&LIB&&标志一个临时数据集名(temporary data set name)例:&&TEMPDS标志一个流内或系统输出(sysout)数据集名,例:&&PAYOUT.分隔一些特定参数与子参数的各部分,例:nodename.userid*提及一条先前的语句,例:OUTPUT=*.name ,或在特定的语句内,标志特定的功能,例://ddname DD * ‘括起含有特殊字符的参数值(空格)划分域二、 一般语句格式规范在JCL中,除/*语句外的所有语句均以第一、二列的//符号作为开始标志,系统规定这些语句的长度为80列。

      这80列在逻辑上被划分为五个区域,分别是标识符区、名字区、操作符区、参数区和说明区,即:标识符区名字区操作符区参数区说明区//名字操作符参数说明 ·标识符区一般情况下,标识符区的符号为“//”,该符号表明该条语句为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 COMMENTJCL只允许在参数区和说明区有续行,当需要续行时,在当前行的第71列前必须将某个参数或某个子参数以及参数后的逗号写完整,且下一行第1、2列为“//”,第3列为空格,续行的内容只能从4~16列开始,如从16列后开始,将被认为是注释语句下面是一个续行的例子://DATA DD DSN=SYS1。

      FORTLIB,// DISP=OLD三、 参数规则在JCL中,参数区内的参数的类型分为两类:(1) 位置参数(positional):与其他参数保持相对位置的参数;(2) 关键字参数(keyword):由一个关键字和等号后面的可变数据组成如果在一个语句内既有位置参数又有关键字参数时,所有的关键字参数必须位于位置参数之后例: //EXAMPLE JOB 2000,CLASS=A 位置参数 关键字参数 一个位置参数或关键字参数中的可变数字,也可能是一个子参数表该表中同样可能含有位置和关键字这两种类型的参数,它们同样遵循位置参数和关键字参数的所有规则当参数有子参数时,子参数必须顺序排列在圆括号括内例://EXAMPLE JOB (2000,100,30),COND=(9,LT)在了解参数类型的概念后,我们总结出参数的书写规则如下:1.位置参数和关键字参数之间必须用逗号分开,不允许有空格值得注意的是,在 JCL语句中错写空格,经常导致非常难以查出的错误 正确的 错误的//EXAMPLE JOB 2000,CLASS=A //EXAMPLE JOB 2000, CLASS=A //EXP JOB (2000,9),CLASS=A //EXP JOB (2000,9)CLASS=A2.必须按规定的次序书写参数:所有的关键字参数必须位于位置参数之后,而所有位置参数也必须按规定排列。

      正确的 错误的//EXAMPLE J。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.