Ansicht
Dokumentation
ABENBDL_ACTIONS_FC - BDL ACTIONS FC
Fill RESBD Structure from EBP Component Structure RFUMSV00 - Advance Return for Tax on Sales/PurchasesDiese Dokumentation steht unter dem Copyright der SAP AG.
- feature control
... (features:instance)
$| (features:global) ...
Varianten:
1. ... (features:instance)
2. ... (features:global)
Wirkung
Hiermit wird ein Feature-Control für eine RAP-BO-Operation definiert. Mit einem Feature-Control können Operationen ein- oder ausgeschaltet werden.
Zwei Varianten stehen zur Verfügung:
- Operationen eines Business-Objekts können nach instanzspezifischen Kriterien, beispielsweise dem Wert eines spezifischen Feldes oder dem Wert von referenzierten Daten, ein- oder ausgeschaltet werden. Wenn der Status einer BO-Instanz zum Beispiel auf archiviert gesetzt werden soll, können alle modifizierenden Operationen über ein instanzbasiertes Feature-Control ausgeschaltet werden.
- Eine Implementierung in der RAP-Behandlermethode FOR INSTANCE FEATURES ist obligatorisch.
- Operationen eines Business-Objekts können global ein- oder ausgeschaltet werden. D.h. die Entscheidung ist vom Zustand der individuellen Entitätsinstanz unabhängig. Eine Operation kann global ein- oder ausgeschaltet werden, indem zum Beispiel den Umschaltzustand eines Features interpretiert wird.
- Eine Implementierung in der RAP-Behandlermethode FOR GLOBAL FEATURES ist obligatorisch.
Wenn eine Operation über ein Feature-Control ausgeschaltet ist, ist sie auf der Benutzeroberfläche einer OData-Anwendung ausgegraut. Beim Versuch eines externen RAP-BO-Consumers, eine ausgeschaltete Operation mit EML auszuführen, schlägt die Operation fehl und es wird ein Eintrag in der failed-Struktur zurückgegeben.
- Entwicklungsleitfaden für das ABAP-RESTful-Anwendungsprogrammiermodell, Abschnitt Feature Control
Hinweise
- Das Feature-Control kann für interne Operationen nicht verwendet werden.
- Es werden keine Laufzeitprüfungen des Feature-Controls für EML-Aufrufe mit dem Zusatz IN LOCAL MODE ausgewertet.
- Mit der EML-Anweisung GET PERMISSIONS können Informationen über ausgeschaltete Operationen ermittelt werden.
- In UI-Szenarien wird das Feature-Control als RAP-Consumer-Hinweis dargestellt.
Variante 1
... features:instance
Wirkung
Mit dem instanzbasierten Feature-Control werden Operationen je nach Zustand der BO-Entitätsinstanz ein- oder ausgeschaltet. Ein instanzbasiertes Feature-Control kann für folgende Operationen definiert werden:
- die Standardoperationen update und delete
- die Entwurfsaktion Edit.
Beispiel
Das folgende Beispiel zeigt eine verwaltete BDEF, die das dynamische Feature-Control für die Standardoperation update definiert.
Im ABAP-Verhaltens-Pool wird folgendes angegeben: wenn int_field1 > 50, dann wird die aktualisierende Operation ausgeschaltet.
Die vollständige Implementierung befindet sich unter BP_DEMO_RAP_OPERATION_FC======CCIMP
Das ABAP-Programm DEMO_RAP_FC_OPERATION verwendet EML, um auf das RAP-Business-Objekt zuzugreifen:
- Zunächst fügt es mit INSERT zwei Entitätsinstanzen direkt auf der Datenbank ein.
- eine dieser Entitätsinstanzen hat den Wert '1' für das Feld int_field1.
- die zweite Instanz hat den Wert '55' für das Feld int_field1. Hiermit wird die Bedingung erfüllt, die das Feature-Control auslöst und für diese Instanz wird die aktualisierende Operation ausgeschaltet.
- Auf beiden Instanzen wird eine EML-UPDATE-Operation ausgeführt, die das Feld int_field2 aktualisiert.
- Mit der -SELECT-Anweisung wird der Inhalt der zugrunde liegenden Datenbanktabelle angezeigt.
Ergebnis: die erste Entitätsinstanz wird aktualisiert. Bei der zweiten Entitätsinstanz schlägt die aktualisierende Operation fehl und es wird ein Eintrag in der failed-Struktur zurückgegeben. Die Aktualisierung wurde von der dynamischen Laufzeitprüfung des Feature-Controls abgelehnt.
IMAGE @@ABDOC_FC_OP.png@@606@@81@@Variante 2
... features:global
Wirkung
Mit einem globalen Feature-Control werden Operationen instanzunabhängig ein- oder ausgeschaltet. Ein globales Feature-Control kann für folgende Operationen definiert werden:
- die Standardoperationen create, update und delete
Beispiel
Das folgende Beispiel zeigt eine nicht verwaltete BDEF, die das globale Feature-Control für die Standardoperation delete definiert.
Im ABAP-Verhaltens-Pool wird angegeben, dass Löschoperationen nur in der Zeit zwischen 22:00 und 06:00 erlaubt sind.
Die vollständige Implementierung befindet sich unter BP_DEMO_RAP_UNMANAGED_FC======CCIMP.
Das ABAP-Programm DEMO_RAP_UNMANAGED_FC verwendet EML, um auf das RAP-Business-Objekt zuzugreifen:
- Es werden drei Entitätsinstanzen angelegt.
- Es wird versucht, eine der Entitätsinstanzen zu löschen.
- In der Zeit zwischen 22:00 und 06:00 (der Nachtschicht) ist die Löschoperation erfolgreich.
- In der Zeit zwischen 06:00 und 22:00 (der Tagesschicht) ist die Löschoperation ausgeschaltet und es kommt zu einer Fehlermeldung gezeigt.
Ergebnis: In diesem Beispiel ist die Löschoperation nicht erlaubt und es kommt zu einer Fehlermeldung.
IMAGE @@ABDOC_global_fc.jpg@@446@@262@@CPI1466 during Backup Fill RESBD Structure from EBP Component Structure
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 10612 Date: 20240523 Time: 175857 sap01-206 ( 110 ms )