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
























