JCL ICEMAN需要多少个排序文件?

时间:2014-01-06 17:31:29

标签: jcl dfsort

我正在使用JCL,并且有一个所谓的 ICEMAN ,在使用IBM SORT实用程序DFSORT时会调用它。 DFSORT可用于SORT,COPY或MERGE文件等。在下面的示例中,输出来自SORT。我的问题是需要多少排序(// SORTWK01 DD UNIT = SYSDA,SPACE =(CYL,30))文件。当我在JCL看到他们时,他们似乎总是在数量上变化。有没有一个公式来计算需要多少SORTWKnns的大小?

JCL代码:

//STEP5    EXEC PGM=ICEMAN,COND=(4,LT)                 
//SYSOUT    DD  SYSOUT=1                               
//SYSIN     DD  DSN=CDP.PARMLIB(cardnumberhere),DISP=SHR     
//SORTIN    DD  DSN=filename,DISP=SHR            
//SORTOUT   DD  DSN=filename,DISP=(OLD,KEEP),  
//          DCB=(LRECL=5000,RECFM=FB),                 
//          SPACE=(CYL,30)                             
//SORTWK01  DD  UNIT=SYSDA,SPACE=(CYL,30)              
//SORTWK02  DD  UNIT=SYSDA,SPACE=(CYL,30)              
//SORTWK03  DD  UNIT=SYSDA,SPACE=(CYL,30)              
//SORTWK04  DD  UNIT=SYSDA,SPACE=(CYL,30)              

2 个答案:

答案 0 :(得分:5)

将JCL从一个作业流复制到下一个作业流是常见的,然后是下一个,下一个,导致复制淡入淡出。

根据documentation ...

  

// SORTWKdd DD

     

定义中间存储数据集。通常需要进行分类   应用程序除非请求动态分配。将不会   用于复制或合并应用程序。

通过Dynamic allocation选项请求

DYNALLOC。有些商店将此设置作为默认设置。

如果需要,您可以manually calculate所需的工作空间。通常,输入文件大小的1.5到2倍就足够了。始终为效率分配多于1个SORTWKdd DD语句。避免分配大量的SORTWKdd DD语句。

答案 1 :(得分:3)

EXEC PGM=ICEMAN

EXEC PGM=SORT

会给你相同的结果。它们彼此为ALIAS,并且无论指定PGM =,都执行相同的程序。

正如cschneid指出的那样,SORTWKnn是“排序工作数据集”,而且在不参考现有“标准”数据集的情况下复制JCL的趋势导致了大量工作数据集空间的过度分配。

SORT的工作区可以通过两种方式指定:手动(放入SORTWKnn文件,最大数量远远超过15)或动态使用DYNALLOC。

DYNALLOC是推荐的方法,因为工作空间将按SORT所理解的分配。在OPTION语句中查找关联的安装选项/覆盖。

通常,将有默认的DYNALLOC值来处理大多数SORT步骤,然后将为特别大的SORT提供特定的OPTION参数。

在jobstep中手动定义SORTWKnn数据集将“关闭”该步骤的任何动态分配。

SORTWKnn数据集的具体定义有时很方便,但不常见。这些天所需的空间可能接近输入文件的1.2倍。您可以从特定作业步骤的典型运行中检查SYSOUT,并查看实际使用了多少空间,如果分配过多/不足,则将主要SORTWKnn空间或数据集数量调整为更合适。

当DYNALLOC用于编程语言调用的SORT时,通常最好指定附加信息(平均记录长度,估计记录数)。这是因为SORT可能无法“看到”输入数据集,因此没有太多信息可用于估算所需的工作空间。

另外,最好将所有DCB信息保留在输出文件之外。 SORT将从输入数据集中提供正确的DCB信息,并考虑对SORT控制卡内的数据进行任何操作。如果您将DCB信息保留在JCL(LRECL,RECFM)中,则只要文件发生更改,您就有两个位置可以更改它,而不是一个。

在您的实际示例中,在步骤运行时,会不必要地分配超过100个柱面的空间。这种类型的东西,当应用于许多JOB时,可能导致其他JOB失败,甚至购买/收取/不需要的额外DASD(磁盘空间)。