ABAP - Schlüsselwortdokumentation →  ABAP - Referenz →  Externe Daten verarbeiten →  ABAP-Datenbankzugriffe →  Open SQL →  Open SQL - Lesende Zugriffe →  SELECT - clauses → 

SELECT - WHERE

Kurzreferenz

Syntax

... WHERE sql_cond ...

Wirkung

Der Zusatz WHERE schränkt die Anzahl der Zeilen, die durch die SELECT-Anweisung einer Query in die Ergebnismenge gestellt werden, durch einen logischen Ausdruck sql_cond ein. Eine Zeile wird genau dann in die Ergebnismenge gestellt, wenn der logische Ausdruck wahr ist.

Bis auf Spalten vom Typ STRING oder RAWSTRING sowie LCHR, LRAW können in der WHERE-Bedingung einer Query alle Spalten der hinter FROM aufgeführten Datenquellen ausgewertet werden. Die Spalten müssen nicht notwendigerweise Teil der Ergebnismenge sein.

Die Mandantenspalte einer mandantenabhängigen Datenquelle darf in der WHERE-Bedingung nur dann als Operand verwendet werden, wenn die automatische Mandantenbehandlung mit dem Zusatz CLIENT SPECIFIED abgeschaltet ist. Dies wird in den strikten Modi der Syntaxprüfung ab Release 7.40, SP05 vollständig überprüft.

Hinweise

Beispiel

Auslesen aller Objekte der ABAP-Schlüsselwortdokumentation aus der Tabelle DOKIL über eine geeignete WHERE-Bedingung. Meldungen des Code Inspectors wegen der Umgehung der Tabellenpufferung werden durch Pseudokommentare unterdrückt.

SELECT FROM dokil
       FIELDS object, langu
       WHERE  id = 'SD'  AND
              typ = 'E'  AND
                   ( object LIKE 'ABAP%'    OR
                     object LIKE 'ABEN%'    OR
                     object LIKE 'DYNP%'  ) AND
                     ( langu = 'D' OR langu = 'E' ) "#EC CI_GENBUFF
      ORDER BY object, langu                        "#EC CI_BYPASS
      INTO TABLE @DATA(dokil_tab).

Ausführbare Beispiele