谢尔盖肯
活跃的成员

已加入:2008年4月29日 职位:941 所在地:马里兰
|
|
|
|
这是一个简单的示例,使用SYNCSORT作为工具
码: |
// * =============================================== ======================
//输入 EXEC PGM=SYNCSORT
// *
// SYSOUT DD SYSOUT=*
// *
// SORTIN DD *
12.3 9.57 X
12.3 11.40 X
12.3 99.57 X
12.3 1000.40 X
12.3 12.300000 X
12.3 0000012.3 X
// *
//整理 DD SYSOUT=*
// *
// SYSIN DD *
INREC PARSE=(%1=(ABSPOS=1,
STARTAT=NONBLANK,
ENDBEFR=C'.',
ENDBEFR=BLANKS,
FIXLEN=13),
%2=(ENDBEFR=BLANKS,
FIXLEN=13),
%3=(ABSPOS=15,
STARTAT=NONBLANK,
ENDBEFR=C'.',
ENDBEFR=BLANKS,
FIXLEN=13),
%4=(ENDBEFR=BLANKS,
FIXLEN=13)),
BUILD=(1,15,
16,15,
%1,JFY=(SHIFT = RIGHT,LENGTH = 10,LEAD = C'0000000000'),
%2,JFY=(SHIFT =左,LENGTH = 5,TRAIL = C'00000'),
X,
%3,JFY=(SHIFT = RIGHT,LENGTH = 10,LEAD = C'0000000000'),
%4,JFY=(SHIFT =左,LENGTH = 5,TRAIL = C'00000'))
SORT FIELDS=COPY
*
OUTFIL FNAMES=(SORTOUT),
IFTHEN=(WHEN=(31,15,ZD,GT,47,15,ZD),
BUILD=(1,61,C'<== GREATER')),
IFTHEN=(WHEN=(31,15,ZD,LT,47,15,ZD),
BUILD=(1,61,C'<== LESS')),
IFTHEN=(WHEN=(31,15,ZD,EQ,47,15,ZD),
BUILD=(1,61,C'<== EQUAL'))
*
END
// *
// * =============================================== ======================
|
结果看起来像这样
码: |
**************************************数据顶部************** ***************
12.3 9.57 000000001230000 000000000957000<== GREATER
12.3 11.40 000000001230000 000000001140000<== GREATER
12.3 99.57 000000001230000 000000009957000<== LESS
12.3 1000.40 000000001230000 000000100040000<== LESS
12.3 12.300000 000000001230000 000000001230000<== EQUAL
12.3 0000012.3 000000001230000 000000001230000<== EQUAL
********************************数据底部*************** ************
|
如果您还想考虑正面/负面价值观,这对您自己来说是一个培训机会。 |
|