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