adesso orange🍊Stellenangebote:
Software Engineer Trainee · Senior
| (Senior) Cloud Software Engineer BTP
(Senior) Consultant Technologie · Consultant ABAP
Werkstudent Softwareentwicklung · Fiori / UI5 · Consulting · Application Management
Virtuelle Felder in CDS-Views: Unterschied zwischen den Versionen
(Die Seite wurde neu angelegt: „=== Einleitung === Virtuelle Felder werden mit ABAP-Klassen implementiert und stehen seit dem SAP NetWeaver Release 7.51 zur Verfügung. Es wird zwischen dre…“) |
|||
Zeile 14: | Zeile 14: | ||
=== Deklaration in CDS-View === | === Deklaration in CDS-View === | ||
<syntaxhighlight lang="abap" line start="1"> | |||
define view <CdsConsumptionView> | define view <CdsConsumptionView> | ||
as select from <data_source> | as select from <data_source> | ||
Zeile 24: | Zeile 25: | ||
... | ... | ||
} | } | ||
</syntaxhighlight> | |||
In Projection Views ist die Notation etwas anders: | In Projection Views ist die Notation etwas anders: |
Version vom 3. April 2024, 14:25 Uhr
Einleitung
Virtuelle Felder werden mit ABAP-Klassen implementiert und stehen seit dem SAP NetWeaver Release 7.51 zur Verfügung.
Es wird zwischen drei Kategorien unterschieden:
- virtuelle Felder mit eigener Ermittlungslogik
- virtuelle Felder mit eigener Sortierlogik
- virtuelle Felder mit eigener Filterlogik
Virtuelle Felder kennen sich untereinander nicht. Die Logiken werden nur zur Laufzeit des Services z.B. mit RAP aufgerufen. Sprich bei lediglichen ausführen des CDS-Views mit den virtuellen Feldern, wird keine Logik angewendet.
Virtuelle Felder können dort verwendet werden, wo sie unterstützt werden z.B. in EXTEND VIEW ENTITY:
Deklaration in CDS-View
define view <CdsConsumptionView>
as select from <data_source>
{
...
@ObjectModel.readOnly: true
@ObjectModel.virtualElement
@ObjectModel.virtualElementCalculatedBy: 'ABAP:<code_exit_class>'
cast( '' as <dtype> preserving type) as <view.element>
...
}
In Projection Views ist die Notation etwas anders:
define root view entity <CdsProjectionView>
provider contract transactional_query
as projection on <data_source>
{
...
@ObjectModel. virtualElementCalculatedBy: 'ABAP:<code_exit_class>'
virtual <view.element> : abap.<type>
...