Está en la página 1de 5

Lenguaje Orientado a la Administracin Cobol Trabajo Prctico 3 Natanael

Manrique 38827

Archivos COBOL
En COBOL, un archivo es una coleccin de registros relacionados.
Un registro es una coleccin de campos usados para describir una entidad.
Uno o ms campos en conjunto forman un registro. El tamao acumulado de
todos los campos en un registro se denomina tamao del registro. Los
registros presentes en un archivo pueden ser de longitud fija o variable.
Los registros pueden ser fsicos, tambin denominados bloques,
correspondientes a la informacin existente en un dispositivo externo; o
lgicos, correspodientes a la informacin usada por el programa. En un
programa de COBOL, solo un registro puede ser manipulado en un
momento, y es el llamado registro lgico.
Un campo se emplea para indicar los datos almacenados acerca de un
elemento en particular. El nmero de caracteres en un campo es conocido
como el tamao del campo. Un campo puede tener los siguientes atributos:
claves primarias, que son campos nicos para cada registro, y son utilizados
para identificar un registro particular; claves secundarias que pueden o no
ser campos nicos y se emplean paara la bsqueda de datos relacionados; y
descriptores, que son los campos usados para describir una entidad.

Organizacin de los archivos


La organizacin de los archivos indica cmo los registros se organizan
dentro de un archivo. Existen diferentes tipos de organizaciones de archivos
para incrementar la eficioencia del acceso a los registros. Los distintos tipos
son:

Secuencial

Secuencial indexada

Relativa

Archivos secuenciales
Un archivo secuencial consiste en registros que son almacenados y
accedidos en orden secuencial. Los principales atributos de la organizacin
secuencial son:

Los registros debenen ser leidos en orden secuencial. Por ejemplo,


para leer el registro nmero 10, los 9 anteriores deben ser leidos.

Pgina 1 de 5

Lenguaje Orientado a la Administracin Cobol Trabajo Prctico 3 Natanael


Manrique 38827

Los registros son escritos en forma secuencial. Un nuevo registro no


puede ser insertado entre otros, solo puede insertarse al final del
archivo.

Luego de ubicar un registro en un archivo secuencial, no es posible


borrar, acortar o alargar el registro.

El orden de los registros, una vez insertados, nunca puede ser


cambiado.

La actualizacin de los registros es posible. Un registro puede ser


sobreescrito, si la longitud del nuevo registro es la misma que la del
viejo.

Tambin existe un tipo especial de archivo secuencial llamado archivo


secuencial de lnea, cuya nica diferencia es que ubica un par CR/LF
(Carriage Return/Line Feed ) al final de cada registro en el momento de la
creacin, y en su lectura se espera lo mismo; de modo que permite la
edicin de archivos mediante editores de texto simples. Cabe destacar que
por esto, los archivos secuenciales de lnea cuentan con dos caracteres
extra por cada registro.

Archivos secuenciales indexados


Un archivo secuencial indexado consiste en registros que pueden ser
accedidos secuencialmente, pero que adems pueden accederse de manera
directa. Consisten en dos partes:

Archivo de datos: contiene los registros en orden secuencial.

Archivo ndice: contiene la clave primaria y la direccin de cada


archivo de datos.

Los atributos principales de los archivos secuenciales indexados son:

Los registros pueden ser leidos en orden secuencial, como en


cualquier archivo secuencial.

Los registros pueden ser accedidos de manera aleatoria si se conoce


la clave primaria. De ser as, se usa el archivo ndice para conseguir la
direccin del registro, y as se lo accede en el archivo de datos.

Se mantiene ordenado al archivo de ndice de modo que relacione


siempre el valor de la clave primaria con la posicin del registro
correspondiente.

Pgina 2 de 5

Lenguaje Orientado a la Administracin Cobol Trabajo Prctico 3 Natanael


Manrique 38827

Archivos relativos
Un archivo relativo consiste en registros ordenados por su direccin relativa.
Sus principales atributos son:

