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

这些参数将在后续章节中与相应的示例一起详细说明。

广告