On Thu, 23 Feb 2012 07:52:38 -0500, Bill Ashton wrote:

>I use this sort of trick often for controlling sections of JCL, For
>example, I might have a step or two that deletes and allocates files, then
>another step that processes data into the new files, and finally a step
>that prints report files from the job. Then at the top I would SET ALLOC  =
>either 1 to run or 0 to not run, SET PROCESS to 1/0, and SET REPORTS to 1/0.
>
>In the JCL I start with a do-nothing BR14, and then surround each section
>with IF &ALLOC=1 THEN......ENDIF   If &PROCESS=1 THEN.....ENDIF and If
>&REPORTS=1 THEN.....ENDIF
> 
This would appear to be disallowed by:

   *  z/OS V1R13.0 MVS JCL Reference
   * SA22-7597-15

where I read:

17.1.9 Considerations when Using the IF/THEN/ELSE/ENDIF Construct

Be aware of the following considerations when using the IF/THEN/ELSE/ENDIF 
statement construct:
   ...
   # You can specify symbolic parameters on
     IF/THEN/ELSE/ENDIF statements provided that
     they resolve to one of the supported
     relational-expression keywords listed in the
     preceding topic (that is, RC, ABEND, ...). Any
     other symbolic parameters, even if accepted by
     the system, are not intended or supported.

Would you submit to a code review any code that depends on
behavior which is "not intended or supported" by the vendor?

Which leaves a question: what about constructs that are not
documented in an earlier topic as supported, but are coded
directly, not involving symbolic parameters?

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