具有系統產生之主索引鍵的資料
對於具有系統產生索引鍵的記錄,如果目標環境已有記錄具有相同的索引鍵,但卻不是代表同一筆記錄,就會發生問題。此工具不應該只以來源檢視來更新該目標記錄,以免中斷目標中的外來索引鍵關係。
工具為具有系統產生之主索引鍵的管理資料提供支援。邏輯依賴維護物件使用可查看記錄之其他屬性 (被視為「邏輯索引鍵」) 的方式,以偵測正在移轉的記錄是否已存在於目標區域中。本節中的範例是以「附件」維護物件為基礎。通用附件會被視為管理資料。附件維護物件會將檔案名稱和建立日期作為「邏輯索引鍵」。
假設來源區域中有「標準費率代碼」檔案的通用附件,且其索引鍵為 123456789。下表標示目標區域的可能情況,以及組態移轉助理中支援的動作。
方案 | 目標情況 | 動作 | 註釋 |
---|---|---|---|
1 | 沒有相符的記錄 | 可以新增索引鍵為 123456789 的記錄。 | |
2 | 有索引鍵為 123456789 的記錄存在,且邏輯確認該記錄也是「標準費率代碼」附件。 | 可以更新記錄。 | |
3 | 有索引鍵為 123456789 的記錄存在,但邏輯偵測到該記錄並非「標準費率代碼」附件。 | 不會更新記錄。會發出錯誤。 | 系統不會更新此記錄,因為它不是正確的附件記錄。 |
4 | 系統偵測到「標準費率代碼」附件有不同 ID 的其他附件記錄存在。 | 不會更新記錄。會發出錯誤。 | 假設記錄是直接在目標中建立,或是複製自不同來源。 |
上方的案例 3 和 4 中所述的使用案例需要索引鍵對應,以記錄從來源中 ID 到目標中 ID 的對應,使來源中將此索引鍵當作外來索引鍵參考的任何其他記錄都會加入移轉而予以更新。不支援此功能。
使用偵測邏輯索引鍵之方式的維護物件支援上方的案例 1 和 2。
產品建議實作建立此一移轉策略:具有系統所產生索引鍵的記錄一律建立在同一區域中,並一律依照標準移轉路徑將資料自此來源區域提升至其他區域。依照此策略,您會將在多個位置中建立具有相同邏輯索引鍵的記錄,進而產生不同 ID (如上方的案例 4 所述) 的可能性降到最低或消除。
同時具有管理資料和非管理資料的維護物件
有些維護物件同時包含主檔或交易資料,以及管理資料。例如「附件」。產品支援通用附件和擁有的附件。擁有的附件是其擁有者特定的記錄。擁有者可以是主檔或交易資料,因此其附件會被視為主檔或交易資料。擁有的附件不是使用組態移轉助理進行移轉的候選。另一方面,通用附件被視為管理資料,因此可能是使用組態移轉助理進行移轉的候選。針對這些使用案例,實作可以依照建議的策略,只在一個區域建立管理資料,這樣就不會重複使用通用附件的 ID。然而,在目標區域中建立擁有的附件,且可能收到之系統產生的索引鍵與來源區域之通用附件的索引鍵相符,是合理且是預期的情況。
為了盡量減少此問題,系統包含可供任何維護物件使用的特殊邏輯,這些維護物件可能同時包含管理資料以及主檔或交易資料。此特殊邏輯會產生管理記錄的索引鍵,索引鍵的中間有一個零 (0),並確保主檔和交易資料的索引鍵在此位置不包含零。如需瞭解架構中使用此方式的維護物件,請參閱架構提供的移轉組態。對於您的特定邊緣應用程式,請參閱組態移轉助理附錄,以取得可能屬於此類目之其他維護物件的相關資訊。