ERP系統上線前的資料輸入(轉)

urinator發表於2007-08-04

ERP系統上線前的資料輸入

http://www.226e.net/article/13/Article7033_1.htm


本文將就ERP系統投入前資料輸入的基本要求和方法做一個詳細的闡述。

  ■ERP系統資料輸入的基本要求

  在ERP系統投入執行前的資料輸入與系統正常執行時相比有許多不同之處。在系統正常執行時,資料輸入主要是由企業的各部門人員人工輸入,輸入的資料以交易資料為主,主資料為輔,一般只需每天將當天的資料全部輸入系統結清即可。而在系統投入執行前的資料輸入卻需要IT人員的大量直接介入,因為輸入的資料不僅包括交易資料(主要是未結的訂單等),而且還包括大量的主資料(例如原材料、企業架構資料、財務資料等等)。值得注意的一點是,此時資料輸入量非常大,而且所有資料必須在很短的時間內輸入系統。因此,我們應當注意以下幾點要求:

  ·高效率

  這裡高效率包含有兩層含義:資料準備的高效率和資料處理的高效率。

  ERP系統所需的資料來源於企業生產實際,因此資料的收集在很大程度上依賴於企業的第一線人員。因此必須根據他們能夠理解的格式設計出表格,供他們收集整理資料之用。ERP系統往往跨若干個部門,因此必須將系統所需的資料分解成各個部門掌握的資料。這樣才能在最大程度上幫助各部門人員提高資料準備的效率。

  資料處理的高效性是指我們提供的資料輸入方法應該能夠在儘可能短的時間裡將所有資料正確地輸入系統,從而將對企業正常執行的影響減少到最小程度。在一般的情況下,系統資料輸入應該在週末進行。由於需要輸入的資料量很大,動輒上萬條記錄,我們必須考慮採用批處理資料輸入方式,而不可能完全依靠人工輸入。

  ·資料關係安全性(特別是必須滿足應用程式邏輯)

  ERP系統資料間關係非常複雜:除了由關係型資料庫系統(RDBMS)強制實現的各種資料庫級的關係(例如資料表的主鍵、外來鍵等)外,還有許多由其上的應用程式保證的應用程式邏輯(例如一種原材料必須具有一個預先指定的儲存該類材料的倉庫等)。無論採用何種辦法,任何輸入系統的資料必須同時滿足這兩種限制條件,否則可能對系統產生不可預料的後果。

  在系統投入執行前進行的資料批處理輸入時也必須保證滿足這兩種關係,尤其是應用程式邏輯。一個可接受的、安全的做法只能是通過應用程式層將資料輸入ERP系統,從而可以保證所有的資料都經過應用程式和RDBMS兩級的邏輯檢查,以確保資料關係的安全性。

  這就是說,一個理想的、安全的批處理資料輸入辦法應該和通過系統螢幕輸入資料是完全等價的。即:

  1)如果用批處理的辦法可以輸入系統的資料,同樣可以通過系統提供的標準螢幕輸入到系統中去。

  2)無法通過系統提供的螢幕輸入的資料,同樣也無法通過批處理方法輸入系統。

  另外需要特別指出的是,有些資料,例如訂單的序列號,是由應用程式動態生成的。對於這樣的資料,直接將資料“灌入”資料表的做法一般是難以處理的。

  ·資料正確性

  資料正確性包括兩方面的含義。首先,收集到的資料本身必須是正確的;其次在將收集到的資料輸入系統的過程中,不能引入任何附加的錯誤。

  資料本身的正確性更多的依賴於企業各部門資料收集人員。他們應當保證上交資料是正確的,沒有遺漏、重複,也沒有過時、失實的資料。作為IT人員,我們應該具有一定的手段可以幫助檢查出儘可能多的資料本身的錯誤。

  有了正確的資料,我們應當保證在資料輸入的過程中不能引入任何附加的錯誤。最常見的引入附加錯誤的原因是人為原因導致的誤輸入、誤操作等。但是我們也必須意識到,資料輸入順序不正確也能引入非常嚴重的附加錯誤。

  ·資料輸入操作的原子性

  ERP系統的資料輸入是非常強調原子性的,即任何操作或者成功、或者失敗,而不允許存在半成功、半失敗的情況。

  輸入操作的原子性是資料庫操作原子性的擴充套件。在實際應用中,ERP系統通過其使用的RDBMS和相應的應用程式來共同保證輸入操作的原子性。因此,無論我們採用何種辦法來輸入資料,都必須保證輸入操作的原子性不被破壞。

  一些常用輸入辦法

  在分析了上述的各種要求之後,我們可以對常用的一些輸入辦法做一個分析比較。其中,除了手工輸入之外,其他辦法都可以歸入批處理資料輸入的範疇之內,即利用計算機將一個預先準備好的資料檔案輸入ERP系統。

  ·人工輸入

  所謂人工輸入是指召集一些資料錄入員,通過ERP系統提供的標準螢幕進行資料輸入。從本質而言,人工輸入和系統正式執行後的操作是完全相同的,只是工作強度不同而已。

  這是一種相當靈活的辦法,非常適用於ERP系統的一些最基本的設定,例如公司名稱、地址或者系統語言設定等的輸入。但是人工輸入的致命缺點是工作強度高、輸入效率低,而且容易引入人為的錯誤。即使是一個非常仔細的資料錄入員,在連續輸入幾個小時類似的資料(特別是類似會計科目表那樣的資料)的情況下,也難免發生一些錯誤。所以在系統上線前的資料輸入階段,人工輸入僅僅適用於少量資料的輸入,而不能用作大量資料的輸入。

  手工輸入可以很好地滿足資料關係安全性、資料輸入操作的原子性等要求;但不能較好地滿足資料輸入的高效性及資料輸入的正確性等要求。

  ·利用ERP系統提供的資料輸入介面

  有些ERP系統提供了專門的資料批處理輸入介面,例如SAPR/3等,這是一種值得優先考慮的方法。對於任何一個ERP系統,我們必須首先做一個充分的研究,以確認該ERP系統是否提供這種介面,以及該介面是針對應用程式級介面,還是針對資料庫級介面。有些ERP系統提供的介面是跳過應用程式層,而直接面對資料庫的。對於這種情況,我們必須非常謹慎,一般可以考慮和其他方法一起使用。例如對於僅涉及一個資料表的資料(絕大多數是系統主資料),我們可以採用這個介面;而對於涉及多個資料表的資料(絕大多數是交易資料)、並且我們對其中資料模型和輸入順序不確定時,應當考慮採用其他方法。

  如果該介面是面向應用程式層的,它可以很好地滿足幾乎所有的要求;反之則對資料關係安全性和輸入操作的原子性支援不夠。

  ·利用EDI介面

  EDI,即電子資料交換,是一種國際標準,一般ERP系統都會提供這個介面。

  如果將準備好的資料檔案重新格式化成相應的EDI檔案,然後模仿成是由外部網路傳來的檔案,交給本地的ERP系統,就能夠將大批量的資料自動輸入系統。

  EDI檔案的格式一般完全取決於業務要素,而與具體ERP系統資料模型的設計無關。例如一張銷售訂單的EDI檔案包含有交易雙方的公司名稱、地址和產品名稱、編號、數量、單價、總價等,而並不涉及這些資訊具體和哪個資料表的哪個欄位對應。因此,EDI介面是通過ERP系統的應用程式層將資料輸入系統的。但是,EDI標準只定義了交易資料的規範,而不包含系統主資料的規範,因此我們一般無法利用EDI介面來輸入系統主資料。(儘管這聽起來有些遺憾,但是我們必須考慮到EDI本來的目的是支援企業間貿易的電子化。)在實踐中我們可以結合EDI介面和上述的ERP系統專用資料輸入介面來分別處理交易資料和主資料。

  綜上所述,我們可以看到EDI介面可以很好地滿足資料關係安全性、輸入操作的原子性、資料輸入的高效性、資料輸入的正確性等要求。

  ·利用CIM介面

  通過計算機整合製造CIM介面,ERP系統可以連續不斷地接收資料採集程式產生的資料,也可以定時直接讀取資料檔案。顯而易見,如果我們將準備好的資料檔案重新格式化成CIM檔案,然後模擬成系統接受的CIM輸入檔案,同樣可以達到將大量資料輸入系統的目的。

  CIM的資料格式一般同樣也是面向應用程式的,與資料庫設計無關。與EDI介面不同的是,CIM介面的資料格式往往因具體ERP系統的不同而有所不同,並無一定的國家標準或業界標準。另外,通過CIM介面我們不僅可以輸入交易資料,一般也可以輸入系統主資料。

  我們同樣可以看到CIM介面可以很好地滿足資料關係安全性、輸入操作的原子性、資料輸入的高效性、資料輸入的正確性等要求。

  順便指出,無論是EDI格式檔案還是CIM格式檔案,其內容都是可讀的普通文字。這一點給檔案格式轉換帶來了不少的方便之處。

  ·利用ERP系統提供的API(應用程式程式設計介面)

  最後一種常用的辦法是利用ERP系統本身提供的API。幾乎所有流行的ERP系統都提供了一定的API供第三方作二次開發之用,例如SAP的BAPI、BAANⅣ的BAANAPI等等。有些API不僅提供了C語言層次的程式設計介面,而且提供了諸如OLE等更為高階的程式設計介面。毫無疑問,我們可以利用系統提供的API為資料輸入開發一些滿足以上所有要求的專用工具。但是,使用API對開發者的要求是遠遠超過使用其他方法的。在實踐中,我們必須考慮諸如成本、風險等其他要素。

  需要強調的是,在輸入系統的過程中,我們應當綜合利用所有合適的方法。通常我們採用的是以一種批處理方式為主、手工輸入為輔的策略。



  從本期開始,ERP專欄正式開欄。本專欄將從新的角度出發,力圖拉近ERP與使用者之間的距離。我們認為,ERP不能僅僅停留在理論的層面上,而應該更多地深入到應用的實際中。因此,本欄目將不僅關注ERP軟體本身,也將探討ERP實施過程對IT技術的要求。

  本欄目己經與眾多的業內廠商和專家建立起了聯絡,同時還開通欄目熱線ciw_fhm@ciw.com.cn,希望本欄目能夠成為使用者與廠商、專家之間資訊交流的中轉站。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7942439/viewspace-20244/,如需轉載,請註明出處,否則將追究法律責任。

相關文章