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.
Hi, I am looking for solution for following problem I have. We are running SQL reportsand catching results to holds in FOCCACHE and after that we designs those results into dashboards. As the list box / radio button values are different from each user - we need to populate list boxes from those holds too.
So I did some research and found such cool JS event as :
IbComposer_populateDynamicCtrl('listboxID');
but I would like to execute this function after the report is done with loading.(right now I have button that executes the function, but this is not nice design for end users).
Has anyone else ran into such problem or maybe can give some other ideas how to solve this.
Regards, SanderThis message has been edited. Last edited by: SSander,
Release: WebFOCUS 8104, AppStudio: 8105 OS: Windows Output: HTML,Excel,Active Reports
STATE FOCCACHE/CARHOLD.ftm
-IF &EXITRC EQ 0 THEN GOTO SKIPSQL ELSE GOTO RUNSQL;
-RUNSQL
-* Prepare hold!
TABLE FILE CAR
PRINT
CAR.ORIGIN.COUNTRY
CAR.COMP.CAR
CAR.CARREC.MODEL
CAR.BODY.BODYTYPE
CAR.BODY.SEATS
CAR.BODY.DEALER_COST
CAR.BODY.RETAIL_COST
CAR.BODY.SALES
CAR.SPECS.LENGTH
CAR.SPECS.WIDTH
CAR.SPECS.HEIGHT
CAR.SPECS.WEIGHT
CAR.SPECS.WHEELBASE
CAR.SPECS.FUEL_CAP
CAR.SPECS.BHP
CAR.SPECS.RPM
CAR.SPECS.MPG
CAR.SPECS.ACCEL
CAR.WARANT.WARRANTY
CAR.EQUIP.STANDARD
ON TABLE HOLD AS FOCCACHE/CARHOLD FORMAT ALPHA
END
-SKIPSQL
TABLE FILE CARHOLD
SUM
CARHOLD.CARHOLD.DEALER_COST
BY CARHOLD.CARHOLD.COUNTRY
BY CARHOLD.CARHOLD.CAR
WHERE ( CARHOLD.CARHOLD.COUNTRY EQ '&COUNTRY.(FIND CARHOLD.CARHOLD.COUNTRY,CARHOLD.CARHOLD.COUNTRY IN carhold).COUNTRY:.' ) AND ( CARHOLD.CARHOLD.CAR EQ '&CAR.(FIND CARHOLD.CARHOLD.CAR,CARHOLD.CARHOLD.CAR IN carhold).CAR:.' );
ON TABLE NOTOTAL
ON TABLE PCHOLD FORMAT HTML
END
As you can see I will skip rerunning the SQL when users make such changes what do not need the database request. But now when I reference this to HTML and create controls to populated from "CARHOLD" file, they will stay empty if the "FOCCACHE" holdfile does not exist. So I am looking for solution maybe some kind of event after the initial run is done - so I could call the JS function to repopulate the list boxes.
Regards, Sander
Release: WebFOCUS 8104, AppStudio: 8105 OS: Windows Output: HTML,Excel,Active Reports
They only appear to be because by default the HTML generated from HTMLComposer doesn't have FOCCACHE in its path.
If you edit the HTML and add foccache to the attribute-lists for attribute ibiapp_app, the HTML can find them. There's at least one hidden input-field with "ibiapp_app" as id and there are some data_info fields containing the same info (violating the DRY principle, but that's modern thinking).
Unfortunately, on re-opening the HTML in HTMLComposer, that tool still doesn't look in the (manually added) foccache directory and will overwrite those entries again on opening the HTML. So you'll have to apply those changes again each time before you save.
At least, that is how the situation seems to be since about WF7.6.10. I don't know how this behaves (or is supposed to behave) in WF8, but I don't expect a lot of differences.
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 :
ON TABLE HOLD AS MYREPORT FORMAT HTML
...
-HTMLFORM BEGIN
<html>
<body onload="parent.IbComposer_populateDynamicCtrl('listboxID');">
!IBI.FIL.MYREPORT;
</body>
</html>
-HTMLFORM END
If that doesn't quite work then have a function in the html page and replace the body onload to call that function:
<body onload="parent.myfunction();">
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