我想创建一些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中,我想做两件事:
读取上面显示的现有数据集分配参数
使用读入参数
我会将此Rexx作为JCL批处理作业的一部分运行。
我很感激对此的任何帮助,因为我已经研究了好几天,但却看不到这样做的方法。
答案 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.htm和http://pic.dhe.ibm.com/infocenter/zos/v1r11/topic/com.ibm.zos.r11.ieab600/iea2b690169.htm#dcbdsn。
为什么不利用内置工具,而不是编写自己的REXX来执行此操作?特别是因为你说你还要批量运行它?