× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Hi Malini -

I have a physical file which has millions of records, and this physical file gets updated quite frequently by various programs in the application.

I have to develop 2 programs pertaining to an enhancement request.

Program 1

Needs to read the file selectively based on two fields of the physical file , perform calculations on the selected records and update them. There is no existing logical file on the physical with these 2 fields as a key

Program 2

Needs to read (only)the file selectively. File is opened in input mode only.

Which is the more efficient method in each case - creating a logical file with the 2 fields as key or using an openquery with select on the 2 fields before each program is called. Any other efficient way ?

The most efficient way is to have a logical file.

If either of the programs is interactive, or if either program is going to be run frequently, definitely make a logical file.

If both are going to run in batch and not very often (like a month-end program), then an OPNQRYF with record selection would probably be acceptable.

Also :- What are the scenarios where a logical file is preferred over an open query file and vice-versa ?

My response above pretty covers that. Additionally, even for an infrequent batch program, if you need to do keyed operations (rather than just processing all of the selected records sequentially), the logical file is better. In that case the logical file could be MAINT(*REBLD) so that the access path would be built when the file is opened.


SQL is also an option for batch programs, but personally I find SQL to be a real PITA for many reasons, not the least of which is the poor integration of SQL into the RPG compilers (not the fault of the compiler folks).

--
Ken
http://www.ke9nr.net/
Opinions expressed are my own and do not necessarily represent the views of my employer or anyone in their right mind.



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

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.