Core Data Services (CDS) ABAP

Einleitung & Übersicht

(C) Brandeis Consulting

CDS - Abgrenzung

CDS auf der SAP HANA

  • Persistenz und Views
  • HANA SQL

CDS ABAP

  • Fokus auf den Views
  • ABAP SQL
  • Persistenz wird weiterhin per SE11 definiert oder per DDL in den ADT

Die CDS Varianten haben unterschiedliche Syntax. Gemeinsam sind Konzepte wie Annotationen und Assoziationen.

(C) Brandeis Consulting

CDS Versionen

Stand dieser Folien: SAP ABAP 7.53

Release ABAP Platform OP Release Kernel Release
7.57 2022 2022 7.89
7.56 2021 2021 7.85
7.55 2020 2020 7.81
7.54 1909 1909 7.77
7.53 1809 1809 7.73
7.52 - 1709 7.53
7.51 - 1610 7.49
7.50 - 1511 7.45

Änderungen zwischen den Releases
Dokumentation

(C) Brandeis Consulting

CDS Objekte

  • CDS-Views (aka. DDIC based Views)
  • CDS-View Entities (Neu)
  • CDS-Table Functions (Programmierte Views)
  • CDS-Hierarchien (Views, die hierarchische Daten auswerten)
  • Abstrakte CDS-Entitäten (Strukturtypen)
(C) Brandeis Consulting

Was ist ABAP CDS

  • Semantische Datenmodelle
  • Unabhängig vom Datenbanksystem (faktisch immer HANA)
  • Optimiert für SAP HANA
  • Integriert ins ABAP Dictionary
  • Werden in Quelltextdateien (DDL) definiert
(C) Brandeis Consulting

SE11 vs. CDS - Definition (1)

SE11 Views

  • Projektionen
  • Inner Join
  • Spalten umbenennen
  • Filtern

CDS Views

  • Projektion
  • Alle JOIN Arten (Inner, Outer…)
  • UNIONs
  • Parameter
  • SQL-Ausdrücke (z.B. SQL-Funktionen, CASE, Berechnungen)
  • Annotationen
  • Assoziationen
  • Berechtigungen
(C) Brandeis Consulting

SE11 vs. CDS - Verwendung (2)

SE11 Views (2)

  • Strukturtyp im ABAP
  • SELECT aus ABAP
  • Werthilfen
  • Pflegedialoge (SM30/SM34)
  • Generische Extraktoren

CDS Views (2)

  • Strukturtyp im ABAP
  • SELECT aus ABAP
  • Werthilfen
  • OData Services
  • Embedded Analytics
  • RAP (ABAP RESTful Programming Model)
  • CDS Extraktor
  • Virtuelles Datenmodell (VDM)
(C) Brandeis Consulting

CDS Metadata Extensions (MDE)

Mit Metadaten Erweiterungen können Annotationen

  1. Getrennt von der CDS View gespeichert werden und
  2. nachträglich hinzugefügt werden.

Das ist eigentlich ganz praktisch, gerade bei großen Views.

Nachteil der Metadata Extensions ist die Unübersichtlichkeit. Da in Eclipse die CDS Views nach Datei Typ gruppiert sind, erkennt man häufig nicht sofort, das zu dem CDS View noch eine MDE existiert. Wenn man dann Annotationen hinzufügt, haben diese vielleicht nicht die gewünschte Wirkung.

Gleiches gilt für die Berechtigungsprüfungen.

(C) Brandeis Consulting