CODIGOS
DE ERROR DE FICHEROS EN COBOL
Son muchos
los errores que se pueden producir en tiempo de ejecución cuando trabajamos con
archivos, a continuación daré una explicación de los mas comunes. Todos éstos
errores los podemos obtener si definimos FILE STATUS en la FILE-CONTROL, y
actuar consecuentemente, por ejemplo yo siempre cuando abro los ficheros al
principio de cada programa compruebo que el error sea 00, es decir que todo
está bien para continuar, sino automaticamente saco una ventanita con el error
que se ha producido y el nombre del fichero para que mis usuarios me lo
comuniquen y poder solucionarlo, pero no dejo que se siga ejecutando el
programa, con lo que se evitarán problemas posteriores que podrían resultar
peores. De todas formas una vez que está el programa verificado y comprobado, y
que todos los archivos se corresponden con su descripción en la FD, los errores
que nos puede dar son los relativos a claves duplicadas o inexistentes, o a
errores del sistema.Los errores se representan como 2 digitos para el error que pueden ir seguidos de una coma y otros 2 dígitos para indicar la naturaleza del error.
ERROR
|
EXPLICACION
|
00
|
Operación
satisfactoria, todo bien.
|
10
|
Cuando
se ha llegado al final del fichero y se quiere seguir leyendo.
|
22
|
Se
intenta copiar un registro con una clave ya existente.
|
23
|
Cuando
se hace un acceso directo a un registro inexistente.
|
24
|
No
hay espacio en disco para realizar la operación.
|
30
|
Es
un error grave de entrada/salida, suele ser ajeno a Cobol y mas concreto en cuanto
a configuración del sistema operativo sobre el que se está ejecutando, para
solucionarlo deberemos prestar atención a los dos dígitos seguientes al
error.
|
34
|
Igual
que el 24 por falta de espacio en disco.
|
35
|
El
archivo al que hace referencia no existe.
|
39
|
La
organización del fichero que se quiere abrir no coincide con su organización
real interna. Suele pasar cuando se modifica una FD y el fichero continua
siendo el mismo.
|
41
|
Cuando
intentamos abrir un archivo que ya está abierto.
|
42
|
Si
intentamos cerrar un archivo que no esta abierto.
|
43
|
Cuando
se quiere borrar o reescribir un registro en un fichero abierto con acceso
secuencial.
|
47
|
Se
quiere realizar alguna operación que no corresponde con el modo de acceder al
fichero. Si queremos hacer un READ o un START en un archivo que no ha sido
abierto como INPUT o como I-O.
|
48
|
Igual
que el anterior, pero para el caso de querer escribir en un fichero que no
esta abierto o no está abierto como I-O, OUTPUT o EXTEND.
|
49
|
Cuando
queremos borrar o reescribir en un fichero que no ha sido abierto como I-O o
el fichero no está abierto.
|
90
|
Cuando
COBOL recibe un mensaje irreconocible, suele estar ocasionado por
incompatibilidad entre los accesos a los ficheros, su forma de apertura y su
modo de acceso.
|
91
|
Igual
que el 42.
|
92
|
Cuando
intentamos leer, escribir, borrar, reescribir sobre un archivo no abierto.
|
93
|
El
archivo está en conflicto con otro usuario.
|
94
|
Igual
que el 39, tiene muchisimas vertientes dependiendo de los dos digitos
siguientes que acompañan al error.
|
98
|
Echate
a temblar (perdonad por la expresión), grave error interno en la estructura
del fichero, generalmente se suelen provocar cuando hay un corte electrico o
una salida brusca del programa y algún fichero indexado se ha quedado
abierto, lo que suele ocurrir es problema de correspondencia entre claves y
datos, se recomienda hacerle un recovery (RM/COBOL) o el que corresponda a
cada compilador para rehacer las claves. Si después de todo sigue dando
errores .......?
En algunos casos, es posible que éste error se deba a un problema físico del disco, en ese caso también será conveniente copiarlo en otro sitio "físico". |
99
|
Al
borrar, leer o reescribir un registro que está siendo bloqueado por otro
usuario.
|
Para evitar bloqueos en los registros cuando trabajamos con varios usuarios accediendo a los mismos registros, es convenientoe tener en cuenta los modos de apertura de los ficheros, ya que abriéndolos en INPUT nunca habrá problema de bloqueo.
No hay comentarios.:
Publicar un comentario