|
Note that the ILE RPG Programmer's guide specifies:
If a search argument refers to a partial key, the file is positioned at the
first record that satisfies the search argument or the record retrieved is
the first record that satisfies the search argument. For example, the SETGT
and SETLL operations position the file at the first record on the access
path that satisfies the operation and the search argument. The CHAIN
operation retrieves the first record on the access path that satisfies the
search argument. The DELETE operation deletes the first record on the
access path that satisfies the search argument. The READE operation
retrieves the next record if the portion of the key of that record (or the
record of the specified type) on the access path matches the search
argument.
And remember that "the file is positioned" within the access path specified
on the f-spec. If that path has ITEM, DATE and you are just using ITEM as
a key you are indeed guaranteed to get the records for that item in date
order.
Charles
On Wed, Jun 19, 2013 at 3:49 PM, Jeff Crosby<jlcrosby@xxxxxxxxxxxxxxxx>wrote:
I think you're right.
I reran my test making sure that I set the date to *loval before each time
I hit this code section.
It still (seemingly) didn't do it in date order until I noticed that in
setting up this test data I keyed one of the dates as 2012 while all the
rest were keyed as 2013. Holy crap! How far into 2013 are we? I think I
need to go home for the day.
It read the item records in Date order (ie, key order) even though I know
for a fact that the physical order of the records does not match the key
order.
On Wed, Jun 19, 2013 at 3:33 PM, Paul Therrien<ptherrien@xxxxxxxxxxxxxxx
wrote:
It wouldn't matter what the date was. If you do a setll on the file withrpg400-l-bounces@xxxxxxxxxxxx]
an ITEM then you will get the first record in the file for that item. If
the second key column in the index is a date then you will get the lowest
date that belongs to that item.
Paul
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:
On Behalf Of Jeff Crosbyjust
Sent: Wednesday, June 19, 2013 2:24 PM
To: RPG programming on the IBM i (AS/400 and iSeries)
Subject: Re: READE with partial key
I do set the date to *loval before entering this part of the code. I
neglected to show it here.wrote:
On Wed, Jun 19, 2013 at 3:19 PM, Booth Martin<booth@xxxxxxxxxxxx>
subscribe,
I'd be concerned that the date field is likely to be the highest datenecessarily represent those of the company.
from the last read cycle, not *loval. After the first read in the
program it is unlikely that he will ever find a record with a date
lower than the highest date read since the first cycle of the program.
On 6/19/2013 2:09 PM, Alan Shore wrote:
I believe that as long as the f-spec for the file FILE is defined askeyed, you SHOULD get the records in Item (ascending)
Date (ascending) order.rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Jeff Crosby
Alan Shore
E-mail : ASHORE@xxxxxxxx
Phone [O] : (631) 200-5019
Phone [C] : (631) 880-8640
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:
Sent: Wednesday, June 19, 2013 2:54 PMsequence, am I? Some testing I'm doing now shows that I don't.
To: RPG programming on the IBM i / System i
Subject: READE with partial key
Suppose I have a file defined via DDL with unique key consisting of
Item (ascending)
Date (ascending)
// Set position in file
SETLL Item FILE;
// Only while this item
Dow '1';
Reade Item FILE;
If %EOF(FILE);
Leave;
Endif;
process record . . .
Enddo;
I am not assured of getting records within this item in ascending
Date
company. Unless I say so.
--
Jeff Crosby
VP Information Systems
UniPro FoodService/Dilgard
P.O. Box 13369
Ft. Wayne, IN 46868-3369
260-422-7531
www.dilgardfoods.com
The opinions expressed are my own and not necessarily the opinion of
my
--mailing list To post a message email: RPG400-L@xxxxxxxxxxxx To
This is the RPG programming on the IBM i (AS/400 and iSeries)
(RPG400-L)
subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-lhttp://archive.midrange.com/rpg400-l.
or email: RPG400-L-request@xxxxxxxxxxxx Before posting, please take
a moment to review the archives at
intended only for the individual named. If you are not the named
Disclaimer: This message contains confidential information and is
addressee you should not disseminate, distribute or copy this e-mail.
Please notify the sender immediately by e-mail if you have received
this e-mail by mistake and delete this e-mail from your system. E-mail
transmission cannot be guaranteed to be secure or error-free as
information could be intercepted, corrupted, lost, destroyed, arrive
late or incomplete, or contain viruses. The sender therefore does not
accept liability for any errors or omissions in the contents of this
message, which arise as a result of e-mail transmission. If
verification is required please request a hard-copy version. Any views
or opinions presented are solely those of the author and do not
--
Booth Martin
802-461-5349
http://www.martinvt.com
--
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,
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.
--
Jeff Crosby
VP Information Systems
UniPro FoodService/Dilgard
P.O. Box 13369
Ft. Wayne, IN 46868-3369
260-422-7531
www.dilgardfoods.com
The opinions expressed are my own and not necessarily the opinion of my
company. Unless I say so.
--
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
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.
--
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,
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.
--
Jeff Crosby
VP Information Systems
UniPro FoodService/Dilgard
P.O. Box 13369
Ft. Wayne, IN 46868-3369
260-422-7531
www.dilgardfoods.com
The opinions expressed are my own and not necessarily the opinion of my
company. Unless I say so.
--
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,
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 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.