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



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 with
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:
rpg400-l-bounces@xxxxxxxxxxxx]
On Behalf Of Jeff Crosby
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
just
neglected to show it here.


On Wed, Jun 19, 2013 at 3:19 PM, Booth Martin <booth@xxxxxxxxxxxx>
wrote:

I'd be concerned that the date field is likely to be the highest date
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 as
keyed, you SHOULD get the records in Item (ascending)
Date (ascending) order.

Alan Shore
E-mail : ASHORE@xxxxxxxx
Phone [O] : (631) 200-5019
Phone [C] : (631) 880-8640


-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:
rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Jeff Crosby
Sent: Wednesday, June 19, 2013 2:54 PM
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
sequence, am I? Some testing I'm doing now shows that I don't.



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


Disclaimer: This message contains confidential information and is
intended only for the individual named. If you are not the named
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
necessarily represent those of the company.


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

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