Ansicht
Dokumentation

ABENCDS_ANNOTATE_VIEW_ABEXA - CDS ANNOTATE VIEW ABEXA

ABENCDS_ANNOTATE_VIEW_ABEXA - CDS ANNOTATE VIEW ABEXA

rdisp/max_wprun_time - Maximum work process run time   General Material Data  
This documentation is copyright by SAP AG.
SAP E-Book

CDS Metadata Extensions with CDS Variants

The example demonstrates the evaluation of CDS annotations that are defined in CDS metadata extensions.

Source Code

Execute

Description

The example program uses the method GET_ANNOS of class CL_DD_DDL_ANNOTATION_SERVICE to access the following CDS view:

The annotations of the view are extended or overridden by the following CDS metadata extensions:

  • DEMO_CDS_MDE_INDSTR_NO_VARIANT
  • DEMO_CDS_MDE_INDSTR_VARIANT_1
  • DEMO_CDS_MDE_INDSTR_VARIANT_2
  • DEMO_CDS_MDE_PARTNR_NO_VARIANT
  • DEMO_CDS_MDE_PARTNR_VARIANT_1
  • DEMO_CDS_MDE_PARTNR_VARIANT_2

The evaluation is done with different parameters for the method GET_ANNOS:

  • If the value of abap_false is passed to the parameter METADATA_EXTENSION, the default evaluation of the metadata extensions is switched off for the view and the annotations that are specified in the source code are returned.
  • If the value of abap_true is passed to the parameter METADATA_EXTENSION (default behavior), all existing metadata extensions for the view are evaluated as follows.
  • If the name of a CDS variant is not passed, only annotations from metadata extensions that are not assigned to a variant are used. DEMO_CDS_MDE_PARTNR_NO_VARIANT is evaluated first and the annotation @UI.dataPoint.title is found there. This is ignored in the next metadata extension in the hierarchy, DEMO_CDS_MDE_INDSTR_NO_VARIANT, from which only @UI.dataPoint.description is used. Finally, UI.dataPoint.longDescription is used from the view itself, which has no entry in a metadata extension.

  • If the name of the CDS variant DemoVariant1 is passed, annotations from the metadata extensions that are assigned to this variant are used first, and then annotations from metadata extensions that are not assigned to a variant. DEMO_CDS_MDE_PARTNR_VARIANT_1 is evaluated first and the annotation @UI.dataPoint.title is found there. In the next metadata extension in the hierarchy, DEMO_CDS_MDE_INDSTR_VARIANT_1, the annotation @UI.dataPoint.longDescription is found. No annotation is found in DEMO_CDS_MDE_PARTNR_NO_VARIANT. In DEMO_CDS_MDE_INDSTR_NO_VARIANT, the annotation @UI.dataPoint.description (not used until now) is found and used. The annotations of the source code of the view are all overridden.

  • If the name of the CDS variant DemoVariant2 is passed, DEMO_CDS_MDE_PARTNR_VARIANT_2 is evaluated first and the annotations UI.dataPoint.title and @UI.dataPoint.description are found there. In the next metadata extension in the hierarchy, DEMO_CDS_MDE_INDSTR_VARIANT_2, there are no annotations that have not already been used. The same applies to DEMO_CDS_MDE_PARTNR_NO_VARIANT and DEMO_CDS_MDE_INDSTR_NO_VARIANT, which are evaluated next. Therefore, the annotation UI.dataPoint.longDescription from the view itself is used.

  • If the name of an invalid CDS variant is passed, an empty internal table is returned.

The column SOURCEDDLX in the output internal tables contains the metadata extension in which an annotation is specified.






TXBHW - Original Tax Base Amount in Local Currency   BAL_S_LOG - Application Log: Log header data  
This documentation is copyright by SAP AG.

Length: 4654 Date: 20240426 Time: 193437     sap01-206 ( 89 ms )