I think that would "break" many programs. Many standard utilities, compilers, etc. expect to invoked from either JCL where there is only one parm or dynamically called with one or more parms. Off the top of my head I can't remember for format of the second parm other than it is used to dynamically change the standard DDNAMEs to user specified. This mean that if you accidently executed one of those programs with PARMX='....' it would get all confused.
I still vote for a simple PARMX='long-string' where the GPR1 -> fullword (w/ high bit set to 1) -> 2-byte-length followed by a long string. I originally said that the max length could be 32k-1 or 64k-1, but only because that's was a convenient max for a 2 byte length field. However, a max size even as small as 1024 to 4096 would very likely satisfy well over 99% of anyone's true need to pass a long parm. I find it difficult to envision JCL with a parm string that was many thousands of characters long (that's a lot of continuations). Besides there are very likely other limits in the converter/interpreter, text units, JES, etc. that would make massively long parms difficult to implement. If even longer parms are needed, the various current methods to pass longer parms by dynamically calling the program could still be used. I think that my proposal seems to be the simplest (KISS), seems likely to break fewer things, and the very important to IBM, cheaper to design, implement, and test while satisfying many customer's long standing desire to have a much long parm field. Don Williams -----Original Message----- From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On Behalf Of John P. Baker Sent: Thursday, October 29, 2009 5:29 PM To: IBM-MAIN@bama.ua.edu Subject: An Alternative Modest PARM Proposal All, The proposal previously set forth is interesting, but I would like to put forward an alternative proposal. For a short PARM= value (compatibility mode), R1 -> fullword address of PARM= info, consisting of a 2-byte length prefix (value 0..100) followed by a string buffer not exceeding 100 bytes. For a long PARM= value, R1 -> fullword address of PARM= info, consisting of a 4-byte length prefix (negated (high-order bit = B'1'), value 101..installation-defined-maximum), followed by a fullword address of a string buffer not exceeding installation-defined-maximum bytes, followed by a fullword ALET identifying the dataspace wherein the string buffer is located. FWIW, z/VSE currently allows a maximum PARM= length of 300 bytes, coded in up to three (3) PARM=value specifications on an EXEC statement, with the values being concatenated by the JCL processor. John P. Baker ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html