排序程序是否有一个参数来排除(忽略)文件的第一行从 jcl 中排序。
谢谢,
如果您的排序级别是最新的,则可以使用 DATASORT。借自 Frank Yaeger 通过谷歌的回答。
//S1 EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//IN DD *
FIRST
AAAA
CCCC
DDDD
FFFF
GGGG
//OUT DD SYSOUT=*
//TOOLIN DD *
DATASORT FROM(IN) TO(OUT) FIRST USING(CTL1)
/*
//CTL1CNTL DD *
SORT FIELDS=(1,4,CH,A)
/*
您可以尝试以下方法:
//SYSIN DD *
SORT FIELDS=...
SKIPREC=1
/*
您可能必须进行排序复制,然后在随后的 JCL 步骤中进行排序。
尝试使用 ICETOOL SUBSET 运算符。这是一个非常简单的例子:
//STEP01 EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//IN1 DD * -- Unsorted input data...
FIRST LINE
5
6
7
1
4
/*
//TOOLIN DD * -- ICETOOL commands
SUBSET FROM(IN1) TO(OUT1) REMOVE INPUT HEADER
/*
//OUT1 DD SYSOUT=* -- Sorted output goes here
完成后OUT1
包含:
1
4
5
6
7
这是来自 的数据IN1
,已排序,缺少第一行输入。
可以在此处找到 DFSORT/ICETOOL 手册,此处记录了ICETOOL SUBSET 运算符
编辑
根据您对 Gilbert 的评论,我建议使用第二个作业步骤来 IDCAMS REPRO(复制)原始输入文件中的第一条记录,然后将其连接到 ICETOOL 输出。JCL 相对简单。