PerroCobolero

PerroCobolero

ADS

domingo, 3 de julio de 2016

CODIGOS DE ERROR DE FICHEROS EN COBOL

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.
A pesar de todos éstos errores con algunos de ellos podriamos seguir trabajando, pero siempre es mejor corregirlos antes de que pasen a mayores.

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