|
-----Message d'origine-----
De : midrange-l-bounces@xxxxxxxxxxxx
[mailto:midrange-l-bounces@xxxxxxxxxxxx] De la part de Vern Hamberg
Envoyé : mercredi 28 avril 2010 23:10
À : Midrange Systems Technical Discussion
Objet : Re: compile option*NOUNREF
LOL Chuck
Yes, print/copy/read is my last resort - I did mention the
program & service program information APIs generally in the
previous paragraph and use them myself in our product code.
I agree that APIs are preferred - and that CPYSPLF is
expedient albeit risky.
Vern
CRPence wrote:
Vern Hamberg wrote:there is an
There is no such thing as an "SQLRPGLE" module as such -
for syntaxSQLRPGLE source member type, however. Now AFAIK you don't HAVE to
have an SQLRPGLE member type in order to compile something with
embedded SQL. It's just handier in SEU and WDSC/RDi/etc.
generated] purelychecking and all.
Since the SQL portion of compilation is just a pre-compile, and
that the module is then created from [pre-compiler
RPGLE source, the object attribute is just the RPGLE. This is thecommand with its
same for the program object type. Just as the WRKMOD
MODATR() parameter has no SQLRPGLE as selection, the WRKPGM commandthere is no
with its PGMATR() parameter allows RPGLE as selection but
SQLRPGLE.maybe IBM
And there are DB2/400 attributes in the DSPMOD command, where you
get the number of SQL statements, etc. The presence of this would
indicate and SQL-ish module (It's called DB2/400 at V5R1 -
ones foruse a different name in more recent releases)
I tested this on an ILE program - didn't do so with an OPM program
using embedded SQL. I assume there is something similar.
There are APIs to retrieve program information - different
for ILE,ILE and OPM - that give you a module list with attributes,
being logged,and program information itself, for OPM.
The PRTSQLINF would notify if the [service] program object has
DB2 SQL information stored\associated with the object. The SQL9011
would result if not, with a previous diagnostic SQL5062
although on v5r3 that diagnostic is insufficient in describingthen read
possible cause\origin.
Maybe you could run DSPPGM DETAIL(*MODULE) OUTPUT(*PRINT) and work
through that spooled output, maybe CPYSPLF first to a PF,
changed by IBM,it, looking for the DB2/400 marker - or whatever it is at whatever
release. This always has the risk of something being
to suggestof course.
Ughhh. What sad times these are when people still suggest the
spool\copy\read approach, when more often than not, a reply
that "there's an API for that" would hopefully be available. ;-)the API can
http://www.google.com/search?q="retrieve+module"+api+v5r4
The above search yields the Retrieve Module Information
(QBNRMODI) API with indication that among the information
retrieve being "Module SQL attributes":http://publib.boulder.ibm.com/infocenter/iseries/v5r4/topic/apis/qbnrm
odi.htmand filtered
Regards, Chuck
David FOXWELL wrote:
<<SNIP>>
As for the list of modules, I set up a WDSC connection
modules on theall the modules into a table. I can then show all the
still showsystem and sort them on size, etc. But SQLRPGLE modules
between SQL andup as RPGLE.
David FOXWELL wrote:
I wanted to try the new(ish) compile option *NOUNREF on an RPG
module. Is this option not available if the module is SQLRPGLE?
How can I get a list of all modules but distinguish
--non SQL module?
This is the Midrange Systems Technical Discussion
(MIDRANGE-L) mailing list To post a message email:
MIDRANGE-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change
list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting,
please take a moment to review the archives at
http://archive.midrange.com/midrange-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.