Ansicht
Dokumentation

ABENBDL__BEHAVIOR_EXT_ABEXA - BDL  BEHAVIOR EXT ABEXA

ABENBDL__BEHAVIOR_EXT_ABEXA - BDL  BEHAVIOR EXT ABEXA

ABAP Short Reference   BAL Application Log Documentation  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

- Verhaltenserweiterung

Mit diesem Beispiel wird das Verhalten eines RAP-BOs durch eine BDEF-Erweiterung erweitert.

Ursprüngliches RAP-BO

Datenmodell

Das CDS-Datenmodell besteht aus einem Wurzelknoten ohne untergeordnete Entitäten:

Verhaltensdefinition

Die CDS-Verhaltensdefinition DEMO_RAP_BEH_EXT wird in CDS BDL wie unten definiert: Sie definiert implementierungsrelevante Komponenten und Erweiterungspunkte.

Verhaltensimplementierung

Für die genannte CDS-Verhaltensdefinition wird ein ABAP-Behavior-Pool (ABP) angelegt. Die globale Klasse des Behavior-Pools ist BP_DEMO_RAP_BEH_EXT, siehe BP_DEMO_RAP_BEH_EXT===========CCIMP. Diese globale Klasse implementiert die folgenden Methoden:

  • get_instance_features: Instanz-Feature-Control für die Standardoperation update. Wenn der Wert des Felds int_field1 größer 50 ist, sind Aktualisierungen nicht zulässig. Wenn der Wert kleiner oder gleich 50 ist, sind Aktualisierungen zulässig.
  • get_global_authorizations: Die globale Berechtigungssteuerung legt fest, dass das Anlegen, Aktualisieren und Löschen immer erlaubt ist.
  • Limit: Validierung, die den Wert des Felds int_field2 prüft. Wenn der Wert größer 500 ist, schlägt die Validierung fehl und die Entitätsinstanz wird nicht gesichert.

Erweiterungs-RAP-BO

Datenmodellerweiterung

Dem RAP-BO wird ein untergeordneter Knoten hinzugefügt:

Eine Kompositionsassoziation wird dem Wurzelknoten über eine View-Entitätserweiterung hinzugefügt:

Verhaltenserweiterung

Die BDEF-Erweiterung DEMO_RAP_BEH_EXT_CH erweitert den Wurzelknoten und definiert das Verhalten für den untergeordneten Erweiterungsknoten.

ABP-Erweiterung

Die ABP-Erweiterung wird in der globalen Klasse BP_DEMO_RAP_BEH_EXT_CH implementiert, siehe BP_DEMO_RAP_BEH_EXT_CH========CCIMP. Diese globale Klasse implementiert die folgenden Methoden:

  • Erweiterung der übergeordneten Entität
  • get_global_features: Globales Feature-Control für die Aktion setValue. Diese Aktion kann nur im Zeitraum zwischen 6:00 und 22:00 Uhr (Tagesschicht) ausgeführt werden.

  • get_global_authorizations: Das ursprüngliche RAP-BO definiert die globale Berechtigungssteuerung. RAP-BO-Operationen, die über eine Erweiterung hinzugefügt werden, erfordern eine vollständige Implementierung der globalen Berechtigungssteuerung. Diese Methode erlaubt in der Regel die Ausführung der Methode setValue. Es gibt keine Zugriffsbeschränkungen.

  • setValue: Aktion, die das Feld int_field2 auf den Wert 888setzt.

  • Erweiterungsentitätsverhaltensdefinition für die untergeordnete Entität
  • get_global_authorizations: Das ursprüngliche RAP-BO definiert die globale Berechtigungssteuerung. Für die im untergeordneten Knoten definierte Aktion ActionExt ist eine eigene Implementierung der Berechtigungssteuerungsmethode erforderlich. Die Implementierung erlaubt generell die Ausführung der Methode ActionExt. Es gibt keine Zugriffsbeschränkungen.

  • myDet: On-Modify-Determinierung. Setzt den Wert des Feldes int_field1 auf 777.

  • ActionExt: Aktion, die das Feld char_field1 für alle angeforderten Entitätsinstanzen aktualisiert.

Quelltext

Ausführen

Beschreibung

Zugriff mit ABAP über EML

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

  • Er fügt zwei übergeordnete Entitätsinstanzen und zwei untergeordnete Entitätsinstanzen ein.
Die Berechtigung wird erteilt, die Validierung des Limits war erfolgreich.
  • Er aktualisiert die zwei übergeordneten Entitätsinstanzen.
Aktualisierungsanforderungen unterliegen dem instanzbasierten Feature-Control. Diese Instanz-Feature-Prüfung schlägt für eine Entitätsinstanz fehl. Die Aktualisierung ist nur für eine Entitätsinstanz erfolgreich.
Für die fehlgeschlagene Entitätsinstanz wird die Fehlermeldung angezeigt.
Die Berechtigung wird erteilt.
  • Es wird die Aktion deductDiscount ausgeführt.
Die Berechtigung wird erteilt, das globale Feature-Control ist erfolgreich.
  • Es wird die Aktion ActionExt ausgeführt.
Die Berechtigungssteuerung für übergeordnete und untergeordnete Entitäten ist erfolgreich.

Die Bildschirmausgabe enthält eine Tabelle, die die Ausführungsreihenfolge der Behandlermethoden des ABAP-Behavior-Pool aufführt. Hiermit wird gezeigt, welche Methoden in welcher Reihenfolge beim Zugriff auf das RAP-BO ausgeführt werden.






General Data in Customer Master   Addresses (Business Address Services)  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 8310 Date: 20240523 Time: 182433     sap01-206 ( 88 ms )