|
>>At 09:20 PM 8/6/97 -0400, PaulMmn wrote: >>>Well, here it is Old RPG II Programmer's Week... >>>Allright--- how many of you remember what an ADDROUT file was used for?? >> >><raising hand> >> >>Hmmm... wasn't that used to sort files, where the actual sorted data was >>just the RRN of the file with the data? You had to define some weird "E" >>spec's to link the addrout file to the master file. >> >Using a SORTR record sort required you to have enough disk space to hold not >only the input file but also a work file with a record length of the input >file plus the sort fields and output file with the same record length as the >input file. > >The SORTA record address sort permitted you to perform a sort with minimal >disk space available. The record length of the work file was the length of >the key fields and the record length of the output file was 3 bytes. > >Record address sorts are also called ADDROUT sorts (for address out). The >output file from a SORTA contains relative record number offsets for the >records to be processed from the input file. This is NOT a relative record >number, e.g. record at relative record number 1 in the sorted input file has >an offset of 0 in the ADDROUT output file. > >On the AS/400, the main value of the SORTA record address file is for S/36 >environment coexistance. When you are converting a S/36 system to native, >you can easily convert the RPG II programs to RPG III program described >files still driven by procedures. You can externally describe the files and >continue to use them as program described files within an RPG III program >still drive by procedures with no modifications. > >But when you change the converted RPG III programs to use externally >described files, you have a problem with disk sort. The output of a disk >sort is a program described file. > >The simplest solution to this problem is to change the disk sorts to record >address sorts. The record address file can be used to process an externally >described file in RPG III. Thus the only changed required to the procedures >are to change the SORTR to a SORTA and eliminate the FDC data specifications. > >The coding of an addrout file in RPG is very simple. S/36 environment sorts >create a 3 byte output file. Native FMTDTA sorts create a 4 byte output >file. RPG III can define the ADDROUT file as either 3 or 4 bytes. It makes >no difference how the ADDROUT file was created. > >In following RPG/400 sample, the file ADDROUT is the output of a SORTA. The >file OS6MASTR is the input to the sort and is processed in the RPG program >using the ADDROUT file. > >*.. 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8 >FFilenameIPEAF....RlenLKlAIOvKlocEDevice+......Kexit++Entry+A....U1........ >FOS6MASTRIP E DISK >FADDROUT IR F 3 3 T EDISK > >E....FromfileTofile++ArrnamN/rN/rbLenPDSArrnamLenPDSComments............... >E ADDROUT OS6MASTR > >The following RPG IV sample accomplishes the same thing. > >*.. 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8 >FFilename++IPEASFRlen+LKlen+AIDevice+.File continuation++++++++++++++++++++ >FOS6MASTR IP E DISK >FADDROUT IR F 3 3 TDISK RAFDATA(OS6MASTR) > >In a native environment, you would generally use OPNQRYF to replace the >addrout sort. You could also use a logical file access path. > >SORTA was once an invaluable tool on the S/3, S/34, and S/36. On the >AS/400, it only has value as a S/36 environment coexistance tool. > > >Charlie Massoglia, Massoglia Technical Consulting, Inc. >PO Box 1065, Okemos, MI 48854, USA >517-676-9700 Fax: 517-676-1006 EMAIL: cmassoglia@voyager.net > That's it! You've done it! Jay, tell Charlie just what he's won! ...Charlie, you've won an autographed copy of that famous book of the '60s, "Programming RPG For the IBM 360." -And- that's not all... You've also won a trip to Philadelphia! You'll stay at the famous Independence Hall Arms. And dine at "Top of the Bell," just off Independence Square. --Paul E Musselman PaulMmn@ix.netcom.com * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * This is the Midrange System Mailing List! To submit a new message, * * send your mail to "MIDRANGE-L@midrange.com". To unsubscribe from * * this list send email to MAJORDOMO@midrange.com and specify * * 'unsubscribe MIDRANGE-L' in the body of your message. Questions * * should be directed to the list owner / operator: david@midrange.com * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 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.