Proceso extracción customizado metadato en Keralty
Para el proceso de extracción de metadato desde EBS onpremise hasta PBCS en Keralty se realizaron los siguientes 3 pasos principales:
- Extracción
- Modificación
- Importación
Vamos a detalle:
- Extracción de metadato desde EBS de cada dimensión:
- Custom script jython: Consutla SQL para extraer estructura de EBS
- Consulta SQL y se guarda en tabla custom en BD de Hyperion
SELECT DISTINCT F.FLEX_VALUE_SET_NAME PUC,
C.FLEX_VALUE CUENTA,
replace(CD.DESCRIPTION, Chr(39), '') DESCRIPCION
FROM APPS.FND_FLEX_VALUE_NORM_HIERARCHY JH,
APPS.FND_FLEX_VALUES_TL CD,
APPS.FND_FLEX_VALUES C,
APPS.FND_FLEX_VALUE_SETS F,
APPS.FND_ID_FLEX_STRUCTURES_VL
WHERE F.FLEX_VALUE_SET_ID in
(select F.FLEX_VALUE_SET_ID
from APPS.FND_FLEX_VALUE_SETS F
WHERE F.FLEX_VALUE_SET_NAME LIKE '%KER_USA_GL_CUENTA%' AND REGEXP_LIKE(c.flex_value, '^[[:digit:]]+$'))
AND C.FLEX_VALUE_SET_ID = F.FLEX_VALUE_SET_ID
AND CD.FLEX_VALUE_ID = C.FLEX_VALUE_ID
AND JH.FLEX_VALUE_SET_ID(+) = C.FLEX_VALUE_SET_ID
AND JH.PARENT_FLEX_VALUE(+) = C.FLEX_VALUE
ORDER BY 1, 2
- Ejecuta PA para guardar info extraida, realizando modificación de miembros (mapeos) y filtros de los mismos:
- Guarda en un archivo local .csv:
consultaDimcuentas = "SELECT cuenta, parent, ALIAS FROM dimcuentas order by cuenta "fdmAPI.logInfo("envio la consulta: "+consultaDimcuentas)
query2.execute(consultaDimcuentas)
resultConsultaDimcuentas=query2.fetchall()
c = csv.writer(open('/mnt/hyp/Oracle/FDMEE/METADATA_PBCS_US/MET_Cuentas.csv', 'wb'))
for x in resultConsultaDimcuentas:
c.writerow(x)
- Modificación de archivos para dimensiones:
- AftExportToDat: Aqui procesamos la lectura de la tabla anteriormente procesada y tomamos el .dat que genera FDM, se filtra por el nombre del archivo que se desea cargar y se construye el formato como lo espera PBCS, con un encabezado específico, separador y demás para dejarlo en un archivo .csv:
- BefLoad: Ejecuta epmautomate para importar nuevo metadato en PBCS
Con el fin de mantener jerarquías y cambios realizados anteriormente por el equipo funcional, este proceso se hace en 3 pasos:
- Descargar metadato actual de PBCS
- Importar nuevo metadato extraido de EBS
- Importarmetadato extraido en paso1 (actual PBCS)
- Importación de metadato en PBCS: 3 jobs ejecutados en PBCS de manera automática por EPM automate:
Funcionamiento:
- Importación: Ejecución srcipt python:
- Exportación: Ejecución regla de carga:
Al ejecutar, se debe seleccionar el nombre del archivo que va a realizar el proceso en el script de la ejecucuón: