前言
在大長江集團的質量管理系統QMS項目實施過程中,希望與SAP/R3系統集成,具體要求是在SAP/R3系統進行收貨處理時,相關的物料憑證號、物料號等信息要實時傳入QMS系統中觸發檢驗任務。為此,須對SAP/R3系統進行特別開發,下面簡要介紹了開發過程中采用的方法,對實現SAP/R3系統的其他增強應用有一定參考作用。
一、系統設置
由于我們SAP/R3系統與QMS系統都是采用ORACLE數據庫,因此,需進行以下設置:
1:設置ORACLE的TNS文件
在SAP/R3的應用服務器上設置TNSNAMES.ORA文件,增加對外部數據庫的連接:
2:設置數據庫連接
在SAP/R3系統中,采用事務碼DBCO,對系統進行數據庫連接配置,見下圖:
二、功能實現
為實現由SAP/R3系統訪問外部數據庫,我們必須利用Native Sql。通常,我們在SAP/R3系統環境下編程都是利用Open Sql,它允許我們訪問在ABAP Dictionary聲明的數據庫表,而不用理會SAP/R3系統采用的是何種數據庫系統。而Native Sql允許我們在ABAP程序中用與特定數據庫相關的語句來訪問特定的數據庫, 這也意味著要訪問的數據表并不是由ABAP Dictionary管理的,而是存在于外部數據庫中。
1:自定義功能函數YRFC_QM05_001編寫
在定義功能函數的編寫中,采用Native Sql ,實現信息寫入外部數據庫
(1)連接外部數據庫
(2)信息寫入外部數據庫
(3)切斷外部連接
以上為自定義功能函數代碼中寫入外部數據庫的三個步驟。
三、自定義功能函數調用
自定義功能函數YRFC_QM05_001只能完成由SAP/R3系統向QMS系統寫入相關信息的功能,但如何保證SAP/R3系統在進行配件收貨處理時,系統能調用到這個函數呢?是否需要修改SAP/R3系統的標準程序呢?為此,我們可以采用SAP系統提供Badi增強功能。Badi( Business Add-Ins)是SAP提供的基于ABAP對象的一種新的系統增強技術,每個Business Add-In包含:Business Add-In定義、Business Add-In 接口和實現這個接口的Business Add-In類。
在SAP系統中用事務碼SE19,我們來實現 MB_DOCUMENT_BADI(創建物料憑證時的 BADI)的方法MB_DOCUMENT_BEFORE_UPDATE,見下圖:
雙擊方法MB_DOCUMENT_BEFORE_UPDATE后,可輸入我們自己的代碼:
這個方法確保只有在移動類型為101(對訂單的收貨)且要求為質檢狀態時,系統才會調用我們編寫的函數,實現既定的功能。
四、結束語
通過以上Native Sql和Badi技術的應用,我們在QMS系統與SAP/R3系統的集成過程中,順利地實現了將SAP系統中配件收貨處理后的產生的物料憑證相關信息寫入QMS系統,滿足了QMS系統的特定功能要求,達到了SAP/R3與QMS兩系統集成的目的。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:NATIVESQL和BADI技術在QMS系統與SAPERP系統集成中的應用
本文網址:http://www.guhuozai8.cn/html/consultation/1082028522.html