Focal Point
[CLOSED] How to reduce time WebFOCUS takes to check external files from a FEX

This topic can be found at:
https://forums.informationbuilders.com/eve/forums/a/tpc/f/7971057331/m/1257078096

October 23, 2018, 03:23 PM
Dennis_V
[CLOSED] How to reduce time WebFOCUS takes to check external files from a FEX
I have a FEX which takes in some parameters and then populates a DIALOGUE MANAGER AMPER variable with the FEX or HTML to invoke using EX or -HTMLFORM using the AMPER variable on a line by itself.

Something like this:

-SET &MENU_OPT = DECODE &MENU_OPT('OPT_1' 'EX IBFS:/WFC/Repository/my_rpt_domain/reports/fex_1.fex'
-                                 'OPT_2' '-HTMLFORM IBFS:/WFC/Repository/my_rpt_domain/reports/htm_1.htm'
-                                 'OPT_3' 'EX IBFS:/WFC/Repository/my_rpt_domain/reports/fex_2.fex'
-                                 ELSE '-GOTO DONE');
&MENU_OPT.EVAL  
 


On the surface this would seem to be OK, if not for the changes to the way WebFOCUS parses your FEX before it runs it from pre-version 8 versions. WebFOCUS will throw an error on the
&MENU_OPT.EVAL

statement that the FEX or HTML file is not found.

To get around this problem and make WebFOCUS happy, you can put references to the FEX or HTM files somewhere in your FEX, even if you don't ever execute that code, like this:

 

-SET &MENU_OPT = DECODE &MENU_OPT('OPT_1' 'EX IBFS:/WFC/Repository/my_rpt_domain/reports/fex_1.fex'
-                                 'OPT_2' '-HTMLFORM IBFS:/WFC/Repository/my_rpt_domain/reports/htm_1.htm'
-                                 'OPT_3' 'EX IBFS:/WFC/Repository/my_rpt_domain/reports/fex_2.fex'
-                                 ELSE '-GOTO DONE');
&MENU_OPT.EVAL
-GOTO DONE
-*
EX IBFS:/WFC/Repository/my_rpt_domain/reports/fex_1.fex
-HTMLFORM IBFS:/WFC/Repository/my_rpt_domain/reports/htm_1.htm
EX IBFS:/WFC/Repository/my_rpt_domain/reports/fex_2.fex
-*
-DONE 


This works, because WebFOCUS has pre-checked the existence of the file before it was referenced by the
&MENU_OPT.EVAL

line of code.

If there's only a few FEXes or HTM files to dynamically call using this method, it's no big deal, but when you start adding more, say 10 or 20, WebFOCUS can take a bit of time to pre-to check the existence of all the files, causing the page or report to take more time to load or display results.

Does anyone know if WebFOCUS allows you to switch off the file pre-check process before a FEX runs, or is that not possible at this time?

I have tried other techniques from other posts like using
-MRNOEDIT
, but still end up putting the references to the FEX and HTM files in as shown above to get it to work.

This message has been edited. Last edited by: Dennis_V,


Local: AppStudio 8.2.03 - Win7 - Tomcat Server: WebFOCUS 8.2.03 - Windows 2008 R2 Enterprise on VMWare 2 CPU, 3.2GHz, 4GB of RAM Output Formats: HTML, Excel, PDF, PPT, Active Reports
October 23, 2018, 04:03 PM
Waz
If you are unaware, the WebFOCUS web client needs to parse the files in the repository to work out which ones will need to be "shipped" to the reporting server for execution.

We currently have an issue with the lead time where we can have 3 to 6 seconds before the execution starts.

Its quite annoying, and we know that there are issues (tested on 8.1.04) with multiple includes of the same code, all are sent separately. (We use common code and utilities)

We have a case open with IBI about this, no resolution yet.


Waz...

Prod:WebFOCUS 7.6.10/8.1.04Upgrade:WebFOCUS 8.2.07OS:LinuxOutputs:HTML, PDF, Excel, PPT
In Focus since 1984
Pity the lost knowledge of an old programmer!

October 23, 2018, 04:49 PM
Dennis_V
Thanks Waz.

I thought that might be the case, but had to post just in case there was a solution.

I'm sure IBI will come up with something to reduce the lag time to parse the files.

Dennis


Local: AppStudio 8.2.03 - Win7 - Tomcat Server: WebFOCUS 8.2.03 - Windows 2008 R2 Enterprise on VMWare 2 CPU, 3.2GHz, 4GB of RAM Output Formats: HTML, Excel, PDF, PPT, Active Reports
October 24, 2018, 02:17 AM
Dave
Hi,

although we use for different purposes. This might work.

TABLE FILE <some dummy>
PRINT COMPUTE CODELINE/A500 = &MENU_OPT;
BY dummyfield NOPRINT
WHERE RECORDLIMIT EQ 1
ON TABLE SAVE AS foccache/TEMPCODE
END
-RUN
-MRNODEDIT -INCLUDE foccache/TEMPCODE.ftm


...you might need to add some extra quotes in &MENU_OPT



It does the same thing but in a different way. Might be better performance.

I'm curious.

Greets, Dave


_____________________
WF: 8.0.0.9 > going 8.2.0.5