67

更新時間: 2016-04-19

廣告

RFC是SAP系統和其他(SAP或非SAP)系統間的一個重要而常用的雙向介面技術,也被視為SAP與外部通信的基本協議。

廣告

1 SAP RFC - RFC概述

      RFC是SAP系統和其他(SAP或非SAP)系統間的一個重要而常用的雙向介面技術,也被視為SAP與外部通信的基本協議。簡單地說,RFC過程就是系統調用當前系統外的程序模塊,從而實現某個功能,而且調用系統和被調用系統中至少有一個必須是SAP ABAP系統。這種遠程功能調用也可在同一系統內部進行(如本地SAP系統內的遠程調用);但通常情況下,調用程序和被調用程序處於不同系統。

2 SAP RFC - RFC基礎知識

       SAP所提供的外部介面包括程序通信介面(communication interface)、文件I/O介面(file I/O interface)以及數據介面(data interface)。數據介面用於在系統內部對程序運行時數據和資料庫數據進行傳遞,其實現技術包括批輸入(batch input)、SAP SQL等。程序通信介面和文件I/O介面則是與其他系統進行數據交換的通路。文件I/O實現文件中數據和運行時數據間的交換(即將數據從文件上載到程序中。或將運行時數據下載至文件)。RFC位於程序通信介面中,以實現外部程序對SAP系統內部數據的訪問。

      RFC是基於CPI-C實現的。CPI-C是比RFC更底層的數據交換介面,它基於TCP/IP或LU6.2協議,其使用比RFC更複雜,一般情況不直接使用。RFC就可在實現邏輯上位於CPI-C的上層,所有RFC的調用都將轉換為CPI-C的調用完成,但作為程序設計人員則不必了解CPI-C的實現細節。

RFC調用過程

     在系統間通信過程中,需區分發送系統和接受系統。RFC調用請求從發送系統(調用系統)中傳至接收系統(被調用系統,也稱遠程系統或目標系統),發送請求的系統在通信過程中又稱為RFC客戶端,通信另一方則稱為RFC伺服器。RFC客戶端發起遠程功能調用以執行RFC伺服器提供的功能。

    其中,調用系統和被調用系統均可以是SAP系統和非SAP系統,此外還可以在SAP系統內部將特定應用伺服器指定為目標系統。

 

RFC通信的情況

    根據通信方向和系統類型,共有如下三種RFC通信:

    *兩個獨立的SAP系統之間的通信;

    *SAPA系統作為調用系統,與外部遠程系統(非SAP ABAP系統)通信;

    *外部系統作為調用系統,與SAP系統通信。

  

RFC介面系統

    SAP調用遠程功能的能力是通過RFC介面系統(RFC interface system)實現的。根據調用方向的不同(SAP系統調用其他模塊或其他系統調用SAP模塊),RFC介面提供以下兩種服務。

(1)ABAP程序的調用介面

(2)非SAP ABAP程序的調用介面。

廣告