我可以使用Rexx读取zos中数据集的分配参数吗?

时间:2014-07-02 13:39:41

标签: dataset zos rexx tso ispf

我想创建一些Rexx代码,允许我以任何格式分配新的数据集,例如PDS,Sequential等。通过读取现有数据集的数据集信息,然后将这些参数应用于新的分配

例如,当我在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. 使用读入参数

  3. 分配新数据集

    我会将此Rexx作为JCL批处理作业的一部分运行。

    我很感激对此的任何帮助,因为我已经研究了好几天,但却看不到这样做的方法。

3 个答案:

答案 0 :(得分:3)

如果在 ISPF 下运行,则SPF命令DSINFO更易于使用,因为它为您设置变量。

如果在TSO下运行,Kenny对ListDsi的回答是正确的。

对于ISPF DSINFO,您可以这样做(变量包含dsname):

Address ispexec 'DSINFO DATASET('dsname')'

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

.....

答案 1 :(得分:2)

您需要查看TSO功能LISTDSI。这将为您提供所需的一切。 http://pic.dhe.ibm.com/infocenter/zos/v1r11/index.jsp?topic=/com.ibm.zos.r11.ikjb800/listdsi.htm

答案 2 :(得分:2)

但是,根据您正在做的事情,我还会针对非SMS管理数据集指向DD LIKE参数(对于SMS管理数据集)或DCB =选项。有关文档,请参阅http://pic.dhe.ibm.com/infocenter/zos/v1r11/topic/com.ibm.zos.r11.ieab600/xddlike.htmhttp://pic.dhe.ibm.com/infocenter/zos/v1r11/topic/com.ibm.zos.r11.ieab600/iea2b690169.htm#dcbdsn

为什么不利用内置工具,而不是编写自己的REXX来执行此操作?特别是因为你说你还要批量运行它?