使用Java+SAP雲平臺+SAP Cloud Connector呼叫ABAP On-Premise系統裡的函式
最近Jerry接到一個原型開發的任務,需要在微信裡呼叫ABAP On Premise系統(SAP CRM On-Premise)裡的某些函式。具體場景和我之前的公眾號文章 Cloud for Customer和微信整合系列教程 描述的場景類似。
區別之處在於Cloud for Customer(C4C)是一個雲解決方案,其OData Service/Web Service能夠直接被Internet網路上的其他應用消費。而我最近要做的原型開發,需要消費的函式位於部署在Corporate Network裡的ABAP On-Premise系統裡,無法直接被Internet應用消費。
為了確保Internet應用能夠訪問Corporate Network系統裡的服務,我們需要用到SAP Cloud Connector, 作為一個溝通橋樑。
這篇文章我假設的場景是:開發一個Java Web應用,部署在SAP Cloud Platform(雲平臺)上。使用者在手機微信裡訪問該應用,呼叫ABAP On-Premise系統裡的函式。
這個場景的主要實現步驟:
-
下載安裝並配置Cloud Connector。Cloud Connector需要和ABAP On-Premise系統同樣位於Corporate Network。
-
在SAP雲平臺上完成必要配置,同Cloud Connector建立連線。
-
開發Java Web應用,部署到SAP雲平臺。
架構圖如下所示。
下面是詳細步驟介紹。
1. Cloud Connector的安裝與配置
安裝完成後啟動Cloud Connector,確保在作業系統的服務列表裡看到Cloud Connector對應的服務:
Cloud Connector的登入介面:
新建一個Connector例項,我命名為Jerry_SCC。Region和Subaccount需要指定成需要連線的SAP雲平臺的對應欄位,這樣才能將該Connector例項同對應的SAP雲平臺建立關聯關係。
Connector例項建立並儲存後,如下圖所示。點選下圖左邊Jerry_SCC下面的選單"Cloud To On-Premise":
在這個介面建立從虛擬系統(virtual system)到ABAP On-Premise系統的一個對映關係。我建立的虛擬系統名稱為my-backend-system, 對映到一個SAP內部ABAP系統AG3。訪問協議(Protocol)指定為RFC。點選檢查按鈕,如果ABAP系統的資訊維護無誤,該ABAP系統的狀態會被標記為Reachable(可訪問)。
Function Name為STFC,Naming Policy為Prefix,意為AG3系統裡所有以STFC開頭的函式均能通過該Connector例項被訪問。
至此Cloud Connector配置完成。
2. SAP雲平臺上的配置
前一步Cloud Connector配置完成後,在SAP雲平臺的Cloud Connectors標籤頁就能看到配置好的例項了。
這一步需要在SAP雲平臺上建立一個Destination以便Java程式使用。這個Destination和ABAP Netweaver事務碼SM59建立的Destination作用相似。
仿照下圖的設定建立一個Destination。我的Destination名稱為my-backend-system-destination, 這個Destination會在下一步被Java應用消費。注意User和Password需要維護成ABAP On-Premise系統對應的使用者名稱和密碼。
點選按鈕Check Connection,確保該Destination工作正常。
3. 開發Java應用,使用第2步建立的Destination
該Java應用的全部原始碼在我的github上:
這裡只講解核心程式碼:
(1) 第28行根據Destination名稱拿到其例項,名稱在第2步SAP雲平臺的配置裡指定。
(2) 第31行,拿到ABAP函式STFC_CONNECTION的控制程式碼。
(3) 第35行,拿到使用者從瀏覽器url裡傳進來的輸入值。
(4) 第38行,將從第35行拿到的使用者輸入賦給STFC_CONNECTION的輸入引數REQUTEXT。
(5) 第42行,執行ABAP函式。
(6) 第45, 46行,得到ABAP函式執行結果。
將這個Java應用從Eclipse部署到SAP雲平臺。具體步驟參考我的知乎文章:
在微信裡測試一下:
輸出:
在ABAP系統的STFC_CONNECTION函式體內設定斷點,在ABAP偵錯程式裡也能觀察到從微信傳進來的使用者輸入:
我在我的知乎專欄上寫了很多關於SAP雲平臺的文章,歡迎關注。
要獲取更多Jerry的原創技術文章,請關注公眾號"汪子熙"或者掃描下面二維碼:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2154719/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何使用 Java 程式透過 SAP Java Connector 呼叫 ABAP 系統的函式試讀版Java函式
- 使用Java connector消費ABAP系統的函式Java函式
- 使用Excel呼叫ABAP系統的函式Excel函式
- 如何在 SAP BTP ABAP 程式設計環境裡直接呼叫 ABAP On-Premises 系統的 RFC 函式程式設計REM函式
- 在SAP雲平臺的CloudFoundry環境下消費ABAP On-Premise OData服務CloudREM
- 使用SAP open connector呼叫第三方系統的APIAPI
- SAP雲平臺上兩個ABAP系統例項之間的互連
- 在 SAP BTP 平臺 Neo 環境裡使用 SAP Cloud SDK 建立應用Cloud
- 核心函式 系統呼叫 系統命令 庫函式函式
- C程式函式呼叫&系統呼叫C程式函式
- SAP Cloud for Customer(C4C)後臺ABAP系統的System ID和client IDCloudclient
- SAP 雲平臺 ABAP 程式設計環境的前世今生程式設計
- ABAP Netweaver, Hybris Commerce和SAP 雲平臺的登入認證
- 在 SAP ABAP Gateway 系統上定義後臺系統的 AliasGateway
- SAP Cloud for Customer和SAP Fiori系統裡的OData測試工具Cloud
- 使用 ABAP 程式碼刪除指定 SAP CRM 系統裡 Opportunity 訂單的文字Unity
- SAP Commerce Cloud 裡的 Site API 呼叫方式講解CloudAPI
- SAP ABAP呼叫WEBAPI(一)WebAPI
- SAP ABAP 平臺新的程式設計模型程式設計模型
- 現在大家可以免費使用SAP雲平臺ABAP環境的試用版了
- SAP ABAP 程式之間的呼叫
- SAP ABAP FB05 清賬函式函式
- 淺談 SAP ABAP 系統裡的 ALV 輸出方式實現
- SAP ABAP使用CDS獲取系統資訊
- 如何在 SAP ABAP 系統中使用 Adobe FormORM
- PostgreSQL函式裡呼叫函式(SETOF + RETURN QUERY)SQL函式
- SAP ABAP Netweaver 裡的 ABAP 會話概念會話
- spring cloud網際網路分散式微服務雲平臺規劃分析--spring cloud系統管理平臺SpringCloud分散式微服務
- SAP 雲平臺上的 ABAP 程式設計環境裡如何消費第三方服務程式設計
- SAP雲平臺裡Global Account和Sub Account的關係
- 在SAP雲平臺的API portal裡建立和管理APIAPI
- SAP雲平臺執行環境Cloud Foundry和Neo的區別Cloud
- python 系統函式呼叫sed分組Python函式
- SAP ABAP CDS view裡的註解在ABAP後臺是如何被解析的?View
- 如何使用SAP Cloud for Customer裡的Data SourceCloud
- 在SAP雲平臺ABAP程式設計環境上編寫第一段ABAP程式程式設計
- SAP ABAP Netweaver 裡的使用者會話概念會話
- SAP雲平臺的Document Service