I'm going to back Paul on this.
Now that I think of it, over the years I have coded maybe dozens
of programs that set position by partial key and then processed
using local fields to control "breaks" for different kinds of
reports and summary types of updates.
Those programs would have caused a lot of complaints if the file
system and RPG did not keep the data in order by the declared key,
regardless of the partial key used for positioning.
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Paul Therrien
Sent: Wednesday, March 27, 2013 3:26 PM
To: RPG programming on the IBM i (AS/400 and iSeries)
Subject: RE: CHAIN on a Partial Key
You will always get the records with item and warehouse in the correct sequence even if you only chain with item.
Sample
Item Whs
1 A
1 B
1 G
1 2
2 B
2 3
Chain with item 1 gets whs A
Chain with item 2 gets whs B
Paul
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Sam_L
Sent: Wednesday, March 27, 2013 4:19 PM
To: rpg400-l@xxxxxxxxxxxx
Subject: CHAIN on a Partial Key
I have a logical file uniquely keyed on ITEM and WAREHOUSE.
I have found an (incorrect) program that does a CHAIN to this logical using just ITEM. (The assumption may have been that it would get the lowest WAREHOUSE which is where most stock is, but it is old code and I can't ask anyone.)
I believe it sometimes gets a record that isn't the lowest WAREHOUSE and ITEMS sometimes vanish from a report because there is no stock in this warehouse.
Some eagle eyed person found items missing from a report from last year.
We restored the PF and the LF from a backup tape to another library, reran the report, and the missing items correctly turned up.
I believe that there is no guarantee that if you do a CHAIN on ITEM that you are guaranteed to get the record with the lowest value of WAREHOUSE and that randomly we get another record.
Others are skeptical that I have found the cause, but it is a complicated program stack and we haven't found any other reason.
Question 1: Am I on solid ground with my belief?
Question 2: Does any one know of any documentation on this subject?
Thanks, Sam
--
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.
As an Amazon Associate we earn from qualifying purchases.