SQL – Stuctured Query Language


Wenn es um Programmierung im SAP-Umfeld geht, ist SQL vermutlich die nach ABAP am häufigsten benutzte Sprache. Die „Structured Query Language“ ist eine Datenbanksprache, die das Definieren von Strukturen einer relationalen Datenbank beherrscht sowie das Bearbeiten und Abfragen der Datenbestände auf dieser.
SQL gibt es in verschiedenen standardisierten Versionen. Darauf aufbauend beherrscht fast jede Datenbank weitere spezielle Befehle. Die so entstandenen Dialekte machen es schwierig, SQL-Code von einer Datenbank auf eine andere zu migrieren.

SQL besteht im Wesentlichen aus drei Bereichen:

  • der Data Definition Language (DDL), die benutzt wird, um Datenstrukturen zu erstellen und zu ändern (Beispiele: CREATE TABLE, DROP TABLE),
  • der Data Manipulation Language (DML), die dazu da ist, die Daten zu verarbeiten, d.h. zu lesen, zu schreiben und zu löschen (Beispiele: SELECT, INSERT, UPDATE, DELETE),
  • der Data Control Language (DCL), die verwendet wird um die Zugriffsberechtigungen zu verwalten (Beispiele: GRANT, REVOKE).

Datenbankzugriff in SAP über SQL


Das Kernstück eines jeden SAP-Systems ist seine Datenbank. Dort liegen neben den produktiven Daten u.a. auch die zur Benutzung des Systems notwendigen Programme ab. Deshalb war und ist es wichtig, aus dem System heraus mit der Datenbank kommunizieren zu können. 

Bei BW- und ERP-Systemen ohne SAP HANA-Datenbank passiert diese Kommunikation meistens sehr indirekt. Die Aufgaben der DDL übernimmt dort das ABAP Dictionary (Transaktion SE11), in der Tabellen, Strukturen und Datenelemente definiert werden. Dies erfolgt im SAP GUI, ohne dass der Anwender eine Zeile SQL-Code zu sehen bekommt. Die DCL ist überflüssig, da das SAP-System sein eigenes Berechtigungssystem für den Zugriff auf Daten mitbringt. Nur durch Nutzung der DML kommt man in solchen Systemen mit SQL direkt in Kontakt.  

OpenSQL in ABAP

ABAP unterstützt das eigene Open SQL, dass zwar einen geringeren Funktionsumfang bietet als der Dialekt einer speziellen Datenbank, aber eine einheitliche Schnittstelle bereitstellt, um verschiedenste Datenbanken ansprechen zu können. So beugt es Problemen beim Austausch der darunterliegenden Datenbank und einem damit einhergehenden Wechsel des SQL-Dialekts vor. Da die Daten ohnehin nur aus der Datenbank gelesen, dann mit Hilfe von ABAP verarbeitet und wieder zurückgeschrieben werden sollen, stellt Open SQL keine wirkliche Einschränkung dar.  

Image

SQL für HANA

Seit der Einführung der SAP HANA-Datenbank verfolgt die SAP eine andere Strategie: möglichst viele Berechnungen, Lookup- und Join-Operationen sollen schon in der Datenbank erfolgen (Stichwort Code Pushdown), um so von den Vorteilen der In-Memory-Datenbank zu profitieren. Dafür stehen auf Systemen mit SAP HANA-Datenbank neue Werkzeuge zur Verfügung, die den Direktzugriff auf die Datenbank mittels SQL ermöglichen.  

So erlauben sogenannte CDS Views die Abbildung umfangreicher Logiken – umgesetzt in SQL auf Datenbankebene. Dafür müssen die Daten nicht dupliziert werden, alles passiert on-thefly. Dies macht ein Reporting möglich, dass den momentanen Datenbestand zeigt und sich nicht nur nach gewissen Zeitintervallen aktualisiert. Zudem können „ABAP Managed Database Procedures“ (AMDP) BW-Transformationen ersetzen und ermöglichen so die Beschleunigung z.B. von Datenladeprozessen durch Code Pushdown. 

Empfehlung


Systeme mit SAP HANA-Datenbank zeigen ihre Qualitäten erst dann so richtig, wenn sie herausgefordert werden. Durch Verlagerung bestehender ABAP-Logik in die Datenbank lassen sich Prozesse beschleunigen. Ein Reporting mit direkterem Durchgriff auf den aktuellen Datenbestand gewinnt an Aussagekraft.

Ihr Vorteil


  • Schlanke Datenhaltung
  • Schnellere Ladeprozesse
  • Direkteres Reporting

Unser Angebot


Unsere Berater und Business-Intelligence Teams verfügen über die Erfahrung und die Expertise, um die beschriebenen Tools optimal anzuwenden. Vom Konzeption bis hin zur Implementierung stehen wir Ihnen zu Verfügung. Wir schaffen zukunftssichere und robuste Lösungen für die Digitalisierung Ihrer Business Prozesse.

Immer noch interessiert?


Dann kontaktieren Sie uns.



Ihr Ansprechpartner


Fabian Zollikofer
CALEO Consulting GmbH
Am Haag 12
82166 Gräfelfing

  • +49 (89) 41617231
  • +49 (89) 41617239
  • info@caleo.com
  • www.caleo.com