Componente DataTable en formato fuente EGL

Un componente dataTable se declara en un archivo EGL, que está descrito enProyectos, paquetes y archivos EGL. Este componente es un componente generable, lo que significa que debe estar en el nivel superior del archivo y debe tener el mismo nombre que el archivo.

Una dataTable se relaciona con un programa mediante la declaración de uso del programa o, en el caso de la única tabla de mensajes del programa, por la propiedad msgTablePrefix del programa. Una dataTable está relacionada con un pageHandler por la declaración de uso del pageHandler.

Este es un ejemplo de un componente dataTable:
     DataTable myDataTablePart type basicTable
       { 
         { shared = yes }
         myColumn1 char(10);
         myColumn2 char(10);
         myColumn3 char(10);

 
         { contents = [  
          [ "row1 col1", "row1 col2", "row1 " + "col3" ] ,
          [ "row2 col1", "row2 col2", "row2 " + "col3" ] ,  
          [ "row3 col1", "row3 col2", "row3 col3"      ]
                    ]
       } 
     end
El diagrama de sintaxis para un componente dataTable es el siguiente:

Diagrama de sintaxis de un componente dataTable
DataTable nombreComponenteTablaDatos ... end
Identifica el componente como una dataTable y especifica el nombre del componente. Para conocer las reglas de denominación, consulte Convenios de denominación.
basicTable (el valor por omisión)
Contiene información que se utiliza en la lógica del programa; por ejemplo, una lista de países y códigos relacionados.
matchInvalidTable
Se especifica en la propiedad validatorDataTable de un campo de texto para indicar que la entrada del usuario debe ser distinta a cualquier valor de la primera columna de la dataTable. La ejecución de EGL actúa de la siguiente manera como respuesta a una anomalía de validación:
  • Accede a la tabla referenciada en la propiedad validatorDataTable
  • Recupera el mensaje identificado por la propiedad validatorDataTableMsgKey específica del campo de texto
  • Visualiza el mensaje en el campo de texto identificado en la propiedad msgField específica del formulario
matchValidTable
Se especifica en la propiedad validatorDataTable de un campo de texto para indicar que la entrada del usuario debe coincidir con un valor de la primera columna de la dataTable. La ejecución de EGL actúa de la siguiente manera como respuesta a una anomalía de validación:
  • Accede a la tabla referenciada en la propiedad validatorDataTable
  • Recupera el mensaje identificado por la propiedad validatorDataTableMsgKey específica del campo de texto
  • Visualiza el mensaje en el campo identificado en la propiedad msgField específica del formulario
msgTable
Contiene mensajes de ejecución. Se presenta un mensaje bajo la siguiente circunstancia:
  • La tabla es la tabla de mensajes del programa. La asociación de tabla y programa se produce si la propiedad del programa msgTablePrefix hace referencia al prefijo de tabla, que es el primero de los cuatro caracteres en el nombre de la dataTable. El resto del nombre es uno de los códigos de idioma nacional de la tabla siguiente.

    Idioma Código de idioma nacional
    Portugués de Brasil PTB
    Chino simplificado CHS
    Chino tradicional CHT
    Inglés, mayúsculas ENP
    Inglés, EE.UU. ENU
    Francés FRA
    Alemán DEU
    Italiano ITA
    Japonés, Katakana (juego de caracteres de un solo byte) JPN
    Coreano KOR
    Español ESP
    Alemán de Suiza DES
  • El programa recupera y presenta un mensaje mediante uno de dos mecanismos, tal como se describe en ConverseLib.displayMsgNum y ConverseLib.validationFailed.
rangeChkTable
Se especifica en la propiedad validatorDataTable de un campo de texto para indicar que la entrada del usuario debe coincidir con un valor se esté entre los valores de la primera y la segunda columnas de, como mínimo, una fila de tabla de datos. (El rango es inclusivo; la entrada del usuario es válida si coincide con un valor de la primera o segunda columna de cualquier fila.) La ejecución de EGL actúa de la siguiente manera como respuesta a una anomalía de validación:
  • Accede a la tabla referenciada en la propiedad validatorDataTable
  • Recupera el mensaje identificado por la propiedad validatorDataTableMsgKey específica del campo de texto
  • Visualiza el mensaje en el campo identificado en la propiedad msgField específica del formulario
"alias"
Una serie incorporada a los nombres de la salida generada. Si no se especifica un alias, en su lugar se utiliza el nombre de dataTable .
shared
Indica si múltiples programas de la misma unidad de ejecución utilizan la misma instancia de una dataTable. Los valores válidos son yes y no (valor por omisión). Si el valor de shared es no, cada programa de la unidad de ejecución tendrá una copia exclusiva de la dataTable.

La propiedad indica si todos los programas de la misma unidad de ejecución utilizan la misma instancia de una dataTable. Si el valor de shared es no, cada programa de la unidad de ejecución tendrá una copia exclusiva de la dataTable.

Los cambios realizados durante la ejecución son visibles para cada programa que tenga acceso a la dataTable y los cambios permanecen hasta que se descarga la dataTable. En la mayoría de casos, el valor de la propiedad resident (descrito más adelante) determine cuándo se descarga la dataTable; para conocer más detalles, consulte la descripción de esa propiedad.

resident
Indica si la dataTable se conserva en la memoria incluso después de finalizar cada programa que ha accedido a la dataTable.

Los valores válidos son yes y no. El valor predeterminado es no.

Si establece la propiedad resident en , la dataTable se comparte independientemente del valor de shared.

Las ventajas de que la dataTable sea residente son las siguientes:
  • La dataTable retiene los valores grabados en ella por los programas que se ejecutaron anteriormente
  • La tabla está disponible para su acceso inmediato sin proceso de carga adicional

Una dataTable residente permanece cargada hasta que la unidad de ejecución finaliza. Una dataTable no residente, no obstante, se descarga cuando el programa que la utiliza finaliza.

Nota: Una dataTable se carga en la memoria (si es necesario) en el primer acceso a un programa, no cuando la ejecución de EGL procesa una declaración de uso.
content
El valor de las células de la dataTable, cada una de las cuales es de una de las siguientes clases:
  • Un literal numérico
  • Un literal de serie o una concatenación de literales de serie

La clase de contenido de una fila dada debe ser compatible con los campos de estructura de nivel superior, cada uno de los cuales representa una definición de columna.

campoEstructura
Un campo de estructura, como se describe en la sección Campo de estructura en formato fuente EGL.

Conceptos relacionados
DataTable
Proyectos, paquetes y archivos EGL
Unidad de ejecución

Consulta relacionada
Convenios de denominación
Elemento de estructura en el formato fuente de EGL
displayMsgNum()
validationFailed()
Declaración use

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