- 13. Juli 2016

Neue Syntax für das Select Statement in OpenSQL

Ist Ihnen aufgefallen, dass sich die empfohlene Syntax des zentralen Select Statements von OpenSQL geändert hat, die für Sie und Ihre Mitarbeiter relevant sind? Mir ist durch Zufall aufgefallen, dass mir einige Elemente in der SAP Help Dokumentation neu waren. In diesem Beitrag möchte ich Ihnen einen Überblick über die Neuerungen geben und ein paar Hinweise für Clean Coding geben.

Wir sind Ihr Dienstleister für die Entwicklung, die Ihr SAP noch besser macht.
Schon in der Ideenphase unterstützen wir Sie bei der Definition der Anforderungen. Die Konzeption und Umsetzung erfolgt durch unsere SAP Experten.

Sie erhalten die Komplettlösung – Ihr Projekt machen wir zu unserem Projekt. Mit professionellem Projektmanagement sicheren wir den Projekterfolg.

Gerne spreche ich mit Ihnen über Ihre Ausgangslage und zeige Lösungsmöglichkeiten auf. Auf Wunsch unterbreite ich Ihnen im Anschluss ein unverbindliches Angebot.

Kontaktieren Sie mich: Telefon 0211.9462 8572-16 oder per E-Mail biermann@erlebe-software.de
Ingo Biermann, Fachbereichsleiter

Select

Eingebetteter Editor in der Dokumentation von SAP

Integration von ABAP Source Code

Innerhalb der SAP Help zu Inner Joins beim Select Statement bin ich zuerst durch die oben abgebildete Testumgebung aufmerksam geworden. Durch diese Integration kann der ABAP Code im ABAP Editor (SE38) geöffnet, gedebuggt und ausgeführt werden. Vor allem die Funktion zum Debuggen erleichtert Entwicklern das Verständnis bei komplizierteren Beispielen. Das Ergebnis der Ausführung wird für ein besseres Verständnis entsprechend aufbereitet.

Select

Ergebnis der Ausführung in der Dokumentation

Syntax des Select Statements

Welche Punkte sind Ihnen in der ersten Abbildung aufgefallen? Was sieht ungewohnt aus?

  • Seit SAP NetWeaver 7.4 Support Package Stack 05 ist die Trennung in Listen in der OpenSQL Syntax mit Leerzeichen obsolet und wird durch die Trennung via Komma abgelöst. Dadurch ist zumindest klarer erkennbar, wann eine neue Spalte des Ergebnisses beginnt.
  • In den Ausdrücken von SQL sollen ABAP Host Variablen (im ABAP Programm deklarierte lokale oder globale Datenobjekte) mit dem Fluchtsymbol @ markiert werden. In den strikten Syntaxprüfungen ist dies sogar verpflichtend. Die Fluchtsymbole gab es schon in früheren Releases, nun leben sie wieder auf.
  • Warum? Unter anderem könnte die folgende Änderung dafür verantwortlich sein. Ab sofort ist es nicht mehr erforderlich, dass bei allen Bedingungen im ON Teil eines Joins auf der rechten Seite eine Spalte steht. Daraus folgt, dass nun innerhalb der Bedingungen des Joins auch Vergleich mit ABAP Hostvariablen gemacht werden können. Somit ergibt eine Kennzeichnung mit dem Fluchtsymbol @ auch für Clean Coding Sinn. Die Abbildung 3 zeigt ein Code Beispiel.
  • Wer sicht jetzt fragt, warum er Bedingungen von der WHERE Klausel auslagern sollte, dem hilft die folgende Notiz. Bei einem LEFT OUTER JOIN sind diese nämlich verboten und sollten in die Bedingungen des Joins verlagert werden.
Select

Auszug aus der Dokumentation von SAP

Vorschlag für Clean Code

Wie ein SELECT Statement mit der neuen Syntax aussehen könnte, sehen Sie in der folgenden Abbildung. Ich persönlich nutze seit einiger Zeit die Vorgehensweise, dass ich in dem Statement von OpenSQL immer eine neue Zeile pro Schlüsselwort, eine neue Zeile pro Bedingung, Kommata in den Listen und die Fluchtsymbole benutze. Dies verschafft meiner Meinung nach eine große Übersichtlichkeit und meidet die obsoleten Darstellungen.

Select

Eigener Vorschlag für die Formatierung des Select Statements

Fazit

Regelmäßiges Prüfen der Release Notes, gerade wenn Sie vor einem Release Wechsel stehen, hilft Ihnen in der Entwicklung das Maximum der Möglichkeiten auszuschöpfen und Neuerungen mitzubekommen. Auch wenn die hier vorgestellten Änderungen zumeist eher kosmetischer Natur sind, ist es ratsam früh genug zu beginnen seine Gewohnheiten zu ändern.

Wie reagieren Sie auf diese oder ähnliche Änderungen? Wie werden Sie in Zukunft mit Release Notes umgehen? Wenn Ihnen mein Artikel gefallen hat, oder Sie Fragen haben, hinterlassen Sie gerne einen Kommentar oder melden Sie sich per E-Mail.


SHARE



Schreiben Sie einen Kommentar

Bitte füllen Sie alle mit * gekennzeichneten Felder aus. Ihre E-Mail Adresse wird nicht veröffentlicht.