大大型型计计算算机机
--------------------------------------------------------------------------------------
应应用用技技术术培培训训
------------------------------------------------------------------------------------------------------
JJCCLL 语语言言与与实实用用程程序序
目录
第一章
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 DSNAME 参数 ...............................................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 编目过程与流内过程........................................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
II
课程介绍
JCL 语言与实用程序
目的:
通过本课程的学习,学员能够对 JCL 语言有深入的了解,能够读懂和独立编
写各种 JCL 语言,掌握常用实用程序的功能与使用,能根据需要编写进行处理的
JCL。
主要内容:
学员主要完成以下主要内容的学习:
JCL 基本概念
JCL 语句的语法
EXEC 语句参数定义
JOB 语句的参数定义
特殊的 DD 语句
常用实用程序的使用
DD 语句的参数定义
JCL 过程的使用
预修课程:
IBM 大型计算机基本操作
长度:
2 天
相关课程:
教程作者:温洪涛 venn@sina.com
III
第一章 JCL 语言介绍
JCL 语言基本概念
JCL 语言的一个简单例子
JCL 语言的使用
查看 JCL 执行结果
1
1-1 JCL 语言基本概念
────────────────────────────────────
在 S/390 系统中 ,当用户需要使用计算机完成某项任务时,用户必须准备一
个作业流(Job Stream)。作业流中包含一个或多个作业(Job),作业是用 JCL(job
control language)书写的.
与 COBOL 等一般的编程语言不同,作业控制语言 JCL(Job Control Language)
是用户与操作系统的接口。用户通过 JCL 的相应语句来与操作系统通讯,获得作
业所需的资源等,按自己的意图来控制作业的执行。
JCL由几个语句组成,对于一个作业,JCL 为被执行的任务引导操作系统,
并说明所需要的全部I/O设备,在一个作业中,每一次程序的执行称为一个作
业步,一个作业可包含几个作业步。一个作业中的各步是顺序执行的,因此一个
作业步的输出可以作为下一个作业步的输入。
作业都必须包含三个 JCL 基本语句(JCL Statement)。它们分别是:
(1)作业语句(JOB):标识一个作业的开始,提供必要的运行参数。
(2)执行语句(EXEC):标识一个作业步的开始,定义本作业步所要执行的程序
或过程。
(3)数据定义语句(DD):用于描述应用程序所需要的数据文件。
系统规定这三种语句行必须以“//”开头,/和/分别占据一行 JCL 语句的第
一列和第二列
2
1-2 JCL 语言的一个简单例子
────────────────────────────────────
//COPYDATA JOB (),'ERIC',
// TIME=1440,
// NOTIFY=&SYSUID,
// REGION=0M,
// CLASS=A,
// MSGCLASS=X,
// MSGLEVEL=(1,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”从一个分区数据集拷贝到另一个
分区数据集。
3
1-3 JCL 语言的使用
JCL 必须作为一个成员存储在分区数据集(PDS)中。使用 ISPF 3.2 的功能为 JCL 分配
────────────────────────────────────
1. 为 JCL 分配数据集
一个分区数据集,其格式必须是定长(RECFM=FB)并且记录长度 80 字节 (LRECL=80).
2. 编辑 JCL
在上面建立的 PDS 里面创建一个 MEMBER,使用 ISPF 的编辑功能编辑 JCL
3. 提交 JCL
编辑好后就可以提交 JCL 给 JES2 去运行,有三种常用的提交方式:
第一种是在 JCL 的编辑界面里,下面的命令行上输入“SUB”命令:
File Edit Edit_Settings Menu Utilities Compilers Test Help
sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
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 BETWEEN 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 F11=Right F12=Cancel
4
1-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/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/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
**End**
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 - 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 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
F7=UP F8=DOWN F9=SWAP F10=LEFT F11=RIGHT F12=RETRIEVE
5