|
With RPG xTools' GetCallerInfo() procedure, you can retrieve the caller's
program name, procedure name or module name.
It's a bit flexible, so it may seem complicated, but you could do this:
// return the caller's program
Eval myCaller = GetCallerInfo()
// returns the caller's procedure name
Eval myCallerProc = GetCallerInfo('*PROC')
// returns the caller's module name
Eval myMod = GetCallerInfo('*MOD')
Or you can get all three values, but doing this:
Callp GetCallerInfo('*ALL': rtnPgm : rtnMod : &rtnProc )
It uses snd/rcv message APIs under the covers to do this, and yes, using
those raw APIs vs the old CL command method or the xTools' procedure is a
bit complex to get working. But if you'd rather roll your own, go for it.
-Bob Cozzi
www.RPGxTools.com
If everything is under control, you are going too slow.
- Mario Andretti
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx]
On Behalf Of Hewitt, Rory
Sent: Thursday, August 18, 2005 3:56 PM
To: rpg400-l@xxxxxxxxxxxx
Subject: RE: RPG400-L Digest, Vol 4, Issue 1002
Jeffrey,
I don't think this is possible to retrieve it automatically (except
maybe by calling QMHSNDPM and then QMHRCVPM and retrieving the sending
procedure name, which is a huge hassle). I'm pretty certain the
*PROCEDURE bit of the PSDS doesn't contain the procedure name (at least
not at V5R2, which is where I'm at).
I always define a constant within each procedure (always called ##_PROC)
containg the name of the procedure, whch then makes it easy to find
program dumps, e.g.
P GetUserInfo B Export
D PI 10I 0
D UsrPrf 10A Const Options(*Nopass)
*----------------------------------------------------------------
D ##_Proc C 'GetUserInfo'
*----------------------------------------------------------------
...
...
...
C *PSSR Begsr
C If GlobalDumpErrors = *On
C ##_Proc Dump
C Endif
C Return -1
C Endsr
HTH,
Rory
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.