Ansicht
Dokumentation

ABENBDL_ENTITY_PROJ_EXT_1_ABEXA - BDL ENTITY PROJ EXT 1 ABEXA

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/Purchases  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

- 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

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:

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 )