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其实取决于需求。

posted @ 2011-08-07 10:04  小冰  阅读(541)  评论(0编辑  收藏  举报