Los registros pueden ser leidos en orden secuencial, como en


cualquier archivo secuencial.

Los registros pueden ser accedidos usando su clave relativa. La clave


relativa representa la ubicacin del registro en relacin a la primer
direccin del archivo.

Los registros pueden insertarse usando su clave relativa. La direccin


relativa se calcula usando la clave relativa.

Los archivos relativos proveen la forma ms rpida de acceder


registros.

La principal desventaja de este sistema de archivos es que si alguno


de los registros intermedios est vaco, igualmente ocupar espacio.

Archivos secuenciales

Definicin de archivos y formato


Antes de poder usar un archivo en un programa de COBOL, se debe
definir su organizacin: parcialmente en la ENVIRONMENT DIVISION,
donde se declara el nombre fsico del archivo; y parcialmente en la
DATA DIVISION, que es usada para describir la la organizacin de los
registros.
Ejemplo:

(a)
(b)
(c)

ENVIRONMENT DIVISION.
input-output section.
file-control.
select outfile assign "OUTFILE"
organization is sequential
status is file-error.

(d)
(e)

fd
01

DATA DIVISION.
outfile.
out-record.
03 rec-type
pic 99.
03 filler
pic xx.
03 amount
pic zz,zz9.99.
------

Pgina 3 de 5

variable declarations.

Lenguaje Orientado a la Administracin Cobol Trabajo Prctico 3 Natanael


Manrique 38827
working-storage section.
01 file-error
pic 99.

(f)

Donde cabe aclarar que:


a) Debe haber un SELECT por cada archivo. El nombre inmediatamente
despus de SELECT es el nombre que ser utilizado internamente por
el programa. Por otra parte, el nombre despus de ASSIGN es el
nombre fsico del archivo.
b) Como se mencion anteriormente, existen dos modos de organizacin
de archivos secuenciales: RECORD por defecto, y LINE; que se
declaran aqu.
c) La variable file-error contiene un cdigo de estado luego de cada
operacin de aechivos.
d) Debe indicarse un nmero de nivel (FD o SD) por cada archivo. El
nombre luego del nmero de nivel debe ser el mismo que el
declarado luego de SELECT.
e) Pueden declararse diferentes tipos de registro luego del nmero de
nivel. El archivo puede contener una combinacin de registros de
varios tipos.
f) La variable del cdigo de error debe declararse en la seccin workingstorage.

Verbos utilizados para el manejo de archivos

OPEN
Se debe ejecutar OPEN previamente al uso de cualquier archivo,
ya que es la manera en que se establece contacto entre el
programa y el archivo en disco.

CLOSE
Cuando un programa no necesita volver a acceder a un archivo, se
debe ejecuyar la sentencia CLOSE para cerrarlo, y as guardar los
cambios realizados. Adems, si se quiere cambiar el modo en que
un archivo es abierto, previamente debe cerrarse.

READ
Se emplea WRITE cuando se quiere leer una lne o un registro del
archivo. La primera vez que se ejecute READ luego de un OPEN, se

Pgina 4 de 5

Lenguaje Orientado a la Administracin Cobol Trabajo Prctico 3 Natanael


Manrique 38827

leer la primera lnea o el primer registro del archivo. Cada READ


sucesivo avanzar una posicin hasta alcanzar el final del archivo.
Cuando se intenta leer un registro luego de la ltima posicin del
archivo, la clusula AT END entra en efecto, por lo que se
dentendr la lectura.

WRITE
La instruccin WRITE se utiliza para insertar una nueva lne o
registro en un archivo.

Bibliografa:
http://www.csis.ul.ie/cobol/course/
http://www.tutorialspoint.com/cobol/cobol_quick_guide.htm
http://www.mainframes360.com/
http://www.b-u.ac.in/sde_book/bca_cobol.pdf
http://web.cse.ohio-state.edu/~sgomori/314/langref.html#bwz
igy3lr50 COBOL
igy5lr20 Language Reference
igy5pg20 Programming Guide

Pgina 5 de 5

También podría gustarte