Get-mail and display-message programs

 

In the TSO versions of the application, the get-mail and display-message functions are performed by the same program (CSQ4TVD2). In the CICS version of the application, these functions are performed by separate programs (CSQ4CVD2 and CSQ4CVD3).

The Mail Awaiting panel (CSQ4VDP2 for TSO, VD2 for CICS; see Figure 1 for an example) shows all the messages that are on the user’s mail queue. To create this list, the program uses the MQGET call to browse all the messages on the queue, saving information about each one. In addition to the information displayed, the program records the MsgId and CorrelId of each message.

Figure 1. Example of a panel showing a list of waiting messages
 --------------------- WebSphere MQ for z/OS Sample Programs ------- ROW 16 OF 29
 COMMAND ==>                                                Scroll    ===> PAGE
                                                              USERID - NTSFV02
                               Mail Manager System            QMGR   - VC4
                                  Mail Awaiting

                       Msg      Mail        Date       Time
                       No       From        Sent       Sent
                  16
                       16      Deleted
                       17      JOHNJ      01/06/1993  12:52:02
                       18      JOHNJ      01/06/1993  12:52:02
                       19      JOHNJ      01/06/1993  12:52:03
                       20      JOHNJ      01/06/1993  12:52:03
                       21      JOHNJ      01/06/1993  12:52:03
                       22      JOHNJ      01/06/1993  12:52:04
                       23      JOHNJ      01/06/1993  12:52:04
                       24      JOHNJ      01/06/1993  12:52:04
                       25      JOHNJ      01/06/1993  12:52:05
                       26      JOHNJ      01/06/1993  12:52:05
                       27      JOHNJ      01/06/1993  12:52:05
                       28      JOHNJ      01/06/1993  12:52:06
                       29      JOHNJ      01/06/1993  12:52:06

From the Mail Awaiting panel the user can select one message and display the contents of the message (see Figure 2 for an example). The program uses the MQGET call to remove this message from the queue, using the MsgId and CorrelId that the program noted when it browsed all the messages. This MQGET call is performed using the MQGMO_SYNCPOINT option. The program displays the contents of the message, then declares a syncpoint: this commits the MQGET call, so the message now no longer exists.

Figure 2. Example of a panel showing the contents of a message
 --------------------- WebSphere MQ for z/OS Sample Programs ---------------------
 COMMAND ==>
                                                              USERID - NTSFV02
                               Mail Manager System            QMGR   - VC4
                                  Received Mail

  Mail sent from JOHNJ    at VC4

  Sent on the 01/06/1993 at 12:52:02
  ------------------------------------ Message -------------------------------
 | HELLO FROM JOHNJ                                                           |
 |                                                                            |
 |                                                                            |
 |                                                                            |
 |                                                                            |
 |                                                                            |
 |                                                                            |
 |                                                                            |
 |                                                                            |
 |                                                                            |
 '----------------------------------------------------------------------------'


 

An obvious extension to the function provided by the Mail Manager is to give the user the option to leave the message on the queue after viewing its contents. To do this, you would have to back out the MQGET call that removes the message from the queue, after displaying the message.

 

Parent topic:

Design of the sample


fg18460_