RE:     RE: Integrity help?

> The journalling will id the program, but I am unsure (without doing a DSPJOB *
> *PGMSTK) via the QCMDEXC api) that there is any way to do this with
> the trigger.
> There is another question on the list exactly like this one. I am gonna follow
> this thread closely.
> :-) Tim & Dana Truax (-:

Tim & Dana

We have a 3rd party package that has a file(Product Master) that we wanted
to have a record written to our own product file(company specific info)
every time the product master maintenance(3rd party) program added a record.
Instead of modifing their 15,000 statement piece of #$%#@,
We triggered the file.  To ensure that we didn't do this when we added 
records other ways,  we run the following program to make sure we only 
did our stuff if it was the product master maintenance program.

This program is passed 1) program name(your trigger program name to start)
and 2) returns program who called it(1).     
Call it again passing what was received the first time and it tells you 
who called that program.  Do this again and again to 'Walk up' the program
stack.  It will end with the top (*EXT).

We have this in our *INZSR so the process only gets done once.


DCL     &CALLED         *CHAR   10      /* Called Program Name    */
DCL     &CALLER         *CHAR   10      /* Who Called the program */
DCL     &MSGDTA         *CHAR   80      /* 80 byte Message data   */
DCL     &MSGKEY         *CHAR    4      /* Message Key,,, never mind */

SNDPGMMSG       MSG('TEST')             +
                TOPGMQ(*PRV  &CALLED)   +
                MSGTYPE(*RQS)           +

RCVMSG          PGMQ(*PRV  &CALLED)     +
                MSGKEY(&MSGKEY)         +

CHGVAR          &CALLER     %SST(&MSGDTA  56 10)



Gee,  ya can make CL readable if you make it columnar!! (Non-free formated)

Anyway,  Use your trigger,  call this program repeatedly to walk up stack
till you find a program that Doesn't start with 'Q' and you will have
the application program you're looking for.

P.S. 4th time I posted this for the exact same question.  
        BTW, This will pass Security level 40.

P.P.S.   Yes I take the time to make ALL my CLP's look exactly like this,
One keyword/line.  Never use keywords for DCL's,   etc.
Programs are WORM by design(Write once, Read Many) so take the 5 extra
#$@%& seconds to make them READABLE to other people. 

John Carr

| This is the Midrange System Mailing List!
| To submit a new message, send your mail to "".
| To unsubscribe from this list send email to
| Questions should be directed to the list owner/operator:

This thread ...

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

This mailing list archive is Copyright 1997-2020 by 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].