----- Message from Booth Martin <booth@xxxxxxxxxxxx> on Thu, 21 Feb
2019 15:21:26 -0600 -----
"RPG programming on the IBM i (AS/400 and iSeries)" <rpg400-
Re: Does the CLEAR operation on an input-only file do anything?
Lets say I successfully chain and get Jack's record with a field NAME =
'Jack'. Then lets say next up is Judy, and we chain to the file and no
record is found. What is the value of the NAME field in my program? I
guess what I am asking is, because of this coding, does that suggest
there is an unrecognized downstream problem?
On 2/21/2019 2:52 PM, MichaelQuigley@xxxxxxxxxx wrote:supplied
I've been working with what I would consider a bug in a vendor
aprogram. They're processing a file conditioned on an optional field in
externallysecondary file. The secondary file is specified as input-only,
chaindescribed, and keyed. For each record in the primary file, they do a
reads:to the secondary (input-only) file. Then the code is something like:
chain (keys) secondary-record;
if not %found;
In the ILE RPG Reference Manual under Initialization Operations, it
"When these operation codes are applied to record formats, only fields
which are output are affected (if factor 2 is blank) or all fields (if
factor 2 is *ALL)."
Also in the manual under "Clearing Record Formats" and the CLEAR
if *ALL is not specified, only those fields with a usage of output or
areare affected. All field-conditioning indicators of the record format
aren'taffected by the operation.
So am I correct in getting back to the vendor and telling them they
coding the CLEAR incorrectly? i.e., It should be coded:
clear *all secondary-record;
The Way International