
Zum Sichern von Daten in der generischen Ablage werden die Methoden der Klasse CL_PERS_ADMIN verwendet.
| Methode | Beschreibung |
|---|---|
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 |
Abrufen eines Personalisierungsobjektes zum Benutzer |
get_object_role |
Abrufen eines Personalisierungsobjektes zu einer Rolle |
get_object_system |
Abrufen 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.
Verwenden Sie die Methoden SET_DATA, SET_DATA_ROLE und SET_DATA_SYSTEM zum direkten Schreiben von Personalisierungsdaten.
Im Beispiel werden die Daten aus demo_data im Schlüssel DEMO_KEY für den Benutzer SY-UNAME abgelegt.
| Parameter | Typ | Beschreibung |
|---|---|---|
p_pers_key |
SPERS_KEY |
Schlüssel für 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 |
Kennzeichen für die Umgehung des Pufferungsmechanismus: Wenn das Kennzeichen auf X gesetzt wurde, werden die Daten sofort in die Datenbank geschrieben. |
p_append |
CHAR1 |
Kennzeichen zum Anhängen von Daten: Wurde das Kennzeichen auf X gesetzt, werden die Daten angehängt. Um die Daten später wieder zu lesen, muss dann eine interne Tabelle mit entsprechendem Zeilentyp verwendet werden. |
p_modify |
CHAR1 |
Kennzeichen zum Modifizieren von Daten (interne Tabellen): Wenn das Kennzeichen gesetzt ist, werden die Daten in der Ablage ersetzt, die in den vorgegebenen Schlüsselfeldern mit den mitgegebenen Daten identisch sind. Der Parameter kann nur in Verbindung mit p_append = 'X' verwendet werden. Die Schlüsselfelder werden im Parameter p_key_tab übergeben.
|
p_key_tab |
SPERS_SELT |
Liste der Schlüsselfelder für die Änderung. |
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.
In dem Beispiel werden die Personalisierungsdaten unter dem Schlüssel DEMO_KEY zu dem Benutzer SY-UNAME in die Variable demo_data gelesen. demo_data. Die Daten zu den Rollen, denen der Benutzer zugewiesen ist, befinden sich in der Tabelle demo_data_list.
| Parameter | Typ | Beschreibung |
|---|---|---|
p_pers_key |
SPERS_KEY |
Schlüssel für 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 Kennzeichen auf X gesetzt ist, werden nur die Daten zum Benutzer gelesen. Die Daten an den zugewiesenen Rollen werden nicht gelesen. |
p_refresh_buffer |
CHAR1 |
Kennzeichen für die Umgehung des Pufferungsmechanismus. Wurde das Kennzeichen auf X gesetzt, werden die Daten direkt aus 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 Auswahlbedingungen (interne Tabellen). Die interne Tabelle enthält Feld-Wert-Kombinationen für die Auswahl von Daten. |
p_sel_cond_and |
CHAR1 |
Und-Verknüpfung der Auswahlbedingungen. |
Die Methoden GET_DATA_AGR und GET_DATA_SYSTEM können analog verwendet werden.
Sichern der gepufferten Daten
Wurden die Personalisierungsdaten nicht direkt in die Datenbank geschrieben, 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.
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 | Beschreibung |
|---|---|---|
p_pers_key |
SPERS_KEY |
Schlüssel für 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 |
Wurde das Kennzeichen auf X gesetzt, wird der Benutzer auf Existenz überprüft. |
p_commit |
CHAR1 |
Kennzeichen für die Umgehung des Pufferungsmechanismus: Wurde das Kennzeichen auf X gesetzt, werden die Daten direkt in 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.
Im Beispiel werden die Daten zum Benutzer SY-UNAME und dem Schlüssel DEMO_KEY gelöscht.
| Parameter | Typ | Beschreibung |
|---|---|---|
p_pers_key |
SPERS_KEY |
Schlüssel für 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 Auswahlbedingungen (interne Tabellen). Die interne Tabelle enthält Feld-Wert-Kombinationen für die Auswahl von Daten. |
p_sel_cond_and |
CHAR1 |
Und-Verknüpfung der Auswahlbedingungen. |
p_buffer_only |
CHAR1 |
Wurde das Kennzeichen gesetzt, wird nur die Puffertabelle gelöscht. |
Die Methoden DELETE_DATA_ROLE und DELETE_DATA_SYSTEM können analog verwendet werden.
Die Methoden GET_OBJECT, GET_OBJECT_AGR und GET_OBJECT_SYSTEM können zum Lesen eines ABAP-Objekts hinsichtlich eines Schlüssels verwendet werden. Sie können dieses ABAP-Objekt zum Manipulieren von Personalisierungsdaten verwenden.
Im Beispiel wird ein Personalisierungsobjekt in Referenzvariable pers_objekt im Schlüssel DEMO_KEY für den Benutzer SY-UNAME 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.
Mithilfe 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. Die Methoden SET_DATA, GET_DATA, SAVE_OBJECT_DATA und DIALOG können für den Zugriff auf die Daten verwendet werden.
| Parameter | Mögliche Werte | Beschreibung |
|---|---|---|
p_db_commit |
Standardwert X space |
Dieser Parameter ermöglicht den Aufruf ohne Commit. Die Anwendung kann selbst bestimmen, wann ein Commit durchgeführt wird. Standardmäßig ist der Vorschlagswert X für den Parameter gesetzt, um das bisherige Verhalten zu gewährleisten. Um Commit zu übergehen setzen Sie p_db_commit = space. |
Schreiben der Daten über das ABAP-Objekt
Der Schreibzugriff auf die Daten eines Personalisierungsobjektes erfolgt über die Methode SET_DATA.
Im 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.
In dem Beispiel werden die Daten des Personalisierungsobjektes von der Datenbank in das Feld demo_data gelesen. demo_data. 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.
In dem Beispiel wird der Dialog zu einem Personalisierungsobjekt aufgerufen. An den Daten vorgenommene Änderungen werden direkt in die Datenbank geschrieben, da der Parameter p_commit auf X gesetzt wurde.
Um einen Dialog aufrufen zu können, muss zu dem Schlüssel des Personalisierungsobjektes ein Dialog definiert sein. Dazu muss ein entsprechender Funktionsbaustein implementiert werden.
Gepufferte Daten sichern
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. Wurde der Parameter auf X gesetzt, wird zum Sichern der Daten ein Hintergrundprozess gestartet.
Löschen von Daten
Zum Löschen von Daten steht die Methode DELETE_DATA zur Verfügung.
Im Beispiel werden die Daten ohne Auswahlparameter gelöscht.
| Parameter | Typ | Beschreibung |
|---|---|---|
p_sel_tab |
SPERS_SELT |
Tabelle mit Auswahlbedingungen (interne Tabellen). Die interne Tabelle enthält Feld-Wert-Kombinationen für die Auswahl von Daten. |
p_sel_cond_and |
CHAR1 |
Und-Verknüpfung der Auswahlbedingungen. |
p_buffer_only |
CHAR1 |
Wurde das Kennzeichen gesetzt, wird nur die Puffertabelle gelöscht. |