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.
I've gone to the trouble to develop an html form that loads a list of 5000 customers or so, and chains them to the salemen responsible for them. It runs so slow that we're going to go outside of webfocus and use ASP to create this form.
I'm very frustrated with webfocus sometimes. It seems like I have the worst performance problems in some cases and have to learn entirely new and different technologies just to get things going. I had to learn DB2 stored procedure language and database optimization to make the report run fast enough to be valuable to management, now I have to go through a refresher in ASP classic to create a form that will handle passing the variables.
Maybe I'm so frustrated with this because it's so easy to create reports and graphs with webfocus and this seems to take a lot longer since I have to learn so much just to make it nearly as efficient as the demo.
It would be nice if Webfocus salesmen didn't show reports built over the car file, but actual data... I get a lot of "this isn't like the salesman showed us it would work, what did the salesman do different that made his work so much faster than yours?"
I've spent months indexing and optimizing legacy as400 data with materialized query tables to get query response times down to less than a second for most queries, which made most folks happy... now I'm pulling out an ASP classic book from college just to build an HTML form that doesn't take right at 10 minutes to load. No exaggeration, 5000 customers, chained to about 50 salespeople...10 minutes!
Maybe in the next version of webfocus they'll add something to the HTML form that keeps it from loading the huge list without the user selecting a checkbox, which is what I'm learning to do in ASP, which should at least a few days to this simple little project we started about 9 months ago.
Prod: Single Windows 2008 Server running Webfocus 7.7.03 Reporting server Web server IIS6/Tomcat, AS400 DB2 database.
Don't you think that some of the valuable back-end database tasks you performed are useful regardless what you use as the front-end? WebFOCUS or pure SQL should take about the same time to retrieve data, if the request is coded efficiently, and the database has the correct indexes.
The issue regarding chaining inefficiencies, is, in my humble opinion, due to relying on a GUI to perform possibly complex tasks. Other FocalPoint members have addressed this subject, and I'm sure there is more than one guru that could help you build more efficient chained HTML list boxes.
Regards.
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
One of the things that I do to ensure fast load without the chained controls affecting the speed, is to have the base selection for the parent control as FOC_NONE but subsequent ones as '~'. What happens with this is that the secondary chained controls show no data for the initial load because nothing matches with the input of the tilde character (~).
This makes the loading of the HTML file faster, but because of the size of the drill downs a change to the parent may still be sluggish.
Of course, this only works out if you do not want the user choosing to display all combinations in the controls!!
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
I really was ranting, and I've cooled off a bit now, though I still feel pretty lousy when folks cite the 'demo' and how quickly a salesman put a dashboard together in front of them. "it's as easy as drag and drop, a few clicks and there it is!"
The best part is when someone asks for a 'bunch of gauges, like a dashboard!' and I have to ask them what they want shown on a gauge graph, the IT director actually said "How we're doing as a company!" The demo, in my opinion, makes it harder for smaller companies like mine who have limited experience in management information systems to realize what actually has to happen before this "miracle product" requires some time and effort, rather than just simple 'drag, drop, add stylesheet, add to dashboard, done.'
Tony, I find your idea is pretty much what I need, I think. Since we're using trusted authentication and DBA priviledging upon our master files, I really don't think that using ASP or PHP is going to work.
I don't know what you mean by this, however.. "the base selection for the parent control as FOC_NONE but subsequent ones as '~'." I apologize for being dense, how do you set a 'base selection' of foc_none?
Prod: Single Windows 2008 Server running Webfocus 7.7.03 Reporting server Web server IIS6/Tomcat, AS400 DB2 database.
I hear you about the demos. I think the CAR file is great for explaining a solution or concept for someone who is familiar with the product/language but I doubt the vast majority of people that use WF are making or selling cars.
There's no perfect BI product and each has it's nuances. The good thing is that this forum provides a lot of help or at the very least the direction as to finding a solution.
WebFOCUS 7.6.6/TomCat/Win2003,SQL Server 2005,Oracle
Posts: 125 | Location: New England | Registered: February 20, 2007
Don't get frustrated! I have to remind everyone I work for that IBI has to build the interface to account for almost everything a user could throw at it. Therefore, the javascript (AJAX) that is used to chain the boxes together can be a little verbose. What you need to do is forget about PHP and ASP, and focus on AJAX, and chain the boxes yourself. That way you can still use a focexec call to supply your values - thereby keeping your DBA working as expected. I've built many interfaces for my clients using AJAX and webfocus, from chained tree controls to show chart of accounts and cost centres, to as many as 6 chained input, list, and drop down boxes chained together. In my experience, if the answer set is less then 200 options, the population of the control usually takes a second or less, and about 2-3 seconds for a 500 range.
My advise is to take another look at the example I linked you to in one of your previous post (a week or two ago), and study what it is doing. Then use it with your drop down or list boxes to do what you want. If you keep simple navigation concepts in mind, you should be able to produce some high performance interfaces in no time. Keep in mind that the first time is always the hardest.
Things to do: 1) Do not populate a drop down box until a user has successfully selected a chained parent, or until they actively click to open the drop down object. 2) Use webfocus to build the xml required by the screen objects. Webfocus is lightning fast when it doesn't have to format the answer set in the big three. 3) For the fastest performance, create an Ajax object for each dynamic screen object, and execute in a async mode.
"There is no limit to what you can achieve ... if you don’t care who gets the credit." Roger Abbott
Say I have three chained controls - ctrl1, ctrl2, and ctrl3. Each of these is populated by a fex. The variables of each is the same as the control name - Ctrl1, Ctrl2 - you get the idea. For each control the option to select ALL is set so that a value of FOC_NONE is sent when the control is selectedIndex = 0.
The fex for Ctrl1 is - TABLE FILE filename1 SUM FST.fieldname1 BY fieldname ON TABLE PCHOLD FORMAT XML END
Simple enough. The next fex in the chain is - -DEFAULT &Ctrl1 = 'FOC_NONE' -SET &Ctrl1 = IF &Ctrl1 EQ 'FOC_NONE' THEN '~' ELSE &Ctrl1; TABLE FILE filename SUM FST.fieldname2 BY fieldname2 WHERE fieldname1 EQ '&Ctrl1' ON TABLE PCHOLD FORMAT XML END
Again, simple enough. The next fex in the chain is - -DEFAULT &Ctrl1 = 'FOC_NONE' -DEFAULT &Ctrl2 = 'FOC_NONE' -SET &Ctrl1 = IF &Ctrl1 EQ 'FOC_NONE' THEN '~' ELSE &Ctrl1; -SET &Ctrl2 = IF &Ctrl2 EQ 'FOC_NONE' THEN '~' ELSE &Ctrl2; TABLE FILE filename SUM FST.fieldname3 BY fieldname3 WHERE fieldname1 EQ '&Ctrl1' WHERE fieldname2 EQ '&Ctrl2' ON TABLE PCHOLD FORMAT XML END
When these are chained you will see that the first one will populate (hope you don't have too many values for this one), the second and third will be empty until a valid value has been selected in the first control.
It works for some of the large chained arrays that my Client(s) have had over time so it should work for you.
Let me know how you get on.
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
Tony, clear as a bell! thanks! Thank you, everyone else who chimed in. Some days just leave me with a bad taste in my mouth, I know it's selfish, but I'm glad that
I'm not the only one with the "as seen on TV" syndrome. (that's what I call the car file demos, because it's just never as good as you thought for $19.99 if you order in the next 10 minutes)
Prod: Single Windows 2008 Server running Webfocus 7.7.03 Reporting server Web server IIS6/Tomcat, AS400 DB2 database.
AS a curiousity, have you tried running your orignal report in the Firefox browser?
Lists of the size you have (5000 items) can be very slow because they are handled by JavaScript If it runs faster in FIREFOX then its not WebFOCUS at fault.
GeraldCohen: good idea! So, I checked it out... runs about the same in Firefox. I didn't pull out my stopwatch, but it's still too slow. After considering the browser switch for a second, I realized all of our clients use IE, making them convert to another browser that most are unfamiliar with probably won't add much interest in the dashboard. We're already running into issues with navigation using the 'right click' 'open in new window' that some are having trouble grasping. They're used to 5250 emulation and green screen terminals and are having a little trouble using a web browser at all.
I'm going to move forward using Tony's brilliant suggestion, and use IE. We're also using trusted authentication, which I'm not sure if Firefox will do quite as well as IE will.
Prod: Single Windows 2008 Server running Webfocus 7.7.03 Reporting server Web server IIS6/Tomcat, AS400 DB2 database.
One other idea, is not to use pull-down lists that are coordinated, but use a regular WebFocus report in an 'Expandable' format. This would show the first column of data only, and when a value is selected, the appropriate second column values appear. These have a drill down that passes both first and second selections to produce the report. An expandable report of 5000 lines may be faster in your environment.
Just out of interest, within IE7 using a scroll wheel mouse, pressing the scroll wheel down on a link will automatically open that link in a new window.
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
by the way... focus 7. 6.10 goes a long way towards solving the problem of many chained boxes taking forever. We had that issue here, 11 boxes, chained, took till doomsday to run. Ibi wrote special code for us, under guidance from Microsoft, and that code has been released in 7.6.10. Its a revised .js; Our chains work really fast now, and we have smiling customers. Well, ok, smiling might be an exageration.
In Focus since 1979///7706m/5 ;wintel 2008/64;OAM security; Oracle db, ///MRE/BID
Posts: 3811 | Location: Manhattan | Registered: October 28, 2003