技術交流

你的ERP系統『多了一支程式』

ERP 達人 ERP 達人

咦!ERP系統一直以來只有永遠少了一支程式,怎麼會多了一支程式?

試著找找看,或請教你的ERP顧問師,假如庫存數量(Onhand)不正確怎麼辦?顧問師應該會告訴你,請執行INVxxx庫存重新計算的程式。接著你又請教他,那庫存數量為什麼會錯呢?通常ERP顧問師會很有耐性的向你說明,因為在庫存交易資料更新到資料庫的瞬間,網路斷線或怪異的操作順序造成的,這時交易明細資料已更新完成,但是庫存主檔還沒更新,所以會發生期初庫存+本期交易<>(不等於)在庫數量(Onhand)的狀況,這時候你只要重新執行這支程式就好了。

假如你曾經有一些撰寫程式的經驗,這時候你應該會進一步請教ERP顧問師,SQL指令不是有commit及rollback嗎?應該是一個完整的交易資料完成時,才會執行到commit 指令,假如網路斷線或程式突然當掉,系統應該會自動rollback,也就是要就完整的資料都寫入成功,要就把資料回復到完全沒有寫入的狀態,不應當發生資料寫一半的狀況!這時候你的ERP顧問師應該是無言以對,或告訴你得請教技術人員再回答你!

ERP系統的資料分類

  • 基本資料檔:部門組織、客戶、廠商、料件、BOM…等
  • 主檔資料檔:庫存主檔、訂單主檔、採購主檔、立帳主檔、銀行餘額檔…等
  • 通知單資料:驗收通知單、出貨通知單、領料通知單、繳庫通知單…等
  • 交易單資料:入庫單、出貨單、領料單、繳庫單…等
  • 系統控制檔:權限控制、參數設定…等

以出貨單過帳為例,當出貨單確認要扣帳時,ERP系統總共要處理下列事項:

  • 更新出貨單的狀態為已過帳
  • 更新出貨通知單的累計已出貨數量
  • 更新訂單主檔的累計已出貨數量
  • 更新庫存主檔的目前庫存數量
  • 更新信用額度餘額檔
  • 產生應收帳款介面檔

也就是說,最後一層的交易單資料要回頭更新通知單資料、N個主檔資料、產生後續資料。整套ERP系統就是依邏輯運作,試想,假如你的ERP系統會把資料寫入一半,這是多麼嚴重的一件事情,這個意味著你的ERP系統資料錯亂、維護成本昂貴、靠大量人力在維持;嚴重的,會因為系統提供了錯誤的資料,導致公司嚴重的損失。

所以囉,當你在評選ERP系統時,絕對不應該選擇一套『多了一支程式』的ERP系統。資通電腦的ArgoERP系統,大量運用Oracle DataBase的Triggers、Procedures、Functions、Packages…等資料庫工具,大幅簡化前端程式設計師的工作,把更新N個主檔、產生後續資料…等工作交給DB端處理;前端程式設計師只需要負責交易檔的Master與Detail的Table資料維護即可。一則達成系統資料穩定,即使在網路環境不良的情況下,也不會發生主檔資料錯誤的情況;二則徹底發揮主從式架構,集中大量資料在DB端就已處理完畢,所以網路資料傳輸量相對少很多,大幅提高系統運作效能。

記得,『多了一支程式』的ERP系統不能用!