I like most have had to deal with the strange limit of 100 characters on the
PARM statement.  I would support raising the limit in any way that would not
break the old programs still running.  That is the passing of the PARM value
should be done in the same way as today. This way, current programs would
not need to even be aware of the change.  (Yes some person could change the
JCL to pass more than 100 characters to a program that would not handle it,
but then that person needs to change the program first. IE 255 as a max. 

Now as for breaking the 8 bit limit, I would say a new parameter in the JCL
that can not be used if PARM is. The only thing with the keyword name is;
one should look down the line when the current PARM is not used / supported,
if ever, and only the new keyword is in use.  Use XPARM, PARMX ... whatever
as the keyword; but the way the parameter is passed would seem to be the
important thing.  

RR1 => full word length followed by value, program would have to know that
the new keyword was used. 

RR1 => 2 full words.  One being the length of the value, the other pointing
to the value.  So the address of the value is not necessary in storage right
next to the length of the value.  

Use R0 to contain the length and R1 point to the 8 bits of zeros followed by
the value, so an old program thinks the length is zero and no PARM was
passed.  

Use a macro to get the length of the PARM and its location, returned in R0
and R1.  Let MVS deal with the where the PARM and address are hidden in some
control block.  R1 on entry would look as if no PARM was passed.  

Or any of a number of other ways to get a long parameter list to a program. 

The second thing IBM should provide is a macro that would convert the new
PARM format, back to the old one, when the length is 100 characters or less.
This way the JCL could be changed to the new way and with a small change,
insert MACRO x in the program, all will be well. 

 

Kenneth Leidner
Imagination is more important than knowledge.

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf
Of Paul Gilmartin
Sent: Friday, May 13, 2005 11:07 AM
To: [email protected]
Subject: Re: PARM=

In a recent note, R.S. said:

> Date:         Fri, 13 May 2005 14:49:53 +0200
> 
> 256 bytes ?
> IMHO it is not worth to change from 100 to 256. Many "should be enough"
> limits occured much too short.
> BTW: I know *existing* OS/390 application using more than 256 bytes in
> PARM. It is c89 compiler. I vaguely recollect, it creates "pseudo job"
> for compilation, this job looks like regular JCL, but all the compiler
> options are in PARM field (many LINES of PARM) and that's why it is
> circumvented in some way. I don't remember details, but the need is
obvious.
> 
As you note, it's a "pseudo job", so no circumvention is necessary.
The compiler is invoked by an ATTACH macro; the JCL is never executed.

> Personally I vote for
> //STEP   EXEC ... PARMX=ddname
> //DDNAME DD *
> put here as much as you want (i.e. 64k)
> /*
> 
> Or (good for PROCLIB)
> PARMX1='       ',
> PARMX2='        '
> etc.
> 
Then what?  "EXEC whatever,PARM=(&PARMX1,&PARMX2)"?  The constructed
PARM string is still subject to the 100 character limit.

Thinking on the idea of a Binder option to declare the ability
of a program to accept a long PARM, there are a couple alternatives:

o A PARMLIB option, allowing each installation to select what
  the JCL and TSO CALL PARM string limit should be.  Any site
  could specify, 100, 255, 65535, or even a value less than 100
  if that suited them.

o A RACF privilege class identifying the set of users (none, some,
  or all) permitted to use long PARM strings in JCL or in TSO CALL.

Otherwise, I wonder how the PARM is represented while a job is in
the input queue?  Does it reside in a control block?  Is the
structure of that block documented as a programming interface?
Is there a hazard of other breakage if it changes?

-- gil

----------------------------------------------------------------------
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