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.
The portal page is run from a URL. The URL has parameters passed in the query string. These parameters are not available in the fex (report) inside the portal. I will appreciate help with any technique.This message has been edited. Last edited by: <Kathryn Henning>,
Please provide an example of the URL. The parameters are definitely not available in the fex - it seems like there's nothing we can do between the BIP URL and the individual fexes...
Francis
Give me code, or give me retirement. In FOCUS since 1991
Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
WFConsultant, as far as I know, parameters passed to the URL are only made available to the .fex only when its execution is invoked via WFServlet. The URL to run a Portal seems to use a RESTful-like call (wich may/may not use WFSerlvet behind the scenes) but because the target call is not really a .fex perhaps the infrastructure doesn't care or can't expose those parameters as &variables.
The only way I would attempt to achieve what you want is to create an HTML Composer page with your target report in an iframe and hidden parameters. You would use JavaScript to "read" the URL from the Portal call and parse the parameters from there, setting the appropriate HTML controls to those values and then trigger your report to be executed. Yes, this seems like a lot of work and you'll end up with an iframe within an iframe but I can't think of an easier way This message has been edited. Last edited by: njsden,
You cannot retrieve something as simple as these variables: &ViewID, &ViewName and &ViewTitle - they're not available in fexes that are run within the portal, neither are they available to add via site.wfs. To me this seems ludicrous.
A fex run within the portal has a URL such as this:
I would love to know how homepage_launch.fex, which could contain some HTML, could determine the parameters passed by that JSP call or determine the additional parameters passed in the portal call. As far as I can tell, the fex is living within it's own world, unaware it's running within a portal.
I've wanted to determine the name or ID of the B.I. Dashboard/Portal since WebFOCUS 5.3. According to a case I opened some time ago, this functionality apparently showed up for a very short time in WF v7.7.02 and then disappeared in WF v7.7.03 (or it never worked).
I've given up asking for it.
Francis
Give me code, or give me retirement. In FOCUS since 1991
Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
I just added some JavaScript in the onInitialUpdate() to the launch .htm file that sits inside of the portal panel:
function onInitialUpdate() {
var edit1 = document.getElementById('edit1');
// Capture window's URL and parse parameter to be passed to the .fex
var mainURL = parent.window.location.href;
var comps = mainURL.split("?");
// See if there are actual URL parameters
if(comps.length > 1) {
var params = comps[1].split("&");
// Loop thru URL params looking for P_COUNTRY
for (var i = 0; i < params.length; i++) {
var p = params[i].split("=");
// If P_COUNTRY is found in URL, use it as value to pass to the report
if("P_COUNTRY" === p[0]) {
edit1.value = p[1];
}
}
}
}
The code is far from elegant but it's there to illustrate the concept. By the way, the launch page was created with HTML Composer in Dev Studio 8008.
I should have mentioned that the main trick here is to explore the parent's window location as opposed to the one in the current iframe which actually contains a different URL resulting from an internal redirection to view.bip and other stuff IBI knows better
Now I have to work out how to capture the Portal Name and/or the variables BEFORE a report executes in a section of the Portal window - a report that normally wouldn't have any HTML around it...
Francis
Give me code, or give me retirement. In FOCUS since 1991
Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
@ njsden , thank for the example. After capturing the parameters using similar JavaScript function, we have set them to hidden variables. Later, pushed the values to the reports (fex) using ‘parent.BipIframeInterface.setAllAmpersValues(name,IbComposer_getAllAmpersValues());’. Like you have said it is not ‘elegant’, but gets the work done.
I'm glad to hear it helped. Now you've just given me homework as I want to research about parent.BipIframeInterface.setAllAmpersValues method
At our shop we are just in the process of upgrading to WF8 from WF77 and this whole Portal stuff is new to us. Lots to learn (and sometimes to suffer) from!