In RPG you don't have to define the input file as keyed. When you leave
off the "K" you will read each record in the file once.
I have used this in the case where I am updating the key fields in a
file and only want to process each record once.
FFilename++IPEASF.....L.....A.Device+.Keywords++++
FFILENAME1 UF E DISK
FFILENAME2 UF E K DISK
Filename1 is not keyed.
Filename2 is keyed.
//The first time the file is opened it is positioned at the beginning.
OPEN FILENAME1;
DOU %EOF(FILENAME1);
READ FILENAME1;
IF %EOF(FILENAME1);
LEAVE;
ENDIF;
.. DO STUFF ..
ENDDO;
You can even use this to reposition the file to the begining.
SETLL *START FILENAME1;
Chris Hiebert
Winco Foods, LLC
Applications Development
(208) 672-2047
Chris.Hiebert@xxxxxxxxxxxxxx
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of William Howie
Sent: Wednesday, August 22, 2012 7:20 AM
To: rpg400-l@xxxxxxxxxxxx
Subject: Keyed file question
Hello all...........
This probably seems like a silly question, but oh well, here goes. I
have a file that is defined as a keyed file, both in the DDS and within
the program that I am working on. I am loading data into this file
that won't necessarily be in the same keyed sequence as the file
definition is. Then within the program I just use a READ statement to
loop through it, not any sort of a SETLL and READE scenario. Here's
the question: the file will still get read in the keyed sequence
specified in the file definition, correct? In other words, I should
lose any sort of different sorting order the data might have been loaded
into the file with simply because the file is keyed........right?
I only ask this because it seems to be behaving differently from that.
Thanks in advance!
Bill Howie
Software Developer
AmTrust North America
________________________________
Confidentiality Notice: This email message is intended only for the
individual or entity to which it is addressed. This email may contain
information that is proprietary or privileged, confidential and exempt
from disclosure under applicable law. If you are not the intended
recipient, you are hereby notified that any dissemination, distribution
or copying of this communication is strictly prohibited. If you received
this email by accident, please notify the sender immediately and destroy
this email and all copies of it.
--
This is the RPG programming on the IBM i / System i (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.
As an Amazon Associate we earn from qualifying purchases.