Doing that would make the JCL poor (or apparently contradictory) documentation. So I would hope the disagreement would be flagged somehow.
Cheers, Martin Martin Packer, zChampion, Principal Systems Investigator, Worldwide Banking Center of Excellence, IBM +44-7802-245-584 email: [email protected] Twitter / Facebook IDs: MartinPacker Blog: https://www.ibm.com/developerworks/mydeveloperworks/blogs/MartinPacker From: Paul Gilmartin <[email protected]> To: [email protected] Date: 07/11/2013 18:23 Subject: Re: JCL (was: Re: Aging Sysprogs = Aging Farmers) Sent by: IBM Mainframe Discussion List <[email protected]> On Thu, 7 Nov 2013 09:41:40 -0800, Richard Pinion wrote: >And to throw another twist to this thread, some people say the LRECL and RECFM should not be coded in the JCL. That way when a change is made to the program source, that affects LRECL and/or RECFM, the corresponding JCL doesn't have to be updated. What are some opinions about that methodology? > If by changing the program source you mean coding LRECL and RECFM in the DCB, the JCL needn't be changed. Values coded in the DCB quietly override any coded in JCL. Shouldn't a warning of such disagreement be issued? I believe so, but via what channel? >-----Original Message----- >From: Ze'ev Atlas >Sent: Thu, Nov 7, 2013 8:39 am > >Let me add another complains about JCL, it allows changing source code meaning >n run time and sometimes this is hairy: >//XXX DD DSN=.... >/ DCB=(LRECL=80,&R >/... >The above is legit although I would fire anybody who doed it. R could be >esolved to: >/ EXEC YYY,R='BLKSIZE=8000)' >or it could be resolved to an early example of cose injection of your choice > I applaud languages such as Rexx in which lexical metacharacters are never recognized in text introduced by variable substitution. Rexx provides a workaround in the ever-so-controversial INTERPRET instruction. My first mentor in JCL had a habit disabling options by defaulting a PROC parameter to ' ' and enabling them by substituting ''. E.g.: FOO PROC C=' ' (set C='' to bypass step!) S EXEC PGM=WOMBAT&C,COND=(0,LE) PEND (Now you know how I got to be the way I am.) -- gil ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN Unless stated otherwise above: IBM United Kingdom Limited - Registered in England and Wales with number 741598. Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
