Get Example source ABAP code based on a different SAP table
VERSION 5 OUT
ABAP_CDS - Obsolete Client Handling in ABAP_CDS_V1_VIEWS 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. ITOC
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:
CDS entity 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.
ABAP_CDS_MNG_VIEW If client dependency is switched off explicitly using the annotation @ClientDependent:false, an associated ABAP_CDS_MNG_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 ABAP_CDS_MNG_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.