DataTable

Un dataTable de EGL consta principalmente de los siguientes componentes:
Por ejemplo, un componente dataTable de mensajes de error podría incluir los siguientes componentes:

Un dataTable no se declara como se declara un elemento de registro o de datos. En cambio, cualquier código que pueda acceder a un dataTable puede tratar dicho componente como una variable. Para obtener información detallada sobre el acceso de componentes, consulte la sección Referencias a componentes.

Cualquier código que pueda acceder a un dataTable tiene la opción de hacer referencia al nombre de componente en una declaración de uso.

Tipos de dataTable

Algunos tipos de un dataTable son para la validación en tiempo de ejecución; concretamente, para contener datos para compararlos con la entrada de formulario. (Relacione el un dataTable con el campo de entrada cuando declare el componente de formulario). Existen tres tipos de dataTable de validación:
matchValidTable
La entrada del usuario debe coincidir con un valor de la primera columna del dataTable.
matchInvalidTable
La entrada del usuario debe ser distinta de cualquier valor de la primera columna del dataTable.
rangeChkTable
La entrada del usuario debe coincidir con un valor que está comprendido entre los valores de la primera y segunda columna de al menos una fila del dataTable. (Los valores inicial y final del rango están incluidos; la entrada del usuario es válida si coincide con un valor de la primera o segunda columna de cualquier fila).
Los otros tipos de dataTable son los siguientes:
msgTable
Contiene mensajes de tiempo de ejecución.
basicTable
Contiene otra información que se utiliza en la lógica del programa; por ejemplo, una lista de países y códigos relacionados.

Generación de dataTable

La salida de la generación de dataTable es un par de archivos, cada uno de los cuales tiene un nombre para el dataTable. Un archivo tiene la extensión .java y el otro tiene la extensión .tab. El compilador Java no procesa el archivo .tab, pero éste se incluye en la raíz de la estructura de directorios que contiene el paquete. Si, por ejemplo, el paquete es my.product.package, la estructura de directorios es my/product/package y el archivo .tab se encuentra en el directorio que contiene el subdirectorio my.

La salida generada para un componente dataTable varía en función del lenguaje de salida:
  • Si la salida se genera en Java, cada dataTable se genera como par de archivos, cada uno de los cuales tiene un nombre para el un dataTable. Un archivo tiene la extensión .java y el otro tiene la extensión .tab. El compilador Java no procesa el archivo .tab, pero éste se incluye en la raíz de la estructura de directorios que contiene el paquete. Si, por ejemplo, el paquete es my.product.package, la estructura de directorios es my/product/package y el archivo .tab se encuentra en el directorio que contiene el subdirectorio my.
  • Si se genera salida para COBOL, se genera un dataTable como un programa independiente, con la extensión de archivo .cbl. EGL también genera un archivo binario que tiene la extensión de archivo .tab. Este archivo no se compila; se lee tal cual durante la ejecución.
  • Si genera salida para CICS COBOL, cada dataTable se despliega en la región CICS de la misma manera que se despliega cualquier programa COBOL generado por EGL. No se especifica información adicional en ningún componente de opciones de enlace. Sin embargo, si se establece la opción del descriptor de construcción cicsEntries para crear definiciones de programa y transacción CICS, la salida incluye definiciones para los programas de dataTable generados; y en cualquier caso, estas definiciones deben estar disponibles en la región CICS.

No es necesario generar ningún dataTable si se está generando en un paquete en el que previamente se habían generado los mismos dataTable.

No es necesario generar los dataTable si se está generando en un directorio o en un paquete Java en el que previamente se habían generado los mismos dataTable.

Para ahorrar tiempo de generación cuando no necesite generar dataTable, asigne NO a la opción del descriptor de construcción genTables.

Propiedades de los dataTable

Puede establecer las siguientes propiedades:
  • Se incorpora un alias en los nombres de la salida generada. Si no se especifica un alias, en su lugar se utiliza el nombre de componente (o una versión truncada).
  • La propiedad shared indica si varios usuarios pueden acceder al dataTable. El valor por omisión es no.
  • La propiedad resident indica si el un dataTable permanece en memoria incluso cuando ningún programa utiliza el un dataTable. (El programa entra en la memoria cuando se accede al mismo por primera vez). El valor predeterminado es no. Puede especificar sólo si la especificación compartida es también .

Conceptos relacionados
Referencias a componentes

Condiciones de uso | Comentarios
(C) Copyright IBM Corporation 2000, 2005. Reservados todos los derechos.