Cobol en español
MANUALES
TEMATICOS
BASES DE DATOS
COBOL / WINDOWS
COBOL / UNIX
HISTORIA /DOCS
PROGRAMANDO-Dos
TRUCOS
AÑO 2.000
TEORIA POWCOB-3
PROG. POWCOB-3
TEORIA POWCOB-5
PROG. POWCOB-5
OCX-ESCOBOL
Manuales
TEMARIOIntroducción
Identification Division
Environment Division
Data Division
Procedure Division
Instr. de Cálculo
Instr. de Archivos
Instr. de Pantalla
Instr. de Variables
Instrucción Perform

Instr. de Archivos

página(s) : 2/5
(6114 palabras totales en este texto)
(124090 Lecturas)   Versión Imprimible



CLOSE, ésta es la instrucción contraria a OPEN, es decir termina la conexión establecida con el archivo, a partir del momento que aparezca ésta instrucción el archivo no estará disponible para operar con él, hasta la próxima vez que se abra. Obviamente antes de cerrarlo debe de estar abierto.

CLOSE nombre de archivo ( WITH LOCK) (WITH NO REWIND )

El nombre de archivo corresponderá a algún archivo abierto anteriormente.

Las opciones WITH LOCK y WITH NO REWIND , tienen la misma explicación que la vista en la orden OPEN.

...
PROCEDURE DIVISION.
INICIO.
       OPEN INPUT ARTICULOS.
       OPEN I-O CLIENTES
       OPEN EXTEND IMPRE.
...
...
...
CERRAR.
       CLOSE ARTICULOS CLIENTES IMPRE.
...

Nota:
Apuntaré que si finalizamos el programa con la sentencia STOP RUN, que luego veremos, los archivos que estuvieran abiertos se cierran automáticamente aunque no se haya especificado la orden CLOSE. Anque siempre es preferible utilizarla, ya que puede haber algunos compiladores mas antiguos que no los cierren.

Me gustraría destacar de éstas dos instrucciones vistas que lo mas normal es no utilizar ninguna de las opciones, es decir solo abrir de una manera el archivo para su uso y una vez hayamos acabado con él, cerrarlo.



READ, es la instrucción que utilizamos para leer registros de un archivo, debe de estar abierto. Con ella conseguimos que los datos referentes al registro accedido queden en la descripción de dicho fichero, es decir, conseguimos que los campos declarados en la FD, tengan el valor correspondiente al registro leido.

La sentencia READ, se utiliza para leer ficheros secuanciales o indexados, o para leer indexados de manera secuencial, por lo que su sintaxis tiene dos formatos principales.

Formato para leer ficheros de manera secuncial. (Indexados o secuenciales)

READ nombre de archivo ( NEXT/PREVIOUS RECORD) ( INTO descripción) (AT END / NO AT END sentencia) END-READ

nombre de archivo corresponderá a algún archivo abierto anteriormente.

La opción NEXT RECORD, indica que se va a leer el siguiente registro y es la que se toma por defecto, ya que, cuando estamos leyendo un archivo de forma secuencial, éste leerá registros uno tras otro, hasta llegar al final.

La opción PREVIOUS RECORD leería el registro anterior. Esta opción es la única que no es válida para ficheros secuenciales de éste formato.

La opción INTO, indica cual de las descripciones de registro que hayamos podido declarar será la que almacene los datos del registro leido. Tenemos que tener en cuenta que Cobol nos permite mantener mas de una descripción de registro para un mismo archivo. Si tuvieramos mas de una, ésta sería la opción para indicarle cual es la que queremos utilizar en ésta lectura.

La sentencia que va después de AT END , indica que debe de hacer el programa al llegar al final del fichero. Puede ser cualquier orden de cobol, pero es evidente que si volvemos a leer una vez llegado al final, producirá un error.

...
PROCEDURE DIVISION.
INICIO.
       OPEN INPUT ARTICULOS.
LECTURA.
      READ ARTICULOS NEXT RECORD AT END GO CERRAR.
...
...
...
      GO LECTURA.
CERRAR.
       CLOSE ARTICULOS.
...

Nota:
Si bien este formato nos sirve para leer cualquier tipo de archivo de manera secuencial, en el caso de que el archivo fuera secuencial, éste solo se podría leer así.

Existen muchas ocasiones en que un archivo indexado nos interesa leerlo de manera secuencial. Si lo hicieramos éste sería su formato, además en éste caso podriamos leerlo tanto del principio al final con la opción NEXT, como del final al principio con la opción PREVIOUS.

Para poder leer un fichero indexado de manera secuencial, deberemos de haber especificado en la SELECT, que su acceso va a ser DYNAMIC o SEQUENTIAL.


(1/5) Anterior |    Inicio de Página    | Siguiente (3/5)
Sitio desarrollado con PHP-Nuke. Todos los Derechos Reservados.
PHP-Nuke es un Software Libre realizado con licencia GNU/GPL.
Página creada en Junio de 1.998, con el proposito de difundir el lenguaje Cobol en nuestra lengua.
Andres Montes [98/11]