Ansicht
Dokumentation
ABENCDS_VIEW_CLIENT_HANDLING_OBS - CDS VIEW CLIENT HANDLING OBS
General Material Data BAL_S_LOG - Application Log: Log header dataThis documentation is copyright by SAP AG.
- Obsolete Client Handling in
Before the annotation @ClientHandling was introduced, the client dependency of a CDS view was specified using the annotation ClientDependent with the possible values true and false.
Determining Client Dependency
The possible values true and false of the obsolete annotation @ClientDependent have the following effects on client dependency:
- true
- The annotation ClientDependent:true works like @ClientHandling.type:#INHERITED.
- A view with client-dependent data sources is a client-dependent view.
- A view with exclusively client-independent data sources is a client-independent view.
- Unlike in @ClientHandling:#INHERITED, a view in which a client-independent data source as the left side of a LEFT OUTER JOIN is joined with a client-dependent data source on the right side cannot be made client-dependent using @ClientDependent:true and a syntax error occurs.
- false
- The annotation ClientDependent:false makes a view into a client-independent view. Unlike in @ClientHandling.type:#CLIENT_INDEPENDENT, this value can also be specified for view when a data source of the view is client-dependent.
Only the annotation @ClientHandling.type should now be used in new CDS views. The annotations @ClientHandling and @ClientDependent cannot be used together in the definition of a CDS table function. If neither of the annotations @ClientHandling.type and @ClientDependent is specified, the default value of @ClientHandling.type applies.
Determining Client Handling
The possible values true and false of the obsolete annotation @ClientDependent have the following effects on client handling:
- true
- The annotation ClientDependent:true works like @ClientHandling.algorithm:#AUTOMATIC. No cross join, however, is created here for the case (forbidden here) where a client-independent data source is joined with a client-dependent data source using a LEFT OUTER JOIN.
- false
- The annotation @ClientDependent:false works like @ClientHandling.algorithm:#NONE. Client handling can be disabled here for views that contain client-dependent data sources.
Properties of Client-independent Views
Client-dependent views with the annotation @ClientDependent:true have the same properties as client-dependent views with the annotation @ClientHandling.type.#INHERITED or @ClientHandling.type.#CLIENT_DEPENDENT. @ClientDependent:false can be used, on the other hand, to define client-independent views, even if they contain client-dependent data sources. These have the following properties:
- A client column specified in the SELECT list is preserved in the result set if client dependency is disabled explicitly using the annotation @ClientDependent:false. The column is then applied like a regular view field when the CDS entity is accessed.
- If client dependency is switched off explicitly using the annotation @ClientDependent:false, an associated CDS-managed DDIC view does not have a client column if it is not specified explicitly in the SELECT list. A client column specified in the SELECT list, on the other hand, specifies that the CDS-managed DDIC view has a client column, hence making it a client-dependent view. This has consequences for obsolete access to the CDS-managed DDIC view using SELECT. This is then handled in accordance with implicit client handling for dictionary objects.
Note
It is not usually a good idea to disable client dependency in views with client-dependent data sources. If this is still sometimes the case, only the CDS entity must be accessed, and never the CDS-managed DDIC view, to avoid unexpected behavior.
CDS Views, Obsolete Client Handling
SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up General Data in Customer Master
This documentation is copyright by SAP AG.
Length: 7823 Date: 20240424 Time: 160205 sap01-206 ( 91 ms )