Focal Point
DRILLMENUITEM limit?

This topic can be found at:
https://forums.informationbuilders.com/eve/forums/a/tpc/f/7971057331/m/8431079522

May 01, 2007, 12:02 PM
.eric
DRILLMENUITEM limit?
I found the following under case 30792032 :

There are some DRILLMENUITEM limitations which are being reached:

1. The maximum length of a FOCEXEC=fex argument is 2400 characters.

2. You can create multiple parameters. The entire string of parameters must
be enclosed in parenthesis, separated from each other by a blank space, and
cannot exceed 2400 characters.

3. The maximum DRILLMENUITEM name is 80 characters.

4. The maximum number of DRILLMENUITEM is 12.

My issue is that I have a report with 7 drillmenu items and 17 parameters that need to be passed. Does anyone know of any techniques or ways around these limitations? I can comment out the last 2 drillmenu items and it works fine which leads me to believe I am over the character limit.

Eric


dev: WF 7.6.5 w/IIS + Tomcat

prod: WF 7.6.5 w/IIS + Tomcat
May 01, 2007, 12:17 PM
Francis Mariani
One way to reduce the number of characters in a hyperlink is to reduce the parameter name to two characters. Another way is to pass codes not values, e.g. CA instead of Canada.


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
May 01, 2007, 12:23 PM
susannah
.eric,
we'll be talking about this very issue at Summit, when Tony and Francis and I give a talk about Coding Standards. The max length is a function of your browser, so the statement about "2400 char" is indeed troubling.
IE has a maximum length of about 2k characters for a url (the shortest of all the browsers, oddly enough); and a drilldown is a url.. it contains the path to your server, the webfocus engine, the fexname and all the parms.
so you start by making the parm names very very very short...
From what you say, i would guess that you have indeed exceeded the 2k limit. I've hit that many a time myself, which is why i know your pain.
You can also do some branching within your style sheet tomake sure that you expose ONLY the drillmenu items that are needed.
For example:
TYPE=DATA,COLUMN=MODEL,
-IF &COUNTRY NE 'ALL' GOTO model.car ;
focexec=&DD0(...),
-model.car
-IF &CAR NE 'ALL' GOTO model.seats;
focexec=&DD0(...),
-model.seats
-IF &SEATS NE 0 GOTO model.end;
focexec=&DD0(...),
-model.end
$
-*-----
Other things you can do, make sure none of your parms is 'ON' or 'OFF', but rather 1 and 0;
Takes less room to pass thru.
Make sure you pass code values, not names, takes too much room.
and, as far as i know, there is that 12 element limit to the # of drillmenu items.




In Focus since 1979///7706m/5 ;wintel 2008/64;OAM security; Oracle db, ///MRE/BID
May 01, 2007, 12:36 PM
.eric
Yeah the majority of my parms are codes (mostly between 2 and 5 characters), but we have also some descriptions (of the codes, so CA and Canada would both be sent as 2 parms) which are loaded in as parms because they are taken off the dropdowns off the launch pages so those are usually the killers.

I tried using something like in the arguments section:
-SET &PARM1 = IF &PARM1 EQ '$*' THEN '' ELSE ''' | &PARM1 | "'''';

Which worked in some cases, but again I have to account for the possiblity in which all parms have a value other than $*.

I also do have to have all 7 drillmenuitems listed every time because they are basic product categories. Which was the other thing I was trying to figure out because of the 17 parms, 16 are always the same where the lone one is the different product categories the user can drill too.


dev: WF 7.6.5 w/IIS + Tomcat

prod: WF 7.6.5 w/IIS + Tomcat
May 01, 2007, 12:49 PM
susannah
ah.
you've hit on why is don't use $*
some of my parms are A1 so $* wouldn't work for them anyway
and FOC_NONE is too long;

