Overview
ABAP
It is a SAP proprietary programming language that was used primarily to develop early SAP ERP apps. It handled both front-end and back-end logic. With the release of SAP S/4HANA, ABAP is now mainly used for back-end logic, while front-end is handled by modern web technologies like SAPUI5/Fiori.
| Feature | Old (ECC) | New (S/4HANA) |
|---|---|---|
| Language | ABAP | ABAP (Back-end), JavaScript/TypeScript (Front-end) |
| UI | SAP GUI (Very Old Design) | Fiori (Web-based, built with SAPUI5) |
| Database | Various (Oracle, SQL, etc) | SAP HANA |
| Deployment | On-Premise | Cloud and On-Premise |
| Customization | Heavy core modifications | Clean core, extensions, side-by-side apps |
| Old Interface (ECC) | New Interface (S/4HANA) |
|---|---|
![]() | ![]() |
SAP HANA
Instead of using traditional databases like postgreSQL, MySQL, or Oracle, SAP developed its Database called HANA. Its main goal is achieving high performance and real-time data processing. It achieved that by storing its data in Memory (Similar to Redis) and using columnar for enhanced data compression and faster read operations.
SAP RAP & CAP
Both are full-stack developing frameworks that guide developers on:
- How to structure your project
- How to define your data model
- How to implement business logic
- How to expose your application as a service (e.g. OData)
- How to create a user interface (e.g. Fiori)
- How to handle security and authentication
- How to deploy and manage your application
- .etc
CDS is a framework to define and consume models. While not exactly the same, it is similar to ORM (Object Relational Mapping) like Prisma. It allows you to define your data model in a simple and concise way, and then generate the necessary database tables and APIs (e.g. OData) automatically. More about OData
Differences
| Feature | CAP | RAP |
|---|---|---|
| Language | JavaScript/TypeScript | ABAP |
| Platform | Standalone applications | SAP S/4 HANA applications |
| Database | Various databases | SAP HANA |
| Development Env | Various IDEs | ABAP Development Tools (ADT) or Eclipse |
| Use Case | Non-core ERP functionalities (Might need integration with SAP systems) | Core ERP customizations |
Uses Cases for both
| Framework | Use Case |
|---|---|
| CAP | - Customer feedback form - Marketing dashboard aggregating social media performances |
| RAP | - Add custom fields to existing models - Extend business processes |

