Focal Point Banner


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.


Focal Point    Focal Point Forums  Hop To Forum Categories  WebFOCUS/FOCUS Forum on Focal Point     Dynamically build a VISDIS page

Read-Only Read-Only Topic
Go
Search
Notify
Tools
Dynamically build a VISDIS page
 Login/Join
 
<Marcel Naumann>
posted
I have a question about Visual Discovery. I want to build a screen where the user first chooses a selection (i.e. date, region, product) from a dropdown list. If the user submits his selection, a Visual Discovery screen should be built.

When I try to build an example, I succeed to HOLD the right data, but the problem is that the ActiveX components wouldn't reload the newest data. I still see the data from the original selection, but the HOLD file is filled with the newest data from the selection.

Is it technical possible to build such a screen, and if yes, can I see an example of the code? Is there a script which controls the ActiveX components to reload/ refresh?

Thanks in advance
 
Report This Post
Virtuoso
posted Hide Post
Yes, it is possible.

Change the data source for the charts to be a query string instead of the hold file. When you select submit, then use JavaScript to reset the Data (i think) parm of the activex object. For example:
http://server:port/ibi_apps/WFServlet?IBIF_ex=fexname&parm=val ....


So long as your fexname has an ON TABLE PCHOLD FORMAT VISDIS, then you should be ok.

I have an example somewhere, but I'm not sure where it is. I will post it if I can find it.


"There is no limit to what you can achieve ... if you don’t care who gets the credit." Roger Abbott
 
Posts: 1102 | Location: Toronto, Ontario | Registered: May 26, 2004Report This Post
<Marcel Naumann>
posted
Great, thanks! I look forward to your example
 
Report This Post
Virtuoso
posted Hide Post
Please note that this does a couple of more things then just refresh the object. It also changes the graph from a horizonal to vertical bar whenever a specific country is selected. Also, it resubmits based on an onchange event on the dropdown. It should be sufficient for what you are trying to do.

Fex (visdis_cartest.fex):
-* File visdis_cartest.fex
-DEFAULT &COUNTRY = 'FOC_NONE'
TABLE FILE CAR
SUM
     DEALER_COST
     RETAIL_COST
     COMPUTE MARGIN/D12.2 = RETAIL_COST - DEALER_COST;
BY COUNTRY
BY CAR
WHERE COUNTRY CONTAINS '&COUNTRY';
ON TABLE PCHOLD FORMAT VISDIS
ON TABLE SET HTMLCSS ON
END


HTML Layout page (ibisamp/visdis_cartest_show_this.htm):
<!-- Generated by Report Layout Painter -->
<HTML>
<HEAD>
<SCRIPT id=IBI_OptionsScript type=text/javascript>
var rltVersion = "714";
var cgipath = "cgipath";
var ibirls = "ibirls2";
var multidrill = "multidrill";
var mntFormValidate = "mntFormValidate";
var dyncalendar = "dyncalendar";
var olap="olap";
var olappanebase="olappanebase";
var ibixmltree="ibixmltree";
var ibilangtrans="ibilangtrans";
var olapdrill="olapdrill";
var ibiOptions = new Array(cgipath,ibirls,mntFormValidate,ibilangtrans,dyncalendar,olap,olappanebase,olapdrill,multidrill);
</SCRIPT>
 
<SCRIPT id=IBI_nls src="/ibi_html/javaassist/nls.js" type=text/javascript></SCRIPT>
 
<SCRIPT id=IBI_ibigbl src="/ibi_html/javaassist/ibi/html/js/ibigbl.js" type=text/javascript></SCRIPT>
 
<SCRIPT id=IBI_ibigblloadCss type=text/javascript>
ibigblloadCss(null);</SCRIPT>
 
<SCRIPT id=IBI_RelCallBack type=text/javascript>function AdjustChildrenPosition(){
}
</SCRIPT>
<TITLE>HtmlPage
</TITLE>
<SCRIPT id=clientEventHandlersJS type=text/javascript>
function window_onload() {
UpdateData();
// TODO: Add your event handler code here
}
 
function combobox1_onchange(ctrl) {
  country = ctrl.options[ctrl.selectedIndex].value;
  var http =  'http://localhost:8080/ibi_apps/';
  var query = 'WFServlet?IBIF_ex=visdis_cartest&IBIAPP_app=ibisamp&COUNTRY=' + escape(country);
  activex1.Files = http + query;
  if (country == 'FOC_NONE') {
    activex1.Data  = query + ' COUNTRY :Y: RETAIL_COST DEALER_COST';
    activex1.ColorBy = query + ' COUNTRY';
    activex1.Horizontal = 0;
  } else {
    activex1.Data  = query + ' CAR :Y: MARGIN';
    activex1.ColorBy = query + ' CAR';
    activex1.Horizontal = -1;
  }
}
</SCRIPT>
 
<SCRIPT for=window eventname="onload">window.onload = function() { window_onload(); }</SCRIPT>
</HEAD>
<BODY style="OVERFLOW: auto">
     
<OBJECT CLASSID = "clsid:5220cb21-c88d-11cf-b347-00aa00a28331" id=licensemgrobj>
     
<PARAM NAME="LPKPath" VALUE="/ibi_html/visdis/VzLicense.lpk">
</OBJECT>
 
