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



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 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 copyright@midrange.com.

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.