入力プロシージャーの作成

入力ファイルのレコードを、ソート・プログラムに渡す前に処理する必要がない場合は、SORT...USING を使用します。 SORT...USING ファイル名 を使用した場合、そのファイルをオープンし、レコードを読み取り、 そのレコードをソート・プログラムに渡し、そのファイルをクローズするための入力プロシージャーが ILE COBOL コンパイラーによって生成されます。

SORT ステートメントが実行されている時は入力ファイルをオープンしないでください。 入力ファイルのレコードを、ソート・プログラムに渡す前に処理したい場合は、SORT ステートメントの INPUT PROCEDURE オプションを使用してください。

各入力プロシージャーは、段落またはセクションのどちらかでなければなりません。 たとえば、WORKING-STORAGE セクションのテーブルのレコードをソート・ファイルに渡すには、以下のようにします。

 PROCEDURE DIVISION.
        
·
·
·
SORT SORT-FILE ON ASCENDING KEY SORT-KEY INPUT PROCEDURE 600-SORT3-INPUT-PROC
·
·
·
600-SORT3-INPUT-PROC SECTION. PERFORM WITH TEST AFTER VARYING X1 FROM 1 BY 1 UNTIL X1 = 100 RELEASE SORT-RECORD FROM TABLE-ENTRY(X1) END-PERFORM.

入力プロシージャーには、レコードを処理してソート操作に渡すためのコードが含まれます。 入力プロシージャーを使用して、次の処理を行えます。

レコードをソート・ファイルに転送する際には、 すべての入力プロシージャーに少なくとも 1 つの RELEASE または RELEASE FROM ステートメントが含まれていなければなりません。