Ansicht
Dokumentation

ABENBDL_EXAMPLE - BDL EXAMPLE

ABENBDL_EXAMPLE - BDL EXAMPLE

BAL Application Log Documentation   General Material Data  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

ABAP BDL - Beispiel

Im folgenden Beispiel werden die Daten aus dem ABAP-Flugdaten-Referenzszenario (Kurz: Flugdaten-Szenario) verwendet. Es stellt eine Legacy-Business-Logik dar, mit der Flugbuchungen erstellt und bearbeitet werden können.

Das zugrundeliegende Business-Objekt zur Verwaltung von Flugreisen kann mit einem Alias, hier Travel, versehen werden. Die Struktur des Business-Objekts besteht aus einem Baum mit den Entitäten Travel, Booking, Agency, Customer, Carrier, Connection, Currency, Status. Die Entitäten sind durch Kompositionen und Assoziationen verbunden. Jede Entität der Baumstruktur wird mit einer CDS-View modelliert:

  • Die Entität Travel ist der oberste Knoten in der Struktur des Business-Objekts und dient der Verwaltung allgemeiner Reisedaten. Sie wird durch die CDS-View /DMO/I_Travel dargestellt.
  • Die Entität Booking ist eine untergeordnete Entität von Travel und wird mit der CDS-View /DMO/I_Booking dargestellt. Sie wird zur Verwaltung von Flugbuchungsdaten, wie zum Beispiel Passagier, Flugverbindung, Preis und Flugdatum, verwendet.

Das folgende Beispiel zeigt die Verhaltensdefinition für die Wurzel-Entität Travel. Im Beispiel wird der Implementierungstyp auf unmanaged gesetzt, weil die existierende Legacy-Business-Logik in der neuen Applikation zur Verwaltung der Flugreisen integriert werden soll.

implementation unmanaged;
define behavior for /DMO/I_Travel alias travel
late numbering
lock master
etag LastChangedAt
{
  field (read only) Travel_ID;
  field (mandatory) Agency_ID, Customer_ID, Begin_Date, End_Date;
  create;
  update;
  delete;
  action set_status_booked result [1] $self;
  association _Booking { create; }
}

Das transaktionale Verhalten des Business-Objekts Travel ist durch die Standardoperationen create, update und delete sowie durch die Aktion set_status_booked festgelegt. Die Implementierung dieser Operationen erfolgt in dem entsprechenden Behavior-Pool.

Mit der Aktion set_status_booked kann der Endbenutzer den Status einer Reise auf gebucht setzen. Die Aktion set_status_booked ist an eine Instanz vom Typ Travel gebunden, die in diesem Fall auch von der Aktion zurückgegeben wird. Daher ist Kardinalität gleich [1] und $self ist als Typ des Ausgabeparameters gesetzt.

Die Assoziation _Booking definiert, dass neue Instanzen der untergeordneten Entität Booking nur für eine bestimmte Instanz der Entität Travel erstellt werden können.






SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up   CPI1466 during Backup  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 5333 Date: 20240523 Time: 174535     sap01-206 ( 77 ms )