|
RE: RE: trigger programs
>Hello everyone
>
>Have any of you experience with trigger programs? Any specific helpful
>hints to offer? We are trying to determine which program in our system is
>changing a specific field in a file. Looking at the documentation on
>trigger programs, it appears to me that the name of the program is not
>captured in the buffer. Is there some way I can get it?
>saskia
Saskia
It's not in the "Trigger Information".
The easiest way without API's (this is the second time I answered this)
is;
In your *INZSR subroutine repeatedly call a CLP to retrieve the program
name of the caller. You can "walk up the Stack" past the programs(OS/400's
that begin with "Q") to the program you're looking for.
Just call the below program repeatedly(in a loop in your *INZSR), First time
pass your trigger program name as the &CALLED, and who ever called your
trigger will be returned in the &CALLER variable. This will be a "Q"
OS/400 program. Call the CLP again this time pass what was returned the
first time to find out who called him, and so on. up the stack till *EXT.
Stop when the program name(&CALLER) doesn't begin with a "Q".
That's the program you want.
PGM &CALLER &CALLED
DCL &CALLER *CHAR 10
DCL &CALLED *CHAR 10
DCL &M1KEY *CHAR 4
DCL &M1MDTA *CHAR 80
SNDPGMMSG MSG('TEST') TOPGMQ(*PRV &CALLED) MSGTYPE(*RQS) KEYVAR(&M1KEY)
RCVMSG PGMQ(*PRV &CALLED) MSGKEY(&M1KEY) SENDER(&M1MDTA)
CHGVAR &CALLER %SST(&M1MDTA 56 10)
ENDPGM
John Carr
+---
| This is the Midrange System Mailing List!
| To submit a new message, send your mail to "MIDRANGE-L@midrange.com".
| To unsubscribe from this list send email to MAJORDOMO@midrange.com
| and specify 'unsubscribe MIDRANGE-L' in the body of your message.
| 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.