30.7.3 CBLCNVERRORINFO
CBLCNVERRORINFOサービスルーチンは,直前に実行された組み込み関数のDISPLAY-OF関数またはNATIONAL-OF関数のエラー情報を取得するものです。
- 形式
CALL 'CBLCNVERRORINFO' USING 引数1 引数2 引数3
- 引数
-
-
引数1には,4バイトの符号なし2進項目を指定します。
-
引数2には,4バイトの符号なし2進項目を指定します。
-
引数3には,4バイトの符号付き2進項目を指定します。
-
- 戻り値
-
0:正常終了した場合
100:エラー情報がなかった場合
- 規則
-
-
このサービスルーチンでエラー情報を取得するためには,-FunctionECSup,CodeConvErrオプションを指定して,組み込み関数のDISPLAY-OF関数またはNATIONAL-OF関数が記述されたCOBOLソースをコンパイルする必要があります。
-
引数1には,実行時エラーのメッセージ番号が格納されます。このサービスルーチンで取得できるのは,次の表に示す実行時メッセージに対応するエラー情報です。直前の組み込み関数のDISPLAY-OF関数またはNATIONAL-OF関数で,これらの実行時メッセージが出力されていない場合,サービスルーチンはエラーの戻り値100を返します。
表30‒6 引数1に格納されるメッセージ番号 実行時メッセージ
引数1に格納される値
KCCC2313R-W
2313
KCCC2314R-W
2314
KCCC2315R-W
2315
-
引数2には,組み込み関数の引数に指定されたデータのうち,コード変換失敗の要因となったデータの位置情報が格納されます。引数1が2315以外の場合,引数2には0が格納されます。
-
引数3には,コード変換失敗の要因となった日立コード変換の関数が返した戻り値が格納されます。戻り値の内容については,コード変換ライブラリのマニュアルのCodeConvString関数に関する説明を参照してください。
-
戻り値が0以外の場合,引数1,引数2,および引数3の内容は変更されません。
-
- 注意事項
-
取得できるエラー情報は,直前に実行された組み込み関数のDISPLAY-OF関数またはNATIONAL-OF関数のエラー情報です。コード変換が失敗する組み込み関数のDISPLAY-OF関数またはNATIONAL-OF関数を実行したあとから,このサービスルーチンを呼び出す前までの間に,正常終了する組み込み関数のDISPLAY-OF関数またはNATIONAL-OF関数を実行した場合,エラー情報は取得できません。
- 使用例
IDENTIFICATION DIVISION. PROGRAM-ID. SAMPLE1. DATA DIVISION. WORKING-STORAGE SECTION. 01 ALNUM-DATA PIC X(10). 01 NATIONAL-DATA PIC N(10). *エラー情報取得用 01 ERR-NUMBER PIC 9(9) USAGE COMP. 01 ERR-OFFSET PIC 9(9) USAGE COMP. 01 ERR-RETCODE PIC S9(9) USAGE COMP. 01 戻り値 PIC S9(9) USAGE COMP. PROCEDURE DIVISION. : *>NATIONAL-OF関数で呼び出し MOVE FUNCTION NATIONAL-OF(ALNUM-DATA) TO NATIONAL-DATA. *>NATIONAL-OF関数呼び出し直後にサービスルーチン呼び出し CALL 'CBLCNVERRORINFO' USING ERR-NUMBER ERR-OFFSET ERR-RETCODE. : MOVE RETURN-CODE TO 戻り値. : IF 戻り値 = 0 THEN *> NATIONAL-OF関数で発生したエラーに対する処理 : ELSE *> NATIONAL-OF関数で正常実行後の処理 END-IF.