Ansicht
Dokumentation
ABENBDL_ACTION1_ABEXA - BDL ACTION1 ABEXA
BAL Application Log Documentation TXBHW - Original Tax Base Amount in Local CurrencyDiese Dokumentation steht unter dem Copyright der SAP AG.
- 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
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 )