Mayo 2012
Inicio Presentación

Contexto General

Preparación de Ambiente

Shell del Sistema

Proceso de Reproceso

Extracción

Integridad

Transformación

Respaldo-Eliminación

Carga

Otras Funcionalidades
2

Descripción del Proceso
Proceso que tiene la funcionalidad de volver a cargar un Pid en particular cuya Fecha CDD
asociada a dicho Pid aún se encuentre en el Modelo CDD Staging Oracle. Su funcionalidad es
reprocesar los PNR’s existentes en BPNR que no tengan asociado un Pid mayor al que se
requiere reprocesar. Este proceso es gatillado a través de Shell, el cual requiere como
parámetro de entrada la fecha CDD asociada al Pid que se quiere reprocesar.
3

Preparando el Ambiente de Ejecución
Para la ejecución del proceso de Reproceso se debe considerar :
 Configuración:
 Configuración de Parámetros de DSParams.
 Ejecución:
 Ejecución Shell de Proceso (/dsapp/DSNHBPNR/SHL/)
 SHELL_PROC_REPROCESO_BPNR.sh DD/MM/YYYY
DD/MM/YYYY corresponde a la variable paramétrica y al formato en que la Shell recibe la Fecha CDD que se
quiere reprocesar.
4
 Una vez ejecutada la Shell (SHELL_PROC_REPROCESO_BPNR.sh ), por pantalla se mostrará
información relacionada al status (online) del proceso, además se genera un archivo log con el detalle
de la ejecución.
5

Entre las validaciones que realizará la Shell de Reproceso son:

REVISIÓN UPTIME DE MÁQUINAS
 Revisa si la máquina DataStage se encuentra abajo o no responde
 Revisa si la máquina Oracle CDD se encuentra abajo o no responde
 Revisa si la máquina Oracle PNR se encuentra abajo o no responde

REVISIÓN UPTIME BASE DATOS
 Revisa si existe conectividad con las bases de Datos

REVISIÓN ESPACIO DISPONIBLE EN MÁQUINA DATASTAGE
 Revisa la disponibilidad de espacio en la carpeta /dsdata
 Revisa la disponibilidad de espacio en la carpeta /dsproject

EJECUCIÓN DEL JOB DE CONTROL
Gatilla al JobControl JBCTRL_EJECT_BPNR_PPAL_ONGOING que a su vez gatilla al JobControl
JBCTRL001_ADM_ACT_ONGOING_REPROCESO que es el encargado de orquestar el Reproceso.
6

Job Control (JBCTRL_EJECT_BPNR_PPAL_ONGOING)
Según el parámetro recibido desde la Shell de la cual está siendo ejecutado, el JobControl
JBCTRL_EJECT_BPNR_PPAL_ONGOING determina que tipo de proceso debe ejecutar. En este caso
el JobControl JBCTRL001_ADM_ACT_ONGOING_REPROCESO.
7
** Job Control (JBCTRL001_ADM_ACT_ONGOING_REPROCESO)
Para el Reproceso se destacan los procesos de Extracción, Integridad,
Transformación , Respaldo - Eliminación y Carga.
8
EXTRACCIÓN
9

Proceso que extrae toda la información de cada tabla funcional CDD válida para la homologación del
modelo BPNR bajo la partición que le compete a la Fecha CDD a reprocesar. Dicha información es
llevada a archivos Planos (Unix con nomenclatura archivo EXT_ACT_[abreviatura tabla funcional
]_NPID_[Valor Pid Nuevo].txt).
10

Etapa de Extracción: Comienza con el llamado al JBCTRL001_ADM_ACT_EXTRACCION, encargado
de actualizar la tablas de Control informando el inicio del proceso, Ejecuta la extracción, llamando al
sequence SEQ001_ADM_ACT_EJECUTA_EXTRACION, encargada de llamar de forma “Paralela” los
Job’s que realizarán la extracción desde el modelo CDD (Oracle). Una vez realizada la extracción, el
JBCTRL001_ADM_ACT_EXTRACCION actualiza las tablas de control informando fin del proceso.
Las tablas del modelo CDD utilizadas para el proceso de Extracción son:
RES
RESPASSENGER
RESSSR
RESTRAVELARRANGER
RESDATAINDEX
RESPASSENGERFT
RESFLIGHT
RESPASSENGERPHONE
RESPAXDOC
RESSUSPDOCAGMT
RESPASSENGEREMAIL
RESEMERGENCYCTC
RESUSPTIMELMT
11

SEQ001_ADM_ACT_EJECUTA_EXTRACION : Proceso encargado de llamar de forma “Paralela” los Job’s
que realizan la extracción.
12

Job’s de Extracción: Un JOB es el proceso más atómico dentro de la cadena de ejecución de cada una de las
etapas. Para la etapa de extracción, veremos como ejemplo la extracción de la Tabla RES del modelo Oracle
CDD, teniendo en cuenta que el resto de las extracciones usan la misma mecánica.

