What we do is, in our VARYON program that we run after an IPL, submit a 
job for each message queue to be monitored.  Basically it does a 
 LOOP:
    /*     +
     | Receive the first new message that comes into message queue     +
     | Wait as long as necessary to receive the message.     +
    */
             RCVMSG     MSGQ(&MSGQLIB/&MSGQNAME) WAIT(*MAX) RMV(*NO) +
                          KEYVAR(&MSGKEY) MSG(&MSGTXT) +
                          MSGID(&MSGID) SEV(&MSGSEV)
             MONMSG     MSGID(CPF0000) EXEC(DO)
               CHGVAR     VAR(&MSGTXT) VALUE('Unable to monitor' *BCAT +
                            &MSGQLIB *TCAT '/' *TCAT &MSGQNAME *BCAT +
                            'on' *BCAT &SYSTEM)
               /* your logic here ... */
               GOTO       CMDLBL(END)
             ENDDO

   /*    +
    | Ignore the message if it has a severity level less than    +
    | what the user requested.    +
   */
   IF ( &MSGSEV < &SEV )  GOTO LOOP

   /*    +
    | Check to see if the message is in the table file MSGEXC.  If it    +
    | is then we will ignore this message.    +
   */
             CALL       PGM(MSGEXCLUDE) PARM(&MSGID &IGNORE)
   IF (&IGNORE = 'Y')     GOTO LOOP
   /*    +
    | Now you can use SNDEMAIL, or whatever, to send the message on.    +
   */

Having shown all this, if you already have a package on your system, like 
ROBOT, LXIPAG, Byteware, etc, then these can do all of this for you.

Rob Berendt

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2026 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.