ABAP CDS (Core Data Services) Views are a modern data modeling framework in SAP development that allows developers to define database views enriched with business semantics, annotations, and associations — directly on the application server. Unlike traditional ABAP Open SQL queries or database-level views, CDS views push data-intensive operations down to the SAP HANA database layer, dramatically improving query performance while making data models reusable across Fiori apps, OData services, and analytics tools.
CDS Views are written using a SQL-like DDL (Data Definition Language) syntax inside the ABAP Development Tools (ADT) in Eclipse. They are the foundation of SAP’s RAP (RESTful Application Programming) model and Virtual Data Models (VDMs) in S/4HANA — understanding CDS is now a baseline competency for any SAP ABAP developer working in modern SAP landscapes.
Table of Contents
ABAP CDS views are database view definitions managed at the ABAP application layer rather than directly in the database. This distinction matters because:
The most significant performance advantage of CDS views is code push-down: complex calculations, aggregations, and joins are executed directly in SAP HANA’s in-memory engine rather than in the ABAP application layer. This eliminates the “select everything and filter in ABAP” anti-pattern that caused performance problems in older SAP systems. For large data sets, the difference can be orders of magnitude.
Annotations are metadata directives embedded in CDS source code that communicate intent to consuming frameworks. Examples:
@AbapCatalog.sqlViewName
@OData.publish: true
@UI.lineItem
@Analytics.dataCategory
@AccessControl.authorizationCheck
Associations define relationships between CDS views declaratively. Unlike hardcoded JOINs, associations are only resolved when a consuming view or query actually navigates the path — making data models more flexible and preventing unnecessary database reads.
CDS views can be exposed as OData V2 or V4 services with minimal additional configuration. In the RAP model, a CDS view with the right annotations and a behavior definition becomes a full Create-Read-Update-Delete (CRUD) OData service that Fiori apps consume directly.
SAP’s Virtual Data Model (VDM) in S/4HANA organizes CDS views into three layers:
Basic views sit directly on top of physical SAP database tables (like BKPF, VBAK, MARA). They define the raw data exposure with minimal business logic — primarily field selection, type casting, and simple calculations. Basic views are the foundation that composite and consumption views build on.
Composite views combine multiple basic views to build richer data models representing meaningful business entities. This is where joins between documents, currency conversions, and business-specific logic are applied.
Consumption views are optimized for specific UI scenarios (Fiori apps, reports) or API surfaces. They carry the heaviest annotation load — UI annotations, search annotations, and analytics annotations that directly drive application behavior.
CDS views are the data model foundation of SAP’s RESTful ABAP Programming Model (RAP) — the recommended approach for building transactional SAP Fiori apps in S/4HANA. In RAP, a CDS view defines the data structure, a Behavior Definition specifies which CRUD operations are supported, and a Behavior Implementation class provides the ABAP logic.
For teams new to CDS, the SAP Community ABAP topic page provides structured learning paths. Our SAP ABAP consultants can also provide hands-on guidance.
CDS views are used to define reusable, semantically rich data models in SAP systems. They power Fiori applications, OData APIs, analytics reports, and form the data layer of RAP-based transactional apps. They replace older data access patterns with a centralized, maintainable data modeling approach.
ABAP CDS views can be defined and used on non-HANA databases, but their full performance potential — especially code push-down for complex aggregations — is realized only on SAP HANA. In S/4HANA environments (which mandate HANA), CDS views are the standard data modeling approach.
Database views (SE11) are defined at the database level with no business semantics beyond field mappings and join conditions. CDS views are defined at the ABAP application layer, carry annotations, support associations, can include calculated fields and currency conversions, and integrate with the entire SAP application framework.
Yes. SAP S/4HANA’s entire Virtual Data Model is built using CDS views. SAP delivers thousands of CDS views in S/4HANA that expose business data for reporting, APIs, and Fiori apps. Custom development in S/4HANA is expected to follow the same CDS-based approach.
Use a CDS view when your goal is to read and expose data — for reporting, analytics, Fiori UI, or OData APIs. Use an ABAP class or function module when you need to write business logic that modifies data, handles complex control flow, or processes transactions. In RAP, CDS views handle the data model while behavior classes handle the transactional logic — the two complement each other.
Fiori apps built on the List Report and Object Page floorplans read their data directly from CDS consumption views annotated with @UI annotations. The Fiori Elements framework automatically generates the UI layout based on these annotations, without requiring custom frontend coding. This is why understanding CDS annotations is essential for any team building Fiori apps in S/4HANA.
@UI
Open SQL is the query language used inside ABAP programs to read data from database tables. CDS views are persistent, named view objects that can be queried via Open SQL — but they also carry metadata (annotations), associations, and push-down logic that simple Open SQL SELECT statements cannot express. Think of CDS views as reusable, annotated data models built on top of the same database tables that Open SQL reads.
SAP Fiori Consultant Emrah Tezcan, who serves as an SAP ABAP & Fiori Consultant at MDP Group, is a highly skilled SAP expert developing enterprise solutions based on ABAP Cloud and the RAP (RESTful ABAP Programming Model) on the S/4HANA architecture. With deep expertise in extensibility approaches aligned with the Clean Core strategy, HANA Output Management, Adobe Forms, and Flexible Workflow processes, Tezcan takes end-to-end responsibility across the entire software development lifecycle (SDLC), from analysis and design to testing/UAT, go-live, and post-production support.
If Human Knowledge Is the Limit, What Lies Beyond for AI?
In November 1971, ARPA set an ambitious goal: a speech understanding system with a vocabulary of 1,000 words and 90% accuracy. By 1976, a system...
What is SAP Cloud Integration (CPI)? Complete Guide
Today, technological developments enable cloud computing to become widespread. The use of cloud-based services is used quite naturally in parallel...
5 Azure Features That Will Benefit Your Business
It’s no secret that more businesses are shifting towards the Cloud. In today’s technological landscape, the effortlessness of foregoing an...
Importance of Supply Chain Management: Key Benefits
In today's world, where competition between organizations is increasing, the way to leave other businesses behind is to increase the satisfaction of...
What is SAP ABAP? Complete Guide and Brief Overview
SAP ABAP (Advanced Business Application Programming) is a high-level, fourth-generation programming language developed by SAP. The word ABAP was...
Advantages and Benefits of SAP Fiori
In this article, the benefits of SAP Fiori to businesses will be discussed. But first, let's introduce SAP Fiori for those who don't know enough...
Slotting Process in SAP EWM: Complete Warehouse Optimization Guide
The slotting process in SAP EWM is one of the most impactful warehouse optimization techniques available in SAP Extended Warehouse Management. It...
How AI Works: No Magic, Just Mathematics
Introduction This article doesn’t attempt to cover every topic in the AI universe or replicate a textbook. Instead, the goal is to give you a clear...
5 Benefits of SAP ERP for Your Business
Nowadays, change, new developments, etc. factors are happening very quickly. For example, supply chain shortages, changing customer needs, market...
Your mail has been sent successfully. You will be contacted as soon as possible.
Your message could not be delivered! Please try again later.