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     Now I have gotten method=POST to work... How do I change back to method=GET in same H

Read-Only Read-Only Topic
Go
Search
Notify
Tools
Now I have gotten method=POST to work... How do I change back to method=GET in same H
 Login/Join
 
Gold member
posted
This is a follow up to Keith D's question:
http://forums.informationbuild...=887103962#887103962

We used the technique discussed in forum "How can I pass a data more than 5000 character acrross FEX" to overcome the get method char limitation on parm length. Thanks to dhagen!

http://forums.informationbuild...021001552#4021001552

Now, in the same html report launcher, we want to restore the method=GET for all other requests.

Any ideas?


WebFOCUS 769
Windows
all
 
Posts: 53 | Registered: April 29, 2009Report This Post
Expert
posted Hide Post
You could do this many ways, but not knowing how you are doing this now, makes it difficult to give a useful answer.

My suggestion would be to use javascript to change the method on the form from POST to GET.


Waz...

Prod:WebFOCUS 7.6.10/8.1.04Upgrade:WebFOCUS 8.2.07OS:LinuxOutputs:HTML, PDF, Excel, PPT
In Focus since 1984
Pity the lost knowledge of an old programmer!

 
Posts: 6347 | Location: 33°49'23.0"S, 151°11'41.0"E | Registered: October 31, 2006Report This Post
Gold member
posted Hide Post
I created a form with method=post and called an inline FEX directly to allow a large amount of data to be passed without exceeding the limit for method=get:

Form code
  
<FORM id=form_adhocfex action=/ibi_apps/WFServlet method=post target=frmSaveParmRpt>
<TEXTAREA id=IBIF_adhocfex name=IBIF_adhocfex rows=1 cols=1 persistentuniqueid="compUid_415" type="hidden"></TEXTAREA> 
<INPUT id=hd1 type=hidden value=baseapp name=IBIAPP_app persistentuniqueid="compUid_416"> 
<INPUT id=pb1 onclick=sendThis(this.form); type=hidden value="Try Me!" persistentuniqueid="compUid_418"> </FORM>



Javascript:
  
//
// Create and execute an Inline FEX to save parms
//
			var obj = document.getElementById('IBIF_adhocfex');
    		obj.value = 	"-SET &ECHO=ALL;\n" +
							"-SET &P_DATA = '" + getParms + "';\n" +
							"-SET &P_NAME = '" + saveName + "';\n" +
							"-INCLUDE std_rpt_write_saved_parms\n" +
							"-RUN";
    		document.getElementById('form_adhocfex').submit();


But once I complete that action, I want all future calls to use method=GET. But the Method=POST seems to persist.

Thanks!


WebFOCUS 769
Windows
all
 
Posts: 53 | Registered: April 29, 2009Report This Post
Expert
posted Hide Post
I would try adding
document.getElementById('form_adhocfex').method = 'get' ;  
after the submit.


Waz...

Prod:WebFOCUS 7.6.10/8.1.04Upgrade:WebFOCUS 8.2.07OS:LinuxOutputs:HTML, PDF, Excel, PPT
In Focus since 1984
Pity the lost knowledge of an old programmer!

 
Posts: 6347 | Location: 33°49'23.0"S, 151°11'41.0"E | Registered: October 31, 2006Report This Post
Expert
posted Hide Post
I wouldn't even bother to change the method as with GET you are presented with the complete URL in the address bar whereas with POST you don't. If you are passing variable values that you do not want the end user to be aware of, then POST is the method to use, always.

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
Gold member
posted Hide Post
quote:
Originally posted by Waz:
I would try adding
document.getElementById('form_adhocfex').method = 'get' ;  
after the submit.


WAZ...

Thanks for the prompt response. I did as you suggested. However I cannot tell if that is working because all fexes other than the dynamically generated code are failing. The message I get is "(FOC227) THE FOCEXEC PROCEDURE CANNOT BE FOUND: app/std_rpt_deffilter
"

I have commented out code a little at a time and it is caused by the embedded form I used to submit the dynamic fex.

I suspect that either the app path is being overlaid or not being passed.

Here is my latest code:

  
Javascript submitting dynamic fex

//
// Create and execute an Inline FEX to save parms; Use method=post then reset to method=get;
//
			document.getElementById('form_adhocfex').method = 'post';
			var obj = document.getElementById('IBIF_adhocfex');
    		obj.value = 	"-SET &ECHO=ALL;\n" +
							"-SET &P_DATA = '" + P_PARM_DISPLAY.value + "';\n" +
							"-SET &P_NAME = '" + saveName.toUpperCase () + "';\n" +
							"-INCLUDE std_rpt_write_saved_parms\n" +
							"-RUN";

    		document.getElementById('form_adhocfex').submit();
			document.getElementById('form_adhocfex').method = 'get';

