How to extend SAP S/4HANA on SAP Cloud Platform – Overview
<< Japanese version is here >>
This is a blog series that focuses on everything that architects will find basic information required to extend SAP S/4HANA on SAP Cloud Platform, and how to find and how to use APIs that consultants and developers actually use to extend SAP S/4HANA. The existence of the backend system API is essential for the development of new custom applications and system integration. We hope that this blog will be useful as a reference when searching for an API efficiently and using it.
This blog series will be posted with the following contents. This blog post is the first and overview of SAP S/4HANA extension development on SAP Cloud Platform. There have been many overview blogs so far, but I will introduce the latest message again as it is the 2020 version.
- Overview of SAP S/4HANA extension development on SAP Cloud Platform << Here
- How to find SAP S/4HANA API
- How to use SAP S/4HANA API
- If API does not exist
- Event integration with SAP S/4HANA
2. Concept of SAP Cloud Platform
SAP Cloud Platform is a Business Technology Platform for extending and integrating SAP applications such as SAP S/4HANA and enabling innovation technology. (It’s PaaS environment specialized in business applications)
We also provide services that realize the following scenarios, centering on cloud-native technology that uses flexible expandability of resources and open technology. The strength of SAP is that we can provide not only individual services but also business solutions that combine them and predefined Out-of-the-Box content. Please refer to the SAP Cloud Platform official website for more details.
2.1 Integration Suite
Securely connect processes, data, people, and devices to integrate on-premises and cloud applications. We provide a wealth of tools such as process integration (EAI) / data integration (ETL), API management, IoT, SaaS connectors, and predefined integration contents for SAP and nonSAP applications.
2.2 Enterprise Extension
As a development and operation platform to extend SAP solutions, we are providing a PaaS environment centered on Cloud Foundry. It is possible to develop applications that combine open technologies and your preferred development languages such as Java, Node.js, and Python. In addition, by using SAP’s original development framework and library, and dedicated SAP extension tools, you can improve connectivity and development efficiency with SAP solutions.
2.3 Intelligent Business Process Management
A total solution that integrates workflow-based business processes with intelligent functions of RPA and chatbots to visualize and automate each process end-to-end. You can combine SAP Cloud Platform Workflow, Business Rules, and Process Visibility services to create extended processes on top of business applications and build differentiated applications from the perspective of intelligent business process management.
2.4 Data-Driven Insights
Real-time analysis is possible by using SAP Analytics Cloud, an analytical solution, and SAP HANA, an in-memory database, on SAP Cloud Platform. It provides pre-defined analytics reports, personalized access to your data, and ad hoc analytics that you can easily embed in your application. By using SAP Data Intelligence, it enables end-to-end processing (data pipeline) that connects any data source and outputs the result of applying machine learning to the data.
2.5 Digital Experience
We provide compatible applications for all channels and devices on a single platform such as portal sites for Employees, Partners like suppliers, and general consumers, deployment of mobile applications using backend data such as corporate systems, new user experience using chatbots, and so on.
In addition, the following two points are provided for the above scenario, which is a feature of the Business Technology Platform for rapidly expanding business processes.
· Reusable business services
Services that built-in machine learning capability (Service Ticket Intelligence, Document Classification, etc. ), master data, tax calculation, etc.
· Predefined contents / Tools for SAP extension
Cloud Platform Integration process flow, intelligent RPA content for SAP S/4HANA, Fiori Elements (UI template), SAP Conversational AI Bot generator, etc.
3. Integration with multi-cloud and Hyperscaler
SAP Cloud Platform has a multi-cloud strategy, with the IaaS layer providing services worldwide in partnership with Hyperscaler such as Microsoft Azure, AWS, and Google Cloud. Also, since it is possible to connect to Hyperscaler’s native service from SAP Cloud Platform cockpit, you can design utilizing the strengths of both SAP and Hyperscaler.
4. SAP S/4HANA Extension
In the above, I explained that you can realize the scenario quickly cannot be realized by the SAP solution alone by using SAP Cloud Platform. In this section, I will first review the extension method in SAP S/4HANA and confirm that APIs and events are important for integration with SAP Cloud Platform.
4.1 In-App extension and Side-by-Side extension
First, SAP S/4HANA has two major extension methods. As shown in the figure below, it is an In-App extension that is an extension within SAP S/4HANA, and a Side-by-Side extension that is an extension that uses SAP Cloud Platform.
The basic concept is not to extend using only one of them, but to use them according to your requirements. This keeps SAP S/4HANA clean and provides a more flexible and rich choice of development and execution infrastructure in the cloud so that you can continue to benefit from the added features of SAP S/4HANA release upgrades.
In other words, In-App extension is performed by means such as parameter setting and key user extension that has a small effect on upgrade, and Side-by-Side extension is used for add-ons, mobile, IoT, machine learning, chatbots, integration, and the scenario that it is difficult to implement by only SAP S/4HANA. From the perspective of the target users, it is suitable for deploying applications in the cloud that are used by not only employees but also partner companies and consumers and can take advantage of the benefits of a cloud environment that continuously provides scalable resources and new functions.
See also here for more information on In-App and Side-by-Side extensions.
4.2 APIs and events
The important thing in Side-by-Side extension is APIs and events of SAP S/4HANA. The API includes RFC-based BAPI of SAP proprietary protocol that has been provided conventionally, SOAP, and REST-based OData API provided by SAP S/4HANA. OData is becoming the center of the API for SAP solutions, and SAP Fiori, the new user interface for SAP S/4HANA, also uses OData. SAP S/4HANA can also trigger events according to actions (registration, modification, deletion) on business objects (sales, purchases, product masters, etc.), and by receiving those events on SAP Cloud Platform, It is possible to achieve tightly coupled extension while being architecturally decoupled. (The figure below is an example of event integration)
4.3 SAP Solution API and Event Catalog Site
As a comprehensive catalog site for APIs and events for these SAP solutions, we have published a website called SAP API Business Hub. This site also includes information on APIs for SaaS solutions such as SAP SuccessFactors as well as SAP S/4HANA and the predefined contents of SAP Cloud Platform mentioned at the beginning of this blog. Also, since the API is published in the Open API format (Swagger), you can also test from this site. This makes it easy to find and test the API without having to log in to each system. We will introduce the details of this SAP API Business Hub in the next blog post, How to Find API. In addition, SAP is also developing a new service called SAP Graph that provides a single API endpoint that focuses on business objects, without being aware of each backend of SAP solutions such as SAP S/4HANA, SAP C/4HANA, and SAP SuccessFactors. (Currently in beta)
4.4 SAP Cloud SDK to improve development efficiency
The SAP Cloud SDK is also provided as a development kit that actually improves coding efficiency. (Provided for Java and Node.js) By using this SDK, you can handle APIs of SAP S/4HANA as a virtual data model (VDM), and write code that guarantees the data type and call OData easily and efficiently. And also you can focus to write business logic so that this SDK provides some features such as abstraction of authentication with the external system in the source code with the destination service of SAP Cloud Platform. We will also introduce the details of this SAP Cloud SDK in the future blog post about the API usage.
4.5 Required skillset
In terms of application development, SAP S/4HANA development skills (ABAP language and various extension frameworks) are of course necessary for In-App extension. On the other hand, in the case of Side-by-Side extension, open technology development skills such as Java are required. Having an API catalog like the above SAP API Business Hub makes it possible to proceed with development by separating the skill set from the backend SAP solution. However, depending on the requirements, there are cases where BAPI, which is an API unique to SAP, or the connection method is used. In these cases, you may need to work with an SAP S/4HANA application consultant or technology consultant.
It is also helpful to have knowledge of both SAP and open technologies when designing the overall architecture.
The following table is a reference for developer skills for In-App and Side-by-Side extensions.
|Skill||In-App Extension||Side-by-Side Extension|
|Platform||SAP NetWeaver||Cloud Foundry|
|Dev. Language||ABAP||Java, Node.js, Python, ABAP, etc.|
|Database||SAP HANA||SAP HANA, PostgreSQL, Mongo DB, etc.|
|UI||Fiori, SAPUI5||Fiori, SAPUI5, Angular, React, etc.|
|Dev. Framework||Exit, BAdI, Key User Extensibility, ABAP CDS, etc.||CAP, RAP, Extension Factory, Spring, etc.|
|API||OData, SOAP, BAPI||OData, SOAP, REST, BAPI|
|Dev&Ops||TMS, ABAP Workbench||Jenkins, Git, etc.|
|IDE||ABAP Workbench, Eclipse(ADT)||Web IDE, Business Application Studio, VS Code, Eclipse(ADT), etc.|
5. Free content for learning
We have introduced the basic information on the concept of SAP Cloud Platform and the extended development of SAP S/4HANA so far. Once you understand the basics of integration with SAP Cloud Platform, you just learn how to use the rich services provided by SAP Cloud Platform and combine open technologies.
Nowadays, SAP provides a lot of free technical information to assist consultants, engineers, and developers. Above all, there is a wealth of information for SAP Cloud Platform, and tutorials for each service and learning steps for each technical field are also provided, so I will introduce the following contents that are very useful for skill expansion.
Online video training. SAP offers a wealth of courses, with one course often updated over four weeks of content, with students taking weekly step-by-step content and validation tests. You can also ask questions about the course during the distribution period. It is possible to take courses after the distribution period, so you can use it at your convenience. This is a very useful training as it takes some time to finish one course.
SAP Tutorial Navigator
Mainly step-by-step tutorial content for SAP Cloud Platform and platform products. This provides content for beginners, intermediate players, and advanced users for each product and service. It is full of useful information from initial setup to practical implementation examples.
Community site for SAP consultants and developers. SAP product management members post the latest information on each product and how to implement it, and consultants and developers who are involved in the implementation of SAP solutions share tips and ideas as a blog. In addition, questions are actively exchanged in the community, so please use it as well.
A summary site that covers learning steps for each field. For example, the learning path is shown for extension development topics for SAP S/4HANA, first, learn the outline of SAP Cloud Platform with openSAP, then learn the extension concept of SAP S/4HANA and SAP Cloud SDK with TechED online video content. If you decide on the topic you want to learn, the curriculum you need is provided, so you can definitely improve your skills.
SAP Help Portal
A standard help site for product technical information. All product and configuration information can be found here. If you don’t know how to use or set about certain services, please try searching SAP Help Portal first. It covers Tips information, code samples, and detailed definition information. Recently, there are many Japanese pages.
The above is the overview of SAP S/4HANA extension in SAP Cloud Platform. How was it? Of course, SAP Cloud Platform also provides a free trial environment, so please give it a try together with the above learning contents.
From the next time onward, we will introduce detailed information related to APIs and events, which are key to extension development, so we hope you will find it helpful.
Outstanding overview. Looking forward to reading the rest of the series. I think this white paper also provides lots of information and context: https://www.sap.com/documents/2020/03/ceeea71f-8a7d-0010-87a3-c30de2ffd8ff.html.
Great summary Susuma!
Thank you for an outstanding article, it helped me have an overall view about extending S/4 HANA on SCP.
As we're thinking about the road map for the UI development for the projects
Can you please advise, how can we choose which technology/library for UI development, among listed UIFiori, SAPUI5, Angular, React, etc ?
For example under some cases Fiori will be recommended, but in the other cases, popular UI library like React will be recommend ?
Appreciate your advice or telling me any reference document for deeper understanding .
Thank you very much
Well written article. It gives good overview on SAP Cloud Platform integration, extension and business transformation capabilities.
I would be very happy about the article number 4: If API does not exist.
Is it available?
Thank you very much.
for read only access you can build your own ODATA service based on a CDS view. Follow this link:
Create and expose a custom CDS view
THANK YOU for those nice blogs Susumu and Makoto!
Great blog Susumu!
I am wondering is the sap cloud platform mandatory for third party applications integration. Why not just making REST API calls directly to the on-prem server.