× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.


  • Subject: Need help with trigger program
  • From: "Taylor, Mark W (GEAE, Elano, Roytman Information Services)" <mark.w.taylor@xxxxxxxxx>
  • Date: Fri, 20 Jul 2001 12:13:19 -0400

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 thread ...


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

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.