0

排序程序是否有一个参数来排除(忽略)文件的第一行从 jcl 中排序。

谢谢,

4

3 回答 3

3

如果您的排序级别是最新的,则可以使用 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)                           
/*
于 2013-01-18T16:54:58.440 回答
2

您可以尝试以下方法:

//SYSIN    DD *   
SORT FIELDS=...
SKIPREC=1
/*

您可能必须进行排序复制,然后在随后的 JCL 步骤中进行排序。

于 2013-01-18T16:18:45.823 回答
1

尝试使用 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 相对简单。

于 2013-01-18T16:43:29.220 回答