Rational Developer for System z
Enterprise COBOL for z/OS バージョン 4.1 プログラミング・ガイド


ソートまたはマージの要求

事前処理を行わずに 1 つの入力ファイル (MERGE の場合は複数のファイル) からレコードを読み取るには、SORT . . . USING または MERGE . . . USING、および SELECT 節で宣言された入力ファイル (1 つ以上) の名前を使用してください。

ソート済みまたはマージ済みレコードを、これ以上処理せずに、ソート・プログラムまたはマージ・プログラムから別のファイルへ転送するには、 SORT . . . GIVING または MERGE . . . GIVING、 および SELECT 節で宣言された出力ファイルの名前を使用してください。以下に例を示します。

SORT Sort-Work-1
    ON ASCENDING KEY Sort-Key-1
    USING Input-File
    GIVING Output-File.

SORT . . . USING または MERGE . . . USING の場合、コンパイラーは、ファイルをオープンし、レコードを読み取り、レコードをソートまたはマージ・プログラムに解放し、そしてファイルをクローズするための入力プロシージャーを生成します。SORT または MERGE ステートメントが実行を開始するとき、ファイルが開いた状態にしないでください。 SORT . . . GIVING または MERGE . . . GIVING の場合、コンパイラーは、ファイルをオープンし、レコードを戻し、レコードを書き込み、そしてファイルをクローズするための出力プロシージャーを生成します。SORT または MERGE ステートメントが実行を開始するとき、ファイルが開いた状態にしないでください。

SORT または MERGE ステートメントの USING または GIVING ファイルは、HFS に常駐する順次ファイルにすることができます。

例: SORT 用のソート・ファイルおよび入力ファイルの記述

ソート・レコードがソートされる前に、それらのレコードに対して 入力プロシージャーが実行されるようにしたい場合は、SORT . . . INPUT PROCEDURE を使用してください。 ソート済みレコードに対して出力プロシージャーが実行されるようにしたい場合は、 SORT . . .OUTPUT PROCEDURE を使用してください。以下に例を示します。

SORT Sort-Work-1
    ON ASCENDING KEY Sort-Key-1
    INPUT PROCEDURE EditInputRecords
    OUTPUT PROCEDURE FormatData.

例: 入出力プロシージャーを使用したソート

制約事項: MERGE ステートメントで入力プロシージャーを使用することはできません。マージ操作への入力ソースは、既にソート済みのファイルの集合でなければなりません。 しかし、マージ済みレコードに対して出力プロシージャーが実行されるようにしたい場合は、MERGE . . . OUTPUT PROCEDURE を使用してください。以下に例を示します。

MERGE Merge-Work
    ON ASCENDING KEY Merge-Key
    USING Input-File-1 Input-File-2 Input-File-3
    OUTPUT PROCEDURE ProcessOutput.

FILE SECTION では、SD 記入項目の Merge-Work、および FD 記入項目の入力ファイルを定義する必要があります。

関連参照
SORT ステートメント (Enterprise COBOL 言語解説書)
MERGE ステートメント (Enterprise COBOL 言語解説書)


ご利用条件 | フィードバック

このインフォメーション・センターでは Eclipse テクノロジーが採用されています。(http://www.eclipse.org)