Caching a report for 60 minutes (using Resource layout painter & MRE) ?
I have a report (fex/htm combination) created using resource layout painter. It has 12 drop-down boxes that are populated from database. Is there a way to cache this report in explorer/elsewhere for about 60 minutes so that it doesn't keep reloading everytime the user clicks back button on browser ? It is taking some 20 seconds to load thus annoying users. I tried putting HTTP-EQUIV/EXPIRES in the htm file directly but it doesn't seem to work (in explorer).
WebFOCUS 5.3.3 MRE - Solaris - Sun Web Server - Weblogic
January 16, 2006, 10:18 AM
Ricardo
Hi Govind I would like to suggest as alternative solution, the creation of another database for exclusive use of the Droplist Please follow the instruction bellow: -* code SET MORE=OFF SET HOLDLIST = PRINTONLY SET ASNAMES = ON APP HOLD TEST TABLE FILE MASTER BY FILTER1 BY FILTER2 BY FILTER3 BY FILTER4 BY FILTER5 BY FILTER6 BY FILTER7 BY FILTER8 BY FILTER9 BY FILTER10 BY FILTER11 BY FILTER12 ON TABLE HOLD AS DROPDOWN1 FORMAT FOCUS END In the resource layout painter change MASTER of the drop-down for new Master "DROPDOWN1" This Method increase your performace for populated drop-down. Regards, Ricardo Rosário
Ricardo, what does 'SET MORE = OFF' do? Would you be kind enough to put your version and platform information into your signature? many thanks.
In Focus since 1979///7706m/5 ;wintel 2008/64;OAM security; Oracle db, ///MRE/BID
January 16, 2006, 10:40 AM
Ricardo
'SET MORE = OFF' Controls scrolling. ON cases display to pause when screen is full; OFF allows continuous scrolling. For Execution of fex in the Interactive Agent Tool.
Ricardo, it took some time but after few runs, I think I am getting a hang of your idea. You are saying that in main fex file (that I created by using RL Painter) - I could execute such a proc as you showed, hold the mas/foc files in unique directory (unique so that we dont mess up concurrent runs) and then use these mas/foc as datasource to get the parameters from (thus skipping the steps of xml generation/parsing and having to pass down the xml files to the browser) .... Looks good to me.
Do you have a suggestion on how to create unique dir names ? I remember there was some way to get userid.
And by the way, is there a way to use the same proc for all drop-down-lists OR do I need to create one proc per drop-down-list ? My parameters are all independent... they have no chaining-relationships among them.
Thx,
WebFOCUS 5.3.3 MRE - Solaris - Sun Web Server - Weblogic
January 17, 2006, 07:31 PM
Ricardo
quote:
And by the way, is there a way to use the same proc for all drop-down-lists OR do I need to create one proc per drop-down-list ? My parameters are all independent... they have no chaining-relationships among them.
One fex with 12 hold and Schedule this fex using Report Caster(if necessary).
quote:
Do you have a suggestion on how to create unique dir names ? I remember there was some way to get userid.
I was thinking of generating mas/foc files with unique names in some temp dir (and make sure that there are no concurrent overwrites). OTOH, I think I will just use the reportcaster or some script that runs at scheduled times.
Thx,
WebFOCUS 5.3.3 MRE - Solaris - Sun Web Server - Weblogic
January 18, 2006, 05:55 AM
Ricardo
Hi Govind
Use server date for generating mas/foc files with unique names. Please follow the instruction bellow: -* code -SET &NAMESFOC1= EDIT(&DATE,'99$$$$$$')||EDIT(&DATE,'$$$99$$$$')||EDIT(&DATE,'$$$$$$99'); -SET &NAMESFOC2= EDIT(&TOD,'99$$$$$$')||EDIT(&TOD,'$$$99$$$$')||EDIT(&TOD,'$$$$$$99'); -SET &NAMESFOC = '&NAMESFOC1.EVAL'||'&NAMESFOC2.EVAL'; TABLE FILE CAR SUM DEALER_COST RETAIL_COST BY COUNTRY BY CAR BY MODEL ON TABLE HOLD AS &NAMESFOC FORMAT FOCUS END
-*result
-SET &NAMESFOC1= EDIT(01/18/06,'99$$$$$$')||EDIT(01/18/06,'$$$99$$$$')||EDIT(01/18/06,'$$$$$$99'); -SET &NAMESFOC2= EDIT(08.54.35,'99$$$$$$')||EDIT(08.54.35,'$$$99$$$$')||EDIT(08.54.35,'$$$$$$99'); -SET &NAMESFOC = '011806'||'085435'; TABLE FILE CAR SUM DEALER_COST RETAIL_COST BY COUNTRY BY CAR BY MODEL ON TABLE HOLD AS 011806085435 FORMAT FOCUS END 0 NUMBER OF RECORDS IN TABLE= 18 LINES= 18
I think I should have titled my problem as 'How to speed up loading of a form containing lot of controls with dynamic parameters/values'.
Finally I found an example for speeding up forms that have lot of controls parameters populated in it. It turned out to be very simple. Using the following technique my form now runs in 2 seconds as opposed to 16 seconds it used to do (done in resource layout painter). Ofcourse I did not store the intermediate values in the file as shown in example. I just ran a 'hold' on them and used them in my htm file.
FILEDEF DYNAMLST DISK C:\IBI\APPS\GGDEMO\DYNAMLST.TXT
DEFINE FILE SHORTOPTCOUNTRY/A40 = '<option>'|COUNTRY;
END
TABLE FILE SHORT
SUM OPTCOUNTRY
BY COUNTRY NOPRINT
ON TABLE HOLD FORMAT ALPHA AS DYNAMLST
END
-RUN
-HTMLFORM DYNAMIC2
-RUN