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   PERFORM Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

CDS-Metadatenerweiterungen mit CDS-Varianten

Das Beispiel demonstriert die Auswertung von CDS-Annotationen, die in CDS-Metadatenerweiterungen definiert sind.

Quelltext

Ausführen

Beschreibung

Das Beispielprogramm greift mit der Methode GET_ANNOS der Klasse CL_DD_DDL_ANNOTATION_SERVICE auf folgende CDS-View zu:

Die Annotationen der View werden durch folgende CDS-Metadatenerweiterungen erweitert bzw. übersteuert:

  • 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

Die Auswertung findet mit unterschiedlichen Parametern für die Methode GET_ANNOS statt:

  • Wenn dem Parameter METADATA_EXTENSION der Wert von abap_false übergeben wird, wird die standardmäßige Berücksichtigung der Metadatenerweiterungen für die View abgeschaltet und es werden die Annotationen zurück gegeben, die in deren Quelltext angegeben sind.
  • Wenn dem Parameter METADATA_EXTENSION der Wert von abap_true (Standardverhalten) übergeben wird, werden alle vorhandenen Metadatenerweiterungen für die View wie folgt berücksichtigt.
  • Ohne Übergabe des Namens einer CDS-Variante werden nur Annotationen aus Metadatenerweiterungen verwendet, die keiner Variante zugeordnet sind. Zuerst wird DEMO_CDS_MDE_PARTNR_NO_VARIANT ausgewertet und dort die Annotation @UI.dataPoint.title gefunden. Diese wird in der hierarchisch folgenden Metadatenerweiterung DEMO_CDS_MDE_INDSTR_NO_VARIANT nicht mehr berücksichtigt und von dieser nur @UI.dataPoint.description verwendet. Schließlich wird UI.dataPoint.longDescription aus der View selbst verwendet, für die es keinen Eintrag in einer Metadatenerweiterung gibt.

  • Bei Übergabe des Namens der CDS-Variante DemoVariant1 werden zuerst Annotationen aus den Metadatenerweiterungen verwendet, die dieser Variante zugeordnet sind und dann Annotationen aus Metadatenerweiterungen ohne Variantenzuordnung. Zuerst wird DEMO_CDS_MDE_PARTNR_VARIANT_1 ausgewertet und dort die Annotation @UI.dataPoint.title gefunden. In der hierarchisch folgenden Metadatenerweiterung DEMO_CDS_MDE_INDSTR_VARIANT_1 wird die Annotation @UI.dataPoint.longDescription gefunden. In DEMO_CDS_MDE_PARTNR_NO_VARIANT wird keine weitere Annotation gefunden. In DEMO_CDS_MDE_INDSTR_NO_VARIANT wird die bislang unverwendete Annotation @UI.dataPoint.description gefunden und verwendet. Die Annotationen des Quelltexts der View werden alle übersteuert.

  • Bei Übergabe des Namens der CDS-Variante DemoVariant2 wird zuerst DEMO_CDS_MDE_PARTNR_VARIANT_2 ausgewertet und dort die Annotationen UI.dataPoint.title und @UI.dataPoint.description gefunden. In der hierarchisch folgenden Metadatenerweiterung DEMO_CDS_MDE_INDSTR_VARIANT_2 gibt es keine Annotation, die nicht bereits verwendet wird. Das gleiche gilt für die danach ausgewerteten DEMO_CDS_MDE_PARTNR_NO_VARIANT und DEMO_CDS_MDE_INDSTR_NO_VARIANT. Deshalb wird die Annotation UI.dataPoint.longDescription aus der View selbst verwendet.

  • Bei Übergabe des Namens einer ungültigen CDS-Variante wird eine leere interne Tabelle zurückgegeben.

In den ausgegebenen internen Tabellen enthält die Spalte SOURCEDDLX die Metadatenerweiterung, in der eine Annotation angegeben ist.






Fill RESBD Structure from EBP Component Structure   rdisp/max_wprun_time - Maximum work process run time  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 5060 Date: 20240523 Time: 173527     sap01-206 ( 79 ms )