Ansicht
Dokumentation
ABENBDL_ENTITY_PROJ_EXT_1_ABEXA - BDL ENTITY PROJ EXT 1 ABEXA
SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up RFUMSV00 - Advance Return for Tax on Sales/PurchasesDiese Dokumentation steht unter dem Copyright der SAP AG.
- BDEF-Projektionserweiterung, Felderweiterung
In diesem Beispiel wird das Hinzufügen von Erweiterungsfeldern und ihre Verhaltensfähigkeit in einem Projektions-BDEF-Erweiterungsszenario demonstriert.
Ursprüngliches RAP-BO
DDIC-Datenmodell
Das DDIC-Datenmodell besteht aus einer Datenbanktabelle: DEMO_ROOT_EXT:
Diese Datenbanktabelle enthält die Struktur DEMO_EXTENSION.
CDS-Datenmodell
Das CDS-Datenmodell besteht aus einer Wurzelentität ohne untergeordnete Entitäten: DEMO_RAP_FIELD_EXT:
Verhaltensdefinition
Die CDS-Verhaltensdefinition
DEMO_RAP_FIELD_EXT wird in
CDS BDL wie unten
definiert: Sie definiert die globale Berechtigungssteuerung und fügt mehreren Feldern Feldattribute hinzu.
Verhaltensimplementierung
Für die CDS-Verhaltensdefinition wurde ein ABAP-Behavior-Pool (ABP) angelegt. Die globale Klasse des Behavior-Pools ist BP_DEMO_RAP_FIELD_EXT, siehe BP_DEMO_RAP_FIELD_EXT=========CCIMP. Diese globale Klasse implementiert zwei Methoden:
- get_instance_features: Implementiert das dynamische Feature-Control für das Feld DataField: Wenn das Feld CharField den Wert A hat, ist das Feld DataField schreibgeschützt. Wenn das Feld CharField einen anderen Wert hat, kann auf das Feld DataField ohne Einschränkungen zugegriffen werden.
- get_global_auth: Hiermit wird das
globale Feature-Control für das gesamte RAP-BO definiert: Aktualisierungsanforderung sind in der Regel autorisiert, Löschanforderungen sind in der Regel nicht autorisiert.
Erweiterungs-RAP-BO
DDIC-Datenmodellerweiterung
Erweiterungsfelder werden dem DDIC-Datenmodell über die Strukturerweiterung DEMO_EXTEND_STR hinzugefügt:
CDS-Datenmodellerweiterung
Die Erweiterungsfelder werden dem CDS-Datenmodell über die CDS-View-Entitätserweiterung DEMO_EXTENSION_RAP_BO hinzugefügt:
BDEF-Erweiterung
Die BDEF-Erweiterung DEMO_EXTENSION_RAP_BO fügt den Erweiterungsfeldern Feldattribute hinzu.
ABP-Erweiterung
Die ABP-Erweiterung wird in der globalen Klasse BP_DEMO_EXTENSION_RAP_BOimplementiert, siehe
BP_DEMO_EXTENSION_RAP_BO======CCIMP. Diese globale
Klasse implementiert das dynamische Feature-Control für das Erweiterungsfeld
NumFieldExt: Wenn der Wert des Felds IntFieldExt
größer 1000 ist, ist das Feld NumFieldExt
schreibgeschützt. Wenn der Wert des Feldes IntFieldExt
kleiner oder gleich 1000 ist, ist der Zugriff auf das Feld NumFieldExt uneingeschränkt.
Projektionsschicht
Datenmodellprojektion
Die Projektions-View DEMO_RAP_PROJ_EXT_FIELD projiziert den Wurzelknoten:
View-Entitätserweiterung
Die CDS-View-Entitätserweiterung DEMO_RAP_PV_EX
erweitert die ursprüngliche CDS-Projektions-View. Sie umfasst die Erweiterungsfelder in der Projektionsschicht.
Verhaltensprojektion
Die CDS-ProjektionsverhaltensdefinitionDEMO_RAP_PROJ_EXT_FIELD projiziert die ursprüngliche BDEF.
BDEF-Projektionserweiterung
Die BDEF-Projektionserweiterung DEMO_RAP_PROJ_BDEF_EXT
erweitert die Projektionsverhaltensdefinition. Hiermit werden den Erweiterungsfeldern Feldattribute hinzugefügt.
Quelltext
Beschreibung
Zugriff mit ABAP über EML
Der obige Quelltext verwendet ABAP EML, um auf das RAP-Business-Objekt aus einem ABAP-Programm zuzugreifen:
- Hiermit werden zwei Entitätsinstanzen über MODIFY ENTITIES CREATE eingefügt.
- Es werden beide Entitätsinstanzen mit MODIFY ENTITIES UPDATE aktualisiert.
Dabei werden Feldattribute aus dem ursprünglichen BO, aus dem Projektions-BO und aus den Erweiterungen berücksichtigt. Felder, die in einer Schicht als schreibgeschützt deklariert sind, dürfen nicht aktualisiert werden. CharFieldExt ist in den abgeleiteten Typen nicht verfügbar, da es unterdrückt wurde.
General Material Data Vendor Master (General Section)
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 7171 Date: 20240523 Time: 162657 sap01-206 ( 96 ms )