ABAP Keyword Documentation → ABAP - Release-Specific Changes → Changes in Releases 7.5x → Changes in Release 7.50
ABAP CDS in Release 7.50
5. CDS views with input parameters
6. Annotation for input parameters
Other versions:
7.31 | 7.40 | 7.54
Modification 1
CDS Table Functions
The new DDL statement DEFINE TABLE FUNCTION can be used to define CDS table functions as a new category of CDS entities. In platform-specific SQL, a CDS table function is implemented in an associated AMDP function implementation.
Modification 2
CDS Access Control
ABAP CDS access control, introduced in Release 7.40, SP10, was expanded to include implicit evaluations of CDS roles defined in the ABAP CDS DCL in ABAP SQL. If a CDS entity is associated with a CDS role, an additional access condition is checked by default when the CDS entity is accessed using ABAP SQL. Only that data is read for which the current user has an authorization or that matches a literal condition.
Modification 3
Expressions and Functions
The following enhancements have been implemented:
-
Enhancements to the CAST expression of a
CDS view:
- A CAST expression now now contain nested cast expressions and case distinctions as an operand.
- Data elements can now be specified as the target type in CAST expressions. This passes its semantic attributes to the result. This also makes it possible to map more built-in types to itself than previously.
- In CAST expressions, the restriction no longer applies that casts of operands of the types DEC, CURR, and QUAN to the same types expect the target type to be long enough. In castes from NUMC to NUMC, however, the lengths must now match exactly.
- CAST expressions can now be used to cast operands of the types DATS and TIMS to CHAR (if the length of the target type is sufficient).
- A one character literal with the type NUMC can now be compared with a data source of the type LANG.
-
New SQL functions for CDS views:
-
Date functions and time functions for CDS views:
- The special date functions DATS_DAYS_BETWEEN, DATS_ADD_DAYS, and DATS_ADD_MONTHS make it possible to calculate with values of the built-in dictionary type DATS in CDS views.
- The new date function DATS_IS_VALID checks the validity of dates.
- The new time function TIMS_IS_VALID checks the validity of times.
- The new time stamp functions TSTMP_IS_VALID, TSTMP_CURRENT_UTCTIMESTAMP, TSTMP_SECONDS_BETWEEN and TSTMP_ADD_SECONDS perform operations with time stamps in packed numbers.
- Input parameters from the parameter list parameter_list of a CDS view can be passed to many arguments of built-in functions.
-
In the conversion functions UNIT_CONVERSION and DECIMAL_SHIFT, the result type was set to the data type
QUAN or CURR with length 31 and 14 decimal places.
Modification 4
Session Variables
When a CDS view is accessed using ABAP SQL, three session variables
($session.user,
$session.client,
and $session.system_language)
can be accessed here. In these variables, the values of the system fields sy-uname
, sy-mandt
and sy-langu
are available.
Modification 5
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 6
Annotation for Input Parameters
An input parameter of a CDS view or a CDS table function can now be annotated with an annotation @Environment.systemField. The potential values of the annotation assign ABAP system fields to the input parameters. If a CDS entity of this type is used a data source in ABAP SQL, the assigned values can be passed implicitly. In particular, the value
CLIENT enables the client ID of the current client to be passed implicitly, which provides support for client handling in Native SQL of the implementation of a CDS table function.
Modification 7
Key Fields
- The key fields of a CDS view that are defined with KEY must now, like the key fields of a CDS table function, be placed without gaps at the start of the SELECT list.
-
The new view annotation AbapCatalog.preserveKey
can be used to override the default behavior of the addition
KEY for defining key fields of a CDS view. If the annotation is specified
with the value true, the key fields defined using KEY are also used for the associated CDS database view.
Modification 8
Evaluation of Annotations
The class CL_DD_DDL_ANNOTATION_SERVICE contains methods for evaluating the annotations of CDS entities.
Modification 9
Publishing Associations
Path expressions can now be published with more than one association in the SELECT list of a CDS view. The fields of the source data source from the ON condition of the published associated, which then also need to be specified, must be defined using an appropriately specified path.
Modification 10
Enhancements
The statement EXTEND VIEW for CDS view extensions was expanded as follows:
- Associations for the SELECT statement of the extended CDS view can now be specified after EXTEND VIEW.
-
The following can now be specified in the extension list select_list_extension:
- Input parameters of the extended CDS view
- Path expressions for custom associations and for associations of the extended CDS view