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



Way back when, I learned that if you put the "K" on the "F" spec, the
program will use the index to read the file, i.e. "sequential by key". If
you don't, it won't.

But I had never run into the "SETLL *START..." <-- good to know!

It's somewhat comforting to me to know that some of those old concepts
still hold true. ;)

Karleen Bushard || IBM i Software Devloper || HOM Furniture, Inc ||
763.767.3777 || VM1777 || kbushard@xxxxxxxxxxxxxxxx



From: "Hiebert, Chris" <chris.hiebert@xxxxxxxxxxxxxx>
To: "RPG programming on the IBM i / System i" <rpg400-l@xxxxxxxxxxxx>,

Date: 08/22/2012 09:15 AM
Subject: RE: Keyed file question
Sent by: rpg400-l-bounces@xxxxxxxxxxxx



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.

This thread ...

Replies:

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.