JCL - 实用程序



IBM 数据集实用程序

实用程序是预先编写的程序,大型机系统程序员和应用程序开发人员广泛使用它们来满足日常需求,组织和维护数据。下面列出了一些实用程序及其功能。

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

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

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

IEBEDIT 用于复制 JCL 的选定部分。例如,如果 JCL 有 5 个步骤,而我们只需要执行步骤 1 和 3,则可以编写 IEBEDIT JCL,其中包含要执行的实际 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 通常用于实现以下功能:

  • 根据文件中指定的字段位置对输入文件进行排序。

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

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

  • 根据指定的连接键(每个输入文件中的字段)连接两个或多个输入文件。

  • 如果需要对输入文件进行额外处理,则可以从排序程序调用用户出口程序。例如,如果需要向输出文件添加页眉/页脚,则可以从排序程序调用用户编写的 COBOL 程序来执行此功能。可以使用控制卡将数据传递到 COBOL 程序。

  • 反过来,可以在 COBOL 程序内部调用排序程序,以便在处理之前按特定顺序排列输入文件。通常,对于大型文件,由于性能原因,不推荐这样做。

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/汇编程序中进行大量的编程。

广告