HANA SQL-Konsole

HANA SQL-Konsole

Veröffentlicht am 19. Oktober 2018 von

Jörg Brandeis

| SQLScript |

Um die Sprache SQLScript zu lernen, ist die SQL-Konsole der unterschiedlichen Entwicklungsumgebungen (IDE) das ideale Werkzeug. In diesem Beitrag möchte ich kurz beschreiben, warum die SQL-Konsole nicht nur ein Werkzeug für Nerds ist. Sie ist den anderen Oberflächen, insbesondere der AMDP-Entwicklungsumgebung für BW-Transformationen zum Lernen von SQLScritp sogar erheblich überlegen.

Die zeitliche Trennung von Ursache und Wirkung

Meine Tante hatte in der Mitte des letzten Jahrhunderts das Programmieren von Computern an Großrechnern erlernt. Damals musste man seine Programme noch auf Lochkarten stanzen. Diese wurden dann als Stapel in das System eingelesen und verarbeitet. Die Studenten bekamen dafür im Rechenzentrum nachts jeweils eine kleine Zeitscheibe zugeteilt, da tagsüber der Rechner für wichtigere Aufgaben gebraucht wurde. Nachts wurden also die Programme ausgeführt und am nächsten Morgen konnten die Studenten dann Ihr Ergebnis abholen. Wenn ein Fehler aufgetreten ist, so musste dieser bis zu ihrer nächsten Zeitscheibe korrigiert werden und so weiter...

So kann man das Programmieren auch lernen. Aber schneller geht es, wenn man ein Programm nach Korrekturen immer wieder zeitnah ausführen kann. Ohne lange Wartezeiten und ohne komplizierte Eingabeverfahren der Daten. 

Fehler machen, Fehler erkennen, Fehler korrigieren, Wiederholen... und das innerhalb kurzer Zeit.

Kurze Feedbackzyklen beim SQLScript Programmieren

Und was hat das jetzt mit SQLScript zu tun? Wer die Sprache dadurch lernen will, indem er AMDP-Transformationsroutinen für das SAP BW schreibt, der hat ein ähnliches Problem. Um den Code auszuführen braucht es eine Menge Voraussetzungen:

  • Einen InfoProvider als Datenquelle
  • Einen InfoProvider als Ziel
  • Geeignete Daten in der Quelle
  • Die Transformation zwischen Quelle und Ziel
  • Eine zugehörige AMDP-Routine, z.B. eine Endroutine
  • Ein Datentransferprozess (DTP)

Und erst wenn wir das alles zusammen haben, können wir loslegen. Das Ergebnis können wir dann mit der SE16 im Datenziel betrachten. Und für die nächste Ausführung muss dann noch der vorherige Request gelöscht werden. Dazu kommt, dass zumindest bei manchen Systemständen nach Änderungen der AMDP-Routine noch der DTP erneut aktiviert werden muss... Nicht ganz so schlimm wie Lochkarte, aber zum lernen auch nicht wirklich gut. 

Für erfahrene SQLScript-Entwickler ist diese Umgebung durchaus zumutbar, da hier die Anzahl der Iterationen entsprechend geringer ist. Aber wenn man beispielsweise mal eben ausprobieren möchte, wie man am besten für ein Datum den darauffolgenden Kalendermonat ermittelt, der braucht eine geeignete Spielwiese ohne viel Overhead. 

Schneller lernen mit der SQL-Konsole

In der SQL-Konsole kann man direkt SQL-Komandos eingeben, die dann auf der HANA Datenbank ausgeführt werden. Um SQLScript-Code zu erfassen, muss dieses von einem anonymen Block umgeben werden. Aber das ist kein Hexenwerk und schnell gelernt. Den erfassten Code kann man immer wieder ausführen. 

Somit lassen sich Abfragen elegant und schnell wiederholen, bis sie das richtige Ergebnis liefern. 

Warum wird die SQL-Konsole so wenig genutzt?

Häufig ist die HANA SQL-Konsole für die Entwickler auf den SAP BW bzw. SAP NetWeaver Systemen nicht erreichbar, da nur eine Verbindung mit dem Anwendungsserver besteht und nicht mit der Datenbank. Auf diese haben traditionell nur Administratoren Zugriff. 

Eine Lösung dieses Problems kann ein kostenloses HANA-System auf der SAP Cloud Platform sein. Oder eine lokale Installation der SAP HANA, Express Edition.