Documente Academic
Documente Profesional
Documente Cultură
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
/* */ /* 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