mf培训教学课件-jcl教学课件_第1页
mf培训教学课件-jcl教学课件_第2页
mf培训教学课件-jcl教学课件_第3页
mf培训教学课件-jcl教学课件_第4页
mf培训教学课件-jcl教学课件_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、JCL语言第1页,共69页。课程内容1.JCL基本概念2.JCL语法规则3.JCL语句介绍4.JOB提交方法5.部分实用程序第2页,共69页。课程内容1.JCL基本概念2.JCL语法规则3.JCL语句介绍4.JOB提交方法5.部分实用程序第3页,共69页。JCL基本概念JCL (Job Control Language)定义:用户与操作系统的接口,用户通过JCL语句按照自己的意图来控制作业的执行。作业(JOB)的概念把程序要实现的每一项任务,称之为:作业或JOB。作业步(JOB STEP)的概念执行一个作业所要经历的步骤同一个JOB中的JOB STEP数目不能超过255第4页,共69页。JCL

2、基本概念第5页,共69页。JCL基本概念JCL的三大功能控制作业的执行。管理系统资源和数据集。(类似TSO交互式菜单对数据集的管理)对COBOL程序编译和执行。(COBOL代码JCL编译机器码JCL执行)JCL的重要性编译作业流和执行作业流都是JCL编写合格的TEAM LEADER的前提第6页,共69页。课程内容1.JCL基本概念2.JCL语法规则3.JCL语句介绍4.JOB提交方法5.部分实用程序第7页,共69页。JCL语法规则JCL允许使用的字符字母字符(alphameric character):AZ数字字符(numeric character): 09通配字符(national cha

3、racter): $ #特殊字符(special character): , . / ( ) * & + - = 空格EBCDIC可打印字符集第8页,共69页。JCL语法规则每一个JCL语句可包含五个区域:标识区(identifier field)告知系统所包含的语句类型,用以语言的种类。以 / 为起始。名字区(name field)必须从第三列开始编写最多八个字符, 可用字母、数字、通配字符(#,$)组合第一个字符不能是数字,必须是字母或通配字符(#,$)操作区(operation field)表示语句形态, 如:EXEC 语句, 其操作项目即为EXEC参数区或运算区(operand fie

4、ld)几乎每一个操作符都需要有参数配合使用。可包含一个或一个以上的参数, 参数之间以“,”分隔备注区或说明区(comments field)注释。不参与语句的执行第9页,共69页。JCL语法规则一条JCL语句的例子:需注意:除了标识区与名字区,各区域之间至少要间隔一个以上的空格标识区 操作符区 注释区 /FILE1 JOB (SMD),DEVXMG,MSGLEVEL=(1,1) XXXXXXXXXXX 名字区 参数区 第10页,共69页。JCL语法规则参数区参数的四种类型:位置参数(Positional Parameter)关键字参数(Keyword Parameter)列示参数(List o

5、f sub-parameter)符号参数(Symbolic Parameter)第11页,共69页。JCL语法规则位置参数(Positional Parameter)定义:用它的位置来描述其特性的一种参数两大特点:1,如果一个操作符含有多种参数,那么位置参数必须位于所有参数之前。2,位置参数,相互之间不允许调换前后顺序。例1:/A1234567 JOB account-information,programer-name,other-parm第12页,共69页。JCL语法规则位置参数的子参数至少由一个或一个以上的子参数组合而成每个子参数都有其固定的位置,顺序不可调换若前面或中间的子参数空缺,

6、需以 “,”留位若其后子参数都空缺时, 则无需任何符号留位例2:/FILE1 JOB (D548-8686,12/8/85,PGMBIN),ZY例3:/FILE1 JOB (12/8/85,D548-8686,PGMBIN),ZY例4:/FILE1 JOB (,12/8/85,PGMBIN),ZY例5:/FILE1 JOB (D548-8686,PGMBIN),ZY例6:/FILE1 JOB (D548-8686),ZY第13页,共69页。JCL语法规则参数区参数的四种形态:位置参数(Positional Parameter)关键字参数(Keyword Parameter)列示参数(List

7、of sub-parameter)符号参数(Symbolic Parameter)第14页,共69页。JCL语法规则关键字参数(Keyword Parameter)简称键字参数,以关键字来描述其特性特点:一般地,帶=号的参数都是关键字参数两个例外:“PGM=”, “PROC=”是EXEC语句的位置参数关键字参数之间的顺序可以任意调换例1:/A1234567 JOB T335840,WANGLI,CLASS=A,MSGLEVEL=(1,1)例2:/A1234567 JOB T335840,WANGLI,MSGLEVEL=(1,1),CLASS=A第15页,共69页。JCL语法规则参数区参数的四种

