Ansicht
Dokumentation

ABENBDL_IN_CLASS_UNIQUE_EXT - BDL IN CLASS UNIQUE EXT

ABENBDL_IN_CLASS_UNIQUE_EXT - BDL IN CLASS UNIQUE EXT

CPI1466 during Backup   Vendor Master (General Section)  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

- implementation in class unique, Erweiterung

... implementation in class ClassName unique;

Wirkung

Gibt einen ABAP-Behavior-Pool für das erweiterte RAP-Business-Objekt an. Gültige Abkürzungen sind Erweiterungs-ABAP-Behavior-Pool oder Erweiterungs-ABP. Eine Erweiterungs-ABP ist eine optionale Komponente einer BDEF-Erweiterung und wird nur benötigt, wenn die BDEF-Erweiterung implementierungsrelevante Komponenten angibt.

Ein Erweiterungs-ABAP-Behavior-Pool kann an verschiedenen Positionen angegeben werden:

Der obligatorische Zusatz unique legt fest, dass jede Operation genau einmal implementiert werden kann.

Ursprüngliche ABPs und Erweiterungs-ABPs

Ein ursprünglicher ABP und ein Erweiterungs-ABP sind separate Artefakte, die nicht voneinander abhängen. Ein ursprünglicher ABP und ein Erweiterungs-ABP betrachten sich gegenseitig als externe Consumer. Es gelten folgende Regeln:

Auf als intern definierte RAP-BO-Operationen kann nur aus dem gleichen ABP zugegriffen werden, der sie implementiert. Eine interne Operation aus der ursprünglichen BDEF kann nicht erweitert werden, da sie in der Erweiterungs-ABP nicht sichtbar ist. Ebenso sind interne Aktionen aus einer Erweiterung für das ursprüngliche BO nicht sichtbar.
Mit dem Zusatz IN LOCAL MODE werden privilegierte Zugriffsrechte nur dem jeweiligen RAP-BO selbst erteilt. Auf das ursprüngliche BO kann im lokalen Modus über eigene Implementierungsklassen oder andere Klassen zugegriffen werden, die aus seiner eigenen Implementierung aufgerufen werden. Auf das Erweiterungs-BO kann im lokalen Modus aus seinen eigenen Klassenimplementierungen zugegriffen werden. Das ursprüngliche BO und das Erweiterungs-BO betrachten sich gegenseitig als externe Consumer.
  • Feldverwendung
  • Ein Erweiterungs-ABP kann Felder aus dem erweiterten RAP-BO verwenden.

  • Das ursprüngliche RAP-BO kann Felder aus einer Erweiterung verwenden, wenn die Erweiterung in der gleichen Softwarekomponente angelegt wird.

  • Feldattribute wie readonlymüssen zwischen dem ursprünglichem ABP und dem Erweiterungs-ABP berücksichtigt werden. Wenn beispielsweise ein Erweiterungs-ABP versucht, readonly-Felder des ursprünglichen RAP-BOs zu aktualisieren oder zu löschen, kommt es zu einem Laufzeitfehler . Ein Laufzeitfehler tritt auch beim Versuch auf, ein schreibgeschütztes Feld mithilfe der dynamischen EML zu ändern.

  • Der ursprüngliche ABP implementiert ein Feature-Control für ursprüngliche Felder und Operationen.

  • Die Erweiterungs-ABP implementiert ein Feature-Control für Erweiterungsfelder und Erweiterungsoperationen aus derselben Softwarekomponente.

  • Der Anforderungsparameter für die Behandlermethoden für ein globales und instanzbasiertes Feature-Control enthält die Felder und Operationen aus der direkt zugehörigen BDEF, d.h. entweder ursprünglich oder Erweiterung. Sie enthält keine Operationen sowohl aus der erweiterten BDEF und der Erweiterungs-BDEF, auch wenn sie die gleiche RAP-BO-Entität betreffen. Das heißt, dass eine strikte Trennung des Feature-Controls für ursprüngliche Felder und Operationen und Erweiterungsfelder und -operationen erzwungen wird.

  • Die RAP-Berechtigungssteuerung kann nur im erweiterten RAP-BO definiert werden, darf aber bei Bedarf sowohl im ursprünglichen-ABP als auch in der Erweiterungs-ABP implementiert werden.

  • Das ursprüngliche BO implementiert die Berechtigungssteuerung für Aktionen, die im ursprünglichen BO definiert sind.

  • Das Erweiterungs-BO implementiert die Berechtigungssteuerung für Erweiterungsaktionen, falls angegeben.

  • Der Anforderungsparameter für die Behandlermethoden für die globale und die instanzbasierte Berechtigungssteuerung enthält nur die Operationen aus der direkt zugehörigen BDEF, d.h. entweder erweitert oder Erweiterung. Das heißt, dass eine strikte Trennung der Berechtigungssteuerung für ursprüngliche Operationen und Erweiterungsoperationen erzwungen wird.

  • Wenn eine Operation, z.B. update, vor unberechtigtem Zugriff geschützt ist und dies im ursprünglichen RAP-BO implementiert ist, wird sie während aller Aktualisierungsoperationen, Aktualisierungen an ursprünglichen Knoten sowie Aktualisierungen an Erweiterungsknoten überprüft. Das heißt, dass die Implementierung von ursprünglichen Komponenten und Erweiterungskomponenten streng getrennt ist, die ursprüngliche Implementierung jedoch auch für Operationen gegen Erweiterungsknoten gilt.

  • Die folgenden Fälle erfordern eine separate Implementierung für die Berechtigungssteuerung im Erweiterungsverhaltens-Pool der Master-Entität und der berechtigungsabhängigen Entität: Aktionen berechtigungsabhängiger Entitäten, anlagefähige BO-übergreifende Assoziationen, anlagefähige Assoziationen, die keine Kompositionen sind.

Abgeleitete BDEF-Typen

  • Der abgeleitete BDEF-Typ eines RAP-BOs umfasst alle ursprünglichen Felder und alle Erweiterungsfelder.
  • Eine Erweiterungs-BDEF darf nicht als globaler Datentyp oder Teil eines Datentyps verwendet werden.

Weitere Informationen

Das ausführbare Beispiel Verhaltenserweiterung implementiert die Berechtigungssteuerung, ein Feature-Control, eine Validierung, eine Determinierung und zwei Aktionen. Diese Implementierungen werden zwischen ursprünglichem ABP und Erweiterungs-ABP verteilt.

Weitere ausführbare Beispiele






CPI1466 during Backup   General Material Data  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 10508 Date: 20240606 Time: 151932     sap01-206 ( 129 ms )