The record address file's purpose was to save disk space on S/3/32/34/36's which were usually constrained for disk space. Data sorting a huge database file could (and did) bomb for lack of disk space. A sort requires three files: Input (obviously), a work file, and the output (result). Personally, I haven't used one since my /34 days, but I did help a client convert a database for Y2K. I remember that their processes had a ton of FMTDTA's because they had originally converted from a S/3 years before to get to the AS/400 (really, one of the beige, rack-mounted units). Can't remember program details, though.
Jerry C. Adams
IBM System i Programmer/Analyst
--
B&W Wholesale
office: 615-995-7024
email: jerry@xxxxxxxxxxxxxxx
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Jeff Young
Sent: Wednesday, April 29, 2009 5:08 PM
To: RPG programming on the IBM i / System i
Subject: Re: Update primary filre
The RAF file is a Record Address File consisting of 4 byte records containing a single packed field which is the relative record number of the record as output from the FMTDTA command.
This is fully supported in ILE RPG.
It was used when the file was program defined and the programmer needed to have it in a specific order but did not want to have a full copy of the data in another place.
A Limits file was a file that had a record length of exactly twice the length of the key of the file to be processed.
This file contained a From and To key to be processed.
The data in this file would be used by the system to read all records in the group represented by the From and To keys.
AFIK, this method of processing is only valid for program defined files.
Jeff Young
Sr. Programmer Analyst
IBM -e(logo) server Certified Systems Exper - iSeries Technical Solutions V5R2
IBM Certified Specialist- e(logo) server i5Series Technical Solutions Designer V5R3
IBM Certified Specialist- e(logo)server i5Series Technical Solutions Implementer V5R3
________________________________
From: Barbara Morris <bmorris@xxxxxxxxxx>
To: rpg400-l@xxxxxxxxxxxx
Sent: Wednesday, April 29, 2009 5:36:53 PM
Subject: Re: Update primary filre
M. Lazarus wrote:
Barbara,
I haven't tried it in many years, since the limitations made it
unattractive to use. I thought a RAF referred to the output of a
FMTDTA; we've called it a limits file. I think that the "R" in the F
spec is optional. Each record of the limits file is twice the length
of the key. So if the alpha key is 10 characters and I wanted all
record values starting from D through F, and W through Y, the records
would contain:
12345678901234567890
D FZZZZZZZZZ
W YZZZZZZZZZ
That works fine when there is one key. But, IIRC, for a compound
key using an externally described limits file would be a lot easier,
but the compiler doesn't allow it.
I think I'm missing something. (*)
If you're talking about creating the limits file without using FMTDTA,
you _could_ use an externally described file. If you're talking about
using the limits file created by FMTDTA to control access to another
file, you never actually use the limits file in your RPG program other
than coding the F spec. The other file can be externally described.
(*) Not surprising that I'm missing something. I've never felt very
comfortable with RAF. Any RAF programs I've ever seen have just been
compiler testcases where the limits file was created by hand.
As an Amazon Associate we earn from qualifying purchases.