ABAP Environment - Development
At this point we want to go into the development process in the ABAP environment and how the development differs from the classic development in R/3 or S/4 on-premise.
Table of contents
In the last article we discussed the platform itself and what ABAP in the cloud actually means for us as developers. In this article, we want to go into the development process in the cloud and how it works for you.
Basics
For the cloud, only SAP Fiori is available as a front end and therefore no old GUI applications. This is to ensure that the applications will continue to work on mobile devices in the future and are also available for touch. This eliminates the part of GUI development and we as ABAP developers have to specialize in Fiori. But don't worry, we don't have to dive into the depths of Javascript development, as SAP provides enough help to provide simple interfaces in Fiori.
In the second step, the ABAP language scope in the cloud is severely limited and we no longer have many older elements available. In itself, it is exactly the right way to fundamentally clean up ABAP and banish many outdated cobol-like constructions from the language in order to modernize them.
In addition to dynpros, reports are no longer available in the cloud; these have been replaced by executable classes, which are only used for test purposes. Actually, only API endpoints are addressed, which then call up our ABAP coding. Whether as a RAP or a job class does not matter in this case, the focus is on the classes and the associated advantages.
Programming models
So far, in the evolution of application development, there have been various programming models that we could use in SAP.
- Classic - The classic list report and screen programming were the standard in ABAP development for many years.
- Fiori - The concept of Fiori was introduced with the mobile development. The applications run in the browser and OData interfaces are developed in SAP (transaction SEGW) that make the data available to the application. For the first time, applications were not written in ABAP, but in Javascript.
- RAP - The latest programming model simplifies the provision of data and provides a standard for web applications based on Fiori. The data basis is provided by CDS views, so that you don't always need new data stores, but the data can be read together dynamically.
RAP
The new programming model from SAP in the ABAP environment relies heavily on new constructs and is based on the HANA database, as core data services are used a lot as the data basis. Furthermore, there is a strong focus on the concept of ABAP OO in order to expand the data model with functions and to implement data validations.
The diagram shows the schematic structure of RAP. At the lowest level, the business object is defined and most of the logic is implemented. The data required for the interface are made available and published in the projection layer. The full scope of the business object or only read access can be provided at this point. Above this is the communication layer, where the various entities are combined to form a service and published; the type of interface involved (UI, API) is specified during publication.
In the future, there are also plans to provide queries and evaluations for the analytics platform so that they can be easily integrated into the SAC (SAP Analytics Cloud).
SAP Objects
How do you find all the objects made available in the system? For this you can find a predefined item "Released Objects" in Eclipse under the respective system. All data elements, CDS views, classes, etc. released by SAP are available here, which you can use in a Steampunk system.
Hint: This is only a current snapshot of the objects; with each release on the ABAP Environment, something will also change in terms of the inventory and scope of the objects.
Conclusion
The development in the cloud is very diverse and many new constructs will arise in the near future. As an ABAP developer, there will be a lot of new things to learn here in the near future. The ABAP environment and RAP will also play an important role in the future, so you should at least look at the basics here.