&SYSIN_VOLUME System Variable Symbol

Use &SYSIN_VOLUME in a macro definition to obtain the volume identifier of the first volume containing the data set from which the assembler is reading the source module.

z/VM® and z/OS®
If concatenated data sets are used to provide the source module, &SYSIN_VOLUME has a value equal to the volume identifier of the first volume containing the data set that contains the macro call instruction.

The local-scope system variable symbol &SYSIN_VOLUME is assigned a read-only value each time a macro definition is called.

z/VM
If the assembler runs on the CMS component of the z/VM operating system, and the source module is being read from a Shared File System CMS file, &SYSIN_VOLUME is assigned the value “** SFS”.
If the volume on which the input data set resides is not labeled, &SYSIN_VOLUME is assigned a null character string.
Notes:
  1. If the SOURCE user exit provides the data set information then the value in &SYSIN_VOLUME is the value extracted from the Exit-Specific Information block described in the section Exit-Specific Information Block in the HLASM Programmer's Guide.
  2. The value of the type attribute of &SYSIN_VOLUME (T'&SYSIN_VOLUME) is U, unless &SYSIN_VOLUME is assigned a null character string, in which case the value of the type attribute is O.
  3. The value of the count attribute of &SYSIN_VOLUME (K'&SYSIN_VOLUME) is equal to the number of characters assigned as a value to &SYSIN_VOLUME. If &SYSIN_VOLUME is assigned a null character string, the value of the count attribute is 0. The maximum length of this system variable symbol is 6.
  4. Throughout the use of a macro definition, the value of &SYSIN_VOLUME is considered a constant.