Ansicht
Dokumentation

ABENCDS_F1_DEFINE_ANNOTATION - CDS F1 DEFINE ANNOTATION

ABENCDS_F1_DEFINE_ANNOTATION - CDS F1 DEFINE ANNOTATION

Fill RESBD Structure from EBP Component Structure   CPI1466 during Backup  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

- DEFINE ANNOTATION

$[@annotation_annot1$]
$[@annotation_annot2$]
...
$[define$] annotation Anno ${  : type; $}
                       $| ${ $[:$] {subannos}$[;$] $}
                       $| ${  :   array of arrelem $}


Wirkung

Die Anweisung define annotation definiert eine CDS-Annotation namens Anno in der CDS DDL in einem DDLA-Quelltext. Die Annotation Anno ist die Hauptannotation der aktuellen Annotationsdefinition, die durch optionale Unterannotationen strukturiert werden kann. Ein DDLA-Quelltext einer Annotationsdefinition kann die Definition genau einer Hauptannotation enthalten und deren Name muss dem Namen des DDLA-Quelltexts entsprechen. Die hier gezeigte Groß-/Kleinschreibung ist relevant. Vor der Anweisung define annotation können Annotationsdefinitionsannotationen @annotation_annot1, @annotation_annot2, ... angegeben werden. Diese werden an Unterannotationen vererbt oder dort überschrieben.

Die Anweisung define annotation legt die Annotation Anno als CDS-Objekt an, das über den DDLA-Quelltext transportiert wird. Die Definition der Annotation Anno beschreibt, wie sie in anderen CDS-Quelltexten in Annotationssyntax verwendet werden soll:

  • Anno ist der Bezeichner der Annotation, der aus Buchstaben, Ziffern und Unterstrichen bestehen kann und mit einem Buchstaben beginnen muss. Es sollen nur Annotationen mit solcherart definierten Bezeichnern verwendet werden.
  • Hinter dem Bezeichner muss eine der drei folgenden Angaben gemacht werden:
  • Ein Doppelpunkt (:) gefolgt von der Definition des Typs type der Annotation. Bei der Typangabe können Enumerationen und ein Standardwert definiert werden. Sie muss mit einem Semikolon (;) abgeschlossen werden.

  • Ein optionaler Doppelpunkt (:) gefolgt von einer Strukturierung der Annotation durch Unterannotationen subannos in geschweiften Klammern {...}. Diese kann optional mit einem Semikolon (;) abgeschlossen werden.

  • Ein Doppelpunkt (:) gefolgt von der Definition der Elemente eines Arrays mit array of. Die Annotation Anno wird dadurch zu einem Annotationsarray der durch arrelem definierten Elemente, bei denen es sich um eine Typangabe oder um Unterannotationen handeln kann.

Hinweise

  • Eine Annotationsdefinition schreibt im Wesentlichen genau vor, wie die Annotation in einem CDS-Quelltext in Annotationssyntax angegeben werden soll. Die Annotationsdefinitionen werden bei der Angabe von Annotationen für die Quelltexteinfärbung und die Code Completion verwendet.
  • Die Typangabe bestimmt, welche Annotationswerte bei Verwendung der Annotation in der Annotationssyntax angegeben werden können.

  • Neben den durch die Anweisung define annotation definierten Regeln, gehört zu einer Annotationsdefinition auch eine Annotationsdokumentation, welche die Bedeutung der Annotation und ihre Verwendung durch das zuständige Framework beschreibt.

Beispiel

Definition einer strukturierten Annotation. Die Hauptannotation DEMOANNOSTRUCT hat Unterannotationen subAnno1 bis subAnno4. Die Unterannotationen subAnno3 und subAnno4 sind Annotationsarrays, wobei subAnno4 wieder strukturiert ist.

Die solcherart definierte Annotation erlaubt u.a. folgende Angaben in Annotationssyntax in einem DDL-Quelltext zur Definition einer CDS-View oder einer CDS-Tabellenfunktion als View-Annotation (CDS-View-Entität, CDS-Projektions-View oder ) bzw. als Funktionsannotation:

  • Einzelne Angabe der Unterannotation subAnno1, wobei implizit der Standardwert true verwendet wird:
@DemoAnnoStruct.subAnno1
  • Gemeinsame Angabe der Unterannotationen subAnno1 und subAnno2 in geschweiften Klammern, wobei die Standardwerte durch explizite Annotationswerte überschrieben werden. Bei subAnno2 wird einer der vorgeschriebenen Enumerationswerte verwendet:
@DemoAnnoStruct:{subAnno1:false, subAnno2:#I2}
  • Angabe von Annotationswerten für den Annotationsarray subAnno3. Die Werte innerhalb der Hochkommata dürfen maximal zehn Zeichen enthalten:
@DemoAnnoStruct.subAnno3:['a','abc','abcdefghij']
  • Angabe von Annotationswerten für den strukturierten Annotationsarray subAnno4:
@DemoAnnoStruct.subAnno4:[ {comp1: 'a', comp2: 'b' },
                           {comp1: 'c', comp2: 'd' },
                           {comp1: 'e', comp2: 'f' } ]









CL_GUI_FRONTEND_SERVICES - Frontend Services   PERFORM Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 13321 Date: 20240523 Time: 152307     sap01-206 ( 136 ms )