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.
Currently I am using TARGET='_blank' to display my drill down report in a second window. I would like to change this to have the drill down report display in a pop up window that is smaller than the originating window. How do I do this? I have tried to use the following example from a prior forum post with no luck.
-DEFAULT &COUNTRY = 'FOCNONE';
TABLE FILE CAR
SUM
SALES
BY COUNTRY
BY CAR
BY MODEL
WHERE COUNTRY EQ '&COUNTRY'
ON TABLE SET STYLESHEET *
TYPE=DATA, COLUMN=COUNTRY, FOCEXEC=CAR1 (COUNTRY=COUNTRY), TARGET=WINCAR1, $
ENDSTYLE
ON TABLE HOLD AS H001 FORMAT HTMTABLE
END
-RUN
-HTMLFORM BEGIN
<script type="text/javascript">
self.moveTo(0,0); // Move to the top left corner
self.resizeTo(screen.availWidth,screen.availHeight); // Resize to the available screen size
self.focus(); // Bring window to the front
</script>
!IBI.FIL.H001;
-HTMLFORM END
Any help on this would be appreciated.
Thanks. MattThis message has been edited. Last edited by: <Kathryn Henning>,
A quick question - are you prepared to jump into using something like jQuery?
If so then you could lookup using a modal div in jQuery or something of the like. That would give you quite a "neat" method of displaying your drilldowns.
Your stated version is 7.6 which does not have jQuery installed with it, so you would have to download a version and get permission to install it. If you were on WF8 then it (jQuery v1.7) would already be installed.
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
If anyone in the UK would like to know how to do this with jQuery, then come to the User Group meeting on 16th October and I'll show you how to achieve this.
For those not lucky enough to be in the UK then I will post the code shortly after the 16th.
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
As promised, this is a "hand cranked" version of a pop-up widnow for a drill down using jQuery.
Note that, although I have used an HTMLFORM pair this could as easily be included within an HTML composer page.
-DEFAULT &COUNTRY = '_FOC_NULL';
TABLE FILE CAR
SUM SALES
BY COUNTRY
BY CAR
BY MODEL
WHERE COUNTRY EQ '&COUNTRY'
ON TABLE SET STYLESHEET *
TYPE=DATA, COLUMN=COUNTRY, JAVASCRIPT=drillto('CARINST' COUNTRY 'Example Drilldown using jQuery'), $
ENDSTYLE
ON TABLE HOLD AS H001 FORMAT HTMTABLE
END
-RUN
-HTMLFORM BEGIN
<!DOCTYPE html>
<head>
<style type="text/css">
-* I'm using the id of each div to assign CSS
#divdrill {
position: absolute; top: 100px; left: 200px; background-color: #fff; z-index: 100; border: 1px solid;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
}
#hdrdrill {
background-color: #f00; width: 100%;
-moz-border-top-left-radius: 5px; -moz-border-top-right-radius: 5px;
-webkit-border-top-left-radius: 5px; -webkit-border-top-right-radius: 5px;
border-top-left-radius: 5px; border-top-right-radius: 5px;
}
#btndrill {
height: 16px; width: 20px; float: right;
background-image: url(/ibi_html/javaassist/icons/Exit16.gif);
background-repeat :no-repeat;
}
span {
padding: 3px;
}
</style>
<!-- Within WF8, these JS and CSS Libraries are installed as standard -->
<script src="/ibi_apps/ibi_html/javaassist/jquery/jquery_min.js"></script>
<script src="/ibi_apps/jquery/jquery-ui.min.js" type="text/javascript"></script>
<link type="text/css" rel="stylesheet" href="/ibi_apps/jquery/jquery-ui.css" />
<!--
This is thejQuery that is executed on drilldown click
All it does is to remove the drilldown div (in case it already exists)
and then create an outer div containing 3 inner divs, 2 for the heading
and 1 for the drill down report content.
The 2 heading divs contain the title plus the image for closing the pop-up.
-->
<script type="text/javascript">
function drillto(fex, country, title) {
// If the drill down div exists then "close it"
if ($("#divdrill")) {closeit();}
// Build the div collection that will house the drill down report
var myhtml = "<div id='divdrill'>";
myhtml += "<div id='hdrdrill'><span>"+title+"</span>";
myhtml += "<div id='btndrill' onclick='closeit();'></div>";
myhtml += "</div><div id='divnum_1'></div></div>";
// Append the div collection to the document body
$("body").append(myhtml);
// Build the URL required to execute the drill down report
var _ajaxurl = "/ibi_apps/WFServlet?IBIAPP_app=ibisamp";
_ajaxurl += "&|IBIF_ex="+fex+".fex&|COUNTRY="+country;
// and insert the html from the drill down report as the innerHtml
$.get(_ajaxurl, function(data){$("#divnum_1").html(data)});
// This is the "magic" that allows the drill down div to be dragged!
$( "#divdrill" ).draggable();
}
// Remove the div collection
function closeit() {
$("#divdrill").remove();
}
</script>
</head>
<body style="overflow: hidden;">
!IBI.FIL.H001;
</body>
</html>
-HTMLFORM END
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
... of course there is a much better method by making the pop-up modal.
Same comment on including within an HTML composer page ....
-DEFAULT &COUNTRY = '_FOC_NULL';
TABLE FILE CAR
SUM SALES
BY COUNTRY
BY CAR
BY MODEL
WHERE COUNTRY EQ '&COUNTRY'
ON TABLE SET STYLESHEET *
TYPE=DATA, COLUMN=COUNTRY, JAVASCRIPT=drillto('CARINST' COUNTRY 'Example Drilldown using jQuery'), $
ENDSTYLE
ON TABLE HOLD AS H001 FORMAT HTMTABLE
END
-RUN
-HTMLFORM BEGIN
<!DOCTYPE html>
<head>
<style type="text/css">
</style>
<!-- Within WF8, these JS and CSS Libraries are installed as standard -->
<script src="/ibi_apps/ibi_html/javaassist/jquery/jquery_min.js"></script>
<script src="/ibi_apps/jquery/jquery-ui.min.js" type="text/javascript"></script>
<link type="text/css" rel="stylesheet" href="/ibi_apps/jquery/jquery-ui.css" />
<!--
This is thejQuery that is executed on drildown click
All it does is to remove the drilldown div (in case it already exists)
and then create an outer div containing 3 inner divs, 2 for the heading
and 1 for the drill down report content.
The 2 heading divs contain the title plus the image for closing the pop-up.
-->
<script type="text/javascript">
function drillto(fex, country, title) {
// If the drill down div exists then "close it"
if ($("#divdrill")) {closeit();}
// Build the div collection that will house the drill down report
var myhtml = "<div id='divdrill'></div>";
// Append the div collection to the document body
$("body").append(myhtml);
// Now set attributes on the drill down div to define it as a modal dialog
$("#divdrill").dialog( {
autoOpen : false
,closeOnEscape : true
,resizable : true
,width : 600
,height : 350
,position : ""
,show : {effect: "clip", duration: 300}
,hide : {effect: "clip", duration: 300}
,stack : true
,modal : true
})
// Build the URL required to execute the drill down report
var _iframeurl = "/ibi_apps/WFServlet?IBIAPP_app=ibisamp";
_iframeurl += "&|IBIF_ex="+fex+".fex&|COUNTRY="+country;
var _url = "";
_url += "<iframe style='width:99%; height:99%;' src='"+_iframeurl+"'>";
_url += "</iframe>";
$("#divdrill").html(_url);
$("#divdrill").dialog("open", "");
$("#divdrill").dialog("option", "title", title);
}
// Remove the div collection
function closeit() {
$("#divdrill").remove();
}
</script>
</head>
<body style="overflow: hidden;">
!IBI.FIL.H001;
</body>
</html>
-HTMLFORM END
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
Originally posted by Tony A: ... of course there is a much better method by making the pop-up modal.
Same comment on including within an HTML composer page ....
-DEFAULT &COUNTRY = '_FOC_NULL';
TABLE FILE CAR
SUM SALES
BY COUNTRY
BY CAR
BY MODEL
WHERE COUNTRY EQ '&COUNTRY'
ON TABLE SET STYLESHEET *
TYPE=DATA, COLUMN=COUNTRY, JAVASCRIPT=drillto('CARINST' COUNTRY 'Example Drilldown using jQuery'), $
ENDSTYLE
ON TABLE HOLD AS H001 FORMAT HTMTABLE
END
-RUN
-HTMLFORM BEGIN
<!DOCTYPE html>
<head>
<style type="text/css">
</style>
<!-- Within WF8, these JS and CSS Libraries are installed as standard -->
<script src="/ibi_apps/ibi_html/javaassist/jquery/jquery_min.js"></script>
<script src="/ibi_apps/jquery/jquery-ui.min.js" type="text/javascript"></script>
<link type="text/css" rel="stylesheet" href="/ibi_apps/jquery/jquery-ui.css" />
<!--
This is thejQuery that is executed on drildown click
All it does is to remove the drilldown div (in case it already exists)
and then create an outer div containing 3 inner divs, 2 for the heading
and 1 for the drill down report content.
The 2 heading divs contain the title plus the image for closing the pop-up.
-->
<script type="text/javascript">
function drillto(fex, country, title) {
// If the drill down div exists then "close it"
if ($("#divdrill")) {closeit();}
// Build the div collection that will house the drill down report
var myhtml = "<div id='divdrill'></div>";
// Append the div collection to the document body
$("body").append(myhtml);
// Now set attributes on the drill down div to define it as a modal dialog
$("#divdrill").dialog( {
autoOpen : false
,closeOnEscape : true
,resizable : true
,width : 600
,height : 350
,position : ""
,show : {effect: "clip", duration: 300}
,hide : {effect: "clip", duration: 300}
,stack : true
,modal : true
})
// Build the URL required to execute the drill down report
var _iframeurl = "/ibi_apps/WFServlet?IBIAPP_app=ibisamp";
_iframeurl += "&|IBIF_ex="+fex+".fex&|COUNTRY="+country;
var _url = "";
_url += "<iframe style='width:99%; height:99%;' src='"+_iframeurl+"'>";
_url += "</iframe>";
$("#divdrill").html(_url);
$("#divdrill").dialog("open", "");
$("#divdrill").dialog("option", "title", title);
}
// Remove the div collection
function closeit() {
$("#divdrill").remove();
}
</script>
</head>
<body style="overflow: hidden;">
!IBI.FIL.H001;
</body>
</html>
-HTMLFORM END
T
Good Morning Tony,
I have a query regarding the awesome example you displayed. When I replace it with my procedure and put my fex name instead of 'CARINST' then the dialog box displays message that my fex not found. can you please suggest how to give name of fex.
@Tony - Both examples of creating a small jQuery 'popup' worked great for me. We currently use the JavaScript window.open method to render our drill downs. It will be great to have a possible alternative, especially when we want to go modal.
@Gaurav - In addition to changing the fexname, you'd also need to change the application folder, in the 'url build' code section, to the folder you are using. If you are not working in an application folder at all, and are in either WF 7 Managed Reporting or WF 8 Repository Content, then your 'url build' code would need to change quite a bit more.
Locate your drill fex in App or Dev Studio and right click on the parent folder. Select Properties and look at the Full Path. This should give you some of what you require for the URL.
http://[server][:port]/ibi_apps/WFServlet?IBIF_webapp=/ibi_apps&IBIC_server=[servername]&IBIWF_msgviewer=OFF&IBIAPP_app=[app folder names]&&IBIMR_drill=IBFS,RUNFEX,IBIF_ex,true&IBIF_ex=IBFS:/WFC/Repository[/rest of full path]/[your fex name]
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
Upon upgrading to WF 8, we began to use RESTful web services, per IB's recommendation, for a calls to reports within the Content Repository.
We used the following manual section as our source of information: Manual : WebFOCUS RESTful Web Services Developer's Guide Chapter: 2. WebFOCUS Managed Reporting RESTful Web Service Requests Section: Running a Report From WebFOCUS Managed Reporting
An RESTful URL call like this, from this section of the manual, is what we've been using in 8:
Sorry for late reply but I have been very sick lately. Joined office this monday again. I tried both your ways but no luck so far. Let me give you my server details hope that helps to make working url.
Server Name:Port = localhost:80 complete path = IBFS:/wfprod/WFC/Repository/operatio/std_reports/GauravTyagi/Working
Pls Help.
I have not been able to get desried fucntionalities because of this.
David I have brought jquery tab inside jquery dialog box it is amazing man. My bosses love it. Thanks for all the help you guys have been so far.
Thanks Dave we don't have any webservices yet thats why my url is not working. I had chat with my admin he said we are in process of buying it. But he said it will take time.
i do something mind-bendingly simple, and it still works in 7706 (and i think i've been doing it since IV.III ) 2 parts: in the presentation part, in the -HTMLFORM BEGIN i put some js in the script tags in the head section like this:
then in the fex itself, i define whatever thing i want the drill to run from. In this case , its an image, and the drill is an existing html page. But that makes no difference, the thing could be a field and the link to a fex...