Ansicht
Dokumentation

ABENBDL_ACTION1_ABEXA - BDL ACTION1 ABEXA

ABENBDL_ACTION1_ABEXA - BDL ACTION1 ABEXA

BAL Application Log Documentation   TXBHW - Original Tax Base Amount in Local Currency  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

- Aktion

In diesem Beispiel wird dargestellt, wie in einem verwalteten RAP-BO eine RAP-Aktion definiert, implementiert und genutzt wird.

Datenmodell

Das CDS-Datenmodell besteht aus der Wurzelentität DEMO_CDS_PURCH_DOC_M und ihrer untergeordneten Entität DEMO_CDS_PURCH_DOC_I_M. Die Wurzelentität stellt eine Bestellung und die untergeordnete Entität eine Bestellungsposition dar.

Wurzelentität:

Untergeordnete Entität:

Verhaltensdefinition

Die CDS-Verhaltensdefinition DEMO_CDS_PURCH_DOC_M wird in CDS BDL wie folgt definiert:

Aktionsdefinition

Es werden zwei Aktionen definiert: Approve_Order und Reject_Order. Bei der Bestellung von Gerätschaften durch einen Mitarbeiter legt er eine Bestellung an und der Vorgesetzte kann diese genehmigen oder ablehnen. Beide Aktionen habe den Ausgabeparameter $self mit Kardinalität 1, damit der Parameter result den gleichen Typ wie die Entität der ausgeführten Aktion hat.

action Approve_Order result [1] $self;

action Reject_Order result [1] $self;

Verhaltensimplementierung

Für die genannte CDS-Verhaltensdefinition wurde ein ABAP-Behavior-Pool (ABP) angelegt. Die globale Klasse des Verhaltens-Pools ist BP_DEMO_CDS_PURCH_DOC_M. Mit dieser globalen Klasse wird die lokale Behandlerklasse LHC_PURCHASEDOCUMENT implementiert, die die beiden Methoden Approve_Order und Reject_Order für die Implementierung der Aktionen enthält. Die eigentliche Implementierung findet in BP_DEMO_CDS_PURCH_DOC_M=======CCIMP statt und funktioniert wie folgt:

  • Bei der übergebenen Entitätsinstanz wird die Spalte Status mit A für Approved oder R für Rejected, über die MODIFY ENTITIES-Anweisung aktualisiert.
  • Es wird die lokale Struktur lt_purchase angelegt und über READ ENTITIES mit der Entitätsinstanz gefüllt.
  • Der Ausgabeparameter result wird gefüllt Ein definierter Ausgabeparameter muss immer gefüllt werden.

Quelltext

Ausführen

Beschreibung

Zugriff mit ABAP über EML

Der obige Quelltext verwendet EML, um auf das RAP Business-Objekt aus einem ABAP-Programm zuzugreifen:

  • Es werden zwei BO-Instanzen mit der Anweisung MODIFY ENTITY angelegt.
  • Auf einer der beiden Instanzen wird die Approve_Order mit der Anweisung EXECUTE ausgeführt.
  • Die result-, failed- und reported-Parameter werden zurückgegeben.
  • Die durch die Aktion im transaktionalen Puffer durchgeführten Änderungen werden mit der Anweisung COMMIT ENTITIES auf der Datenbank festgeschrieben.
  • Mit einer SELECT-Anweisung werden die geänderten Daten aus der persistenten Tabelle DEMO_PURCH_DOC gelesen. Ergebnis: Die Spalte Status der jeweiligen Instanz wird mit A für Accepted gefüllt.





rdisp/max_wprun_time - Maximum work process run time   General Material Data  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 5547 Date: 20240523 Time: 151935     sap01-206 ( 64 ms )