OpenSQL ist als SAP SQL-Derivat Teil der Programmiersprache ABAP. OpenSQL-Befehle funktionieren in jedem SAP-System, unabhängig von der verwendeten Datenbank, solange diese auf ABAP basiert.
Funktionsweise
Das Ziel von OpenSQL ist es, einen einheitlichen SQL-Dialekt für alle Datenbanken im SAP-System anzubieten, sodass SQL-Befehle auf allen Datenbanken zum gleichen Ergebnis führen.
OpenSQL wird in der Regel im Kontext von ABAP verwendet, allerdings existiert auch eine Java-Version. Voraussetzung für die Anwendung ist ein ABAP (bzw. Java) Application Server. Dieser enthält einen eigenen SQL Parser und einen Umsetzer, der das OpenSQL Kommando in den jeweiligen nativen Datenbankdialekt umwandelt.
Liste der OpenSQL-Befehle
| OpenSQL | Beschreibung |
| SELECT | Liest Daten aus der Datenbank aus |
| INSERT | Fügt Zeilen zur Datenbank hinzu |
| UPDATE | Ändert den Inhalt von Zeilen in der Datenbank |
| MODIFY | Fügt der Datenbank Zeilen hinzu oder ändert existierende Codezeilen in der Datenbank |
| DELETE | Löscht Zeilen aus der Datenbank |
Alle Befehle füllen die beiden folgenden Systemfelder:
- SY-SUBRC – Nach dem OpenSQL Statement enthält das Systemfeld SY-SUBRC den Wert 0, wenn die Operation erfolgreich war, und einen Wert abweichend von 0, wenn die Operation nicht erfolgreich war.
- SY-DBCNT – Nach dem OpenSQL Statement enthält das Systemfeld SY-DBCNT die Zahl der verarbeiteten Datenbankzeilen.

E-Book: SAP ABAP- und Fiori-Entwicklungsrichtlinien
Richtlinien zur Programmierung und Praxistipps zum Thema ABAP-Entwicklung.
E-Book: SAP ABAP- und Fiori-Entwicklungsrichtlinien

Besonderheiten von OpenSQL
OpenSQL zeichnet sich als Middleware durch einige Besonderheiten aus.
In dieser SAP ABAP Schulung erwerben Sie die wichtigsten Grundkenntnisse der ABAP-Entwicklung.
- Integration: Die Technologie ist beispielsweise lückenlos in das SAP-Typsystem integriert, sodass sie unabhängig vom Typsystem funktioniert.
- Syntaxcheck: Im Unterschied zu einigen anderen Datenbanken setzt OpenSQL auf einen statischen Syntaxcheck zur Compilezeit.
- Dynamik: Es kann als dynamisches wie halbdynamisches SQL verwendet werden. Teile des SQL Statements können dynamisch zur Laufzeit übergeben werden, während die statischen Anteile zur Compilezeit überprüft werden.
- Erweiterungen: Es stehen SAP-eigene Erweiterungen zur Verfügung, z.B. FOR ALL ENTRIES (Join von Datenbanktabellen mit sogenannten internen Tabellen, d.h. Variablen).
- Puffer: Mithilfe von OpenSQL können Tabellen im Application Server gepuffert und ohne Datenbankzugriff gelesen werden. Ermöglicht wird dies durch die in-memory-Datenbankengine des Applikationsservers.
FAQ & Best Practices
Sie haben Fragen zu OpenSQL? Sie wollen von Best Practices in der SAP Entwicklung profitieren?
mindsquare ist ein Technologieunternehmen, das sich auf die Beratung und Entwicklung im SAP-Umfeld spezialisiert hat. Mit ERLEBE SOFTWARE verfügen wir über einen eigenen Fachbereich für Best Practices in der SAP-Entwicklung und User Experience. Unsere Berater sprechen gerne mit Ihnen über Ihre Ausgangssituation und beantworten Ihre Fragen zu OpenSQL. Wir zeigen Ihnen Lösungen für Ihre SAP-Herausforderungen und Optimierungspotenzialen für Ihr SAP-System.
