Actualización de hojas de entrada de koha

Se me presenta el siguiente problema, agregar y borrar campos de la hoja de entrada de datos de koha... muchos campos y subcampos. Entonces haciendo un pequeño análisis podemos hacer una actualización por base de datos ahorrando tiempo y dejando pequeños sql que podemos replicar. Vamos al código:

#buscamos los campos que necesitamos modificar, en este caso vemos el campo 520 con todos los subcampos de la hoja de entrada BKS (libros o books)

SELECT frameworkcode, tagfield, tagsubfield, hidden FROM marc_subfield_structure WHERE frameworkcode = 'BKS' AND tagfield = '520';

De aquí podemos ver que la columna hidden guarda un número que indica la visibilidad del subcampo. Para ver los valores posibles me dirijo al editor de subcampos y veo el inspector de código.

De aquí vemos algunas combinaciones (las que a mi me interesan):

  • Campo no visible en el editor(OPAC:1 - Intranet:1 - Editor:0 - Colapsado:0): -6
  • Campo visible en el editor(OPAC:1 - Intranet:1 - Editor:1 - Colapsado:0): 0
  • Campo visible en el editor, pero colapsado(OPAC:1 - Intranet:1 - Editor:1 - Colapsado:1): -1

Con estos datos ya podemos armar nuestro sql de actualización de subcampos, para el campo 520 me solicitan que:

  • subcampos $a y $b estén visibles (hidden:0)
  • subcampos $3 y $u estén colapsados (hidden:-1)
  • subcampos $2 $6 $8 $c y $z estén ocultos (hidden:-6)

Con lo que quedaría:

UPDATE marc_subfield_structure SET hidden = 0 WHERE frameworkcode = 'BKS' AND tagfield = '520' AND tagsubfield IN ('a' , 'b');
UPDATE marc_subfield_structure SET hidden = -1 WHERE frameworkcode = 'BKS' AND tagfield = '520' AND tagsubfield IN ('3' , 'u');
UPDATE marc_subfield_structure SET hidden = -6 WHERE frameworkcode = 'BKS' AND tagfield = '520' AND tagsubfield IN ('2' , '6', '8', 'c', 'z');

Con esta lógica se pueden actualizar las hojas de entrada de forma masiva.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.