• 沒有找到結果。

第五章 網路服務客戶端的設計

附錄圖 5 資料淨化

在進行資料淨化工作後,接著將淨化後的資料與三規正規化資料庫中資料進行比對以決 定相關的異動操作。在此步驟中,異動操作會依資料比對的結果來決定資料異動的方式,包 括新增、修改、停用三項,而新增、修改、停用判斷的程式碼見附錄表 21。

完成異動操作之後,結束供應人資料表、承銷人資料表、花卉品名資料表的更新,將例 外資料表的內容匯出至例外資料庫的例外資料表,並把供應人等三個資料檔刪除,完成資料

轉換服務 1 的整個作業流程。

附錄表 21 新增、修改、停用判斷之程式碼與說明

項目 內容 說明

新增 SELECT S.SNUM,S.SNAME,S.SDATE,S.SCODE,S.TYPE FROM SU1 As S

WHERE (S.SNUM NOT IN

(SELECT SUP_ONUM FROM 供應人資料表)) OR

((S.SNUM IN (SELECT SUP_ONUM FROM 供 應 人資料表 WHERE SUP_IFUSE='Y')) AND

(S.SNAME NOT IN (SELECT SUP_NAME FROM 供應人資 料表 WHERE SUP_IFUSE='Y'))) OR

(S.SNUM IN (SELECT SUP_ONUM FROM 供應人資料表 WHERE SUP_IFUSE='N') AND

(S.SNAME NOT IN (SELECT SUP_NAME FROM 供應人資

修改 SELECT S.SNUM,S.SNAME,S.SDATE,S.SCODE,TYPE FROM SU1 As S

WHERE ((S.SNUM IN (SELECT SUP_ONUM FROM 供應人資料 表 WHERE SUP_IFUSE='Y')) AND

(S.SNAME IN (SELECT SUP_NAME FROM 供 應 人 資 料 表 WHERE SUP_IFUSE='Y')))

供應人代碼和姓名都存在

資料轉換服務 2 中,其主要工作流程近似於前述之資料轉換服務流程 1。其中與資料轉 SET ATYPE='1' where ATYPE is null

將 ATYPE 欄位為空值更正為 1。

修補殘貨交易紀錄 的承銷人

UPDATE A2

SET ABU='00000' , ATYPE='0'

WHERE RTRIM(ISNULL(ABU,''))='XXXXX'

更正殘貨的資料的承銷人代 碼欄位及類型欄位。

修補 NUM2 不滿兩 位數者

UPDATE A2

SET ANUM2='0'+ Right(Rtrim(ANUM2),1) WHERE((Len(Rtrim(ANUM2))=1)AND Right(Rtrim(ANUM2),1)in

('1','2','3','4','5','6','7','8','9','0') )

補齊交易子序號的位數。

修補 ADATE 為由西 元轉為民國

UPDATE A2

SET ADATE=ADATE-19110000

將交易日期從西元轉為民國。

修補拍賣線不規則 值令其為 D 拍賣線

UPDATE A2 SET ALINE='4'

WHERE ALINE NOT IN ('0','1','2','3')

將拍賣線謬誤的資料更正為 4,也就是其他。

修 補 ANUM2 為 NULL

UPDATE A2 SET ANUM2='20'

WHERE ANUM2 is NULL

交易子序號如為空值則設為 20。

修 補

FLOWER_RANK1

UPDATE A2 SET ARANK='B'

WHERE ((Len(Rtrim(ARANK))=1) AND

Right(Rtrim(ARANK),1) in ('1','2','3','4','5','6','7','8','9','0') )

花卉等級只有一個字元,且存 在於 0~9 之間,更正為 B。

修 補

FLOWER_RANK2

UPDATE A2

SET ARANK='A'+ Right(Rtrim(ARANK),1)

WHERE ((Len(Rtrim(ARANK))=2) AND

Left(Rtrim(ARANK),1) ='1'AND Right(Rtrim(ARANK),1) in ('1','2','3','4','5','6','7','8','9','0','+','-') )

花卉等級有兩個字元,且第一 個字元為 1,更正為 A,例如 12->A2。

在資料異動部份,程式會檢查交易資料中的供應人代碼、承銷人代碼、花卉品名代碼是 WHERE SUP_IFUSE='Y' )

交易資料中的供應人代碼 不 存 在 於 供 應 人 資 料 表 中。

承銷人代碼比對 SELECT * FROM A1 WHERE ABU NOT IN

(SELECT BUY_BUYNUM FROM 承銷人資料表)

交易資料中的承銷人代碼

將比對失敗的資料移至 A_EXCEPTION 資料表,剩餘資料轉入交易資料表,並將例外資 料表的內容匯出至例外資料庫的例外資料表,及交易資料檔刪除,完成資料轉換服務 2 的整

附錄圖 8 資料轉換服務作業樹狀結構圖

附錄表 24 資料轉換服務工作統計表

封裝 工作流程 連線 工作 限制

工作流程-1 2 14 12 工作流程-2 2 12 10 封裝-1(資料轉換服務 1)

工作流程-3 2 11 9

DTS

封裝-2(資料轉換服務 2) 工作流程-1 2 16 13

在完成系統更新轉換程序設計後,接著介紹自動化排程設計方式,在此採用的是 SQL Server2000[3][4]套裝軟體中的排程設定。在步驟內的命令指定執行『系統更新轉換程序.dts』, 如附錄圖 9,在排程內的排程類型設為重覆執行。

附錄圖 9 自動化設定排程語法

相關文件