Parámetros del Job : Todos los parámetros están con un valor por defecto definido previamente en el
Administrador DataStage, donde algunos son modificados según la necesidad del proceso.
13
INTEGRIDAD
14

Proceso que cruza la información obtenida desde la Etapa de Extracción de cada tabla funcional CDD
con los PNR’s validos (previamente validados) a procesar. Dicha información es llevada a tablas de
trabajo (EXFTPWRK) y archivos planos (Unix con nomenclatura INT_ACT_[Abreviatura Tabla Funcional
que lo Requiere]_[Abreviatura Tabla Funcional que lo Genera]_NPID_[Valor Pid Nuevo].txt) según
complejidad de reglas de negocio y volumetría de datos.
15
Truncado de Integridad:
Antes de ejecutar la etapa de integridad, se deben truncar las tabla de Trabajo(EXFTPWRK), proceso que realiza el JobControl
JBCTRL001_ADM_ACT_TRUNCA_TBL_INTEGRACION, llamando al Job JB001_ADM_ACT_SP_TRUNCA_TABLA, donde,
para cada una de las tablas de trabajo, llama al procedimiento almacenado PRC_TRUNCA_TABLA_WRK y ejecuta
el borrado.
Tablas de Trabajo
Procedimiento almacenado (extracto)
Nombre : PRC_TRUNCA_TABLA_WRK
Usuario : EXFTPWRK
BEGIN
str_sql := 'TRUNCATE TABLE ' || P_OWNER || '.' || P_TABLA;
EXECUTE IMMEDIATE str_sql;
EXCEPTION
WHEN NO_DATA_FOUND THEN
str_msg
:= str_sql || ' -> ' || SQLERRM;
l_retorno := -2; -- TABLA VACIA
WHEN OTHERS THEN
str_msg
:= str_sql || ' -> ' || SQLERRM;
l_retorno := -1; -- ERROR SQL
END;
Finalizado correctamente el proceso de truncado, continuamos con la etapa de Integridad, de lo
contrario abortamos el proceso completo.
16

Etapa de Integridad :

Comienza con el llamado al JBCTRL002_ADM_ACT_INTEGRIDAD , encargado de actualizar las tablas de Control
informando el inicio del proceso. Posteriormente llama al sequence
SEQ002_ADM_ACT_EJECUTA_INTEGRIDAD, encargada de llamar de forma “Paralela” los Job’s que realizarán
la Integración. Finalmente actualiza las tablas de control informando el fin del proceso.

SEQ002_ADM_ACT_EJECUTA_INTEGRIDAD
17

Job’s de Integridad:

Un JOB es el proceso más atómico dentro de la cadena de ejecución de cada una de las etapas. Para la
etapa de Integridad veremos como ejemplo el job que realiza la integridad del archivo de texto
EXT_ACT_RVA_NPID_#$PS_NRO_PID#.txt, el cual fue generado en la etapa de extracción.
Todos los Job’s de integridad generan un Archivo de texto con los errores encontrados en el proceso.
18
TRANSFORMACION
Y
RESPALDO - ELIMINACIÓN
(Procesos “Paralelos”)
19
Transformación
20


Proceso que transforma la información de cada archivo plano integro ó tabla de trabajo generada en la
etapa de Integridad, según la lógica de negocios válida para el modelo activo. Dicha información es
llevada a archivos planos finales de carga (Unix con nomenclatura CRG_ACT_[Abreviación tabla
Funcional]_NPID_[Valor PID Nuevo].txt).
Cabe señalar que para la regla de negocio asociada a la correspondencia del código de Status del
Segmento ó el Ticket con la tabla paramétrica de códigos status del sistema, en caso de ser fallido,
genera un archivo de LOG asociado al Error.
21

Etapa de Transformación :
Comienza con el llamado al JBCTRL003_ADM_ACT_TRANSFORMACION , encargado de actualizar las tablas
de Control, informando el inicio del proceso. Posteriormente llama a la secuencia
SEQ003_ADM_ACT_EJECUTA_TRANSFORMACION, encargada de llamar de forma “Paralela” los Job’s que
realizarán la Transformación. Finalmente actualiza las tablas de control informando fin del proceso.
SEQ003_ADM_ACT_EJECUTA_TRANSFORMACION
22
Respaldo-Eliminación
23

