入力ファイルのレコードを、それらがソート・プログラムに解放される前に処理する場合には、SORT ステートメントの INPUT PROCEDURE 句を使用してください。
入力プロシージャーを使用して、以下のことを行うことができます。
それぞれの入力プロシージャーは、段落またはセクションのいずれかで構成されなければなりません。例えば、WORKING-STORAGE または LOCAL-STORAGE の表からのレコードをソート・ファイル SORT-WORK-2 に解放するには、次のようにコーディングすることができます。
SORT SORT-WORK-2
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-WORK-2-AREA FROM TABLE-ENTRY (X1)
END-PERFORM.
レコードをソート・プログラムに転送するためには、すべての入力プロシージャーに少なくとも 1 つの RELEASE または RELEASE FROM ステートメントが含まれていなければなりません。 例えば、X から A を解放するには、次のようにコーディングできます。
MOVE X TO A. RELEASE A.
あるいは、次のようにコーディングできます。
RELEASE A FROM X.
次の表では、RELEASE ステートメントと RELEASE FROM ステートメントを比較しています。
| RELEASE | RELEASE FROM |
|---|---|
MOVE EXT-RECORD TO SORT-EXT-RECORD PERFORM RELEASE-SORT-RECORD . . . RELEASE-SORT-RECORD. RELEASE SORT-RECORD |
PERFORM RELEASE-SORT-RECORD
. . .
RELEASE-SORT-RECORD.
RELEASE SORT-RECORD
FROM SORT-EXT-RECORD
|
関連参照
入出力プロシージャーに関する制約事項
RELEASE ステートメント (Enterprise COBOL 言語解説書)