Anfang des Inhaltsbereichs

Hintergrunddokumentation Verwendung der generischen Ablagetabelle  Dokument im Navigationsbaum lokalisieren

Um Daten in der generischen Ablage zu speichern, werden die Methoden der Klasse CL_PERS_ADMIN verwendet.

Klasse CL_PERS_ADMIN

get_data

Lesen der Daten zum Benutzer

set_data

Schreiben der Daten zum Benutzer

get_data_role

Lesen der Daten zu einer Rolle

set_data_role

Schreiben der Daten zu einer Rolle

get_data_system

Lesen der Daten zum System

set_data_system

Lesen der Daten zum System

save_buffer

Speichern der gepufferten Daten

get_object

Holen eines Personalisierungsobjektes zum Benutzer

get_object_role

Holen eines Personalisierungsobjektes zu einer Rolle

get_object_system

Holen eines Personalisierungsobjektes zum System

user_dialog

Dialogaufruf für Objekte zu Benutzern

role_dialog

Dialogaufruf für Objekte zu Rollen

system_dialog

Dialogaufruf für Objekte zum System

Grundsätzlich gibt es zwei Arten, auf die Personalisierungsdaten zuzugreifen. Die Daten können direkt gelesen bzw. geschrieben werden oder über ein ABAP-Objekt manipuliert werden.

Direktes Schreiben von Daten

Zum direkten Schreiben von Personalisierungsdaten werden die Methoden SET_DATA, SET_DATA_ROLE und SET_DATA_SYSTEM verwendet.

Diese Grafik wird im zugehörigen Text erklärt

In dem Beispiel werden die Daten aus demo_data unter dem Schlüssel DEMO_KEY zu dem Benutzer SY-UNAME abgelegt.

Parameter

Typ

Bedeutung

p_pers_key

SPERS_KEY

Schlüssel für die Personalisierungsdaten:

Dieser Schlüssel wurde bei der Registrierung des Personalisierungsobjektes vergeben.

p_uname

UNAME

Benutzername, zu dem die Daten gelesen werden sollen.

p_pers_data

ANY

Personalisierungsdaten

p_write_through

CHAR1

Flag für die Umgehung des Pufferungsmechanismus:

Wenn das Flag auf 'X' steht, werden die Daten sofort auf die Datenbank geschrieben.

p_append

CHAR1

Flag zum Anhängen von Daten:

Wenn das Flag auf 'X' steht, werden die Daten angehängt.

Um die Daten später wieder zu lesen, muß dann eine interne Tabelle mit entsprechendem Zeilentyp verwendet werden.

p_modify

CHAR1

Flag zum Modifizieren von Daten (interne Tabellen):

Wenn das Flag gesetzt ist, werden die Daten in der Ablage, die in den vorgegebenen Schlüsselfeldern mit den mitgegebenen Daten identisch sind, ersetzt.

Der Parameter kann nur in Verbindung mit p_append = 'X' verwendet werden.

Die Schlüsselfelder werden im Parameter p_key_tab mitgegeben.

p_key_tab

SPERS_SELT

Liste der Schlüsselfelder für die Modifikation

Die Methoden SET_DATA_AGR und SET_DATA_SYSTEM können analog verwendet werden.

Direktes Lesen von Daten

Zum direkten Lesen von Daten werden die Methoden GET_DATA, GET_DATA_AGR und GET_DATA_SYSTEM verwendet.

Diese Grafik wird im zugehörigen Text erklärt

In dem Beispiel werden die Personalisierungsdaten unter dem Schlüssel DEMO_KEY zu dem Benutzer SY-UNAME in die Variable demo_data gelesen. Die Daten zu den Rollen, denen der Benutzer zugewiesen ist, befinden sich in der Tabelle demo_data_list.

Parameter

Typ

Bedeutung

p_pers_key

SPERS_KEY

Schlüssel für die Personalisierungsdaten:

Dieser Schlüssel wurde bei der Registrierung des Personalisierungsobjektes vergeben.

