摘要:解決和系統(tǒng)的接口問題的難度主要在于交換數(shù)據(jù)內(nèi)容定義和接口點(diǎn)的確定。本文對解決這個問題提供了一套系統(tǒng)的方法,并將這套方法應(yīng)用于一個企業(yè)實(shí)施的ERP系統(tǒng)和DRP系統(tǒng)。
關(guān)鍵詞:ERP,DRP,數(shù)據(jù)接口
一、 引言
隨著我國企業(yè)信息化的發(fā)展,很多企業(yè)購買和實(shí)施了國外的大型企業(yè)管理軟件包,ORACLE公司和SAP公司的ERP軟件產(chǎn)品占有了其中很大份額。這些軟件大都采用數(shù)據(jù)集中的Internet架構(gòu),所有用戶通過網(wǎng)絡(luò)訪問應(yīng)用層和數(shù)據(jù)庫。Internet架構(gòu)下的數(shù)據(jù)集中方式,避免了多個數(shù)據(jù)中心引起的數(shù)據(jù)維護(hù)和同步引起的系統(tǒng)復(fù)雜性上升,使企業(yè)可以在一個數(shù)據(jù)中心甚至一個數(shù)據(jù)庫用例的支持下完成全國或者全球運(yùn)作。
但是這些軟件在國內(nèi)企業(yè)實(shí)施過程中都遇到了這樣一個問題:對于有很多跨地區(qū)銷售分支機(jī)構(gòu)的企業(yè),各分支機(jī)構(gòu)需要申請和使用專線,同時(shí)造成系統(tǒng)用戶數(shù)成倍增加,從而使系統(tǒng)運(yùn)行費(fèi)用和軟件購買費(fèi)用成倍增加。
有些企業(yè)采用了ERP系統(tǒng)只控制集團(tuán),分銷機(jī)構(gòu)的定單傳真到集團(tuán)后手工錄入到ERP系統(tǒng)的方式解決以上問題,使ERP系統(tǒng)失去了對二級以下批發(fā)商和零售商的管理功能,分銷機(jī)構(gòu)的庫存、銷售、客戶信息等數(shù)據(jù)無法進(jìn)入系統(tǒng)。還有些企業(yè)開發(fā)了用于專門管理分銷機(jī)構(gòu)的軟件,即分銷資源計(jì)劃(DRP)系統(tǒng),但是隨之出現(xiàn)了兩個系統(tǒng)的接口問題。有些企業(yè)由于無法解決接口問題,造成運(yùn)行效率低下、成本上升、數(shù)據(jù)不一致等問題。
筆者參與了一家企業(yè)的ORACLE ERP系統(tǒng)和分銷資源計(jì)劃系統(tǒng)(DRP)的實(shí)施,并負(fù)責(zé)解決兩個系統(tǒng)之間的數(shù)據(jù)接口問題。
這家企業(yè)購買了ORACLE公司在2001年發(fā)布企業(yè)套件ORACLE APPLICATION 11i,數(shù)據(jù)庫采用ORACLE 8.1.6,服務(wù)器采用一臺SUN 3500,操作系統(tǒng)采用SUN SOLARISE。在實(shí)施中采用總體設(shè)計(jì)、分步實(shí)施的方法,一期實(shí)施總部和總部所在地的8個分、子公司。
企業(yè)在全國有230個經(jīng)銷部遍布全國,8個工廠分布于6個省。DRP軟件部分是定制開發(fā)的,數(shù)據(jù)庫也采用ORACLE 8.1.6,2臺單CPU的PC SERVER作為WEB服務(wù)器,2臺 雙CPU的PC SERVER作為數(shù)據(jù)庫服務(wù)器,操作系統(tǒng)采用WINDOWS 2000 ADVANCED SERVER,開發(fā)平臺使用J2EE。實(shí)施策略上采用先單獨(dú)運(yùn)行,后和ERP貫通的方法。
企業(yè)希望兩個系統(tǒng)能按照圖一表示的方式工作:
二、接口方案設(shè)計(jì)
解決和ERP系統(tǒng)的接口問題的難度主要在于交換數(shù)據(jù)內(nèi)容定義和接口點(diǎn)的確定。ERP系統(tǒng)是一個很龐大的體系,ERP開發(fā)商強(qiáng)烈建議用戶禁止直接對數(shù)據(jù)庫的非讀取操作,這是因?yàn)?a href="http://www.ezxoed.cn/" title="" target="_blank" >ERP軟件的數(shù)據(jù)庫里往往有數(shù)萬個對象,彼此間的關(guān)聯(lián)非常密切,直接修改表內(nèi)容會引起很多意想不到的問題,并且一旦出現(xiàn)問題,查錯和恢復(fù)非常困難。所以ERP系統(tǒng)一般都提供開放性接口,用于和其它系統(tǒng)的集成。這些接口程序還用來驗(yàn)證輸入數(shù)據(jù)的完整性,確保符合業(yè)務(wù)規(guī)則。但并非所有ERP系統(tǒng)中的實(shí)體都具有開放性接口,所以有些數(shù)據(jù)的錄入只能手工進(jìn)行。因此交換數(shù)據(jù)內(nèi)容定義和接口點(diǎn)的確定成為解決問題的關(guān)鍵。
參考一般MIS系統(tǒng)的系統(tǒng)接口方案設(shè)計(jì)方法,結(jié)合ORACLE ERP系統(tǒng)的特點(diǎn),本方案設(shè)計(jì)步驟如下:
1、系統(tǒng)邊界定義
理論上講,ERP系統(tǒng)可以管理企業(yè)內(nèi)所有的活動,DRP系統(tǒng)也可以完成分銷業(yè)務(wù)中對所有物流、資金流、信息流的控制。但是在對接口方案的最優(yōu)化處理時(shí),必須對兩個系統(tǒng)的職能邊界、地理邊界、功能邊界進(jìn)行定義。
系統(tǒng)邊界定義和接口方案設(shè)計(jì)的后續(xù)步驟緊密相聯(lián)。在本方案的設(shè)計(jì)中,實(shí)際上采取了根據(jù)后續(xù)步驟的分析結(jié)果,不斷調(diào)整系統(tǒng)邊界定義的方法。
2、交換數(shù)據(jù)內(nèi)容定義
按本文分析,接口方案的關(guān)鍵是交換數(shù)據(jù)內(nèi)容定義和接口點(diǎn)的確定,并且兩者是有聯(lián)系的。如果接口點(diǎn)確定在成品入庫或者成品出庫,交換數(shù)據(jù)的內(nèi)容和流向就不同。但是在未定義交換數(shù)據(jù)內(nèi)容前,接口點(diǎn)更無法確定。經(jīng)驗(yàn)證明:解決這一矛盾的最好方法是首先定義交換數(shù)據(jù)內(nèi)容,然后確定接口點(diǎn)。如果接口點(diǎn)無法確定,再調(diào)整交換數(shù)據(jù)內(nèi)容。
定義交換數(shù)據(jù)內(nèi)容的具體方法是:
(1)確定系統(tǒng)劃分邊界條件和交換數(shù)據(jù)內(nèi)容的靜態(tài)部分。靜態(tài)數(shù)據(jù)是指產(chǎn)成品編碼、分銷機(jī)構(gòu)編碼等信息。這部分信息相對穩(wěn)定,但是并非永遠(yuǎn)不變。靜態(tài)信息原則上應(yīng)由由ERP系統(tǒng)維護(hù)。這樣做的理由仍然是ERP的接口表功能限制太多。另外一些靜態(tài)信息,如客戶編碼,應(yīng)該由分銷系統(tǒng)維護(hù)。但是由于分銷系統(tǒng)的功能足夠管理分銷機(jī)構(gòu)的每筆銷售業(yè)務(wù),在ERP系統(tǒng)中則沒有必要保留這些信息,所以沒有必要交換客戶編碼這些信息。經(jīng)過對兩個系統(tǒng)的所有實(shí)體的列表后的認(rèn)真分析,確定交換數(shù)據(jù)內(nèi)容的靜態(tài)部分的內(nèi)容有產(chǎn)成品編碼、組織機(jī)構(gòu)編碼、產(chǎn)成品定價(jià)等。
(2)確定交換數(shù)據(jù)內(nèi)容的動態(tài)部分。動態(tài)數(shù)據(jù)指總部和分銷機(jī)構(gòu)業(yè)務(wù)發(fā)生時(shí)顯示數(shù)量、日期、金額的部分,如庫存、采購單、出入庫單、貨物發(fā)運(yùn)和接收明細(xì)等。在系統(tǒng)邊界確定的情況下,經(jīng)過認(rèn)真分析,確定交換數(shù)據(jù)內(nèi)容的動態(tài)部分的內(nèi)容有定單、客戶信息、回款信息、收貨情況、退貨情況、發(fā)貨情況、收款情況、工廠庫存等。
3.確定接口點(diǎn)
接口點(diǎn)組成兩個系統(tǒng)的邊界。邊界由多個接口點(diǎn)組成。對每個接口點(diǎn)數(shù)據(jù)交換點(diǎn)量的確定原則是首先分析交換數(shù)據(jù)的大小,單位按行計(jì)算。具體方法如下。
通過這種方法,本方案確定了所有接口點(diǎn)。接口點(diǎn)的位置實(shí)際上已經(jīng)隱含在可由交換數(shù)據(jù)的動態(tài)部分和靜態(tài)部分的內(nèi)容中。
4.硬件方案
采用一臺PC SERVER作為接口服務(wù)器,配置兩個3COM公司生產(chǎn)的網(wǎng)卡分別連接ERP和DRP系統(tǒng)。
5.軟件方案
接口服務(wù)器采用WINDOWS 2000 SERVER作為操作系統(tǒng),可以通過IE 5.0登錄到兩個系統(tǒng)。由于兩個系統(tǒng)都采用ORACLE 8.1.6數(shù)據(jù)庫,接口服務(wù)器也安裝同類數(shù)據(jù)庫,通過ORACLE NET 8和兩個系統(tǒng)的數(shù)據(jù)庫連接。ERP系統(tǒng)的DBA對接口服務(wù)器管理員賦予只讀權(quán)限。
接口服務(wù)器安裝DELPHI 5.5 ENTERPRICE用于接口軟件的開發(fā)。
6.接口服務(wù)器初始化
在系統(tǒng)接口服務(wù)器開始工作前,首先對系統(tǒng)進(jìn)行了初始化。在接口服務(wù)器開始工作以后,需要交換的ERP系統(tǒng)中的靜態(tài)數(shù)據(jù)一旦發(fā)生變化,初始化工作就要重新進(jìn)行,所以接口服務(wù)器上開發(fā)了專用的初始化程序。初始化工作結(jié)束后,兩個系統(tǒng)的靜態(tài)數(shù)據(jù)完全保持一致。
7.系統(tǒng)接口服務(wù)器管理員工作制度
系統(tǒng)接口服務(wù)器按管理員設(shè)定的時(shí)間自動定時(shí)讀取兩個系統(tǒng)中需要交換的數(shù)據(jù)。讀取DRP系統(tǒng)數(shù)據(jù)的頻率為每次間隔30分鐘,讀取ERP系統(tǒng)的頻率為每次間隔60分鐘。每次獲得數(shù)據(jù)后,管理員訪問DRP系統(tǒng)數(shù)據(jù)庫,把從ERP系統(tǒng)中讀取的數(shù)據(jù)寫入;同時(shí)把需要寫入ORACLE ERP系統(tǒng)的數(shù)據(jù)按系統(tǒng)要求的INTERFACE TABLE格式生成相應(yīng)EXECLE表格,通過DATALOADER輸入到ERP系統(tǒng)。DATALOADER是ORACLE提供的模擬鍵盤錄入工具。在輸入過程中有時(shí)會有意外出現(xiàn),所以還需要人工監(jiān)督以提高輸入效率。還有一部分?jǐn)?shù)據(jù),如大客戶信息,由于數(shù)據(jù)量較小,仍以純手工方式錄入ERP系統(tǒng)。
接口服務(wù)器開始工作以后,每次交換的數(shù)據(jù)在處理完畢后保存為歷史記錄,作為在數(shù)據(jù)發(fā)生錯誤時(shí)確定事故責(zé)任的依據(jù)。
8.確定過渡階段數(shù)據(jù)處理方式
由于兩個系統(tǒng)實(shí)施范圍的不同步,系統(tǒng)間接口必然涉及DRP系統(tǒng)單獨(dú)運(yùn)行和ERP系統(tǒng)部分運(yùn)行兩個過渡階段的接口方法。
在DRP系統(tǒng)單獨(dú)運(yùn)行階段,接口方式完全采用人工錄入的方法。由于這個時(shí)候上線的分銷機(jī)構(gòu)只有5個,數(shù)據(jù)量不大,而且可以從中總結(jié)出一些提高效率的方法,作為確定接口方案的依據(jù)。
在接口服務(wù)器開始工作后,ERP系統(tǒng)只是在部分工廠上線。對于沒有上線的工廠,仍采用傳真方式或電子郵件進(jìn)行信息傳遞。只是傳真使用新的格式,包含ERP系統(tǒng)和DRP系統(tǒng)所需要的各項(xiàng)數(shù)據(jù)。例如原本需要從ERP系統(tǒng)中讀取的產(chǎn)成品庫存數(shù)據(jù),在過渡階段采用各個工廠每天填寫《產(chǎn)成品庫存表》,然后由接口服務(wù)器管理員負(fù)責(zé)把數(shù)據(jù)錄入兩個系統(tǒng)。
9.接口方案的軟件實(shí)現(xiàn)
在以上步驟全部完成后,需要在對兩個系統(tǒng)不做任何改動的前提下,在不影響兩個系統(tǒng)正常工作的原則下,把接口方案中的軟件功能在接口服務(wù)器上實(shí)現(xiàn)出來。由于本方案時(shí)在局域網(wǎng)內(nèi)完成數(shù)據(jù)接口,所以采用適合開發(fā)C/S結(jié)構(gòu)系統(tǒng)的開發(fā)工具DELPHI 5.5 ENTERPRICE。開發(fā)步驟如下:
(1) 首先建立起接口服務(wù)器和兩個系統(tǒng)的數(shù)據(jù)庫的連接,并在數(shù)據(jù)庫引擎BDE中分別命名為ERP和DRP的數(shù)據(jù)庫別名;
(2) 然后開發(fā)定時(shí)讀取數(shù)據(jù)的任務(wù)列表程序,并把讀取結(jié)果和出錯信息寫入接口服務(wù)器的數(shù)據(jù)庫,由管理員完成自動或手動的數(shù)據(jù)交換。其數(shù)據(jù)流向如上所示。
(3) 系統(tǒng)出錯信息及優(yōu)化處理。在系統(tǒng)開發(fā)過程中對頻繁訪問數(shù)據(jù)庫經(jīng)常容易發(fā)生的系統(tǒng)故障進(jìn)行有效的處理。
三、本接口方案實(shí)現(xiàn)和應(yīng)用情況
本接口方案在開始工作以后,經(jīng)過3個月的運(yùn)行,平均每天通過DATALOADER向ERP系統(tǒng)錄入500行定單,出錯率從80%逐步下降到2%。出錯原因在于ERP系統(tǒng)對接口表中的數(shù)據(jù)驗(yàn)證要求非常高。解決的方法時(shí)找出原因,在DRP系統(tǒng)中增加對有關(guān)數(shù)據(jù)的驗(yàn)證要求,確保讀入到接口服務(wù)器的數(shù)據(jù)滿足導(dǎo)入條件。由于這家企業(yè)的成品偏大,交換一次庫存數(shù)據(jù)耗時(shí)較長,庫存產(chǎn)成品庫存的讀取頻率逐漸改為每天1次。對于輸入ERP的定單不能通過ATP檢查的,定單會被暫掛,處于等待發(fā)運(yùn)狀態(tài)。對于這類定單,利用ERP系統(tǒng)中定單管理模塊的匯總功能打印出報(bào)表,錄入到DRP系統(tǒng)中通知分銷機(jī)構(gòu)。
四、結(jié)束語
本文通過對ORACLE ERP系統(tǒng)和銷售管理系統(tǒng)的接口方法的闡述,解決了ERP系統(tǒng)和DRP系統(tǒng)接口的關(guān)鍵問題,充分利用了ERP系統(tǒng)和DRP系統(tǒng)的功能,提高了企業(yè)在生產(chǎn)、銷售、庫存等方面的管理水平和運(yùn)作效率。通過實(shí)際運(yùn)行,本系統(tǒng)運(yùn)行可靠,完全滿足了企業(yè)運(yùn)營的需要,具有顯著的經(jīng)濟(jì)效益。
作者簡介:郭應(yīng)中,碩士生,研究方向?yàn)橛?jì)算機(jī)應(yīng)用,包括ERP系統(tǒng)、分銷管理系統(tǒng)分析設(shè)計(jì)、數(shù)據(jù)庫技術(shù)、數(shù)據(jù)倉庫等。
參考文獻(xiàn)
[1]BOSS公司.《ORACLE APPLICATION應(yīng)用大全》[M].北京.人民郵電出版社.2001.
[2]ORACLE Corporation.《Oracle Manufacturing APIs and Open Interfaces Manual》.www.oracle.com.
[3] ORACLE Corporation.《Oracle Configuration Interface Object (CIO) Developer’s Guide 》.www.oracle.com.
[4] 唐瓊. 《一種實(shí)現(xiàn)不同網(wǎng)絡(luò)中兩種數(shù)據(jù)庫互聯(lián)的技術(shù)》[J].計(jì)算機(jī)應(yīng)用.2001.Vol.21.No.2:88-89.
[5]李家菁.《CIMS環(huán)境下的銷售管理系統(tǒng)的設(shè)計(jì)》[J].計(jì)算機(jī)應(yīng)用研究.2001.No.3:146-148.
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:ORACLE ERP系統(tǒng)和DRP系統(tǒng)的接口方法
本文網(wǎng)址:http://www.ezxoed.cn/html/consultation/10819923224.html