8、形态:位置参数(Positional Parameter)关键字参数(Keyword Parameter)列示参数(List of sub-parameter)符号参数(Symbolic Parameter)第16页,共69页。JCL语法规则列示参数(List of sub-parameter)定义:是关键字参数的一种延伸。所有含有子参数的关键字参数都可以称为列示参数有位置子参数和关键字子参数两种表现形式:以位置子参数的形式表现:例1:DISP=(NEW,KEEP,DELETE),其中NEW KEEP DELETE具有位置参数的特性,所以三者位置不可任意调换以关键字子参数的形式表现:例2: D

9、CB=(RECFM=FB,LRCEL=80),其中RECFM=FB 和LRCEL=80的順序可调换括号的用法:必须用括号将全部子参数都包含起来, 除非只有一个子参数。子参数最多有2级,也就是括号最多2层。例1: DISP=OLD 省略了后边两个位置子参数例2: DCB=RECFM=FB 或 DCB=LRECL=80第17页,共69页。JCL语法规则参数区参数的四种形态:位置参数(Positional Parameter)关键字参数(Keyword Parameter)列示参数(List of sub-parameter)符号参数(Symbolic Parameter)第18页,共69页。JCL

10、语法规则符号参数(Symbolic Parameter)与其他语言里“变量”的概念类似,并非系统指定的,而是程序员自定义(对变量赋值,然后调用变量)在参数之前加一个“” 符号的参数,即为调用符号参数符号参数的三种指定、赋值的方式:SET: 权限最大,可以在过程和JOB里指定符号参数PROC: 只在过程里定义符号参数并赋值EXEC: 在调用过程时,对符号参数赋值(伪覆盖式的)第19页,共69页。JCL语法规则第20页,共69页。JCL语法规则第21页,共69页。JCL语法规则第22页,共69页。JCL语法规则JCL语句的续行规范只有JOB、EXEC、DD、PROC语句允许续行除COMMENT语句

11、可写至第72列外,其它语句只能写到第71列 (相对的列)若语句长度超过它所能允许的列数,则必须延续到下一行第23页,共69页。JCL语法规则JCL语句的续行方式在一完整参数后紧接着 , (必须在第72列之前)下一行的第一、二列必须为 “/”欲延续的参数必须在第4列及第16列之间开始例: 72/AIJSUB JOB (SMD),DEVXMG,MSGLEVEL=(1,1), / MSGCLASS=X, CLASS=A,NOTIFY=&SYSUID,REGION=8M 4-16 第24页,共69页。JCL例子第25页,共69页。JCL例子第26页,共69页。课程内容1.JCL基本概念2.JCL语法规

12、则3.JCL语句介绍4.JOB提交方法5.部分实用程序第27页,共69页。常用语句 JOB DD EXEC JCLLIB PROC PEND COMMENT INCLUDE SET NULL IF-THEN-ELSE-ENDIF DELIMITERJCL语句介绍第28页,共69页。JOB statementJOB 语句用途:定义作业的名称,表示作业的开始格式:/jobname JOB operands comments规则:每一个作业的第一个语句必须是JOB语句 每一个作业必须有且只能有一个JOB语句 JOB语句中的jobname必须编写, 并要符合名称域的编写规则, 尽量起有意义的名字/jo

13、bname JOB positionals, keywords/DEFFILE JOB (SMD),WANGLI,MSGLEVEL=(1,1),CLASS=A第29页,共69页。JOB statement常见的JOB语句的参数列表和格式:/Jobname JOB accounting-information, programmer-name, / CLASS=job-class, / MSGCLASS=message-class,/ MSGLEVEL=(statements,messages),/ NOTIFY=user id,/ REGION=region-size,/ TIME=(minu

14、tes,seconds),/ COND=(code,operator),),/ TYPRUN=typerun,/ LINES=(nnnnnn,action),/ RESTART=stepname第30页,共69页。JOB statementJOB 语句的参数说明accounting-information1-143个字符,可省略programmer-name1-20个字符,可省略与accounting-information的位置不可调换CLASS=job-class设定本作业处理的队列(分类)A to Z or 0 to 9相同类别的作业会处于同一个输入队列里等待执行,并没有优先级的概念。C

