DFSORT プログラムは、各ソートまたはマージ操作の終了後に、0 (正常終了) または 16 (異常終了) のいずれかの完了コードを返します。 完了コードは、SORT-RETURN 特殊レジスターに保管されます。
それぞれの SORT または MERGE ステートメントの後で、正常終了かどうかをテストしなければなりません。以下に例を示します。
SORT SORT-WORK-2
ON ASCENDING KEY SORT-KEY
INPUT PROCEDURE IS 600-SORT3-INPUT-PROC
OUTPUT PROCEDURE IS 700-SORT3-OUTPUT-PROC.
IF SORT-RETURN NOT=0
DISPLAY "SORT ENDED ABNORMALLY. SORT-RETURN = " SORT-RETURN.
. . .
600-SORT3-INPUT-PROC SECTION.
. . .
700-SORT3-OUTPUT-PROC SECTION.
. . .
プログラムの中で SORT-RETURN をまったく参照しないと、COBOL ランタイムで完了コードがテストされます。 16 の場合、COBOL は、ランタイム診断メッセージを出します。
デフォルトでは、DFSORT 診断メッセージは SYSOUT データ・セットに送られます。このデフォルトを変更したい場合は、DFSORT の OPTION 制御カードの MSGDDN パラメーターを使用するか、SORT-MESSAGE 特殊レジスターを使用してください。
SORT または MERGE ステートメントの 1 つ以上 (しかし、必ずしも全部ではない) について SORT-RETURN をテストすると、 COBOL ランタイムで完了コードが検査されません。
関連参照 DFSORT アプリケーション・プログラミング・ガイド (DFSORT メッセ
ージおよび戻りコード)