使用 OUTFIL 及其报告功能是一项简单的任务:
//TOTALREP EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SORTOUT DD SYSOUT=*
//SYSIN DD *
OPTION COPY
OUTFIL REMOVECC,
TRAILER1=(TOTAL=(1,13,SFF,
EDIT=(SIIIIIIIIT.TT),
SIGNS=(+,-),
LENGTH=13))
//SORTIN DD *
-000000042.99
-000000001.50
-000000003.00
-000000001.50
-000000042.99
+000000025.00
+000000019.52
+000000058.36
SORTOUT 包含:
-000000042.99
-000000001.50
-000000003.00
-000000001.50
-000000042.99
+000000025.00
+000000019.52
+000000058.36
+3.86
REMOVECC 表示不包含打印机控制代码,TRAILER1 在 OUTFIL 组的末尾执行,TOTAL(或 TOT)表示给出位置(此处为 1)长度(13)和类型(FS)的总和(您应该在 DFSORT 应用程序编程指南中查找,对于您的 DFSORT 版本,可以在此处找到:http ://www-01.ibm.com/support/docview.wss?uid=isg3T7000080 。编辑、标志和LENGTH 决定了 TOTAL 值的显示方式。
UFF 是 Unsighed Free Format - 这将去除所有非数字数字并处理结果
SFF 是有符号自由格式 - 这将去除所有非数字数字并根据字段中任何位置的存在来处理结果,这意味着-
如果找到一个或多个-
位置,则值将为负数,否则为正数。
FS CSF 这两个是同义词,可以处理前导符号,但不能处理小数点。在原始示例中,小数点的存在导致数字仅被视为小数部分。小数点前的所有内容都被忽略,包括符号。