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


ソートまたはマージの成否の判断

それぞれのソートまたはマージが完了すると、 SORT または MERGE ステートメントは、 完了コード 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 の場合は、ランタイム診断メッセージが発行され、実行単位 (またはマルチスレッド環境ではスレッド) が終了します。 診断メッセージには、ソートまたはマージ・エラー番号が含まれており、 これを使用して問題の原因を判別できます。

SORT または MERGE ステートメントの 1 つ以上 (しかし、必ずしも全部ではない) について SORT-RETURN をテストすると、COBOL ランタイムで 完了コードが検査されません。 ただし、SORT または MERGE ステートメントの後で、 例えば以下のようにして iwzGetSortErrno サービスを呼び出すことにより、ソートまたはマージ・エラー番号を取得できます。

77  sortErrno    PIC 9(9)   COMP-5.
. . .
    CALL 'iwzGetSortErrno'  USING  sortErrno
. . .

iwzGetSortErrno を呼び出すには、SYSTEM 呼び出しインターフェース規則 と、PGMNAME(MIXED) および NODYNAM コンパイラー・オプションを使用する必要があります。

エラー番号およびそれらの意味のリストについては、以下の関連参照をご覧ください。

関連参照
ソートおよびマージ・エラー番号
SYSTEM


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

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