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

Reply via email to