p_uname

UNAME

Benutzername, zu dem die Daten gelesen werden sollen.

p_user_data_only

CHAR1

Wenn das Flag auf 'X' gesetzt ist, werden nur die Daten zum Benutzer gelesen. Die Daten an den zugewiesenen Rollen werden nicht gelesen.

p_refresh_buffer

CHAR1

Flag für die Umgehung des Pufferungsmechanismus:

Wenn das Flag auf 'X' steht, werden die Daten direkt von der Datenbank gelesen. Der Puffer wird dabei ignoriert.

p_pers_data

ANY

Personalisierungsdaten

p_pers_data_list

SPERS_ADT

Personalisierungsdaten der Rollen, denen der Benutzer zugewiesen ist. Die Tabelle enthält den Namen der Rolle und eine Referenz auf die Personalisierungsdaten.

p_sel_tab

SPERS_SELT

Tabelle mit Selektionsbedingungen (interne Tabellen):

Die interne Tabelle enthält Feld-Wert-Kombinationen für die Selektion von Daten.

p_sel_cond_and

CHAR1

Und-Verknüpfung der Selektionsbedingungen

Die Methoden GET_DATA_AGR und GET_DATA_SYSTEM können analog verwendet werden.

Sichern der gepufferten Daten

Falls die Personalisierungsdaten nicht direkt auf die Datenbank geschrieben wurden, können die gepufferten Daten mit der Methode SAVE_BUFFER gesichert werden. Beim Aufruf der Methode werden sämtliche Daten der Personalisierungsablage gesichert.

Aufruf eines Dialogs

Zum Aufruf des Dialogs werden die Methoden USER_DIALOG, ROLE_DIALOG und SYSTEM_DIALOG verwendet.

Diese Grafik wird im zugehörigen Text erklärt

In dem Beispiel wird ein Dialog zu dem Personalisierungsobjekt mit dem Schlüssel DEMO_KEY für den Benutzer SY-UNAME aufgerufen. Die Daten verbleiben zunächst im Puffer.

Parameter

Typ

Bedeutung

p_pers_key

SPERS_KEY

Schlüssel für die Personalisierungsdaten:

Dieser Schlüssel wurde bei der Registrierung des Personalisierungsobjektes vergeben.

p_uname

UNAME

Benutzername, zu dem die Daten gelesen werden sollen.

p_check_user

CHAR1

Wenn das Flag auf 'X' gesetzt ist, wird der Benutzer auf Existenz überprüft.

p_commit

CHAR1

Flag für die Umgehung des Pufferungsmechanismus:

Wenn das Flag auf 'X' steht, werden die Daten direkt auf die Datenbank geschrieben.

Die Methoden ROLE_DIALOG und SYSTEM_DIALOG können analog verwendet werden.

Löschen von Daten

Zum Löschen von Personalisierungsdaten aus der generischen Ablage stehen die Methoden DELETE_DATA_USER, DELETE_DATA_ROLE und DELETE_DATA_SYSTEM zur Verfügung.

Diese Grafik wird im zugehörigen Text erklärt

Im Beispiel werden die Daten zum Benutzer SY-UNAME und dem Schlüssel DEMO_KEY gelöscht.

Parameter

Typ

Bedeutung

p_pers_key

SPERS_KEY

Schlüssel für die Personalisierungsdaten:

Dieser Schlüssel wurde bei der Registrierung des Personalisierungsobjektes vergeben.

p_uname

UNAME

Benutzername, zu dem die Daten gelesen werden sollen.

p_sel_tab

SPERS_SELT

Tabelle mit Selektionsbedingungen (interne Tabellen):

Die interne Tabelle enthält Feld-Wert-Kombinationen für die Selektion von Daten..

p_sel_cond_and

CHAR1

Und-Verknüpfung der Selektionsbedingungen

p_buffer_only

CHAR1

Wenn das Flag gesetzt wird, wird nur die Puffertabelle gelöscht.

