概述SAP雲平臺上的ABAP開發環境

1. 概述

ABAP是SAP構建on-premise ERP產品的基礎,現如今,在SAP Cloud Platform上已經支持的ABAP的開發環境,這也讓世界各地的開發人員,使用ABAP語言開發、構建新的Cloud應用程序成爲了可能。

對於開發者而言:可以直接複用已有的ABAP技能,在雲平臺上開發和運行ABAP應用程序;

對於客戶和合作伙伴:他們可以在SCP上使用ABAP增強S/4HANA等以ABAP爲基礎的SAP應用程序;使用ABAP訪問SAP Cloud Platform上的各種服務,例如Integration,document management,機器學習或者IOT等。當然,客戶也可根據自身需求,使用ABAP直接構建新的應用程序。

2. 開發環境

SCP上的ABAP支持基於Eclipse的開發環境,也即ADT(ABAP Development Tools),傳統的SE80工作臺在SCP上不再支持。

ADT支持與Git的集成,可以方便地進行版本管理。

雲平臺上的ABAP是傳統ABAP語言的一個子集,ABAP in Cloud移除了哪些不符合雲平臺的安全規範ABAP的操作,例如直接訪問文件系統。同時一些傳統的report元素也不再可用,例如SE38中的選擇屏幕等元素。ABAP in Cloud支持RESTful的編程模型,包含SAP Fiori和Core Data Services (CDS)。

下圖展示了在Cloud上通過ABAP控制檯輸出“Hello SAP Cloud Platform ABAP Environment”這一操作。可以看到,在Cloud上對於控制檯的調用是通過實現IF_OO_ADT_CLASSRUN這一接口實現的。而對於字符串的輸出是在MAIN方法來實現的,這是不同於傳統ABAP中使用SE38的report和經典的START-OF-SELECTION事件。在Cloud環境中已經不再支持報表程序的創建和運行。

3. 在Cloud上如何增強標準SAP程序

在Cloud上,SAP提供了以下兩種類型的增強方式,也即In-App Extensibility和Side-by-side Extensibility。

In-App Extensibility(應用內的擴展):這種方式允許在SAP標準程序中進行一個小範圍的、可控的增強。例如增加一個字段;在某個事件或流程中,新增一個Validation process。

Side-by-SIde Extensibility (外掛式擴展):基於標準程序提供的服務,開發的低耦合的服務或應用程序。之前這種Side-by-Side的擴展是通過SCP上的Java或Node.js環境完成的,現在也可以通過ABAP來完成這項工作。

需要注意的是,在SCP上支持ABAP運行環境,並不意味着所有on-premise的ABAP增強或ABAP開發的程序可以通過一個簡單的copy-paste操作遷移至Cloud環境。可以複用多少的代碼還需取決於代碼的邏輯和耦合程度,因爲在Cloud環境中,ABAP訪問業務系統只能通過遠程API的方式,而只有那些在Cloud上經過白名單驗證的對象纔是可用的;同時ABAP原有的一些元素在Cloud上也是被限制的,例如對於SAP GUI的訪問等等。因此,很大程度上,對於歷史的增強和代碼在Cloud需要進行重構。

4. 如何訪問

如果已經申請了SAP Cloud Platform上面的Trail用戶,則直接使用Cloud Foundry上的ABAP Trail service即可體驗ABAP in Cloud這一運行環境。

更多相關資料,可以直接訪問SAP官方的學習平臺Tutorial Navigator來進行查找和學習。

https://developers.sap.com/tutorial-navigator.html?tag=products:technology-platform/sap-cloud-platform

發佈了68 篇原創文章 · 獲贊 52 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章