天天看點

如何在 SAP BTP ABAP 程式設計環境裡直接調用 ABAP On-Premises 系統的 RFC 函數

首先登入 ABAP On-Premises 系統,運作事物碼:aco_proxy,為 RFC 函數 RFC_SYSTEM_INFO 和 RFC_READ_TABLE, 生成代理類中繼資料,格式為 xml. 将 xml 檔案另存到本地。

如何在 SAP BTP ABAP 程式設計環境裡直接調用 ABAP On-Premises 系統的 RFC 函數

使用 ABAP Development Tool 登入 SAP BTP ABAP 運作環境,建立一個 Service Consumption Model,類型選擇 RFC:

如何在 SAP BTP ABAP 程式設計環境裡直接調用 ABAP On-Premises 系統的 RFC 函數

生成一個 Proxy Class,我們稍後會在 ABAP 代碼裡,通過這個 Proxy Class 來調用 On-Premises 系統上的 RFC 函數。将前一步驟在 On-Premises 系統裡生成的 metadata.xml, 導入到 Proxy 類生成向導裡。

如何在 SAP BTP ABAP 程式設計環境裡直接調用 ABAP On-Premises 系統的 RFC 函數

激活這個 Service Consumption Model,在自動生成的代理類裡,我們能找到 ABAP 代碼模闆,這個代碼模闆,可以直接拷貝到我們的 ABAP 代碼裡,稍作修改,就能調用 ABAP On-Premises 系統的 RFC 函數了。

如何在 SAP BTP ABAP 程式設計環境裡直接調用 ABAP On-Premises 系統的 RFC 函數
如何在 SAP BTP ABAP 程式設計環境裡直接調用 ABAP On-Premises 系統的 RFC 函數
如何在 SAP BTP ABAP 程式設計環境裡直接調用 ABAP On-Premises 系統的 RFC 函數

注意,需要按照這篇文章提到的步驟,借助 SAP Cloud Connector ,在 SAP BTP Cockpit 上,完成指向 ABAP On-Premises 系統 AG3 的 Destination 配置。

原因是,在 SAP BTP、ABAP 環境和内部部署之間設定連接配接時存在兩個問題:

ABAP 環境“存在”于 Internet 中,但客戶内部部署系統位于防火牆之後

RFC 不支援 Internet

是以,需要建立從内部部署系統到 SAP BTP、ABAP 環境的安全隧道連接配接。

ABAP 環境租戶從 Destination 服務執行個體中擷取目的地。

ABAP 環境租戶通過 Connectivity 服務請求打開隧道連接配接。

連接配接服務告訴雲連接配接器使用管理連接配接打開與此特定 ABAP 環境租戶的連接配接。

雲連接配接器使用其公共租戶 URL 打開到 ABAP 環境租戶的隧道連接配接。

隧道建立後,可用于使用 RFC 或 HTTP(S)協定進行實際資料連接配接。

如何在 SAP BTP ABAP 程式設計環境裡直接調用 ABAP On-Premises 系統的 RFC 函數

繼續閱讀