Esta función permite crear y modificar las tablas de la base de datos describiendo sus características en el diccionario de datos del dossier. La validación de esta descripción permite crear la tabla en la base de datos o modificar sus características.

La gestión de las tablas permite definir la lista potencial de las tablas de la base. Los códigos de actividad permiten desactivar algunas tablas y/o índices.

Además de la estructura de la tabla, en el diccionario se definen:

  • Los vínculos a otras tablas (vínculos de integridad referencial). Estos vínculos se utilizan en las herramientas de cancelación, en la importación-exportación y en otras herramientas de este tipo.
  • La información que se propone por defecto en las pantallas creadas a partir de estas tablas (palabras clave de ayuda, información de formato, etc.).

Una tabla se identifica por su nombre (alfanumérico en mayúscula que empieza por una letra) y tiene una abreviatura. La creación de nuevas tablas en la fase de personalización supone que el nombre empiece por la letra X, Y o Z. El nombre y la abreviatura deben ser únicos en toda la base (no puede haber dos tablas con el mismo nombre ni con la misma abreviatura; esta última restricción no se aplica a las pantallas).

Una tabla puede gestionarse con la ayuda de un objeto siempre y cuando se creen las pantallas necesarias.

Aviso:
No se pueden añadir campos o particularidades específicas o verticales a las tablas de tipo "sistema" o "diccionario". El específico no se mantiene en caso de validación del dossier o de migración.

Requisitos previos

SEEREFERTTO Consulta la documentación de Puesta en marcha

Gestión de la pantalla

Una tabla se define con tres pestañas: una general, una de definición de campos y otra de definición de índices.

Cabecera

Pestaña General

Contiene la información general sobre la tabla y su gestión.

Pestaña Columnas

Esta pestaña permite definir todos los campos de la tabla en un cuadro desplegable.

En cada tabla, se pueden utilizar campos con un nombre normalizado que se actualizan automáticamente si existen por gestión de objeto. Estos campos son los siguientes:

 CREDAT y UPDDAT son, respectivamente, las fechas de creación y de última actualización.

 CRETIM y UPDTIM son, respectivamente, las horas de creación y de actualización.

 CREUSR y UPDUSR son los códigos de los usuarios que han creado, respectivamente, el registro y la última actualización.

 EXPNUM es un número secuencial que permite fechar los registros con respecto al módulo de importación/exportación (lo que permite exportar únicamente lo que se ha actualizado desde la última exportación).

También se puede añadir un sexto campo a cada tabla. Este campo se llama ENAFLG y corresponde a un indicador activo/inactivo. Si la tabla se gestiona con un objeto y este campo tiene un tipo de datos asociado, se realizan los siguientes controles en los campos de este tipo:

 La ventana de selección estándar del objeto llamado mediante la tecla de selección filtra automáticamente los registros inactivos.

 Un mensaje de error impide introducir directamente una clave inactiva con su código.

Esto no es, evidentemente, aplicable a la gestión del propio objeto (de lo contrario, no se podrían reactivar los registros declarados temporalmente inactivos).

Pestaña ͍ndice

Esta pestaña permite determinar los distintos índices definidos en la tabla.

Pestaña Auditar

Esta pestaña permite crear la parametrización que muestra, con desencadenantes de base de datos generados automáticamente, las inserciones, supresiones y modificaciones realizadas en una tabla almacenando, si es necesario, los valores anteriores y posteriores en campos específicos. Las modificaciones del registro se muestran cuando se verifica una de las condiciones de campo.  Esta traza se almacena en dos tablas específicas (AUDITH y AUDITL). Puede consultarse sin más o dar lugar a modificaciones automatizadas mediante el workflow.

El principio es el siguiente:

  • Si hay marcado al menos un indicador de auditoría (creación, modificación, supresión), cada operación de este tipo crea una línea en la tabla AUDITH, independientemente de si se han trazado los campos y se han realizado las modificaciones correspondientes.
  • Una vez que los campos aparecen en la tabla de campos, cualquier modificación del valor del campo que respete la condición proporcionada creará una línea en AUDITL.

La técnica de los desencadenantes permite trazar las operaciones aunque se realicen con un programa distinto a Adonix. Los datos de esta tabla se tienen en cuenta revalidando la tabla. En este momento es cuando se crean y/o modifican automáticamente los desencadenantes.

