Так же, как начало символьного параметра отмечено амперсандом (&). Может быть прекращено
пространство или период. Когда заканчивается точкой, период не является частью имени (так же, как открытие
не амперсанд).
Когда вся строка заменяется символьным параметром, она просто кодируется как:
// SET MYPROG=FRED
//RUNIT EXEC PGM=&MYPROG
Здесь &MYPROG
заменяется значением FRED
. Нет проблем с выяснением, где символическое имя начиналось или заканчивалось.
Теперь предположим, что вы хотите запустить 3 программы: FRED1
, FRED2
и FRED3
. Вы можете сделать что-то вроде:
//RUN3 EXEC PGM=&MYPROG.3
Здесь запускается программа FRED3
. Символ MYPROG
завершается точкой и равняется FRED
, к этому
Остальная часть текста добавляется с получением FRED3
.
То же самое относится и к использованию символических параметров в именах наборов данных. Первый период необходим для прекращения
имя символа, следующий период является частью самого имени набора данных. Например, если символ USER
оценивается как
ABC123
, затем
//MYDSN DD DSN=&USER..MYDATA
оценивается как ABC123.MYDATA
в качестве имени набора данных. Аналогичным образом,
//MYDSN DD DSN=&USER.X.MYDATA
оценивается как: ABC123X.MYDATA
Обратите внимание, что результирующий DSN имеет один период, потому что первый
завершено символическое имя и не является частью результата.