Goal
Given a DW its an independent database, a set of procedures must be written to periodically populate the DW with operational data.
The purpose of this pattern is to automatically create this procedures.
Spec
La base de este pattern serian las Transacciones marcadas como Datawarehouse transaction y que fueran Indicadores.
Despues el usuario selecciona cual es la tabla base.
El programa determina dada esa tabla base, todas las otras tablas que esten marcadas como intervinientes en la DW.
El algortimo a implementar seria el siguiente
Para cada registro no marcado de la tabla base (maximo detalle dentro de la DW).
Verifico que existan todas las dimensiones
Si tiene Errores
Marco Registro con ERROR
Salgo
Sino
Actualizo TABLA_sub_1
Actualizo Tabla_Sub2
.....
/* Todas las tablas con indicadores */
FinSi
Marco registro como procesado
FinPara
Sub Actualizo_tabla_sub_1
For each Clave de Sub_1
Ind1_sub1= ValorInd2 //Sumo el indicador a la tabla
Ind2_sub1= ValorInd2 //sumo el indicador de la tabla baswe a la tabla.
endfor
Endsub
Asi para todas las tablas.
Es facil de generar, pues ya lo hacemos con otro generador hecho con Genexus.