Jcl 简明教程
JCL - Environment Setup
Installing JCL on Windows/Linux
有许多可用于 Windows 的免费大型机仿真器,可以用来编写和学习样例 JCL。
其中一个仿真器是 Hercules,它可以通过以下几个简单步骤轻松安装在 Windows 上:
-
从 Hercules 主页下载并安装 Hercules 仿真器 - : www.hercules-390.eu
-
可在 URL www.jaymoseley.com/hercules/installmvs/instmvs2.htm 上找到关于撰写和执行 JCL 的各种命令的完整指南。
除了最新的 64 位 z/Architecture 架构外,Hercules 还是大型机 System/370 和 ESA/390 架构的开源软件实现。Hercules 可以在 Linux、Windows、Solaris、FreeBSD 和 Mac OS X 下运行。
Running JCL on Mainframes
用户可以通过多种方式连接到大型机服务器,例如精简型客户端、虚拟终端、虚拟客户机系统 (VCS) 或虚拟桌面系统 (VDS)。
每个有效用户都会获得一个登录 ID,用于进入 Z/OS 界面 (TSO/E 或 ISPF)。在 Z/OS 界面中,可以对 JCL 进行编码并将其存储为分区数据集 (PDS) 中的成员。提交 JCL 时,它将执行,并且输出将接收,如前一章的作业处理部分中所述。
Structure of a JCL
下面给出了包含通用语句的基本 JCL 结构:
//SAMPJCL JOB 1,CLASS=6,MSGCLASS=0,NOTIFY=&SYSUID (1)
//* (2)
//STEP010 EXEC PGM=SORT (3)
//SORTIN DD DSN=JCL.SAMPLE.INPUT,DISP=SHR (4)
//SORTOUT DD DSN=JCL.SAMPLE.OUTPUT, (5)
// DISP=(NEW,CATLG,CATLG),DATACLAS=DSIZE50
//SYSOUT DD SYSOUT=* (6)
//SYSUDUMP DD SYSOUT=C (6)
//SYSPRINT DD SYSOUT=* (6)
//SYSIN DD * (6)
SORT FIELDS=COPY
INCLUDE COND=(28,3,CH,EQ,C'XXX')
/* (7)
Program Description
编号的 JCL 语句已在下面加以说明:
(1) JOB statement - 指定作业 SPOOLing 所需的信息,例如作业 ID、执行优先级、作业完成后通知的用户 ID。
(2) // 语句* - 这是一个注释语句。
(3) EXEC statement - 指定要执行的 PROC/程序。在上面的示例中,正在执行一个 SORT 程序(即按特定顺序对输入数据进行排序)
(4) Input DD statement - 指定要传递给 (3) 中所述程序的输入类型。在上面的示例中,物理顺序 (PS) 文件作为共享模式中的输入传递 (DISP = SHR)。
(5) Output DD statement - 指定执行程序后要生成的输出类型。在上面的示例中,创建了 PS 文件。如果一条语句超过一行中的第 70 个位置,那么在下一行中继续该语句,下一行应以 “//” 加一个或多个空格开头。
(6) 还可以使用其他类型的 DD 语句来向程序指定其他信息(在上述示例中:在 SYSIN DD 语句中指定排序条件),并指定错误/执行日志(示例:SYSUDUMP/SYSPRINT)的目的地。DD 语句可以包含在数据集(大型机文件)中,也可以包含在流式数据中(在 JCL 中硬编码的信息),如上述示例所示。
(7) / * 标记流式数据结束。
除流式数据外,所有 JCL 语句均以 // 开头。JOB、EXEC 和 DD 关键字之前和之后至少要有一个空格,语句其余部分不应有任何空格。