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.50
Other versions:Conditions for the Strict Mode
The strict mode of the syntax check in Release 7.50 applies to all ABAP SQL statements that use one of the following attributes introduced in Release 7.50:
- A
SELECT
clause started withFIELDS
after theFROM
clause in theSELECT
statement.
- Access to a global temporary table (GTT).
- Use of
UNION
.
- Use of host expressions
- SQL expressions on the left side of a
WHERE
condition orHAVING
condition.
- In a cast expression, other SQL expressions are used as operands or FLTP is not the only data type that can be specified as the target type.
- Use of the numeric function
ROUND
or the string functionsCONCAT
,LPAD
,LENGTH
,LTRIM
,REPLACE
,RIGHT
, RTRIM, andSUBSTRING
.
- In an
ON
condition
- of any join, an SQL expression is used on the left side,
- of an outer join, the expression
IS [NOT] NULL
is used.
- Comparison of columns or expressions
of the types DF16_DEC or DF34_DEC with other numeric types (except with itself) or comparison of columns
of expressions of the type SSTRING with other types (except with itself) in a
CASE
expression.
- When specified, columns on the right side of an interval condition
BETWEEN
- CDS entities used together with database tables or classic views in a
SELECT
statement.
- CDS table function specified as a
data source of a
SELECT
statement.
- Implicit pass of a value to an input parameter of a
CDS entity, annotated with
the annotation @Environment.systemField,
in the
SELECT
statement.
- Path expression as a
data source of the
FROM
clause of the statementSELECT
.
Rules for the Strict Mode
The strict mode in Release 7.50 covers all rules of the strict mode in Release 7.40, SP08, plus the following rules:
- The
INTO
clause must be specified as the last clause of aSELECT
statement and the optional additions of theSELECT
statement must be specified after theINTO
clause.
- If an
OPEN CURSOR
statement is checked in accordance with the rules of the strict mode from Release 7.50, all host variables must be prefixed with the escape character@
in the statements FETCH andCLOSE CURSOR
that access the open cursor.
- A column can occur only once in a single update
expression after the addition
SET of the statement
UPDATE
.
- If the
SELECT
list is specified as*
,HAVING
clauses withoutGROUP BY
clauses are forbidden.
- No writes can be performed on database tables or classic views with a replacement object.
- In a
SELECT
statement, it is not possible to access to a CDS database view as an obsolete data source.
Note
If used in the statements FETCH
and CLOSE CURSOR
,
the escape character @
is ignored by the checks made on the associated statement OPEN CURSOR
.