AS400 V5R4: Cómo controlar vuelco de job log | Gestión mejorada con COMANDO WRKJOBLOG
- Detalles
- Escrito por Nora Salmún
AS400 V5R4: Aprenda cómo controlar la generación y vuelco de anotaciones de trabajo y cómo emplear el nuevo comando WRKJOBLOG para gestionarlas.
Una de las principales herramientas disponibles en el AS400 (iseries - System i) con las que cuentan los operadores o administradores del sistema para detectar o analizar problemas, es la posibilidad de observar las anotaciones del trabajo, es decir, la job log de un determinado trabajo.
Estas anotaciones realizadas por el sistema, permiten determinar errores eventuales ocurridos durante la ejecución de un job (un trabajo) o simplemente saber qué acciones realizó un usuario desde su job.
A pesar de su utilidad, muchas veces puede resultar complicado trabajar y gestionar todas las anotaciones de trabajo que se acumulan en el sistema.
El nuevo mandato WRKJOBLOG (Trabajar con anotaciones de trabajo) incluido en la versión del sistema operativo IBM i V5R4, facilita estas tareas. Este mandato ofrece una nueva forma de buscar, mostrar y eliminar en el sistema AS400 (System i) anotaciones de trabajo pendientes y las que fueron almacenadas como archivos de spool.
Para poder controlar la manera en que se generan las joblogs, en este tip conoceremos algunos detalles del nuevo parámetro visible ahora entre los atributos de los trabajos: Salida de anotaciones de trabajo (parámetro LOGOUTPUT).
Este atributo está disponible en los comandos SBMJOB, CHGJOB, CRTJOBD y CHGJOBD, y determina cómo se producirán las anotaciones de trabajo (job log) cuando finalice el trabajo y además veremos la forma de gestionar las job logs a través del nuevo comando WRKJOBLOG disponible a partir de la V5R4 en los sistemas AS400 (System i).
Cómo prevenir que se produzca un “vuelco” de la job log
A partir de la versión del sistema operativo IBM i V5R4, existe la posibilidad de que las job logs sean generadas “a pedido”. Es decir, que el “vuelco” de las job logs se produzca sólo cuando sea necesario, evitando que se realice algún tipo de trabajo en el sistema para producirla.
Es posible entonces, controlar que se produzca la job log por más que el trabajo haya finalizado en forma anómala.
Hasta ahora, sabemos que para prevenir que una job log sea generada al terminar la ejecución de un trabajo batch, por ejemplo, se puede especificar el valor *NOLIST en el parámetro “Texto” contenido en el atributo “Anotaciones de Mensaje” (parámetro LOG) en algunos comandos asociados con el manejo de trabajos.
Ese parámetro se puede especificar en:
- la Job Description de donde se tomarán los atributos de definición para ese job (CRTJOBD, CHGJOBD)
- el comando SBMJOB (Submit Job) en el momento de someter el trabajo
- el comando CHGJOB, si el trabajo todavía está en la cola de trabajos
- el comando CHGJOB para cambiar ese valor de atributo cuando el trabajo ya está en ejecución.
En cualquiera de los modos que se haya especificado este valor dentro de las Anotaciones de mensajes para un job, el valor *NOLIST por default, implicará que si el trabajo finaliza de manera normal, no se va a producir el “vuelco” de la joblog de esa job log y sólo se producirá dicho vuelco (con la información escrita por el sistema para ese trabajo dependiendo de los parámetros de anotación de mensajes), si el mismo finaliza de manera anómala.
Para un trabajo interactivo, tener en cuenta que lo que se especifique (*LIST, *NOLIST) en el parámetro LOG (Anotaciones de trabajo) en el comando SIGNOFF prevalecerá sobre lo establecido dentro de los parámetros del job de las maneras mencionadas anteriormente.
Nuevo atributo de definición en los trabajos: parámetro LOGOUTPUT (Job Log Output)
Si bien en versiones anteriores del sistema operativo del AS400 – iSeries – System i, podían encontrarse trabajos con anotaciones de trabajo pendientes como efecto de la ejecución del comando PWRDWNSYS, a partir de la versión IBM i V5R4, van a encontrarse más situaciones semejantes (trabajos con anotaciones de trabajos pendientes) debido a que en esta versión del OS/400 se puede prevenir para cualquier trabajo que se produzca una job log cuando el mismo finalice, pero que igualmente la job log sea conservada en el sistema en un estado pendiente.
En los comandos Submit Job (SBMJOB), Change Job (CHGJOB), Create Job Description (CRTJOBD) o Change Job Decription (CHGJOBD), existe un nuevo parámetro “Salida de anotaciones de trabajo”, con palabra clave LOGOUTPUT que puede tomar distintos valores.
Por lo tanto, cuando un job finaliza en el sistema AS400 (System i – iSeries), pueden ocurrir una de las siguientes acciones dependiendo del valor establecido en el parámetro LOGOUTPUT :
- *JOBLOGSVR - las job logs serán generadas por un servidor de job logs (Job Log Server, luego de que el job haya completado su actividad. (Más detalle del Job Log Server en la sección “Para tener en cuenta …” más abajo en este tip).
- *JOBEND - El mismo job produce la job log: Si el job no puede producir su propia job log (por ejemplo, si el sistema está procesando un PWRDWNSYS), la misma será producida por el job log Server. Esta es la manera en la que generaban las job logs hasta esta versión.
- *PND - La job log no va a generarse, pero será puesta en estado pendiente.
- *SYSVAL – usa el nuevo valor del sistema QLOGOUTPUT (Job Log Output)
Tener en cuenta que si se especifica *NOLIST en el parámetro LOG de las anotaciones de mensaje para un job, y el trabajo finaliza normalmente, NO se producirá la job log y tampoco existirá job log pendiente de generarse.
También, considerar que si el valor en el parámetro LOGOUTPUT se especifica con antelación en la Job Description, todos los trabajos que posteriormente tomen sus atributos de definición de esta Job Description, tendrán un comportamiento y un accionar particular con respecto a la generación de la job log.
En la Job Description (Descripción del trabajo), este nuevo atributo LOGOUTPUT especifica si la job log es producida por el Job Log Server, por el job en sí mismo o no es generada de ninguna manera!.
Si el valor del parámetro LOGOUTPUT en la Job Description especifica *SYSVAL, se hará referencia al nuevo valor del sistema QLOGOUTPUT (disponible a partir de la versión IBM i V5R4), que permitirá controlar cómo y bajo qué circunstancias se produce la job log. El valor por default establecido para el mismo es: *JOBEND. Esto es así por compatibilidad con versiones anteriores del sistema operativo i5/OS.
- Si no se realizara posteriormente en el job ningún cambio en este parámetro, indicando otro comportamiento, lo especificado en la Job Description será tenido en cuenta para éste y todos los trabajos.
En la siguiente pantalla, como ejemplo, se especifica el valor del parámetro “Salida de anotaciones de trabajo”, con el valor *PND en el comando CHGJOB (Change Job). En este caso, se estará cambiando el comportamiento exclusivamente para este job, independientemente de lo que se haya establecido en la Job Description..
En este caso cuando se complete el job, la generación de la job log quedará en estado pendiente.
Por otro lado, como alternativa, se puede elegir trabajar con la interfaz gráfica iseries Navigator (System i Navigator), que a partir del release IBM i V5R4 cuando se selecciona un trabajo, desde el item Gestión de trabajos, la Ventana de Anotaciones de Trabajo dentro de las Propiedades del Trabajo, muestra el nuevo parámetro como se visualiza en figura siguiente:
Si ese campo (Producir salida de impresora para anotaciones de trabajo) se marca, se generan las anotaciones de trabajo cuando se completa el trabajo. Al marcar este recuadro también se activa el campo siguiente: Producido por, en que se puede cambiar cómo se generan las anotaciones de trabajo (Si por Job Log Server o por el trabajo en sí mismo). (Este campo está disponible en i5/OS V5R4 y versiones posteriores.)- Si se elige no marcar este campo, no se generan las anotaciones de trabajo. Las anotaciones de trabajo permanecen en estado de pendientes hasta que se eliminan.
El mandato WRKJOBLOG
El comando WRKJOBLOG es la interfaz de la versión del sistema operativo del AS400 IBM i V5R4 (y posteriores) que permite trabajar con anotaciones de trabajo (job logs) de trabajos finalizados, en cualquiera de dos estados:
- anotaciones de trabajo en spool
- anotaciones de trabajo pendientes
La siguiente pantalla muestra la salida del comando WRKJOBLOG cuando se le solicita la pantalla para ejecutarlo (F4). Allí se puede elegir qué anotaciones de trabajo obtener en la salida (en qué estado), y seleccionar un rango por período de tiempo, o restringirla a determinados jobs. Por default este mandato muestra sólo los trabajos finalizados con anotaciones de trabajo pendientes (pero se puede seleccionar: *PENDING, *SPOOLED o ambos), para la fecha corriente y para todos los trabajos.
Una salida posible para la petición de ese comando, siguiendo los criterios de selección indicados, se visualiza en la siguiente pantalla:
Para la salida que se muestra en la pantalla anterior, las opciones disponibles dan la posibilidad de eliminar la entrada de anotaciones de trabajo, visualizar las anotaciones de trabajo que están pendientes (ver los mensajes que se grabaron en la job log mientras el trabajo estaba activo), y además trabajar con el trabajo que tiene asociada esa job log.
Por lo tanto, una ventaja del nuevo comando WRKJOBLOG es su utilidad para gestionar las anotaciones de trabajo pendientes y en spool de los trabajos finalizados, desde una sóla interfaz.
Para tener en cuenta...
- Las anotaciones de trabajo se crean y se van “cargando” con los mensajes de trabajos mientras los trabajos están activos y se retienen o se escriben en un archivo en spool cuando los trabajos finalizan. Si bien las anotaciones de trabajo pueden cambiar de pendientes a en spool, no pueden cambiar de estado spool a pendientes.
- Como se mencionó en el presente tip, si el estado del parámetro Salida de anotaciones de trabajo (LOGOUTPUT) es *PND, se indica al sistema no genere la salida a un archivo de spool (es decir no se generará el archivo de spool QPJOBLOG), cuando el trabajo finalice.
- Luego de haber realizado esa especificación se reconocerá a ese job (una vez que se complete su ejecución) en estado JOBLOG PENDING (por ejemplo, observando la salida del WRKUSRJOB), en vez de estar en OUTQ.
- Cuando se tiene que poner al sistema en estado restringido, puede ser útil hacer los cambios que correspondan en los subsistemas para que se evite generar una importante cantidad de job logs cuando se finalicen los mismos.
- En los releases anteriores, las anotaciones de trabajo se escribían mediante el trabajo SCPF. En la V5R4 este trabajo de escribir las anotaciones de trabajo y en esta versión esa tarea la realiza el Job Log Server.
- El Job Log Server arranca automáticamente cuando se inicializa el subsistema QSYSWRK y cuando finaliza el subsistema QSYSWRK, también termina el Job Log Server.
- El Job Log Server puede ser arrancado con el comando STRLOGSVR (Start Job Log Server) y finalizado con ENDLOGSVR (End Job Log Server).
- Puede arrancarse y finalizarse desde la interfaz gráfica iSeries Navigator (System i Navigator).
- El Job Log Server graba las anotaciones de trabajo para los trabajos que están en un estado de job log pendiente y que NO tienen el atributo de *PND.
- El valor recomendado para el parámetro LOGOUTPUT es *JOBLOGSVR para una mejor performance.
¿Conocía la existencia del comando WRKJOBLOG?
Nos interesa su comentario ...
Copyright 2011 - Teknoda S.A.
IMPORTANTE: “Notas técnicas de AS/400 - IBM i" se envía con frecuencia variable y sin cargo como servicio a nuestros clientes IBM i - AS/400. Contiene notas/tutoriales/artículos técnicos desarrollados en forma totalmente objetiva e independiente. NS iTech - Teknoda es una organización de servicios de tecnología informática y NO comercializa hardware, software ni otros productos. |