Академический Документы
Профессиональный Документы
Культура Документы
REGLA MADRE
recupera datos de
REGLA HIJA
RULE
VIEW
WIND
INPUT_VIEW_B
OUTPUT_VIEW_B
HPS_EVENT_VIEW
VIEW
FLD
FLD
Cuando en CLIENTE_DP_CON se hace referencia a un campo de la vista CLIENTE_DP. La calificacin completa no evita la duda
NOMBRE of CLIENTE_DP
RULE
VIEW
RULE
CLIENTE_LS_CON CLIENTE_LS_CON_I CLIENTE_DP FLD FLD NOMBRE CLIENTE_ID NOMBRE of CLIENTE_DP of CLIENTE_LS_CON_I
VIEW
VIEW
VIEW
Visualizar en el campo APELLIDO de la ventana _LA, el campo APELLIDO introducido en la ventana _DP Para ello mover el campo de la ventana ( _DP_W) a un campo de la vista de entrada de la regla _LA_CON (_LA_CON_I) Crear la Vista _LA_CON_I si es necesario y colgarle los campos necesarios Despus, y antes de visualizar la ventana, mover el campo de la _LA_CON_I a la vista de la ventana LA (_LA_W)
Literal
Numrico
Set
Valor
Siempre al principio de la regla, en el bloque: dcl ... enddcl L_ por delante para nombrar a una vble. local No permite inicializar en la definicin Varias vbles. con la misma definicin pueden separarse con comas Cada definicin termina en ';' La clasula 'like' copia la definicin de un objeto de la jerarqua (vista o campo) Ejemplos: L_APELLIDOS like APELLIDOS; L_CURSO,L_ID smallint;
La clasula 'view contains' declara una vble. como vista El nmero de ocurrencias, si tiene, se indica entre parntesis Ejemplos: dcl
enddcl
CLIENTE_DP_CON
CLIENTE_DP_ACT CLIENTE_LS_CON CLIENTE_LS _CON_I CLIENTE_DP_V CLIENTE_LS_CON_O
RULE
VIEW
VIEW
VIEW VIEW
Global View
Global View
VIEW VIEW
CHAR_FIELD
PIC_VIEW PIC_FIELD
overlay
NUMERIC
map
CLIENTE_ID CHAR(10)
Funcin
Comparacin por Igualdad Comparacin por Menor que Comparacin por Mayor que Comparacin por Distinto Comp. por Menor o Igual que Comp. por Mayor o Igual que Comparacin por negacin Comp. cumplimiento TODAS condiciones Comp. cumplimiento de al menos UNA condicin.
Funcin
Suma valores
Niega o resta Multiplica valores Eleva el primer argumento segundo Divide valores Divide valores enteros Devuelve el resto obtenido de dividir valores
Suma
Signo Menos Multiplicacin Exponenciacin Divisin Divisin Entera Mdulo
Funcin
Devuelve el nmero inmediato superior al primer argumento Devuelve el nmero inmediato inferior al primer argumento Redondea un valor Elimina un nmero especificado de dgitos del primer argumento
Funcin
Une cadenas Devuelve la longitud de la cadena
RTRIM
SUBSTR STRPOS UPPER LOWER
'Cortar derecha'
Substring Posicin en cadena Maysculas Minsculas
Devuelve
Fecha Actual en variable tipo DATE Convierte una cadena en DATE a travs de una mscara Da del mes (smallint) Mes del ao (smallint) Ao (smallint)
DAY_OF_YEAR (date_var)
DAY_OF_WEEK (date_var)
Devuelve
Hora actual
Convierte una cadena en TIME a travs de una mscara. Segundo de un minuto (integer) Millisegundo de un segundo (integer) Minuto de una hora (integer) Horas desde medianoche (integer) Segundos desde medianoche (integer) Minutos desde medianoche (integer)
Devuelve
Timestamps actual en variable TIMESTAMP Parte TIME de un timestamp en variable TIME Parte fraccin de un TIMESTAMP(integer) Para crear un TIMESTAMP a travs de una mscara.
Baja
Devuelve el tamao en bytes de una vista Devuelve la direccin de memoria de la vista recibida como parmetro rellena un campo char de 1 binarios rellena un campo char de 0 binarios
Los procedimientos se definen despus de la dcl Comienzan con PROC y terminan con ENDPROC Se recomienda precalificarlos con P_nombreproced
Ejemplo:
proc P_GET_SELECTED_FIELDS map L_VIEW to VIEW_LONG_NAME of... map L_OCCUR to FIELD_OCCUR of... use component GET_SELECTED_FIELD endproc ... map 'CLIENTE_DP' to L_VIEW map 0 to L_OCCUR perform P_GET_SELECTED_FIELDS
nombre de implementacin
Regla INS_SQL: Recibe en _T los datos a insertar. Regla DEL_SQL: Recibe en _P la clave a borrar. Regla UPD_SQL: Recibe en _P la clave a modificar y en _T
los datos con las modificaciones.
Bucle
Herramienta HPS para crear una jerarqua basndose en otra ya existente y cambiando los nombres segn se indique Se ejecuta desde el Development Workbench, en el diagrama de jerarqua desde la opcin Analysis Opciones del cloner:
Clone associated files. -> Fuente de reglas y ventanas Blind search and replace
Se cambian los argumentos, se salvan y despus se verifica. Si el resultado es correcto, se clona Se reusan FIELDS, VALUES y FILES
STD_USER_MSJ_SRV
Formacin IRIS
?
Si
Aadir una vista local like la vista _DP al cdigo de la regla _CON y presentar un mensaje de confirmacin si los datos de la ventana han cambiado y el usuario pulsa Nuevo o Salir Conectar los sets STD_MSJ_CD y STD_WIN_ACTN_CD y la regla STD_USER_MSJ_SRV Al pulsar una de las acciones arriba indicadas, se invoca al servicio de mensajes con el mensaje PERDER_MODIF in STD_MSJ_CD Si el usuario pulsa BIEN_ACTN in STD_WIN_ACTN_CD, se ejecutar la accin deseada (campo ACTN_CD de la salida del servidor de mensajes) Si pulsa ABANDONAR_ACTN (del mismo set), es decir si lo que quiere es seguir dnde estaba, sin ejecutar la accin, se mover SALTAR_ACTN in STD_WIN_ACTN_CD al EVENT_SOURCE de la vista HPS_EVENT_VIEW Controlar: GUARDAR_ACTN y no hay cambios en pantalla: error NO_HAY_CAMBIOS in STD_MSJ_CD SUPRIMIR_ACTN. Pedir confirmacin: CONFIRM_SUPRESION
Hace COMMIT o ROLLBACK en funcin del valor recibido en el campo ACTION_TYPE de su vista de entrada Para estos valores, se utiliza el set STD_DATA_ACTN_CD
Preparar el file C1_PERSONA Crear las reglas SQL de acceso a datos: SEL, INS, DEL y UPD utilizando el CLONER de HPS. Clonar de las reglas TBL21_XXX_SQL Argumentos del cloner:
tbl21_T tbl21 ent21 -> -> -> C1_PERSONA_T idcurso_PERSONA C1_PERSONA
Marcar el check "blind search & replace" Ignorar Texts & Keywords Colgar los files para usar SQL Builder y descolgar despus La regla _CON decidir en funcin del estado de la ventana (WIN_STATE of idcurso_PERSONA_DP_ACT_B) si la accin de GUARDAR es un INSERT_ACTN o un UPDATE_ACTN (in AAA_WIN_ACTN_CD set estados de ventana):
Cambiar el campo de la ventana _DP, C1_PERSONA_ID como inmediate return. HPSID: 'C1_PERSONA_ID'. Cuando se produzca la accin C1_PERSONA_ID, llamar a la _ACT_DP para que esta llame a la regla de seleccin C1_PERSONA_SEL_SQL (que ya crearemos en siguiente prctica). Estados de ventana: GUARDAR GUARDAR SUPRIMIR / NUEVO / ABRIR ABRIR / Id-Persona NO SI
Nuevo
Editar
Existe?
El estado inicial de la ventana ser EST_NUEVO. Cuando el usuario pulse GUARDAR, el estado cambiar a EST_EDITAR si acaba con xito la insercin Se volver a EST_NUEVO al suprimir, abrir y pulsar nuevo La regla _CON adems, sacar un mensaje en la barra de mensajes si el INSERT o el UPDATE va bien: Tipo Mensaje: MENSAJE_TX in STD_MSJ_TYPE_CD Mensaje estndar: GUARDADO_CON_EXTO in STD_MSJ_CD Si la accin falla, se mueve el contenido de la ACT_B a la entrada del servidor de mensajes La regla _ACT bifurca (caseof TRAN_CD) a la SQL correspondiente (SEL,INS,UPD o DEL) y devuelve el resultado a la _CON en la vista _ACT_B Aadir a la _ ACT la regla STD_END_TRN_SRV para que haga COMMIT o ROLLBACK
SERVICIOS LOGICOS
ABSTRACCION DE DATOS
ACCESO FISICO
Presentacin
Define como los datos son formateados de cara a su presentacin al usuario Controla las especificaciones del manejo de interfaz con el usuario
Coordinador de Sucesos
Traduce acciones del usuario a servicios lgicos de negocio
Servicios Lgicos
Representa una interfaz pblica que define el servicio y como debe ser utilizado. Como lo hace es privado para el servicio
Abstraccin de dato
Aisla de la plataforma y del lugar de almacenaje a la aplicacin
Acceso fsico
Define como los datos estn almacenados y accedidos fsicamente
Coordinacin de Eventos
Servicios Lgicos
Abstraccin de Datos
Acceso Fsico
Transaction Driver
Cliente
Servidor
CON INI
EVT
SRV
TRD
Parte PC
Parte Host
SQL
Servicios Lgicos
Abstraccin de Datos
Acceso Fsico
RULE RESERVA_CON
RULE TR_PERSONA_LLEGA_CTR
RULE TR_PERSONA_LLEGA_TRN RULE TR_SOL_INDIV_INICIAL_EVT
RULE CLIENTE_INS_SRV
RULE CLIENTE_INS_SQL RULE CLIENTE_E_TBL_TRD RULE DOMICILIO_CLIENTE_INS_SRV RULE DOMICILIO_CLI_INS_SQL RULE DOMICILIO_E_TBL_TRD
Formateadora de los objetos de la ventana Recibe en el campo HPS_ITEM_ID el HPSID de los objetos de ventana que vamos a modificar Si se quiere establecer los atributos de los campos de error (rojo) y posicionar el cursor en el primero de ellos hay que invocar a STD_ERR_LST_FMT_SRV antes de a STD_CNT_OBJ_FMT_SRV
Crear la regla _DP_EST_INI para controlar los objetos de la ventana segn el estado de la misma. Para ello utilizar la regla STD_CNT_OBJ_FMT_SRV. Estado EST_NUEVO: Desproteger C1_PERSONA_ID:
map VISIBLE_ENABLED in WINDOW_OBJECTS_MODES to FIELD_MODE of STD_CNT_MODE_LST_V(n)
Estado EST_EDITAR: Proteger C1_PERSONA_ID (VISIBLE_DISABLED). Poner en color blanco el campo C1_PERSONA_ID (WHITE). Poner en amarillo los campos C1_NOMBRE e C1_APP1. Activar la accn de men SUPRIMIR (ATTRIBUTE_ON). La regla _DP_ACT cambia el estado en el campo WIN_STATE de la regla _DP_ACT_B si se pulsa Nuevo a EST_NUEVO. Si se pulsa Guardar el estado cambiar a EST_EDITAR, etc... Cuando la regla _CON detecta un cambio de estado, invoca a la regla _EST_INI y pasa la salida de sta a la regla STD_CNT_OBJ_FMT_SRV.
Jerarqua EST_INI Crear una regla de Validacin (_DP_VAL) que se invoque antes de llamar a las reglas INS_SQL y UPD_SQL. Esta regla validar que los campos idcurso_PERSONA_ID, idcurso_NOMBRE e idcurso_APP1 estn informados. Por cada uno que venga vaco, dejar en su vista de salida:
VIEW_LONG_NAME:nombre de la vista de ventana (_DP). FIELD_LONG_NAME: nombre del campo errneo. TEXT_CODE: CAMPOS_INVALIDOS in STD_MSJ_CD. TEXT_ARG1: Literal del campo en ventana.
Cuando la regla _CON detecta el error CAMPOS_INVALIDOS in STD_RTRN_CD, (comprueba el RTRN_CD de la regla _ACT) pasa la vista _ACT_B a la regla STD_ERR_LST_FMT_SRV y la invoca, lo que le devuelve esta regla (_FMT_SRV_O) se lo pasa a STD_CNT_OBJ_FMT_SRV (en su _I) y la invoca. Visualiza la ventana con la opcin NOWAIT para actualizarla. Pasa la vista _ACT_B al servidor de mensajes e y lo invoca.