HTML defining form:


<FORM id=form_adhocfex action=/ibi_apps/WFServlet method=get target=frmSaveParmRpt>
<TEXTAREA id=IBIF_adhocfex style="VISIBILITY: hidden" name=IBIF_adhocfex rows=1 cols=1 persistentuniqueid="compUid_415"></TEXTAREA>
<INPUT id=hd1 type=hidden value=baseapp name=IBIAPP_app persistentuniqueid="compUid_416">
<INPUT id=pb1 onclick=sendThis(this.form); type=hidden value="Try Me!" persistentuniqueid="compUid_418"> </FORM>




Any suggestions?


WebFOCUS 769
Windows
all
 
Posts: 53 | Registered: April 29, 2009Report This Post
Gold member
posted Hide Post
quote:
Originally posted by Tony A:
I wouldn't even bother to change the method as with GET you are presented with the complete URL in the address bar whereas with POST you don't. If you are passing variable values that you do not want the end user to be aware of, then POST is the method to use, always.

T


Hi Tony...

It is not that I do not want the end user to see the variables. It is that in one case the volume of data passed exceeds the URL character limit. So for that request only, I want to use method = post. Otherwise, I want the HTML to continue passing variables in the URL as we have hundreds of variables in out report launcher. To pass them myself would be too tedious.

Thanks!


WebFOCUS 769
Windows
all
 
Posts: 53 | Registered: April 29, 2009Report This Post
Expert
posted Hide Post
quote:
"(FOC227) THE FOCEXEC PROCEDURE CANNOT BE FOUND: app/std_rpt_deffilter


This looks like it is in MRE, if so, your call is going to the WF server direct, not MRE.


Waz...

Prod:WebFOCUS 7.6.10/8.1.04Upgrade:WebFOCUS 8.2.07OS:LinuxOutputs:HTML, PDF, Excel, PPT
In Focus since 1984
Pity the lost knowledge of an old programmer!

 
Posts: 6347 | Location: 33°49'23.0"S, 151°11'41.0"E | Registered: October 31, 2006Report This Post
Expert
posted Hide Post
"To pass them myself would be too tedious"

I'm not sure I understand - the form sends all the variables, regardless of the method (GET or POST) - you don't have to do anything different - it's just the URL that will be different.

Or, perhaps I don't understand your quandary.


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
 
Posts: 10577 | Location: Toronto, Ontario, Canada | Registered: April 27, 2005Report This Post
Gold member
posted Hide Post
quote:
Originally posted by Waz:
quote:
"(FOC227) THE FOCEXEC PROCEDURE CANNOT BE FOUND: app/std_rpt_deffilter


This looks like it is in MRE, if so, your call is going to the WF server direct, not MRE.


I am not quite understanding this. Are you saying that the adhoc fex is going directly to the server and that is why the next call to MRE fails? If so how do I work around this? Can either the adhoc fex be coded to run in MRE? Or can some setting be restored after the call.

Or if I am missing the point entirely, more explanation would be appreciated.

Thanks!
  
Confused


WebFOCUS 769
Windows
all
 
Posts: 53 | Registered: April 29, 2009Report This Post
Expert
posted Hide Post
Calls through MRE require more parameters for things such as the Domain, Folder, action to be performed, etc.

Here is a list of some.

  • IBIMR_action
  • IBIMR_sub_action
  • IBIMR_flags
  • IBIMR_domain
  • IBIMR_folder
  • IBIMR_fex


I would suggest checking the documentation, to get an understanding.


Waz...

Prod:WebFOCUS 7.6.10/8.1.04Upgrade:WebFOCUS 8.2.07OS:LinuxOutputs:HTML, PDF, Excel, PPT
In Focus since 1984
Pity the lost knowledge of an old programmer!

 
Posts: 6347 | Location: 33°49'23.0"S, 151°11'41.0"E | Registered: October 31, 2006Report This Post
Gold member
posted Hide Post
quote:
Originally posted by Waz:
Calls through MRE require more parameters for things such as the Domain, Folder, action to be performed, etc.

Here is a list of some.

  • IBIMR_action
  • IBIMR_sub_action
  • IBIMR_flags
  • IBIMR_domain
  • IBIMR_folder
  • IBIMR_fex


I would suggest checking the documentation, to get an understanding.


Thanks again Waz... While waiting I did some more research and added the following to my form
  
