Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Hay tres verbos COBOL que se utilizan al definir tablas. Estos son:
� REDEFINES
� OCCURS
� INDEXED BY
Una vez que haya especificado los datos de la tabla, debe especificar cómo se
organizado en la tabla. El ejemplo de código 370.1.2 muestra el código que especifica
la organización de la tabla de cuentas.
REDEFINES
INDEXED BY
La cláusula INDEXED BY, codificada en el nivel 10, especifica el nombre del
índice de la tabla. En ACCOUNT-TABLE, el nombre del índice es ACCOUNT-INDEX..
El nombre del índice lo crea el programador, pero debe tener el mismo
prefijo que la tabla que lo utiliza. Recuerde que el índice mantiene la posición relativa
de la entrada de la tabla a la que se accede.
Tenga en cuenta que si bien un índice contiene un valor numérico, no se puede usar con
el
ADD, SUBTRACT, MULTIPLY, DIVIDE, COMPUTE, or MOVE verbos.
Un índice no es un campo numérico de visualización o numérico empaquetado, por lo
que no se puede utilizar
en sentencias aritméticas o moverse a otros campos numéricos. Puede ser usado
sólo con los verbos SET o PERFORM. Una vez que se define un índice para una tabla,
ese índice puede usarse solo con los datos de esa tabla
Finalmente, los 10 niveles especifican cómo las entradas de la tabla se separan en
campos de la tabla Esta información le dice a la computadora exactamente cómo redefinir
los datos de la tabla en campos individuales.
Observe que todos los nombres de datos en la tabla tienen el mismo prefijo que la tabla
nombre como se muestra en el siguiente código:
Tablas Externas
Las tablas externas se almacenan fuera del programa en discos y otrosmedios de
comunicación.
Las tablas se almacenan externamente cuando son grandes, contienen información que
cambia con frecuencia, y son utilizados por más de un programa.
Programas pueden acceder a tablas externas en los medios de almacenamiento donde
residen, cada tiempo que necesitan ser referenciados. O bien, la tabla se puede cargar en
Working-Storage y procesado interno.
La decisión de cargar una tabla externa en un programa se basa en el tamaño de la tabla
(cuántas entradas y bytes de
datos que contiene) y el número de veces que el programa necesita recuperar datos de la
tabla (frecuencia de acceso).
Se debe cargar una tabla externa en Working-Storage si el programa tiene que acceder a
él con frecuencia durante la ejecución.
Por ejemplo, supongamos que el la tabla externa tiene 250 entradas.
El programa que utiliza la tabla procesa un archivo de entrada. El archivo de entrada
contiene 1000 registros.
Cada registro de el archivo de entrada debe validarse con una entrada en la tabla externa.
En la Figura 370.1.3, puede ver cómo se carga una tabla que está almacenada en un
archivo en un programa.
Esto ocurre durante la ejecución del programa. Los datos de entrada de la tabla
es READ entry-by-entry INTO la definición de la tabla de entrada.
La definición de una tabla externa es muy similar a la definición de una tabla interna.
Excepto que no hay una cláusula REDEFINES en el nivel 05.
Esto es porque los datos de la tabla se almacenan fuera del programa, no hay nada
almacenado dentro del programa a redefinir.
Dado que las entradas de la tabla no están definidas en el almacenamiento de trabajo para
un tabla, debe cargar la tabla durante el tiempo de ejecución antes de poder acceder
la información allí almacenada.
Esta función se suele realizar una vez en el Párrafo de limpieza.
La Figura 370.1.4 ilustra la lógica de carga de tablas cuando la tabla que está cargando
se almacena en un medio externo, como un archivo:
Los pasos 5 a 7 se repiten hasta que se hayan cargado todas las entradas de la tabla y se
alcanza el final del archivo de la tabla.
Interna
Cuando las tablas son pequeñas, es más eficiente almacenarlas y acceder a ellas como
archivos internos de la tabla.
La lógica y los recursos de procesamiento requeridos para manipular el los datos en una
tabla interna son mínimos ya que los datos no tienen que cargarse en el programa desde
un dispositivo de almacenamiento externo.
Externa
Cuando una tabla será utilizada por más de un programa, es mejor codificarla
externamente para que la misma tabla no tenga que ser codificada y almacenada en
cada programa que lo utiliza.
Esto no sólo ahorra tiempo de desarrollo, sino también reduce el esfuerzo de
mantenimiento ya que los datos solo necesitan ser actualizados en un lugar.
Codificar la tabla externamente también asegura que todos los programas compartan
la información más actual.
Las tablas en los programas COBOL se utilizan para organizar la información con el fin
de facilitar el almacenamiento, la recuperación y la manipulación. A menudo se utilizan
en programas.
Recuperar ciertos valores, verificar información y acumular información.
Esta sección cubrió la terminología básica de la tabla y el arco para definir
tables en Working-Storage.
Las tablas internas se almacenan completamente dentro del programa. Las tablas
suelen ser codificadas internamente cuando son pequeñas, contienen datos que
cambian con poca frecuencia, y son utilizados por un solo programa.
Las tablas externas se almacenan fuera del programa en discos y otros medios de
comunicación.
Las tablas se codifican externamente cuando son grandes, contienen información
que cambia con frecuencia, y son utilizados por más de un programa.
Esto minimiza el esfuerzo de mantenimiento y asegura que todos los programas
deben
tener acceso a los datos de la tabla más actualizados.
Se pueden cargar tablas externas en tiempo de ejecución y se accede internamente o
se puede acceder a ellos en el medio de almacenamiento donde residen.
La definición de tabla para una tabla interna contiene la cláusula REDEFINES, para
redefinir los datos de la tabla.
La definición de la tabla identifica el nombre de la tabla, el nombre de una entrada de la
tabla, el número de entradas de la tabla, el nombre del índice y el orden y la longitud de
los campos de la tabla.
Dado que las tablas externas se almacenan fuera del programa, a veces es más
eficiente para cargarlos en tiempo de ejecución y colocarlos en Working-Storage.
Esto depende de la frecuencia de acceso y del tamaño de la tabla.
Cuándo Las tablas externas se cargan internamente, esta función generalmente se realiza
en el Housekeeping paragraph. (inicializa)
Section 2 Búsqueda e impresión de tablas
Introducción
La sección anterior demostró cómo definir tablas y cargar tablas en tu programa Esta
sección le mostrará cómo buscar una entrada en una tabla, y cómo procesar una tabla
secuencialmente para que pueda acceder a cada entrada en esa tabla. Haría esto cuando
quisiera imprimir una tabla.
Búsqueda de tablas
Buscar en una tabla significa recorrer una tabla para buscar una entrada en particular
eso quiere decir.
La computadora usa el índice para realizar un seguimiento de dónde se encuentra
la búsqueda. Siga la Tabla 370.2.1 mientras se explica este concepto.
Aunque el número de cuenta resulta ser la primera columna de la tabla, el el campo llave
(key) en realidad puede ser cualquier columna dentro de la tabla. Por ejemplo, la key
(llave) el campo podría haber sido Nombre del cliente de la cuenta o Fecha de apertura de
la cuenta.
Tabla 370.2.1 - Argumento de busqueda y campo clave
Ver Tabla 370.2.2. En una búsqueda en serie, la computadora busca en cada tabla
entrada, una a la vez, hasta que el argumento de búsqueda coincida con el campo key
(llave o clave).
la computadora usa el índice para realizar un seguimiento de dónde se encuentra en la
tabla. Cada vez la computadora verifica una entrada de la tabla y no encuentra ninguna
coincidencia, se agrega 1 al valor del índice y se accede a la siguiente entrada de la tabla.
Por ejemplo, supongamos que queremos saber la fecha de apertura de una cuenta
específica número. Usaríamos la siguiente lógica de búsqueda en serie:
1. Antes de que comience la búsqueda, el índice se establece en 1.
2. El programa busca cada entrada de la tabla hasta el customer's account (cuenta del
cliente) si encuentra el número, o hasta que se alcanza el final de la tabla. si
encuentra account number (cuenta del número), el programa comprueba la fecha de
apertura.
De lo contrario, el programa llama a una rutina de error que indica que no se encontró
ninguna coincidencia. en la tabla.
El ejemplo de código 370.2.1 muestra cómo se traduce esta lógica en código COBOL.
Hay dos verbos COBOL que se utilizan para realizar una búsqueda en serie:
SET y SEARCH.
SET
Antes de que pueda comenzar la búsqueda en serie, debe ESTABLECER el índice
de la tabla en 1, para coloque el puntero en la primera entrada de la tabla. Ya
deberías estar familiarizado con la declaración SET de codificar interruptores y
cargar tablas externas. Recuerde que el formato básico de la instrucción SET es:
1. Dado que está buscando una entrada de tabla específica, el nombre de la entrada de
la tabla es el nombre de datos especificado en la sentencia SEARCH.
esta es la misma tabla nombre de entrada especificado en la cláusula OCCURS de
la definición de tabla en Working-Storage.
2. La cláusula AT END le dice al programa qué hacer si toda la tabla está buscado y
no se encuentra ninguna coincidencia (sin éxito).
3. La cláusula WHEN especifica los criterios para una coincidencia (acierto) y le dice
al programa qué hacer cuando se encuentra una coincidencia.