|
1) Have the program delete the messages it's already processed. 2) Have the program log to a table all of the messages it's processed, and tell it to skip ones in this table. Perhaps the KEYVAR will help. 3) Is there an api which will let you alter a message in some way so you can store a 'sent flag' on it? We have a paging software that, among other things, monitors message queues and doesn't duplicate the ones already sent. No source, therefore I can't figure out how they do it. They do not delete the message. Rob Berendt ================== A smart person learns from their mistakes, but a wise person learns from OTHER peoples mistakes. "Chris Beck" <CBeck@good-sam.com To: <MIDRANGE-L@midrange.com> > cc: Sent by: Subject: Qsysopr message program. owner-midrange-l@mi drange.com 08/03/2001 09:08 AM Please respond to MIDRANGE-L I have a CL program that monitors Qsysopr for certain messages, then emails the appropriate person that the message should go to . The problem I have is that on one machine we take it down to a restricted state for its nightly backups. Then when the machine starts back up, it starts the message program. Then it reads all messages in qsysopr that it has not read before, and sends out the emails from machine startup. I don't want to recieve all the past messages, I would like the program to start, but not read any of the past messages and only new ones that come in. I don't wan't to monitor for all the startup messages, because then when they are sent another time I won't recieve them. Any suggestions? Here is a sample of how the program works. LOOP: RCVMSG MSGQ(QSYS/QSYSOPR) WAIT(*MAX) RMV(*NO) + MSG(&MSG) MSGDTA(&MSGDTA) MSGID(&MSGID) + MSGF(&MSGF) MSGFLIB(&MSGFLIB) /* MESSAGES TO IGNORE */ IF COND(&MSGID = 'CP13710') THEN(GOTO + CMDLBL(LOOP)) IF COND(&MSGID = 'CPC1236') THEN(GOTO + CMDLBL(LOOP)) /* FORMAT THE SUBJECT */ IF COND(&MSGID = ' ') THEN(CHGVAR + VAR(&EMSGID) VALUE('GSSASDEV-MESSAGE')) ELSE CMD(CHGVAR VAR(&EMSGID) + VALUE('GSSASDEV-MSG ID:' *BCAT &MSGID)) /* EMAIL THE MESSAGE */ SNDDST TYPE(*LMSG) TOINTNET(('xyz@GOOD-SAM.COM') ('abc@GOOD-SAM.COM' *CC)) DSTD(&EMSGID) LONGMSG(&MSG) GOTO LOOP Thanks Chris Beck +--- | This is the Midrange System Mailing List! | To submit a new message, send your mail to MIDRANGE-L@midrange.com. | To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com. | To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com. | Questions should be directed to the list owner/operator: david@midrange.com +--- +--- | This is the Midrange System Mailing List! | To submit a new message, send your mail to MIDRANGE-L@midrange.com. | To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com. | To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com. | Questions should be directed to the list owner/operator: david@midrange.com +---
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 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.