Die Methoden DELETE_DATA_ROLE und DELETE_DATA_SYSTEM können analog verwendet werden.

Zugriff auf die Personalisierungsdaten über ein ABAP-Objekt

Mit den Methoden GET_OBJECT, GET_OBJECT_AGR und GET_OBJECT_SYSTEM kann zu einem Schlüssel ein ABAP-Objekt gelesen werden, über das die Manipulation der Personalisierungsdaten ebenfalls möglich ist.

Diese Grafik wird im zugehörigen Text erklärt

In dem Beispiel wird unter dem Schlüssel DEMO_KEY zu dem Benutzer SY-UNAME ein Personalisierungsobjekt in die Referenzvariable pers_objekt gelesen.

Über den Parameter P_USER_DATA_ONLY wird festgelegt, ob auch die Objekte zu den Rollen gelesen werden sollen, die dem Benutzer zugewiesen sind. Die Objekte zu den Rollen werden in dem Parameter P_OBJECTS_AGR ausgegeben.

Mit Hilfe des Parameters P_RFC kann eine RFC-Destination angegeben werden, über die die Daten gelesen werden sollen.

Das Personalisierungsobjekt gehört der Klasse CL_PERS_OBJECT_DATA an. Es sind die Methoden SET_DATA, GET_DATA, SAVE_OBJECT_DATA und DIALOG zum Zugriff auf die Daten vorhanden.

Schreiben der Daten über das ABAP-Objekt

Der Schreibzugriff auf die Daten eines Personalisierungsobjektes erfolgt über die Methode SET_DATA.

Diese Grafik wird im zugehörigen Text erklärt

In dem Beispiel werden die Daten aus der Variable demo_data direkt in die zentrale Ablage geschrieben. Die Bedeutung der Parameter ist analog zum direkten Schreiben von Daten.

Lesen der Daten über das ABAP-Objekt

Der Lesezugriff auf die Daten eines Personalisierungsobjektes erfolgt mit der Methode GET_DATA.

Diese Grafik wird im zugehörigen Text erklärt

In dem Beispiel werden die Daten des Personalisierungsobjektes von der Datenbank in das Feld demo_data gelesen. Die Bedeutung der Parameter ist analog zum direkten Lesen von Daten.

Aufruf des Pflegedialoges

Der Aufruf des Pflegedialoges zu einem Personalisierungsobjekt erfolgt mit der Methode DIALOG.

Diese Grafik wird im zugehörigen Text erklärt

In dem Beispiel wird der Dialog zu einem Personalisierungsobjekt aufgerufen. Die Änderungen, die in den Daten vorgenommen wurden, werden direkt auf die Datenbank geschrieben, da der Parameter p_commit auf 'X' gesetzt wurde.

Um einen Dialog aufrufen zu können, muß zu dem Schlüssel des Personalisierungsobjektes ein Dialog definiert sein. Dazu muß ein entsprechender Funktionsbaustein implementiert werden.

Sichern der gepufferten Daten

Falls die Daten nicht direkt auf die Datenbank geschrieben wurden, können die Daten über die Methode SAVE_OBJECT_DATA gesichert werden. Die Methode hat den Parameter P_BACKGROUND. Ist der Parameter auf 'X' gesetzt, wird zur Speicherung der Daten ein Hintergrundprozeß gestartet.

Löschen von Daten

Zum Löschen von Daten steht die Methode DELETE_DATA zur Verfügung.

Diese Grafik wird im zugehörigen Text erklärt

Im Beispiel werden die Daten ohne Selektionsparameter gelöscht.

Parameter

Typ

Bedeutung

p_sel_tab

SPERS_SELT

Tabelle mit Selektionsbedingungen (interne Tabellen):

Die interne Tabelle enthält Feld-Wert-Kombinationen für die Selektion von Daten.

p_sel_cond_and

CHAR1

Und-Verknüpfung der Selektionsbedingungen

p_buffer_only

CHAR1

Wenn das Flag gesetzt wird, wird nur die Puffertabelle gelöscht.