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 passing wf a long url (via Post method) where there are hundreds of variables X1,X2... which are then being translated into amper variables &X1,&X2 etc and I get this message once a certain limit is passed.
(FOC206) INSUFFICIENT MEMORY IS AVAILABLE FOR PROGRAM/CACHE
Is there a simple method of increasing the memory available.
Regards
JohnThis message has been edited. Last edited by: hammo1j,
Server: WF 7.6.2 ( BID/Rcaster) Platform: W2003Server/IIS6/Tomcat/SQL Server repository Adapters: SQL Server 2000/Oracle 9.2 Desktop: Dev Studio 765/XP/Office 2003 Applications: IFS/Jobscope/Maximo
Posts: 888 | Location: Airstrip One | Registered: October 06, 2006
Here's the code to create the error in WebFOCUS (sorry JG) With 100 iterations of :LOOP on our system it gives FOC206. With 2 or 3 it works fine. What also is surprising is the time taken to render by IE.
I didn't have time to work out the limit, but would be interested if anyone knows a way to increase since it seems quite small.
-* testinput.fex
-SET &ECHO=ON ;
-? &
FILEDEF HOLD DISK HOLD.FTM ( APPEND
-REPEAT : LOOP FOR &I FROM 1 TO 100
TABLE FILE CAR
PRINT COUNTRY
ON TABLE HOLD
END
-RUN
-:LOOP
DEFINE FILE HOLD
MSG_NO/I3 WITH COUNTRY = LAST MSG_NO + 1 ;
COUNTERR/A3=PTOA(MSG_NO,'(P3)','A3');
COUNTER/A3=LJUST(3,COUNTERR,'A3');
SPONSORX/A120V='<tr><td><input type=text name="COUNTR' || COUNTER || '" size="11" value="' || COUNTRY || '" >' || '</td></tr>' ;
END
-RUN
TABLE FILE HOLD
PRINT
SPONSORX AS 'Sponsor'
ON TABLE HOLD AS MESSAGES FORMAT HTMTABLE
ON TABLE SET PAGE-NUM NOPAGE
ON TABLE SET HTMLCSS ON
END
-RUN
-HTMLFORM BEGIN
<html>
<head>
<title>Test Input</title>
</head>
<body>
<form name="form" method=post action="/ibi_apps/WFServlet">
<table width="100%" >
<tr>
<td width="100%" COLSPAN="2">
<INPUT TYPE="BUTTON" NAME="Submit" VALUE="Submit" onclick="submit();">
<input type=hidden name="IBIF_ex" id="IBIF_ex" value="testinput">
<input type=hidden name="IBIAPP_app" id="IBIAPP_app" value="UTILITIES">
<input type=hidden name="IBIMR_random" id="IBIMR_random" value=0>
</td>
</tr>
<tr><td nowrap width="100%">!IBI.FIL.MESSAGES;</td></tr>
</table>
</form>
</body>
</html>
-HTMLFORM END
-EXIT
Server: WF 7.6.2 ( BID/Rcaster) Platform: W2003Server/IIS6/Tomcat/SQL Server repository Adapters: SQL Server 2000/Oracle 9.2 Desktop: Dev Studio 765/XP/Office 2003 Applications: IFS/Jobscope/Maximo
Posts: 888 | Location: Airstrip One | Registered: October 06, 2006
1. Your amper vars are &COUNTR1, &COUNTR2, etc. If you shorten that to &X1, &X2, ..., the available memory will (I presume) stretch further.
2. If you name all the INPUT tags identically, the CGI process will index them (assigning the series of "name='X'" parameters to &X1, &X2, ...) -- so if the index numbers have no real significance you can further reduce the size of the generated HTML code, and the volume of data transmitted by the submit.
- Jack Gross WF through 8.1.05
Posts: 1925 | Location: NYC | In FOCUS since 1983 | Registered: January 11, 2005
moi non plus i changed &I to I changed REPEAT : LOOP to REPEAT :LOOP and didn't have any problems i'm on unix as is Ginny
something about providing code snippets... its simply irresistible... ya gotta try it
as jack says, shortening parm names as much as possible..i run in to this problem with long multidrills... the limit in length to a url in ie is 2k..i don't know if POST vs GET addresses that issue at all, does it?
In Focus since 1979///7706m/5 ;wintel 2008/64;OAM security; Oracle db, ///MRE/BID
Posts: 3811 | Location: Manhattan | Registered: October 28, 2003
We have a process where we send over 150 varies in a query string from some Microsoft Excel VBA code. But we send is a one varaible seperated by ~ (tilta). It is parsed using the GETTOK function. Of course everything is positional.
The VBA also code "scrubbs" the input for special characters. Just about any thing other then a letter or number will cause problems, some place in the process.
Jim Morrow Web Focus 7.6.10 under Windows 2003 MVS 7.3.3
I did not make the point clear about where the problem occurs. This is not when the original HTML is rendered but when the Submit button is pressed.
Please could you let me know if you pressed Submit in your tests because I think this issue may have been resolved by a later release of wf because I note you are all on 766/767 who said it worked.
John
Server: WF 7.6.2 ( BID/Rcaster) Platform: W2003Server/IIS6/Tomcat/SQL Server repository Adapters: SQL Server 2000/Oracle 9.2 Desktop: Dev Studio 765/XP/Office 2003 Applications: IFS/Jobscope/Maximo
Posts: 888 | Location: Airstrip One | Registered: October 06, 2006
12/08/2008 13:33:41 error in COMP: Memory Allocation Failure.
In addition it seems that the limiting factor is the size of the query string (ie variable name plus data ) which seems to have a maximum size of about 4800.This message has been edited. Last edited by: hammo1j,
Server: WF 7.6.2 ( BID/Rcaster) Platform: W2003Server/IIS6/Tomcat/SQL Server repository Adapters: SQL Server 2000/Oracle 9.2 Desktop: Dev Studio 765/XP/Office 2003 Applications: IFS/Jobscope/Maximo
Posts: 888 | Location: Airstrip One | Registered: October 06, 2006
looking at the wfservlet traces we can see that indeed it does build a .fex to run before your actual fex.
The variables in the querystring come across in the reverse order they are defined but there is no particular order in which they are issued as -set commands
It does not work when you escape. The problem is that the expression is too big.
The servlet builds the expression as a dummy query string from the HTML post portion of the query. If it was just passing a string, rather than doing a concatenation, then there would be no problem.
Unfortunately it seems there is no easy way of stopping QUERY_STRING being passed to the server by the servlet. See my other post!This message has been edited. Last edited by: hammo1j,
Server: WF 7.6.2 ( BID/Rcaster) Platform: W2003Server/IIS6/Tomcat/SQL Server repository Adapters: SQL Server 2000/Oracle 9.2 Desktop: Dev Studio 765/XP/Office 2003 Applications: IFS/Jobscope/Maximo
Posts: 888 | Location: Airstrip One | Registered: October 06, 2006
Logging in from home before kip but I know its the start of the day in Oz. (How are those new posters which say you're looking for revenge on us Poms in 2012?)
The QUERY_STRING is used to check the contents of &IBIF_adhoc (IIRC) which is examined to see if it contains markers of a RA generated procedure in which case a filter proc is run from our site profile to counteract a security flaw in our ERP. No, not making that up.
The problem I need to solve is setting Querystring conditionally
Into my fex above and thus conditionally switch off the passing of QUERY_STRING.
Unfortunately my release 762 seems to give me QUERY_STRING no matter what.
But I would be interested to see if you could insert this line into the code you have running under 767 and see whether it stops the problem occuring. Then all!$? I would have to do is upgrade to 767...
Thanks for all your efforts. Put one on the Barbie for me!
Server: WF 7.6.2 ( BID/Rcaster) Platform: W2003Server/IIS6/Tomcat/SQL Server repository Adapters: SQL Server 2000/Oracle 9.2 Desktop: Dev Studio 765/XP/Office 2003 Applications: IFS/Jobscope/Maximo
Posts: 888 | Location: Airstrip One | Registered: October 06, 2006
We have a very large html "application" where we have had to code around the "save parameter" size issue by saving the parameters to an Oracle table and then retrieving for subsequent runs. We are able to save 20,000 bytes of saved parameters in a test application with only a few parameters being passed to the "save_my_parameters" fex. However, when we try to use the same coding in the large html application, we get the FOC206 error. I have reviewed the posts along this thread, but I am confused about where I need to place the various solutions to this problem.
Where do you put the following? fex or html
<ifdef> NOPASSQUERY
QUERY_STRING=' '
<endif>
<set> QUERY_STRING(pass)
# this stops it being sent by default
# <set> QUERY_STRING(dontpass)
Also, if I use this solution, do I lose the ability to pass ANY parameters to the "save_my_parameters" fex? I need to be able to pass about 8 parameters to the "save_my_parameters" fex.
ThanksThis message has been edited. Last edited by: KeithD,
7.6.9 Windows for development/reporting server, Unix webserver, Unix DB Server (Oracle) HTML, PDF and Excel