在一个简单的JCL脚本中,我尝试使用SORT根据某些条件生成一些类似的数据集。这样,我可以在一个JCL中生成多少个输出文件?
答案 0 :(得分:2)
对于任何想要尝试它的人来说,这里是一个DFSORT步骤,它将生成1629个DD语句(SYSOUT = *)和1629个OUTFIL语句。
运行步骤。
采取SORT步骤,只有OPTION COPY并使用ISPF编辑器,将SYSOUTS中的数据集复制到JCL部分,并在OPTION COPY后复制OUTFILS中的数据集。
提交你的工作。如果它以n个IEF649I EXCESSIVE NUMBER OF DD STATEMENTS
失败,则删除最后的n个数字DD语句和最后的n个数字OUTFIL语句。如果它有效,您可以尝试更多数量的DD语句(更改1629),特别是如果您的TIOT大小大于32K。使用64K TIOT,你可能会得到这个数字的两倍多。
//LOTSOFOF EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//OUTFILS DD DISP=(,CATLG),UNIT=SYSDA,SPACE=(TRK,2),
// DSN=your dataset name number 1 here
//SYSOUTS DD DISP=(,CATLG),UNIT=SYSDA,SPACE=(TRK,2),
// DSN=your dataset name number 2 here
//SYSIN DD *
OPTION COPY
OUTFIL REPEAT=1629,
FNAMES=OUTFILS,
BUILD=(C' OUTFIL FNAMES=F',
SEQNUM,4,ZD,
80X)
OUTFIL REPEAT=1629,
FNAMES=SYSOUTS,
BUILD=(C'//F',
SEQNUM,4,ZD,
C' DD SYSOUT=*',
80X)
//SORTIN DD *
ONE LINE NEEDED, CONTENT NOT IMPORTANT
有一个XTIOT(扩展TIOT),但这不适用于QSAM,它具有类似于DB2的专用用途。
嗯,答案是众所周知的。
您可以拥有的OUTFIL语句数量实际上有两个限制。
首先是您的网站在单个作业步骤中允许的DDnames数量。问你的老年人或Sysprog TIOT有多大。如果它是32K,你将有大约1,600个可用。如果64K,两倍。
第二个限制是您在步骤中拥有的SORT控制卡的数量及其复杂程度。你仍然可以获得很多。
无论哪种方式,我怀疑你的OUTFIL语句可以轻松完成任务。
你想要几个?
对于怀疑者,请尝试以下链接:https://groups.google.com/forum/#!msg/bit.listserv.ibm-main/km3VNDp0SQQ/Zmh161dcSKcJ
Kolusu的相关引言是:
DFSORT was able to handle writing up to 999 members into a PDSE
simultaneously. Beyond that I get IEF649I EXCESSIVE NUMBER OF DD
STATEMENTS
表明DFSORT在这种情况下仍然很满意,并且z / OS不是。 Kolusu是DFSORT的开发者。
如果有更多的否认,我可以找到更多的报价,包括Frank Yaeger,现代DFSORT的发明者,设计师和开发人员多年,许多年(现已退休)。