|
I did it.
For each file (physical, logical, with ot without key), i build one source
with some procedures :
Get_Filename (CHAIN)
Set_filename (SET, LL, GT)
Exists_filename (SETLL without read)
Read_filename (READ, readp, readE, READPE)
Insert_filename (write)
Delete_filename (delete)
Unlock_filename (unlock)
Update_filename (update)
dft_filename (populate the exported datastructure with defaul
values)
All "READ" procedures include a parm (*on/*off) to lock or not the record)
Create a module and one service pgm by file
a ds (io_filename) is exported.
It is not done by hand, i create a little pgm that get file decription and
create all sources needed (procedure interface, module...)
When i use suche a procedure, i include 3 lines :
/copy of the bnddir (it is one with only IO service pgm)
/copy of procedure interface
an external DS (linked with the file) if i use data from the file.
the only think (for me) to watch is in a loop that call a program that read
the same file i must make a setgt before the next read.
all procedure return *off if request fald or *on if not.
My loop are like this :
Dow Read_filename (*off : '*NEXT' : '*EQ' : Key1 : Key2 ...)
do staff
Enddo
One cool thing is that i can change the file (add new fields at the end)
without getting level error (new field will not be usable until i recompile)
I have a performance gain, and all IO for a file are in ONE source.
It is new for us, but all find it easy and pretty to use.
My little piece of 0,1 euro.
----- Original Message -----
From: "Tony Carolla" <carolla@xxxxxxxxx>
To: "RPG programming on the AS400 / iSeries" <rpg400-l@xxxxxxxxxxxx>
Sent: Wednesday, February 02, 2005 1:50 AM
Subject: Re: RPG read loops
> Paul -- Now that makes sense! In this way, even though you have a
> module for each file (or even multiple), you can reuse this module for
> all programs that access the file. This reminds me of what I read in
> the sorcerers guide about externalizing output. It really makes
> sense. Thanks!
>
>
> --
> "Enter any 11-digit prime number to continue..."
> --
> This is the RPG programming on the AS400 / 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-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.