Ansicht
Dokumentation

ABENCDS_ANNOTATIONS_SYNTAX_ARRAY - CDS ANNOTATIONS SYNTAX ARRAY

ABENCDS_ANNOTATIONS_SYNTAX_ARRAY - CDS ANNOTATIONS SYNTAX ARRAY

TXBHW - Original Tax Base Amount in Local Currency   ROGBILLS - Synchronize billing plans  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

- Annotationssyntax, arrelem

...  value1$| {subannos1},
     value2$|{subannos2},
     ...


Wirkung

Kommaseparierte Liste von Arrayelementen in den eckigen Klammern einer Annotation. Die vor dem Doppelpunkt angegebene Annotation ist dadurch ein Annotationsarray mit den in den Klammern angegebenen Elementen. Die möglichen Elemente eines Arrays sind:

Eine direkte Schachtelung von Arrays ist nicht vorgesehen. Ansonsten stellt ein Element eines Arrays eine Annotation dar, für welche die gleichen Regeln gelten wie für eine einzelne Annotation auch, mit dem Unterschied, dass ein Arrayelement keinen expliziten Namen hat. In der internen Ablage der durch eine Annotation definierten Metadaten wird ein Arrayelement aber eindeutig über einen an den Bezeichner des Arrays angehängten Index identifiziert und ist so auch in einer Auswertung erkennbar.

Es sollen nur Arrayelemente für Annotationen angegeben werden, für welche diese in der zugehörigen Annotationsdefinition vorgesehen sind.

Hinweise

  • Syntaktisch können in der DDL für Datendefinitionen Annotationsarrays mit Elementen verschiedener Typen und Arten angegeben werden. Solche Arrays werden in Annotationsdefinitionen nicht unterstützt. Weiterhin können in Datendefinitionen eckige Klammern für Annotationsarrays direkt geschachtelt werden. Die Schachtelung von Arrays wird in Annotationsdefinitionen ebenfalls nicht unterstützt. Geschachtelte Arrays werden bei der internen Ablage der Metadaten bei der Indizierung der Elemente zwar mitgezählt, aber ansonsten ignoriert. Sie werden bei einer auf diesen Metadaten basierenden Auswertung der Annotationen nicht zurück gegeben.
  • Nur Annotationen, die über die eckigen Klammern als Annotationsarrays erkennbar sind, werden intern indiziert und bei einer Auswertung als Arrayelement erkannt. Eine Annotation @Annot, die in ihrer Annotationsdefinition als Annotationsarray definiert ist, in einem CDS-Quelltext aber als @Annot: value statt @annot: [value] aufgeführt wird, wird nicht als Annotationsarray behandelt.

Beispiel

Es sei folgende Annotationsdefinition vorgegeben:

Die Annotation kann dann beispielsweise wie folgt angegeben werden:

@DemoAnnoStringArray:[ 'a', 'b', 'c' ]

Das Annotationsarray hat drei Elemente, denen jeweils ein passender Annotationswert zugeordnet ist. Eine Auswertung der Annotation mit der Methode GET_DIRECT_ANNOS_4_ENTITY der Klasse CL_DD_DDL_ANNOTATION_SERVICE ergibt:

ANNONAME VALUE
DEMOANNOSTRINGARRAY$1$ 'a'
DEMOANNOSTRINGARRAY$2$ 'b'
DEMOANNOSTRINGARRAY$3$ 'c'

Die Elemente sind über die Indizes $1$, $2$, $3$ gekennzeichnet.

Beispiel

Es sei folgende Annotationsdefinition vorgegeben. Es handelt sich um die Definition eines strukturierten Annotationsarrays.

Die Annotation kann dann beispielsweise wie folgt mit vier strukturierten Arrayelementen angegeben werden:

@DemoAnnoArray:[ {subAnno1:11, subAnno2:12, subAnno3:13},
                 {subAnno1:21, subAnno2:22, subAnno3:23},
                 {subAnno1:31, subAnno2:32, subAnno3:33},
                 {subAnno1:41, subAnno2:42, subAnno3:43} ]

ABAP CDS, Annotationsarray






PERFORM Short Reference   PERFORM Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 7644 Date: 20240523 Time: 155319     sap01-206 ( 80 ms )