JCL - 安装和环境设置

在 Windows/Linux 上安装 JCL

有许多适用于 Windows 的免费大型机模拟器,可用于编写和学习示例 JCL。

Hercules 就是这样的模拟器之一,通过执行下面给出的几个简单步骤,可以轻松地将其安装在 Windows 中:

  • 下载并安装 Hercules 模拟器,该模拟器可从 Hercules 的主页获取 - : www.hercules-390.eu

  • 有关编写和执行 JCL 的各种命令的完整指南可以在 URL 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) Input DD 语句 - 指定要传递给 (3) 中提到的程序的输入类型。 在上面的示例中,物理顺序 (PS) 文件作为共享模式 (DISP = SHR) 的输入进行传递。

(5) Output 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语句中也可以有关键字参数。

这些参数已在后续章节中连同适当的示例进行了详细说明。