Jcl 简明教程

JCL - Utility Programs

IBM Dataset Utilities

实用程序是预先编写好的程序,被系统程序员和应用程序开发者广泛用于大型机,以满足日常需求、组织和维护数据。以下列出了一些实用程序及其功能:

Utility Name

Functionality

IEHMOVE

移动或拷贝顺序数据集。

IEHPROGM

删除和重命名数据集;编录或取消编录非 VSAM 的数据集。

IEHCOMPR

比较顺序数据集中数据。

IEBCOPY

复制、合并、压缩、备份或恢复 PDS。

IEFBR14

无操作实用程序。用于将控制返回给用户并终止。通常用于创建空数据集或删除现有数据集。例如,如果将数据集作为输入传递给 IEFBR14 程序,其中 DISP=(OLD,DELETE,DELETE),则在作业完成时删除该数据集。

IEBEDIT

用于复制 JCL 的选定部分。例如,如果 JCL 有 5 步,我们仅需要执行步 1 和 3,则可以编写包含要执行的实际 JCL 的数据集的 IEBEDIT JCL。在 IEBEDIT 的 SYSIN 中,我们可以指定 STEP1 和 STEP3 作为参数。执行此 JCL 时,将执行实际 JCL 的 STEP1 和 STEP3。

IDCAMS

创建、删除、重命名、编目、取消编目数据集(PDS 除外)。通常用于管理 VSAM 数据集。

要实现指定的功能,需要将这些实用程序与 JCL 中适当的 DD 语句一起使用。

DFSORT Overview

DFSORT 是 IBM 用于复制、排序或合并数据集的强大实用程序。SORTIN 和 SORTINnn DD 语句用于指定输入数据集。SORTOUT 和 OUTFIL 语句用于指定输出数据。

SYSIN DD 语句用于指定排序和合并条件。DFSORT 通常用于实现以下功能:

  1. 按文件中指定字段位置的顺序对输入文件进行 SORT。

  2. 根据指定条件在输入文件中 INCLUDE 或 OMIT 记录。

  3. 按文件中指定字段位置的顺序对 SORT MERGE 输入文件。

  4. 基于指定的 JOIN KEY(每个输入文件中字段)SORT JOIN 两个或更多个输入文件。

  5. 当需要对输入文件进行其他处理时,可以从 SORT 程序调用 USER EXIT 程序。例如,如果向输出文件添加页眉/页脚,则可以从 SORT 程序调用用户编写的 COBOL 程序来执行此功能。使用控制卡,可以将数据传递给 COBOL 程序。

  6. 另一方面,可以在 COBOL 程序中从内部调用 SORT,以便在处理之前按特定顺序排列输入文件。通常,由于性能问题而不建议对大文件这样做。

ICETOOL Overview

ICETOOL 是一款多用途 DFSORT 实用程序,用于对数据集执行各种操作。可以使用用户自定义的 DD 名称定义输入和输出数据集。文件操作在 TOOLIN DD 语句中指定。可以在用户自定义的“CTL”DD 语句中指定其他条件。

下面给出了 ICETOOL 的一些实用程序:

  1. ICETOOL 可以在一个或多个条件下实现 DFSORT 的所有功能。

  2. SPLICE 是 ICETOOL 的一项强大操作,类似于 SORT JOIN,但具有附加功能。它可以在指定字段比较两个或更多个文件,并创建匹配记录的文件、非匹配记录的文件等一个或多个输出文件。

  3. 可以将一个文件中的数据从特定位置 OVERLAY 到同一文件或不同文件中的另一个位置。

  4. 一个文件可以基于指定条件分割为 n 个文件。例如,包含员工姓名的文件可以分割成 26 个文件,每个文件包含以 A、B、C 等字母开头的姓名。

  5. 通过使用 ICETOOL 稍微探索一下,可以实现文件的不同组合操作。

SYNCSORT Overview

SYNCSORT 用于高性能地复制、合并或对数据集进行排序。它实现了对系统资源的最佳利用,并在 31 位和 64 位地址空间中进行高效的操作。

它可以在 DFSORT 的同等行中使用,可以实现相同的功能。它可以通过 JCL 或从用 COBOL、PL/1 或汇编语言编码的程序中调用。它还支持从 SYNCSORT 程序调用的用户出口程序。

在下一章中,将介绍使用这些实用程序的常用排序技巧。复杂的要求(需要在 COBOL/ASSEMBLER 中进行大量编程)可以使用上述实用程序通过简单的步骤来实现。