I created a single *.fex. I then created 3 different *.html pages that use that one *.fex. Each *.html page only exposes 1 of 3 different search parameters. All is right with the world.
I then went back to my original *.fex and made an edit by adding a new field to be displayed. I was "hoping" that all 3 *.html pages would pick up the *.fex change because I did an "Insert / Existing Procedure".
It appears that the *.html page has a request tag where it looks like there's a copy and paste of the text from the *.fex at the time it was inserted.
It seems like I can fix the issue by going in to each specific HTML and right click on my report and re-import the *.fex again - but that kind of defeats the purpose of my master plan to only want to update a single *.fex and have the updates trickle down to the other *.html pages too. 6 months from now I'll have no idea how many different *.html pages may have the same report on it.
I've spent a fair amount of time searching Focal Point - and reading the Designing a User Interface for a Web Application With the HTML Composer - but I'm not seeing anything.
Is there a "smart" way to have the *.html page reference a *.fex - but not have a copy of it at the time it was inserted? Kind of like an include perhaps? Did I build my *.html pages incorrectly? We are building our *.fex and *.html pages under the Content section (if that matters).
Thanks,
Jeremy
My *.fex has a new column: MOVIES.MOVINFO.RELDATE
But - here's what's showing up in my *.html page (no RELDATE)
< !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<script type=text/javascript>//confidential_id=IBI_ibigblloadCss if(typeof ibigblloadCss === 'function'){ibigblloadCss(null);addIntlTranslatedJS("composertrans.js");}else {alert("JavaScript alias '/ibi_apps/ibi_html' is not valid");window.location("about:blank");} HtmlPage <script for=window type=text/javascript eventname="onload">window.onload = function() { window_onload(); }
<script>//confidential_id=clientEventHandlersJS
//Begin function window_onload function window_onload() {
UpdateData();
// TODO: Add your event handler code here //add onInitialUpdate() function to make changes before initial run of the reports } //End function window_onload
-* If Blank - change to _FOC_NULL - webFOCUS param that will drop out the whole line if _FOC_NULL exists (secrelty this means the where clause goes BYE-BYE -SET &H2O_TITLE = IF TRUNCATE(&H2O_TITLE) EQ '' THEN '_FOC_NULL' ELSE &H2O_TITLE ; -SET &H2O_CATEGORY = IF TRUNCATE(&H2O_CATEGORY) EQ '' THEN '_FOC_NULL' ELSE &H2O_CATEGORY; -SET &H2O_RATING = IF TRUNCATE(&H2O_RATING) EQ '' THEN '_FOC_NULL' ELSE &H2O_RATING;
-* Massage user input. If Blank - do nothing to speed processing. If Not Blank - Left Justify, Upper Case, Trim trailing blanks and add the % for the LIKE SQL statement. -IF &H2O_TITLE EQ '_FOC_NULL' THEN GOTO :ENDTITLE ELSE CONTINUE; -SET &H2O_TITLE = LJUST(&H2O_TITLE.LENGTH,&H2O_TITLE,'A&H2O_TITLE.LENGTH'); -SET &H2O_TITLE = UPCASE(&H2O_TITLE.LENGTH,&H2O_TITLE,'A&H2O_TITLE.LENGTH'); -SET &H2O_TITLE = TRUNCATE(&H2O_TITLE); -SET &H2O_TITLE = '%' || &H2O_TITLE || '%'; -:ENDTITLE;
-* Massage user input. If Blank - do nothing to speed processing. If Not Blank - Left Justify, Upper Case, Trim trailing blanks and add the % for the LIKE SQL statement. -IF &H2O_CATEGORY EQ '_FOC_NULL' THEN GOTO :ENDCATEG ELSE CONTINUE; -SET &H2O_CATEGORY = LJUST(&H2O_CATEGORY.LENGTH,&H2O_CATEGORY,'A&H2O_CATEGORY.LENGTH'); -SET &H2O_CATEGORY = UPCASE(&H2O_CATEGORY.LENGTH,&H2O_CATEGORY,'A&H2O_CATEGORY.LENGTH'); -SET &H2O_CATEGORY = TRUNCATE(&H2O_CATEGORY); -SET &H2O_CATEGORY = '%' || &H2O_CATEGORY || '%'; -:ENDCATEG;
-* Massage user input. If Blank - do nothing to speed processing. If Not Blank - Left Justify, Upper Case, Trim trailing blanks and add the % for the LIKE SQL statement. -IF &H2O_RATING EQ '_FOC_NULL' THEN GOTO :ENDRATING ELSE CONTINUE; -SET &H2O_RATING = LJUST(&H2O_RATING.LENGTH,&H2O_RATING,'A&H2O_RATING.LENGTH'); -SET &H2O_RATING = UPCASE(&H2O_RATING.LENGTH,&H2O_RATING,'A&H2O_RATING.LENGTH'); -SET &H2O_RATING = TRUNCATE(&H2O_RATING); -:ENDRATING;
TABLE FILE MOVIES PRINT MOVIES.MOVINFO.TITLE MOVIES.MOVINFO.CATEGORY MOVIES.MOVINFO.RATING MOVIES.MOVINFO.DIRECTOR WHERE MOVIES.MOVINFO.TITLE LIKE &H2O_TITLE.QUOTEDSTRING; WHERE MOVIES.MOVINFO.CATEGORY LIKE &H2O_CATEGORY.QUOTEDSTRING; WHERE MOVIES.MOVINFO.RATING EQ &H2O_RATING.QUOTEDSTRING; ON TABLE SET PAGE-NUM NOLEAD ON TABLE NOTOTAL ON TABLE PCHOLD FORMAT HTML ON TABLE SET HTMLCSS ON ON TABLE SET STYLE * INCLUDE = IBFS:/EDA/EDASERVE/_EDAHOME/ETC/endeflt.sty, $ ENDSTYLE END]]>
-* If Blank - change to _FOC_NULL - webFOCUS param that will drop out the whole line if _FOC_NULL exists (secrelty this means the where clause goes BYE-BYE -SET &H2O_TITLE = IF TRUNCATE(&H2O_TITLE) EQ '' THEN '_FOC_NULL' ELSE &H2O_TITLE ; -SET &H2O_CATEGORY = IF TRUNCATE(&H2O_CATEGORY) EQ '' THEN '_FOC_NULL' ELSE &H2O_CATEGORY; -SET &H2O_RATING = IF TRUNCATE(&H2O_RATING) EQ '' THEN '_FOC_NULL' ELSE &H2O_RATING;
-* Massage user input. If Blank - do nothing to speed processing. If Not Blank - Left Justify, Upper Case, Trim trailing blanks and add the % for the LIKE SQL statement. -IF &H2O_TITLE EQ '_FOC_NULL' THEN GOTO :ENDTITLE ELSE CONTINUE; -SET &H2O_TITLE = LJUST(&H2O_TITLE.LENGTH,&H2O_TITLE,'A&H2O_TITLE.LENGTH'); -SET &H2O_TITLE = UPCASE(&H2O_TITLE.LENGTH,&H2O_TITLE,'A&H2O_TITLE.LENGTH'); -SET &H2O_TITLE = TRUNCATE(&H2O_TITLE); -SET &H2O_TITLE = '%' || &H2O_TITLE || '%'; -:ENDTITLE;
-* Massage user input. If Blank - do nothing to speed processing. If Not Blank - Left Justify, Upper Case, Trim trailing blanks and add the % for the LIKE SQL statement. -IF &H2O_CATEGORY EQ '_FOC_NULL' THEN GOTO :ENDCATEG ELSE CONTINUE; -SET &H2O_CATEGORY = LJUST(&H2O_CATEGORY.LENGTH,&H2O_CATEGORY,'A&H2O_CATEGORY.LENGTH'); -SET &H2O_CATEGORY = UPCASE(&H2O_CATEGORY.LENGTH,&H2O_CATEGORY,'A&H2O_CATEGORY.LENGTH'); -SET &H2O_CATEGORY = TRUNCATE(&H2O_CATEGORY); -SET &H2O_CATEGORY = '%' || &H2O_CATEGORY || '%'; -:ENDCATEG;
-* Massage user input. If Blank - do nothing to speed processing. If Not Blank - Left Justify, Upper Case, Trim trailing blanks and add the % for the LIKE SQL statement. -IF &H2O_RATING EQ '_FOC_NULL' THEN GOTO :ENDRATING ELSE CONTINUE; -SET &H2O_RATING = LJUST(&H2O_RATING.LENGTH,&H2O_RATING,'A&H2O_RATING.LENGTH'); -SET &H2O_RATING = UPCASE(&H2O_RATING.LENGTH,&H2O_RATING,'A&H2O_RATING.LENGTH'); -SET &H2O_RATING = TRUNCATE(&H2O_RATING); -:ENDRATING;
TABLE FILE MOVIES PRINT MOVIES.MOVINFO.TITLE MOVIES.MOVINFO.CATEGORY MOVIES.MOVINFO.RATING MOVIES.MOVINFO.DIRECTOR WHERE MOVIES.MOVINFO.TITLE LIKE &H2O_TITLE.QUOTEDSTRING; WHERE MOVIES.MOVINFO.CATEGORY LIKE &H2O_CATEGORY.QUOTEDSTRING; WHERE MOVIES.MOVINFO.RATING EQ &H2O_RATING.QUOTEDSTRING; ON TABLE SET PAGE-NUM NOLEAD ON TABLE NOTOTAL ON TABLE PCHOLD FORMAT HTML ON TABLE SET HTMLCSS ON ON TABLE SET STYLE * INCLUDE = IBFS:/EDA/EDASERVE/_EDAHOME/ETC/endeflt.sty, $ ENDSTYLE END]]][/request][/requests][other_bound_objects][/other_bound_objects][/rootxmlnode][/script] [/xml][/BODY] [SCRIPT type=text/javascript]//confidential_id=IBI_loader if(typeof doBeforeLoad === 'function'){doBeforeLoad();}function AdjustChildrenPosition(){ } [/SCRIPT] [/HTML] [!-- cc frynk --]
webFOCUS 8207.15 WindowsServer 2019
December 06, 2013, 02:57 AM
Dave
hi,
I'd choose "reference existing procedure" instead of insert.
This would not put the FEX code in the HTML. ( which is what you want. )
If you change the fex afterward ( add a &option ) you just have to 'reassign' the run button to the fex to refresh the parameters.
It will suffice to just open the hyperlink properties and click 'ok' to 'reassign'.
Good luck, Dave
_____________________ WF: 8.0.0.9 > going 8.2.0.5
December 06, 2013, 02:57 AM
Dave
Oh and I do like this concept:
quote:
-* Massage user input
_____________________ WF: 8.0.0.9 > going 8.2.0.5
December 06, 2013, 09:04 AM
Doug
Ditto to Dave's use "reference existing procedure"... Always.
December 06, 2013, 09:43 AM
stur0063
Dave/Doug - thanks for the info.
I kept going to the Insert / Import Existing. Now I see the "Reference Existing Procedure" in the right click menu. Good stuff to know.