如何使用Syncsort获得记录计数



我的要求是使用JCL - Syncsort获得相同的记录计数。

MY Input File包含打包后的58-60位的十进制值。当输入在01和05之间时,我需要得到记录计数。

实际上我试图将PD值转换为ZD,并与C'01'和C'05'进行比较。

我无法得到结果。

示例:输入文件数据在58-60(3字节,是在Comp-3格式)

07.2

05.2

04.0

45.7

02.4

输出将是:

RF值| Count

02.4 1

04.0 1

谁能告诉我如何做到这一点?

您的规范声明该字段是3字节PD格式,但是您提供了包含小数点的示例记录。PD数据不能包含小数点,所以我将假设小数点是隐含的。对应于值07.2的3个字节的数据实际上包含x'00072C',用于以下目的。

为了使示例更容易理解(并且不知道记录布局的细节),我将3字节PD字段视为从固定长度数据的位置1开始。您可以随意修改示例以适应实际的数据布局。

//SYSIN  DD  *   
 SORT FIELDS=(1,3,PD,A)   
 INCLUDE COND=(1,3,PD,GT,10,AND,1,3,PD,LT,50)   
 OUTREC FIELDS=(1,3,PD,ZDF,75X) 
 OUTFIL FILES=OUT,NODETAIL,
              SECTIONS=(1,5,
                TRAILER3=(1:1,4,C'.',5,1,COUNT))
/*

任何进一步的支持,联系客户服务,Syncsort Inc. zos_tech@syncsort.com

试试这个…

//SYSIN DD *
  INREC FIELDS=(1,4,C'00001')
  SORT FIELDS=(01,04,CH,A)
  SUM FIELDS=(05,05,ZD,A)
  OUTREC FIELDS=(01,04,05,05)
/*

简单地说,我为每条记录添加一个数字00001,并在数字字段上对它们进行排序,并将所有这些记录相加,这将为您提供所需的输出。

相关内容

  • 没有找到相关文章

最新更新