SAP ABAP CDS View Annotations

Annotations in ABAP Core Data Services (CDS) views enhance functionality by defining metadata, behavior, and UI properties. They help control aspects like security, performance, and visualization.

🔹 Common CDS Annotations

CategoryAnnotationPurpose
General@AbapCatalog.sqlViewNameDefines the SQL view name in the database.
@AbapCatalog.compiler.compareFilterOptimizes filter performance.
Data Exposure@AccessControl.authorizationCheckEnforces authorization using DCL.
UI & Fiori@OData.publish: trueExposes the CDS as an OData service.
@UI.lineItemDefines columns in an SAP Fiori list report.
Performance@VDM.viewTypeSpecifies the type (Basic, Composite, Consumption).
@Analytics.dataCategoryDefines analytical behavior (e.g., Cube, Dimension).

🔹 Example CDS View with Annotations

@AbapCatalog.sqlViewName: 'ZDEMO_CDS'
@AccessControl.authorizationCheck: #CHECK
@OData.publish: true
define view ZDEMO_CDS as select from sflight {
key carrid,
key connid,
fldate,
price
}

This example: ✅ Creates a database view (ZDEMO_CDS). ✅ Enforces authorization (CHECK). ✅ Publishes as an OData service.