ABAP Keyword Documentation → ABAP − Reference → Processing External Data → ABAP Database Access → ABAP SQL → ABAP SQL - Overview → ABAP SQL - Release-Dependent Syntax Check Modes
Strict Mode in Release 7.40, SP05
Other versions:Conditions for the Strict Mode
The strict mode of the syntax check in Release 7.40, SP05 applies to all ABAP SQL statements that use one of the following attributes introduced in Release 7.40 SP05:
- Listings of operands as comma-separated lists
- Escape character
@
in front of host variables
- SQL expressions except for columns specified individually or aggregate expressions specified individually.
- Addition
USING CLIENT
ON
conditions without a column from a database table or view specified on the right side as an operand.
- Multiple consecutive joins where a join expression (and not a database table or view) is on the right side of a join expression.
- Use of
RIGHT OUTER JOIN
- Fields from the right side specified in
LEFT OUTER JOIN
or from the left side inRIGHT OUTER JOIN
in theWHERE
condition.
- Access to CDS entities using
SELECT
.
Rules for the Strict Mode
The strict mode of the syntax in Release 7.40, SP05 checks whether the following additional rules are followed:
- Any errors that would normally be displayed as syntax warnings are reported as syntax errors.
- All lists of operands must be comma-separated lists. This affects the following:
- In the statement
SELECT
, columns, aggregate expressions, or SQL expressions specified in the SELECT list and columns specified after GROUP BY andORDER BY
.
- Host variables must be prefixed with the escape character
@
.
- If an explicit comma-separated list is specified without the addition
DISTINCT
in theSELECT
list, all columns of the results set defined here must exist as identically named components in a structure or table specified afterINTO CORRESPONDING FIELDS
.
- The client column
of a data source of a read statement or of a target of a write statement must not be accessed in
ON
andWHERE
conditions without implicit client handling being disabled usingCLIENT SPECIFIED
first. In addition, this applies in particular in strict mode when using dynamic conditions, alias names defined usingAS
, or joins.
- The addition
CLIENT SPECIFIED
can only be used for client-specific database tables or views.
- If the addition
FOR ALL ENTRIES
is used, no database fields of the built-in types STRING, RAWSTRING, and GEOM_EWKB plus LCHR and LRAW can occur in theSELECT
list.
- If database views
with the same number of key fields and view fields are accessed in a dynamic
FROM
clause combined with the additionORDER BY PRIMARY KEY
, the exception CX_SY_DYNAMIC_OSQL_SEMANTICS is raised.
- Like in classes, the obsolete short forms are forbidden.
Comma-separated lists of operands and the escape character @
can only be
used in programs in which the program attribute fixed point arithmetic is activated.