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.



Read-Only Read-Only Topic
Go
Search
Notify
Tools
Launch Page
 Login/Join
 
Member
posted
I have a report that takes 3 parameters (StartDate, EndDate, EmpID). I would like to have a launch page that has the drop down calendars and a list of employees to choose from. I'm trying to have a text box where the user can type in a LastName and view a list. They will choose one list item and select the dates by the dropdown calendars.

I've tried to bring in the report into Resource Layout tool and add a button to bring in the controls to supply the &Vars. Calendars are easy but the employee list is throwing me. How can I fill a listbox with data from a fex/html page that was used to search for a set of records? I did a On Table Hold as EMPDATA Format HTML and then tried to set the datasource of the listbox to !IBI.FIL.EMPDATA; The fex/html returns 2 cols with ID and Name.
I then set the DisplayField and DataField to the appropriate columns in EMPDATA. I could not populate the listbox.

Any Ideas/Suggestions?
 
Posts: 19 | Location: WI | Registered: July 06, 2005Report This Post
Expert
posted Hide Post
I don't know beans about the GUI, but i know about launch pages in general:
a drop down box, aka select list, must have this format:
<option value='fred'>Fred Mertz</option>
<option value='ethel'>Ethel Mertz</option>
<option value='lucy' selected>Lucy Ricardo</option>

etc,
and it goes between select tags in the launch page
<select name='actor' size=1>
!IBI.FIL.somefilename;
</select>

so, you need to make a text file that contains your dropdown list, not an html file, and each record needs the option tags.
If you have a selfserv app , then save your launch page an .asp, rather than .htm
and use
<!-- #include file="http://servername/../list_pos/listsea.txt" -->

I use this method, and populate all my dropdown lists every night in batch refresh jobs

This message has been edited. Last edited by: susannah,




In Focus since 1979///7706m/5 ;wintel 2008/64;OAM security; Oracle db, ///MRE/BID
 
Posts: 3811 | Location: Manhattan | Registered: October 28, 2003Report This Post
Expert
posted Hide Post
An alternative is to hold the output of your fex in XML format.

Have your two columns in the order value, display when holding.

e.g.
TABLE FILE GGSTORES
PRINT STORE_CODE
      STORE_NAME
   BY STORE_NAME NOPRINT
-*ON TABLE SET HOLDLIST PRINTONLY
ON TABLE PCHOLD AS STORES FORMAT XML
END

This gives the output snippet -
- <tr linetype="data" linenum="1">
  <td colnum="c0">R1019</td> 
  <td colnum="c1">GOTHAM GRINDS #1019</td> 
  </tr>
- <tr linetype="data" linenum="2">
  <td colnum="c0">R1020</td> 
  <td colnum="c1">GOTHAM GRINDS #1020</td> 
  </tr>
- <tr linetype="data" linenum="3">
  <td colnum="c0">R1040</td> 
  <td colnum="c1">GOTHAM GRINDS #1040</td> 
  </tr>
Where the c0 column will be used to populate the value attribute of the combo box and the c1 will be used to populate the display value.

If the fex name is storecds.fex then point your combo box at this fex and WF will take care of the rest! This is achieved by the javascript module ibirls.js which uses an activeX object to perform the combobox building.

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, 2004Report This Post
Expert
posted Hide Post
T, what does 'point your combo box at this fex' mean?? help?




In Focus since 1979///7706m/5 ;wintel 2008/64;OAM security; Oracle db, ///MRE/BID
 
Posts: 3811 | Location: Manhattan | Registered: October 28, 2003Report This Post
Member
posted Hide Post
Susannah, I set the html code for the listbox ...datasource="myFex.fex" and set the sourcetype="typeFex"
datafieldtype="INTEGER"
displayfield="MyReadableField"
datafield="MyIndexKey"

I could only get this to work if the fex is a separate file. In my case, I need to filter the data shown in the listbox based on user input. I need to pass an &var to the fex so it can be applied to a where statement before the XML is generated.
 
Posts: 19 | Location: WI | Registered: July 06, 2005Report This Post
Expert
posted Hide Post
you must be using dev studio, yes?
i'm a hand-coder..so thats all greek to me.




In Focus since 1979///7706m/5 ;wintel 2008/64;OAM security; Oracle db, ///MRE/BID
 
Posts: 3811 | Location: Manhattan | Registered: October 28, 2003Report This Post
Member
posted Hide Post
Not really, I'm frustrated with the GUI. I use it to generate some code and end up using that as a starting point. Most if the time I'm hand tweaking things to get it to work.

I still can't get this working. Concept seems simple enough. Launch page allows the user to type in a partial name and hits a button. That brings up another page with a list of possible employees, select the employee, select a couple of dates from dropdown calendars push the submit button and run the report.
 
