On 02/09/2009, at 9:38 AM, Dennis Lovelady wrote:
Beware of *ESCAPE
Stands to reason--didn't think I needed to point that out--but you can
send such a message which is what the original appender wanted to know.
*ESCAPE message sent to program or call stack entry will result in
error
management execution within that program or call stack entry. I
*think*
*ESCAPE sent to *EXT results in job termination. (?)
Yes, it will ... otherwise known as a learning experience.
I found some old test code of mine. Three CL programs that send each
kind of message to various targets:
PGM
/* This message type will cause the *EXT message queue to display */
SNDPGMMSG MSG('This is an *INFO message') TOPGMQ(*EXT) +
MSGTYPE(*INFO)
/* This message type will cause the *EXT message queue to display */
SNDPGMMSG MSG('This is an *INQ message') TOPGMQ(*EXT) +
MSGTYPE(*INQ)
/* This message type will not cause the *EXT message queue to display */
/* but will become a command to be processed later by QCMD or other */
/* request processor. */
SNDPGMMSG MSG('This is an *RQS message') TOPGMQ(*EXT) +
MSGTYPE(*RQS)
/* This message type will not cause the *EXT message queue to display */
SNDPGMMSG MSG('This is an *COMP message') TOPGMQ(*EXT) +
MSGTYPE(*COMP)
/* This message type will not cause the *EXT message queue to display */
SNDPGMMSG MSG('This is an *DIAG message') TOPGMQ(*EXT) +
MSGTYPE(*DIAG)
/* This message type will display on the last line of the screen */
SNDPGMMSG MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA('This is +
an *STATUS message') TOPGMQ(*EXT) +
MSGTYPE(*STATUS)
/* This message type will cause the *EXT message queue to display */
SNDPGMMSG MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA('This is +
an *NOTIFY message') TOPGMQ(*EXT) +
MSGTYPE(*NOTIFY)
/* This message type will cause the job to end */
/* SNDPGMMSG MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA('This is +
an *ESCAPE message') TOPGMQ(*EXT) +
MSGTYPE(*ESCAPE) */
ENDPGM
PGM
/* This message type will cause the *EXT message queue to display */
SNDPGMMSG MSG('This is an *INFO message') +
TOUSR(*REQUESTER) MSGTYPE(*INFO)
/* This message type will cause the *EXT message queue to display */
SNDPGMMSG MSG('This is an *INQ message') +
TOUSR(*REQUESTER) MSGTYPE(*INQ)
/* This message type will not cause the *EXT message queue to display */
SNDPGMMSG MSG('This is an *RQS message') +
TOUSR(*REQUESTER) MSGTYPE(*RQS)
/* This message type will not cause the *EXT message queue to display */
SNDPGMMSG MSG('This is an *COMP message') +
TOUSR(*REQUESTER) MSGTYPE(*COMP)
/* This message type will not cause the *EXT message queue to display */
SNDPGMMSG MSG('This is an *DIAG message') +
TOUSR(*REQUESTER) MSGTYPE(*DIAG)
/* This message type cannot be sent to the requester
*/
SNDPGMMSG MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA('This is +
an *STATUS message') TOPGMQ(*EXT) +
MSGTYPE(*STATUS)
/* This message type will cause the *EXT message queue to display */
SNDPGMMSG MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA('This is +
an *NOTIFY message') +
TOUSR(*REQUESTER) MSGTYPE(*NOTIFY)
/* This message type will cause the job to end */
/* SNDPGMMSG MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA('This is +
an *ESCAPE message') +
TOUSR(*REQUESTER) MSGTYPE(*ESCAPE) */
ENDPGM
PGM
/* This message type will cause the following to be displayed: */
/* From . . . : SHC 03/03/94 14:45:51 */
/* This is an *INFO message */
SNDPGMMSG MSG('This is an *INFO message') +
TOUSR(*SYSOPR) MSGTYPE(*INFO)
/* This message type will cause the following to be displayed: */
/* From . . . : SHC 03/03/94 14:45:51 */
/* This is an *INQ message */
/* Reply . . . ______________________________________________ */
SNDPGMMSG MSG('This is an *INQ message') +
TOUSR(*SYSOPR) MSGTYPE(*INQ)
/* This message type will cause the following to be displayed: */
/* From . . . : SHC 03/03/94 14:45:51 */
/* This is an *RQS message */
SNDPGMMSG MSG('This is an *RQS message') +
TOUSR(*SYSOPR) MSGTYPE(*RQS)
/* This message type will cause the following to be displayed: */
/* From . . . : SHC 03/03/94 14:45:51 */
/* This is an *COMP message */
SNDPGMMSG MSG('This is an *COMP message') +
TOUSR(*SYSOPR) MSGTYPE(*COMP)
/* This message type will cause the following to be displayed: */
/* From . . . : SHC 03/03/94 14:45:51 */
/* This is an *DIAG message */
SNDPGMMSG MSG('This is an *DIAG message') +
TOUSR(*SYSOPR) MSGTYPE(*DIAG)
/* This message type can only be sent to a program message queue */
/** SNDPGMMSG MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA('This is +
an *STATUS message') TOPGMQ(*EXT) +
MSGTYPE(*STATUS) ***/
/* This message type will cause the following to be displayed: */
/* This is an *NOTIFY message. */
SNDPGMMSG MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA('This is +
an *NOTIFY message') +
TOUSR(*SYSOPR) MSGTYPE(*NOTIFY)
/* This message type will cause the following to be displayed: */
/* This is an *ESCAPE message. */
SNDPGMMSG MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA('This is +
an *ESCAPE message') +
TOUSR(*SYSOPR) MSGTYPE(*ESCAPE)
ENDPGM
Regards,
Simon Coulter.
--------------------------------------------------------------------
FlyByNight Software OS/400, i5/OS Technical Specialists
http://www.flybynight.com.au/
Phone: +61 2 6657 8251 Mobile: +61 0411 091 400 /"\
Fax: +61 2 6657 8251 \ /
X
ASCII Ribbon campaign against HTML E-Mail / \
--------------------------------------------------------------------
As an Amazon Associate we earn from qualifying purchases.