Después de darle muchas vueltas a este tema, me respondo a mi mismo:
DLTF FILE(QTEMP/FIC)
RCVMSG MSGTYPE(*LAST)
Resulta que sólo los mensajes de excepción se reciben en secuencia LIFO, por
eso al utilizar RCVMSG MSGTYPE(*EXCP) se recibe y elmina el último mensaje de
escape emitido.
Con el resto de mensajes se utiliza una secuencia tipo FIFO, asi, con RCVMSG
MSGTYPE(*COMP) estaba eliminando el primer mensaje de terminación.
Con MSGTYPE(*LAST) no me aseguro que el mensaje recibido sea de terminación,
pero me sobra al utilizarlo después de mandatos, que si terminan bien, dejan un
mensaje de terminación en las anotaciones.
Javier Mora
________________________________
De: [email protected]
[mailto:[email protected]] En nombre de Javier Mora
Enviado el: miércoles, 17 de noviembre de 2010 19:01
Para: forum.help400
Asunto: Eliminar mensajes de terminación de las anotaciones de trabajo
Hola a t...@s:
Me gustaría eliminar de las anotaciones de trabajo ciertos mensajes de
terminación (*COMP) que no quiero que aparezcan. Utilizo el mandato RCVMSG pero
no lo consigo.
El siguiente código es un pequeño ejemplo de prueba:
pgm
CRTPF FILE(QTEMP/FIC) RCDLEN(10)
DLTF FILE(QTEMP/FIC)
RCVMSG MSGTYPE(*COMP)
endpgm
El mensaje CPC2191 de terminación que ha sido emitido por el mandato DLTF no se
elimina. Por más vueltas que le doy no lo consigo.
Esta misma técnica la utilizo para eliminar mensajes de excepción o escape.
¿No se pueden eliminar los mensajes de terminación? ¿Qué estoy haciendo mal?
¿Alguien me puede ayudar?
Un saludo a t...@s y gracias por vuestros comentarios.
Javier Mora
____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.