As of December 1, 2020, Focal Point is retired and repurposed as a reference repository. We value the wealth of knowledge that's been shared here over the years. You'll continue to have access to this treasure trove of knowledge, for search purposes only.
Join the TIBCO Community TIBCO Community is a collaborative space for users to share knowledge and support one another in making the best use of TIBCO products and services. There are several TIBCO WebFOCUS resources in the community.
From the Home page, select Predict: WebFOCUS to view articles, questions, and trending articles.
Select Products from the top navigation bar, scroll, and then select the TIBCO WebFOCUS product page to view product overview, articles, and discussions.
Request access to the private WebFOCUS User Group (login required) to network with fellow members.
Former myibi community members should have received an email on 8/3/22 to activate their user accounts to join the community. Check your Spam folder for the email. Please get in touch with us at community@tibco.com for further assistance. Reference the community FAQ to learn more about the community.
This has been driving me nuts for about four hours so far today.
I have an HTML form with a dropdown box to filter a report. The report is essentially a list of reports, with each one going to a separate procedure. I am running my HTML page through MRE.
I edited my style file today (mystyles.sty), and if I run reports from Dev Studio, I can see the changes, as I should. Also, from MRE, if I pick a report to run using the default "ALL" option from the dropdown, the report likewise runs fine and also picks up the changed stylesheet.
HOWEVER, if I change one of the dropdowns to run the filtered report list, and then pick the exact same report, it uses the OLD style. I have no idea why.
The only thing I can think of is that the stylesheet is somehow cached on the server (I've done all the browser-cache clearing options possible to try to fix this, as well as including a random number query in the URL), and for whatever reason only when running a report from the filtered list does the old stylesheet show. So it's nothing with the HTML report caching, I'm thinking it has to be something WebFOCUS related.
Last thing: If I change the stylesheet name and the INCLUDE in the report procedure, it all runs as it should as well. It's only using the stylesheet name (originally created several days ago) that it will use the old style.This message has been edited. Last edited by: J.Hines,
No, it's in the application folder. The only thing in my Other MRE fold is endeflt.sty.
We have multiple "sections" to the entire application, with each one having it's own application folder, and ideally they will all use common stylesheets in a "-common" app folder, but I haven't figured out how to get a procedure from one app folder to use a stylesheet in another, even if they're all included into the overall APP PATH.
My only guess is that you have a copy of the old stylesheet located somewhere else and it is picking that one up. I've noticed this before too. As far as having a central file, use the following syntax in the src: /approot/(your central app)/(your file)
If using the gui, that line would be entered as a URL.
WebFOCUS 7.7.03/8.0.08 Dev Studio 7.7.03/8.0.08 App Studio 8.0.08 Windows 7 ALL Outputs
Posts: 402 | Location: Upland, IN | Registered: June 08, 2012
Francis, this happens in both IE and Firefox, same behavior and after clearing all caches and temporary internet files (and a computer restart too).
quote:
Originally posted by J: My only guess is that you have a copy of the old stylesheet located somewhere else and it is picking that one up.
I thought so too, but if I change something in the stylesheet, it's reflected right away, just something apparently changes when I filter the report list from the combo box.
quote:
As far as having a central file, use the following syntax in the src: /approot/(your central app)/(your file)
If using the gui, that line would be entered as a URL.
I tried that type of path, where "central app" is the name of the app folder where the stylesheet is, but then the report fails to return anything, which is odd because I'm including an image from that common app folder in the heading, and it has no problem with that.
Here is my current include line (format for the report is AHTML).
To test my theory, simply change the stylesheet twice checking it after each change. If it is still reflecting the original version after the second change, then you have a rogue file, otherwise it is something like you are suggesting with the cache. I only remember that there was a difference between what the gui does and a direct path, sorry that I can't be more specific. If you could post code that shows how you are selecting the reports in each case, that would be helpful.
WebFOCUS 7.7.03/8.0.08 Dev Studio 7.7.03/8.0.08 App Studio 8.0.08 Windows 7 ALL Outputs
Posts: 402 | Location: Upland, IN | Registered: June 08, 2012
I was able to see that when the report list was unfiltered, the chosen report ran with a the local app folder at the highest level, but when an item was chosen from the dropdown, and the same report was chosen, for whatever reason I still can't figure out, it was looking in baseapp, which did have a copy of the old stylesheet. Removing that one solved the problem.
Why a dropdown filter in the HTML page causes the report calling procedure to change the order of applications in the app path, I have no idea. Any solutions there would be helpful, but my direct problem in the post is now solved. Thanks for the debugging help!
Probably one of those related to the control causing your problems has a different list of apps to search through than the other controls have.
WebFOCUS 8.1.03, Windows 7-64/2008-64, IBM DB2/400, Oracle 11g & RDB, MS SQL-Server 2005, SAP, PostgreSQL 11, Output: HTML, PDF, Excel 2010 : Member of User Group Benelux :
The dropdown is a control to populate a parameter that is in the WHERE clause for the report.
The code populating the dropdown is:
TABLE FILE T_ICR_REPORT_MASTER
SUM FST.T_ICR_REPORT_MASTER.T_ICR_REPORT_MASTER.CATEGORY
BY T_ICR_REPORT_MASTER.T_ICR_REPORT_MASTER.CATEGORY
// TODO: Add your filters here to replace defaults
ON TABLE PCHOLD FORMAT XML
END
The parameter it's tied to is called "CATEGORY", and the where clause in the report is:
WHERE T_ICR_REPORT_MASTER.T_ICR_REPORT_MASTER.CATEGORY EQ '&CATEGORY';
As far as JavaScript goes, I couldn't get the dropdown to cause the report to rerun, and so I added a Run button, made it hidden, then set the On_Change event of the dropdown to call the Run button's click function. That way selecting the dropdown runs the report with the selected parameter.
What I was trying to get at was the syntax for the report call. Are the categories are the report names or part of them, what is the syntax you are using (the path to the reports)? Also what Doug said.
WebFOCUS 7.7.03/8.0.08 Dev Studio 7.7.03/8.0.08 App Studio 8.0.08 Windows 7 ALL Outputs
Posts: 402 | Location: Upland, IN | Registered: June 08, 2012
Doug: This is a single report. I have a frame in the HTML composer to which I attached a single procedure. The code for that procedure is below, and here's a screenshot of the interface.
"Category" is simply a field that I'm filtering by. I select a Category, and that fires the click event for the hidden Run button that refreshes the report listing. Clicking the report name in the first column runs a procedure that figures out what report was chosen, and then runs the procedure for that report. The problem was that somehow the order of the app path was changing if I filtered and selected a report versus if I just selected that report from the unfiltered list.
-* File icr_call_report.fex
-DEFAULT &PRODUCT = _FOC_NULL
-DEFAULT &REP_ID = _FOC_NULL
-DEFAULT &REP_TITLE = _FOC_NULL
-DEFAULT &PRODUCT = _FOC_NULL
-DEFAULT &CATEGORY = _FOC_NULL
-DEFAULT &CLIENT = _FOC_NULL
-DEFAULT &ROUND = _FOC_NULL
-*
-SET &ECHO = 'ALL';
-*
TABLE FILE T_ICR_REPORT_MASTER
PRINT
COMPUTE MARKER/A1 = IF T_ICR_REPORT_MASTER.T_ICR_REPORT_MASTER.REP_TITLE
CONTAINS 'Data Quality Detail' THEN '*'
ELSE IF T_ICR_REPORT_MASTER.T_ICR_REPORT_MASTER.REP_TITLE
CONTAINS 'Indicative Load' THEN '*'
ELSE IF T_ICR_REPORT_MASTER.T_ICR_REPORT_MASTER.REP_TITLE
CONTAINS 'Indicative Errors' THEN '*'
ELSE IF T_ICR_REPORT_MASTER.T_ICR_REPORT_MASTER.REP_TITLE
CONTAINS 'Grant Errors' THEN '*'
ELSE IF T_ICR_REPORT_MASTER.T_ICR_REPORT_MASTER.REP_TITLE
CONTAINS 'Mobility Load' THEN '*'
ELSE IF T_ICR_REPORT_MASTER.T_ICR_REPORT_MASTER.REP_TITLE
CONTAINS 'Mobility Errors' THEN '*'
ELSE IF T_ICR_REPORT_MASTER.T_ICR_REPORT_MASTER.REP_TITLE
CONTAINS 'Tax Errors' THEN '*'
ELSE IF T_ICR_REPORT_MASTER.T_ICR_REPORT_MASTER.REP_TITLE
CONTAINS 'TOA Lot Load' THEN '*'
ELSE IF T_ICR_REPORT_MASTER.T_ICR_REPORT_MASTER.REP_TITLE
CONTAINS 'Plan Eligibility Indicators' THEN '*'
ELSE IF T_ICR_REPORT_MASTER.T_ICR_REPORT_MASTER.REP_TITLE
CONTAINS 'Grant Load' THEN '*'
ELSE IF T_ICR_REPORT_MASTER.T_ICR_REPORT_MASTER.REP_TITLE
CONTAINS 'Vesting Tranches' THEN '*'
ELSE ''; AS ''
T_ICR_REPORT_MASTER.T_ICR_REPORT_MASTER.REP_ID NOPRINT
T_ICR_REPORT_MASTER.T_ICR_REPORT_MASTER.REP_TITLE
T_ICR_REPORT_MASTER.T_ICR_REPORT_MASTER.PRODUCT
T_ICR_REPORT_MASTER.T_ICR_REPORT_MASTER.CLIENT
T_ICR_REPORT_MASTER.T_ICR_REPORT_MASTER.ROUND
T_ICR_REPORT_MASTER.T_ICR_REPORT_MASTER.CATEGORY
T_ICR_REPORT_MASTER.T_ICR_REPORT_MASTER.PPMC
T_ICR_REPORT_MASTER.T_ICR_REPORT_MASTER.TABLE_NAME
BY T_ICR_REPORT_MASTER.T_ICR_REPORT_MASTER.REP_TITLE NOPRINT
-*BY T_ICR_REPORT_MASTER.T_ICR_REPORT_MASTER.TABLE_NAME NOPRINT
WHERE ( T_ICR_REPORT_MASTER.T_ICR_REPORT_MASTER.PRODUCT EQ '&PRODUCT' );
WHERE T_ICR_REPORT_MASTER.T_ICR_REPORT_MASTER.CLIENT EQ '&CLIENT';
WHERE T_ICR_REPORT_MASTER.T_ICR_REPORT_MASTER.CATEGORY EQ '&CATEGORY';
ON TABLE SET PAGE-NUM NOLEAD
ON TABLE NOTOTAL
ON TABLE PCHOLD FORMAT HTML
ON TABLE SET HTMLCSS ON
ON TABLE SET STYLE *
INCLUDE = icrsty_html,
$
TYPE=DATA,
COLUMN=N4,
TARGET='_BLANK',
FOCEXEC=icr_called_report( \
Rep_Id=N3 \
Rep_Title=N4 \
Product=N5 \
Client=N6 \
Round=N7 \
Category=N8 \
Table_Name=N10 \
),
$
In your version of WF the process of populating the drop down list will use any of the attributes assigned to the control within the HTML built. One of these attributes is (normally ) IBIAPP_app. This will generally be set to the value of the app folder in which you originally build the HTML (if not in MRE). If you subsequently move the file to another app folder then the underlying code will not be changed.
To change this attributes value (if you do move the file) open the file in the text editor and search on "IBIAPP_app". Change the value to the value of the app folder required. You can add more than one folder name (if you really need to?) by leaving a space between the values. These app folders will be prepended to the app path when executed (via an AJAX process). This could be why your launch page is looking in baseapp?
One word of caution, if you intend to open you HTML page in composer again you might lose changes made - maybe not if the above is all you do. I just want to make you aware.
Good luck and let me know if this has helped (or confused? ).
T
In FOCUS since 1986
WebFOCUS Server 8.2.01M, thru 8.2.07 on Windows Svr 2008 R2
WebFOCUS App Studio 8.2.06 standalone on Windows 10
Posts: 5694 | Location: United Kingdom | Registered: April 08, 2004
Thanks Tony, who knew? I built in an app folder, then have to copy it to MRE (building in MRE results in the page not running at all), but I also renamed the original app folder, so that might have been it.