- JCL 教程
- JCL 首页
- JCL - 概述
- JCL - 环境
- JCL - JOB 语句
- JCL - EXEC 语句
- JCL - DD 语句
- JCL - 基础库
- JCL - 过程
- JCL - 条件处理
- JCL - 定义数据集
- JCL - 输入/输出方法
- JCL - 运行 COBOL 程序
- JCL - 实用程序
- JCL - 基本排序技巧
- JCL 有用资源
- JCL - 常见问题解答
- JCL - 快速指南
- JCL - 有用资源
- JCL - 讨论
JCL - 环境设置
在 Windows/Linux 上安装 JCL
有很多可用于 Windows 的免费主机仿真器,可用于编写和学习 JCL 示例。
其中一个仿真器是 Hercules,可以按照以下简单步骤轻松安装在 Windows 中
下载并安装 Hercules 仿真器,可从 Hercules 主页获取:www.hercules-390.eu
有关编写和执行 JCL 的各种命令的完整指南可在以下网址找到:www.jaymoseley.com/hercules/installmvs/instmvs2.htm
Hercules 是大型机 System/370 和 ESA/390 架构以及最新的 64 位 z/Architecture 的开源软件实现。Hercules 可以在 Linux、Windows、Solaris、FreeBSD 和 Mac OS X 上运行。
在大型机上运行 JCL
用户可以通过多种方式连接到大型机服务器,例如瘦客户端、虚拟终端、虚拟客户端系统 (VCS) 或虚拟桌面系统 (VDS)。
每个有效用户都会获得一个登录 ID,用于输入 Z/OS 接口 (TSO/E 或 ISPF)。在 Z/OS 接口中,可以编写 JCL 并将其作为成员存储在分区数据集 (PDS) 中。提交 JCL 后,它将被执行,并按照上一章的作业处理部分中说明的方式接收输出。
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)
程序描述
下面解释了编号的 JCL 语句
(1) JOB 语句 - 指定作业 SPOOLing 所需的信息,例如作业 ID、执行优先级、作业完成后要通知的用户 ID。
(2) //* 语句 - 这是一个注释语句。
(3) EXEC 语句 - 指定要执行的 PROC/程序。在上面的示例中,正在执行 SORT 程序(即,按特定顺序对输入数据进行排序)
(4) 输入 DD 语句 - 指定要传递给 (3) 中提到的程序的输入类型。在上面的示例中,共享模式 (DISP = SHR) 下传递物理顺序 (PS) 文件作为输入。
(5) 输出 DD 语句 - 指定程序执行后要生成的输出类型。在上面的示例中,创建了一个 PS 文件。如果语句在一行中超过第 70 位,则在下一行继续,下一行应以“//”开头,后跟一个或多个空格。
(6) 可以有其他类型的 DD 语句来向程序指定其他信息(在上面的示例中:SORT 条件在 SYSIN DD 语句中指定)以及指定错误/执行日志的目标位置(示例:SYSUDUMP/SYSPRINT)。DD 语句可以包含在数据集(大型机文件)中,也可以作为流数据(在上面的示例中硬编码在 JCL 中的信息)给出。
(7) /* 标记流数据的结束。
除流数据外,所有 JCL 语句都以 // 开头。JOB、EXEC 和 DD 关键字前后至少应留一个空格,其他语句中不应有空格。
作业参数类型
每个 JCL 语句都带有一组参数,以帮助操作系统完成程序执行。参数可以分为两种类型
位置参数
出现在语句中预定义的位置和顺序。例如:会计信息参数只能出现在JOB关键字之后,程序员名称参数和关键字参数之前。如果省略位置参数,则必须用逗号代替。
位置参数存在于 JOB 和 EXEC 语句中。在上面的示例中,PGM 是在EXEC关键字之后编码的位置参数。
关键字参数
它们编码在位置参数之后,但可以以任何顺序出现。如果不需要,可以省略关键字参数。通用语法是 KEYWORD= value。例如:MSGCLASS=X,即作业日志在作业完成后重定向到输出 SPOOL。
在上面的示例中,CLASS、MSGCLASS 和 NOTIFY 是 JOB 语句的关键字参数。EXEC 语句中也可以有关键字参数。
这些参数将在后续章节中与相应的示例一起详细说明。