15、LASS=A第31页,共69页。JOB statementMSGCLASS=message-class规定了作业日志的输出类别A to Z or 0 to 9在输出时DD语句的 SYSOUT相当于触发器,所以本参数值与DD语句的 SYSOUT参数值相同 DD SYSOUT=A简便写法:设SYSOUT=*,表示跟随本参数值JCL语句的输出必须打印时设 SYSOUT=DMSGCLASS=A第32页,共69页。JOB statementMSGLEVEL=(statements,messages)控制JCL作业输出清单的内容和输出的条件,由两个位置子参数构成,不可调换。statements 控制输出的

16、内容。 0 = 只印出JOB 语句(即第一行) 1 = 所有JCL和过程内容都输出 2 = 只输出JCL语句messages 控制输出的条件。 0 = 系统信息不印出, 除非作业异常才输出 1 = 系统信息正常与否都输出MSGLEVEL=(1,1)第33页,共69页。JOB statementNOTIFY=user identificationJOB处理后的反馈信息送到那个USER-ID的MSG LOG (简言之:是否显示作业返回码)User ID的值须与当前登陆TSO 的 user ID 相同 NOTIFY=USERID例:NOTIFY=&SYSUID (系统指定的符号参数)若接收信息的使用

17、者已经 logoff,信息会保存直至该 user ID logon 为止第34页,共69页。JOB statement第35页,共69页。JOB statement第36页,共69页。PROC statementPROC语句定义一段处理过程,可由多个JOB STEP 组成过程类似于其它语言里的子程序,它用JCL的语句进行编写,能够完成某种功能但不能被(SUB)执行,只能被作业调用分为 流内过程 和 编目过程流内过程写在一个作业内部,只能被本作业调用。一个JOB里,流内过程最多能建15个;而编目过程只能以某个PDS或PDSE的member形式存在,可被多个作业调用。格式:/procname PR

