On 20/06/2018 8:53 PM, Elardus Engelbrecht wrote:
Easy, a quick and dirty trick I sometimes do is this little change:

//SYSIN DD *,SYMBOLS=(JCLONLY,X)
  DELETE KVPO.MOST.DB2DATA.&LVL4..&PART..TRS
SET MAXCC = 0

to this one (clear out the SYSIN - at least for IDCAMS SYSIN and place it in a 
JCL comment):

//* DELETE KVPO.MOST.DB2DATA.&LVL4..&PART..TRS
//SYSIN DD *,SYMBOLS=(JCLONLY,X)
SET MAXCC = 0
Unfortunately that may not work because the symbols in SYSIN are not substituted the same way as in the regular JCL. I have been playing around with them and my conclusion is that the whole feature seems to have been badly thought out.

- Symbols in in stream data are not necessarily substituted with the same value as the same symbol in the JCL of the same step - Symbols "leak" from step to step and from PROCs into the main JCL, so if you modify or add a symbol in a PROC you can break subsequent steps in any job that calls that PROC.

If IBM had omitted some features, e.g. system symbols on the execution system and instead substituted the symbols at the same time as the symbols in the rest of the JCL, they would have lost maybe 10% of the usefulness but decreased the astonishment by 90%.

The good news is that the syntax probably allows an easy fix in a new version: a new value such as SYMBOLS=(JCLCNVT) where symbols are substituted at the same time with the same logic as the rest of the JCL.

Please IBM?

--
Andrew Rowley
Black Hill Software
+61 413 302 386

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

Reply via email to