我正在尝试将 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/