El procesamiento SUBTRIGGER contiene la descripción de los desencadenantes en función de la base de datos. El procesamiento SPETRIGGER está dedicado al específico para poder personalizar su descripción.

La información de esta pestaña se considera parte de la parametrización. El estándar no entrega ninguna parametrización de auditoría. No es necesario proteger las modificaciones realizadas en esta pestaña con códigos de actividad X, Y o Z. 

La auditoría está condicionada globalmente por el código de actividad AUDIT.

No se pueden auditar:

  • Las propias tablas de auditoría.
  • Los campos de tipo clob y blob.
  • Los campos con un tipo de datos AXX.

Los resultados de la auditoría se pueden consultar en las siguientes funciones:

Limitaciones

Hay restricciones en la creación de una tabla. Las restricciones son las siguientes:


Relativas a la clave:

  • Limitada a un máximo de 15 índices.
  • Limitada a un máximo de 16 campos por índice.
  • Limitada a un máximo de 250 caracteres por índice.

Relativas al registro:

  • Limitado a 32 KB en Oracle y SQL Server.
  • Limitado a 255 campos por tabla.
  • Limitado a 512 columnas (campo1*dimensión1 + campo2*dimensión2+... + campoN*dimensiónN )
  • Limitado a un campo de tipo blob/clob independientemente del tamaño, o a varios campos (en este caso, el tamaño total de la tabla está limitado a 64 KB).

Número de tablas abiertas:

  • Limitado a 255 tablas.

Informes

Por defecto, los informes siguientes están asociados a la función :

  DICOX3 : Diccionario tablas

  ATABLIST : Lista de las tablas

Pero esto se puede modificar por parametrización.

Barra de menú

Validación

Esta función permite crear o actualizar la tabla de la base de datos a partir del diccionario. Si la tabla no existe, se crea sin datos. Si existe, la estructura de la tabla se actualiza de acuerdo con la nueva descripción que proporciona el diccionario (se añaden los nuevos campos, se eliminan los campos suprimidos, se copian de nuevo los campos cuya estructura o dimensión ha cambiado: los registros se almacenan en la tabla). Se puede realizar una validación forzada revalidando por completo los datos y los índices. Si no se indica esta opción y no ha cambiado la estructura de la tabla, solo se crean de nuevo los índices.

Puede proporcionar valores por defecto a los campos de la tabla de los registros ya existentes. Para ello, utilice el botón "Proceso" que se describe a continuación.

Proceso

Permite crear un proceso temporal denominado WWINIXXX, donde XXX es la abreviatura de la tabla, que se ejecutará justo después de validar la tabla (si ya existe) para poder proporcionar valores por defecto a los campos de registro existentes. Al utilizar este botón, se propone un proceso por defecto y se pueden añadir instrucciones.

El proceso se compone de tres etiquetas:

 $OUVRE, que se ejecuta al principio, antes de comenzar la transacción de actualización, y que debe abrir al menos la tabla para la que se realiza la actualización (y eventualmente otras).

 $DEFAULT, que se ejecuta una vez iniciada la transacción, pero antes de leer el registro (hay que insertar al menos una instrucción Default File para que la tabla por defecto sea la tabla que se va a actualizar).

 $INIZON, que se ejecuta en cada registro justo antes de reescribirlo. En este subprograma es donde se pueden escribir las instrucciones de asignación de los campos de la tabla.

De esta forma, por ejemplo, si añade un campo numérico MICAMPO a la tabla y quiere que tenga el mismo valor que un campo OTRCAMPO ya existente en la tabla, superior en 1, se incluye en el proceso la siguiente línea:

           MICAMPO = OTRCAMPO + 1

Aviso:
El funcionamiento de este proceso es distinto al de las versiones anteriores de Adonix (por ejemplo, los utilizados en las versiones 2 y 3 de ADONIX ENTERPRISE). El proceso se ejecuta cuando acaba la fase de modificación de la estructura. Por lo tanto, si quiere renombrar un campo XXX llamándolo YYY, no es necesario realizar esta operación en dos etapas, guardando primero los dos campos en la base y realizando la asignación YYY=XXX en el proceso de inicialización. A continuación, se puede suprimir el campo XXX. Si intentáramos realizar esta operación en una sola etapa, el proceso no funcionaría y provocaría un error (el campo XXX no existiría). Por lo tanto, perdería su valor.

________________________________________________________________________________________________________