Ansicht
Dokumentation

ABENCDS_F1_PARAMETER_ANNOTATIONS - CDS F1 PARAMETER ANNOTATIONS

ABENCDS_F1_PARAMETER_ANNOTATIONS - CDS F1 PARAMETER ANNOTATIONS

ROGBILLS - Synchronize billing plans   rdisp/max_wprun_time - Maximum work process run time  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

- parameter_annot

... @annotation ...
... @annotation ...

Wirkung

Angabe einer Annotation annotation bei der Definition eines CDS-Parameters parameter einer

Parameterannotationen können vor und hinter dem Parameter aufgeführt werden.

  • Vor dem Parameter muss dem Bezeichner annotation der Annotation direkt das Zeichen @ vorangestellt werden.
  • Hinter dem Parameter müssen dem Bezeichner annotation der Annotation direkt die Zeichen @ vorangestellt werden.
Diese Schreibweise ist für alle oben aufgeführten CDS-Entitäten möglich, außer CDS-View-Entitäten. Bei CDS-View-Entitäten sind alle Annotationen, auch Parameterannotationen, nur vor dem von ihnen referenzierten Element möglich.

Die Annotation sollte in einer CDS-Annotationsdefinition als CDS-Objekt definiert und die Annotationsdefinitionsannotation @Scope sollte dort mit dem Wert #PARAMETER angegeben sein.

EndUserText-Annotationen

Übersetzbare Texte des Parameters.
EndUserText.label,,An die Übersetzung angeschlossener Kurztext des Parameters,,Maximal 60-stellige Zeichenkette,,-,,-
EndUserText.quickInfo,,An die Übersetzung angeschlossene Quick Info (Tool Tip) des Parameters,,String,,-,,-

Hinweis

Environment-Annotationen

Steuerung der Parameterübergabe von an eine CDS-View.
Environment.systemField,,Ordnet dem Eingabeparameter ein ABAP-Systemfeld für eine implizite Parameterübergabe in zu,, #CLIENT:\lbr sy-mandt \lbr\lbr #SYSTEM_DATE:\lbr sy-datum \lbr\lbr#SYSTEM_TIME:\lbr sy-uzeit \lbr\lbr#SYSTEM_LANGUAGE:\lbr sy-langu \lbr\lbr#USER:\lbr sy-uname,,-,,nicht möglich; \lbr Syntaxfehler (CDS-View-Entität) oder Ausnahme (alle anderen CDS-Entitäten)

Ein Eingabeparameter kann genau einmal mit der Annotation Environment.systemField versehen werden. Bei der Verwendung der CDS-Entität als Datenquelle einer SELECT-Anweisung in hat diese Zuordnung folgende Wirkung:

  • Einem Eingabeparameter, dem mit #CLIENT das Systemfeld sy-mandt in zugeordnet ist, darf kein expliziter Aktualparameter zugeordnet werden. übergibt implizit immer die Kennung des aktuellen Mandanten entsprechend des nominellen Werts von sy-mandt bzw. den mit USING CLIENT angegebenen Mandanten. Der ohnehin obsolete Zusatz CLIENT SPECIFIED kann beim Zugriff auf eine solche CDS-Entität nicht angegeben werden.
  • Einem Eingabeparameter, dem mit #SYSTEM_... ein anderes Systemfeld als sy-mandt zugeordnet ist muss in kein expliziter Aktualparameter zugeordnet werden. Wenn kein expliziter Aktualparameter angegeben ist, übergibt implizit den nominellen Wert des zugeordneten Systemfelds.
  • ABAP CDS ignoriert diese Annotation. Ein Aktualparameter muss an jeden Formalparameter gebunden werden und Sitzungsvariablen müssen auch explizit angegeben werden.

Andere Werte für value werden mit einer Ausnahme ignoriert. Bei CDS-View-Entitäten führt ein fehlender Wert oder falscher Wert zu einem Syntaxfehler.

Hinweise

  • Die Annotation @Environment.systemField hat keine Bedeutung für die Parameterübergabe an die CDS-Entität in anderen CDS-Entitäten. Hier müssen explizite Aktualparameter angegeben werden, wofür z.B. Eingabeparameter der aktuellen Entität oder auch Sitzungsvariablen verwendet werden können.
  • Der Wert #CLIENT der Annotation @Environment.systemField ist insbesondere für mandantenabhängige CDS-Tabellenfunktionen von Bedeutung. Wenn ein Eingabeparameter entsprechend annotiert ist, wird er implizit von der -Anweisung SELECT mit der aktuellen Mandantenkennung versorgt und kann zur Einschränkung der Ergebnismenge in der plattformabhängigen Implementierung der Funktion verwendet werden. @Environment.systemField: #CLIENT kann bei mandantenunabhängigen CDS-Tabellenfunktionen nicht angegeben werden.

Beispiel

In der folgenden CDS-View-Entität sind alle Eingabeparameter mit ABAP-Systemfeldern verknüpft und die SELECT-Liste besteht nur aus den Eingabeparametern. Das ABAP-Programm DEMO_CDS_SYSTEM_FIELDS greift sowohl mit expliziter als auch mit vollständig impliziter Parameterangabe auf die CDS-View zu und gibt beide Ergebnisse aus.






RFUMSV00 - Advance Return for Tax on Sales/Purchases   General Data in Customer Master  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 9829 Date: 20240523 Time: 183927     sap01-206 ( 127 ms )