監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價咨詢管理系統(tǒng) | 工程設(shè)計管理系統(tǒng) | 簽約案例 | 購買價格 | 在線試用 | 手機APP | 產(chǎn)品資料
X 關(guān)閉
泛普博客

當(dāng)前位置:工程項目OA系統(tǒng) > 泛普服務(wù)體系 > 泛普博客

基于BAPI的ERP與MES集成研究

申請免費試用、咨詢電話:400-8352-114

來源:泛普軟件

1 前言

企業(yè)資源計劃ERP(Enterprise Resource Plan)已經(jīng)發(fā)展成為當(dāng)今企業(yè)管理軟件的主流,越來越多的系統(tǒng)開始考慮與ERP的集成,制造執(zhí)行系統(tǒng)MES(Manufacturing Execution System)就是其中之一。

MES是制造業(yè)中的一種車間層控制系統(tǒng),它定位于上層計劃管理與底層控制系統(tǒng)之間,所以為了實現(xiàn)企業(yè)的整體信息化,在實施了ERP和MES的制造業(yè)企業(yè)中,將這兩個系統(tǒng)實現(xiàn)集成是必要的。要實現(xiàn)這兩個系統(tǒng)的集成,ERP和MES的開放性是前提,1996年,SAP公司和微軟共同制訂的商業(yè)應(yīng)用編程接口BAPI(Business Application Programming Interface)是一個很好的開放性規(guī)范。當(dāng)前許多ERP廠商已經(jīng)在研究并已實現(xiàn)BAPI,提出了集成解決方案。其中SAP R/3就是一個很好的應(yīng)用產(chǎn)品,它實現(xiàn)了更大的靈活開放性,提高了產(chǎn)品的競爭力。

本文通過對BAPI概念、設(shè)計以及調(diào)用方法的研究,設(shè)計了一個ERP與MES的集成案例來實現(xiàn)對BAPI的應(yīng)用。

2 ERP中的業(yè)務(wù)框架

2.1 業(yè)務(wù)框架技術(shù)

框架的概念已經(jīng)廣泛應(yīng)用于編程中,它可以更好地集成各個獨立的應(yīng)用程序從而便于將來的程序標(biāo)準(zhǔn)化。SAP將這種思想應(yīng)用到了企業(yè)軟件中,形成了業(yè)務(wù)框架的思想。這種思想實質(zhì)上是面向?qū)ο蠹夹g(shù)在企業(yè)軟件中的應(yīng)用擴展。業(yè)務(wù)框架的結(jié)構(gòu)如圖1。

業(yè)務(wù)組件可以看成是ERP中的模塊(例如人力資源模塊就是一個業(yè)務(wù)組件),它是由一些業(yè)務(wù)對象及其功能組成的。業(yè)務(wù)對象是面向?qū)ο蠹夹g(shù)的應(yīng)用,它封裝定義了一些業(yè)務(wù)數(shù)據(jù)、函數(shù)和接口。而且所有的業(yè)務(wù)對象都存放在ERP的業(yè)務(wù)對象倉庫BOR(Business Object Repository)中。同時每個業(yè)務(wù)對象都提供一些業(yè)務(wù)應(yīng)用程序接口。程序可以通過一些預(yù)定的通訊方式進行接口訪問,通過面向?qū)ο蟮姆绞脚c業(yè)務(wù)對象進行通訊。

2.2 業(yè)務(wù)對象體系結(jié)構(gòu)

在業(yè)務(wù)對象倉庫中包含許多業(yè)務(wù)對象,通過業(yè)務(wù)對象的方法來提供BAPI。它們提供了與ERP軟件的高級接口,使得ERP組件能夠進行面向?qū)ο蟮耐ㄓ?。業(yè)務(wù)對象封裝業(yè)務(wù)數(shù)據(jù)和業(yè)務(wù)過程,同時隱含最底層的數(shù)據(jù)結(jié)構(gòu)和實現(xiàn)方法。

2.3 業(yè)務(wù)框架中數(shù)據(jù)訪問的方式

通常erp系統(tǒng)中數(shù)據(jù)的訪問是通過直接訪問底層數(shù)據(jù)庫的方式來實現(xiàn)的,要實現(xiàn)系統(tǒng)之間的集成,數(shù)據(jù)的傳輸和訪問是最基礎(chǔ)的。由各種語言開發(fā)的外部系統(tǒng)要訪問ERP系統(tǒng)的數(shù)據(jù),最基本的是利用JDBC/ODBC方式進行數(shù)據(jù)的直接訪問。但是,有時ERP系統(tǒng)的數(shù)據(jù)庫并不是完全開放的。隨著業(yè)務(wù)框架技術(shù)的引入以及業(yè)務(wù)應(yīng)用程序接口(BAPI)的出現(xiàn),ERP的數(shù)據(jù)訪問就有了一個高效的接口。同時業(yè)務(wù)框架提供了一個數(shù)據(jù)庫的接口——數(shù)據(jù)字典,它是一種能夠定義和管理數(shù)據(jù)類型和結(jié)構(gòu),以及定義管理數(shù)據(jù)表及其視圖的工具。通過數(shù)據(jù)字典可以進行底層數(shù)據(jù)庫的基本操作,這樣就為用戶對ERP的二次開發(fā)提供了很方便的工具。

