ABAP: the SAP back end
ABAP is SAP's own programming language and the language of the S/4HANA back end. It is where tables are defined, business rules run, data is validated and changes are saved. Classic ABAP developers built reports, function modules and SAP GUI transactions. In S/4HANA the same language now builds data models and services that modern apps consume. If you are new to ABAP, start with our list of the top SAP ABAP concepts.
SAP Fiori: the user experience
SAP Fiori is SAP's design system and app family for a simple, role-based, browser-based experience on desktop, tablet and phone. Instead of one screen with dozens of tabs, each Fiori app does one job for one role, for example approving purchase requisitions or checking stock. Fiori apps are built with SAPUI5, SAP's JavaScript UI framework, and opened from the Fiori launchpad, which shows each user the tiles their roles allow.
OData: the bridge between them
Fiori apps never read SAP tables directly. They call OData services, a REST-based protocol for reading and changing data, which the ABAP back end exposes. There are two main ways to build them:
- SAP Gateway service builder (SEGW), the classic approach, where you model entities and write the logic in ABAP classes.
- CDS views and RAP, the modern approach, where the service is generated from the data model and behaviour definitions.
Services are then activated and registered on the gateway so the front end can reach them.
CDS views and annotations
Core Data Services (CDS) views define the data model in the database layer: joins, associations, calculated fields and access control. Annotations on a CDS view describe how the data should appear in the UI, such as which fields are columns, which are filters and how a header looks. That is what lets SAP generate apps with very little front-end code.
RAP: the ABAP RESTful application programming model
RAP is SAP's current model for building transactional services in ABAP. You define the data model with CDS, describe the behaviour (create, update, delete, validations, actions) in a behaviour definition, implement it in ABAP classes, and publish it as an OData service through a service definition and binding. RAP is also the basis for clean-core extensions on S/4HANA and in ABAP Cloud.
Fiori elements versus freestyle SAPUI5
Fiori elements are SAP templates, such as list report, object page and overview page, that build a complete app from an annotated OData service. They are fast to build and consistent. Freestyle SAPUI5 apps are hand-coded in JavaScript and XML views for cases the templates do not cover. Front-end development today is usually done in SAP Business Application Studio or Visual Studio Code with SAP's Fiori tools.
Which skills to learn, and in what order
- Core ABAP: data dictionary, internal tables, SQL, OOP and debugging.
- CDS views and annotations.
- OData services, first with SEGW to understand the mechanics, then with RAP.
- Fiori elements apps on top of your own services.
- SAPUI5 basics if you want to build freestyle apps or move towards full-stack SAP development.
Developers who can take a requirement from CDS view to working Fiori app are among the most useful people on an S/4HANA project. Our comparison of SAP ABAP and SAP ABAP Advanced shows how this path splits into two courses.
Learn ABAP and Fiori skills at Cokonet Academy
The SAP ABAP course builds the core language on a live SAP system, and SAP ABAP Advanced covers CDS, OData, RAP and Fiori elements. Classes run in Trivandrum, Kochi and live online. For a free counselling call, use the contact page or call +91 80754 00500.