Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Las tablas adicionales se generan o crean anexas relacionadas a las tablas MAESTRAS o
TRANSACCIONALES en el SEA.
Algunas tablas tienen la particularidad que pueden almacenar por cada registro en la tabla
materna uno (SIMPLE) o varios (MÚLTIPLES), por citar un ejemplo, a un cliente se le puede
crear una tabla adicional o grupo que pueda almacenar un registro adicional por cada cliente
(dirección personal, nombre del gerente, etc.) o un grupo que pueda contener varios registros
por cada cliente (Vehículos del cliente, hijos del cliente, etc), de acuerdo a la necesidad o
requerimiento del usuario.
Cada tabla está basada o creada sobre una tabla MATERNA sobre la cual va a contener
información. Normalmente – con algunas excepciones que se comentarán más adelante - las
tablas maternas son las tablas maestras y/o transaccionales del sistema y están representadas
por el nombre de la tabla: Clientes: SACLIE; Proveedores: SAPROV; Facturas: SAFAC;
Beneficiarios: SBBENE, etc.
Las tablas utilizadas por el SEA para el manejo y control de las TABLAS ADICIONALES son:
SAAGRUPOS : Contiene la información sobre todas las tablas adicionales que se han anexado
a la base de datos del SEA.
Campos:
CodTbl: Nombre o código de la tabla materna. (SACLIE, SAPROV, etc)
NumGrp: Número de tabla o grupo para la tabla materna. (1,2..N)
NombreGrp: Es el nombre del grupo tal y como está especificado en la tabla.
AliasGrp: Es el nombre que se le especificó para dicho grupo. Normalmente deberían
tener el mismo nombre pero por especificaciones del SQL, los nombre no
se almacenan con espacios en blanco, acentos, ñ u otros caracteres especiales
y de ahí la dualidad de NombreGrp y AliasGrp.
EsTrans: Indica si la tabla contiene uno o más registros por cada registro principal en
la tabla MATERNA. 0: un solo registro; 1: múltiples registros.
NMeses,
NMovim Campos previstos para controlar la cantidad de registros a guardar en los
grupos múltiples (no implementados).
SAACAMPOS: Contiene la información sobre todos y cada uno de los campos definidos en
las diferentes tablas adicionales o Grupos que hayan sido creadas.
Esta información es referencial para la utilización interna del SEA ya que
que todas y cada una de las tablas creadas por el sistema son explícitas
y sus campos y tipos de data se rigen de acuerdo al SQL.
Campos:
CodTbl: Nombre o código de la tabla materna. (SACLIE, SAPROV, etc)
NumGrp: Número de tabla o grupo para la tabla materna. (1,2..N)
NombreCpo: Es el nombre del campo tal y como está especificado en la tabla.
AliasCpo: Es el nombre que se le especificó para dicho campo. Normalmente deberían
tener el mismo nombre pero por especificaciones del SQL, los nombre no
se almacenan con espacios en blanco, acentos, ñ u otros caracteres especiales
y de ahí la dualidad de NombreGrp y AliasGrp.
TipoCpo: Es un valor numérico y representa el número utilizado por el SQL de acuerdo
al tipo de data que almacena.
SAOPER: Internamente el SEA utiliza esta tabla como referencia para saber cuales
tablas o grupos y en donde van a ser requerir en las diferentes operaciones .
Campos:
CodTbl: Nombre o código de la tabla materna. (SACLIE, SAPROV, etc)
NumGrp: Número de tabla o grupo para la tabla materna. (1,2..N)
NroOper: Número entero que representa el tipo de dato y/o el momento que
deberá ser solicitado el registro por el SEA.
Más adelante se proveen los diferentes tipos de operación utilizados por
el SEA.
PDtaReq: Campo no implementado.
De acuerdo a esta tabla, del SEA solicita la información referente a la tabla o grupo indicado.
Cada tabla será creada con el nombre de la tabla MATERNA y le será adicionado el número del
grupo.
De esta manera, la instancia número 1 podrá tener dos – o más - tablas o grupos cuyos
nombres serían SAPROD_1_01, SAPROD_1_02 y así sucesivamente.
En general, las tablas adicionales cuyas tablas maternas sean las tablas maestras del SEA llevan
el mismo código de la tabla maestra.
Tabla: SAPROV_01:
Campos:
CodProv: Código del proveedor
Razon_Social: Campo ‘Razón Social’ creado por el usuario
Adicionalmente, el sistema SEA crea un campo llamado FecTrn que contiene la fecha y hora en
que fue anexado el registro y el cual sería utilizado para mantener o retirar el registro de
acuerdo al tiempo especificado para mantener los registros.
Para la creación de una tabla adicional al maestro de bancos la cual contendría el nombre de
las sucursales (Campo SUCURSAL) y de las personas contacto (Campo: CONTACTO) en cada una
de ellas se utilizaría las siguientes instrucciones o queries de MSSQL.
TABLAS ADICIONALES:
La creación física de la tabla ser realiza de acuerdo a las reglas del SQL.
Dado que el SEA soporta dos tipos de grupos (SIMPLES y MULTIPLES) inicialmente dicha
creación varía de forma que los grupos SIMPLES o de un solo registro tienen como Campo
índice el mismo campo que la tabla MATERNA.
Eso significa que para la tabla de clientes el primary key se haría sobre el campo CodClie que es
el primary key de la tabla maestra de clientes.
Para soportar grupos múltiples, el sistema agrega el campo NroUnico que es un valor entero
auto incrementado y el primary key lo construye sobre los dos campos y agrega también un
tercer campo que guarda la fecha en que se realiza la transacción (FecTrn).
El conjunto de instrucciones o queries anteriores creó una nueva tabla de nombre SABANC_01
con los campos anteriormente especificados y posteriormente construyó un índice sobre los
campos CodBanc y NroUnico de tal manera que la tabla puede almacenar múltiples registros
por cada banco.
Adicionalmente, anexo a la tabla SAAOPER la información sobre dicha tabla que quedó
identificada como la operación 3000 que le dice al SEA que esta información deberá ser
requerida o solicitada al momento de estar actualizando el maestro de bancos.
Esta numeración es interna de Saint de Venezuela y puede ser documentada agregando y/o
creando tablas adicionales o grupos en los diferentes módulos verificando que número de
operación va asignando SEA a cada grupo creado. Al final de este documento se agregarán los
números de operaciones más utilizados.
-- Actualizando el diccionario
INSERT INTO SAFIEL
(TableName, FieldName, FieldAlias, DataType, Selectable, Searchable,
Sortable, AutoSearch, Mandatory)
VALUES ('SBBANC_01', 'CodBanc', 'Cod_Banco', 'dtString', 'T', 'T',
'T', 'F', 'F')
-- Actualizando el diccionario
Insert into SAACAMPOS
(CodTbl,NumGrp,NombCpo,AliasCpo,TipoCpo,Longitud,Requerido,CBusqueda)
Values('SBBANC',1,'Sueldo','Sueldo',106,35,0,0)