Zentrale Ablage für Personalisierungsdaten
Verwendung
Ziel der zentralen Ablage für Personalisierungsdaten ist es, eine Speicherungsmöglichkeit für benutzer- und rollenspezifische Daten zu schaffen, ohne daß zusätzliche Datenbanktabellen angelegt werden müssen. Diese Daten sollen dann bei sämtlichen Manipulationen an Benutzern und Rollen berücksichtigt werden.^
Außerdem soll die Möglichkeit geschaffen werden, bereits existierende benutzerabhängige Tabellen mit Hilfe einer vorgegebenen Schnittstelle in das Konzept zu integrieren.
Die Funktionalität umfaßt zunächst eine generische Ablage für benutzer- und rollenspezifische Daten und den zentralen Zugriff auf diese Daten durch die Benutzer- bzw. Rollenpflege. Außerdem wird die Möglichkeit geboten, über eine festgelegte Schnittstelle bereits existierende Tabellen mit benutzerspezifischen Daten an den zentralen Zugriff anzukoppeln.
Um Personalisierungsdaten in der zentralen Ablage abzulegen, muß für die Daten ein Schlüssel vergeben werden. Dies erfolgt über die Registrierungstransaktion PERSREG.
Generische Ablagetabelle für Personalisierungdaten
Die generische Ablagetabelle dient zur Speicherung der Personalisierungsdaten. Der Zugang wird durch die Klassenmethoden der Klasse CL_PERS_ADMIN bereitgestellt.
Die Daten können entweder als einfache Werte, Strukturen oder interne Tabellen abgelegt werden. Strukturen dürfen als Felder nur elementare Daten enthalten. Interne Tabellen können als Zeilen Strukturen oder elementare Daten enthalten.
Die internen Tabellen müssen als Tabellentypen definiert sein. Tabellen mit Kopfzeile (z.B.
Die verwendeten Datentypen müssen nicht im Dictionary hinterlegt werden.
Falls als Datentyp für die Personalisierungsdaten eine interne Tabelle gewählt wurde, ist es möglich, beim Zugriff auf die Daten nur Teile der Tabelle zu lesen. Dazu können für beliebige Felder der internen Tabelle Selektionsbedingungen vorgegeben werden. Die Bedingungen werden in Form von Feldname-Feldwert-Kombinationen beim Lesezugriff mitgegeben.
Es ist entsprechend auch möglich, nur Teile der abgelegten internen Tabelle zu aktualisieren. Dazu müssen die Felder, die als Schlüssel für die Modifikation verwendet werden sollen, beim Schreiben der Daten angegeben werden.
Die Typüberprüfung beim Lesen und Schreiben ist sehr locker. Falls der Typ, mit dem die Daten in die Ablage geschrieben wurden, nicht mit dem Typ übereinstimmt, mit dem die Daten gelesen werden, kommt es nur dann zum Fehler, wenn die Länge der einzelnen Felder nicht übereinstimmt. Bei anderen Veränderungen am Typ, z.B. Feldnamenänderung, werden eventuell die Felder nicht mehr vollständig gefüllt.
Beim Schreiben der Daten kann optional ein Puffer genutzt werden. Die Daten werden dann erst auf die Datenbank geschrieben, wenn die entsprechende Methode dazu aufgerufen wird.
Verschiedene Personalisierungsebenen
Die Daten können entweder zum Benutzer, zu Rollen oder zum System abgelegt werden. Zu einem Benutzer können dann alle ihm zugewiesenen Daten (über Rolle oder eigene Einstellung) auf einmal ausgelesen werden.
Zentraler Zugriff auf Personalisierungsdaten
Der Zugriff auf die Personalisierungsdaten ist aus der Benutzerverwaltung und der Rollenverwaltung möglich. Dazu wurden die Transaktionen SU01 und PFCG entsprechend erweitert.
Außerdem ist ein Zugriff aus einer Pflegetransaktion für die Personalisierung möglich.
In den folgenden Abschnitten wird die Verwendung der generischen Ablage für Personalisierungsdaten erläutert:
Verwendung der generischen Ablagetabelle Implementation eines Dialogs Integration externer Tabellen Registrierung von Personalisierungsobjekten