概述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

猜你喜欢

转载自blog.csdn.net/nkGavinGuo/article/details/104093084