Skip to main content

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.

Old vs New Architectures
FeatureOld (ECC)New (S/4HANA)
LanguageABAPABAP (Back-end), JavaScript/TypeScript (Front-end)
UISAP GUI (Very Old Design)Fiori (Web-based, built with SAPUI5)
DatabaseVarious (Oracle, SQL, etc)SAP HANA
DeploymentOn-PremiseCloud and On-Premise
CustomizationHeavy core modificationsClean core, extensions, side-by-side apps
ECC Vs S/4HANA
Old Interface (ECC)New Interface (S/4HANA)
alt text

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 (Core Data Services)

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

FeatureCAPRAP
LanguageJavaScript/TypeScriptABAP
PlatformStandalone applicationsSAP S/4 HANA applications
DatabaseVarious databasesSAP HANA
Development EnvVarious IDEsABAP Development Tools (ADT) or Eclipse
Use CaseNon-core ERP functionalities (Might need integration with SAP systems)Core ERP customizations

Uses Cases for both

FrameworkUse Case
CAP- Customer feedback form - Marketing dashboard aggregating social media performances
RAP- Add custom fields to existing models - Extend business processes