Proceso que respalda la información de cada tabla funcional BPNR cuyos PNR’s existan dentro del cruce
con los PNR’s validos a procesar llevándolas a archivos Planos (Unix con nomenclatura RSP_[nombre de
tabla funcional]_NPID_[valor PID nuevo].txt). Dichos archivos se llevan a las tablas de respaldo
existentes en modelo EXFTPWRK. Finalmente se eliminan todos los PNR’s validos a procesar existentes
en el modelo activo BPNR en base a los atributos PNRLocatorID (PNDT_ID) y PNRCreateDate
(PNDT_FCH_CREAC) cargados en los archivos planos de respaldo.
24
Truncado Respaldo y Eliminación
Antes de ejecutar la etapa Respaldo - Eliminación, se deben truncar las tabla de Trabajo (EXFTPWRK).
Proceso que realiza el JobControl JBCTRL002_ADM_ACT_TRUNCA_TBL_RESP_ELIMINACION, llamando al Job
JB001_ADM_ACT_SP_TRUNCA_TABLA, donde, para cada una de las tablas de trabajo, llama al procedimiento
almacenado PRC_TRUNCA_TABLA_WRK y ejecuta el borrado
Tablas de Trabajo
Procedimiento almacenado (extracto)
Nombre : PRC_TRUNCA_TABLA_WRK
Usuario : EXFTPWRK
BEGIN
str_sql := 'TRUNCATE TABLE ' || P_OWNER || '.' || P_TABLA;
EXECUTE IMMEDIATE str_sql;
EXCEPTION
WHEN NO_DATA_FOUND THEN
str_msg
:= str_sql || ' -> ' || SQLERRM;
l_retorno := -2; -- TABLA VACIA
WHEN OTHERS THEN
str_msg
:= str_sql || ' -> ' || SQLERRM;
l_retorno := -1; -- ERROR SQL
END;
Finalizado correctamente el proceso de truncado, continuamos con la etapa de Integridad, de lo
contrario abortamos el proceso completo.
25

Etapa de Respaldo - Eliminación:
Comienza con el llamado al JBCTRL004_ADM_ACT_RESPALDO_ELIMINACION, encargado de actualizar las tablas de
Control informando el inicio del proceso. Posteriormente llama a la secuencia
SEQ004_ADM_ACT_EJECUTA_RSP_ELIMINACION, que es la encargada de llamar de forma “PARALELA” los Job’s
que realizarán el Respaldo y la Eliminación y finalmente actualiza las tabla de control informando fin del proceso.
SEQ004_ADM_ACT_EJECUTA_RSP_ELIMINACION
26
Respaldo-Eliminación
(JB001_RSP_ACT_RVA_001)

Job’s de Respaldo-Eliminación:

Un Job es el proceso más atómico dentro de la cadena de ejecución de cada una de las etapas. Para la etapa de
Respaldo-Eliminación veremos como ejemplo el job que realiza el respaldo de datos de la tabla PNR_DATOS del
Modelo Activo BPNR teniendo en cuenta que todos los jobs terminados en 001 aplican la misma lógica.
27
Respaldo-Eliminación
(JB001_RSP_ACT_RVA_002)

Job’s de Respaldo-Eliminación:

Un Job es el proceso más atómico dentro de la cadena de ejecución de cada una de las etapas. Para la etapa de
Respaldo-Eliminación veremos como ejemplo el job que realiza la eliminación de datos de la tabla PNR_DATOS del
Modelo Activo BPNR teniendo en cuenta que todos los jobs terminados en 002 aplican la misma lógica.
28
CARGA
29

Etapa final del proceso de Carga inicial y es la encargada de leer y cargar los archivos de carga generado
en la etapa anterior (Unix con nomenclatura CRG_ACT_[Abreviación tabla Funcional]_NPID_[Valor PID
Nuevo].txt) y llevarlos al modelo Activo.
30

Etapa de Carga :
Comienza con el llamado al JBCTRL005_ADM_ACT_CARGA , encargado de actualizar las tablas de
Control, informando el inicio del proceso. Posteriormente llama a la secuencia
SEQ005_ADM_ACT_EJECUTA_CARGA, encargada de llamar de forma “Paralela” los Job’s que
realizarán la Carga inicial. Finalmente actualiza las tablas de control informando el fin del proceso.
SEQ005_ADM_ACT_EJECUTA_CARGA
31
Carga
(JB001_CRG_ACT_RVA)

Job’s de Carga:

Un Job es el proceso más atómico dentro de la cadena de ejecución de cada una de las etapas. Para la etapa de Carga
veremos como ejemplo el job que realiza la carga del archivo de texto CRG_ACT_RVA_NPID_#$PS_NRO_PID#.txt
generado anteriormente en la etapa de Transformación.
32
Otras Funcionalidades
33
Otras funcionalidades
•

La administración de Cada SubSistema tiene capacidad de:
 Reintentos: (Valor Paramétrico, default 3) Durante la ejecución de los Job’s, una vez detectado la
caída de alguno de ellos, el proceso reintentará su ejecución el número de veces definido. Si después
de los reintentos definidos no logra ejecutarse correctamente, se da por abortada la ejecución del
Sistema.
 Recuperación: Capacidad de Recuperarse del SubSistema a partir del Job Abortado. Solo se debe
gatillar la misma Shell de Ejecución.

Adicionalmente la administración del sistema tiene la capacidad de: resetearse y generar mails
automáticos dependiendo de cada Job control.

Cada Proceso registrará las ejecuciones en las tablas de control internas, así como también en la
corporativa.
34