徐曉琴
摘要:SAP接口技術可以消除SAP系統與其他系統間的信息孤島,提升各系統間的集成度和數據共享性能,整體提高企業的信息資源整合。隨著公司SAP系統與外圍系統的集成越來越多,根據不同的業務需求及系統特點使用了不同SAP的接口技術。本文詳細介紹了SAP系統提供的主要接口技術:RFC、BAPI、BDC、PI、Webservice接口技術,從實例上重點介紹了RFC、BAPI、PI、BDC接口技術原理和使用方法,為其他企業接口需求分析提供了指導作用。
關鍵詞:SAP系統 ;接口技術 ; BAPI
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2018)09-0267-02
1 背景
中信戴卡公司SAP(System Application and Products in Data Processing)系統上線五年來,經過不斷地深化應用,通過實施SAP系統為核心的業務管控體系,全面提升企業現代化管理水平,全面提升企業的運行效率和效益。SAP系統進行全面實施,主要模塊為:MM、SD、PP、FI、CO,建立既滿足企業當前業務形式,又滿足未來拓展需求的系統模式;梳理業務流程,以SAP系統為基礎核心,建立高效、清晰的標準流程;集成CAQ\MES\OA\EDI,采購平臺等系統,以SAP為核心,建立銷售、采購、生產、質量、財務、成本等一體化管理平臺;支持生產的精益管理:利用信息技術和系統集成,實現生產精益管理,使得SAP系統能獲取實時、準確的生產執行數據,進行及時詳細的核算并對高階的生產計劃和決策提供有效支持,實現產品線生產效益的最大化;為經營決策提供及時準確的財務分析以及產品經營數據的分析。通過利用先進的信息技術手段實現集成,從根本上提高企業獲取信息能力,不斷提升企業管理能力和核心競爭力,才能在激烈的競爭條件下占領市場優勢,不斷擴大經營規模。
2 SAP接口技術介紹
2.1 RFC技術
中信戴卡公司SAP系統上線以來,同步開發了許多外圍系統,與SAP系統數據交換均采用的是RFC接口技術。RFC大并發,短時間內加速ECC資源占用;所有集成場景外圍系統發起,系統負載高;每個工廠開發一個新RFC提供類似數據,如物料主數據;同步接口等待時間長,如北美報產頁面等待5分鐘以上,接口可重用性低;缺少監控機制;網絡問題,需要由發起系統核對數據重發。
2.2 BAPI接口技術
BAPI就是模擬一些SAP常規業務操作而封裝好的函數,并能返回業務處理消息。程序開發時候可直接調用BAPI,一般不能修改,只需要收集輸入參數,中間過程交給BAPI處理,成功失敗消息始終通過RERURN表返回。
2.3 BDC批輸入技術
BDC(Batch Data Conversion)是針對一些沒有BAPI的業務操作,通過事務代碼SHDB把用戶的業務操作記錄下來,然后用程序代碼固化下來,重復使用。中信戴卡公司使用BDC技術挺多,但是缺點之一,對于增加新字段等修改需要重新錄屏,操作麻煩;缺點二,對于復雜屏幕的,錄屏編寫的程序執行錯誤,達不到預想狀態。
2.4 SAP PI技術
最近,中信戴卡公司實施了PI系統。通過集成式的信息管理平臺,統合龐雜的業務系統信息流,并藉由平臺提供的系統監管能力,實現單一窗口的運維管理。PI提供的功能:提供同步式的溝通渠道(如,RFC, Webservice),達成實時的數據傳輸;良好的信息管理能力,提供多種訊息管理及查詢機制,方便查詢信息的收送方、傳送時間及資料內容等;確保信息送達,若遭遇問題時,有自動重送的機制;手動發送機制,不需要前端系統再次發送。提供常用的接口(Adapter)類型(A2A/B2B),減少系統間訊息傳送的接口考慮及開發考量;保障數據傳輸及數據內容的安全。
2.5 Webservice接口技術
WebService是構建互聯網分布式系統的基本部件,成為企業集成應用的主要平臺。Webservice通過標準通信協議,目前主要使用SOAP協議。大致流程:在TCODE:SE80下配置代理者或消費者,得到供外部系統調用的WSDL網址或配置外部系統提供的URL,最后通過事務代碼SOAMANAGER進行端口配置即可。
3 接口技術應用
中信戴卡主要產品是輪轂,主要業務系統是SAP系統,與外圍接口系統有OA、EDI、MES、采購管理平臺等進行數據交換,這些外圍系統是SAP系統業務功能的延伸和細化。
3.1 BAPI技術
以EDI平臺調用SAP系統創建銷售退貨訂單為例。
接口程序主要步驟有以下:
1)將采購平臺創建物料的數據作為函數的輸入參數傳過來;
2)將輸入結構數據分別賦值傳給BAPI的輸入參數;
3)CALL FUNCTION調用BAPI,返回信息存放在RETURN結構中。如果RETURN中有E類型行,說明有錯誤,從報錯信息查找問題并更正;如果沒錯誤,則用COMMIT提交完成。
注意:代碼編輯過程中,輸入參數的填充有特殊值或一些技巧需要日常經驗的積累。
CALL FUNCTION 'BAPI_CUSTOMERRETURN_CREATE'
EXPORTING
RETURN_HEADER_IN = ORDER_HEADER_IN
RETURN_HEADER_INX = ORDER_HEADER_INX
IMPORTING
SALESDOCUMENT = LV_VBELN
TABLES
RETURN = RETURN
RETURN_ITEMS_IN = ORDER_ITEMS_IN
RETURN_ITEMS_INX = ORDER_ITEMS_INX
RETURN_PARTNERS = ORDER_PARTNERS
RETURN_SCHEDULES_IN = ORDER_SCHEDULES_IN
RETURN_SCHEDULES_INX = ORDER_SCHEDULES_INX
RETURN_CONDITIONS_IN = RETURN_CONDITIONS_IN
RETURN_TEXT = RETURN_TEXT.
LOOP AT RETURN WHERE TYPE = 'E' OR TYPE = 'A'..
EXIT.
ENDLOOP.
IF SY-SUBRC = 0.
LOOP AT LT_CHKLOG ASSIGNING
CONCATENATE '退貨訂單創建失?。? RETURN-MESSAGE INTO
CONDENSE
ENDLOOP.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'.
WAIT UP TO 3 SECONDS.
LOOP AT LT_CHKLOG ASSIGNING
CONCATENATE '退貨訂單創建成功:' LV_VBELN INTO
CONDENSE
ENDLOOP.
ENDIF.
3.2 BDC批處理技術
BDC工作原理:將需要輸入的數據依次存放在定義好的BDC的結構內表中,執行CALL TRANSACTION命令調用SAP事物代碼TCODE。BDC內表中的數據會按照先后順序放入對應的屏幕字段,成功提交事務,失敗則回滾。下面以創建供應商主數據作為案例來說明BDC工具的導入方法。
TCODE:SHDB下進行錄屏操作。輸入要錄制的事務代碼,按照常規業務操作步驟錄制一筆有效的業務數據。錄制完成后,保存所有記錄。
在SE37中編輯函數代碼
CALL TRANSACTION 'XK01'
USING GT_BDC
MODE P_MODE
UPDATE 'S'
MESSAGES INTO GT_MESSTAB.
輸出GT_MESSTSAB中沒有E類型消息,說明創建成功,commit提交完成事務;如果有錯誤,則根據錯誤消息進行修正。
3.3 PI技術
在SAP端輸入TCODE:SXI_MONITOR查看數據下發情況如下圖1所示:其中花格旗代表下發成功,其他顏色旗代表有問題?;移焓菦]有在ABP程序中COMMIT WORK AND WAIT.紅旗是錯誤。綠旗是scheduled.果有錯誤的,可以點擊進去,下載XML格式進行程序調試查找原因。
PI端數據接收及下發監控。進入Configuration and Monitoring,見圖2,如有錯誤,點擊進去查找具體原因。此外還有其他高級查詢方式,在此不再贅述。
4 結論
本文通過SAP系統接口技術的應用實現了SAP系統與其他外圍系統的集成,保證了數據的一致性和有效性。本文對接口技術分析和業務實現對正在實施SAP的企業具有良好的示范作用和參考價值。隨著SAP系統與外圍系統的接口需求不斷增加,如何根據企業自身的特點定制符合企業發展的接口技術十分重要。
參考文獻:
[1] 黃佳.SAP高級應用開發[M].北京:人民郵電出版社,2008.
[2] 黃佳.SAP業務數據傳輸指南[M].北京:人民郵電出版社,2007
[3] 曾春年,劉洋,董愛強.SAP批量導入數據研究[EB/OL].北京:中國科技論文在線 [2008-10-16].http://www.paper.edu.cn.