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



Hello Mark, Rob, Vern

This sure is a most educating discussion
Learned a lot

Thanks
Gad



date: Wed, 3 Mar 2021 19:43:00 +0000 (UTC)
from: Mark Waterbury <mark.s.waterbury@xxxxxxxxxxxxx>
subject: Re: List PGMs Called from MENUs

Hi, Rob and Vern, and all,

Great discussion ...
Program cross-reference information for a *MODULE, *PGM or *SRVPGM is
stored in the "OIR" (object information repository), a space within each
library (*LIB) containing that object.? This information is updated in the
OIR by the system, in XPF (OS/400 or IBM i) by the QPRROOTP or QPRCRTPG
APIs, for the OPM compilers, or by QBNCRTPG, QBNUPDPG, QBNCRTSP or QBNUPDSP
for CRTPGM, UPDPGM, CRTSRVPGM or UPDSRVPGM, respectively.

DSPPGMREF extracts this information for each program or service program,
"on demand" when requested (when you run the DSPPGMREF command) from the
*OIR space in the corresponding *LIB object.
This information is updated when you compile an OPM *PGM or a module and
bind it into a bound *PGM or a *SRVPGM (via CRTPGM, CRTSRVPGM, UPDPGM or
UPDSRVPGM), in case the record layouts and/or record format level IDs have
changed for one or more of the *FILEs used by the program/module in
question.??

Rather than having to do a nightly "refresh" of this for *ALL programs in
all application libraries, we need only to do a DSPPGMREF for any new or
changed programs or service programs, for each library that is "of concern"
to a small *OUTFILE, and then merge that information into your own "master"
DSPPGMREF database table (to make it easier to query).

The desired information is already residing in the centralized *OIR
(object information repository) for each *LIB; but that *OIR is not a
database table; it is just a space object, possibly with a machine index,
etc.

It should be possible to enhance IBM_i to create a system-wide "OIR"
database table that is automatically maintained and updated, similar to how
the system maintains and updates QADBXREF -- whenever any of the *OIRs in
any library are updated, those new or changed records need to be reflected
in a timely manner to this new centralized system-wide OIR database
table.?? (In fact, the XPF routine QLIMROIR is the place to do that.)

Once this is implemented, it should be easy to provide Db2i services to
interrogate this new *OIR "database."

Who wants to type up some new RFEs?? :-)
Mark S. Waterbury







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

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