Rector Parametrización de Productos Clase 2 (PDF)
Document Details
Uploaded by JoyfulTangent
Banco de Seguros del Estado
2016
Adrián Silveira
Tags
Summary
This presentation, titled "Rector Parametrización de Productos - Clase 2", covers rules, matrices, data values, and data validation for financial products. It was given on the 21st and 23rd of September, 2016, by Adrian Silveira. The document details techniques and examples for data management at Banco de Seguros del Estado.
Full Transcript
Rector Parametrización de Productos Clase 2 Reglas Matrices, Datos Valores y Datos Validación Adrián Silveira Desarrollo y Mantenimiento Sistemas Banco de Seguros del Estado...
Rector Parametrización de Productos Clase 2 Reglas Matrices, Datos Valores y Datos Validación Adrián Silveira Desarrollo y Mantenimiento Sistemas Banco de Seguros del Estado 21 y 23 de Setiembre, 2016 Adrián Silveira Rector Parametrización Objetivos de la Clase de Hoy enteder los ambitos de ejecución de las reglas de Datos.Valores y Datos.Validacion comprender la definición de las matrices normales y de rangos realizar ejercicios prácticos para comprender los temas Adrián Silveira Rector Parametrización Contenido 1 Reglas de Datos.Valores y Datos.Validacion 2 Mensajes asociados a las Reglas de Validación 3 Cotización Especı́fica 4 Referencias a Reglas 5 Definición de Matrices Normales 6 Definición de Matrices con Rangos 7 Mal configuradas Matrices con Rangos 8 Ejercicios Prácticos Adrián Silveira Rector Parametrización Reglas de Datos.Valores Datos.Valores sirve para asignarle valores a los datos paramétricos. Cada vez que se ingresa o se sale del foco del dato, se ejecuta la regla asociada. la nomenclatura que se sigue para nombrar las reglas es: ramo-D-nombre. Por ejemplo, 12-D-001. Adrián Silveira Rector Parametrización Reglas de Datos.Validacion Datos.Validacion sirve para validar los valores de los datos paramétricos asociados a los bienes. Por ejemplo, si lo ingresado por el usuario es correcto. la ejecución de las reglas es para cierto bien. Es decir, se validan todos los datos asociados a un bien. es el primer momento de validación. Aquı́ también se podrı́an incluir validaciones para aquellos datos que no son datos paramétricos, por ejemplo, la moneda de emisión. al aplicar las reglas de validación se les asocia un mensaje para mostrar en caso de no validar o fuera de pauta. la nomenclatura que se sigue para nombrar las reglas es: ramo-V-nombre. Por ejemplo, 12-V-001. Adrián Silveira Rector Parametrización Reglas de Datos.Validación Tipos de Retornos de reglas de Datos.Validación S : Validacion OK. N : No Valida la regla, ergo no se permite avanzar a la solapa coberturas. F : Fuera de Pauta, avanza pero la cotización queda fuera de pauta. El mensaje se muestra al dar el botón emitir. Adrián Silveira Rector Parametrización Mensajes asociados a las Reglas de Validación Es importante la asociación de los mensajes en los errores y fuera de pauta al momento de aplicar las reglas. Estos mensajes son los que se muestran al usuario. Adrián Silveira Rector Parametrización ¿Requiere Cotización Especı́fica? La cotización especifica requiere un nivel superior de autorización respecto al fuera de pauta. Sin embargo, internamente está programado como un “F”. El dato paramétrico 905030 representa el requerimiento de cotización especı́fica. Si vale ‘S’ requerirá, en cc ‘N’. Adrián Silveira Rector Parametrización Programando la Cotización Especı́fica Entonces, se diferencian dos momentos para definir el comportamiento: el momento de darle valor al dato 905030. Esto lo hacemos por reglas de Datos.Valores. Adrián Silveira Rector Parametrización Importante! Resultados Parciales en las Reglas Notemos como arranca por la regla utilitaria “00-D-000” en “N” y cada regla o bien la sube a “S” o devuelve “NULL”. En otras palabras, cuando se trabaja con matrices NO HAY UN VALOR POR DEFECTO en la aplicación. Es decir, la regla solo debe pensar cuando devolver “S” y esto es porque se empieza con la regla utilitaria en “N”. Esto es sumamente importante, dado que si no hay valor por defecto ó se devuelve NULL la ejecución de reglas mantiene el valor que tenı́a hasta el momento. Si en la lógica de la matriz también devolvieramos el “N”, entonces erronamente pisariamos el valor intermedio que venı́a calculandose. Adrián Silveira Rector Parametrización Programando la Cotización Especı́fica El segundo momento es cuando se valida el dato 905030 y se toma una acción según su valor. Si vale “S” es porque la cotización requiere “cotización especı́fica” y se debe manejar internamente como una “F” si es que el usuario está o no autorizado a realizarla. Comunmente, los usuarios autorizados a emitir dichas cotizaciones pertenecen a la división Productos. La regla “00-INSP2” es un PL que verifica que el usuario que recorre la cotización tenga los permisos para emitir una cotización especı́fica. Adrián Silveira Rector Parametrización Programando la Cotización Especı́fica Entonces, el segundo momento es una validación a nivel de Datos.Validación aplicando la regla “00-INSP2”. Adrián Silveira Rector Parametrización Referencias a Reglas y Datos Hay varias formas de llamar a la ejecución de una regla y referencias a los datos en memoria. “#R(’12-D-001’)” implica la llamada a la regla ‘12-D-001’. “#F(’FUNCION’)” implica la llamada a ejecución del PL con nombre ‘FUNCION’. “#D(’905012’)” implica la consulta al valor en memoria del dato paramétrico ‘905012’. Adrián Silveira Rector Parametrización Definición de Matrices Normales Matriz Normal Es una matriz cuyos datos de entrada (filas) son los datos paramétricos. El tipo de fuente de la regla es “N”. La salida puede ser: cualquier caracter, por ejemplo: S, N, F para indicar una validación. un número, donde los puntos de separación de decimales es el PUNTO. Por ejemplo, como salida para cierta tasa. expresiones: operaciones aritméticas con otros datos, llamadas a otras reglas, etc. Esto ocurre mayormente en Componentes. Cuando no coincide ningún valor de entrada se devuelve el valor por defecto. Este valor se define en la aplicación de la regla. Adrián Silveira Rector Parametrización Fecha efectiva en Matrices La fecha efectiva hace referencia al dı́a de hoy. Por lo general, en Vida, no es el comportamiento deseado. Las tasas, etc cambian tomando en cuenta la “fecha desde la refacturación” o la “fecha desde técnica”. Por esto, por lo general siempre se pone como fecha efectiva una fecha que no interfiera en la lógica, como es ‘01/01/1911’ y se agregan las fechas antes dichos como datos de entradas a la matriz. Adrián Silveira Rector Parametrización Ejemplos de expresiones La salida es una llamada de ejecución a una función (PL): Adrián Silveira Rector Parametrización Ejemplos de expresiones Otros ejemplos: La salida puede ser operaciones aritméticas con reglas usuales de precedencia y parentización: “0.1 * 3 / (10 + 20)”. La salida puede ser la llamada de ejecución a otra regla (sin importar si es otra matriz o un PL) dado que hacemos referencia al nombre de la regla: “#R(’12-D-001’)”. Notemos como si la regla es un PL, tenemos dos formas de invocarlo o llamando a la regla o llamando a la función. Por ejemplo, la regla “00-C-018” de Componentes. La salida puede ser una operación aritmética con llamadas a otras reglas: #R(’12-D-001’) * 0.15 / 10 #F(’FUNCION’) * 0.3 Adrián Silveira Rector Parametrización Definición de Matrices con Rangos Matriz con Rangos Es una matriz cuyos datos de entrada (filas) son los datos paramétricos. El tipo de fuente de la regla es “M”. La salida puede ser la misma que las salidas de Matrices Normales. Cuando no coincide ningún valor de entrada se devuelve el valor por defecto. Este valor se define en la aplicación de la regla. Adrián Silveira Rector Parametrización ¿cómo se interpreta la Matriz con Rangos? Para enteder el comportamiento de la matriz, una forma es ver a los datos de las columnas concatenados mediante “pipes”: | Luego que vemos los datos de entrada ası́, se ordenan de menor a mayor según el orden lexicográfico. El orden está definido por la tabla ASCII. Por ejemplo, sabemos que la ‘a’ es menor que la ‘b’, el ‘0’ es menor que el ‘1’, la “moneda” ‘20’ es menor que la “moneda” ‘37’, la fecha ‘01/01/2020’ es mayor que ‘01/01/1998’. Luego de este ordenamiento, dada una entrada, nos fijamos todos los valores que son menores o iguales a la entrada. De esos valores tomamos el máximo para retornar la salida. Otra forma de verlo, es ver el ordenamiento de izquierda a derecha en la forma usual. Adrián Silveira Rector Parametrización Ejemplo de Matriz con Rangos Veamos como ejemplo la regla ‘12-T-PRUEBA’ de Datos.Valores. Adrián Silveira Rector Parametrización Ejemplo de Matriz con Rangos Las entradas ordenadas de menor a mayor las podemos interpretar como: ’20|01/01/1980’, ’20|01/01/2000’, 37|01/01/1980 y ’37|01/01/2000’. Si nos ingresan como entrada la moneda ‘20’ y la fecha ‘01/01/1990’, ¿qué hace Rector? Se buscan todos los concatenados de la tabla menores o iguales a ’20|01/01/1990’. En este ejemplo, el único dato que cumple la condición es ’20|01/01/1980’. De estos, se toma el máximo, pero como es el único se considera ese. Ergo, se devuelve la salida asociada a esa fila en la matriz que es 0.5. Adrián Silveira Rector Parametrización Ejemplo de Matriz con Rangos Ahora asociemos la regla a un dato paramétrico, solo con el fin de ver su ejecución y poder ver en tiempo real un ejemplo. Asociamos la regla ‘12-T-PRUEBA’ en Datos.Valores al dato 221081 que es el capital inicial. Luego, hagamos una cotizacı́ón con moneda dólares y fecha desde ‘01/01/2016’ Entonces, ¿qué valor esperamos se devuelva en el dato? Adrián Silveira Rector Parametrización Ejemplo de Matriz con Rangos Aplicamos la regla. Adrián Silveira Rector Parametrización Ejemplo de Matriz con Rangos Emitimos una póliza con fecha desde el endoso (dato 905012) igual a 01/01/2016. Cotización en GP: 97148. Adrián Silveira Rector Parametrización Ejemplo de Matriz con Rangos Vemos que ejecutó la regla y obtiene el valor 0.9, ¿es lo que esperabamos? Adrián Silveira Rector Parametrización Ejemplo de Matriz con Rangos Vemos por dentro la ejecución de la regla: “Botón de Trazabilidad de Reglas” Adrián Silveira Rector Parametrización Ejemplo de MAL Configurada la Matriz con Rangos Ahora veamos un ejemplo de como se configura con error la matriz de rangos, modifiquemos la matriz anterior de tal forma: Adrián Silveira Rector Parametrización Ejemplo de MAL Configurada la Matriz con Rangos Ahora pensemos en una cotización para la moneda dólar y la fecha desde ‘01/01/1990’, cotización en GP: 97154. ¿cuál serı́a el comportamiento esperado? Al menos no esperarı́amos que se devuelve el valor para la moneda pesos!!! ¿qué va a pasar en Rector? Adrián Silveira Rector Parametrización Ejemplo de MAL Configurada la Matriz con Rangos Vemos que Rector termina devolviendo 0.5, ¿por qué? Adrián Silveira Rector Parametrización Ejercicio de Práctico 1 A los efectos del ejercicio, supongamos que el seguro de VITAL (distinto para cada grupo) se puede contratar en las monedas Pesos, Dólar y otras monedas como Unidades Indexadas. Requerimiento: se identifica la necesidad de que el capital inicial de una póliza de VITAL siga la siguiente lógica: si el seguro se contrata en pesos, el capital inicial es 50000 si el seguro se contrata en dolares, el capital inicial es 100000 en cualquier otra moneda el capital inicial es 200000 Configure las reglas necesarias para cumplir con lo pedido. Adrián Silveira Rector Parametrización Ejercicio de Práctico 2 Ahora hay cambios en los requerimientos: se identifica la necesidad de que el capital inicial de la póliza ya no sea más ingresado por el usuario para la moneda pesos sino que siga cierta lógica. si el seguro se contrata en pesos y la edad inicial está entre 0 y 25, el capital inicial es 50000. si el seguro se contrata en pesos y la edad inicial está entre 26 y 40, el capital inicial es 100000. si el seguro se contrata en pesos y la edad inicial es de 41 en adelante, el capital inicial es 200000. en cualquier otro caso se debe dejar libre el ingreso del usuario. Es decir, si por ejemplo contrata en dólares, puede poner cualquier cifra. Configure las reglas necesarias para cumplir con lo pedido. Adrián Silveira Rector Parametrización Ejercicio de Práctico 3 Ahora siguiendo con los requerimientos anteriores: sin importar la moneda, el capital inicial siempre debe ser menor o igual a 200000. en caso contrario, no se debe permitir la emisión emitiendo el mensaje apropiado al usuario. Realice una regla de Datos.Validacion que permita validar dicho comportamiento. Adrián Silveira Rector Parametrización Fin Fin. Adrián Silveira Rector Parametrización