On Wed, 4 Jun 2008 13:25:53 -0500, McKown, John wrote:
>
>                                  ... I would prefer that JCL be VB.
>There would be no sequence numbering at all.
>
Bravo!

>2b) Embedded comments require a /* to start and */ to end. Comments may
>be embedded within comments. This means that every  /* must have an
>corresponding */. This is to allow commenting-out of information which
>itself contains comments. I hope I'm making sense. /* this is /* an
>embedded */ comment */.
>
Does this allow multi-line comments?  Multi-line comments
can be a debugging nightmare.

>4) New subparameter on the EXEC. LPARM= for a long parm which can be
>more than 100 characters. All this does is remove the JCL restriction.
>It would be used by a user who wants to pass more than 100 characters to
>a program which he knows can handle this situation. The only reason to
>have LPARM= instead of removing the restriction on PARM= is due to the
>possibility that the program cannot handle > 100 characters and the user
>wants to be told, via a JCL error, if he exceeds the 100 character
>limit.
>
Does long PARM conflict with existing control block structures?

>6) A new parameter on the DD * and/or DD DATA, SYMBOLS=YES. This tells
>JES2 to examine the instream data, looking for symbols which can be
>resolved, such as &SYSUID, &HOME, a static system symbol, or any other
>symbol set with the // SET statement, and replace the symbol with its
>value. If there is no value for that symbol, leave the symbol alone.
>
Allow instream data sets in PROCs.  A preprocessor could handle
them by converting them to overrides.

>7) Allow UNIX paths in the JCLLIB statement so that I can keep my PROCs
>in a UNIX subdirectory. No, there is no reason for this.
>
JCLLIB should have the syntax of a DD statement, like STEPLIB.
This would allow both UNIX paths and uncatalogued data sets.
(Yeah, I know, the initiator handles STEPLIB; the converter
would need to handle JCLLIB.)

>Some of the above, I could actually by writing a JCL pre-processor to
>take the Enhanced JCL and "compile" it to standard JCL. The biggest
>problem that I might be with long PARM statements that could not be
>broken at a comma.
>
A preprocessor could rely on the fact that somewhere after
column 59 (or so?), there must be a breakable point which
does not fall within:
  o A symbol name
  o A doubled apostrophe
  o A doubled ampersand
break at that point and pad through column 71 with:

    //  SET  N=''

                      &N  from column 69
                     &N.  from column 68
                    &N&N  from column 67
                   &N&N.  from column 66
                  &N.&N.  from column 65
                 &N&N&N.  from column 64

etc.  '+' in column 72 and continue in column 16 of the
next line.  (No, I do not consider the availability of
this cumbersome circumvention to justify the restrictions
in the current JCL processor.)

Reference to undefined symbols should be treated as JCL
error.

Abolish the "SYSIN DD * GENERATED STATEMENT".  I never
use the construct deliberately.  It happens only when
I've made a typo; omitted a '/' or whatever, in which
case I'd much prefer it to be treated as JCL Error.

Use of any construct documented as "unpredictable" in
the JCL RM should be treated as JCL error.

If the label(s) on the ENDIF (and ELSE) do not match
that on the IF, the construct should be treated as a JCL
error in order to assist debugging.

(The current JES2 behavior with long lines is that JCL
statements are quietly truncated after column 80, then
treated as card images.  Instream data sets are processed
to their full input length.  The jobstep program may
get I/O errors if it assumes F-80.)

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