iSeriesC の sysVar.errorCode のファイル入出力状況

V60ExceptionCompatibility プログラム・プロパティーが YES に設定されている場合、sysVar.errorCode システム環境変数には、iSeriesC 環境のファイル入出力の状況コードが入ります。

生成された COBOL では、sysCodes ビルド記述子オプションを使用して、ファイル入出力エラーに関して返されるコードを制御します。sysCodes ビルド記述子オプションは、 EGL 入出力エラー値には影響を与えません。

状況キーの値、EGL 入出力エラーの値、および sysVar.errorCode の対応表を以下に示します。 1 つの sysVar.errorCode に複数の COBOL ファイル状況キー値が対応していることがあります。

表 1. 状況キー値、入出力エラー値、および sysVar.errorCode の対応
errorCode (sysCodes = "YES")、COBOL ファイル状況キー値 EGL 入出力エラー値 errorCode (sysCodes = "NO")
00,05,07 [no error] 000
02 duplicate, ioError 103
04 (可変長レコード) [no error] 000
04 invalidFormat、ioError、hardIOError 220
10,14,46 endOfFile、ioError 102
22 unique、ioError 206
23 (START) endOfFile、ioError 102
23 noRecordFound、ioError 205
24、34 (アクセス方式が関連していない、または相対キーが 0 ではない) full、ioError、hardIOError 25A
35 fileNotFound、ioError、hardIOError 251
38 fileNotAvailable、ioError、hardIOError 218
39,95 invalidFormat、ioError 220
9D deadlock、ioError、hardIOError 381
その他のすべての COBOL ファイル状況キー値の場合、下の表に示す要求タイプに基づいて sysVar.errorCode が設定されます。
要求のタイプ EGL 入出力エラー値 errorCode (sysCodes = "NO")
OPEN ioError、hardIOError 500
CLOSE、UNLOCK ioError、hardIOError 989
READ、START ioError、hardIOError 987
WRITE ioError、hardIOError 988

フィードバック