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