Lea en AS/400 System i . . .

Aprovechando las posibilidades del WRKACTJOB a través de sus parámetros

Obtenga una salida diferente de la habitual al ejecutar el comando WRKACTJOB, aprovechando lo ofrecido por algunos parámetros interesantes que posibilitan entre otras acciones la de renovar automáticamente la pantalla resultante.

FaceBookTwitterGoogle+

Cómo generar un registro personalizado en el History Log del AS400

Conozca cómo generar un  registro personalizado en las anotaciones históricas (History Log) del AS400.

 

En este tip, como ejemplo: envíe un mensaje desde un programa CL para registrar de manera permanente cuándo y quién ejecutó una aplicación determinada.

En AS400 toda comunicación entre elementos del sistema: entre programas, entre trabajos, entre usuarios y entre usuarios y programas, se produce a través de mensajes.

IBM provee varios comandos CL para envío de mensajes, que serán usados en diferentes escenarios dependiendo "desde dónde se envíe" y "a quién/qué se envíe".

Desde la interfáz "pantalla verde" y dependiendo del entorno de ejecución, es posible ejecutar los siguientes los comandos CL para el envío de mensajes: SNDMSG (Enviar mensaje), SNDBRKMSG (Enviar mensaje de interrupción), SNDUSRMSG (Enviar mensaje de usuario), SNDPGMMSG (Enviar mensaje de programa), SNDNETMSG (Enviar mensaje de red).

Una característica de los comandos SNDMSG (Enviar mensaje) y SNDPGMMSG (Enviar mensaje de programa) es la posiblidad de enviar mensajes al History Log (Anotaciones históricas) del sistema, que tiene asociada una cola de mensajes especial denominada QHST en la biblioteca QSYS.

Esto permitiría registrar explícitamente en las anotaciones históricas del sistema, mediante el envío de un mensaje personalizado, una acción determinada realizada por un usuario o una aplicación dentro del sistema.

Todos los mensajes que se envían al History Log (por el sistema o explícitamente enviados por un usuario), quedan registrados en archivos físicos de datos (objetos *FILE PF-DTA)  asociados al registro histórico del sistema ubicados en la biblioteca QSYS, que son creados automáticamente por el sistema con nombres QHSTyyddda (yyddd-fecha juliana de creación, seguido de una letra), cuando se llega a un tamaño especificado, dado por el valor del sistema QHSTLOGSIZ.

El History Log, por medio de QHST, lleva el registro de todas las actividades dentro del sistema AS400, relacionadas con el arranque y finalización de jobs, cambios en el estado de los dispositivos, cambios a valores del sistema, mensajes y respuestas sobre la cola de mensajes del operador, y entre otras cosas con la actividad relacionada con las PTFs.

Teniendo en cuenta que los archivos físicos de datos en donde se guardan los mensajes del History Log, simplemente por estar ubicados en QSYS son archivos protegidos para su acceso, enviar mensajes al QHST, puede servir, por ejemplo,  como un recurso para mejorar la auditoría que se realiza sobre una aplicación determinada y visualizando el History Log se podrá conocer datos sobre quién la ejecutó, cuándo y cuántas veces.

Un programa CL ejemplo que envía un mensaje a QHST

El siguiente es un código ejemplo en lenguaje CL que incluye una sentencia SNDMSG que envía un mensaje al History Log:

  PGM
  DCL VAR(&JOB) TYPE(*CHAR) LEN(10)
  DCL VAR(&USER) TYPE(*CHAR) LEN(10)
  DCL VAR(&NBR) TYPE(*CHAR) LEN(10)
  DCL VAR(&FECHA) TYPE(*CHAR) LEN(6)
1 RTVJOBA JOB(&JOB) USER(&USER) NBR(&NBR)
2 RTVSYSVAL SYSVAL(QDATE) RTNVAR(&FECHA)
3 SBMJOB CMD(CALL PGM(TEKTCL/PROG10)) JOB(AAUDITAR)
4 SNDMSG MSG('Aplicación TEKTCL/PROG10 requerida por +
  el usuario' *BCAT &USER *BCAT 'el' +
  *BCAT &FECHA) TOMSGQ(QHST)
  ENDPGM

Donde:

1 Recupera los atributos del job, entre ellos el nombre del usuario (en la variable &USER) que corre el programa CL presentado en la pantalla, para incorporarlo en el mensaje enviado a QHST.

