测试数据在下一个记录上



我想知道是否有可能读取下一个记录,当我们使用基于一定条件的SyncSORT (SyncTool)。

输入

示例

排序键将是account nbr +降序记录类型+金额

account nbr  amount  record type
11111111111   10      reversal    not in the output
11111111111   10      deposit     not in the output
33333333333   20      deposit     in the output
44444444444   15      deposit     in the output
55555555555   20      reversal    in the output
55555555555   10      deposit     in the output
66666666666   30      reversal    in the output no match

当读取反转类型时,应该有相同数量的存款,在这种情况下,它既记录反转,又不记录输出文件。反转和存款的金额可能不相同,在这种情况下,两个记录都应该在输出文件中。

输出
33333333333   20      deposit
44444444444   15      deposit
55555555555   20      reversal   
55555555555   10      deposit     
66666666666   30      reversal     

是。只要你的SyncSORT是最新的。

你需要使用JOINKEYS。为两个输入数据集指定相同的DSN,并指出它们是排序的。有一个未记录的特性允许使用JNFnCTNL文件,如DFSORT。

在JNF1CNTL(这是第一个JOINKEYS数据集的"预处理器")中,为每条记录临时添加一个序列号。默认情况下,序列从1开始。在这里,显式是有用的…

因为,在JNF2CNTL中,您想要做同样的事情,但是从0开始序列(start =0)。

每个JOINKEYS的键是序列号。

使用JOIN UNPAIRED,F1。用第一个文件中的所有数据和第二个文件中的比较数据定义一个REFORMAT。

如果您想象一下连接,这是一个四记录数据集的样子:

- - A 0
A 1 B 1
B 2 C 2
C 3 D 3
D 3 - - 

因为您指定了JOIN UNPAIRED,F1您实际上不会看到不匹配的a0(因为它在F2上),但您会看到不匹配的d3。

如果您查看REFORMAT记录,您现在有来自"当前"记录的数据,以及来自"下"记录的数据。

然后还有更多的工作来选择您想要的记录。但是,先吃晚饭……

相关内容

  • 没有找到相关文章

最新更新