//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,2,CH,A)
SUM FIELDS=(3,6,ZD)
OUTREC FIELDS=(1,2,3,6,ZD,EDIT=(SIIIIT),SIGNS=(,-))
/*
将导致您的输出文件包含:
CA 20903
使用AHLSORT验证Windows x64版本v14r3-87-g811342a2
DFSORT和SYNCSORT的工作原理应该相同。