18、OC symbolic parametersymbolic parameter参数传递,要求:参数名称不可超过 8 位字符参数名称不可重复过程中不允许含如下语句:JOB 、 Delimiter(/*) 、Null(/) statements DD * 、DD DATA statementsJOBLIB DD statements第37页,共69页。PEND statementPEND语句(与流内PROC语句搭配使用)只针对流内过程,作为流内过程的结束语句以 PROC开始,以 PEND 语句结束编目过程无需PEND语句编目过程放在以PDS或PDSE的 member 形式存在以 PROC开始,无需

19、 PEND 语句结束格式:/ PEND第38页,共69页。流内过程例子/COPYDATA JOB CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID/XYZ PROC OUTDD=,INDD= 流内过程开始,定义符号参数/CPY EXEC PGM=IEBGENER/SYSPRINT DD SYSOUT=*/SYSUT1 DD DSN=&INDD.,DISP=(SHR,KEEP,KEEP)/SYSUT2 DD DSN=&OUTDD.,DISP=(NEW,CATLG,DELETE),/ SPACE=(TRK,(2,1),/ DCB=(RECFM=FB,

20、LRECL=80,BLKSIZE=3200,DSORG=PS)/SYSIN DD DUMMY/XYZEND PEND 流内过程结束/CPYLOAD EXEC PROC=XYZ,OUTDD=USERID.PSOUT,INDD=USERID.PSIN 调用流内过程XYZ,同时对符号参数赋值第39页,共69页。JCLLIB statementJCLLIB语句指定私有的过程库及查找顺序的语句,以备调用编目过程格式:/ JCLLIB ORDER=(library,.)例:/SEARCH JCLLIB ORDER=(USERID.LIB1,USERID.LIB2) /STEP3 EXEC PROC=FIL

21、E1过程库查找的顺序:USERID.LIB1 USERID.LIB2 SYS1.PROCLIB第40页,共69页。EXEC statementEXEC语句用途:每一个 JOB STEP 的第一个语句, 用以指定所要执行的程序或过程格式:/stepname EXEC PGM=|PROC=|procedure name, PARM= parameter(只针对PGM), REGION= region-size, COND= (code,operator),), TIME=(minutes,seconds)第41页,共69页。EXEC statement参数说明PGM= program name P

22、ROC=procedure name 流内过程或编目过程都可以PARM= parameter需要传送的参数值,只针对PGM,最多100个字符。向过程传递参数值不用PARM,而是用符号参数。 第42页,共69页。SET statementSET 语句用途:定义符号参数并且赋值格式:/ SET parameters=value必须写于JOB语句之后和使用该符号参数之前PROC 和 JOB 中皆可使用 SET 例: / SET LVL=USERID,PBBAT=AAPP03,M=1,N=2,J=1 /SEARCH JCLLIB ORDER=(&LVL.CBC.PROCLIB,&LVL.BAT.PRO

23、CLIB)第43页,共69页。NULL statementNULL语句用途:表示JOB的结束,作业的结束符格式:/非必须的语句 例: /EXCPGM1 JOB P048-1357,MSGCLASS=N, MSGLEVEL=(1,1), / CLASS=A,REGION=8M /PGM1 EXEC PGM=PGM1 /第44页,共69页。COMMENT statementCOMMENT语句用途:注释格式:/* 注释的内容/*/* PROC :AIPEOD10 * /* FUNCTION:SPLIT VOUCHER FILES */* VERSION :5.0 * /* AUTHOR :LIN M

24、ING */*第45页,共69页。DELEMITER statementDELIMITER语句用途:流内数据的结束符,与 DD * 或 DD DATA配合使用格式:/*流内数据的作用:1,向数据集(一般是PS)或COBOL程序传递数据内容 2,配合实用程序,书写流内控制语句/STEP1 EXEC PGM=IEBGENER/SYSUT1 DD *20191221ABC00120191201UVW00220190921XYZ003/*/SYSUT2 DD DSN=USERID.PS,DISP=(OLD,KEEP,KEEP)第46页,共69页。DD statementDD语句定义JOB STEP中所

25、使用的文件(数据集)和属性在JOB STEP中使用的每一个文件(数据集)都要有相应的 DD 语句在同一个JOB STEP中,不可有重复的外部文件名=DD语句的名字区的名字 /BKTRAN DD DSN=USERID.TEST1,DISP=SHR避免自定义SYS,JOB,STEP,JCL打头的文件名DD 语句中的外部文件名须与COBOL程序中ASSIGN子句指向的外部文件名一致一个DD语句只能跟一个数据集一个DD语句可以跟多个文件DD语句位置可以调换第47页,共69页。DD statementDD语句的格式和参数/ddname DD positional, DSN=data-set-name,

26、DISP=(status,normal,abnormal), SPACE=(unit-of-measure,(primary,secondary),RLSE), DCB=(LRECL=logical-record-length, BLKSIZE=block-size, RECFM=record-format) UNIT=device-name or group-name, VOL=SER=volume-serial-number第48页,共69页。DD statementDD语句的位置参数*号:标志流内数据的开始DATA:标志流内数据的开始DUMMY:标志没有输入输出,不对文件进行处理注意:D

27、D语句的位置参数互不相容。 /SYSIN DD * data -输入的数据,数据不允许/开始/* /SYSIN DD DATA data -输入的数据,数据含有/开始/* /SYSIN DD DUMMY表示不对SYSIN这个系统保留文件名进行输入输出的处理第49页,共69页。DD statementDD语句的关键字参数DSN参数(必写参数):定义物理文件(数据集)的名称永久数据集(经过编目,生命周期较长)Sequential: DSN=USERID.ABC.AIFMST每一段的名称不能超过 8 个字符含 period符号时,整体不能超过 44 个字符(含period)PDS : DSN=USE

28、RID.BAT.PARMLIB(AIPSRT01)Member name 1-8 字符临时数据集(仅作用于本作业步,作业步结束则删除)DSN=&SORTOUTDSN=&TEMP(MEMBER1)第50页,共69页。DD statementDISP参数(必写参数)描述数据集被执行前的状况及执行后如何处理DISP 由三个位置子参数组成格式:DISP=(NEW,DELETE,DELETE) (OLD,KEEP,KEEP) (SHR,PASS,CATLG) (MOD,CATLG,UNCATLG) (,UNCATLG,) 第51页,共69页。DD statementDISP参数第一个子参数表示作业步执行

29、前数据集的状况NEW : 分配新的数据集,一般均为output时 SHR : job step 执行前已存在,共享该数据集OLD : job step 执行前已存在,独占该数据集MOD : 当数据集不存在时, 视为 “NEW”; 当数据集存在时独占该数据集,并且记录 追加在该数据集的末尾 (与SHR/OLD不同)第52页,共69页。DD statementDISP参数第二个子参数表示JOB STEP 正常结束时的文件处理DELETE : 删除该数据集,释放所占空间KEEP : 仍然保留该数据集PASS : 保留该数据集,并传递给后续作业步使用, 一般对临时数据集使用CATLG : 保留该数据集

30、,并将其进行编目UNCATLG: 删除该数据集的编目所谓编目:即写入系统VTOC数据集中,VTOC就像书籍的“目录”一样,里边存放磁盘中各数据集的名字、结构、格式等概括性信息第53页,共69页。DD statementDISP参数第三个子参数表示JOB STEP 异常结束时的处理DELETE : 删除该数据集,释放所占空间KEEP : 仍然保留该数据集CATLG : 保留该数据集,并将其进行编目UNCATLG: 删除该数据集的编目第54页,共69页。DD statementDISP参数默认值NO DISP DISP=(NEW,DELETE,DELETE)DISP=NEW DISP=(NEW,D

31、ELETE,DELETE)DISP=OLD DISP=(OLD,KEEP,KEEP)DISP=SHR DISP=(SHR,KEEP,KEEP)DISP=MOD DISP=(MOD,KEEP,KEEP)DISP=(,CATLG) DISP=(NEW,CATLG,CATLG)新建数据集常用的方式:DISP=(NEW,CATLG,DELETE)第55页,共69页。DD statementSPACE参数(在新建数据集的时候使用)定义在直接存储设备上分配的空间大小格式:SPACE=(TRK,CYL,BLKS, (primary,secondary,directory)TRK : 表示空间分配以 trac

32、k 为单位CYL : 表示空间分配以 cylinder为单位BLKS :表示文件记录的 block length 有多大, 就以block 为单位分配空间primary : 表示首次分配的空间大小secondary : 表示二次再分配空间大小directory : 控制member分配数量(PDS需要,PS不写)例:SPACE=(TRK,(5,2) 分配PS第56页,共69页。DD statementDCB参数(一般是在新建数据集的时候使用)提供数据集的结构、组织形态以及其他特性格式:DCB=(RECFM=,LRECL=,BLKSIZE=,DSORG=)RECFM :表示记录格式RECFM=U

33、:表示记录长度未定义, 由系统决定RECFM=VB:表示记录长度为变长RECFM=FB:表示记录长度为固定长度 B:没有B则表示一个块就存放一个记录LRECL :表示记录长度定长记录时为记录长度, 以 bytes 为单位变长记录时为最大记录长度 + 4 bytes BLKSIZE:一个block的大小, 18 -32760 间DSORG:表示数据集结构(与ISFP的3.2分配数据集有区别)DSORG=PS, 表示顺序数据集DSORG=PO, 表示分区数据集第57页,共69页。DD statementUNIT参数(非必写参数)表明数据集使用的设备类型及编号格式:UNIT=(unit addres

34、s or device type or group name,count)unit address:某一特定设备,如磁带机130,则UNIT= 130device type:某一种设备类型,如disk pack,则UNIT=3390group name:某类存储租设备,如:UNIT=SYSDACount:同时要使用的设备个数,最多 59个第58页,共69页。DD statementVOLUME参数(非必写参数)用以表示数据集所在媒体编号(卷) WORK01 WORK04常用的格式:VOL=SER=serial numberSER : 用以表示 volume 的编号参数serial number

35、 : SER参数的值, 表示volume编号第59页,共69页。DD statementSPECIAL DDNAMESJOBLIB:指定私有程序库(PDS或PDSE)名称的语句作用范围:整个作业必须紧跟JOB语句,两者之间不允许有其他语句若程序不在定义的私有库中,再自动到系统库找格式:详细的使用说明:教材P49/PAYROLL JOB 12345,IAN,MSGLEVE=(1,1)/JOBLIB DD DSN=USERID.BAT.LOADLIB1,DISP=SHR/STEP1 EXEC PGM=UPDATE第60页,共69页。DD statementSPECIAL DDNAMESSTEPLIB:指定私有程序库(PDS或PDSE

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论