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 am having trouble using the EXL2K file format with HTML. In my HTML I have a button which will call a WebFocus fex in order to create/download the necessary result set in Excel format. The button works through an HTML form, complete with the target attribute being set to "_top". Everything seems to work as the button will correctly trigger the fex, which will bring back the appropriate data, causing Windows to fire the Open/Save/Cancel dialog box. However, the problem is that upon clicking the button, the original content within the HTML document is replaced by a blank page. If the user clicks the Open button within the dialog box then it isn't a problem. However, if the user clicks Save or Cancel then the previous content is lost. The Back button will not work because the HTML in question is basically an application using numerous iframes.
To cut everyone off at the pass...I completely understand the target="_top" setting. This is not the problem. We have numerous other HTML applications (utilizing Java as the middleware) that use the exact same logic and coding (the only difference being the form url to call the servlet instead of calling the WebFocus servlet). Our other applications work fine.
You can change the target to _blank, however, if you save or cancel the download via the dialog box you will be left with a blank browser window open (2 windows...one for the application and one for the new blank one that the form opened).
Please help.
WebFocus 7.6 client: WinXP server: Windows 2003 Server Edition
_new will do the same thing as _top, however, it will attempt to load in a new window. If the user decides to save or cancel the transmission/download, then they will be left with a blank window in which they have to close. Although to many, I am sure that this is just a minor annoyance, there has to be a way of preventing unwanted/unnecessary windows and/or user related steps.
WebFocus 7.6 client: WinXP server: Windows 2003 Server Edition
Tom: I am assuming by your comment that you consider yourself a REAL professional? Then maybe you should heed your own advice and practice silence.
Francis: Thank you for the advice (this time). Early in the process, we had the form in question point to an iframe, however, we couldn't seem to capture the appropriate event to determine when to display the frame's contents. The only thing that we could think of was to use the onLoad event (which fires numerous times during the process...including when the container page originally loads) and check the src value ("" means don't show and anything else means show). We also thought about invoking a counter (0 means don't show...> 0 show). The problem that we had was that the onLoad fired before the Windows dialog box appeared. Therefore, the check became useless.
In one of our other applications (not WebFocus), we accomplish the same thing by creating a MIME message and passing it as the result to the form. Is there any way of doing this in WebFocus?
WebFocus 7.6 client: WinXP server: Windows 2003 Server Edition
You'll have to start playing nice with us. The first thing you could do is change your member name. We're not a bunch of webnerds here.
Here is an alternative way to display a report. "temp" is a folder in the APPROOT folder (not necessarily defined in the APPPATH).
-SET &ECHO = 'ALL';
-*-- Set up the file name ----------------------------------
-SET &FILE_NAME = &YYMD || '_' || EDIT(&TOD,'99$99$99') || '_output01.pdf';
FILEDEF OUTPUT01 DISK temp/&FILE_NAME.EVAL
-RUN
-*-- Create the report -------------------------------------
TABLE FILE CAR
SUM SALES
BY COUNTRY
BY CAR
ON TABLE HOLD AS OUTPUT01 FORMAT PDF
END
-RUN
-*-- Display the report ------------------------------------
-HTMLFORM BEGIN
<HTML>
<HEAD>
<meta http-equiv="refresh" content="0; url = /approot/temp/!IBI.AMP.FILE_NAME;">
</HEAD>
</HTML>
-HTMLFORM END
This works well with PDF. It most likely will work with HTML. It doesn't work with Excel - the report is displayed, but as HTML and not as Excel, but it might spark an idea or two.This message has been edited. Last edited by: Kerry,
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 cannot seem to get the behaviour you describe. I run many excel reports using, I thought, a standard call. I also use iframes and sometimes target="_top", sometimes no target.
Try logging into the WF Client Console and select Redirection Settings under the CONFIGURATION section. Changing the redirection setting to NO for Excel related files may solve your issue.
Maybe if we answer questions for wfhater with the correct answers he/she may become a wflover or at least wfcontentforthemoment.
Thanks!
Mickey
FOCUS/WebFOCUS 1990 - 2011
Posts: 995 | Location: Gaithersburg, MD, USA | Registered: May 07, 2003
Assuming that I am changing the appropriate setting (within the WebFocus Administration Console...Redirection Settings...Configuration...Redirect), the aforementioned setting didn't appear to have an affect. In another attempt, I tried changing the Content Disposition setting to Yes (it was defaulted to No), however, that didn't seem to work either. Despite the name, which I am changing and apologize for any hurt feelings that it has caused (that was never the point), any help would be greatly appreciated!
mgrackin: Thanks for you help! If you have any more suggestions, I am all ears (actually eyes), I would greatly appreciate it.
WebFocus 7.6 client: WinXP server: Windows 2003 Server Edition
Is there any way of changing the content type to application/unknown? Those are the settings that some of our other applications use and they don't encounter this problem. I don't know, maybe I am out in left field on this. MIME really isn't my cup of tea.
WebFocus 7.6 client: WinXP server: Windows 2003 Server Edition
Which file Extension did you change the Redirect setting for?
I have a sample html page with the following form which runs a FOCEXEC with the following code and I am able to produce (i think) the behavior you are looking for.
I changed the redirect setting to NO for the .xls extension only and changed the disposition to YES as well, although disposition should not matter.
What PCHOLD format are you using for the EXCEL sheet?
MIME is not my cup of tea either but an IBI Tech Support search turned up an explaination I can understand.
If redirect is set to yes, the Excel file is written to a temp directory on the web server and then a blank html page is sent back to the browser with an onload trigger that goes back to the web server to retrieve the Excel file. this would cause the blank screen you are seeing.
If redirect is set to no, the Excel file is sent directly back to the browser and is not saved in a temp directory. the browser then reacts appropriately to the .xls extension.
By the way, I tested this with Microsoft IE and Mozilla and it seems to work OK.
Thanks!
Mickey
FOCUS/WebFOCUS 1990 - 2011
Posts: 995 | Location: Gaithersburg, MD, USA | Registered: May 07, 2003
Ok, I messed up at first and changed the Redirection setting for the wrong file extension (.xls). However, after fiddling with it for a while, I changed the correct one (.xht) and it definately changed things. It seems to load in the top most frame/window with almost an HTML type table. It doesn't ask to open/save/cancel and it doesn't load the Excel viewer for some reason. I am not sure why.
Anyways, here is a brief copy of our fex. Because of certain design issues, we use pass through queries to generate our initial results. Additionally, we use hte EXL2K format.
TABLE FILE SQLOUT PRINT ADJUSTER_SSN AS 'Adjuster Tax ID' CROP_YR_ID AS 'Crop Year' ON TABLE PCHOLD FORMAT EXL2K END
We have been unsure as to using the EXL2K format or the EXCEL format. Either way, neither seem to load up in Excel or the Excel viewer when the Redirection setting is changed to No. Both load in an HTML table type format.
WebFocus 7.6 client: WinXP server: Windows 2003 Server Edition
What does your html page look like? From what you are saying it seems you have multiple frames. Can you give me an idea of the FRAMEs layout on you screen.
Also, what browser are you using? Do you have any pop-up blockers active? When redirect is set to NO it should not give you an html page with a table in it. It should only pass back the .XHT file.
Thanks!
Mickey
FOCUS/WebFOCUS 1990 - 2011
Posts: 995 | Location: Gaithersburg, MD, USA | Registered: May 07, 2003
Mickey, with the http refresh concept I suggested above, the same behaviour occurs as "dazed" (!!!) describes. I don't think it's anything to do with the frames, it has something to do with the .xht and .xls file types. I think it's how Windows and Internet Explorer talk to each other.
If I type this into Internet Explorer's Address: http://ocdt70070610:8080/approot/temp/20070219_153956_output01.xls, the file gets displayed as a HTML table and not as an Excel file. 20070219_153956_output01.xls was generated as a EXL2K format by WebFOCUS. In Firefox, the file gets displayed as a HTML table, but with one extra line of text.
If I type http://ocdt70070610:8080/approot/temp/Book1.xls in the IE address bar, I get garbage displayed in the web browser window. Book1.xls was generated by MS Excel 2003. In Firefox, I get a Open/Save to Disk dialog box.This message has been edited. Last edited by: Francis Mariani,
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
So what you are saying is that the culprit is probably the file associations or the way your machines are setup to handle these file types coming from a web server? Are you able to create an Excel file at all with WF?
Thanks!
Mickey
FOCUS/WebFOCUS 1990 - 2011
Posts: 995 | Location: Gaithersburg, MD, USA | Registered: May 07, 2003
TABLE FILE CAR BY COUNTRY BY CAR ON TABLE PCHOLD FORMAT EXL2K END
I have no problems creating Excel reports. If the target is an iframe, I get a open/save dialog box and can open the Excel file in the iframe. If the report is run in a new browser window and I choose to Open the file, it is displayed in the window. I choose to Cancel, the window stays open and is blank.
I tried Tom's suggestion and the file opens in Excel within the iframe or window. The only difference is that the cell borders of the empty cells beyond the report are not displayed.
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
Dear wfhater, I agree with Tom and Franci et al. If JAVA is such a great programming language, why don't you write your whole reporting system using it then you won't have to use this forum, which BTW comprises people who like to help each other voluntarily. We like to get on and find solutions rather than ***** about the inadequacies of product A versus product B. When we find the perfect programming language that enables us to do every possible task imaginable with the least amount of code and that requires the minimal amount of training and no support, I'm sure we'll all be happy to swap.
That's my 2 cents worth.
Posts: 140 | Location: Adelaide South Australia | Registered: October 27, 2006
Mgrackin, thank's for a good tip: EXL2K uses XHT instead of XLS! This solved our problem with the blank pages in our environment (frame based). Our end users are so used to press the back buttom in browser so they haven't complained about that.
Browser settings also affects to this behaviour. Check the 'browse in the same window setting' from the explorer: tools / folder options / file types / select the right mime type / additional features / unselect browse in the same window. We use IE 6.
ElisaThis message has been edited. Last edited by: EK,
Ok, to begin with, I took the time to set everything (all of the settings) back to the way that it originally was. Then, I changed the redirect settings on the xls format and changed the pchold type to EXCEL within the fex. I took out all of the columns except one, an SSN field (which isn't a compute or define). When I ran the report by just clicking run, it appeared to work (more on that in a sec). So, I wrote a test HTML page, complete with a form, to load the new fex to see if the redirect settings would work as mgrackin said. Guess what? Wonderful! The report didn't replace my content with _top and didn't bring up a new window with _new. However, their was a problem that I overlooked. I am sure that this has to do with my lack of knowledge, however, I looked at the values of the SSN field and they all said 0. When I clicked on the field in Excel to see if the value was indeed zero there was a long number written in scientific notation(2.62184503093639E-308). I went back and ran the fex directly from Developer Studio and it did the same thing (I just overlooked it the first time). Well, as I got to debugging, I noticed that SSN was defined as a variable length character field. So, I tried regular character fields and they worked fine. I then tried other variable length fields and they did the same thing (scientific notation). Why would this be?
To continue, I converted the variable length fields into regular fields and everything seemed to work. So, I began to add more fields, including some define fields for aggregation and conversion purposes. After I finished, I ran the report in DS and it ran perfectly. So, I tried running it from the test HTML page I wrote. Guess what? It came back in binary code (it looked like a bunch of junk written all over the screen, however, after looking at it for a while it was actually the binary code for the xls that was to be displayed). When I took the defines out, it ran perfectly again. I decided to try this with the EXL2K format. Everything worked, expecially in DS, however, when I reinserted the defines and ran from the test HTML page it came back as an ASCII table.
So, I decided to try and changed everything from a DEFINE to a COMPUTE thinking that it would fix the problem. In both formats, EXCEL and EXL2K, I would add a COMPUTE and run it within DS and on the test page. Everything seemed to be working well. However, after adding a couple of COMPUTES, and it varied based on the fields (and I couldn't find a correlation between field size), EXCEL would throw back a binary representation and EXL2K would throw back the ASCII table.
Obviously there is some concept that I am not understanding and/or some setting that I have set up wrong. However, I don't even know where to begin.
WebFocus 7.6 client: WinXP server: Windows 2003 Server Edition
After writing the last message, I started trying some more stuff. I wrote another fex, using no defines and just put fields from the master file into the print statement. Again, depending on how many, in which order, etc. I would get the same problem with binary representation. This time, however, it would even spit back the binary representation while running from DS.
Here is a copy of the master file that I am using ---------- FIELDNAME=CROP_YR_ID, ALIAS=CROP_YR_ID, USAGE=P11, ACTUAL=P8, FIELDNAME=AGENT_SSN, ALIAS=AGENT_SSN, USAGE=A9V, ACTUAL=A9V, FIELDNAME=ADJUSTER_SSN, ALIAS=ADJUSTER_SSN, USAGE=A9V, ACTUAL=A9V, FIELDNAME=AGENT_NM, ALIAS=AGENT_NM, USAGE=A51V, ACTUAL=A51V, FIELDNAME=ADJUSTER_NM, ALIAS=ADJUSTER_NM, USAGE=A50V, ACTUAL=A50V, FIELDNAME=INDEMNITY, ALIAS=INDEMNITY, USAGE=P19, ACTUAL=P10, FIELDNAME=LOSS_COST, ALIAS=LOSS_COST, USAGE=P20.4, ACTUAL=P10, FIELDNAME=IPS, ALIAS=IPS, USAGE=P11, ACTUAL=P8, FIELDNAME=CLAIMS, ALIAS=CLAIMS, USAGE=P11, ACTUAL=P8, FIELDNAME=COUNTIES, ALIAS=COUNTIES, USAGE=P11, ACTUAL=P8, FIELDNAME=AGENT_RISK_PREMIUM, ALIAS=AGENT_RISK_PREMIUM, USAGE=P19, ACTUAL=P10, FIELDNAME=AGENT_INDEMNITY, ALIAS=AGENT_INDEMNITY, USAGE=P19, ACTUAL=P10, FIELDNAME=AGENT_LIABILITY, ALIAS=AGENT_LIABILITY, USAGE=P19, ACTUAL=P10, FIELDNAME=AGENT_LOSS_RATIO, ALIAS=AGENT_LOSS_RATIO, USAGE=P20.4, ACTUAL=P10, FIELDNAME=AGENT_ADJUSTERS, ALIAS=AGENT_ADJUSTERS, USAGE=P11, ACTUAL=P8, FIELDNAME=AGENT_COUNTIES, ALIAS=AGENT_COUNTIES, USAGE=P11, ACTUAL=P8, FIELDNAME=AGENT_IPS, ALIAS=AGENT_IPS, USAGE=P11, ACTUAL=P8, FIELDNAME=PCT_AGENT_INDEMNITY, ALIAS=PCT_AGENT_INDEMNITY, USAGE=P20.2, ACTUAL=P10, FIELDNAME=ADJUSTER_INDEMNITY, ALIAS=ADJUSTER_INDEMNITY, USAGE=P19, ACTUAL=P10, FIELDNAME=ADJUSTER_CLAIMS, ALIAS=ADJUSTER_CLAIMS, USAGE=P11, ACTUAL=P8, FIELDNAME=ADJUSTER_AGENTS, ALIAS=ADJUSTER_AGENTS, USAGE=P11, ACTUAL=P8, FIELDNAME=ADJUSTER_COUNTIES, ALIAS=ADJUSTER_COUNTIES, USAGE=P11, ACTUAL=P8, FIELDNAME=ADJUSTER_IPS, ALIAS=ADJUSTER_IPS, USAGE=P11, ACTUAL=P8, FIELDNAME=PCT_ADJUSTER_INDEMNITY, ALIAS=PCT_ADJUSTER_INDEMNITY, USAGE=P20.2, ACTUAL=P10, FIELDNAME=PCT_ADJUSTER_CLAIMS, ALIAS=PCT_ADJUSTER_CLAIMS, USAGE=P20.2, ACTUAL=P10, ---------- If I run the following code from DS, it works (throwing aside the scientific notation stuff). Please note that I can't give away SSNs so there is actually a value for SSN in the where statement. ---------- TABLE FILE CAE_AGENT_ADJUSTER PRINT ADJUSTER_SSN ADJUSTER_NM AGENT_NM AGENT_SSN WHERE ADJUSTER_SSN EQ ''; ON TABLE PCHOLD FORMAT EXCEL END ---------- If I change the fex by adding another column, in this case INDEMNITY, then I get the binary representation from DS. ---------- TABLE FILE CAE_AGENT_ADJUSTER PRINT ADJUSTER_SSN ADJUSTER_NM AGENT_NM AGENT_SSN INDEMNITY WHERE ADJUSTER_SSN EQ ''; ON TABLE PCHOLD FORMAT EXCEL END ---------- The natural thought would be that there is something wrong with the INDEMNITY field. So, I took out the other columns and just printed INDEMNITY. ---------- TABLE FILE CAE_AGENT_ADJUSTER PRINT INDEMNITY WHERE ADJUSTER_SSN EQ ''; ON TABLE PCHOLD FORMAT EXCEL END ---------- The correct information comes back in EXCEL form.
I have tried different combinations of the fields, and each time, after I enter the 5th field I get back the binary representation (ASCII table with the EXL2K format).
WebFocus 7.6 client: WinXP server: Windows 2003 Server Edition