SQL
From Sapwiki
Die Structured Query Language (SQL) ist eine Programmiersprache zur Definition, Modifikation und Abfrage von Daten aus Datenbanken.
Ein SAP R/3 System basiert immer auf einer Datenbank, mithin auf einem Datenbankserver, der im Gegensatz zum Applikationsserver und [[Pr�sentationsserver]] stets nur einmal vorhanden ist. In ihr sind s�mtliche Daten gespeichert sind, wobei verschiedene Datenbanktypen unterst�tzt werden.
Open SQL
Die Kommunikation zwischen SAP R/3 und der zugeh�rigen Datenbank erfolgt �ber die sogenannte Open SQL-Schnittstelle. Diese ist Teil der ABAP-Laufzeitumgebung und stellt den kleinsten gemeinsamen Nenner der zugrundeliegenden Datenbanksysteme dar.
So sind nur Befehle zur Abfrage und Modifikation von Daten erlaubt, Datendeklaration werden vom Data Dictionary generiert.
Open SQL weist eine Reihe von Besonderheiten auf:
- Jedem Statement zur Abfrage oder Modifikation von Daten wird eine Bedingung zugef�gt, dass der Mandant dem Anmeldemandanten entspricht (der Zusatz CLIENT SPECIFIED umgeht dies).
- Die Daten werden ggf. nicht von der Datenbank gelesen, sondern aus dem Datenpuffer des Applikationsservers gelesen (Zur Pufferung siehe SE11).
- Die SQL-Syntax weist eine Reihe von Besonderheiten auf, die teilweise mit der Bedeutung des Komma in der ABAP-Syntax zu erkl�ren sind:
- Die zu selektierenden Felder (SELECT feld1 feld2) werden nicht durch ein Komma getrennt
- Die Zielfelder (INTO) werden durch Kommata getrennnt, aber in Klammern eingefasst
- Das INTO kann entfallen, wenn eine passende Struktur durch die TABLES-Anweisung deklariert wurde
- Das ENDSELECT-Statement beendet eine (im SQL-Standard nicht existierende) Sammelverarbeitung, siehe FETCH.
Native SQL
Die Native SQL-Schnittstelle bietet die M�glichkeit, direkt auf Datenbanken zuzugreifen, die nicht unbedingt die SAP-Datenbank sein m�ssen.
Sie werden vom Statemtent EXEC eingeleitet und von ENDEXEC beendet. Zwischen diesen Statements gilt allein die Syntax der angesprochenen Datenbank. Insbesondere sind lokale Variablen mit einem Doppelpunkt zu kennzeichnen.
Native SQL Statements gelten mit einigem Recht als verp�nt, v.a. beim Zugriff auf die SAP-Datenbank. Beim Vorliegen wichtiger Gr�nde bieten sie andererseits eine bequeme M�glichkeit, auf Daten von Fremdsystemen zuzugreifen.

