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 got an html page that contains a form with 8 multi-selection lists. Some list have hundreds of values.
This is just a simple reporting application that spits out the report with the "where clauses" created dynamically in Focus depending on what values the user selected in the lists.
When they submit the form, an html window pops up that contains 2 frames. The top frame is to select "excel" or "html" format. Bottom frame, of course, gives the report. This is where the problem lies actually, because if it was only one format, I could just submit the form using the "POST" method to call the fex directly, and the limitation would be a lot higher.
Now I can't submit the form using the "GET" method or by creating a CGI call because there's a 2048 character string limit. This limit is quickly reached with all theses values that they can select.
So these are my questions :
1 - I know that if I put the user selections in files and just do "-READs" on them, I wouldn't have any limitation. I want to avoid doing this. But if I have no choice, what would be the best method of writing the selections to a file ?
2 - If I use "POST" to submit the form, can I grab these values in the new html window and assigning them to the 2 frames ? I guess that means asp. But if so, I still have a problem when calling the fex.
3 - Instead of using frames to choose between Excel and HTML format, do you have a better idea so that I don't have to go through resolving the issues above ?
Because my boss doesn't want the user to resubmit the report if he wants to see it in the other format (usually, they see it by default in html and then they view it in Excel and save it).
I would add the Excel or HTML selection to your first screen so when the submit button is clicked you already know which format the user would like and therefore you do not need to figure out how to get the values into the �framed� window that pops up.
If you really would like to stick to the way you are doing things, you can actually trigger a submit on the first window (parent) from the pop up window (child). This will eliminate the need to populate variables in the pop up window. I have used this technique many times.
With either solution you can use POST.
It sounds like you are building the FOCEXEC using JavaScript. You may want to look at doing this with a FOCEXEC instead. This may help you to get around the issues with the GET method if you don�t use POST.
Posts: 995 | Location: Gaithersburg, MD, USA | Registered: May 07, 2003
Originally posted by Mickey Grackin: [qb] If you really would like to stick to the way you are doing things, you can actually trigger a submit on the first window (parent) from the pop up window (child). This will eliminate the need to populate variables in the pop up window. I have used this technique many times. [/qb]
Mmm...Ok, and how would I then call the focexec ? Let's say, in the popup window, I do smth like :
opener.form.submit() (I guess that's the way I would do it ?), how could I then call the fex ?
If you are building the FOCEXEC with JavaScript, create a hidden INPUT item on the parent window with the name IBIF_adhocfex and then set the VALUE equal to the complete FOCEXEC. Then using the window.opener.document.form.submit() you can execute the FOCEXEC.
Is my assumption correct that you are building the FOCEXEC in the browser with JavaScript?
Posts: 995 | Location: Gaithersburg, MD, USA | Registered: May 07, 2003
Originally posted by Mickey Grackin: [qb] Is my assumption correct that you are building the FOCEXEC in the browser with JavaScript? [/qb]
Honnestly, I don't know what you mean by that. I just want to pass user selection to the focexec. I assumed the use of javascript was only to build the cgi call or submit, no ?
What does your FORM look like in the pop-up window that you are submitting to WebFOCUS?
Whatever that FORM looks like, make the FORM in the parent window look exactly like it so that the window.open.document.form.submit() sends a request to WebFOCUS that looks identical to what you are sending from the pop-up window.
The other additional thing you will need to do is to change the TARGET value for the FORM on the parent window so that it points to the frame on the pop up window.
I hope this makes more sense. Let me know.
Posts: 995 | Location: Gaithersburg, MD, USA | Registered: May 07, 2003
Here is something I've done... it's somewhat transparent to the user.....
-DEFAULT &FORMAT = HTML
TABLE FILE CAR PRINT MODEL CAR ON TABLE SUBHEAD "Download to Spreadsheet" ON TABLE SET ONLINE-FMT &FORMAT ON TABLE SET STYLE * TYPE = TABHEADING, FOCEXEC=app/vshtmlex(FORMAT='EXL2K'), $ ENDSTYLE END
vshtmlex is the name of your focexec. It does run it a second time.....
Posts: 132 | Location: Kansas | Registered: November 12, 2003
I guess I'm a little confused why a user can't run a report more than once, especially if they want a downloadable format after they have verified the data is what they are looking for, but hey, everyone runs a business differently. This is a simple example of something else you could do, it actually creates two reports at once - maybe your boss won't be able to tell since its really only 'one' request -- anyway, this actually creates the necessary frames without having to code each - try it, you may or may not like it, but it can be handy.
Originally posted by Mickey Grackin: [qb] If you really would like to stick to the way you are doing things, you can actually trigger a submit on the first window (parent) from the pop up window (child). This will eliminate the need to populate variables in the pop up window. I have used this technique many times. [/qb]