Productividad promedio mensual por agencia

Función general

En esta transacción se emiten un reporte que muestra la productividad promedio por agencia y mes, que es un promedio de pólizas emitidas por intermediarios de una agencia. Se muestran los totales por agencia y mes, por agencia y por mes.

Información técnica

 

Productividad promedio mensual por agencia

(AGL873)

Parámetros

Validaciones

Campo

Descripción

 Error/adv

Año

Año debe estar lleno 60490

Frecuencia de ejecución

A petición del usuario.

Requisitos

No aplica.

Instrucciones de ejecución

Este reporte se ejecuta desde el módulo de reportes de intermediarios con la opción menú de reportes de intermediarios.

Instrucciones en caso de interrupción

Volver a ejecutar.

Proceso batch

Proceso

El parámetro "Año" se utiliza para generar la fecha de "inicio" y "final" del reporte, para ello se debe colocar como "fecha inicio", el primer de Enero del año seleccionado por el parámetro, y  como "fecha final", el 31 de Diciembre del año seleccionado.

Para obtener la información que se mostrará en este reporte, se realiza el siguiente proceso:

  • Se leen de la tabla de agencias (table5555), todos los registros válidos.
    • Por cada agencia leída de la tabla de agencias:
      • Se lee de la tabla de intermediarios y clientes (intermedia y client), el nombre del intermediario supervisor de la agencia y se cuenta la cantidad de intermediarios asociados a la agencia. Se utiliza la tabla temporal auxiliar (temp_agl873A), para guardar la información.
      • Se leen de la tabla de meses (table7013), todos los registros válidos.
        • Por cada agencia-mes, se cuentan de la tabla de certificados y pólizas (certificat y policy), todos aquellos registros de pólizas activas y emitidas en el año indicado como parámetro y que correspondan a mes y agencia en tratamiento. Se utiliza la tabla temporal (temp_agl873), para guardar la información, si la búsqueda no arroja resultado se deberá guardar cero en la columna 'temp_agl873.ncount', para la agencia y el mes en tratamiento.
  • Al momento de ejecutar el reporte se lee la información de la tabla temporal (temp_agl873) agrupada y ordenada por agencia (temp_agl873.nagency) y mes (temp_agl873.nmonth), y se lee de la tabla temporal auxiliar (temp_agl873A), la información necesaria para los cálculos.
  • La descripción de la agencia y el nombre del supervisor de la agencia se ubica en la tabla temporal auxiliar (temp_agl873A), según el código de la agencia en tratamiento. La descripción del mes se ubica en la tabla meses (table7013), según el código mes en tratamiento.

Efecto

Se almacenan los datos en dos tablas temporales, denominadas temp_agl873 y temp_agl873A.
Antes de usar las tablas, las mismas no debe tener datos, por lo que se deberá eliminar toda la información que se encuentre en ellas.

Notas al programador

Búsqueda para la tabla de agencias (table5555)

Campos a seleccionar

  • nagency
  • sdescript

Condición de búsqueda

Información

Campo

Operador

Valor

Observación

Código de agencia nagency > 0 Se toman todas las agencias
Estado del registro sstatregt = '1' Se toman las agencias válidas

Búsqueda para la tabla de meses (table7013)

Campos a seleccionar

  • ncodignt

Condición de búsqueda

Información

Campo

Operador

Valor

Observación

Código de mes ncodigint > 0 Se toman todas los meses
Estado del registro sstatregt = '1' Se toman los meses válidos

Búsqueda para la tabla de certificados y pólizas (certificat y policy)

Campos a seleccionar

  • cantidad de pólizas-certificados por agencia y mes leídas de certificat

Condición de búsqueda

Información

Campo

Operador

Valor

Observación

Tipo de registro certificat.scertype = '2' Se toman sólo pólizas
Código de ramo certificat.nbranch > 0 Se toman los certificados de todos los ramos
Código de producto certificat.nproduct > 0 Se toman certificados de todos los productos
Número de póliza certificat.npolicy > 0 Se toman todas las pólizas
Número de certificado certificat.ncertif > 0 Se toman todos los certificados de todas las pólizas
Estado del registro certificat.sstatusva not in ('2', '3') Se toman sólo las pólizas válidas. Valores según table181
Fecha de efecto de la póliza certificat.ddate_origi >= 'Fecha inicial' calculada Fecha calcula en función del año indicado como parámetro en la transacción
y certificat.ddate_origi <= 'Fecha final' calculada Fecha calcula en función del año indicado como parámetro en la transacción
Mes de la fecha de efecto mes(certificat.ddate_origi) = table7013.ncodigint Mes en tratamiento
Tipo de registro policy.scertype = certificat.scertype Tipo de registro en tratamiento
Código de ramo policy.nbranch = certificat.nbranch Ramo en tratamiento
Código de producto policy.nproduct = certificat.nproduct Producto en tratamiento
Número de póliza policy.npolicy = certificat.npolicy Póliza en tratamiento
Código de agencia policy.nagency = table5555.nagency Agencia en tratamiento

Búsqueda para la tabla de meses (table7013)

Campos a seleccionar

  • sdescript

Condición de búsqueda

