|
Sharon,
Use SQL as others have recommended but you might not be able to get
rid of all those logicals. SQL would still need them depending on
your selection and sorting.
I'd make sure all those logicals don't do any select/omits so SQL can
take full advantage of them.
See if some of those logicals are redundant. If you have a logical
keyed on fielda and a logical keyed on fielda and fieldb you could
delete the redundant logical with the shorter key.
If you are doing some sort of summarization and your data doesn't
change that much you could pre load a work file with the summaries
then run your queries against the summarized work file instead of thefull data set.
Do they really select on all those fields and other criteria? Do they
really select on some fields then refine their selection on other
fields and criteria? I'd think about adding some logging to see what
selection and other criteria is actually being used and how they'drill down'.
Paul Morgan
Principal Programmer Analyst
IT Supply Chain/Replenishment
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx<mailto:rpg400-l-bounces@xxxxxxxxxxxx>
[mailto:rpg400-l-bounces@xxxxxxxxxxxx]<mailto:[mailto:rpg400-l-bounces@xxxxxxxxxxxx]>
On Behalf Of Sharon Strippoli
Sent: Friday, July 29, 2011 8:11 AM
To: rpg400-l@xxxxxxxxxxxx <mailto:rpg400-l@xxxxxxxxxxxx>
Subject: Reduce large amount of logicals in SUBFL pgm,take in another
direction
Good morning,
new job and given the assignment to revamp a screen pgm that the whole
company uses to make it more efficient, less CPU.
There are 12 different fields a user can fill in to search for the
info they want. Plus there are fields they can check off for other
criteria. Total about 25 different fields on the screen.
Currently, there are about 80 logicals that are used for all the
different combinations of fields to search on. The first SUBR of the
pgm does various validations against all the possible fields, then
depending on that result does a SETLL for the appropriate logical.
Then a second SUBR checks the fields again and depending on that does
a READ, READE or READP against the logical that was staged.
They want to select the data the first time through to a type of work
file, then as more information is filled in by the user, query or read
against that work file, drilling down further for each field that is
populated by the user. They want to reduce CPU and the amount oflogicals.
I was thinking of doing a query against the work file as it gets
drilled down.
Wondering how the super users that use this forum would take this on.
Any input would be appreciated.
Thanks.
Sharon
Sharon Strippoli
Pilot Freight Services
IT Dept.
Phone (610) 891-8113
sharonstrippoli@xxxxxxxxxxxxxxxxx<mailto:sharonstrippoli@xxxxxxxxxxxxxxxxx>
http://www.pilotdelivers.com <http://www.pilotdelivers.com>
--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing
list To post a message email: RPG400-L@xxxxxxxxxxxx<mailto:RPG400-L@xxxxxxxxxxxx> To subscribe,
unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l<http://lists.midrange.com/mailman/listinfo/rpg400-l>
or email: RPG400-L-request@xxxxxxxxxxxx<mailto:RPG400-L-request@xxxxxxxxxxxx> Before posting, please take a
moment to review the archives at http://archive.midrange.com/rpg400-l<http://archive.midrange.com/rpg400-l> .
--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing
list To post a message email: RPG400-L@xxxxxxxxxxxx<mailto:RPG400-L@xxxxxxxxxxxx> To subscribe,
unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l<http://lists.midrange.com/mailman/listinfo/rpg400-l>
or email: RPG400-L-request@xxxxxxxxxxxx<mailto:RPG400-L-request@xxxxxxxxxxxx> Before posting, please take a
moment to review the archives at http://archive.midrange.com/rpg400-l<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.