SAP ABAP Service on SAP Cloud Platform
On September 26th, Björn Goerke, Chief Technology Officer of SAP, announced another milestone of SAP’s Platform as a Service offering i.e. ABAP on Cloud.
Motivation for SAP
This announcement brought smile and increased confidence in SAP for following groups
- Developers – Thousands of the ABAP Developer who were side-lined by coming of new Technology such as IOT, Blockchain, SAP UI5, Node.js etc. can now again use ABAP on SAP Cloud Platform and will become important part of S/4HANA Digital Journey
- Customer – SAP is the market leader in ERP has a huge Customer Base running business critical application on on-premise. It is SAP Strategy to help these customers transform their digital core to cloud. SAP resolved customer following issues with the release of ABAP on cloud
- Customer were worried about the investment in the on-premise custom extensions during migration to Cloud. Now with the new release, the existing investment can be re-utilized on Transition to Cloud
- The number of ABAP developers who understand the customer landscape, business processes and are supporting the custom development.
- Customers got more convinced when partners and SAP started implementing more SAP S/4HANA Cloud and even migrating SAP boxes to public cloud such as Azure, AWS etc.
ABAP in SAP Cloud Platform
Now the SAP Cloud Platform will enable ABAP alongside Node.js, JAVA etc. for following reasons
- Creating Cloud Based Application
- Develop new application by SAP or by partner such as
- Extending On-Premise and on-Cloud Based Application
- Develop extensions for SAP Core solutions
- Support code migration of on-premise custom code to extensions in the cloud
- Transform ABAP Based Code to the Cloud
- Develop new apps with Restful ABAP Programming Model
SAP Cloud Platform consists of a lot of components and supported processes. Following features and characteristics are helpful to provide additional value for ABAP in SAP CP:
- Seamless integration into SAP Cloud Platform solutions
- Reuse of existing SAP Cloud Platform business services (e.g. document handling)
- Reuse of existing SAP Cloud Platform core services (e.g. monitoring, metering)
- Standard operations approach
- Multi cloud support
SAP’s strategic decision to consolidate all PAAS offerings with SAP Cloud Platform offers significant additional value for customers (one cloud platform) and for SAP internally (reduced effort due to reuse of components and standard processes). There are following different options to offer ABAP in SAP Cloud Platform:
- Neo infrastructure – This infrastructure is well established, but not strategic and will not be able to support ABAP as an independent language. As per SAP, Cloud Foundry is the future forward for the Cloud Platform
- Cloud Foundry Infrastructure – Currently, Cloud Foundry is the strategic application platform within SAP Cloud Platform. It fulfills the must-have PAAS requirements.
High Level Architecture of SAP Cloud Platform Applications
Currently Java or Node.js application on SAP Neo or Cloud Foundry are connected to S/4HANA Cloud or other on-premise systems by either creating Destination or direct HTTP. The same concept will be extended to the ABAP application.
When to use SAP Cloud Platform ABAP Services
With the introduction of ABAP, Developers now has multiple choice to develop the applications. The development language can either be ABAP, Java, Node.Js or anything else. As Cloud ABAP is currently in evolving phase so service will be utilized for below main scenarios
- Side by Side extensibility for SAP S/4HANA Cloud
- Side by Side extensibility for SAP S/4HANA On-Premises
- Support custom code migration for transition towards S/4HANA Cloud
- Partner Side by Side Application Development on ABAP
Just as an example, if we have to develop a Chatbot, IOT or Blockchain based application then will use either of the Java, Node.js application instead of ABAP. I will use ABAP when have to integrate the backend system such as S/4HANA or SOH.
Just a suggestion for code migration to SAP Cloud Platform, the amount of code reuse heavily depends on the quality and nature of the custom or partner code. Loosely coupled add-ons with a clear interface to SAP objects will have a significant code reuse. Freestyle custom code interwoven with SAP objects might imply a complete rewrite.
Important Points for Developers
- ABAP in Eclipse will be used as a starting point for doing development. This is similar to ABAP on HANA developments
- ABAP in SAP CP only contains the ABAP Platform stack including technology layers for Business Warehouse and for application reuse.
- ABAP in SAP CP may refuse access to certain technology variants, transactions or tools, e.g. SAPGUI, SE80
- Selected number of development objects is supported on the Cloud. Some objects like Webdynpro will not be supported.
- Odata or API’s will be used heavily to integrate the Cloud Application with S/4HANA Public Cloud or other systems.
- Only whitelisted SAP objects or API’s can be used by Developer to eliminate the use of deprecated ABAP functionality and also to control the custom developments.
- GIT and other tools will be used on Cloud Platform to manage development, deployment and for Continuous Integrations
- As Core Data Services are important for the S/4HANA, Similarly Core Data Services will be used for extracting the data on Cloud Platform
- Developers will have to read and write from backend system via remote interfaces such as Odata or whitelisted API’s instead of creating redundant tables such as ACDOCA, MARA in Cloud and replicating data between systems
- Important point to consider will be the upgrades of the SAP CP ABAP Services and impact on the custom code by developer
- ABAP on Cloud will be offered as a multi-tenant on SAP Cloud Platform i.e. separate tenant for each and every customer
In my next article, I will show how to move our existing code to SAP Cloud Platform.
Thanks & Regards,
If you are copy-pasting from other texts then at least consider making adjustments for the year. September 26th was in 2017. It's already 2018.
Jelena Perfiljeva .. I don't make mistakes while copying 🙂 I didn't copied that why you can see a mistake