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
SELECTclause started withFIELDSafter theFROMclause in theSELECTstatement.
- Access to a global temporary table (GTT).
- Use of
UNION.
- Use of host expressions
- SQL expressions on the left side of a
WHEREcondition orHAVINGcondition.
- 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
ROUNDor the string functionsCONCAT,LPAD,LENGTH,LTRIM,REPLACE,RIGHT, RTRIM, andSUBSTRING.
- In an
ONcondition
- of any join, an SQL expression is used on the left side,
- of an outer join, the expression
IS [NOT] NULLis 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
CASEexpression.
- When specified, columns on the right side of an interval condition
BETWEEN
- CDS entities used together with database tables or classic views in a
SELECTstatement.
- CDS table function specified as a
data source of a
SELECTstatement.
- Implicit pass of a value to an input parameter of a
CDS entity, annotated with
the annotation @Environment.systemField,
in the
SELECTstatement.
- Path expression as a
data source of the
FROMclause 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
INTOclause must be specified as the last clause of aSELECTstatement and the optional additions of theSELECTstatement must be specified after theINTOclause.
- If an
OPEN CURSORstatement 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 CURSORthat 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
SELECTlist is specified as*,HAVINGclauses withoutGROUP BYclauses are forbidden.
- No writes can be performed on database tables or classic views with a replacement object.
- In a
SELECTstatement, 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.