Virtual Data Model (VDM): How SAP Models Business Data in S/4HANA

15 min read

Virtual Data Model (VDM)

As SAP S/4HANA evolved, SAP faced a significant challenge.

Thousands of applications, reports, APIs, analytical applications, and Fiori apps required access to the same business data.

If every application directly accessed database tables, several problems would arise:

  • Duplicate Business Logic
  • Inconsistent Calculations
  • Difficult Maintenance
  • Upgrade Risks
  • Tight Coupling with Database Structures

SAP needed a standardized data access layer that could be reused across the entire system.

This led to the introduction of the Virtual Data Model (VDM).

The Virtual Data Model is SAP's standardized CDS-based representation of business data.

Instead of exposing database tables directly, SAP exposes business entities through CDS Views that follow strict modeling guidelines and naming conventions.

Today, the VDM forms the foundation of:

  • SAP Fiori Applications
  • RAP Applications
  • OData APIs
  • Embedded Analytics
  • Standard SAP APIs
  • SAP S/4HANA Business Processes
Virtual Data Model
SAP's Virtual Data Model provides a standardized business-oriented data access layer built on CDS.
Click image to enlarge

What Does 'Virtual' Mean?

The word Virtual often creates confusion.

The VDM does not store data separately.

Data continues to reside in the underlying database tables.

The VDM simply provides a business-oriented representation of that data through CDS Views.

Think of the VDM as a semantic layer that sits between database tables and applications.

Instead of reading raw technical tables, applications consume business-friendly CDS entities.

From Tables to Business Objects

Consider a Sales Order.

The underlying data may be distributed across multiple tables:

  • VBAK
  • VBAP
  • KNA1
  • MARA
  • VBKD

A developer could manually join these tables every time data is required.

However, SAP provides a CDS-based representation of the Sales Order business object through the VDM.

Applications consume the business object rather than dealing with individual tables.

This improves consistency, maintainability, and reuse.

Why SAP Created the VDM

The VDM was designed to achieve several objectives:

Standardization

Provide a single, consistent representation of business data.

Reusability

Allow multiple applications to consume the same CDS models.

Simplification

Hide technical database complexity behind business-oriented entities.

Upgrade Stability

Applications consume released CDS APIs rather than internal database tables.

Clean Core Compliance

Encourage developers to use released interfaces instead of directly accessing SAP implementation tables.

VDM Layering Concept

The Virtual Data Model follows a layered architecture.

Each layer serves a specific purpose.

This separation improves maintainability and promotes reuse.

Database Tables
Basic Views (I_*)
Product, Business Partner, Customer, Supplier
Composite Views
Joins, Calculations, Aggregations, Business Logic
Consumption Views (C_*)
UI Annotations, Search, Filters, Consumption Metadata
Fiori • RAP • APIs • Analytics

Basic Views

Basic Views sit closest to database tables.

They expose foundational business data and establish relationships between entities.

Examples include:

  • Product
  • Customer
  • Supplier
  • Material
  • Sales Document

These views are primarily designed for reuse by higher-level CDS models.

Composite Views

Composite Views combine multiple Basic Views and introduce additional business logic.

They often perform:

  • Joins
  • Calculations
  • Aggregations
  • Business Transformations

Composite Views help create meaningful business structures from multiple underlying entities.

Consumption Views

Consumption Views sit at the top of the hierarchy.

These views are designed specifically for consumption by:

  • Fiori Applications
  • OData Services
  • Analytics
  • APIs

They contain UI-related annotations, search capabilities, filters, and consumption-specific metadata.

This layered approach allows SAP to separate technical modeling from application-specific requirements.

Understanding SAP's Naming Conventions

SAP follows standardized naming conventions within the VDM.

These conventions help developers immediately understand the purpose of a CDS View.

I_* Views

Interface Views.

These are reusable business entities intended for consumption by other CDS Views.

Examples:

  • I_Product
  • I_BusinessPartner
  • I_Customer
  • I_Supplier

These are among the most commonly used released APIs in SAP S/4HANA.

