ABAP Core Data Services (CDS) Views

Ein CDS (Core Data Services) View ist eine Datenbankansicht, die in der SAP-Welt verwendet wird, um auf einer höher abstrakten Ebene Datenmodelle zu erstellen. CDS Views sind Teil des SAP HANA und ABAP-Ökosystems und bieten eine leistungsfähige Methode zur Definition und Nutzung von Datenmodellen in SAP-Systemen. Sie wurden entwickelt, um die Datenmodellierung und -verarbeitung für moderne Anwendungen zu vereinfachen und zu verbessern.


1. Anmeldung in der SAP HANA Studio

Öffnen Sie SAP HANA Studio oder Eclipse und melden Sie sich bei Ihrer SAP-Systemumgebung an.

2. Erstellen eines ABAP-Projekts

- Gehen Sie zu File > New > ABAP Project.
- Wählen Sie Ihr SAP-System aus und melden Sie sich an.
- Wenn Sie bereits ein Projekt haben, können Sie diesen Schritt überspringen.

3. Erstellen eines neuen DDL-Objekts (CDS-View)

- Navigieren Sie zu Ihrem Package oder erstellen Sie ein neues Package, falls erforderlich.
- Klicken Sie mit der rechten Maustaste auf das Package und wählen Sie New > Other > Data Definition (DDL Source).
- Geben Sie einen Namen und eine Beschreibung für das CDS View ein (z.B. Z_MY_CDS_VIEW).

4. Definieren des CDS Views

Die Grundstruktur eines CDS Views wird folgendermaßen aufgebaut:

@AbapCatalog.sqlViewName: 'ZMYCDSVIEW'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Beschreibung des CDS Views'
DEFINE VIEW Z_MY_CDS_VIEW AS SELECT FROM <TABELLENNAME>
{
<Feld1>,
<Feld2>,
<Aggregation>,
...
}

@AbapCatalog.sqlViewName: Der technische Name des SQL-Views.

@EndUserText.label: Ein benutzerfreundlicher Name.

DEFINE VIEW: Gibt den Namen des CDS-Views an.

AS SELECT FROM: Definiert die Tabelle(n) oder andere CDS-Views, die verwendet werden.

5. Felder auswählen und ggf. berechnen

Sie können auch Berechnungen, Aggregationen oder Bedingungsaussagen hinzufügen.

Wählen Sie die Felder aus der zugrunde liegenden Tabelle oder View aus, die Sie in Ihrem CDS View anzeigen möchten.

DEFINE VIEW Z_MY_CDS_VIEW AS SELECT FROM sflight
{
carrid,
connid,
fldate,
seatsmax - seatsocc AS freie_sitze
}
In diesem Beispiel werden die verfügbaren Sitze berechnet.

6. Joins und Associations hinzufügen

- Wenn Sie Daten aus mehreren Tabellen zusammenführen müssen, können Sie Joins verwenden.
- Beispiel eines Joins:

DEFINE VIEW Z_MY_CDS_VIEW AS SELECT FROM sflight AS f
INNER JOIN scarr AS c ON f.carrid = c.carrid
{
f.carrid,
c.carrname,
f.connid,
f.fldate
}

Associations ermöglichen Verknüpfungen zwischen Views:

DEFINE VIEW Z_MY_CDS_VIEW AS SELECT FROM sflight
ASSOCIATION [1..1] TO scarr AS _Carrier ON sflight.carrid = _Carrier.carrid
{
sflight.carrid,
sflight.connid,
sflight.fldate,
_Carrier
}

7. View aktivieren

- Klicken Sie auf Save and Activate (Strg+F3).
- Wenn keine Fehler auftreten, wird der View erfolgreich aktiviert und ist nun zur Verwendung bereit.