JCL语言与实用程序教程1.pdf
《JCL语言与实用程序教程1.pdf》由会员分享,可在线阅读,更多相关《JCL语言与实用程序教程1.pdf(89页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 大大大大型型型型计计计计算算算算机机机机 -应应应应用用用用技技技技术术术术培培培培训训训训 -J J J JC C C CL L L L 语语语语言言言言与与与与实实实实用用用用程程程程序序序序 II目录 第一章 JCL 语言介绍.1 1-1 JCL 语言基本概念.2 1-2 JCL 语言的一个简单例子.3 1-3 JCL 语言的使用.4 1-4 查看 JCL 执行结果.6 第二章 JCL 语句.0 2-1 JCL 语法规则.1 2-2 JOB 语句.6 2-3 EXEC 语句.15 2-4 DD 语句.22 第三章 DD 语句的键字参数.27 3-1 DD 语句功能.28 3-2 DSN
2、AME 参数.29 3-3 DISP 参数.31 3-4 UNIT 参数.33 3-5 VOLUME 参数.35 3-6 SPACE 参数.37 3-7 DCB 参数.40 3-8 SYSOUT 参数.42 第四章 特殊的 DD 语句.44 4-1 系统定义的 DD 语句.45 4-2 JOBCAT DD 语句.46 4-3 JOBLIB DD 语句.47 4-4 STEPCAT DD 语句.49 4-5 STEPLIB DD 语句.50 4-6 SYSABEND,SYSMDUMP,和 SYSUDUMP DD 语句.52 4-7 SYSIN DD 语句.53 第五章 JCL 过程.54 5-1
3、 编目过程与流内过程.55 5-2 过程的参数与调用.57 5-3 JCLLIB 语句.58 5-4 调用过程时语句的覆盖.59 5-5 一个复杂的例子.60 第六章 常用实用程序.63 6-1 实用程序介绍.64 6-2 IEFBR14.65 6-3 IEBCOMPR.66 6-4 IEBCOPY.68 6-5 IEBGENER.74 6-6 DFSORT.76 III课程介绍 JCL 语言与实用程序 目的:JCL 语言与实用程序 目的:通过本课程的学习,学员能够对 JCL 语言有深入的了解,能够读懂和独立编写各种 JCL 语言,掌握常用实用程序的功能与使用,能根据需要编写进行处理的JCL。
4、主要内容:主要内容:学员主要完成以下主要内容的学习:?JCL 基本概念?JCL 语句的语法?JOB 语句的参数定义?EXEC 语句参数定义?DD 语句的参数定义?特殊的 DD 语句?JCL 过程的使用?常用实用程序的使用 预修课程:预修课程:IBM 大型计算机基本操作 长度:长度:2 天 相关课程:相关课程:教程作者:教程作者:温洪涛 1第一章 JCL 语言介绍 第一章 JCL 语言介绍?JCL 语言基本概念?JCL 语言的一个简单例子?JCL 语言的使用?查看 JCL 执行结果 21-1 JCL 语言基本概念 在 S/390 系统中,当用户需要使用计算机完成某项任务时,用户必须准备一个作业流
5、(Job Stream)。作业流中包含一个或多个作业(Job),作业是用 JCL(job control language)书写的.与 COBOL 等一般的编程语言不同,作业控制语言 JCL(Job Control Language)是用户与操作系统的接口。用户通过 JCL 的相应语句来与操作系统通讯,获得作业所需的资源等,按自己的意图来控制作业的执行。由几个语句组成,对于一个作业,JCL 为被执行的任务引导操作系统,并说明所需要的全部设备,在一个作业中,每一次程序的执行称为一个作业步,一个作业可包含几个作业步。一个作业中的各步是顺序执行的,因此一个作业步的输出可以作为下一个作业步的输入。作业
6、都必须包含三个 JCL 基本语句(JCL Statement)。它们分别是:(1)作业语句(JOB):标识一个作业的开始,提供必要的运行参数。(2)执行语句(EXEC):标识一个作业步的开始,定义本作业步所要执行的程序或过程。(3)数据定义语句(DD):用于描述应用程序所需要的数据文件。系统规定这三种语句行必须以“/”开头,/和/分别占据一行 JCL 语句的第一列和第二列 31-2 JCL 语言的一个简单例子 /COPYDATA JOB(),ERIC,/TIME=1440,/NOTIFY=&SYSUID,/REGION=0M,/CLASS=A,/MSGCLASS=X,/MSGLEVEL=(1,
7、1)/*COPY DATASET /CPYLOAD EXEC PGM=IEBCOPY,PARM=SIZE=1M /SYSPRINT DD SYSOUT=*/IN1 DD DISP=SHR,DSN=DEVP124.JCL /OUT1 DD DISP=SHR,DSN=DEVP124.SRC /SYSIN DD*COPY I=IN1,O=OUT1 S MEMBER=(JCLSMP1,R)/*上面就是一个 JCL 的例子,它的功能是把“JCLSMP1”从一个分区数据集拷贝到另一个分区数据集。41-3 JCL 语言的使用 1.为 JCL 分配数据集 1.为 JCL 分配数据集 JCL 必须作为一个成员存
8、储在分区数据集(PDS)中。使用 ISPF 3.2 的功能为 JCL 分配一个分区数据集,其格式必须是定长(RECFM=FB)并且记录长度 80 字节(LRECL=80).2.编辑 JCL 2.编辑 JCL 在上面建立的 PDS 里面创建一个 MEMBER,使用 ISPF 的编辑功能编辑 JCL 3.提交 JCL 3.提交 JCL 编辑好后就可以提交 JCL 给 JES2 去运行,有三种常用的提交方式:第一种是在 JCL 的编辑界面里,下面的命令行上输入“SUB”命令:File Edit Edit_Settings Menu Utilities Compilers Test Help ssss
9、sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss EDIT DEVP124.JCL(JCLSMP1)-01.10 Columns 00001 00072 *Top of Data*000001/COPYDATA JOB(),ERIC,000002/TIME=1440,000003/NOTIFY=&SYSUID,000004/REGION=0M,000005/CLASS=A,000006/MSGCLASS=X,000007/MSGLEVEL=(1,1)000008/*COPY NUMBER BE
10、TWEEN PDS 000009/CPYLOAD EXEC PGM=IEBCOPY,PARM=SIZE=1M 000010/SYSPRINT DD SYSOUT=*000011/IN1 DD DISP=SHR,DSN=DEVP124.JCL 000012/OUT1 DD DISP=SHR,DSN=DEVP124.SRC 000013/SYSIN DD*000014 COPY I=IN1,O=OUT1 Command=SUB Scroll=CSR F1=Help F2=Split F3=Exit F5=Rfind F6=Rchange F7=Up F8=Down F9=Swap F10=Left
11、 F11=Right F12=Cancel 51-3 JCL 语言的使用(续页)第二种是在 ISPF 3.4 的成员列表中,在 JCL 前直接写 SUB 命令:Menu Functions Confirm Utilities Help ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss BROWSE DEVP124.JCL Row 00001 of 00012 Name Prompt Size Created Changed ID _ CDB2BAT 15 2002/09/05 2004/
12、08/28 14:33:12 DEVP124 _ CFBM999 217 2004/06/22 2004/07/13 14:04:57 DEVP82 _ CICSCOMP 6 2004/06/15 2004/07/27 17:01:00 DEVP124 _ DB2CBAT 4 2004/06/15 2004/08/17 19:13:39 DEVP124 _ DB2COBB 8 2004/06/15 2004/08/27 10:40:40 DEVP124 _ DB2CPROC 96 2004/08/17 2004/08/17 19:29:53 DEVP124 _ DEFVSAM 17 2004/
13、07/27 2004/08/04 11:21:23 DEVP124 _ DFHSIP 51 2002/09/18 2004/05/20 10:21:35 SYSPRGG _ DSNTIJMV 1201 2004/08/17 2004/08/17 18:56:23 DEVP124 _sub_ JCLSMP1 16 2004/07/27 2004/09/06 19:27:45 DEVP124 _ MAPCOMP 4 2004/07/27 2004/07/28 10:19:43 DEVP124 _ RUNBAT 15 2002/09/05 2004/08/28 14:33:12 DEVP124 *E
14、nd*Command=Scroll=CSR F1=Help F2=Split F3=Exit F5=Rfind F7=Up F8=Down F9=Swap F10=Left F11=Right F12=Cancel 第三种方法是使用直接使用 TSO 命令 SUBMIT 提交,可以在 ISPF 中任何地点发出命令:-ISPF/PDF PRIMARY OPTION MENU -OPTION =TSO SUBMIT DEVP124.JCL(JCLSMP1)USERID -0 ISPF PARMS -Specify terminal and user parameters TIME -1 BROWSE
15、 -Display source data or output listings TERMINAL-2 EDIT -Create or change source data PF KEYS -3 UTILITIES -Perform utility functions 4 FOREGROUND -Invoke language processors in foreground 5 BATCH -Submit job for language processing 6 COMMAND -Enter TSO command or CLIST 7 DIALOG TEST-Perform dialog
16、 testing 8 DB2 -Perform DATABASE 2 interactive functions C CHANGES -Display summary of changes for this release T TUTORIAL -Display information about ISPF/PDF X EXIT -Terminate ISPF using log and list defaults Enter END command to terminate ISPF.F1=HELP F2=SPLIT F3=END F4=RETURN F5=RFIND F6=RCHANGE
17、F7=UP F8=DOWN F9=SWAP F10=LEFT F11=RIGHT F12=RETRIEVE 61-4 查看 JCL 执行结果 JCL 提交时屏幕会返回提交程序的进程号,进入 SDSF 可以根据进程号或 JOB 名去查看JCL 执行结果,选择 SD.ST,找到提交的进程,在需要查看的 JCL 前输入“?”查看详细信息,如下例:Display Filter View Print Options Help -SDSF STATUS DISPLAY ALL CLASSES LINE 1-3(3)NP JOBNAME JobID Owner Prty Queue C Pos SAff A
18、Sys Status DEVP124 TSU01249 DEVP124 15 EXECUTION ZDVP ZDVP DEVP124 TSU00904 DEVP124 1 PRINT 1153?COPYDATA JOB01280 DEVP124 1 PRINT A 1245 COMMAND INPUT=SCROLL=CSR F1=HELP F2=SPLIT F3=END F4=RETURN F5=IFIND F6=BOOK F7=UP F8=DOWN F9=SWAP F10=LEFT F11=RIGHT F12=RETRIEVE 回车进入如下界面:Display Filter View Pri
19、nt Options Help -SDSF JOB DATA SET DISPLAY-JOB COPYDATA(JOB01280)LINE 1-4(4)NP DDNAME StepName ProcStep DSID Owner C Dest Rec-Cnt Page JESMSGLG JES2 2 DEVP124 X LOCAL 20 JESJCL JES2 3 DEVP124 X LOCAL 15 JESYSMSG JES2 4 DEVP124 X LOCAL 15 SYSPRINT CPYLOAD 102 DEVP124 X LOCAL 13 COMMAND INPUT=SCROLL=C
20、SR F1=HELP F2=SPLIT F3=END F4=RETURN F5=IFIND F6=BOOK F7=UP F8=DOWN F9=SWAP F10=LEFT F11=RIGHT F12=RETRIEVE 在结果中 JESMSGLG、JESJCL 和 JESYSMSG 三个 DDNAME 是所有 JCL 结果里都会有的,JESMSGLG 里存放各步的返回值和统计信息,JESJCL 里存放用户提交的 JCL 语句,JESYSMSG里存放的是 JES 运行 JCL 时发生的详细信息。其他的 DDNAME 则根据程序不同而或多或少,都是程序输出的数据。0 1-4 查看 JCL 执行结果(续
21、页 1)JESMSGLG 的一个例子:*TOP OF DATA*TOP OF DATA*1 J E S 2 J O B L O G -S Y S T E M Z D V P -N O D E N 1 -JES 节点名 N1 0 09.12.22 JOB01465-TUESDAY,07 SEP 2004-执行日期 09.12.22 JOB01465 IRR010I USERID DEVP124 IS ASSIGNED TO THIS JOB.-提交 JCL 的用户 09.12.22 JOB01465 ICH70001I DEVP124 LAST ACCESS AT 09:11:30 ON TUE
22、SDAY,SEPTEMBER 7,2004 09.12.22 JOB01465 HASP373 COPYDATA STARTED-INIT 1 -CLASS A-SYS ZDVP 09.12.22 JOB01465 IEF403I COPYDATA-STARTED-TIME=09.12.22 -执行时间 09.12.22 JOB01465 -TIMINGS(MINS.)-PAGING COUNTS-09.12.22 JOB01465 -JOBNAME STEPNAME PROCSTEP RC EXCP CONN TCB SRB CLOCK SERV PG PAGE SWAP VIO SWAPS
23、 -作业步信息 09.12.22 JOB01465 -COPYDATA CPYLOAD 00 45 38 .00 .00 .0 182 0 0 0 0 0 09.12.22 JOB01465 IEF404I COPYDATA-ENDED-TIME=09.12.22 09.12.22 JOB01465 -COPYDATA ENDED.NAME-ERIC TOTAL TCB CPU TIME=.00 TOTAL ELAPSED TIME=.0 -时间统计 09.12.22 JOB01465 HASP395 COPYDATA ENDED 0-JES2 JOB STATISTICS-JOB 统计-07
24、 SEP 2004 JOB EXECUTION DATE -16 CARDS READ -63 SYSOUT PRINT RECORDS -0 SYSOUT PUNCH RECORDS -4 SYSOUT SPOOL KBYTES -0.00 MINUTES EXECUTION TIME *BOTTOM OF DATA*1 1-4 查看 JCL 执行结果(续页 2)JESJCL 例子:*TOP OF DATA*TOP OF DATA*1/COPYDATA JOB(),ERIC,JOB01465 /TIME=1440,/NOTIFY=&SYSUID,/REGION=0M,/CLASS=A,/MS
25、GCLASS=X,/MSGLEVEL=(1,1)/*COPY NUMBER BETWEEN PDS IEFC653I SUBSTITUTION JCL-(),ERIC,TIME=1440,NOTIFY=DEVP124,REGION=1440,NOTIFY=DEVP124,REGION=0M,CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1)2/CPYLOAD EXEC PGM=IEBCOPY,PARM=SIZE=1M 3/SYSPRINT DD SYSOUT=*4/IN1 DD DISP=SHR,DSN=DEVP124.JCL 5/OUT1 DD DISP=SHR,DSN=DE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JCL 语言 实用程序 教程
限制150内