On Sat, 4 Dec 2021 15:22:29 +0000, Colin Paice wrote: > >I would be happy with some better doc ( I'll raise another RCF), explaining >what happens. > No.
>The buglet that needs fixing is > Yes. >// set A='&USER' >// EXEC PGM,PARM='Z &A Y' >the parameter passed to the program is 'Z' I would expect either 'Z Y' >or 'Z &USER Y ' > According to the doc: https://www.ibm.com/docs/en/zos/2.5.0?topic=jcl-coding-symbols-in-apostrophes> o Symbols are not substituted on the SET statement, so A is set to "&USER", not substituted. o Symbols are substituted on EXEC PARM, so yes, "Z &USER Y". Is it clear that statements are not rescanned for further substitutions? I know IBM's position is, "We don't document what we do not do." But this is such a prevalent expectation that it might deserve an exception. I believe that ampersands introduced by substitution are not treated as special characters; apostrophes and blanks introduced by substitution are treated as special characters Do *not* document it and call it a "feature". When a customer whines, "It no longer works the way it used to!" IBM's courageous riposte should be, "we fixed a defect: it now works as it has always been documented. You shouldn't have relied on its working contrary to specification." Still, I'd prefer the specification and behavior be simplified. >real example > >//IHS EXEC PGM=BPXBATCH,REGION=0M,PARMDD=PARMDD >//PARMDD DD *,SYMBOLS=EXECSYS >SH /u/mqweb3/conf/ccc.sh aa &A2 x &AV &T1. y &AV. z >/* >//STDOUT DD SYSOUT=H >//STDERR DD SYSOUT=H > >prints out the parameters >aa -- gil ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