Posts: 19 | Location: WI | Registered: July 06, 2005Report This Post
Expert
posted Hide Post
The resource layout painter is a good starting point for even the most stalwart hand coder (even me Smiler). The HTML pages created pull in all sorts of goodies that you can utilise in your application without having to pull in various javascript modules to allow you to have calendars etc. IB have taken care of this for you with their ibirls.js module which performs most of the dynamic nature of the HTML pages (except default dates of course but that's easy to achieve).

Paul,

How about doing something like this -
  • Launch page has input box
  • OnKeyUp checks for return key press
  • If return key pressed then a DIV is made visible and populated by a fex using the input box value in a LIKE clause to list possible values
  • Clicking on an entry in the visible DIV moves the value into the parent input box and makes the DIV hidden
  • User clicks submit button to run form


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, 2004Report This Post
Member
posted Hide Post
I have tweaked some javascripts from IBI, wich I now use to populate a dropdown with a search.

The fex wich is called generates xml "on table pchold xml"

<html>
<head>
<SCRIPT type=text/javascript>
function populateDynamicCtrlWithSearch(ctrl)
{
   RemoveChildren(ctrl);
   var sourcetype = ctrl.getAttribute('sourcetype');
   var accept = ctrl.getAttribute('accept');
   var request = "";
   if(sourcetype && sourcetype == srcTypeFex)
   {   
       request += GenerateRequest(ctrl, null, null);
       request += AddVariables(ctrl);
   }
   if(request)
   {
      var xmlDoc = getXml(request);
      populateCtrlFromXmldoc(xmlDoc, ctrl);
   }
   else
   {
      alert("An error populating input control");
   }   
}

function AddVariables(ctrl)
{
  var requestvar = new String;
 	var arrRequests = GetRequestsList(ctrl);
	if(arrRequests)
	{
		len = arrRequests.length;
		var variables = null;
		for(var j=0; j < len; j++)
		{
			var request = arrRequests[j];
			if(request)
			{	
        variables = GetVariablesList(request);
				requestvar += GetVariablesValue(variables);				
			}
		}
	}
	return requestvar;
}

function GetVariablesValue(variables)
{
   var request = new String;
   if(variables && variables.length)
   {
      var arrAmp = variables.split(";")
      var len = arrAmp.length;
      for(var index = 0; index < len; index++ )
      {
         var inputs = document.getElementsByName(arrAmp[index]);
         var inputFirst = inputs[0];
         if(inputFirst && (inputFirst.tagName == "INPUT" || inputFirst.tagName == "SPAN"))
         {
            if(inputFirst.type == "text" || inputFirst.type == "hidden")
            { 
		         request += '&' +inputFirst.name + '=' + inputFirst.value; 
		        }
      }
   }
   return request
}

function image1_onclick(ctrl) {
      populateDynamicCtrlWithSearch(ctrl);
      ctrl.style.display = 'inline';
    }
</script>
<SCRIPT id=IBI_OptionsScript type=text/javascript>
var cgipath = "cgipath";
var ibirls = "ibirls2";
var multidrill = "multidrill";
var mntFormValidate = "mntFormValidate";
var dyncalendar = "dyncalendar";
var olap="olap";
var olappanebase="olappanebase";
var olapdrill="olapdrill";
var ibiOptions = new Array(cgipath,ibirls,mntFormValidate,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>
</head>
<body>
<INPUT id=edit1 tabIndex=2 name=LEVZKN>
  <IMG language=javascript id=image1  onclick=image1_onclick(getElement('lev')) 
tabIndex=7 height=40 src="../images/zoek.jpg" width=40 border=0 name=image1 
requests_list="4" originalWidth="37" originalHeight="38" rtFileName="zoek.jpg">  
  <SELECT ibiapp_app="IGS baseapp" ibic_server="EDASERVE" id=LEV tabIndex=6 
requests_list="4" name=LEV scrolling=no sourcetype="typeFex" datatype="0" 
datasource="Leveranciers.fex" datatype="0" datafield="c1" displayfield="c2">  
  </SELECT>
<xml id=ibi_requests>
<requests>
<request requestid="4" sourcetype="typeFex" 
targettype="1" targetname="levselect" 
ibif_ex="fexname" ibic_server="EDASERVE" ibiapp_app="baseapp">
<variables>
  <variable field="" file="sqlout.mas" desc="" datatype="1" 
operation="" default="" name="LEVZKN" accept="0" type="default" select="0">
</variable>
</variables>
</request>
</requests>
</xml>
</body>
</html>



This works perfect for me. When you type something in the searchbox ("LEVZKN") and then click the image the select box shows the found values.

This message has been edited. Last edited by: Kerry,
 
Posts: 4 | Location: Netherlands | Registered: August 09, 2005Report This Post
  Powered by Social Strata  

Read-Only Read-Only Topic


Copyright © 1996-2020 Information Builders