Let's begin by considering the following scenario:
The new risk management application should be developed using the SAP Business Application Studio (BAS) on SAP BTP. There are several options and runtime environments available:
- ABAP Environment
- Cloud Foundry Runtime
- Kyma Runtime
Before choosing a runtime, it is essential to familiarize yourself with the level of knowledge in your development department. If the developers only have ABAP knowledge, the decision for an extension written in ABAP, which in the end runs on the ABAP environment in the cloud, is obvious.
Let's presume your development team consists mainly of developers with Node.js knowledge. Therefore, the company decided to develop an extension with SAP's Node.js-based Cloud Application Programming Model (CAP). The deployment will take place on the SAP BTP, Cloud Foundry Environment - SAP Help Portal.
As part of our development team, you will develop a CAP-based application for risk management.
First, you will deploy your application manually into the SAP BTP, Cloud Foundry Runtime. After that, you will add authorizations and make your application ready for continuous integration and delivery.
Users of this application will then be able to create, edit, and delete risks from this list page. Each risk has the properties of
priority based on each risk's potential.
The risk manager can assign mitigations to the identified risks. Both, risks and mitigations, are stored in the extension's own database. Details like the name of the individual business partner that is authorized to make decisions will be retrieved from our S/4HANA Cloud system.
To view and edit a single risk, the user can select an item. This opens the object page:
Note that we cannot provide a complete SAP S/4HANA Cloud system for this course. Therefore, we have chosen to use the SAP API Business Hub SAP S/4HANA Sandbox, which provides the same OData API for business partners as a real S/4HANA Cloud system.
The following units will guide you through an end-to-end development process from development to automated deployment.