Ссылаясь на набор данных, выделенный в REXX
У нас есть программа REXX, которая создает набор данных LOG.DYYMMDD.THHMMSS.OUT в DDNAME LOGNM.
Мы вызываем программу REXX из JCL, используя утилиту IKJEFT1B.
Как использовать этот набор данных для дальнейшей обработки в JCL. Я имею в виду, как я называю это в JCL, так как имя набора данных создается динамически.
2 ответа
Вы создаете набор данных в программе Rexx, используя команду TSO Allocate или TSO Copy или аналогичные команды TSO???
- Если у вас возникли проблемы, вы не сможете ссылаться на набор данных безопасным образом, выполнив следующие действия (существуют методы, которые будут работать в некоторых версиях JES). Я бы посоветовал вам перекодировать rexx и выделить набор данных в JCL.
//LOGNM DD DSN=LOG.DYYMMDD.THHMMSS.OUT,DISP=(NEW,CATLG), ....
- Если вы уже распределили набор данных с помощью JCL, то есть с помощью оператора DD, например
//LOGNM DD DSN=LOG.DYYMMDD.THHMMSS.OUT,DISP=(NEW,CATLG), ....
или же
//LOGNM DD DSN=LOG.DYYMMDD.THHMMSS.OUT,DISP=OLD
у вас не должно возникнуть проблем с использованием набора данных в следующих шагах.
- Если вы выделяете и удаляете набор данных, используя JCL, т.е. с помощью оператора DD, например
//LOGNM DD DSN=LOG.DYYMMDD.THHMMSS.OUT,DISP=(NEW,DELETE), ....
затем измените УДАЛИТЬ на CATLG (или передать)
Как только ваш набор данных создан, вы можете ссылаться на него в JCL точно так же, как и на любой другой набор данных. Неважно, что он был создан динамически, поскольку расположение набора данных включается при его создании. Он обрабатывается точно так же, как если бы он был создан с помощью оператора JCL DD. Я не знаю, что есть даже указание на то, что он был создан динамически, как только он был создан. Он ничем не отличается от любого другого набора данных PS.
Если каталогизировано:
//SOMENAME DD DISP=SHR,DSN=LOG.DYYMMDD.THHMMSS.OUT
Если нет в каталоге, каталогизируйте его, а затем смотрите выше.
Если удалено при закрытии, не удаляйте его, а каталогизируйте, а затем смотрите выше.
Примечание: я предположил, что вы создаете свой набор данных в одной JOB и обращаетесь к нему в других. Если вы получаете доступ к нему в той же работе, обратите внимание на ответ Брюса Мартина. Ваш набор данных будет "скрыт" от обычной оценки обработки размещения JOB, когда он будет отправлен, потому что набор данных создается только после этой точки, когда JOB фактически выполняется (если он становится таким же честным, как и работающий, он может потерпеть неудачу немедленно с "ОШИБКОЙ JCL", даже не приближаясь к бегу).
Лично я сделал бы это в отдельных РАБОТАХ, но некоторые люди думают, что они держат вещи простыми, когда они не.