分三次抽最终结果:Active:1,Change Log:4 一次抽最终结果:Active:1,Change Log:1
覆盖DSO+三次抽(增、修、删)+后修改成支持RecordMode再测试R项
下面将数据字段修改为 覆盖方式:
先做初始化, 不传数据,只打标识
创建订单,数量为11,单号13381:
PSA:
通过Delta 信息包抽数到DSO,New表:
激活后Active表:
Change Loge表:
修改 13381订单,11修改为10:
PSA:
通过Delta 信息包抽数到DSO,New表:
激活后Active表:
Change Loge表:
再将订单 13381删除:
PSA:
通过Delta 信息包抽数到DSO,New表:
激活后Active表:
Change Loge表:
发现从PSA过来到DSO new时,R标识被丢掉了,所以数据最终并没有被删除,所以如果要支持R项,需要将数据源与DSO中的Record Mode字段关联起来:
现为了再次测试R项,则将PSA最后一次抽数置红,再次运行Delta InfoPackage时,提示:
点击再次抽取,则R项数据会现次被抽到PSA中:
删除标记R就会从源系统传到PSA中
再次抽到DSO中:
发现R项存入了New表,并且Active表里的数据被删除了
最后Active表里的数据被真正删除了
注:日志表里为了模拟删除,只会将这张单冲掉,所以反冲的结果可能为正,也可能为负,最终该单的数量合计为0即可
合计DSO+三次抽(增、修、删)+后修改成支持RecordMode再测试R项
但数据源与DSO中的Record Mode字段并未关联起来:
创建订单,单号为:13385,订单数量为11:
修改订单13385,订单数量从11修改为10:
删除订单 13385:
由于DSO与数据源没有进行Record Mode字段关联,到New时发现R项丢失了
在不支持Record Mode的情况下,与覆盖型的DSO一样,最终结果Active表没有删除。现在将DSO与数据源中的Record Mode关联起来,实现R项真正删除:
将PSA最后一次请求置红,再抽,删除标记R就会从源系统传到PSA中:
与覆盖模式的DSO一样,合并模式的DSO的Active表里的数据也真正被删除了
覆盖DSO+一次抽(增、修、删)+后修改成支持Record Mode
DSO为覆盖模式,并且DSO与数据源的Record Mode字段 先未进行关联
现创建订单,接着修改、然后删除:
由于删除项R很特殊,如果DSO不支持Record Mode的话,覆盖型的DSO会将R项看做是后项直接覆盖以前的结果;如果是合计型的DSO会将R项看做是A项与以前的结果进行合计。如果要实现将R项数据删除掉,则要让DSO支持Record Mode字段
由于是覆盖,并且 未将数据源与DSO的Record Mode字段关联起来,所以不能进行删除数据,下面对DSO进行修改,使之支持Record Mode:
再将最后一次PSA请求置红,再次抽取那4条数据:
覆盖DSO(支持Record Mode)+一次抽(增、修、删)
由于未将数据源与DSO的Record Mode字段关联起来,所以不能进行删除数据,下面进行关联:
合计DSO+一次抽(增、修、删)+后修改成支持Record Mode
由于删除项R很特殊,如果DSO不支持Record Mode的话,覆盖型的DSO会将R项看做是后项直接覆盖以前的结果;如果是合计型的DSO会将R项看做是A项与以前的结果进行合计。如果要实现将R项数据删除掉,则要让DSO支持Record Mode字段
对DSO进行修改,将数据源与DSO的Record Mode进行关联:
将那4条抽数PSA请求置红,再次抽取那4条数据: