The new annotation @ClientHandling specifies the client handling of
CDS views and
CDS table functions. It replaces the annotation @ClientDependent and makes it obsolete.
In a CAST expression,
operands of the types SSTRING can now be cast to types other than themselves and back. Here, the type SSTRING behaves like the data type CHAR.
In a CAST expression,
operands of the types CLNT, LANG, TIMS, and UNIT can now be cast to the types CHAR and SSTRING. Here, the target type must be specified as a data element.
In a CAST expression, the data types CHAR, SSTR, and NUMC can now be cast to ACCP, and the other way round.
In cond_expr conditions, fields of data sources of the type ACCP can now be
compared with fields of the same type, and with literals of the type NUMC.
The following changes have been made:
In CAST expressions
to data elements, the restriction no longer applies that the data type, the length, and the number of
decimal places of operand and target data type must match precisely. This restriction can now be applied
as an optional restriction using the new addition PRESERVING TYPE. This
addition specifies explicitly that casts are to be applied to the semantic attributes of a data element.
PRESERVING TYPE suppresses the syntax warning that handles casts of identical technical types.
Associations can now be published for union sets
formed with UNION. In this case, special rules apply.
WITH DEFAULT FILTER can be used to specify a default filter condition for an
association. This condition is used as a filter condition in a
path expression if no condition is specified for the association here.
In a path expression, *: can be used to declared an association as a polyvalent association explicitly.
Modification 5
Session Variables
When a CDS view is accessed
using Open SQL, it is possible to access the new session variable $session.system_date in which the values of the system field sy-datum are available.
Modification 6
CDS View Enhancements
The statement EXTEND VIEW can now be used to extend the following CDS views too:
For enhancements of the GROUP-BY clause and UNION
clauses, the existing CDS view must contain the new annotation array AbapCatalog.viewEnhancementCategory[
] with suitable values. The value #NONE of this annotation array can be used to prevent any enhancements being made to a CDS view using CDS view enhancements.
Modification 7
Annotations
Annotation for Key Fields
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.
Null Values of Annotations
For each element annotation that is not part of an
annotation array, the special value
null can be specified (without quotation marks). This means that the annotations are ignored in the
evaluation with class CL_DD_DDL_ANNOTATION_SERVICE by default.
Metadata extensions are created using the DDL statement ANNOTATE VIEW and can be joined to new
CDS variants, enabling
different extensions to be be created for a CDS entity. Furthermore, each metadata extension is linked
to a layer, such as a branch, customer, or partner, which determines the priority if there is an identical variant or no variant.
Caution
CDS variants are not currently released for general use. It is not possible to define
standalone CDS variants and the use of CDS variants in metadata extensions produces a syntax check warning.
Modification 8
Access Control
The following enhancements have been implemented in CDS access control: