Está en la página 1de 7

Tablas Adicionales Saint Enterprise Administrativo (SEA).

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 (MLTIPLES), 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 (direccin personal,
nombre del gerente, etc.) o un grupo que pueda contener varios registros
por cada cliente (Vehculos del cliente, hijos del cliente, etc), de acuerdo a la
necesidad o requerimiento del usuario.
A cada tabla de un maestro (Clientes, Proveedores, Productos, Operaciones,
Bancos, Beneficiarios, etc) se le puede anexar una o ms tablas adicionales.
Cada una de estas tablas son llamadas o interpretadas por el SEA como
Grupos.
Cada tabla est basada o creada sobre una tabla MATERNA sobre la cual va
a contener informacin. Normalmente con algunas excepciones que se
comentarn ms adelante - las tablas maternas son las tablas maestras y/o
transaccionales del sistema y estn representadas por el nombre de la
tabla: Clientes: SACLIE; Proveedores: SAPROV; Facturas: SAFAC;
Beneficiarios: SBBENE, etc.
Adicionalmente al control de las tablas adicionales, el SEA mantiene un sub
sistema de DICCIONARIO para la utilizacin en reportes que deber ser
actualizado cada vez que se agrega o se retira un grupo o un campo de las
tablas adicionales.
Dicho diccionario est conformado por las tablas SATABL y SAFIEL.
Las tablas utilizadas por el SEA para el manejo y control de las TABLAS
ADICIONALES son:
SAAGRUPOS : Contiene la informacin sobre todas las tablas adicionales
que se han anexado a la base de datos del SEA.
Campos:
CodTbl:
Nombre o cdigo de la tabla materna. (SACLIE, SAPROV,
etc)
NumGrp:
Nmero 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 deberan
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 ms registros por cada registro
principal en
la tabla MATERNA. 0: un solo registro; 1: mltiples registros.

NMeses,
NMovim
Campos previstos para controlar la cantidad de registros a
guardar en los
grupos mltiples (no implementados).
SAACAMPOS:
Contiene la informacin sobre todos y cada uno de los
campos definidos en
las diferentes tablas adicionales o Grupos que hayan sido
creadas.
Esta informacin es referencial para la utilizacin interna del
SEA ya que
que todas y cada una de las tablas creadas por el sistema son
explcitas
y sus campos y tipos de data se rigen de acuerdo al SQL.
Campos:
CodTbl:
Nombre o cdigo de la tabla materna. (SACLIE, SAPROV,
etc)
NumGrp:
Nmero 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 deberan
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 numrico y representa el nmero utilizado por el
SQL de acuerdo
al tipo de data que almacena.

Longitud:
caso de no

Los tipos soportados son:


Entero:
56
Decimal:
106
Texto:
167
Fecha:
61
Memorando: 35
Es la longitud mxima del campo cuando as se requiriese, en
Requerirse, el sistema genera un valor no relevante. Para las

cadenas de
Caracteres es el mximo nmero de caracteres a guardar.
Requerido: Indica si el campo debe ser introducido con carcter de
obligatoriedad al
momento de ser solicitado. Es un valor referencial ya que es
utilizado
internamente por el SEA y no crea ningn Trigger adicional en
la tabla
como tal. 0: No es obligatorio; 1: Tiene carcter obligatorio.
CBusqueda: 0: No ser utlizado como campo de bsqueda; 1: Ser utilziado
como

Campo de bsqueda.
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:
etc)
NumGrp:
NroOper:
que

