微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

DFSORT中的求和字段

如何解决DFSORT中的求和字段

//SUMREC01 JOB SUMREC0J
//SUMEXEC EXEC pgm=SORT
//SORTIN DD *
CA-02963
CA 06288
CA 07351
CA 05027
CA 05200
//SORTOUT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
 SORT FIELDS=(1,2,CH,A)
 SUM FIELDS=(3,6,ZD)
/*

提交上述工作时,我得到的答案是“ CA026829”。对于JCL,我还必须考虑减号并获得答案“ CA023866”。

解决方法

您可以将 SFF 字段转换为 ZD 对数据求和,如下所示:

//SUMREC01 JOB SUMREC0J
//SUMEXEC EXEC PGM=SORT
//SORTIN DD *
CA-02963
CA 06288
CA 07351
CA 05027
CA 05200
//SORTOUT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
 INREC FIELDS=(1,2,3,6,SFF,TO=ZD)
 SORT FIELDS=(1,CH,A)
 SUM FIELDS=(3,ZD)
 OUTREC FIELDS=(1,ZD,EDIT=(SIIIIT),SIGNS=(,-))
/*

将导致您的输出文件包含:

CA 20903

通过 AHLSORT for Windows x64 验证,版本 v14r3-87-g811342a2

DFSORT 和 SYNCSORT 的工作方式应该相同。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。