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.
SAP Event Mesh for Real-Time, Scalable Integrations
What is SAP Event Mesh? SAP Event Mesh is a cloud service that enables the creation of an asynchronous, event-driven architecture between...
SAP EWM vs SAP WM: Key Differences and Migration Guide
The difference between SAP EWM and SAP WM is a critical question for any organization planning an SAP S/4HANA migration. In short, SAP EWM vs SAP WM...
What Is SAP SuccessFactors? Components, Benefits & SAP Integration Guide
SAP SuccessFactors is a cloud-based Human Capital Management (HCM) suite that covers the full employee lifecycle — from recruiting and onboarding...
SAP EWM Rearrangement: Optimizing the PSA
In the age of digital transformation, the integration between production and logistics is more critical than ever. SAP Extended Warehouse Management...
Desi Calculation in EWM
IntroductionIn EWM Monitor we can display volume by different units of measure. In this blog, I will explain how you can calculate desi as a volume...
Picking in Alternative Units of Measure
Picking in Alternative Units of Measure (UOM) is a valuable feature in SAP Extended Warehouse Management (SAP EWM) that can help businesses...
Are Distillation Attacks the New Industrial-Scale Threat to LLMs?
Introduction How are adversaries stealing the essence of proprietary models through clever prompting, and what can we do about it? Distillation...
What is SAP Signavio Process Transformation Manager?
SAP Signavio Process Transformation Manager, New Centralized Process Management Tool!SAP Signavio Process Transformation Manager is the new process...
EWM – MES Direct Integration for Receiving HUs in EWM
SAP MES (Manufacturing Execution System) is a software solution that helps manufacturers plan, execute and monitor their production activities in...
Your mail has been sent successfully. You will be contacted as soon as possible.
Your message could not be delivered! Please try again later.