3 BAPI實現(xiàn)

業(yè)務(wù)應(yīng)用程序接口(BAPI)被定義為業(yè)務(wù)對象的方法,內(nèi)部軟件組件的集成和外部客戶開發(fā)的應(yīng)用系統(tǒng)的集成都能使用BAPI。BAPI是在業(yè)務(wù)對象倉庫(BOR)中定義的業(yè)務(wù)對象的方法,通過能被遠程調(diào)用的功能模塊(Function Module)來實現(xiàn)。功能模塊是在功能模塊庫中設(shè)計定義的,用于對可供訪問輸入輸出參數(shù)。BAPI實施的步驟如下:1) 在數(shù)據(jù)字典中定義BAPI中需要用到的數(shù)據(jù)結(jié)構(gòu);2) 實現(xiàn)BAPI的基于RFC協(xié)議的功能模塊設(shè)計;3) 在業(yè)務(wù)對象倉庫中將BAPI定義為商業(yè)對象的方法。

4 ERP與MES集成信息分析

MES作為一個車間層的信息采集處理系統(tǒng),并沒有一個共同的標(biāo)準(zhǔn),也就是說不同行業(yè)的MES系統(tǒng)可能差別很大。因此先行的MES系統(tǒng)一般都是具體針對某個行業(yè)開發(fā)的,但是通過分析它與ERP系統(tǒng)的聯(lián)系,我們發(fā)現(xiàn)MES系統(tǒng)主要需要的是ERP的數(shù)據(jù),包括物料、生產(chǎn)數(shù)量、完工日期、標(biāo)準(zhǔn)物料、標(biāo)準(zhǔn)生產(chǎn)工藝等信息,這些信息主要包含在ERP中的物料主數(shù)據(jù)以及生產(chǎn)訂單中。MES系統(tǒng)收集到這些信息后可以用來指導(dǎo)底層控制系統(tǒng)從而控制車間的生產(chǎn)。

另一方面,為了便于信息的分析與處理,我們可以將MES采集的信息傳遞到ERP中,通過ERP比較強大的報表處理功能來進行信息的統(tǒng)計與處理。

5 ERP與MES集成模型設(shè)計與實現(xiàn)

5.1 集成方案設(shè)計

根據(jù)某半導(dǎo)體企業(yè)的MES系統(tǒng)需求,通過分析系統(tǒng)數(shù)據(jù),我們需要將ERP中的信息傳遞到MES系統(tǒng)中,同時也需要傳遞一些MES系統(tǒng)的信息到ERP中以實現(xiàn)信息的交互?;谶@樣的分析,設(shè)計了一個ERP與MES系統(tǒng)集成的模型。所采用的ERP系統(tǒng)是SAP R/3系統(tǒng),MES系統(tǒng)是基于C#語言開發(fā)的,底層數(shù)據(jù)庫采用Access數(shù)據(jù)庫。整個系統(tǒng)的集成方案設(shè)計步驟如下:

1) 在原有MES系統(tǒng)中附加數(shù)據(jù)庫表以收集從ERP中下載的數(shù)據(jù)。

2) 在ERP中開發(fā)BAPI接口,用于實現(xiàn)數(shù)據(jù)的傳遞。

3) 在MES系統(tǒng)中附加一個模塊,用于調(diào)用BAPI接口來實現(xiàn)到MES系統(tǒng)附加的數(shù)據(jù)庫表中的數(shù)據(jù)傳遞,并且從這個附加數(shù)據(jù)庫表中抽取數(shù)據(jù)以更新原有數(shù)據(jù)庫。這個模塊采用VB語言進行開發(fā)。同時,通過調(diào)用BAPI接口來實現(xiàn)原有MES系統(tǒng)的數(shù)據(jù)信息上傳到ERP中。集成模型如圖2。

通過對集成信息的分析,在集成功能上,根據(jù)從ERP下載還是上傳數(shù)據(jù),可以分為兩個方面。一方面,開發(fā)BAPI接口實現(xiàn)從ERP下載數(shù)據(jù)到MES系統(tǒng)中,設(shè)計了三個接口:1)下載物料組接口;2)下載物料主數(shù)據(jù)接口;3)下載工作訂單接口;另一方面,開發(fā)BAPI接口實現(xiàn)從MES上傳數(shù)據(jù)到ERP系統(tǒng)中,設(shè)計了一個接口:上傳完工信息接口。通過對這些接口的調(diào)用,可以實現(xiàn)數(shù)據(jù)的傳遞,最終實現(xiàn)系統(tǒng)的集成。

5.2 BAPI接口設(shè)計