Nombre o cdigo de la tabla materna. (SACLIE, SAPROV,


Nmero de tabla o grupo para la tabla materna. (1,2..N)
Nmero entero que representa el tipo de dato y/o el momento

deber ser solicitado el registro por el SEA.


Ms adelante se proveen los diferentes tipos de operacin
utilizados por
el SEA.
PDtaReq:
Campo no implementado.
De acuerdo a esta tabla, del SEA solicita la informacin referente a la tabla o
grupo indicado.
Tipos de operacin soportados por el SEA.
NroOper
grupo
100
110
200
300
310
400
500
600
610
700
800
3000
3010
3100
3200
330
335
340
350
355
360

Sitio y/o accin donde se incluye o modifica la tabla o


Archivo maestro de proveedores
Compras
Depsitos
Inventario
Operaciones de Inventario
Vendedores
Servicios
Clientes
Ventas
Servidores
Operaciones
Bancos
Transacciones de bancos
Cuentas (Bancos)
Beneficiarios
Productos Ventas
Productos Compras
Productos Operaciones de Inventario
Servicios Ventas
Servicios Compras
Servicios Operaciones de Inventario

CREACION DE TABLAS ADICIONALES:

Cada tabla ser creada con el nombre de la tabla MATERNA y le ser


adicionado el nmero del grupo.
La tabla adicional SACLIE_01 correspondera al grupo 01 a la tabla de
clientes tendra como primer campo el cdigo del cliente (CodClie) seguida
de los campos definidos por el usuario.
Las tablas de inventario o productos forman el nombre utilizando el nombre
de la tabla materna SAPROD ms el nmero de la instancia. Para formar el
nombre principal al cual se le adiciona el nmero del grupo, de tal manera
que cada instancia puede tener uno o ms grupos.
De esta manera, la instancia nmero 1 podr tener dos o ms - tablas o
grupos cuyos nombres seran 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 cdigo de la tabla maestra.
Ejemplo para una tabla o grupo de un solo registro (SIMPLE):
Tabla: SAPROV_01:
Campos:
CodProv:
Cdigo del proveedor
Razon_Social:
Campo Razn Social creado por el usuario
En el caso de grupos de varios registros (MLTIPLES) la tabla se construye
agregando un campo entero del tipo Auto incrementado (NroUnico) que
formara parte del ndice de la tabla.
Este campo NroUnico permite la introduccin de VARIOS registros por cada
record de la tabla maestra o MATERNA.
Adicionalmente, el sistema SEA crea un campo llamado FecTrn que
contiene la fecha y hora en que fue anexado el registro y el cual sera
utilizado para mantener o retirar el registro de acuerdo al tiempo
especificado para mantener los registros.
Para la creacin de una tabla adicional al maestro de bancos la cual
contendra el nombre de las sucursales (Campo SUCURSAL) y de las
personas contacto (Campo: CONTACTO) en cada una de ellas se utilizara
las siguientes instrucciones o queries de MSSQL.

TABLAS ADICIONALES:
Insert into SAAGRUPOS
(CodTbl,NumGrp,NombreGrp,AliasGrp,EsTrans,NMeses,NMovim)
Values('SBBANC',1,'Datos_confidenciales','Datos confidenciales',0,0,0)
Insert into SAAOPER
(CodTbl,NumGrp,NroOper,PDtaReq)
Values('SBBANC',1,3000,0)

Insert into SATABL


(TableName,
TableAlias)
Values('SBBANC_01',
'Bancos:Datos_confidenciales')

La creacin fsica 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 creacin vara 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 hara sobre el
campo CodClie que es el primary key de la tabla maestra de clientes.
Para soportar grupos mltiples, 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 tambin un tercer campo que guarda la fecha en que
se realiza la transaccin (FecTrn).
-- Creacin de la tabla un solo registro (SIMPLE)
CREATE TABLE [dbo].SBBANC_01 (
CodBanc VARCHAR(15) NOT NULL
ALTER TABLE SBBANC_01 WITH NOCHECK
ADD CONSTRAINT SBBANC_01_IX0
PRIMARY KEY CLUSTERED (CodBanc) ON [PRIMARY]
-- Creacin de la tabla de varios registros (MULTIPLE)
CREATE TABLE [dbo].SBBANC_01 (
CodBanc VARCHAR(15) NOT NULL,
NroUnico INT IDENTITY (1,1) NOT NULL,
FecTrn DATETIME NOT NULL)
ALTER TABLE SBBANC_01 WITH NOCHECK
ADD CONSTRAINT SBBANC_01_IX0
PRIMARY KEY CLUSTERED (CodBanc ,NroUnico) ON [PRIMARY]
Insert into SAAOPER
(CodTbl,NumGrp,NroOper,PDtaReq)
Values('SBBANC',1,3000,0)

ACUTALIZACION DEL DICCIONARIO DE REPORTES:


Delete SATABL Where (TableName='SBBANC_01')
Delete SAFIEL Where (TableName='SBBANC_01')
Insert into SATABL
(TableName,
TableAlias)
Values('SBBANC_01',
'Bancos:Datos_confidenciales')

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 mltiples registros por cada
banco.

Adicionalmente, anexo a la tabla SAAOPER la informacin sobre dicha tabla


que qued identificada como la operacin 3000 que le dice al SEA que esta
informacin deber ser requerida o solicitada al momento de estar
actualizando el maestro de bancos.
Esta numeracin es interna de Saint de Venezuela y puede ser
documentada agregando y/o creando tablas adicionales o grupos en los
diferentes mdulos verificando que nmero de operacin va asignando SEA
a cada grupo creado. Al final de este documento se agregarn los nmeros
de operaciones ms utilizados.
Agregando campos a la tabla adicional:
-- Actualizando la tabla SBBANC_01 (Agregando campo entero INT)
Alter table SBBANC_01
ADD [Edad] INT NULL
-- Agregando las especificaciones del campo
Insert into SAACAMPOS
(CodTbl,NumGrp,NombCpo,AliasCpo,TipoCpo,Longitud,Requerido,CBusqueda)
Values('SBBANC',1,'Edad','Edad',56,35,0,0)
-- 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')
INSERT INTO SAFIEL
(TableName, FieldName, FieldAlias, DataType, Selectable, Searchable,
Sortable, AutoSearch, Mandatory)
VALUES ('SBBANC_01', 'Edad', 'Edad', 'dtLongInt', 'T', 'T', 'T', 'F',
'F')
-- Actualizando la tabla SBBANC_01 (Agregando campo decimal)
Alter table SBBANC_01
ADD [Sueldo] DECIMAL(28,3) NULL
Insert into SAACAMPOS
(CodTbl,NumGrp,NombCpo,AliasCpo,TipoCpo,Longitud,Requerido,CBusqueda)
Values('SBBANC',1,'Edad','Edad',56,4,0,0)
-- Actualizando el diccionario
Insert into SAACAMPOS
(CodTbl,NumGrp,NombCpo,AliasCpo,TipoCpo,Longitud,Requerido,CBusqueda)
Values('SBBANC',1,'Sueldo','Sueldo',106,35,0,0)
INSERT INTO SAFIEL (TableName, FieldName, FieldAlias, DataType,
Selectable, Searchable, Sortable, AutoSearch, Mandatory)
VALUES ('SBBANC_01', 'Sueldo', 'Sueldo', 'dtDouble', 'T', 'T', 'T',
'F', 'F')
-- Actualizando la tabla SBBANC_01 (Campo caracteres VARCHAR)
Alter table SBBANC_01
ADD [Cargo] VARCHAR(35) NULL

Delete SAACAMPOS Where (CodTbl='SBBANC') And (NumGrp=1)


Insert into SAACAMPOS
(CodTbl,NumGrp,NombCpo,AliasCpo,TipoCpo,Longitud,Requerido,CBusqueda)
Values('SBBANC',1,'Edad','Edad',56,4,0,0)
Insert into SAACAMPOS
(CodTbl,NumGrp,NombCpo,AliasCpo,TipoCpo,Longitud,Requerido,CBusqueda)
Values('SBBANC',1,'Sueldo','Sueldo',106,13,0,0)
Insert into SAACAMPOS
(CodTbl,NumGrp,NombCpo,AliasCpo,TipoCpo,Longitud,Requerido,CBusqueda)
Values('SBBANC',1,'Cargo','Cargo',167,35,0,0)
INSERT INTO SAFIEL (TableName, FieldName, FieldAlias, DataType,
Selectable, Searchable, Sortable, AutoSearch, Mandatory)
VALUES ('SBBANC_01', 'Cargo', 'Cargo', 'dtString', 'T', 'T', 'T', 'F',
'F')

También podría gustarte