La variable de sistema sysVar.errorCode recibe un código de estado después de alguno de los siguientes eventos:
Los valores de sysVar.errorCode asociados con una función del sistema dada se describen en relación a la función del sistema, no en el tema actual.
sysVar.errorCode se establece en 0 si la invocación de llamada, E/S o función de sistema es satisfactoria.
Para tener una visión general que incluya detalles acerca de sysVar.errorCode, consulte la sección Manejo de excepciones. La lista de valores posibles de sysVar.errorCode se suministra en el apartado Códigos de error de tiempo de ejecución Java de EGL.
Si está generando código Java, la lista de valores posibles de sysVar.errorCode se suministra en Códigos de error de tiempo de ejecución Java de EGL.
Si se produce una condición de fin de archivo durante una operación de lectura, sysVar.errorCode contiene el código de retorno "00000004".
Si una operación OPEN falla, sysVar.errorCode contiene el código de retorno "00000008".
Si se produce una anomalía durante una operación de lectura, escritura o cierre, sysVar.errorCode contiene el código de retorno "00000012".
Si se produce una anomalía durante una operación de abrir o cerrar un archivo, los 2 primeros bytes de sysVar.errorCode contienen el código de error del bloque de control (ACB) del programa VSAM en hexadecimal y los 6 caracteres restantes son ceros.
En otros casos, los 2 primeros caracteres de sysVar.errorCode son ceros. Esos ceros van seguidos de 2 caracteres para el código de retorno de COBOL VSAM (que es el código de comentarios de VSAM); 1 carácter para el código de función de COBOL VSAM (que es el código de componente de VSAM); y 3 caracteres para el código de comentarios de COBOL VSAM (que es el código de razón de VSAM).
Si establece la opción sysCodes del descriptor de construcción en YES y realiza una operación de E/S en un recurso que no es una base de datos, sysVar.errorCode contendrá un código de retorno específico del tipo de recurso; por ejemplo, será específico de un archivo VSAM. Para interpretar este código, consulte el manual correspondiente al recurso. Sin embargo, si establece esa opción del descriptor de construcción en NO, los códigos de retorno relacionados con archivos son independientes del tipo de recurso.
La tabla siguiente indica algunos de los códigos de estado de archivo COBOL que pueden devolverse, junto con el valor colocado en sysVar.errorCode si genera salida COBOL con la opción del descriptor de construcción sysCodes establecida en NO. También se muestra el valor de error de E/S de EGL que no se ve afectado por el valor en sysCodes.
Código de estado de archivo COBOL (como aparece en sysVar.errorCode cuando sysCodes es YES) | Valor de sysVar.errorCode cuando sysCodes es NO | Valor de error de E/S de EGL (un blanco en esta columna significa "no aplicable") |
---|---|---|
00000000, 00000005, 00000007 | 00000000 | |
00000002 | 00000103 | duplicate, ioError |
00000004 (formato registro var) | 00000000 | |
00000004 (otro) | 00000220 | format, hardIOError, ioError |
00000010, 00000014, 00000046 | 00000102 | endOfFile, ioError |
00000022 | 00000206 | ioError, unique |
00000023 (inicio) | 00000102 | endOfFile, ioError |
00000023 (otro) | 00000205 | noRecordFound, ioError |
00000024, 00000034 (método de acceso no relativo o clave relativa no 0) | 0000025A | full, hardIOError, ioError |
00000035 | 00000251 | fileNotFound, hardIOError, ioError |
00000038 | 00000218 | fileNotAvailable, hardIOError, ioError |
00000039, 00000095 | 00000220 | format, ioError |
0000009D (sólo COBOL iSeries) | 00000381 | deadlock, hardIIOError, ioError |
La tabla siguiente muestra el valor para sysVar.errorCode cuando el sistema de ejecución devuelve otros códigos de estado de archivos COBOL.
Tipo de petición | Valor de sysVar.errorCode cuando sysCodes es NO | Valor de error de E/S de EGL |
---|---|---|
open | 00000500 | ioError, hardIOError |
close o unlock | 00000989 | ioError, hardIOError |
read o start | 00000987 | ioError, hardIOError |
write | 00000988 | ioError, hardIOError |