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/