
When I started to read about S/4HANA, my first Google was "How to develop on S/4HANA". I could not find any easy guide on how to develop it on the "new world", should I use ABAP, or should I use CDS View? Why should I use BTP if I can develop a system on SAP?
Explaining in a easy way some technical points
What is SAP BTP?
It is a Platform as a Service. It means that you have several services that you can subscribe to paying a fee. For example, Microsoft has Office365, MS Teams, and XBOX as services that you can subscribe to consume. You just need to select the services that you want to use and subscribe to them.
SAP BTP is the same, but you will have some other types of services like a HANA Database, a development workspace, a service to schedule jobs, etc
SAP Discovery Center - Services (cloud.sap)
Is my SAP S/4HANA part of SAP BTP?
No! The SAP S/4HANA or ECC is decoupled from SAP BTP. In addition, you can use SAP BTP services even without an SAP S/4HANA environment
What is SAP ABAP RAP?
SAP ABAP RAP dictates how you should develop CDS Views to be consumed by a Fiori App or an API.
One of the tools of ABAP RAP is the backend of a Fiori development.
For example, you create a Z table that needs to be filled by the user. To do that, you create some CDS Views to select data from the Z table and format the output as the user desires, for example, a report with a create button.
You create a Fiori app to display the data to your user, and when the user clicks on the create button, fills the form with the Z table fields, and then clicks on Save, you will receive the information filled in by the user and then you can validate, create a sequential number, save, etc
What is the SAP CAP?
SAP CAP stands for SAP Cloud Application Programming Model. It is the framework for developing applications on the SAP BTP. With SAP CAP you will be able to create tables using CDS, create HANA artifacts like a calculation view, expose the data from these artifacts using OData, and create the Fiori App that will consume them.
The backend can be developed using Node.JS, Java, and ABAP. So, as happens with SAP ABAP RAP, when the user clicks on Save to create a new entry on your HANA Cloud Database table, you can handle it on your Node.js/Java/ABAP, for example checking if required fields have been filled or a date is valid.
What does it mean?
Initially, even if the system did not involve any SAP Standard functionality, we would create the customer Z table, the module pool, and reports directly on the SAP. Why? The common response from CEOs whom I talked about was due to the complexity of maintaining different programming languages on different systems.
Now, SAP is actively suggesting that any new development that does not need the SAP runtime environment should be done on the SAP BTP (Side-by-Side extension), as SAP BTP is decoupled from SAP S/4HANA.
With this shift, we guarantee that we are not changing the SAP S/4HANA environment
Check the Extensibility options to choose the correct one
Practicing Clean Core Extensibility For SAP S/4HANA Cloud
Benefits of Keeping the Core Clean with SAP BTP - SAP Community
Naturally, it depends on the type of development that you are creating, but here are some guides
For a Side-By-Side extensibility example, please check my personal project https://github.com/vhsouza/MyNewCAPLibrary
If your company does not have access to SAP BTP or just does not want to use it, you should consider the following
What is the problem of continuing to work with classic SAP ABAP? Why should I use CDS (Core Data Services)
SAP has created the Core Data Services (CDS View) language to work with SAP HANA. Instead of copying data from the database to the application server (like ABAP does), CDS does all the logic inside of the SAP HANA Database.
Naturally, it not only leverages SAP HANA performance but also prepares the output to be consumed by APIs and SAP Fiori apps
For the most part of SAP ALVs, it can be easily replaced by creating an SAP Fiori App using Fiori Elements annotations
If you need to perform transactional processing, use BOPF or RAP for it, considering the SAP Help below to use the correct technology according to your environment version
https://help.sap.com/docs/ABAP_PLATFORM_NEW/fc4c71aa50014fd1b43721701471913d/289477a81eec4d4e84c0302...
So, I have a performance issue, is that all?
No, you are also losing the users' performance. Please, check the blog How-To Estimate ROI of Your SAP UX Project | LinkedIn to have a better understanding.
In summary, Fiori provides a better user experience, breaking large transactions into smaller applications, and making your team work better (not only faster)
In addition, just compare a simple SAP Gui Transaction with a Fiori App, and you will find several improvements in what we can do about UX
How do I develop a Fiori app on SAP S/4HANA?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
8 | |
7 | |
7 | |
6 | |
4 | |
4 | |
4 | |
4 | |
4 | |
4 |