On Wed, 18 Apr 2012 12:25:06 -0500, Joel C. Ewing wrote:
>
>So does IBM change the docs to agree with the implementation (the
>cheaper solution), or do they change the code to not conflict with the
>docs (which may break existing usage)?  In any event, the existing JCL
>documentation should not be incomplete, confusing, and inconsistent with
>the implementation.  There is a lot to be said for more formal syntax
>and semantic descriptions.
> 
If they changed the code to issue a warning rather than an error
on the use of a "not intended or supported keyword" it would
break little existing usage.  Except in shops that have a coding
standard prohibiting JCL warnings.  But any shop so fastidious
would be expected also to shun use of unsupported constructs
and welcome the warning.  The worst case might involve a user
exit to fail jobs with JCL warnings.

But, yes, I'd favor changing the docs to agree with the implementation.
As you noted, the behavior of the unsupported constructs is largely
intuitive.  A conspicuous exception is:

    //NAME JOB
    //  IF FALSE THEN
    //STEP1 EXEC PGM=IEFBR14
    //STEP2 EXEC PGM=IEFBR14
    //  ENDIF

... STEP1 executes; STEP2 does not execute.  How could
they design it that way?  And why, given that the JCL RM
prohibits IF before the first EXEC statement, don't they
report a JCL error here?  Of course, by its specification,
COND=(...) on the EXEC statement can never suppress
execution of the first job step.  So, in a false economy,
processing of COND may have been bypassed for the first
step.  Then processing of IF might have been placed in
the same logic branch.  Ugh!


>...  Good Lord, who invented this syntax?  So
>in the context of an "IF" statement relational expression, "=" is both a
>relational operator and also a lexical part of such key words as the
>above.  A rational person familiar with practically any other
>programming language (and with other JCL relational expressions) would
>intuitively expect given "ABENDCC=U001" as valid, for "ABENDCC = U001",
>"ABENDCC EQ U001", and "ABENDCC NE U001" to all be legal syntax, which
>they apparently are not.  It is a confusing and unnatural syntactic act
>to permit the same special symbol to serve as both an operator and as
>part of a keyword!


I hate JCL!

-- gil

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN

Reply via email to