sorting - jcl排序划分大型机数据集

标签 sorting mainframe jcl

我正在尝试将 MF PS 分成几个数据集。 例如如果我有一个包含 600 个记录的数据集,我想将其分为 6 个文件,每个文件有 100 条记录。是否可以使用 JCL 排序来做到这一点?

最佳答案

下面的 JCL 使用 DFSORT 将 DD SOTRIN 平均分割到 3 个输出数据集(OUT1、OUT2 和 OUT3),跨 6 个添加另外 3 个输出 DD 语句并将它们添加到 FNAMES 语句中。

//SPLIT EXEC PGM=ICEMAN  
//SYSOUT DD SYSOUT=*  
//SORTIN DD DSN=Y897797.INPUT1,DISP=OLD  
//OUT1 DD DSN=Y897797.SPLIT1,DISP=(NEW,CATLG),  
// SPACE=(CYL,(5,5)),UNIT=SYSDA  
//OUT2 DD DSN=Y897797.SPLIT2,DISP=(NEW,CATLG),  
// SPACE=(CYL,(5,5)),UNIT=SYSDA  
//OUT3 DD DSN=Y897797.SPLIT3,DISP=(NEW,CATLG),  
// SPACE=(CYL,(5,5)),UNIT=SYSDA  
//SYSIN DD *  
SORT FIELDS=(21,5,FS,A)  
OUTFIL FNAMES=(OUT1,OUT2,OUT3),SPLIT  
/*  

SORT FIELDS=(21,5,FS,A) 是您希望 sortint 数据集排序的方式,以下是该 fields 语句的含义

21 待排序字段的开头
5 待排序字段的长度
FS float 符号(有符号数字)
升序排列

DFSORT Getting Started Manual
Smart DFSORT Tricks有很多有用的示例和一些其他方法来将记录从数据集中拆分出来

关于sorting - jcl排序划分大型机数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5178136/

相关文章:

r - 如何按行对数据进行排序

python - 使用字典值对列表进行排序(从最大值到最小值)

mainframe - 我们可以在编目过程中使用的 PDS 成员中添加符号参数吗?

input - 在 z/OS Assembler 中,我可以读取 JCL 输入流两次吗?

python - 如何对以大写条目开头的嵌套列表进行反向排序?

java - 按创建日期对自定义对象的 Arraylist 进行排序

database - 层次数据库(IMS DB)数据检索方式

java - (Java) 重载 : How much is too much?

cobol - COBOL中识别程序调用子模块

mainframe - DASD 和 "Virtual"磁带有什么区别