Cambio de reaseguro
Función general
Permite realizar las actualizaciones requeridas en la base de datos
a fin de que el proceso de generación de cesiones de prima tome
en cuenta el cambio de en la distribución de reaseguro en una póliza.
Información técnica
Identificación
|
Tipo
|
InsReinsuranceChange |
Procedimiento |
Parámetros de entrada
Ramo: Código de ramo asociado a la póliza en tratamiento.
Producto: Código del producto asociado a la póliza
en tratamiento.
Póliza: Número de identificación de la póliza
en tratamiento.
Certificado: Número de identificación del certificado
en tratamiento.
Fecha de efecto: Fecha de efecto o ejecución de la operación.
Proceso
Si la póliza en tratamiento es de tipo individual o la póliza
en tratamiento es de tipo colectiva pero el reaseguro es por póliza:
-
Se realiza la lectura del archivo de recibos (premium) a fin de tomar los
registros con el valor cero en el campo "digit", fecha de efecto del recibo
anterior o igual a la fecha de efecto de la modificación y la fecha
de vencimiento del recibo posterior a la fecha de efecto de la modificación.
Si la póliza en tratamiento es de tipo colectivo y el reaseguro
es por certificado:
-
Se realiza en forma simultánea la lectura del archivo de recibos
(premium) y del archivo de certificados de un recibo (premium_ce) a fin
de tomar los registros con el valor cero en el campo "digit", fecha de
efecto del recibo anterior o igual a la fecha de efecto de la modificación
y la fecha de vencimiento del recibo posterior a la fecha de efecto de
la modificación, además, del archivo de certificados de un
recibo (premium_ce) se deben tomar sólo los registros que correspondan
al certificado en tratamiento.
Por cada registro leído del archivo de recibos (premium), se generan
dos nuevos recibos con nuevos valores en el campo "digit". Para lograr
esto se realiza lo siguiente:
-
Se debe obtener el valor máximo del campo "digit" (DIG). Se realiza
la lectura del archivo de recibos (premium) para obtener el registro con
las siguientes características:
-
Número de recibo igual al número recibo del registro
en tratamiento del archivo de recibos (premium).
-
Campo "digit" con el valor más alto. (Un mismo número de
recibo puede tener varios registros en el archivo de recibos (premium)
pero con valores diferentes en el campo "digit", de éstos registros
se debe obtener el que tenga el mayor valor en el campo "digit").
-
Se generan dos variables: DIG1 con el valor máximo del campo "digit"
(DIG) incrementado en 1; DIG2 con el valor máximo del campo "digit"
(DIG) incrementado en 2.
-
Se calcula la cantidad de días que cubre el recibo en tratamiento:
DIAS = FVR - FER + 1
Donde:
FVR = Fecha de vencimiento del recibo
FER = Fecha de efecto del recibo
-
Se calcula el rango de días para el prorrateo de la prima
RANGE = FVR - FET + 1
Donde:
FVR = Fecha de vencimiento del recibo
FET = Fecha de efecto de la transacción
-
Se prorratean cada uno de los importes que componen el registro en tratamiento
del archivo de recibos (premium).
IMPORTES = <Importe> * RANGE / DIAS
-
Se agrega un nuevo registro en el archivo de recibos (premium) con: los
importes prorrateados, fecha de efecto del recibo igual a la fecha de efecto
de la transacción, campo "digit" igual a DIG1.
-
Se agrega un nuevo registro en el archivo de recibos (premium) con: los
importes prorrateados previamente multiplicados por -1, fecha de efecto
del recibo igual a la fecha de efecto de la transacción menos 1
día, campo "digit" igual a DIG2.
-
Se realiza la lectura del archivo de detalle de primas (detail_pre) a fin
de obtener todos los registros asociados al recibo en tratamiento cuyo
valor en el campo "digit" es igual a cero. Por cada registro leído,
se generan dos nuevos detalles con nuevos valores en el campo "digit".
Para lograr esto se realiza lo siguiente:
-
Se prorratean cada uno de los importes que componen el registro en tratamiento
del archivo de detalles del recibo (detail_pre).
IMPORTES = <Importe> * RANGE / DIAS
-
Se agrega un nuevo registro en el archivo de detalles del recibo (detail_pre)
con: los importes prorrateados, campo "digit" igual a DIG1.
-
Se agrega un nuevo registro en el archivo de detalles del recibo (detail_pre)
con: los importes prorrateados previamente multiplicados por -1, campo
"digit" igual a DIG2.
-
Se realiza la lectura del archivo de movimientos de primas (premium_mo)
a fin de obtener todos los registros asociados al recibo en tratamiento
cuyo valor en el campo "digit" es igual a cero. Por cada registro leído,
se generan dos nuevos movimientos de primas con nuevos valores en el campo
"digit". Para lograr esto se realiza lo siguiente:
-
Se prorratean cada uno de los importes que componen el registro en tratamiento
del archivo de movimientos de primas (premium_mo)
IMPORTES = <Importe> * RANGE / DIAS
-
Se agrega un nuevo registro en el archivo de movimientos de primas (premium_mo)
con: los importes prorrateados, campo "digit" igual a DIG1, campo que indica
si el registro ha sido procesado por reaseguro con valor negativo.
-
Se agrega un nuevo registro en el archivo de movimientos de primas (premium_mo)
con: los importes prorrateados previamente multiplicados por -1, campo
"digit" igual a DIG2, campo que indica si el registro ha sido procesado
por reaseguro con valor negativo.
-
Se realiza la lectura del archivo de certificados de un recibo (premium_ce)
a fin de obtener todos los registros asociados al recibo en tratamiento
cuyo valor en el campo "digit" es igual a cero. Por cada registro leído,
se generan dos nuevos registros con nuevos valores en el campo "digit".
Para lograr esto se realiza lo siguiente:
-
Se prorratean cada uno de los importes que componen el registro en tratamiento
del archivo de certificados de un recibo (premium_ce)
IMPORTES = <Importe> * RANGE / DIAS
-
Se agrega un nuevo registro en el archivo de certificados de un recibo
(premium_ce) con: los importes prorrateados, campo "digit" igual a DIG1.
-
Se agrega un nuevo registro en el archivo de certificados de un recibo
(premium_ce) con: los importes prorrateados previamente multiplicados por
-1, campo "digit" igual a DIG2.
-
Se realiza la lectura del archivo de movimientos pendientes por facturar
(out_moveme) a fin de tomar los registros con el valor cero en el campo
"digit", fecha de efecto del movimiento anterior o igual a la fecha de
efecto de la modificación, fecha de vencimiento del movimiento posterior
a la fecha de efecto de la modificación y número de certificado
igual al certificado en tratamiento.
-
Por cada registro leído del archivo de movimientos pendientes por
facturar (out_moveme), se generan dos nuevos movimientos con nuevos valores
en el campo "digit". Para lograr esto se realiza lo siguiente:
-
Se debe obtener el valor máximo del campo "digit" (DIGM). Se realiza
la lectura del archivo de movimientos pendientes por facturar (out_moveme)
para obtener el registro con las siguientes características:
-
Número del movimiento igual al número del movimiento del
registro en tratamiento del archivo de movimientos pendientes por facturar
(out_moveme)
-
Campo "digit" con el valor más alto. (Un mismo número de
movimiento puede tener varios registros en el archivo de movimientos pendientes
por facturar (out_moveme) pero con valores diferentes en el campo "digit",
de éstos registros se debe obtener el que tenga el mayor valor en
el campo "digit").
-
Se generan dos variables: DIGM1 con el valor máximo del campo "digit"
(DIGM) incrementado en 1; DIGM2 con el valor máximo del campo "digit"
(DIGM) incrementado en 2.
-
Se calcula la cantidad de días que cubre el movimiento en tratamiento:
DIAS = FVM - FEM + 1
Donde:
FVM = Fecha de vencimiento del movimiento pendiente por facturar
FEM = Fecha de efecto del movimiento pendiente por facturar
-
Se calcula el rango de días para el prorrateo de la prima
RANGE = FVM - FET + 1
Donde:
FVM = Fecha de vencimiento del movimiento pendiente por facturar
FET = Fecha de efecto de la transacción
-
Se prorratean cada uno de los importes que componen el registro en tratamiento
del archivo de movimientos pendientes por facturar (out_moveme).
IMPORTES = <Importe> * RANGE / DIAS
-
Se agrega un nuevo registro en el archivo de movimientos pendientes por
facturar (out_moveme) con: los importes prorrateados, fecha de efecto del
movimiento igual a la fecha de efecto de la transacción, campo "digit"
igual a DIGM1.
-
Se agrega un nuevo registro en el archivo de movimientos pendientes por
facturar (out_moveme) con: los importes prorrateados previamente multiplicados
por -1, fecha de efecto del movimiento igual a la fecha de efecto de la
transacción menos 1 día, campo "digit" igual a DIGM2.
-
Se realiza la lectura del archivo de detalle de movimientos pendientes
por facturar (out_premiu) a fin de obtener todos los registros asociados
al movimiento en tratamiento cuyo valor en el campo "digit" es igual a
cero. Por cada registro leído, se generan dos nuevos detalles con
nuevos valores en el campo "digit". Para lograr esto se realiza lo siguiente:
-
Se prorratean cada uno de los importes que componen el registro en tratamiento
del archivo de detalle de movimientos pendientes por facturar (out_premiu).
IMPORTES = <Importe> * RANGE / DIAS
-
Se agrega un nuevo registro en el archivo de detalle de movimientos pendientes
por facturar (out_premiu) con: los importes prorrateados, campo "digit"
igual a DIGM1.
-
Se agrega un nuevo registro en el archivo de detalle de movimientos pendientes
por facturar (out_premiu) con: los importes prorrateados previamente multiplicados
por -1, campo "digit" igual a DIGM2.