使用outfil sort实用程序可以生成多少输出文件?

时间:2015-01-28 19:27:55

标签: mainframe jcl syncsort dfsort

在一个简单的JCL脚本中,我尝试使用SORT根据某些条件生成一些类似的数据集。这样,我可以在一个JCL中生成多少个输出文件?

1 个答案:

答案 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的发明者,设计师和开发人员多年,许多年(现已退休)。