Datei-E/A-Status in sysVar.errorCode für iSeriesC

Wenn die Programmeigenschaft 'V60ExceptionCompatibility' auf YES festgelegt ist, enthält die Systemvariable 'sysVar.errorCode' den Statuscode für die Datei-Ein-/Ausgabe in der iSeriesC-Umgebung.

Verwenden Sie für generierte COBOL die Erstellungsdeskriptoroption 'sysCodes' zum Steuern des Codes, der für E/A-Fehler in Dateien zurückgegeben wird. Die Erstellungsdeskriptoroption 'sysCodes' hat keine Auswirkungen auf die Fehlerwerte von EGL-Ein-/Ausgaben.

In der folgenden Tabelle sind die Zusammenhänge zwischen den Werten der Statusschlüssel, EGL-E/A-Fehlerwerte und 'sysVar.errorCode' aufgeführt. Es gibt viele Statusschlüsselwerte für COBOL-Dateien, die einem einzelnen 'sysVar.errorCode' entsprechen können.

Tabelle 1. Zusammenhang zwischen Statusschlüsselwerten, E/A-Fehlerwerten und 'sysVar.errorCode'
errorCode (sysCodes = "YES"), Statusschlüsselwerte für COBOL-Dateien EGL-E/A-Fehlerwert errorCode (sysCodes = "NO")
00,05,07 [kein Fehler] 000
02 duplicate, ioError 103
04 (Datensatz variabler Länge) [kein Fehler] 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 (Zugriffsmethode nicht relativ oder relativer Schlüssel nicht 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
Bei allen anderen Statusschlüsselwerten für COBOL-Dateien basiert 'sysVar.errorCode' auf dem Anforderungstyp, wie in der folgenden Tabelle aufgeführt:
Anforderungstyp EGL-E/A-Fehlerwert errorCode (sysCodes = "NO")
OPEN ioError, hardIOError 500
CLOSE, UNLOCK ioError, hardIOError 989
READ, START ioError, hardIOError 987
WRITE ioError, hardIOError 988

Feedback