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, SP08
Other versions:Conditions for the Strict Mode
The strict mode of the syntax check in Release 7.40, SP08 applies to all ABAP SQL statements that use one of the following attributes introduced in Release 7.40 SP08:
- Columns
dbtab~*
specified in theSELECT
list.
- Inline declarations using
@DATA(...)
for the target area ofSELECT
.
- Minus sign (
-
) in front of an operand of an arithmetic expression
- SQL expression as an operand of a simple case distinction
- Use of a complex case distinction
- SQL expression after
SELECT
together with aggregate expressions or the additionGROUP BY
- SQL expression after the addition
GROUP BY
of the statementSELECT
- SQL expression as an argument of aggregate expressions in the
SELECT
list or in theHAVING
clause
- Use of the additions
LIKE
,IN
, andNOT
plus the operatorsOR
orNOT
in anON
condition.
- Outer join without a comparison between columns on the left and right sides.
- Subquery
specified in a dynamic
WHERE
condition.
- Arrangement of the
INTO
clause as the final clause of aSELECT
statement.
Rules for the Strict Mode
The strict mode in Release 7.40, SP08 covers all rules of the strict mode in Release 7.40, SP05, plus the following rules:
- If the content of a literal, a host variable, or a host expression read in an operand position needs to be converted to the target type, this is done using the rules for lossless assignments. If the assignment cannot be lossless, an exception is raised.
- If
AS tabalias
is used to define an alias name for a database table, this name must also be used in dynamic tokens.
- Comparisons between non-comparable types produce a syntax error or raise an exception.
- If a column specified in the
HAVING
clause outside of an aggregate expression is not specified afterGROUP BY
, a syntax error occurs.
- Columns specified directly in the
SELECT
list cannot be specified afterGROUP BY
if aHAVING
clause is specified.