MainFrame知识小结(20110807)--syncsort之equals
上星期在做回归测试的时候,发现一个JOB跑出来的结果和UAT的结果并不相同。检查之后发现:输入文件是没有区别的,而比较的结果是两次的输出文件的记录数也相同,但某些记录在某些field上不同。最后终于想到问题是出在sortparm上。
sortparm类似于:
SORT FIELDS=(1,30,CH,A,45,10,ZD,A)
SUN FIELDS=NONE
问题在于:
1.SORT语句对于SORT FIELDS完全一样的记录(duplicate),并不保证输出的记录顺序和输入的顺序一致.
2.SUM FIELDS=NONE语句则是拿SORT之后的重复记录(SORT FIELDS一样)的第一条记录。
所以除了SORT FIELDS之外其余的field是不能保证一致的(两个JOB的输出之间)。
解决方法:
1.在SORT语句后面跟上EQUALS参数
SORT FIELDS=(1,30,CH,A,45,10,ZD,A),EQUALS
2.在OPTION语句中指明EQUALS
OPTION EQUALS
这两种方法都是指明输出记录顺序要与输入文件一致.要不要加EQUALS其实取决于需求。