Just off the cuff, I am thinking that a new JCL keyword, like PARMX= should be used to declare that the program really understands the longer parameter string. The classic PARM= should continue to accept up to 100 characters. The new PARMX= should accept more than 256 characters.
Thus, an overt change to the JCL is required to use the new longer parameter thing, which should help to protect legacy programs from the potential impact of longer parameter strings. If the program was originally designed with enough forethought to handle the length field as an ordinary half word value, then changing PARM= to PARMX= is simple and clean. OTOH, if the program cannot tolerate more than 100 characters, then the user can continue to specify PARM= to enforce the limit at job submit time. I don't know what you'll want to do with respect to the TSO commands, CALL, TEST, TESTAUTH, which allow a 100 character parameter string. Perhaps a new keyword PARMX() for them? Jeffrey D. Smith Farsight Systems Corporation 24 BURLINGTON DR LONGMONT, CO 80501 303-774-9381 http://www.farsight-systems.com =============================================== -----Original Message----- From: "Peter Relson" <[EMAIL PROTECTED]> Sent: 5/12/2005 3:36 PM To: "IBM-MAIN@BAMA.UA.EDU" <IBM-MAIN@BAMA.UA.EDU> Subject: PARM= We all know and love (well, at least know) that the limitation in JCL for PARM= is 100 total characters. We are thinking (again) about expanding this, and would like to hear your thoughts. Some of the possibilities include - just extending, in JCL processing, so that the target routine gets what it does today (halfword length followed by string, only the string would potentially be >100). This is obviously the nicest from the target routine's perspective if it can handle the extended length - a service that the target routine can call to "give me my parameters". Obviously the target routine would have to change in order to utilize that service, and likely would have to dual-path for systems that do not have the service One choice that proved not feasible was using a second parameter. Various utilities already take advantage of the "known" structure and pass additional data as additional parameters. Some of the potential problems an existing target routine might have with an extended length parameter are - It provided an area via DS of 100 characters, "knowing" that the limit was 100, and then did an EX (execute) of an MVC to move the parameter string, using the length in the halfword. Unfortunately, if the length is (for example), 256, this would overlay the next 156 bytes - It did some operation (MVC, TRT, whatever) that is limited to 256 characters which works fine when the limit is 100, but if the routine was passed 257 characters of data, it might process that as 257 mod 256 characters in some ways. What do you think? Peter Relson z/OS Core Technology Design =============================================== ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html