ABAP RAP Advanced

Custom Entity

Definition und Besonderheiten

Was ist eine Custom Entity?

  • Keine klassische CDS View mit Datenquelle
  • Implementierung der Runtime erfolgt in einer ABAP Klasse
  • Datenbereitstellung erfolgt über komplexe Logik oder externe Systeme
  • Flexibler Einsatz für spezielle Anwendungsfälle (z.B. APIs, Berechnungen)

custom entity flow

Charakteristika

  • Custom Entity definiert Struktur und UI Annotationen
  • Kein SELECT Statement in CDS, Daten kommen aus ABAP-Implementierung
  • Verknüpfung mit Implementierungsklasse via Annotation
@ObjectModel.query.implementedBy: 'ABAP:ZCL_CUSTOM_ENTITY_IMPL'
define root custom entity ZC_CUSTOM_ENTITY {
key ID : sysuuid_x16;
Name : abap.string(100);
...
}

Wichtigste Objekte für Custom Entity

  1. CDS Custom Entity - Struktur und Annotationsdefinition
  2. Klassen-Implementierung - Datenlieferant über IF_RAP_QUERY_PROVIDER
  3. Service Definition - Service für Entität definieren
  4. Service Binding - Service veröffentlichen und konsumieren

Beispiel Implementierungsklasse

CLASS zcl_custom_entity_impl DEFINITION
PUBLIC
FINAL
CREATE PUBLIC .
PUBLIC SECTION.
INTERFACES if_rap_query_provider.
ENDCLASS.

CLASS zcl_custom_entity_impl IMPLEMENTATION.
METHOD if_rap_query_provider~select.
"Datenbeschaffung und Rückgabe an RAP
ENDMETHOD.
ENDCLASS.

Anwendungsfälle

  • Datenkonsolidierung aus mehreren Quellen
  • Aufruf externer Webservices oder BAPIs zur Datenversorgung
  • Komplexe Berechnungen oder Custom Business Logic vor der Auslieferung
  • Integration legacy Systeme in RAP Framework

Vorteile von Custom Entities

  • Maximale Flexibilität bei der Datenquelle
  • Nahtlose Integration in RAP und Fiori Elements
  • Ermöglicht Erweiterung über Standard CDS hinaus
  • Ideal für spezielle, nicht-tabellenbasierte Szenarien