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



I hope I've not missed something already suggested - I tried DSPPGM - if you get to the *SRVPGM detail, then put a 5 on a service program in the list, then go a couple screens, there the list of exports from the service program.

I think that's been around for whenever we were able to use service programs. Unfortunately, if you take the *PRINT option, it gives you only the list of *SRVPGMs.

Basically, I think you want the list of procedures of service programs that are bound? Procedures are not actually bound, they are exported and/or imported. I know we do talk about bound-procedure calls - makes this kind of confusing.

I know people have written utilities that go down the layers to get to the procedures.

HTH
Vern

On 2/13/2017 1:18 PM, Jeff Young wrote:
Mark,
On a V6R1 system, I tried you suggestion on a program that uses procedures
from a service program, but do not see any exports used in the DSPPGM
output. Does this only work on V7 systems?


Jeff Young
Sr. Programmer Analyst

On Mon, Feb 13, 2017 at 9:18 AM, Mark Murphy/STAR BASE Consulting Inc. <
mmurphy@xxxxxxxxxxxxxxx> wrote:

You can also do something like this

UPDPGM PGM(program name) MODULE(*NONE) DETAIL(*EXTENDED)

or

UPDSRVPGM SRVPGM(service program name) MODULE(*NONE) DETAIL(*EXTENDED)

This will just report the exports used, and the service programs they are
found in without actually updating the program or service program.

And, I have been considering adding a RFE for namespaces for some time
now, but this prompted me to do it. So a new RFE requesting namespaces for
service programs in RPG. http://www.ibm.com/developerworks/rfe/execute?
use_case=viewRfe&CR_ID=100916

Mark Murphy
Atlas Data Systems
mmurphy@xxxxxxxxxxxxxxx


-----Charles Wilt <charles.wilt@xxxxxxxxx> wrote: -----
To: "RPG programming on the IBM i (AS/400 and iSeries)" <
rpg400-l@xxxxxxxxxxxx>
From: Charles Wilt <charles.wilt@xxxxxxxxx>
Date: 02/08/2017 05:27PM
Subject: Re: Is there something like DSPPGM that would should what service
program procedures where bound into a program?


Mark,

Nope, didn't relize it was there :)

Of course there's no equivalent in CRTBNDRPG (or CRTSQLRPGI)...



Charles



On Wed, Feb 8, 2017 at 2:57 PM, Mark S Waterbury <
mark.s.waterbury@xxxxxxxxxxxxx> wrote:

Charles:

Have you tried DETAIL(*EXTENDED) on the CRTPGM or CRTSRVPGM commands?

HTH,
Mark S.Waterbury


On 2/8/2017 4:44 PM, Charles Wilt wrote:
Thanks Mark...

Not quite what I'm looking for, but Bryan's use of the Qbnlpgmi and
Qbnlspgm APIs are probably the closest I'm going to get.

Really, what I'd like is two fold
1) Imagine CRTPGM generating a listing of where it found various
procedures
during the binding step
2) Have that list info stored in the program object; ideally shown with
where they'd be found at runtime with the current LIBL.

When your binding directories have service programs specified with
*LIBL...
and you're dealing with multiple releases of various objects in various
libraries....and your change management isn't perfect....well things can
get a bit confusing. :)



Charles


On Wed, Feb 8, 2017 at 1:58 PM, Mark S Waterbury <
mark.s.waterbury@xxxxxxxxxxxxx> wrote:

Charles:
Try a google search for "os/400 ile procedure cross-reference" (without
quotes).

HTH,

Mark S. Waterbury


On 2/8/2017 3:19 PM, Charles Wilt wrote:
I'm working with a code base that doesn't include a "namepace"
prefix/suffix on procedures.

There's also not a direct correlation between the source file
containing
the PR and the *SRVPGM with the procedure.

Now I can use DSPPGM, see the SRVPGMs bound in and do a 5=Display on
each
to eventually see the procedures in the SRVPGM: DSPSRVPGM
DETAIL(*PROCEXP)


Is their anyway to determine directly where a given procedure used in
a
program is coming from?

Basically looking for a DSPPGM DETAIL(*PROCIMP)

I realize that the procedures are bound by ordinal number, as opposed
to
name...so the name may not be stored explicitly in the *PGM object.
But
seems like some behind the scenes resolving either by an IBM utility
or
a
user written one could happen.

Actually, what would be really nice is too be able to know where the
procedure was found at CRTPGM bind time when *LIBL was used to resolve
the
service program. Basically like how DSPPGMREF shows where the file on
an
f-spec was found at compile time. But I'm probably out of luck with
that
unless there's something stored within the object as part of the debug
listing.

Thanks!
Charles


--
This is the RPG programming on the IBM i (AS/400 and iSeries)
(RPG400-L)
mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.

Please contact support@xxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: http://amzn.to/2dEadiD


--
This is the RPG programming on the IBM i (AS/400 and iSeries) (RPG400-L)
mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.

Please contact support@xxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: http://amzn.to/2dEadiD

--
This is the RPG programming on the IBM i (AS/400 and iSeries) (RPG400-L)
mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.

Please contact support@xxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: http://amzn.to/2dEadiD
--
This is the RPG programming on the IBM i (AS/400 and iSeries) (RPG400-L)
mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.

Please contact support@xxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: http://amzn.to/2dEadiD



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

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 [javascript protected email address].

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