As for CA, i would only pass the CA and then determine the longname of CA via a decode file in the child fex.
-SET &CNAME=IF &CA IS '$*' THEN ' ' ELSE DECODE &CA (DECODECA);
where DECODECA is filedeffed in the child fex
and is made in batch at night, say,
and is
CA 'CANADA'
BF 'BURKINA FASO'
...

and it sounds like some internal branching would work just fine for your category conditions




In Focus since 1979///7706m/5 ;wintel 2008/64;OAM security; Oracle db, ///MRE/BID
May 01, 2007, 01:00 PM
.eric
The only problem is that there's not an easy way to build a decode file because there are 6 different codes that need descriptions and each code has anywhere from 30-1000 values. That's why I originally set it up to be passed as a parm and to be grabbed from the dropdown text of the launch page...but as the report changed and more parms were added it stopped working.

I can query the decoded value of the code through seperate fexes but I was trying to avoid that. Ughh...this isn't looking good.


dev: WF 7.6.5 w/IIS + Tomcat

prod: WF 7.6.5 w/IIS + Tomcat
May 01, 2007, 01:05 PM
BlueZone
Wow Ms. Susannah !!
You, Tony and Francis making a presentation together ? That would create a buzz equal to the famous "FocWizards" sessions.

Unfortunately I will be missing this year's Summit. Hope you all have some fun out there.

Sandeep Mamidenna


-------------------------------------------------------------------------------------------------
Blue Cross & Blue Shield of MS
WF.76-10 on (WS2003 + WebSphere) / EDA on z/OS + DB2 + MS-SQL
MRE, BID, Dev. Studio, Self-Service apps & a dash of fun !! Music
May 01, 2007, 01:09 PM
BlueZone
And getting back to your Q .eric :
I would also suggest that you take a very close look at all the parms, tighten up your code to exlucde unnecessary ones and look at every possible one that can be derived by using Decodes in the child fex.

If that does not work, you could look at -WRITEing the parms to a file, and -READing the file in the child fex. Cumbersome, but will work if there is no way out.

Sandeep Mamidenna


-------------------------------------------------------------------------------------------------
Blue Cross & Blue Shield of MS
WF.76-10 on (WS2003 + WebSphere) / EDA on z/OS + DB2 + MS-SQL
MRE, BID, Dev. Studio, Self-Service apps & a dash of fun !! Music
May 01, 2007, 01:54 PM
susannah
Blue, what a shame you won't be there. We were looking forward to meeting ' a dash of fun' Wink




In Focus since 1979///7706m/5 ;wintel 2008/64;OAM security; Oracle db, ///MRE/BID
May 01, 2007, 02:00 PM
Prarie
Hope ya'll have a large room.


In Focus since 1993. WebFOCUS 7.7.03 Win 2003
Well I did get to meet you in person last year at Orlando Ms. Susannah. Sandy Kadish introduced us, and we dicussed the Java-issue in MRE, the one where the scroll-bar would not go down past a certain domain, even if there were many more downstairs.

