Sunteți pe pagina 1din 2

http://iseriesvenezuela.blogspot.com. Utilidad para monitorear cualquier mensaje de error http://iseriesvenezuela.blogspot.

com

Usualmente el comando MONMSG es utilizado por la mayora de los programadores para colocar cdigos de error conocidos y predecibles. Por ejemplo, en un programa CLP al agregar una librera en la lista de librera y la librera puede que ya exista en la lista, entonces monitoreamos el error CPF2103, para que el programa no se detenga y contine el proceso. Es posible la existencia de procesos cuyos errores no son predecibles a simple vista por el programdor y que pueden detener el programa, quedando a expensas de la accin del operador en ese momento. Una vez producido el error y abortado el programa, es necesario revisar el log del job que arroja el sistema operativo para descubrir cual fue el error. El proceso de bsqueda de errores puede volverse engorroso y largo y en algunos casos cuando el log del sistema o los listados del job son eliminados de un da para otro (en forma manual o automtica) se pierde el rastro del error. La siguiente rutina permite capturar el Identificador de mensaje y su descripcin, para aquellos mensajes que emite el sistema operativo en

Autora: Liliana Surez. E-mail: rpg.iseries@gmail.com

http://iseriesvenezuela.blogspot.com. Utilidad para monitorear cualquier mensaje de error


caso de errores inesperados para el programador. Se est provocando un error a manera de ejemplo con el comando RMVM (remover miembro de un archivo) en una librera y archivos ficticios. El Id del error y su texto son capturados en variables del programa y pueden ser grabado posteriormente en un archivo fsico de log de errores creado por el programador para su posterior revisin. Enlace a la descarga del fuente: https://skydrive.live.com/?sc=documents&cid=99e67619d21bbebb#!/? cid=99e67619d21bbebb&sc=documents&uc=1&nl=1&id=99E67619D21BBEBB%21559 /* PROGRAMA : ELABORADO POR : LILIANA SUAREZ */ /* FECHA : 07/07/11 */ /* OBJETIVO : ENVIO DE CDIGO Y DESCRIPCIN DE LOS MENSAJES */ /* EMITIDOS POR EL SISTEMA OPERATIVO. */ /************************************************************/ PGM DCL DCL DCL DCL DCL VAR(&ERRORMSGID) TYPE(*CHAR) LEN(7) VAR(&MSGTYPE) TYPE(*CHAR) LEN(2) VAR(&FILEMSG) TYPE(*CHAR) LEN(10) VAR(&ARCHIVO) TYPE(*CHAR) LEN(10) VAR(&TEXTO) TYPE(*CHAR) LEN(1000)

/* */ /* Provocamos un error a propsito: No existe la librera ni el archivo*/ RMVM FILE(LIBRERIA/ARCHIVO) MBR(*FIRST) /* Monitoreo de cualquier error del sistema */ MONMSG MSGID(CPF0000 MCH0000) EXEC(DO) /* En este primer comando RCVMSG se conoce el mensaje de escape del sistema a /* el error detectado. Este mensaje no nos interesa */ RCVMSG RTVMSG MSGTYPE(*LAST) RMV(*YES) MSGID(&ERRORMSGID) + RTNTYPE(&MSGTYPE) MSGF(&FILEMSG) /* + ESCAPE MSG */ MSGID(&ERRORMSGID) MSGF(&FILEMSG) MSG(&TEXTO)

/* En la repeticin de este comando: RCVMSG se obtiene la leyenda */ /* que describe el error detectado y el ID del error*/ /* Las variables &ERRORMSGID y &TEXTO, devuelven el id del error y */ /* su descripcin respectivamente */
RCVMSG RTVMSG ENDDO ENDPGM MSGTYPE(*LAST) RMV(*YES) MSGID(&ERRORMSGID) + RTNTYPE(&MSGTYPE) MSGF(&FILEMSG) /* + DIAGNOSTIC MSG */ MSGID(&ERRORMSGID) MSGF(&FILEMSG) MSG(&TEXTO)

Hasta la Prxima http://iseriesvenezuela.blogspot.com Email: rpg.iseries@gmail.com Autora: Liliana Surez. E-mail: rpg.iseries@gmail.com

S-ar putea să vă placă și