ABAP Keyword Documentation → ABAP - Release-Specific Changes → Changes in Releases 7.5x → Changes in Release 7.50
ABAP SQL in Release 7.50
1. Arrangement of SELECT clauses and FROM clauses
7. Columns specified after BETWEEN
8. Subquery as data source of INSERT
10. Path expressions for associations of CDS views
11. Access to global temporary tables
12. Strict mode in the syntax check
13. CDS views with input parameters
15. Access to replacement objects
Other versions:
7.31 | 7.40 | 7.54
Modification 1
Arrangement of SELECT Clauses and FROM Clauses
From Release 7.50, the FROM clause
of a SELECT statement can also
be specified in front of the SELECT
clause. In this case, the SELECT clause must be introduced using the
new addition FIELDS. This arrangement supports tools such as Code Completion in ABAP Editor.
Modification 2
Unions
From Release 7.50, the addition UNION
creates the union of the results sets of two SELECT statements.
Modification 3
Host Expressions
From Release 7.50, host expressions with the syntax @( expr ) can be specified in many operand positions in which
host variables are possible. For expr, all ABAP expressions can calls are possible that can be specified in
general expression positions.
Operand positions for host expressions in Release 7.50:
- Arguments of SQL expressions and hence all operand positions in which these are possible.
-
Operand
nafter UP TO andPACKAGE SIZEin theSELECTstatement, -
Right sides of
WHERE,ON, orHAVINGconditions, except forLIKEandIN. - Actual parameters for input parameters of CDS views.
-
In the write statements
INSERT,UPDATE,MODIFY, andDELETE, the work areaswaor the internal tablesitabfrom which the data is taken. -
Right side of a
SETexpression inUPDATE.
Modification 4
SQL Expressions Expanded
-
From Release 7.50, SQL expressions can be specified in the following operand positions (except in the
SELECTlist):
- Left side of any
WHEREcondition
- Left side of a
HAVINGcondition
- Left side of a complex case distinction
- As an operand of a cast expression.
-
In the SQL expression
CASE, columns with the built-in dictionary type SSTRING can now be used.
If an SQL expression can be specified, any individual literals, host variables, and host expressions can also be specified.
Modification 5
SQL Functions Expanded
-
New Numeric Function
ROUND rounds numeric values.
-
New String Functions
CONCAT,
LPAD,
LENGTH, LTRIM,
REPLACE,
RIGHT, RTRIM,
and SUBSTRING perform operations on strings.
-
Coalesce Function Expanded
Modification 6
ON Conditions Expanded
The following is possible from Release 7.50:
-
SQL expressions can
be used on the left side of the
ONcondition of any join expression. -
The expression
IS [NOT] NULLcan be used in anONcondition of an outer join. -
The full
ONcondition or subconditions of joins can be specified dynamically as(cond_syntax). This is not possible if the fullFROMclause is specified dynamically as(cond_syntax).
Modification 7
Columns Specified After BETWEEN
From Release 7.50, numeric columns can be specified on the right side in an interval condition using
BETWEEN, providing the name of the database table or view is prefixed using ~.
Modification 8
Subquery as Data Source of INSERT
In the ABAP SQL write statement INSERT, a parenthesized
subquery can now be specified as a data source
after FROM. The rows of the results set of the subquery are inserted into
the target table directly on the database. No data transport is required between the database and the application server.
Modification 9
Access to CDS entities
-
From Release 7.50, the restriction no longer applies that a
CDS entity can only be used
together with database tables and classic views in a
SELECTstatement if addressed using its CDS database view. From Release 7.50, CDS views can be addressed using the name of their CDS entity, even if associated with database tables or classic views using joins or subqueries. This makes accesses performed on a CDS using the CDS database view obsolete. -
From Release 7.50, the new CDS table functions can also be specified as
data sources of a
SELECTstatement alongside CDS views. -
If an input parameter of a CDS
entity is annotated with the new annotation
@Environment.systemField, ABAP SQL can pass the system value that matches the value of the
annotation implicitly. The annotation value
#CLIENT even prevents an actual parameter from being passed to input parameters explicitly that are annotated in this way for client IDs.
Modification 10
Path Expressions for Associations of CDS Views
From Release 7.50, path expressions can be specified
in SELECT statements that access CDS views with associations published for outside use as follows.
- Path expressions closed with an element can be specified as columns.
-
Path expressions closed with a target data source can be used as
data sources of the
FROMclause.
Modification 11
Access to Global Temporary Tables
When the new global temporary tables in ABAP Dictionary are accessed using ABAP SQL, all temporary data stored here is guaranteed to be deleted before the next implicit database commit, If not, a runtime error occurs.
Modification 12
Strict Mode in the Syntax Check
If one the new features listed above (with the exception of dynamic join conditions) is used in an ABAP SQL statement, the syntax check is performed in a strict mode, which handles the statement more strictly than the regular syntax check.
Modification 13
CDS Views with Input Parameters
In Release 7.50 and higher, the input parameters of CDS views are supported by all database platforms and can be used in ABAP SQL. It is no longer necessary to query property VIEWS_WITH_PARAMETERS using method USE_FEATURES of class CL_ABAP_DBFEATURES. Querying this property results in a warning check from the syntax check.
Modification 14
System Classes Expanded
- The class CL_ABAP_DBFEATURES can now be used to check all features of databases that can be integrated in ABAP programming but which cannot be used in all database systems.
-
The new system class CL_DBI_UTILITIES contains utility methods for the database interface. The documented method IS_LOGGING_ON can be used to verify whether
logging is currently switched on for a database table.
Modification 15
Access to Replacement Objects
From Release 7.50, it is possible to define a CDS view as a replacement object in ABAP Dictionary (transaction SE11) for a database table or a database view.
If a replacement object is defined for a database table or database view specified as a
data source of a
SELECT statement, the SELECT statement accesses the CDS view and not the database table or the database view.
This change was implemented using an internal tool a kernel patch after Release 7.40, SP10.