jueves, 14 de febrero de 2013

CL: Nuevas funciones incorporadas en V7R1

He leído un interesante articulo, en la web de SecureMyi, donde se explican las nuevas funciones incorporadas del lenguaje CL en la V7R1 (es necesario instalar la ptf SI49061).

JobD que usan una Cola de Trabajos o de Salida

Como continuación a la entrada anterior de este blog "JobD que usan una Biblioteca (FNDJOBDL)", nos podemos encontrar con el caso de querer hacer limpieza de Colas de Entrada y/o Colas de Salida y no sabemos en que Descripciones de Trabajo están definidas. Para ello realice una modificación de la utilidad FNDJOBDL, y poder realizar dichas funciones con dos nuevas utilidades:
  • Find Job Queue on Jobd (FNDJOBDQ)
  • Find Out Queue on Jobd (FNDJOBDO)
Con un funcionamiento idéntico a FNDJOBDL, obtendremos de forma fácil y rápida una lista de las descripciones de trabajo (JOBD) en las que participa una Cola de Trabajos (JOBQ)  o una Cola de Salida (OUTQ).

Podéis bajaros el código de los siguientes enlaces: FNDJOBDQ o FNDJOBDO.

jueves, 7 de febrero de 2013

JobD que usan una Biblioteca (FNDJOBDL)

Cuantas veces revisando las bibliotecas del sistema hemos eliminado alguna, que no se usaba, y después han empezado a fallar SBMJOB por que no encuentran esa biblioteca en la descripción de trabajo que utilizan.
Pues bien, la utilidad JCRLJOBD, publicada hace tiempo por Craig Rutledge, viene en nuestra ayuda. Esta utilidad busca, en todas las descripciones de trabajo (JOBD) del sistema, si contienen una biblioteca en su lista inicial de bibliotecas (INLLIBL).
Como dicha utilidad tenia salida por pantalla, realice una modificación para que, opcionalmente, también pudiera hacerlo a un archivo de spool, de esta forma puedo someter el nuevo mandato FNDJOBDL y documentar las Descripciones de Trabajo que utilizan una biblioteca.
En la pantalla podemos ver el funcionamiento de dicha utilidad, y un ejemplo de su salida por pantalla o spool, buscando en que JobD participa la biblioteca QGPL:
Podéis bajar el código de este enlace FNDJOBDL.

viernes, 1 de febrero de 2013

Uso del mandato RGZPFM



El mandato Reorganizar miembro de archivo físico (RGZPFM) tiene dos funciones principales:

  • Comprimir (remover registros eliminados) de un miembro de un archivo físico (PF), para reducir el tamaño del objeto.
  • Ordenar los registros de la tabla con una clave, por lo general la clave principal usando el valor KEYFILE(*FILE), aunque hay que tener en cuenta que si el código de la aplicación es necesito leer los registros con la secuencia de llegada, hemos de utilizar el valor *NONE, para dicho parámetro.
Mientras se ejecuta el proceso de compresión, el mandato RGZPFM bloquea en exclusividad el objeto, por lo que, dependiendo del número de registros, el tamaño de la tabla, y la reconstrucción de los indices de la tabla, la ejecución podría durar mucho tiempo y habla que tenerlo en cuenta para buscar una ventana donde se pueda ejecutar. También está recomendado, yo diría prohibido, cancelar la ejecución del RGZPFM (* ver nota al final), ya que podría dañar el objeto; por ello es recomendable, antes de ejecutarlo, realizar una copia de seguridad del archivo, sus índices y tablas asociadas (restricciones) y detener las aplicaciones que están utilizando la tabla.