So, in programs that do a dynamic SQL, would it be of value to place a simple "dummy" (but well documented) static statement that simply selects all records of the file(s) that would be dynamically used elsewhere later, just to get the PRTSQLINF to recognize that the file is used in the program.
Kind of hokey, but a trick used often in "do while 1 = 2" code to perform similar functions... which elude me right now for examples.
I wouldn't typically suggest excess code, but I understand Jeff's dilemma. It's similar to trying to find all the QRY400s that use files or fields.
Of course the alternate would be a well-documented change management system.
From: RPG400-L [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of MichaelQuigley@xxxxxxxxxx
Sent: Friday, June 10, 2016 3:45 PM
Subject: Re: Files used by SQL in RPGLE
"RPG400-L" <rpg400-l-bounces@xxxxxxxxxxxx> wrote on 06/10/2016 01:00:05
----- Message from MARK GOLDEN <mark_golden@xxxxxxxxxxxxxxx> on Fri,
10 Jun 2016 16:54:04 +0000 (UTC) -----
"RPG programming on the IBM i (AS/400 and iSeries)"
Re: Files used by SQL in RPGLE
Try the PRTSQLINF command. See if that gives you what you need.
PRTSQLINF will give you the files used for static SQL. If you're using dynamic SQL all it will give you is the fact that you're preparing a statement from a host variable. Someone will have to analyze what can be in the host variable at the time of the prepare.
This is another gotcha in addition to the performance implications of dynamic SQL.
The Way International
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,
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.
CONFIDENTIALITY NOTICE: This electronic message transmission is intended only for the person or entity to which it is addressed and may contain information that is privileged, confidential or otherwise protected from disclosure. If you have received this transmission, but are not the intended recipient, you are hereby notified that any disclosure, copying, distribution or use of the contents of this information is strictly prohibited. If you have received this e-mail in error, please contact NALC Health Benefit Plan at 703-729-4677 and delete and destroy the original message and all copies.