Могу ли я прочитать параметры размещения набора данных в zos, используя Rexx?

Я хочу создать некоторый код Rexx, который позволит мне распределять новые наборы данных в любом формате, таком как PDS, последовательный и т. Д., Читая информацию о наборе данных существующего набора данных, затем применяя эти параметры к новому распределению.

Например, когда я ввожу имя набора данных в 3.2 и нажимаю ввод, мне предоставляется эта информация:

Data Set Name . . . . : HLQ.ETE.CNTL                                

General Data                          Current Allocation               
 Management class . . : MC000101       Allocated blocks  . : 6         
 Storage class  . . . : SC002020       Allocated extents . : 1         
  Volume serial . . . : VOL007         Maximum dir. blocks : 11        
  Device type . . . . : 3390                                           
 Data class . . . . . : None                                       
  Organization  . . . : PO            Current Utilization              
  Record format . . . : FB             Used blocks . . . . : 5         
  Record length . . . : 80             Used extents  . . . : 1         
  Block size  . . . . : 27920          Used dir. blocks  . : 6         
  1st extent blocks . : 6              Number of members . : 35        
  Secondary blocks  . : 2                                              
  Data set name type  : PDS           Dates                            
                                       Creation date . . . : 2014/04/02
                                       Referenced date . . : 2014/07/01
                                       Expiration date . . : ***None*** 

Так что в моем Rexx я хотел бы сделать две вещи:

  1. Прочитайте существующие параметры размещения наборов данных, как показано выше

  2. Выделите новый набор данных, используя прочитанные параметры

Я бы запустил этот Rexx как часть пакетного задания JCL.

Я был бы признателен за любую помощь в этом, поскольку я исследовал в течение нескольких дней и не могу найти способ сделать это.

3 ответа

Решение

При работе в ISPF SPF-команду DSINFO проще использовать, так как она устанавливает переменные для вас.

Если работает под TSO, ответ Кенни ListDsi является правильным.

Для ISPF DSINFO вы должны сделать (где переменная содержит имя dsname):

Address ispexec 'DSINFO DATASET('dsname')'

say 'dsn=' dsname
say 'volume=' ZDSVOL
say 'recfm=' ZDSRF

.....

Вам нужно взглянуть на функцию TSO LISTDSI. Это даст вам все, что вам нужно. http://pic.dhe.ibm.com/infocenter/zos/v1r11/index.jsp?topic=/com.ibm.zos.r11.ikjb800/listdsi.htm

Однако, в зависимости от того, что вы делаете, я бы также указал на параметр DD LIKE (для наборов данных, управляемых SMS) или параметр DCB= для наборов данных, не управляемых SMS. См. http://pic.dhe.ibm.com/infocenter/zos/v1r11/topic/com.ibm.zos.r11.ieab600/xddlike.htm и http://pic.dhe.ibm.com/infocenter/zos/v1r11/topic/com.ibm.zos.r11.ieab600/iea2b690169.htm для документации.

Вместо того, чтобы писать свой собственный REXX, чтобы пройти и сделать это, почему бы не воспользоваться встроенными инструментами? Тем более, что вы говорите, что все равно будете запускать это в пакетном режиме?

Другие вопросы по тегам