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.