|
>The trade-off is more programmer effort to keep the logicals organized (I >guess you could have one LF per I-O program), and you still have to deal >with record lock considerations. 7031's get filtered with CODE/400 and it >seems bad programming practice to change a DB data element value unless you >want the new value in the database. >This topic deserves its own FAQ... >Reeve A couple of opinions explicit-field LF's. When adding new fields to the file, Most often no one goes back and analyzes whether or not the new field should belong in the existing explicit-field LF's. If they do, it may be alot of "Non Value" work from some people's perspective(mine included. If you want explicit control over which fields you are updating, Try using the Exception Time Output, with the fields explicitly defined on the Output Statement. (This is a good practice, similar to SQL's "For Update Of" clause. Most shops use LF's for Index Definition more (much more) often than for View Definition. If that is the case(I'd say in the high 80-90% range of practice) Those LF's are only good for YOUR program I/O needs. I don't know about you but OUR end users are using THEIR data just as much as us programmers do. Using tools like Query/400 or whatever. You are negating the flexibility of the Optimizer for Their ad hoc queries in many scenarios. AND our(programmers) SQL, and OPNQRYF usage. Now about Joe's valid point of "The wider the record length passed in to RPG, the longer it will take to process that record." That's true. If you want your cake and eat it too, more people should have gotten excited when Han's asked "Would you like to specify a D/S in the result field of a Chain or Read when using a EXTernally Defined File?" I said YES!!!. Currently that is only allowed for Program defined files. Why is this so good? Well, THE WHOLE RECORD (or WFR in a New York TLA terminology) is brought into the D/S in ONE Move. NOT field by field (what Joe was pointing out). So using that function if/when available (is in V5R1?) You get One Field Move I/O performance AND all fields Externally Defined(via Ext Def D/S) So, Explicitly Defined Fields in LF's ??? I stay away from them 99% of the time. (I also use my own Extern SQL I/O modules( IMHO John Carr
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.