ABENCDS_META_DATA_EXTENSION_EVAL - CDS META DATA EXTENSION EVAL

ABENCDS_META_DATA_EXTENSION_EVAL - CDS META DATA EXTENSION EVAL

Addresses (Business Address Services)   BAL_S_LOG - Application Log: Log header data  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

- Auswertung von Metadatenerweiterungen

Bei der Auswertung von Annotationen mit der Klasse CL_DD_DDL_ANNOTATION_SERVICE werden die Annotationen aus den Metadatenerweiterungen zuerst berücksichtigt. Wenn es verschiedene Metadatenerweiterungen zur gleichen CDS-Entität gibt, wird die Priorität nach folgenden Kriterien bestimmt:

  • CDS-Variante
  • Einer Metadatenerweiterung kann bei ihrer Definition mit ANNOTATE mit dem Zusatz VARIANT eine CDS-Variante zugeordnet werden.

  • An die Methoden der Klasse CL_DD_DDL_ANNOTATION_SERVICE kann der Name einer CDS-Variante übergeben werden, um die Metadatenerweiterung auszuwählen.

  • Schicht der Metadatenerweiterung
Die Schicht einer Metadatenerweiterung wird mit der Annotation @Metadata.layer bei ihrer Definition mit ANNOTATE definiert. Es sind folgende Enumerationssymbole für Schichten in absteigender Priorität vorgegeben:
  • #CUSTOMER

  • #PARTNER

  • #INDUSTRY

  • #LOCALIZATION

  • #CORE

Die Methoden der Klasse CL_DD_DDL_ANNOTATION_SERVICE sammeln die von ihnen zurückgegebenen Annotationen in Abhängigkeit von der Variante und den Schichten nach folgender Hierarchie auf:

  1. Wenn eine CDS-Variante angegeben ist, werden zuerst die Metadatenerweiterungen ausgewertet, die der angegebenen Variante zugeordnet sind. Aus diesen Metadatenerweiterungen werden gemäß der durch die Annotation @Metadata.layer definierten Schichten alle Annotationen entnommen, wobei eine in einer höheren Schicht gefundene Annotation in einer tieferen Schicht nicht mehr gesucht wird, und eine dort vorhandene Annotation somit übersteuert.
  2. Danach, bzw. wenn keine CDS-Variante angegeben ist, wird das gleiche Verfahren auf die für die CDS-Entität definierten Metadatenerweiterungen angewendet, die mit keiner CDS-Variante verknüpft sind. D.h. es werden dort von höheren nach tieferen Schichten alle Annotationen aufgesammelt, die bislang noch nicht gefunden wurden.
  3. Schließlich werden noch die Annotationen der CDS-Entität selbst hinzugefügt, die nicht in einer Metadatenerweiterung gefunden wurden. Dies können Annotationen aus dem Quelltext, abgeleitete und geerbte Annotationen sein. Für von anderen CDS-Entitäten geerbten Annotationen werden wieder zuerst deren eventuellen Metadatenerweiterungen nach der hier beschriebenen Hierarchie berücksichtigt.

Wenn für die Auswertung eine vorhandene CDS-Variante angegeben wird, es aber keine Metadatenerweiterungen gibt, die mit der Variante verknüpft sind, setzt die Verarbeitung wie bei der Angabe keiner Variante bei Schritt 2 auf. Wenn eine nicht vorhandene CDS-Variante angegeben wird, geben die Methoden der Klasse CL_DD_DDL_ANNOTATION_SERVICE leere interne Tabellen zurück.

Wenn es in einer Schicht mehrere Metadatenerweiterungen zur gleichen oder keiner Variante gibt, werden die Annotationen der ersten Metadatenerweiterung verwendet, die gefunden wird. Die Metadatenerweiterungen werden dabei gemäß einer undefinierten aber stabilen Reihenfolge berücksichtigt.

CDS-Metadatenerweiterungen mit CDS-Varianten






General Material Data   TXBHW - Original Tax Base Amount in Local Currency  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 5064 Date: 20240921 Time: 001953     sap01-206 ( 85 ms )