JCL - 实用程序

IBM 数据集实用程序

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

实用程序名称 功能
IEHMOVE 移动或复制顺序数据集。
IEHPROGM 删除和重命名数据集; 除 VSAM 之外的编目或取消编目数据集。<
IEHCOMPR 比较顺序数据集中的数据。
IEBCOPY 复制、合并、压缩、备份或恢复 PDS。
IEFBR14

没有操作实用程序。 用于将控制权返回给用户并终止。 它通常用于创建空数据集或删除现有数据集。

例如,如果使用 DISP=(OLD,DELETE,DELETE) 将数据集作为 IEFBR14 程序的输入传递,则该数据集将在作业完成时删除。

IEBEDIT 用于复制 JCL 的选定部分。 例如,如果 JCL 有 5 个步骤,而我们只需要执行步骤 1 和 3,则可以使用包含要执行的实际 JCL 的数据集来编码 IEBEDIT JCL。 在IEBEDIT的SYSIN中,我们可以指定STEP1和STEP3作为参数。 当执行该JCL时,它执行实际JCL的STEP1和STEP3。
IDCAMS 创建、删除、重命名、编目、取消编目数据集(PDS 除外)。 通常用于管理VSAM数据集。

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

DFSORT 概述

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

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

  • 按照文件中指定字段位置的顺序对输入文件进行排序。

  • 根据指定条件包含或省略输入文件中的记录。

  • 按照文件中指定字段位置的顺序对输入文件进行排序。

  • 根据指定的 JOIN KEY(每个输入文件中的字段)对两个或多个输入文件进行排序连接。

  • 当需要对输入文件进行附加处理时,可以从 SORT 程序调用 USER EXIT 程序。 例如,如果要添加到输出文件中的标头/标尾,则可以从 SORT 程序调用用户编写的 COBOL 程序来执行此功能。 使用控制卡,可以将数据传递给COBOL程序。

  • 相反,可以从 COBOL 程序内部调用 SORT,以便在处理之前按特定顺序排列输入文件。 通常,考虑到大文件的性能,不建议这样做。

ICETOOL 概述

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

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

  • ICETOOL可以在一种或多种条件下实现DFSORT的所有功能。

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

  • 一个文件中特定位置的数据可以覆盖到同一或不同文件中的另一个位置。

  • 一个文件可以根据指定的条件分割成n个文件。 例如,一个包含员工姓名的文件可以分为 26 个文件,每个文件包含以 A、B、C 等开头的姓名。

  • 使用 ICETOOL 可以通过对该工具进行一些探索来实现不同的文件操作组合。

SYNCSORT 概述

SYNCSORT用于高性能地复制、合并或排序数据集。 它可以最佳地利用系统资源并在 31 位和 64 位地址空间中高效运行。

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

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