SAP Tables vs CDS Views — Key Differences
Learn the difference between physical SAP DDIC tables and CDS Views, including when to use each and how CDS Views abstract the data model.
Physical Tables vs Virtual Views
SAP S/4HANA stores business data in physical database tables (also known as DDIC tables). These are the actual data containers on the SAP HANA database. CDS Views, on the other hand, are virtual — they do not store data but define how to read and transform data from tables at query time.
When to Use Tables
Direct table access is appropriate when:
- You need raw, unprocessed data for data migration or troubleshooting
- You are writing custom ABAP programs that need maximum performance
- No suitable CDS View exists for your use case
Key SAP tables include BKPF (Accounting Document Header), VBAK (Sales Document Header), and the S/4HANA universal journal table ACDOCA.
When to Use CDS Views
CDS Views are the recommended access path for most scenarios because they:
- Provide business-friendly field names and descriptions
- Handle complex joins and aggregations transparently
- Carry authorization checks (
@AccessControl) - Are the foundation for OData services and Fiori apps
- Offer stability through release contracts (C1)
Comparison Table
| Aspect | DDIC Table | CDS View |
|---|---|---|
| Storage | Physical (stores data) | Virtual (reads data) |
| Field names | Technical (e.g., BUKRS) | Business-friendly (e.g., CompanyCode) |
| Joins | Manual in code | Built into view definition |
| Authorization | None (table-level only) | Row-level via @AccessControl |
| OData exposure | Not directly | Via Service Definitions |
| Stability | May change across releases | Released views have C1 contract |
How They Connect
CDS Views read from tables (and from other CDS Views). You can trace the complete data lineage — from a Consumption View down through Composite and Basic Views to the physical tables — using CDSee's Lineage and 3D Graph features.