Anfang des Inhaltsbereichs

Hintergrunddokumentation Integration externer Tabellen  Dokument im Navigationsbaum lokalisieren

Um eine externe Tabelle, die bereits benutzerspezifische Daten enthalten, für die Benutzer- bzw. Rollenpflege zugänglich zu machen, muß eine Klasse implementiert werden, die das Interface IF_PERS_EXTERNAL_TABLE realisiert. Zur Implementation des Interfaces steht die Klasse CL_SUPER_PERS_ACCESS zur Verfügung, von der sämtliche nötigen Methoden geerbt werden können. Es ist aus Kompatibilitätsgründen empfehlenswert, die eigene Implementation immer von dieser Klasse abzuleiten. Dadurch kann die Stabilität bei eventuellen Erweiterungen des Interfaces besser gewährleistet werden.

Im folgenden wird kurz die Bedeutung der enthaltenen Methoden erläutert.

Kopieren von Benutzern

Methode USER_COPY

P_USER_SOURCE

UNAME

Name des Quellbenutzers

P_USER_TARGET

UNAME

Name des Zielbenutzers

P_PERS_KEY

SPERS_KEY

Schlüssel für das Personalisierungsobjekt

P_NO_BUFFER

CHAR1

Flag für die Umgehung der Pufferung

Löschen von Benutzern

Methode USER_DELETE

P_USER

UNAME

Name des Benutzers, dessen Personalisierungsdaten gelöscht werden sollen

P_PERS_KEY

SPERS_KEY

Schlüssel für das Personalisierungsobjekt

Umbenennen von Benutzern

Methode USER_RENAME

P_USER_SOURCE

UNAME

Alter Benutzername

P_USER_TARGET

UNAME

Neuer Benutzername

P_PERS_KEY

SPERS_KEY

Schlüssel für das Personalisierungsobjekt

Aufrufen eines Dialoges zum Benutzer

Methode USER_COPY

P_UNAME

UNAME

Name des Quellbenutzers

P_PERS_KEY

SPERS_KEY

Schlüssel für das Personalisierungsobjekt

P_COMMIT

CHAR1

Flag für die Pufferung:

Wenn das Flag auf 'X' gesetzt ist, werden die Daten nicht gepuffert.

Dialog, Löschen, Kopieren und Umbennen von Rollen

Die Methoden für den Dialog, das Löschen, Kopieren und Umbenennen von Rollen müssen analog implementiert werden.

Transport von Rollen

Methode USER_COPY

P_ROLE_NAME

AGR_NAME

Name der zu transportierenden Rolle

P_PERS_KEY

SPERS_KEY

Schlüssel für das Personalisierungsobjekt

P_ORDER

TRKORR

Transportauftrag, mit dem die Daten transportiert werden.

Dialog für Daten zum System

Die Dialogmethode zur Systemebene kann analog zu der Methode zur Benutzer- und Rollenebene implementiert werden.

Transport von Daten zum System

Die Methode zum Transport von Daten zur Systemebene kann analog zur entsprechenden Methode auf Rollenebene implementiert werden.

Speichern des Puffers

Mit Hilfe dieser Methode werden alle Daten vom Puffer auf die Datenbank geschrieben.

Hinweis

Die Methode SAVE_BUFFER sollte implementiert sein. Für die Integration in die Benutzer- bzw. Rollenpflege wird eine Pufferung der Daten benötigt.

Ableiten der eigenen Interface-Implementation

Die Implementation der eigenen Zugriffsmethoden kann mit Hilfe von Vererbung realisiert werden.

Dazu steht die Klasse CL_SUPER_PERS_ACCESS zur Verfügung. In der eigenen abgeleiteten Klasse muß lediglich der Konstruktor implementiert werden. Im Konstruktor müssen die Bezeichner für den Tabellennamen und für das Feld, das den Benutzer- bzw. Rollennamen enthält, zugewiesen werden. Außerdem müssen für den Zugriff eine Kopfzeile und eine interne Tabelle dynamisch erzeugt werden.

Hinweis

In Release 4.6C gibt es noch keine generische Methode zur Pufferung und keinen generischen Dialog. Die Methode zur Pufferung ist zwar implementiert, besitzt aber nicht die volle Funktionalität.

In der Beispielklasse SPERSD_REUSE_EXTERNAL ist dies für die Tabelle SPERS_FAV realisiert.

Diese Grafik wird im zugehörigen Text erklärt

In dem Beispiel werden zunächst die Tabellentypen für die benutzer- und die rollenabhängigen Daten definiert und die entsprechenden Puffertabellen angelegt. Außerdem werden die Namen der Tabellenfelder spezifiziert, die bei Benutzung des generischen Dialogs nicht angezeigt werden sollen.