Formatos de despliegue

 

Presentación de los datos del usuario

Se utiliza el formato users/loans/[lenguaje-activo]/loans_usdisp.pft el cual se define bajo Configuración -> Configuración de la base de Usuarios

Presentación del estado de cuenta

Utiliza el formato trans/pfts/[lenguaje-activo]/loans_display.pft el cual tiene el siguiente contenido.

v10,'^'                                          /*  Número de inventario        */
v90'^',                                          /*  Número de  clasificación    */
mdl,v100,mpl,'^'                                 /*  Descripción del objeto      */
v80,'^'                                          /*  Tipo de Objeto              */
v30*6.2,'-',v30*4.2,'-',v30.4," "v35,'^',        /*  Fecha y hora del préstamo   */
v40*6.2,'-',v40*4.2,'-',v40.4," "v45,'^',        /*  Fecha y hora de devolución  */
v70,'^',                                         /*  Tipo de usuario             */
f(mfn,1,0),'^'                                   /*  Mfn del registro            */
v30,'^'                                          /*  Fecha ISO de préstamo       */
v40,'^'                                          /*  FechaISO de devolución      */
v20,,'^',                                        /*  Código de usuario           */
f(nocc(v200),1,0),,'^'                           /*  Número de renovaciones      */
v95,'^'                                          /*  Número control del objeto   */
v98,'^'                                          /*  Base de datos               */
v12,'^'                                          /*  Volumen                     */
v15,'^'                                          /*  Tomo                        */
v1,'^'                                           /*  Tipo de movimiento: P=préstamo X=devolución */
v400'^'                                          /*  Política de préstamos       */
v500*6.2,'-',v500*4.2,'-',v500.4/                /*  Fecha real de devolución    */

En la versión actual de ABCD (hasta el 18-02-2015) este formato no debe modificarse por cuanto el resultado se presenta directamente desde los scripts. Se realizarán cambios a fin de que este formato pueda ser manipulado por el usuario

Presentación de las transacciones de préstamos, devoluciones y renovaciones procesadas por las opciones correspondientes

En la versión actual de ABCD (hasta el 18-02-2015) este formato es interno y no puede ser modificado por el usuario.

Suspensión de un usuario

En la versión actual de ABCD (hasta el 18-02-2015) este formato es interno y no puede ser modificado por el usuario.

Multas

En la versión actual de ABCD (hasta el 18-02-2015) este formato es interno y no puede ser modificado por el usuario.

Historico de un usuario

Para presentar la información de los préstamos y devoluciones utiliza el formato trans/pfts/[lenguaje-activo]/loans_display.pft ya mencionado anteriormente. Para las suspensiones y multas utiliza los formatos internos referenciados anteriormente

Presentación de las reservas de un título

Para cambiar la presentación de las reservas en los scripts:

output_circulation/
     rs01.php                           Listado de reservas
circulation/
     devolver.php                       Devolución y muestra de las reservas  en espera
     situacion_de_un_objeto_ex.php      Presenta reservas del objeto solicitado (bd con copias)
     situacion_de un objeto_db_ex.php   Presenta reservas del objeto solicitado (bd sin copias)
     usuario_prestamo_presentar.php     Presenta las reservas del objeto a prestar
     borrower_history.php               Histórico del usuario
reserve/
     buscar.php                         Localizar el item a reservar
     reservar_ex.php                    Registrar la reserva
     show_reservations.php              Muestra las reservas en una ventana aparte (cuando sea permitido)

puede utilizarse el formato rsvr.pft que presenta el registro extraído de la base de datos de reservas (ver: Base de datos de reservas).

Ejemplo:

v10, " ("v12")",'|',                                                                  /*Código y tipo de usuario*/
ref(['users']l(['users']'CO_'v10),v30,| (<a href=mailto:|v160|>|v160|)</a>|),'|' ,    /*Nombre y correo*/
v15' - 'v20'|',                                                                       /*BD-No.control del objeto */
'#REFER#','|'                                                                         /*Referencia bibliográfica
v30*6.2,"/"v30*4.2,"/"v30.4,' 'v31, '  'v32,'|'                                       /*Fecha, hora y operador */
if v1='0' or v1='3' then 
    if p(v40) and v40<mid(date,0,8) then,'<font color=red>' fi,
fi, v60*6.2,"/"v60*4.2,"/"v60.4 '-', v40*6.2,"/"v40*4.2,"/"v40.4'</font>|',           /*Fecha desde-hasta espera*/
v130*6.2,"/"v130*4.2,"/"v130.4'|',                                                    /*Fecha de cancelación */
v200*6.2,"/"v200*4.2,"/"v200.4,'|',                                                   /*Fecha del préstamo*/
v1/                                                                                   /*Situación de la reserva*/

