Rational Developer for System z
COBOL for Windows バージョン 7.5 プログラミング・ガイド


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

事前処理を行わずに 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 用のソート・ファイルおよびの入力ファイルの記述

ソート・レコードがソートされる前に、それらのレコードに対して入力プロシージャーが実行されるようにしたい場合は、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 で、Merge-WorkSD 記入項目に定義しなければならず、入力ファイルは FD 記入項目に定義しなければなりません。

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


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

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