<input type=hidden name="IBIMR_action" value="MR_RUN_FEX">
<input type=hidden name="IBIMR_sub_action" value="MR_STD_REPORT">
<input type=hidden name="IBIMR_domain" value="budgetre/budgetre.htm">
<input type=hidden name="IBIMR_folder" value="#generalkseb3">
<input type=hidden name="IBIMR_fex" value="app/????.fex">


What I dont know is the last value for the fex. Since it is "adhoc", how does it have a name?

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


WebFOCUS 769
Windows
all
 
Posts: 53 | Registered: April 29, 2009Report This Post
Expert
posted Hide Post
I think we need more info on your calls, and where the FEX's are.

for example, app/std_rpt_deffilter indicates MRE, but is it in MRE of is it on the server


Waz...

Prod:WebFOCUS 7.6.10/8.1.04Upgrade:WebFOCUS 8.2.07OS:LinuxOutputs:HTML, PDF, Excel, PPT
In Focus since 1984
Pity the lost knowledge of an old programmer!

 
Posts: 6347 | Location: 33°49'23.0"S, 151°11'41.0"E | Registered: October 31, 2006Report This Post
Gold member
posted Hide Post
quote:
Originally posted by Waz:
I think we need more info on your calls, and where the FEX's are.

for example, app/std_rpt_deffilter indicates MRE, but is it in MRE of is it on the server


I so appreciate your patience. I have been researching this problem for over a week and have found much good info and made progress but have to work out the final details.

My std_rpt_deffilter is run from MRE and outputs to an iframe in my HTML report launcher. It shows default values for the report being selected.

The other reports are just what I would call report "stubs", also in MRE, that call the desired report which is stored on the server:

 
-MRNOEDIT BEGIN
-INCLUDE STD_BUDVSACT_RPT100_DS
-MRNOEDIT END


The embedded adhoc fex runs beautifully (thanks to posters for that code). But when the HTML attempts to run the "stub", it does not recognize "MRNOEDIT".

I assume that is because it is attempting to run outside of MRE. This seems to be caused by the embedded form that calls the adhoc fex and runs from the server. That is why I am trying to redirect it to run from MRE.

I think... correct me if I am wrong... that I may have to write the adhoc fex to a file with a standard name so that I can reference it in IBIMR_fex. Do you know of any other option?

Thanks!


WebFOCUS 769
Windows
all
 
Posts: 53 | Registered: April 29, 2009Report This Post
Expert
posted Hide Post
This is an interesting dilemma, you effectively want to run an adhoc fex through MRE.

My only thoughts at this time would be to parse the lines of the adhoc fex as parameters, then the MRE fex can write them to a file and execute them.

You will have to break up the lines in IBIF_adhocfex, into separate variable, say Line1, Line2, Line{n}.

A small peice of DM will be able to get the lines and write them to a file.


Waz...

Prod:WebFOCUS 7.6.10/8.1.04Upgrade:WebFOCUS 8.2.07OS:LinuxOutputs:HTML, PDF, Excel, PPT
In Focus since 1984
Pity the lost knowledge of an old programmer!

 
Posts: 6347 | Location: 33°49'23.0"S, 151°11'41.0"E | Registered: October 31, 2006Report This Post
Expert
posted Hide Post
quote:
To pass them myself would be too tedious.
As per Francis, you don't need to enter variables by yourself as they are all contained in the call anyway. The main differences between GET and POST are -
  • GET shows the URL in the address bar (if it is visible)
  • Post only shows the root URL (such as http://[yourserver]/ibi_apps/WFServlet)
  • GET is limited to around 2024 (I checkit once Frowner) chars in the URL
  • POST is limited only by memory (allegedly)
  • Both methods contain all the form controls that have the "name" attribute set.


In WebFOCUS you can get to the URL string via a system variable.

In HTML you can get to the variable values using script.

Like Francis, I still do not understand why you want to change the method from GET to POST and back agin? Just use POST




Ok, that said, let's see if I understand exactly what you are attempting.

You have a launch page in MRE from where you prompt the end user for input values.
The page has a separate form and within this form you have a button labelled "Try Me!" that the user can click which creates an adhoc fex.
This adhoc fex includes a preprepared fex (which is held in baseapp Apps folder).
This prepared fex write the passed values back to the form into an iframe.

Is this correct (ish)?

If you are just loading an iframe with the result of an adhoc fex, then just use JS to set the SRC attribute of the iframe to the URL for the adhoc fex. Much easier!

If this is not what you are trying to do then perhaps an providing overview would be best?

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
  Powered by Social Strata  

Read-Only Read-Only Topic

Focal Point    Focal Point Forums  Hop To Forum Categories  WebFOCUS/FOCUS Forum on Focal Point     Now I have gotten method=POST to work... How do I change back to method=GET in same H

Copyright © 1996-2020 Information Builders