Note que cada columna generada por el formato está delimitada por | y que el salto de línea / solo debe aparecer al final del formato ya que es la forma de delimitar cada registro

El literal #REFER# señala el punto donde debe insertarse la referencia bibliográfica del objeto, lo cual se hace utilizando el formato loans_display.pft localizado en la carpeta loans de la base de datos donde está almacenado el objeto reservado.

Para darle nombre a las columnas generadas por el formato, debe crear el archivo rsvr_h.txt en el cual se debe incluir en cada línea el título de la columna correspondiente. Por ejemplo, los titulos de las correspondiente a la pft anterior serán los siguientes:

Código de usuario
Nombre
Número de control
Referencia
Fecha reserva y Operador
Lapso de espera
Fecha cancelación
Fecha préstamo
Situación

Si no se suministran los formatos rsvr.pft y rsvr_h.txt el sistema asume por defecto los formatos reserve_01.pft y tit_reserve_01.tab para construir el despliegue de las reservas

Situación de un objeto

Cuando se trabaja con copias

En este caso se utiliza el script situación_de_un_objeto_ex.php el cual trabaja al interior con las siguientes bases de datos:

base de datos catalográfica en la cual está descrito el objeto. Se presenta con el formato loans_display.pft el cual se localiza en la carpeta loans de la base de datos respectiva. (Nota: todos los procesos del sistema de préstamos que despliegan el registro bibliográfico usan este formato)

copies que contiene un registro por cada copia del objeto. Se utiliza para obtener el número de control y nombre de la base de datos que contiene al objeto. El formato utilizado es solo para uso interno del script

loanobject para obtener las copias que están habilitadas para préstamo. Este formato se puede configurar utilizando:

          sob.pft     Para el despliegue de las copias (en forma de columna)
          sob_h.txt   Para darle nombre a las columnas que se generen por sbo.pft

El formato sob.pft y el archivo sob_h.txt trabajan sobre loanobject por lo que deben estar colocados en la carpeta loanobjects/pfts/[lenguaje-activo].

Si estos archivos no se encuentran, ABCD asume los siguientes:

sob.pft

(if P(v959) then 
    v1[1]'|'v10[1]'|'
    v959^i,'|',v959^l,'|',v959^b,'|',v959^v,'|',v959^t,'|',v959^o,'|',
    ref(['trans']l(['trans'],'TR_P_'v959^i),v20,
    ref(['users']l(['users']'CO_'v20),' - 'v30)'|',v40*6.2,'/',v40*4.2,'/',v40.4),/ 
fi),/

El formato aplica sobre el registro de loanobject el cual tiene la siguiente estructura: Estructura del loanobjects

sob_h.txt

No. de Inventario Main Library Branch Library Volumen Tomo Tipo de Items Prestado a Fecha de devolución

El formato, una vez aplicado sobre el registro de loanobjects, producirá esta salida:

1|biblo|12345678|ml|biblioteca secundaria|volumen/parte|tomo|L|02|12/07/2014
1|biblo|230001|ml||||L|

Y la presentación final será la siguiente:

330.987.L349.1990
Plan estratégico 2001-2005
Ubicación: Biblioteca

No. de Inventario (1) Main Library (2) Branch Library (3) Volumen (4) Tomo (5) Tipo de Items(6) Prestado a (7) Fecha de devolución (8)
12345678 ml biblioteca secundaria volumen/parte tomo L 02 - Tanio Reyes, Josefa 12/07/2014
230001 ml ml L
230002 ml ml L
230003 ml ml L
90910 0-Precatalogado (Copia no está en loanobjects)
90911 0-Precatalogado (Copia no está en loanobjects)

Estas columnas se generan del formato mostrado de la siguiente manera

1 v959^i
2 v959^l
3 v959^b
4 v959^v
5 v959^t
6 v959^o
7 ref(['trans']l(['trans'],'TR_P_'v959^i),v20,
    v20 Código del usuario extraído de la base de datos de transacciones al buscar si hay alguna transacción 
        de préstamo pendiente para ese número de inventario (v959^i)
    ref(['users']l(['users']'CO_'v20),' - 'v30)
        Hace la búsqueda sobre la base de datos **users** y se trae el nombre del usuario
    
8 '$$$',v40*6.2,'/',v40*4.2,'/',v40.4)
    v40 Fecha de devolución extraída del préstamo localizado para el número de inventario (v959^i) y formateada 
        ya que en la base de datos se almacena en formato ISO          

