|
Steve, Infinitely, IBM has kindly provided us with QWVRCSTK at V5. Here's a "quickee" I whipped up to prove it. D GetCaller PR Extpgm('QWVRCSTK') D 2000 D 10I 0 D 8 CONST D 56 D 8 CONST D 15 D Var DS 2000 D BytAvl 10I 0 D BytRtn 10I 0 D Entries 10I 0 D Offset 10I 0 D EntryCount 10I 0 D VarLen S 10I 0 Inz(%size(Var)) D ApiErr S 15 D JobIdInf DS D JIDQName 26 Inz('*') D JIDIntID 16 D JIDRes3 2 Inz(*loval) D JIDThreadInd 10I 0 Inz(1) D JIDThread 8 Inz(*loval) D Entry DS 256 D EntryLen 10I 0 D PgmNam 10 Overlay(Entry:25) D PgmLib 10 Overlay(Entry:35) D C CallP GetCaller(Var:VarLen:'CSTK0100':JobIdInf C :'JIDF0100':ApiErr) C Do EntryCount C Eval Entry = %subst(Var:Offset + 1) C Eval Offset = Offset + EntryLen C Enddo C Eval *InLR = *on -----Original Message----- From: Brault, Steve [mailto:sbrault@mbi-inc.com] Sent: Wednesday, September 18, 2002 10:49 PM To: 'rpg400-l@midrange.com' Subject: RE: A quick method to determine the name of the calling program in RPG400 Importance: High Hi Birgitta, I noticed that you stated "if you are not on V5R1M0" ..... What if you are on V5R1M0..... Is there a better way??? Steve B -----Original Message----- From: BrgttHsr@aol.com [mailto:BrgttHsr@aol.com] Sent: Wednesday, September 18, 2002 1:01 AM To: RPG400-l@midrange.com Subject: Re: A quick method to determine the name of the calling program in RPG400 -- [ Picked text/plain from multipart/alternative ] Hi Dave, if you are not on V5R1M0 you can use a CL-Program to determine the caller program: PGM PARM(&P$CALLER + &P$CALLED ) DCL VAR(&P$CALLER) TYPE(*CHAR) LEN(10) DCL VAR(&P$CALLED) TYPE(*CHAR) LEN(10) DCL VAR(&MSGKEY) TYPE(*CHAR) LEN(4) DCL VAR(&SENDER) TYPE(*CHAR) LEN(80) SNDPGMMSG MSG('TEST') TOPGMQ(*PRV (&P$CALLED)) + MSGTYPE(*RQS) KEYVAR(&MSGKEY) RCVMSG PGMQ(*PRV (&P$CALLED)) MSGKEY(&MSGKEY) + SENDER(&SENDER) CHGVAR VAR(&P$CALLER) VALUE(%SST(&SENDER 56 10)) ENDE: ENDPGM Using this program it's even possible to loop through the whole call stack. Birgitta Hauser _______________________________________________ This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list To post a message email: RPG400-L@midrange.com To subscribe, unsubscribe, or change list options, visit: http://lists.midrange.com/cgi-bin/listinfo/rpg400-l or email: RPG400-L-request@midrange.com Before posting, please take a moment to review the archives at http://archive.midrange.com/rpg400-l. _______________________________________________ This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list To post a message email: RPG400-L@midrange.com To subscribe, unsubscribe, or change list options, visit: http://lists.midrange.com/cgi-bin/listinfo/rpg400-l or email: RPG400-L-request@midrange.com Before posting, please take a moment to review the archives at http://archive.midrange.com/rpg400-l.
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 copyright@midrange.com.
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.