JCL Reference (I know, not the same thing, but a definite source of clues) says
Ampersands are used in JCL to indicate the beginning of a symbolic parameter (see “Using system symbols and JCL symbols” on page 38). If a parameter contains an ampersand and you do not want the system to interpret the ampersand as a symbolic parameter, code the ampersand as two consecutive ampersands. So in assembler, four ampersands! If I had to guess on your DALMEMBR question I would guess 8 is the limit both before and after substitution (of course, not counting the assembler-required doubling of ampersands). Pretty easy to experiment, no? Charles -----Original Message----- From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf Of Paul Gilmartin Sent: Tuesday, February 20, 2018 11:56 AM To: [email protected] Subject: Avoiding substitution in TUs? In: z/OS IBM MVS Programming: Authorized Assembler Services Guide Version 2 Release 3 SA23-1371-30 Chapter 26. Requesting dynamic allocation functions SVC 99 parameter list verb codes and text units, by function Using system symbols in text units I see: You can use system symbols to represent data set names, member names, and path names in text units. You can specify system symbols in the following text units Verb code 01 - Dsname Allocation Text Units DALDSNAM DALMEMBR DALPATH How can I specify a pathname that is literally "/u/myself/&DATE", avoiding system symbol substitution? Do I double the "&"? Does this merit a RCF, or is it clarified elsewhere? May the value of DALMEMBR before substitution be greater than 8 provided that substitution reduces it to 8 or fewer? ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
