張建來(長春軌道客車股份有限公司 信息化部,長春 130000)
SAP系統中RFC技術的基本原理及在企業中的應用
張建來
(長春軌道客車股份有限公司信息化部,長春130000)
摘要:本文主要介紹RFC的基本應用原理及該技術在企業中的應用。讓廣大讀者了解SAP系統中IDoc、BAPI、WebSerivce等接口技術的基礎RFC的基本運行原理,及在企業中的應用。
關鍵詞:SAP 系統;RFC;遠程功能調用
隨著企業的不斷發展,對信息化的要求不斷提升。單一的公司主系統(SAP系統)已經不能夠滿足部分個性化的需求。在個性化的子系統中又與公司主系統的數據具有高度的集成關系。SAP接口技術在各個信息系統之間架起了溝通的橋梁,提高了系統的整合能力。
(1)RFC基礎。RFC是SAP系統之間以及SAP與外部系統之間的通信的基本接口技術。諸多其他更高層的SAP接口和通信技術(比如BAPI、ALE等)都是基于RFC實現的。RFC過程就是系統調用當前系統外的程序模塊,從而實現某個功能,而且調用系統和被調用系統中至少有一個必須是SAPABAP系統。在SAP中,可以提供給其他系統進行遠程調用的程序模塊是支持RFC的功能模塊。
SAP提供的外部接口有三種,分別是:
程序通信接口(與其他系統進行數據交換的通路);文件I/O接口(與其他系統進行文件數據交換的通路;例如將數據從文件上載到程序中,或將運行時數據下載至文件);數據接口(與數據庫的數據交換通路:批輸入、SAPSQL)。
RFC位于程序通訊接口中,RFC是基于CPI-C實現的。而CPI-C是比RFC更底層的數據交換接口。
1)RFC調用過程。在系統間通信過程中,需要區分發送系統和接受系統,RFC調用請求從發送系統中傳至接收系統(被調用系統,也稱為遠程系統或目標系統)。發送請求的系統在通信過程中稱為RFC客戶端,通信的另一方則稱為RFC服務器RFC客戶端發起遠程功能調用以執行RFC服務器提供的功能調用系統和被調用系統均可以使SAP系統或非SAP系統
2)RFC通信的情況。根據通信方式和系統類型,共有如下3 中RFC通信:兩個獨立的SAP系統之間通信;SAP系統作為調用系統,與外部遠程系統(非SAPABAP系統)通信;外部系統作為調用系統,與SAP系統通信
3)SAP接口系統。SAP調用遠程功能的能力是通過RFC接口系統(RFCinterfacesystem)實現的。根據調用方向的不同,RFC接口提供以下兩種服務:
ABAP程序的調用接口(CALLFUNCTION...DESTINATION,SAP系統間調用);非SAPABAP程序的調用接口(SAP系統為外部程序提供RFC支持接口和GUI支持接口,這樣非SAP系統中的外部程序和SAP系統就可以互相調用)。
(2)RFC通訊模式。在SAP系統中的RFC過程擴展為下述幾種不同的模式。
同步RFC:調用系統需要立即接收返回結果
異步RFC:調用系統不需要立即返回結果
并行RFC,實際上是異步RFC
事務性RFC,廣義上也屬于異步通信模式,相關聯的RFC可捆綁至一個事物
隊列RFC,對事務性RFC功能的進一步擴展,實現事務性RFC中各LUW按指定的順序執行
(3)RFC調用總結。各種RFM調用特征及其差異簡要總結如下:
同步RFC必須顯示地通過DESTINATION附加項指定遠程目標。對于異步RFC或事物性RFC實現的RFM調用則可以不顯示地指定遠程目標,系統將使用本地系統的RFC接口。
同步RFC調用需要等待RFM返回結果;異步RFC不需要,但需要通過RECEVICE語句在回調子程序中接收結果;事務性RFM不能接收RFM返回值。
同步異步RFC調用過程,服務器系統必須在調用時可用;事務性RFC無此限制。
同步異步RFC調用過程,允許用戶與遠程系統進行交互對話;事務性RFC不允許。
同步異步RFC調用過程,參數值將直接傳輸至支持遠程調用的功能模塊;事務性RFC的參數值暫時存儲在數據庫中
對于異步RFC,只適用于SAP系統內部或SAP系統之間的調用,不能通過T類型目標連接至外部系統;同步RFC和事物RFC還可以調用非SAP應用。
事務性RFC、隊列RFC支持狀態查詢。
(1)RFCAPI簡介。RFCSDK中的RFCAPI,我們可以實現外部應用程序訪問SAP以及SAP訪問外部應用。SAP為不同的操作系統提供不同版本的RFCSDK;(2)SAPJCo。SAPJCo是SAP組件和Java應用程序之間的中間件和接口實現機制。JCo支持JAVA調用ABAP及ABAP調用JAVA。要使用JCo的前提條件是系統已經安裝了JRE;(3)SAPNCo。SAPNCo是SAP系統和microsoft.Net平臺之間通信的紐帶及開發中間件,該連接器支持RFC和WEB服務,并支持多種MicrosoftVisualStudio.NET應用程序的開發,如Web應用程序、Windows應用程序。
(1)異步處理應用。1)關鍵部件車組層級結構的自動變更;2)跨工廠物料領取。(2)JCo應用。PDMLINK及VPM與SAP系統接口。實現物料、bom、工程更改、的同步。(3)并行處理。應用于較大數據報表的查詢工作,通過后臺作業運行。
SAP系統為企業帶來了先進的管理思想,隨著企業不斷發展,外圍系統不斷增加。為了滿足用戶需求,SAP系統提供了豐富的接口技術。本文重點分析了SAP系統接口的基礎RFC技術。只有對RFC技術熟練的掌握,才能更好的應用SAP系統其他的接口技術。
參考文獻:
[1]東方先生. SAP ABAP開發技術詳解(實例篇).電子工業出版社,2014。
[2]文洋,尹鳳霞 . SAP從入門到精通[M].人民郵電出版社,2010.
[2]黃佳.SAP高級應用開發[M].人民郵電出版社,北京:2008.