Skip to content

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

2. Unions

3. Host expressions

4. SQL expressions expanded

5. SQL functions expanded

6. ON conditions expanded

7. Columns specified after BETWEEN

8. Subquery as data source of INSERT

9. Access to CDS entities

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

14. System classes expanded

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


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:

Modification 4

SQL Expressions Expanded

  • From Release 7.50, SQL expressions can be specified in the following operand positions (except in the SELECT list):

  • Left side of any WHERE condition

  • Left side of a HAVING condition

  • 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
The new function ROUND rounds numeric values.
  • New String Functions
The new functions CONCAT, LPAD, LENGTH, LTRIM, REPLACE, RIGHT, RTRIM, and SUBSTRING perform operations on strings.
  • Coalesce Function Expanded
The coalesce function can now have 255 arguments instead of just two and returns the value of the first argument that does not have the null value. Columns with the built-in dictionary type SSTRING can now be used as arguments.

Modification 6

ON Conditions Expanded

The following is possible from Release 7.50:

  • SQL expressions can be used on the left side of the ON condition of any join expression.
  • The expression IS [NOT] NULL can be used in an ON condition of an outer join.
  • The full ON condition or subconditions of joins can be specified dynamically as (cond_syntax). This is not possible if the full FROM clause 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 SELECT statement 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 SELECT statement 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 FROM clause.

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.