|
I need to be able to find out the name of a program that caused a trigger program to execute. I need to get to this information because I want to be able to add logic to my trigger program so that it will only process records that were added/changed by a specific program. I looked through the archive and found this thread on "Who pulled the trigger?" but I couldn't get the example to work. I created a CL using the example code (with modifications for my situation of course) and called it from within my trigger program. When I execute my program that updates the file, I get this message: Message ID: RNQ0211 - Error occurred while calling program or procedure *LIBL/#testmsg (C G D F). #testmsg is the CL program I created according to the example. I've included the thread below - What am I doing wrong? Thanks, Mark ---------------------------- RE: Who pulled the trigger? Sue, The name, but not the library, of a calling program can be determined by sending a message, via SNDPGMMSG, back up the call stack and then retrieving that same message, via RCVMSG and examining the contents of the SENDER to obtain the program name. However, since a trigger program is actually called by a system pgm, the user program being resolved is a few levels back up the stack. If you don't wish to have a generic method that works for all triggers, you can cause the trigger to fire, in debug mode, and look at the pgm stack to determine the name of the system pgm before which your user pgm appears in the stack. This would then be the pgm to which you would send the message. Here is some sample CL code DCL VAR(&KEYVAR) TYPE(*CHAR) LEN(4) DCL VAR(&SENDER) TYPE(*CHAR) LEN(80) DCL VAR(&PGMQ) TYPE(*CHAR) LEN(10) SNDPGMMSG MSGID(CPI2401) MSGF(QCPFMSG) TOPGMQ(*PRV (???SYSPGM??)) + KEYVAR(&KEYVAR) RCVMSG PGMQ(*PRV) MSGKEY(&KEYVAR) SENDER(&SENDER) CHGVAR VAR(&PGMQ) VALUE(%SST(&SENDER 56 10)) Cheers, Peter -----Original Message----- From: Sue Underwood [<mailto:sueu@alltel.net>] Sent: Tuesday, June 13, 2000 8:17 AM To: RPG400 (E-mail) Subject: Who pulled the trigger? This question has been asked on this forum recently, but I didn't have the foresight to save the responses. (duh!) Can any of you gurus tell me how I can determine what program caused the trigger to fire? Is it even possible? Thanks Sue +--- | This is the RPG/400 Mailing List! | To submit a new message, send your mail to RPG400-L@midrange.com. | To subscribe to this list send email to RPG400-L-SUB@midrange.com. | To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com. | Questions should be directed to the list owner/operator: david@midrange.com +--- **************************************************************************** ****************************** Privileged / Confidential Information may be contained in this message. If you are not the addressee indicated in this message (or responsible for delivery of the message to such person), you may not copy or deliver this message to anyone. In such case, you should destroy this message, and please notify us immediately. Please advise immediately if you or your employer does not consent to Internet e-mail for messages of this kind. Opinions and other information expressed in this message are not given or endorsed by my firm or employer unless otherwise indicated by an authorised representative independent of this message. +--- | This is the RPG/400 Mailing List! | To submit a new message, send your mail to RPG400-L@midrange.com. | To subscribe to this list send email to RPG400-L-SUB@midrange.com. | To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com. | Questions should be directed to the list owner/operator: david@midrange.com +--- Mark Taylor IT Dept Elano Corporation GE PROPRIETARY INFORMATION: The information contained in this document is GE proprietary information and is disclosed in confidence. It is the property of GE and shall not be used, disclosed to others or reproduced without the express written consent of GE. If consent is given for reproduction in whole or in part, this notice shall appear in any such reproduction in whole or in part. The information contained in this document may also be controlled by US export control laws. Unauthorized export or re-export is prohibited. CONFIDENTIALITY NOTICE: This e-mail message, including any attachments, is for the sole use of the intended recipient(s) and may contain confidential and privileged information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message. +--- | This is the RPG/400 Mailing List! | To submit a new message, send your mail to RPG400-L@midrange.com. | To subscribe to this list send email to RPG400-L-SUB@midrange.com. | To unsubscribe from this list send email to RPG400-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-2025 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.