Would sure have been great to to meet Francis, Tony, Mickey, FD, Alan, et al. (....to confirm for my sanity's sake that all you geniuses are made up of the same 2-eyes, 2-ears, 1-head and no-tail prototypes !!).

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


-------------------------------------------------------------------------------------------------
Blue Cross & Blue Shield of MS
WF.76-10 on (WS2003 + WebSphere) / EDA on z/OS + DB2 + MS-SQL
MRE, BID, Dev. Studio, Self-Service apps & a dash of fun !! Music
and Blue, you're the wizard who gave me the answer! rocket!

.eric, in the words and accent of inspector clouseau, 'courage' , you can code it.




In Focus since 1979///7706m/5 ;wintel 2008/64;OAM security; Oracle db, ///MRE/BID
Yeah, just finished creating seperate fexs to pull code deceriptions Smiler

But I'm going to summit this year and will make sure to attend your guys session.

Thanks guys.


dev: WF 7.6.5 w/IIS + Tomcat

prod: WF 7.6.5 w/IIS + Tomcat
To shorten the url I think it is possible to create an alias for the "the path to your server and the webfocus engine"
But I'm not sure if WF can use it, or automatically translate that alias to the longer string.

The Summit: would be nice if Katleen can arrange a meeting so we can meet each other.




Frank

prod: WF 7.6.10 platform Windows,
databases: msSQL2000, msSQL2005, RMS, Oracle, Sybase,IE7
test: WF 7.6.10 on the same platform and databases,IE7

quote:
Originally posted by FrankDutch:
The Summit: would be nice if Katleen can arrange a meeting so we can meet each other.


Kathleen :
Here is one more request for you. A FocalPoint users get-together at Summit would be great idea !!


-------------------------------------------------------------------------------------------------
Blue Cross & Blue Shield of MS
WF.76-10 on (WS2003 + WebSphere) / EDA on z/OS + DB2 + MS-SQL
MRE, BID, Dev. Studio, Self-Service apps & a dash of fun !! Music
I actually logged case for this with IBI -- to increase the limit. Obviously you may still reach a browser URL limit, but I'm hitting the internal limit of the DRILLMENUITEMs much sooner than that.

I have also employed many of the techniques mentioned here such as shortening values, making only those items appear that are necessary (via branching), etc. Still hitting this limit and really no other way around it at this point that I know of...

I would definitely encourage you all to log the NFR yourselves too. Smiler



Production: 7.6.6 WF Server  <=>  7.6.6 WF Client  <=>  7.6.6 Dev Studio
Testing: <none>
Using MRE & BID.  Connected to MS SQL Server 2005
Output Types: HTML, Excel, PDF
Trav, css told me that they were not going to do anything else to DRILLMENUITEM , ever! ... we would like to be able to specify different TARGET= for different DRILLMENUITEMs...but they 'rejected the NFR'... can you imagine?




In Focus since 1979///7706m/5 ;wintel 2008/64;OAM security; Oracle db, ///MRE/BID
Odd...they told me that mine was a duplicate of another NFR and placed it in product division for my own tracking purposes.

In case you want it, my case # is 31012526 and is apparently a dupe of 92471003. Not sure why there's such a huge variance in case #s.



Production: 7.6.6 WF Server  <=>  7.6.6 WF Client  <=>  7.6.6 Dev Studio
Testing: <none>
Using MRE & BID.  Connected to MS SQL Server 2005
Output Types: HTML, Excel, PDF
I did open a case about this right about the time I created this post and they said:


There is a New Feature Resquest currently in programming to increase this
limit, but no tenative date has been set when this will be implemented.


dev: WF 7.6.5 w/IIS + Tomcat

prod: WF 7.6.5 w/IIS + Tomcat
.eric, have you considered calling a JavaScript function instead of a FOCEXEC in the drill-down call? With JavaScript calls only the column values are passed, not the variable names, reducing the number of characters in each drill-down.

A variation of this may work for you:

https://forums.informationbuilders.com/eve/forums/a/tpc/...1057331/m/8161030622


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
Eric,

One way of shortening the length of the URL is to exclude all the variable names and just concatenate all the variables together delimited by something like the tilde char '~' and then use GETTOK on the drill down to split them out again. Create the delimited variable string as something like &X to reduce chars used even more.

A bit of a "sledge hammer and nut" process but it does reduce the URL considerably, because the minimum length variable of 1 char will require 2 chars (i.e. &A) in the URL. By using the delimiter you effectively gain one char from each variable being passed.

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 
Francis, I thought about using javascript as I remember seeing if not yours, someome else's similar post, but I have a feeling I'd still execeed the HTML character limit.

Tony, I also thought that would be a good idea, but for now I have it working by pulling out all the parms which are just used for code descriptions and using child fex's to get that data.

Thanks for the help guys.


dev: WF 7.6.5 w/IIS + Tomcat

prod: WF 7.6.5 w/IIS + Tomcat
Wow, we must have reduced your drill-downs to five characters each by now! Smiler


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