Información

Campo

Operador

Valor

Observación

Código del mes ncodigint = temp_agl873.nmonth Mes en tratamiento

Búsqueda para la tabla de intermediarios y clientes (intermedia y client).

En caso que la lectura arroje mas de un registro debe tomarse el primero de los registros

Campos a seleccionar

  • cantidad de intermediarios por agencia
  • client.scliename

Condición de búsqueda

Información

Campo

Operador

Valor

Observación

Código de agencia intermedia.nagency = temp_agl873.nagency Agencia en tratamiento
Tipo de intermediario intermedia.nintertyp = 5 Se toman el supervisor de la agencia
Estado del intermediario intermedia.nint_status = 1 Se toman los intermediarios activos
Fecha de anulación intermedia.dnulldate is NULL Se toman los intermediarios activos
Código de cliente client.sclient = intermedia.sclient Cliente en tratamiento

Archivo TEMP_AGL873

En la tabla temporal temp_agl873 se almacena la información determinada en las condiciones de búsqueda antes indicada. Al momento de ejecutar el reporte, se extrae la información agrupada y ordenada por agencia (nagency) y mes (nmonth). Los campos que se deberán colocar en la tabla temporal son:

Información

Campo

Valor

Observación

Código de agencia nagency table5555.nagency Agencia en tratamiento
Número de mes nmonth table7013.ncodigint Mes en tratamiento
Cantidad pólizas ncount cantidad de pólizas por agencia y mes Se toma de la lectura de la tabla de certificados y pólizas (certificat y policy)

Archivo TEMP_AGL873A

En la tabla temporal temp_agl873A se almacena la información determinada en las condiciones de búsqueda antes indicada. Al momento de ejecutar el reporte, se extrae la información por el código de agencia (nagency). Los campos que se deberán colocar en la tabla temporal son:

Información

Campo

Valor

Observación

Código de agencia nagency table5555.nagency Agencia en tratamiento
Descripción de la agencia sdescript table5555.sdescript Descripción de la agencia en tratamiento
Nombre del agente supervisor de la agencia sname table7013.ncodigint Nombre del supervisor de la agencia en tratamiento
Cantidad de intermediarios de la agencia ncount cantidad de intermediarios por agencia al momento de ejecutar el reporte Se toma de la lectura de la tabla de intermediarios y clientes (intermedia y client)

Fórmulas

Sólo se van a mencionar los campos que manejen fórmula
Cuerpo
  • Productividad promedio mensual por agencia: (sum(temp_agl873.ncount), para la agencia y mes en tratamiento) / (temp_agl873A.ncount, para la agencia en tratamiento). Si el valor de temp_agl873A.ncount, para la agencia en tratamiento es cero el resultado de esta fórmula es cero.
  • Productividad promedio del año: (Sumatoria de la columna 'productividad promedio mensual por agencia' de cada mes, para la agencia en tratamiento) / 12.
  • Productividad promedio mensual: Sumatoria de la columna 'productividad promedio mensual por agencia', para el mes en tratamiento.
  • Total productividad promedio del año: Sumatoria de la columna 'productividad promedio del año', para todas las agencias.
  • Listados

    Este reporte debe ser impreso como una tabla, donde el eje de las 'x' sea las agencia el eje de las 'y' los meses. Ejemplo:
    Enero Febrero ... Diciembre Productividad promedio del año
    Agencia 'a' Productividad promedio mensual por agencia Productividad promedio mensual por agencia Productividad promedio mensual por agencia Productividad promedio del año
    Agencia 'b' Productividad promedio mensual por agencia Productividad promedio mensual por agencia Productividad promedio mensual por agencia Productividad promedio del año
    ...
    Agencia 'z' Productividad promedio mensual por agencia Productividad promedio mensual por agencia Productividad promedio mensual por agencia Productividad promedio del año
    Totales Productividad promedio mensual Productividad promedio mensual Productividad promedio mensual Total productividad promedio del año

    Encabezado

  • Página: "Página" + 'número de página'.
    • Título: "Productividad promedio mensual por agencia".
    • "Año: " + 'año indicado como parámetro'.
    Cuerpo
    • Agencia: Descripción de la agencia (temp_agl873A.sdescript) y nombre del supervisor (temp_agl873A.sname)
    • Mes-año:  Mes y año de la información (table7013.sdescript + 'año indicado como parámetro').
    • Productividad promedio mensual por agencia: Promedio mensual de pólizas emitidas por intermediarios de la agencia por mes. Ver fórmula. Si el valor de este campo es cero, en el reporte se debe mostrar espacios en blanco.
    • Productividad promedio del año: Promedio anual de pólizas emitidas por intermediarios de la agencia. Ver fórmula. Si el valor de este campo es cero, en el reporte se debe mostrar espacios en blanco.
    • Productividad promedio mensual: Promedio mensual de pólizas emitidas. Ver fórmula. Si el valor de este campo es cero, en el reporte se debe mostrar espacios en blanco.
    • Total productividad promedio del año: Total promedio de pólizas emitidas. Ver fórmula. Si el valor de este campo es cero, en el reporte se debe mostrar espacios en blanco.