Ansicht
Dokumentation
ABENABAP_SQL_STRICTMODE_740_SP05 - ABAP SQL STRICTMODE 740 SP05
BAL Application Log Documentation Addresses (Business Address Services)Diese Dokumentation steht unter dem Copyright der SAP AG.
- Strikter Modus zu Release 7.40, SP05
Bedingungen für den strikten Modus
Der strikte Modus der Syntaxprüfung zu Release 7.40, SP05 wirkt für alle -Anweisungen, die eine der folgenden zu Release 7.40 SP05 eingeführten Eigenschaften verwenden:
- Auflistungen von Operanden als kommaseparierte Listen
- Fluchtsymbol @ vor Hostvariablen
- SQL-Ausdrücke außer einzeln angegebener Spalten oder einzeln angegebener Aggregatausdrücke.
- Zusatz USING CLIENT
- ON-Bedingungen ohne eine Spalte einer als rechte Seite angegebenen DDIC-Datenbanktabelle bzw. DDIC-View als Operand.
- Mehrere aufeinanderfolgende Joins, bei der auf der rechten Seite eines Join-Ausdrucks ein Join-Ausdruck und keine Datenbanktabelle bzw. View steht.
- Verwendung von RIGHT OUTER JOIN
- Angabe von Feldern der rechten Seite beim LEFT OUTER JOIN oder von Feldern der linken Seite beim RIGHT OUTER JOIN in der WHERE-Bedingung.
- Zugriff auf CDS-Entitäten mit SELECT.
Regeln für den strikten Modus
Der strikte Modus der Syntaxprüfung zu Release 7.40, SP05 überprüft, ob die folgenden zusätzlichen Regeln befolgt werden:
- Fehler, die ansonsten nur als Syntaxwarnung erscheinen, werden als Syntaxfehler gemeldet.
- Alle Listen von Operanden müssen kommasepariert sein. Das betrifft:
- In der Anweisung SELECT die Angabe von Spalten, Aggregat- oder SQL-Ausdrücken hinter in der SELECT-Liste, die Angabe von Spalten hinter GROUP BY und ORDER BY.
- Hostvariablen muss das Fluchtsymbol @ vorangestellt werden.
- Wenn in der SELECT-Liste eine explizite kommaseparierte Liste ohne den Zusatz DISTINCT angegeben ist, müssen alle dort definierten Spalten der Ergebnismenge in einer hinter INTO CORRESPONDING FIELDS angegebenen Struktur bzw. internen Tabelle als namensgleiche Komponenten vorhanden sein.
- In ON- und WHERE-Bedingungen darf nicht auf die Mandantenspalte einer Datenquelle einer lesenden oder eines Ziels einer schreibenden Anweisung zugegriffen werden, ohne dass die implizite Mandantenbehandlung mit CLIENT SPECIFIED abgeschaltet ist. Dies gilt im strikten Modus insbesondere auch bei der Verwendung von dynamischen Bedingungen, mit AS definierten Aliasnamen oder von Joins.
- Der Zusatz CLIENT SPECIFIED darf nur für mandantenabhängige DDIC-Datenbanktabellen oder DDIC-Views verwendet werden.
- In der SELECT-Liste dürfen keine Datenbankfelder der eingebauten Typen STRING, RAWSTRING und GEOM_EWKB sowie LCHR und LRAW vorkommen, wenn der Zusatz FOR ALL ENTRIES verwendet wird.
- Wenn in einer dynamischen FROM-Klausel zusammen mit dem Zusatz ORDER BY PRIMARY KEY auf DDIC-Datenbank-Views zugegriffen wird, die genauso viele Schlüssel- wie View-Felder enthalten, kommt es zur Ausnahme CX_SY_DYNAMIC_OSQL_SEMANTICS.
- Leerzeichen nach Literalen sowie nach öffnenden oder vor schließenden Klammern können in Bedingungen sql_cond nicht weggelassen werden.
- Die obsoleten Kurzformen sind wie in Klassen verboten.
Kommaseparierte Listen von Operanden und das Fluchtsymbol @ sind nur in Programmen, in denen die Programmeigenschaft Festpunktarithmetik eingeschaltet ist, möglich.
PERFORM Short Reference TXBHW - Original Tax Base Amount in Local Currency
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 6656 Date: 20240523 Time: 172831 sap01-206 ( 89 ms )