Can't you just FORMLIST them, then list?

Aka:

CLIENTIDS = "1":@AM:"2"
FORMLIST CLIENTIDS TO 0
....



-----Original Message-----
From: owner-u2-us...@listserver.u2ug.org
[mailto:owner-u2-us...@listserver.u2ug.org] On Behalf Of Bill Haskett
Sent: Thursday, January 29, 2009 2:44 PM
To: U2 Mail List
Subject: [U2] UniData LIMITs

   We have a report writer that allows users to select the client they
want to
   print any report for.  This subroutine builds a list of clients
available to
   any particular user and uses this list to either compare against the
clients
   entered or of all clients are selected then the entire list is used.
When
   this list is placed in an ECL query and executed, e.g....
   SELECT CUSTOMERS WITH CLIENTNO = "1""2""3""4".....
   ...all has been fine for years.  We picked up a new customer who has
over
   300 clients.  When a user tries to run a report for all clients
accessible
   by them the query aborts with...
   WITH condition stack overflow
   A quick look at "LIMIT" shows:
   :LIMIT
   U_MAXFNAME:  File name limit =                       198.
   U_NAMESZ:    Record id(key) size =                   126.
   U_SELEMAX:   Number of select list =                 10.
   U_MAXDATA:   Number of DATA statement =              500.
   U_HEADSZ:    HEADER/FOOTER length =                  2120.
   U_MAXHASHTYPES:     Number of hash functions =       3.
   U_MAXSORT:   Number of sort fields(BY...) in LIST =  20.
   U_MAXWITH:   WITH stack size =                       256.
   U_MAXWHEN:   WHEN stack size =                       60.
   U_MAXCAL:    Number of SUM+AVG+PCT+CAL in LIST =     54.
   U_MAXBREAK:  Number of BREAK.ON+BREAK.SUP in LIST =  15.
   U_MAXLIST:   Number of attribute names in LIST =     999.
   U_LINESZ:    Page width in printing =                272.
   U_PARASIZE:  Paragraph name and its parameter size = 256.
   U_LPCMD:     System spooler name =                   NT Spooler.
   U_MAXPROMPT: Number of prompts allowed in paragraph =      60.
   U_FSIZE:     Dictionary field name size =            31.
   U_MAXVALUE:  Number of values WHEN can handle =      10240.
   U_MAXBYEXPVAL:  Number of values BY.EXP can handle =      10240.
   U_SENTLEN:   Maximum sentence length =               9247.
   U_PROCBUFSZ:  Proc buffer size =                     8191.
   U_NIDES: Maximum number of virtual fields in query=  256
   ...which indicates there's a limit of data allowed in the "WITH"
clause(s)
   of  256.   The UniData documentation says these parameters are
__NOT__
   configurable.   How  in  the  world  are  other people overcoming
this
   limitation?  Doesn't anyone want data for more than 256 somethings?
Is it
   possible  for  me to overcome this limitation without going into
1,000
   programs to split large numbers of ECL queries?  Or am I forced to
count the
   "somethings" available to submit to any query and abort if its more
than
   250?  Am I forced to split up A/P check runs (and many other
processes) into
   two or more runs to accommodate this limitation?
   Any experience, or thoughts, on this will be appreciated.
   Bill
-------
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
-------
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/

Reply via email to