On 04/03/2013 07:29 AM, Paul Gilmartin wrote:
On Wed, 3 Apr 2013 06:47:01 -0500, John Gilmore wrote:

Peter's most recent response:

<begin extract>
The 100 character restriction is applied to the following case, only:
environment is APF; and jobstep program is AC(1); and the program is
not bound with LONGPARM.
</end extract>

is admirable, unambiguous, and, I think, definitive.

It leaves a couple holes.  One question in the thread concerned:

o Jobstep program is AC(1), from an authorized library, so
   the environment was authorized.

o Jobstep program ATTACHEs a subprogram AC(0), from an
   authorized library, bound with NOLONGPARM, passing an
   argument longer than 100 bytes.

o Is the 100 character restriction applied?  My conjecture is, "No,":
   - There's no such restriction under z/OS 1.13 and I doubt that
     IBM intends to impose a new restriction in 2.1.
   - The passed argument may not be structured with a halfword
     count field, so ATTACH has no way of knowing its length.  I
     surmise the restriction is applied only by the initiator when
     ATTACHing the jobstep program.  Is this right?
I thought it pretty clear that in the context in Peter's response "the program is not bound" could only be reasonably interpreted as "the [jobstep] program is not bound". In other words, only the attributes of the job step program are at issue. An authorized program that can be invoked from a job step should obviously not be bound with LONGPARM if there is any way that could cause it to pass control while authorized to some internally invoked program with data (passed by standard parameter linkage or any other means) that it can't handle safely. The 100 character restriction has never applied except to the job step program directly invoked by JCL.

Or:

o JCL specifies "EXEC PGM=jobstep program,PARMDD=ddn"

o Jobstep program is AC=1, from an authorized library, no
   LONGPARM attribute.

o The PARM resolved from ddn is no longer than 100 bytes.

o Is this permissible?  I would actually hope not:
   - there's a lower potential astonishment factor if the
     restriction applies to any such use of PARMDD, not
     contingent on how resolution of symbols in an instream
     ddn may affect the resolved PARM length.
   - The coding in the initiator is likely simpler for the more
     static test.

-- gil



My original understanding was that the LONGPARM binder attribute was required in order to access the new function (which seemed to mean, use of PARMDD), but the references to this as a 100-character restriction have gotten me slightly confused as well. The issue obviously is whether the 100-character restriction is applied to the syntax used, or to the actual parameter value supplied. Is the 100-character restriction implemented as a restriction on use of PARMDD, because it might be used to supply a long parameter; or can both syntactical forms be used interchangeably in all cases as long as the 100-character limit is not exceeded?

If the initial statement of the feature is accurate, then the capability controlled by LONGPARM really should be described as a "PARMDD restriction", not as in recent posts as a "100-character restriction", because there are reasons one might want to use PARMDD syntax for passing shorter parameters..

--
Joel C. Ewing,    Bentonville, AR       [email protected] 

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to