TAA Tools


 The  Resend Last  Message  command resends  the  last message  received
 from  your  program message  queue  to  your calling  program.   If  an
 escape   message  is  received,  you  may  optionally  resend  a  prior
 diagnostic message if it exists.

 A typical sequence of commands would be:

              SBMJOB      JOB(xxx) ...

 The RSNLSTMSG  command would  receive  the completion  message sent  to
 your programs  message queue and resend  it to the  program that called
 your  program.   If you  had called  the program  from a  command entry
 display, the  message  would  appear as  a  message.   The  message  is
 removed from your program message queue.

 RSNLSTMSG may  only be  used in  a CL  program.   By default,  the same
 type  of message received  is resent.   An option exists  to resend the
 same message as  a different  type.  For  example, you  may receive  an
 *ESCAPE type  and resend  it as a  *DIAG type.   Or  you may receive  a
 *COMP type and resend it as an *INFO type.

 Note that  if you received  an escape message  and resend it  using the
 default,  your program  will end.   Your program  will also  end if you
 receive any type of message and resend it with MSGTYPE(*ESCAPE).

 RSNLSTMSG accesses only  the last message received  and it must be  one
 of the following message types:

        01   Completion
        02   Diagnostic
        04   Information
        15   Escape message

 If an  escape message is to be  resent, you must first  monitor for the
 message such as:

              CRTDTAARA   DTAARA(xxx) ...
              MONMSG      MSGID(CPF0000) EXEC(DO) /* Some error */
              ENDDO       /* Some error */

 If  you want to resend  either the escape or  completion message from a
 command such as CRTDTAARA, you would do the following:

              CRTDTAARA   DTAARA(xxx) ...
              MONMSG      MSGID(CPF0000) /* Ignore any error */

 If the message is sent with a  message ID, it is resent using the  same
 message ID and message file.

 If the  message was sent  without using a  Message ID, CPF9898  is used
 in QCPFMSG  and the text of the message is  resent as the message data.

 Some commands may send  diagnostic messages and  then a general  escape
 message.   If  RSNLSTMSG is  used,  only the  escape  message would  be

 The CPP  uses RCVMSG with  PGMQ(*PRV) and MSGTYPE(*LAST)  to access the
 message.   The QMHSNDPM API is used to  send the message to the program
 above your program on the program stack.

 Differences with RSNALLMSG

 RSNLSTMSG resends only  the last message  received.  RSNALLMSG  resends
 all messages that exist in the current programs message queue.

 Command parameters                                    *CMD

    MSGTYPE       The  message  type to  send.    The  default is  *SAME
                  meaning  the same type of message  that is received is

                  You may  specify  that the  message type  received  be
                  resent as *INFO, *COMP, *DIAG, or *ESCAPE.

    DIAG          If  an  *EXCP  is  received,  whether  to  resend  the
                  previous  diagnostic  message if  it exists.    *NO is
                  the default  meaning the  previous diagnostic  remains
                  in the program message queue.

                  *YES  may  be  specified  to   resend  the  diagnostic
                  message if  it exists.   The message is  first removed
                  from the job log and then resent.


 See the previous list of message types supported.


 The following TAA Tools must be on your system:

      SNDESCMSG       Send escape message


 None, the tool is ready to use.

 Objects used by the tool

    Object        Type    Attribute      Src member    Src file
    ------        ----    ---------      ----------    ----------

    TAAMSHG       *CMD                   TAAMSHG       QATTCMD
    TAAMSHGC      *PGM       CLP         TAAMSHGC      QATTCL

Added to TAA Productivity Tools May 1, 1996

Home Page

Last modified on November 19, 2014 © 1995, 2014 - TAA Tools, Inc.