<OBJECT id=activex1 style="Z-INDEX: 1; LEFT: 45px; WIDTH: 725px; POSITION: absolute; TOP: 30px; HEIGHT: 595px" tabIndex=1 height=595 width=725 classid=clsid:601CD7CF-7278-11D1-871D-00A02411D404 name=activex1>
<PARAM NAME="_cx" VALUE="19182">
<PARAM NAME="_cy" VALUE="15743">
<PARAM NAME="Files" VALUE="http://localhost:8080/ibi_apps/WFServlet?IBIF_ex=visdis_cartest&IBIAPP_app=ibisamp">
<PARAM NAME="Data" VALUE="WFServlet?IBIF_ex=visdis_cartest&IBIAPP_app=ibisamp COUNTRY :Y: DEALER_COST RETAIL_COST">
<PARAM NAME="Animate" VALUE="0">
<PARAM NAME="AnimateCommand" VALUE="0">
<PARAM NAME="Horizontal" VALUE="0">
<PARAM NAME="Order" VALUE="0">
<PARAM NAME="SpinePlot" VALUE="0">
<PARAM NAME="StackColors" VALUE="1">
<PARAM NAME="ColorBy" VALUE="WFServlet?IBIF_ex=visdis_cartest&IBIAPP_app=ibisamp COUNTRY">
<PARAM NAME="ColorScale" VALUE="1">
<PARAM NAME="ContinuousIndicate" VALUE="0">
<PARAM NAME="SecondaryOrder" VALUE="0">
<PARAM NAME="ShowUnselected" VALUE="-1">
<PARAM NAME="LabelMode" VALUE="0">
<PARAM NAME="LabelledValues" VALUE="">
<PARAM NAME="LineMode" VALUE="0">
<PARAM NAME="AllowZoom" VALUE="-1">
<PARAM NAME="LabelSpace" VALUE="-1">
<PARAM NAME="ZoomXScale" VALUE="1">
<PARAM NAME="PanX" VALUE="0">
<PARAM NAME="ZoomYScale" VALUE="1">
<PARAM NAME="PanY" VALUE="0">
<PARAM NAME="ClusterColors" VALUE="0">
<PARAM NAME="GoalLines" VALUE="">
<PARAM NAME="BrowserComponent" VALUE="VzLibrary.BrowserTweak">
<PARAM NAME="BrowserScript" VALUE="">
<PARAM NAME="GraphicsStyle" VALUE="2">
<PARAM NAME="MissingLabel" VALUE="

<NULL>">
<PARAM NAME="ShowMissing" VALUE="0">
<PARAM NAME="Average" VALUE="">
<PARAM NAME="CalcEquation" VALUE="">
<PARAM NAME="CalcOption" VALUE="0">
<PARAM NAME="ModifyWeightName" VALUE="0">
<PARAM NAME="VwAxisFont" VALUE="SanSerif-Arial-14-Bold">
<PARAM NAME="VwLabelFont" VALUE="SanSerif-Arial-12">
<PARAM NAME="VwTitleFont" VALUE="SanSerif-Arial-14-Bold">
<PARAM NAME="FocusFormat" VALUE="'%1%\n%2%=%3% (%4%%%)\nSelected=%5% (%6%%%)' *Category* *WeightName* *Weight* *%Weight* *SelectedWeight* *%Selected*">
<PARAM NAME="TitleText" VALUE="DEALER_COST, etc. per CAR">
<PARAM NAME="ShowTitle" VALUE="-1">
<PARAM NAME="XAxisText" VALUE="CAR">
<PARAM NAME="YAxisText" VALUE="DEALER_COST:RETAIL_COST">
<PARAM NAME="PoolWeights" VALUE="0">
</OBJECT>  
<SELECT language=javascript id=combobox1 style="Z-INDEX: 3; LEFT: 805px; WIDTH: 145px; POSITION: absolute; TOP: 170px" tabIndex=3 onchange=combobox1_onchange(this) name=combobox1 operation="NONE"> 
<OPTION value=FOC_NONE selected displaytext="All">All
</OPTION> 
<OPTION value=ENGLAND displaytext="ENGLAND">ENGLAND
</OPTION> 
<OPTION value=JAPAN displaytext="JAPAN">JAPAN
</OPTION> 
<OPTION value="W GERMANY" displaytext="W GERMANY">W GERMANY
</OPTION> 
<OPTION value=ITALY displaytext="ITALY">ITALY
</OPTION> 
<OPTION value=FRANCE displaytext="FRANCE">FRANCE
</OPTION>
</SELECT> 
<INPUT id=ibiapp_app style="LEFT: -100px; POSITION: absolute; TOP: -100px" type=hidden value=ibisamp name=ibiapp_app>
</BODY>
</HTML>


Good luck!


"There is no limit to what you can achieve ... if you don’t care who gets the credit." Roger Abbott
 
Posts: 1102 | Location: Toronto, Ontario | Registered: May 26, 2004Report This Post
<Marcel Naumann>
posted
This works! Thank you very much! Also, I like the auto-submit action in this script, thanks again!
 
Report This Post
  Powered by Social Strata  

Read-Only Read-Only Topic

Focal Point    Focal Point Forums  Hop To Forum Categories  WebFOCUS/FOCUS Forum on Focal Point     Dynamically build a VISDIS page

Copyright © 1996-2020 Information Builders