Configuración de los reportes de préstamo


Archivo de configuración.

En cada carpeta donde se almacenan las pft`s del lenguaje activo de las bases de datos trans (transacciones de préstamo), suspml (suspensiones y multas) y  reserve (reservas) se encuentra localizado el archivo outputs.lst donde se guarda la configuración de los reportes que pueden obtenerse para cada base de datos:

En estos archivos, cada línea corresponde a un reporte y las columnas del mismo indican la variable que se configura a fin de controlar su emisión. Las columnas son las siguientes:

Código el reporte Un valor alfanumérico que se asigna como código el reporte. A partir este valor el script que emite el reporte extrae los parámetros que utilizará para configurar la salida. No se use espacios en blanco ni caraceres especiales
Formato de despliegue (pft) Corresponde al nombre de la PFT que va a ser utilizada para emitir el reporte. Debe ser suministrado en minúsculas, sin espacios en blanco y terminado con la extensión .pft. Esta PFT cumple con las reglas de formateo de CISIS, pero cada variable debe estar separada con `|` a fin de generar las columnas de la tabla. Ejemplo:

v10`|`
v12`|`
v15`|`
v20`|`
ref([`users`]l([`users`]`CO_`v20),v30) `|`
v70`|`
v30*6.2,`-`,v30*4.2,`-`,v30.4,`|`
v40*6.2,`-`,v40*4.2,`-`,v40.4,`|`
v80`|`
mhl,v100`|`,mpl/


Con este formato se está generando una salida de 10 columnas y cada columna aparece delimitada con . Note también que uede utilizar el formato REF para rellenar una columna y en este caso la base de datos alterna debe estar reflejada en el dbn.par de la base de datos activa o en el syspar.par donde se puede hacer referencia a todos los recursos compartidos entre las bases de datos.
Note también que la última columna termina con / (salto de linea) para generar la separación entre los registros. El salto de línea, tanto condicional como incondicional no puede ser utilizado al interior el formato ya que generararía caracteres de fin de registro innecesarios

Si el formato de despliegue tiene la extensión .central se asume que se está suministrando el nombre del script que hay que llamar para obtener el reporte solicitado. En este caso se le pasarán al script las siguientes variables:
codigo: con el código del reporte
base: nombre de la base de datos
vp: tipo de salida solicitada (display ->  por pantalla, WP-procesador de palabras , TB->procesador de hojas de cálculo)
Nombre de las columnas Esta entrada indica el nombre de las columnas que se están generando con el formato anterior a fin de colocar el encabezado de la tabla producida por el reporte. Cada nombre de columna debe estar separaca con el caracter #. Ejemplo:

Número de inventario#Volumen#Tomo#Código de usuario#Nombre#Tipo de usuario#Fecha de préstamo#Fecha de devolución#Tipo de Objeto#Referencia

Este valor no se usa en el caso de que el formato invoque a un .central
Clave para clasificación Si se desea que las filas de la tabla aparezcan ordenadas por algún campo en particular, indique aquí la clave que se utilizará para obtener el campo de clasificación. Ejemplo:

ref([`users`]l([`users`]`CO_`v20),v30)


En esta especificación se está leyendo el nombre del usuario a traves de su código para generar alfabetización por nombre

Este valor no se usa en el caso de que el formato invoque a un .central
Expresión de búsqueda Expresión de búsqueda a utilizar para recuperar a los registros que van a ser incluídos en el reporte. Las claves suministradas en esta expesión deben estar definidas en el fst de la base de datos. Por ejempo:
Base de datos trans:
TR_P$  recupera todos los préstamos pendientes
TR_X$  recupera todas las devoluciones
Base de datos suspml:
RE_M and ST_0  recupera las multas activas
RE_M and ST_1  recupera las multas eliminadas por el supervisor
RE_M and ST_2  recupera las multas pagadas
RE_S and ST_0  recupera las suspensiones activas
RE_S and ST_1  recupera las suspensiones eliminadas por el supervisor

La situación de una sanción se encuentra definida en la carpeta def  de la base de datos suspml, correspondiente al lenguaje activo, bajo el nombre status.tab
Título del reporte Nombre con el cual se identificará el reporte
Solicitar Indica si se debe solicitar algún parámetro adicional para filtrar los registros a ser presentados. Los parámetros previstos actualmente son:

Para la base de datos trans (transacciones)
Fecha para comparar por mayor o igual contra el campo 40 (fecha de devolución)
Fecha para comparar por igual contra el campo 40 (fecha de devolución)
Clase de usuario para comparar contra el campo 70
Tipo de usuario para comparar contra el campo 80

Para la base de datos suspml (suspensiones y multas)
Fecha para comparar por igual contra el campo 60 (fecha de pago de la multa)
Fecha para comparar por mayor o igual contra el campo 60 (fecha de pago de la multa)
Fecha para comparar por igual contra el campo 110 (fecha de cancelación de la suspensión o  multa)
Fecha para comparar por mayor o igual contra el campo 110 (fecha de cancelación de la suspensión o multa)


Para acceder al proceso de configuración, creación o edición de reportes use la opción Reportes incluída bajo la sección Transacciones del menú principal del módulo de Circulación. Al activarse se presenta la lista de los reportes ya configurados. En este menú se dan tres opciones principales:

1. Seleccionar un reporte y enviar la salida a pantalla, procesador de hojas de cálculo o procesador de palabras
2. Seleccionar un reporte y editar sus especificaciones
3. Seleccionar un reporte, editarlo para cambiar sus especificaciones y guardarlo con otro nombre (generar un nuevo reporte por copia de una ya existente)
4. Generar un nuevo reporte.

Cuando se edita un reporte ya existente o se genera uno nuevo se presenta el siguiente formato de ingreso:

Base de datos trans   FDT/FSTsuspml   FDT/FSTreserve   FDT/FST
Código del reporte
Nombre de la pft para edición del registro
Título del reporte
Formato para extracción de las claves de clasificación
Expresión de Búsqueda
Nombre del reporte
Solicitar ( Bases de datos: trans) ( Bases de datos: suspml)
Fecha Compare >= Etiqueta: 40 (Fecha de devolución) Compare >= Etiqueta: 60 (Payment date)
Fecha Compare =   Etiqueta: 40 (Fecha de devolución) Compare =   Etiqueta: 60 (Payment date)
Fecha   Compare >= Etiqueta: 110 (Cancelation date)
Fecha  
Compare =   Etiqueta: 110 (Cancelation date)
Clase de Usuarios Compare =   Etiqueta: 70  
Tipo de Items Compare =   Etiqueta: 80  
Do not ask  


Las opciones clasificadas bajo la columna solicitar piden al usuario los datos mencionados previo a la emisión del reporte y ejecutan la comparación contra el campo correspondiente a fin de filtrar la información que se produce en la salida.