IEBCOMPR (データ・セット比較) プログラム

重要: IEBCOMPR の代わりに SuperC ユーティリティーを使用してください。 SuperC は、 ISPF/PDF および High Level Assembler Toolkit Feature の一部です。 SuperC は、フォアグラウンドでもバッチでも処理でき、その報告書はより有用です。
IEBCOMPR は、バックアップ・コピーを検査するために、論理レコード・レベルで 2 つの順次データ・セット、2 つの区分データ・セット、または 2 つの区分データ・セット (PDSE) を比較するために使用されるデータ・セット・ユーティリティーです。 ブロック化または非ブロック化データ・セットまたはメンバーからの固定レコード、可変長レコード、または未定義レコードを比較することもできます。 ただし、ロード・モジュールを比較するために IEBCOMPR を使用してはなりません。
注: PDS または PDSE メンバーを比較する場合、IEBCOMPR は約 290 万個を超えるメンバーを処理できません。
2 つの順次データ・セットは 等しいと見なされます。つまり、以下の条件下では同一と見なされます。
  • データ・セットに同数のレコードが含まれています。
  • 対応するレコードとキーは同一です。
2 つの区分データ・セットまたは 2 つの PDSE は、以下のすべての条件のもとで等しいと見なされます。
  • 対応するメンバーに同じ数のレコードが含まれています。
  • 注リストは、対応するメンバー内で同じ位置にあります。
  • 対応するレコードとキーは同一です。
  • 対応するディレクトリー・ユーザー・データ・フィールドは同一です。

特定のタイプのデータ・セットについてこれらの条件がすべて満たされていない場合、それらのデータ・セットは等しくないと見なされます。 レコードが等しくない場合は、レコード番号とブロック番号、データ・セットを定義する DD ステートメントの名前、および等しくないレコードがメッセージ・データ・セットにリストされます。 エラー条件を処理するためのルーチンを用意しない限り、10 回連続して比較を行うと、ジョブ・ステップは停止します。

異なるタイプの装置に常駐するロード・モジュール区分データ・セットは比較しないでください。 ほとんどの環境では、データ・セットは等しいものとして比較されません。

区分データ・セットまたは PDSE を比較できるのは、一方または両方のディレクトリー内のすべての名前に、他方のディレクトリー内の対応する項目がある場合だけです。 比較は、これらの項目および対応するユーザー・データによって識別されるメンバーに対して行われます。

図 1 は、2 つの区分データ・セットのディレクトリーを示しています。 ディレクトリー 2 には、ディレクトリー 1 のすべての名前に対応する項目が入っています。したがって、データ・セットを比較することができます。

図1: IEBCOMPR を使用してデータ・セットを比較できる区分ディレクトリー
IEBCOMPR を使用してデータ・セットを比較できる区分ディレクトリー

図 2 に、2 つの区分データ・セットのディレクトリーを示します。 各ディレクトリーには、他のディレクトリーに対応する項目がない名前が入っています。したがって、データ・セットを比較することはできず、ジョブ・ステップは終了します。

図2: IEBCOMPR を使用してデータ・セットを比較できない区分ディレクトリー
IEBCOMPR を使用して比較できないデータ・セットを持つ区分ディレクトリー

ユーザー出口は、オプションのユーザー・ルーチン用に提供され、ユーザー・ラベルの処理、エラー条件の処理、およびソース・レコードの変更を行います。

IEBCOMPR がアプリケーション・プログラムまたは TSO から呼び出される場合、IEBCOMPR を呼び出す前に動的割り振り (SVC 99) または TSO ALLOCATE コマンドを呼び出すことによって、データ・セットを動的に割り振ることができます。

関連資料: ユーザー・ルーチンのリンケージ規則については、「 ユーティリティー・プログラムによるユーザー出口の指定」を参照してください。