C_* Views

Consumption Views.

These are designed for direct consumption by applications, analytics, and reporting tools.

Examples:

  • C_SalesOrderItem
  • C_BillingDocument

A_* Views

API Views.

These views are specifically released as public APIs for external consumption.

Examples:

  • A_SalesOrder
  • A_BusinessPartner

These APIs are frequently used in RAP and ABAP Cloud development.

Real Project Example: Using I_Product in ABAP Cloud

Imagine you need product information in an ABAP Cloud application.

A traditional developer might attempt to read directly from MARA.

However, MARA is an implementation table and is not released for ABAP Cloud development.

Instead, SAP provides:

I_Product

This CDS View represents the Product business object and serves as the official released API.

Using I_Product provides:

  • Upgrade Stability
  • Clean Core Compliance
  • Business Semantics
  • Future Compatibility

This is the recommended approach in SAP S/4HANA and ABAP Cloud.

VDM and RAP

The relationship between RAP and the Virtual Data Model is extremely important.

RAP Business Objects are built on top of CDS entities.

SAP's standard business objects are already represented through VDM views.

When building RAP applications, developers often:

  • Consume released VDM views
  • Extend VDM entities
  • Create custom CDS entities following VDM principles

This ensures consistency with SAP's architecture and Clean Core strategy.

Why VDM Matters for ABAP Cloud

ABAP Cloud development encourages developers to use released APIs rather than directly accessing SAP tables.

Many of these released APIs are implemented as VDM CDS Views.

As a result, understanding the VDM is essential for:

  • RAP Development
  • ABAP Cloud
  • Clean Core Compliance
  • SAP S/4HANA Extensibility

Developers who understand the VDM can build applications that remain upgrade-safe and aligned with SAP's future direction.

Why the VDM Matters for RAP

RAP is built on top of CDS entities.

In most cases, RAP Business Objects are not created directly on database tables.

Instead, they are built on top of CDS entities that often follow VDM principles.

This provides:

  • Business Semantics
  • Reuse
  • Security
  • Clean Core Compliance
  • Future Compatibility

Understanding the VDM therefore becomes essential for every RAP developer.

Common VDM View Types

View TypePurposeExample
I_*Reusable Interface ViewsI_Product
C_*Consumption ViewsC_SalesOrderItem
A_*Released API ViewsA_BusinessPartner

Architect Perspective

Architect Insight

One of the biggest shifts in SAP S/4HANA development is moving away from table-centric development to business-object-centric development.

In modern SAP development, developers should think in terms of:
  • Product
  • Business Partner
  • Sales Order
  • Supplier
  • Accounting Document

rather than:
  • MARA
  • KNA1
  • VBAK
  • LFA1
  • BKPF

The VDM enables this transformation by exposing business entities through released CDS APIs.

Interview Questions

BeginnerInterview Question

What is SAP's Virtual Data Model (VDM)?

Answer: The Virtual Data Model is SAP's CDS-based business representation of enterprise data. It provides reusable, business-oriented entities that can be consumed by applications, APIs, analytics, and RAP.

ExperiencedInterview Question

What is the difference between I_* and C_* CDS Views?

Answer: I_* Views are reusable Interface Views intended for reuse by other CDS entities, while C_* Views are Consumption Views designed for direct use by applications, analytics, and reporting tools.

ArchitectInterview Question

Why is the VDM important for ABAP Cloud and RAP development?

Answer: The VDM provides released business APIs that support Clean Core principles, upgrade stability, and future compatibility. RAP applications and ABAP Cloud developments are expected to consume released CDS entities rather than directly accessing implementation tables.

💡 Key Takeaway

The Virtual Data Model (VDM) is SAP's standardized CDS-based architecture for exposing business data.

By organizing data into reusable Interface Views, Composite Views, and Consumption Views, SAP creates a consistent, secure, and upgrade-stable foundation for Fiori, RAP, APIs, and analytics.

Understanding the VDM is essential for modern SAP developers because it shifts development away from technical database tables and toward business-oriented APIs and entities.