分三次抽最終結果:Active:1,Change Log:4
一次抽最終結果:Active:1,Change Log:1
一次抽最終結果: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字段關聯起來,所以不能進行刪除數據,下面進行關聯:








由於刪除項R很特殊,如果DSO不支持Record Mode的話,覆蓋型的DSO會將R項看做是后項直接覆蓋以前的結果;如果是合計型的DSO會將R項看做是A項與以前的結果進行合計。如果要實現將R項數據刪除掉,則要讓DSO支持Record Mode字段


對DSO進行修改,將數據源與DSO的Record Mode進行關聯:

將那4條抽數PSA請求置紅,再次抽取那4條數據:









