Bienvenidos a Iseries Venezuela

Las mejores prácticas, recursos, tips, enlaces, videos y artículos para informáticos relacionados con el Iseries y el As/400 lenguajes de programación RPG, ILE RPG y SQL.

The best practices, resources, tips, links, videoes and articles for computer related to the Iseries and the As/400 languages of programming RPG, ILE RPG and SQL.

Saturday, December 6, 2014

Recuperando Los Mensajes de Error: RCVMSG














Hola!  A mis seguidores de IseriesVenezuela.

 Gracias por continuar visitando este blog escrito ustedes.

En esta oportunidad vamos a tratar algo sencillo el comando: RCVMSG
Como hemos visto en artículos anteriores, para controlar los errores de ejecución utilizamos frecuentemente el MONMSG en los programas CLP. Sin embargo, aunque este comando evita que el proceso se detenga no nos suministra el mensaje de error que fue monitoreado.

En muchas instalaciones donde se ejecutan procesos nocturnos múltiples y concurrentes resulta una verdadera pesadilla revisar inmensos listados o anotaciones del Log que arroja el sistema operativo durante la ejecución de los procesos.  En esos logs se anota los CALL, CRTPF, ENDJOB e infinidad de operaciones que retornan complicado el proceso de buscar cual fue el resultado del proceso.

El comando MONMSG contempla la ejecución de acciones específicas
 DO(EXEC)… ENDDO
Podemos ejecutar el comando RCVMSG dentro del grupo de instrucciones EXEC del comando MONMSG. En su expresión más sencilla el comando RCVMSG permite recuperar, a través de variables declaradas dentro del programa CLP el mensaje CPFXXXX y su descripción.
RCVMSG   MSGID(&MID) MSG(&MTEXT)
Luego de capturado el id del Mensaje MID y el texto del mensaje, Mtext, podemos grabarlo en un archivo de errores construido por nosotros. 

Una vez terminado el proceso, consultamos nuestro archivo y podemos rápidamente ver que errores fueron monitoreados durante la ejecución del proceso. Construimos el archivo de errores a nuestra conveniencia. Podemos colocar campos como: Proceso, Sistema, Modulo, Fecha, Usuario, Job, Programa que se estaba ejecutando, Hora, Msgid y Msg-texto.

Cada vez que se ejecuta el proceso se puede realizar un CLRPFM del archivo al principio de la ejecución del mismo y con esto evitamos ocupar memoria con mensajes de fechas anteriores. 

Otro uso práctico del archivo sería generar una estadística por día de la semana, usuario, o cualquier combinación de estos campos para determinar si los errores siguen ocurriendo o se han solucionado completamente.

Si te pareció interesante, reenvíalo a un amigo haciendo click en el sobrecito que está al final del artículo. El conocimiento es valioso, compártelo. 


Autor: Ing. Liliana Suárez

No comments: