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 theSELECTlist.
- 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
SELECTtogether with aggregate expressions or the additionGROUP BY
- SQL expression after the addition
GROUP BYof the statementSELECT
- SQL expression as an argument of aggregate expressions in the
SELECTlist or in theHAVINGclause
- Use of the additions
LIKE,IN, andNOTplus the operatorsORorNOTin anONcondition.
- Outer join without a comparison between columns on the left and right sides.
- Subquery
specified in a dynamic
WHEREcondition.
- Arrangement of the
INTOclause as the final clause of aSELECTstatement.
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 tabaliasis 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
HAVINGclause outside of an aggregate expression is not specified afterGROUP BY, a syntax error occurs.
- Columns specified directly in the
SELECTlist cannot be specified afterGROUP BYif aHAVINGclause is specified.