2 Recupera el valor del sistema QDATE (en la variable &FECHA) para poder concatenar la fecha al mensaje enviado al History Log.

3 Somete la ejecución de (en el ejemplo) el programa que se desea auditar (PROG10 de la biblioteca TEKTCL)

4 Se ejecuta el comando SNDMSG con el que se envía el mensaje a la cola de mensajes QHST. (En el parámetro TOMSGQ también puede especificarse *HSTLOG). El texto del mensaje a enviar contendrá: el nombre del usuario y la fecha en que se ejecutó el programa.  Ambos valores recuperados con los comandos RTVJOBA (Recuperar Atributos del Trabajo) y RTVSYSVAL (Recuperar valor del sistema), mencionados en 1 y 2.

Luego de ejecutar el programa CL (que en el ejemplo somete la ejecución del programa PROG10 de la biblioteca TEKTCL), al visualizar el History Log, se podrá encontrar entre los mensajes ya registrados en las anotaciones históricas del sistema, el mensaje enviado por el programa CL que se usó como un ejemplo de envío de mensajes al History Log.

Visualizando el mensaje que se envió al History Log

Al ejecutar el comando DSPLOG (Visualizar Anotaciones), se visualizará la pantalla siguiente, donde se puede observar entre otros, el mensaje enviado por el programa CL ejemplo analizado anteriormente:

AS400-comando-DSPLOG

 

Para tener en cuenta ...

  • El uso indicado en el presente tip es sólo un ejemplo de la clase de registro que se puede llevar, enviando un mensaje personalizado, además de las anotaciones (mensajes) que naturalmente registra el sistema ante determinadas acciones realizadas en el sistema AS400.
  • Las anotaciones históricas constituyen un registro permanente, por lo tanto como sucede con cualquier otro mensaje enviado a QHST por el propio sistema, los mensajes enviados por un programa ejecutado por un usuario (como se mostró en el ejemplo) también quedan protegidos de ser eliminados. No ocurre lo mismo si  el mensaje se enviara a una cola de mensajes de usuario, o a una cola de mensajes de dispositivo, donde el mismo es suceptible de ser eliminado.
  • Sólo los usuarios con la autorización correspondiente pueden suprimir los archivos físicos de datos (con nombre genérico QHSTyyddda que se encuentran en la biblioteca QSYS), y que registran los mensajes de las anotaciones históricas.

n_Nora_Salmun

- Especialista AS400

- Supervisor editorial Teknodatips


Copyright 2012 - 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.
Si desea suscribir otra dirección de e-mail para que comience a recibir las Notas Técnicas AS400 - IBM i, envíe un mensaje desde esa dirección a info@nsitech.com.ar  o  a letter400@nsitech.com.ar, aclarando nombre, empresa, cargo y país del suscriptor.

AS400 , iSeries, System i, IBM Power Systems, IBM i son marcas registradas de IBM. IBM no es el editor de esta publicación y no es responsable de la misma en ningún aspecto. La información contenida en esta publicación ha sido generada por nuestros especialistas a partir de fuentes consideradas confiables y del ejercicio profesional cotidiano. No obstante, por la posibilidad de error humano, mecánico, cambio de versión u otro, NS iTech - Teknoda no garantiza la exactitud o completud de la misma.
COPYRIGHT NS iTech - TEKNODA S.A.  PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL SIN CONSENTIMIENTO DE  NS iTech - TEKNODA


 

Lea en AS/400 Tips . . .

Infografía comparativa Comandos de SAVE RESTORE del AS400

save_restore_thumbnail

Conozca y diferencie visualmente qué partes del almacenamiento resguarda y restaura cada comando y cada opción del Menú Salvar y Restaurar. PUEDE DESCARGAR UN FORMATO POSTER PARA IMPRESION.

Para lograr un entendimiento conceptual es de suma utilidad contar con una ayuda gráfica, que  permita diferenciarlos a primera vista. Nuestro equipo de especialistas ha desarrollado el "Infographics" que presentamos con este tip. Por supuesto, el mismo debe complementarse con la información detallada de los innumerables parámetros de cada comando, pero es un útil marco de referencia  para recordar el área de injerencia de cada comando.

LEER ESTE ARTICULO >>>>>

 

 

 

Copyright © 2024 Teknoda Tech Portal & Training. Todos los derechos reservados.
Joomla! es software libre, liberado bajo la GNU General Public License.