Normas para la construcción del formato sob.pft

  1. El formato debe comenzar con v1[1]’|‘v10[1]’|‘ para poder recuperar el nombre de la base de datos catalográfica (v10) y número de control de la copia (v1) para hacer la búsqueda en la base de datos catalográfica y presentar la información del título al cual pertenecen las copias localizadas. Note el uso de [1] al formatear estos campos para asegurar que siempre se recupere la primera ocurrencia ya que v1 y v10 no son repetibles pero están incluídos al interior de un grupo repetible.
  2. Cada columna de los datos extraídos tanto de v959 como la información obtenida como resultado de la aplicación del comando REF sobre la base de datos trans, deben estar separadas por ‘|’ (literal incondicional) para que el script pueda separar las columnas y presentar la información correctamente en forma de tabla
  3. El archivo sob.tit’ es un archivo ascii que contiene el nombre de las columnas extraídas mediante aplicación del formato sob.pft (sin considerar aquellas generadas por v1 y v10 que son sólo para uso interno). Cada columna debe estar separada por un salto de línea. Note que no es una pft sino un archivo de texto, por lo cual no hace falta el uso de comillas simples
  4. El formato debe estar colocado al interior de: (if p(v959) then … /fi) para asegurar que no se generen líneas innecesarias
  5. Solo puede colocarse salto de línea (/) al final del formato (antes de fi) para asegurar que cada línea producida por el formato corresponda a una ocurrencia del campo repetible v959, o sea, una copia del objeto
  6. Si se coloca REF hacia la base de datos de transacciones, éste debe estar al final del formato para evitar que las columnas producidas se descuadren. Si se desea leer el nombre del usuario puede colocarse un REF al interior del REF hacia la base de datos de transacciones utilizando como clave de acceso el número de usuario, precedido del prefijo con el cual se indizó y colocando como formato de extracción el campo con el nombre del usuario. Si se desea que el nombre del usuario quede en una nueva columna el mismo debe precederse con ’$$$’. Si el nombre va a ocupar la misma columna del código puede utilizarse el salto de línea
  7. Las bases de datos users, trans y loanobjects deben estar incluídas en el syspar.par

Si un item se encuentra en copies pero no en loanobjects se indica con el mensaje No está en loanobjects precedido por el status del item (campo 200 de copies)

Cuando se trabaja sin copias

En este caso se utiliza el script situación_de_un_objeto_db_ex.php y como las copias están al interior del registro catalográfico el formato que se cree para formatear la situación de un objeto debe estar asociado con la base de datos en cuestión.

La configuración incluye los siguientes recursos:

          sob.pft     Para el despliegue de las copias (en forma de columna)
          sob_h.txt   Para darle nombre a las columnas que se generen por sbo.pft

El formato sob.pft y el archivo sob_h.txt deben estar colocados en la carpeta [base_de_datos_catalográfica]/pfts/[lenguaje-activo].

Si estos archivos no se encuentran, ABCD asume los siguientes:

sob.pft

($pft_in,'|',
ref(['trans']l(['trans'],'TR_P_'$pft_in),v20, 
ref(['users']l(['users']'CO_'v20),' - 'v30),'|',v40*6.2,'/',v40*4.2,'/',v40.4),
/)

donde $pft_in se obtiene a partir del archivo de configuración que establece el formato para leer el número de inventario en la base de datos.

sob_h.txt

No. de Inventario Prestado a Fecha de devolución

El formato, una vez aplicado sobre la base de datos producirá la siguiente salida:

La cual al ser preparada por ABCD producirá el siguiente resultado

Número de Inventario Prestado a Fecha de devolución
000001 01 - Guilárte, Angela Margarita 02/07/2014
0000002

Normas para la construcción del formato sob.pft

  1. El formato debe comenzar con la extracción del número de inventario
  2. Cada columna de los datos extraídos tanto del campo de existencias como la información obtenida como resultado de la aplicación del comando REF sobre la base de datos trans, deben estar separadas por ‘|’ (literal incondicional) para que el script pueda separar las columnas y presentar la información correctamente en forma de tabla
  3. El archivo sob.tit’ es un archivo ascii que contiene el nombre de las columnas extraídas mediante aplicación del formato sob.pft. Cada columna debe estar separada por un salto de línea. Note que no es una pft sino un archivo de texto, por lo cual no hace falta el uso de comillas simples
  4. Debe asegurarse que cada ocurrencia del campo de existencias esté en una nueva línea. Para ello incluya / antes de cerrar el paréntesis que define al grupo repetible
  5. Si se coloca REF hacia la base de datos de transacciones, éste debe estar al final del formato para evitar que las columnas producidas se descuadren. Si se desea leer el nombre del usuario puede colocarse un REF al interior del REF hacia la base de datos de transacciones utilizando como clave de acceso el número de usuario, precedido del prefijo con el cual se indizó y colocando como formato de extracción el campo con el nombre del usuario. Si se desea que el nombre del usuario quede en una nueva columna el mismo debe precederse con ’|’. Si el nombre va a ocupar la misma columna del código puede utilizarse el salto de línea
    o un guión para separar el código del nombre
  6. Las bases de datos users y trans deben estar incluídas en el syspar.par