Mit den Neuerungen des SAP BW ab 7.4 (ab SP5) ist auch eine neue Möglichkeit der Datenmodellierung und -bereitstellung in Memory verfügbar, die ABAP Core Data Services. Kurz gesagt kann man damit Datenbanktabellen virtuell ummodellieren und erweitern. Wie das funktioniert und welche Möglichkeiten es gibt wird im Folgenden erläutert. ABAP CDS sind sogenannte Entities, die durch das ABAP Dictionary verwaltet werden. Damit unterstützen sie die üblichen Funktionen wie Syntax Checks, Aktivierungsprozesse und Anbindung an das Transportsystem, gehen aber in Bezug auf Funktionalität und Verwendbarkeit weit über die Möglichkeiten einer SE11 hinaus. Bei den Entities handelt es sich um Datenmodelle, die mit einer Data Defintion Language (DDL) angelegt werden. Unterschieden werden die zwei Objekttypen ABAP CDS Views und ABAP CDS Table Functions. Diese wiederrum unterscheiden sich nicht nur in der Funktion, sondern auch in der Verfügbarkeit. Die ABAP CDS Views ermöglichen die Umstellung und Erweiterung von Datenbanktabellen. Vier verschiedene Erweiterungsmöglichkeiten existieren:

  • Expressions - die Umstrukturierung oder Erweiterung einer Datenbanktabelle durch SQL Statements, sowie darin durchgeführte Berechnungen
  • Associations - das Herstellen von Beziehungen zwischen Entitäten in der Art eines Joins mit Kardinalitäten
  • Annotations - die Erweiterung des Datenmodells mit Metadaten, bspw. Typendeklarationen von Tabellenmerkmalen oder Sichtbarkeit von Feldern in einem Frontend Tool
  • Authorizations - die Einbindung von klassischen Berechtigungen in CDS Rollen (PFCG Bedingungen)

Dabei kann man von vielen vordefinierten Lösungen der Modelling Tools profitieren:

ABAP CDS Table Functions ermöglichen die Kapselung von ABAP SQL Codings, um diese in andere Programme einzubinden. Dafür definiert man zuerst die AMDP und die darin enthaltenen Methoden. Anschließend werden die Methoden implementiert und können dann von Programmen aufgerufen werden, wie man es schon von statischen Methoden aus Klassen kennt.

Die Vorteile der CDS:

  • Code Pushdown, d.h. Definition und Konsumierung auf dem DB Server (der nicht zwangsläufig eine HANA DB sein muss)
  • Erweiterung der Möglichkeiten klassischer Datenmodellierung
  • Wiederverwendbarkeit der SAP BW Berechtigungen

Die Nachteile der CDS:

  • Verfügbarkeit der verschiedenen Funktionen ist stark abhängig vom aktuellen Systemstand
  • Viele einzelne Objekte müssen angelegt werden, hoher Entwicklungs- und Wartungsaufwand
  • Nicht alle SAP-zertifizierten Datenbanken unterstützen CDS Parameter

Zusätzlich zum Nutzen im BW System selbst kann man auf die CDS Views eine Datasource setzen. Diese kann man einerseits mittels aufgesetzter ODS View in einen Composite Provider einbinden, andererseits kann man die Daten der CDS View durch diese Datasource auch anderen Systemen (Backend oder Frontend) zur Verfügung stellen.

Die grundsätzliche Verfügbarkeit der CDS Elemente ist an folgende Systemstände gekoppelt:

·       CDS views:

  • Backend: SAP NetWeaver 7.4 SP5
  • Client: ABAP Development Tools (ADT) 2.19

·       CDS table functions:

  • Back end: SAP NetWeaver Release 7.50 SP00
  • Client: ABAP Development Tools (ADT) 2.51

Wobei ab SP5 nicht der komplette Funktionsumfang der CDS Views verfügbar ist. Am besten einfach ausprobieren!