下面通過一個例子來說明BAPI接口的設(shè)計。在ERP中采用了R/3的開發(fā)語言ABAP/4來開發(fā)BAPI接口。

根據(jù)對下載物料組接口的設(shè)計過程的描述來說明BAPI接口的設(shè)計。對BAPI接口設(shè)計,首先在業(yè)務(wù)對象庫(BOR)的業(yè)務(wù)對象MaterialGroup中添加方法MaterialGroup.GetList,如圖3。

其次,在Function Builder中創(chuàng)建實現(xiàn)方法MaterialGroup的功能模塊,命名為BAPI_MATERIALGROUP

_GET_LIST,該功能模塊是RFC功能模塊,可以從外部系統(tǒng)調(diào)用該功能模塊。功能模塊包含輸入輸出參數(shù)和實現(xiàn)代碼,輸入輸出參數(shù)的設(shè)計在數(shù)據(jù)字典中進行。

功能模塊的實現(xiàn)代碼是采用ABAP/4語言編寫的,實現(xiàn)代碼的數(shù)據(jù)聲明定義部分如下:

FUNCTION BAPI_MATERIALGROUP_GET_LIST.

CLEAR RETURN.

REFRESH RETURN.

CLEAR R_MATKL.

REFRESH R_MATKL.

CLEAR: PI_SPRAS, PI_LANGUAGE, PI_LANGUAGE_ISO, PI_MATKL,PI_FLAG_WGBEZ.

CLEAR: G_MSGV1, G_MSGV2, G_MSGV3, G_MSGV4.

CLEAR: BAPIWWG5_LANGUAGE, WWG5_LANGUAGE.

PI_FLAG_WGBEZ = SHORTDESCRIPTIONFLAG.

PI_LANGUAGE = LANGUAGE.

PI_LANGUAGE_ISO = LANGUAGEISO.

R_MATKL[] = MATERIALGROUPRANGE[].

CLEAR: G_SUBRC, G_SUBRC_LANGU_PARAMS. G_SUBRC_CHECKS = 4.

最后,通過將功能模塊BAPI_MATERIALGROUP_GET_

LIST指定給業(yè)務(wù)對象的方法MaterialGroup.GetList實現(xiàn)BAPI接口的設(shè)計。

5.3 調(diào)用BAPI接口實現(xiàn)系統(tǒng)集成

在實現(xiàn)系統(tǒng)集成數(shù)據(jù)傳遞的這個附加模塊的開發(fā)中,首先要連接ERP系統(tǒng),即連接R/3系統(tǒng)。通過VB程序來實現(xiàn),連接界面如圖4。實現(xiàn)連接ERP系統(tǒng)的代碼從略。

連接到SAP后我們就可以通過調(diào)用BAPI接口來實現(xiàn)數(shù)據(jù)的傳輸了。調(diào)用BAPI(BAPI_MATERIALGROUP_GET_LIST)的VB代碼從略。

6 總結(jié)與展望

BAPI技術(shù)和業(yè)務(wù)對象技術(shù)為ERP接口的標(biāo)準(zhǔn)化提供了很好的方法。ERP系統(tǒng)的不斷擴展使得ERP的集成需求越來越多,MES系統(tǒng)作為制造業(yè)中的一個重要系統(tǒng),它同ERP系統(tǒng)的集成實現(xiàn)了整個制造型企業(yè)內(nèi)部信息的完整集成交換,這樣的集成提高了企業(yè)的生產(chǎn)效率。本文通過對集成相關(guān)技術(shù)的介紹以及集成模型的設(shè)計開發(fā),展現(xiàn)了如何通過BAPI接口實現(xiàn)企業(yè)系統(tǒng)之間的集成途徑。隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,越來越多的系統(tǒng)開始考慮在Web上的應(yīng)用,ERP系統(tǒng)也要跟蹤這一發(fā)展方向。Web上的ERP系統(tǒng)的應(yīng)用必然導(dǎo)致在Web上集成ERP系統(tǒng)以及其他應(yīng)用系統(tǒng)方向上的研究,面向?qū)ο蠹夹g(shù)形成的業(yè)務(wù)框架、業(yè)務(wù)對象以及BAPI同樣會有一個很好的應(yīng)用空間。(萬方數(shù)據(jù))

發(fā)布:2007-04-27 15:51    編輯:泛普軟件 · xiaona    [打印此頁]    [關(guān)閉]
相關(guān)文章:

泛普泛普博客其他應(yīng)用

泛普OA商務(wù)合同 泛普OA需求調(diào)研 泛普OA實施方案 泛普OA項目啟動 泛普網(wǎng)絡(luò)硬件配置 泛普OA部署安裝 泛普流程模板表單 OA系統(tǒng)二次開發(fā) 泛普常見問題解決 泛普OA操作手冊 泛普軟件項目驗收 泛普培訓(xùn)推廣上線 泛普OA售后服務(wù) 泛普新聞 泛普期刊 泛普博客