Ansicht
Dokumentation

CL_SRM_US_SETTING_SPACE - Namensraum für Benutzereinstellungen (hierarch. geordnet)

CL_SRM_US_SETTING_SPACE - Namensraum für Benutzereinstellungen (hierarch. geordnet)

RFUMSV00 - Advance Return for Tax on Sales/Purchases   General Material Data  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

Die Klasse erlaubt das Speichern und Lesen von Benutzereinstellungen als Name-Wert Paar.

Mit Hilfe der Methoden SET_STRING, SET_INTEGER, SET_BOOLEAN und GET_STRING, GET_INTEGER und GET_BOOLEAN können Benutzereinstellungen vom Typ STRING, INTEGER und BOOLEAN verwaltet werden.

Hierarchisch angeordnete User Setting Spaces

Um Namenskonflikte zu vermeiden und die Zugehörigkeit von Einstellungen zu bestimmten Anwendungskomponenten strukturiert zu verwalten, ist jede Einstellung einem eigenen Namensraum, dem User Setting Space, zugeordnet. Der Zugriff auf Benutzereinstellungen erfolfgt immer über ein Objekt der hier beschriebenen Klasse CL_SRM_US_SETTING_SPACE.

User Setting Spaces bilden eine Hierarchie. Es ist also möglich, die hierarchische Beziehung von vorhandenen logischen Anwendungskomponenten in eine Hierarchie von User Setting Spaces abzubilden und so die zu verwaltenden Benutzereinstellungen genau der Anwendungskomponente zuzuordnen, in welcher sie verwendet werden. Dadurch ist es möglich, die inhaltliche Zugehörigkeit von Einstellungen nachvollziehbar zu machen.

Beispiel:

RMS_A/Organizer/History/...
RMS_A/Organizer/Favorites/...
RMS_A/RecordsBrowser/DisplaySettings/...

usw.

Namen von Einstellungen

Der Parameter "NAME", in welchem der Name der zu behandelnden Einstellung an die Klassenmethoden übergeben wird, ist zur einfacheren Anwendbarkeit in den Methoden als STRING deklariert, ist aber eigentlich vom Typ SRMSETNAME, welcher 32 Zeichen lang ist.

Bei Übergabe von Einstellungsnamen, die länger als 32 Zeichen sind, wird eine Ausnahme der Klasse CX_SRM_US_INVALID_PARAMETER ausgelöst.

Default-Werte

Die GET-Methoden haben einen Import-Parameter Default, welcher zurückgeliefert wird, wenn die Einstellung bisher völlig unbekannt ist.

Außerdem kann ein Kunden-Administrator in der Datenbank Default-Werte hinterlegen, die verwendet werden, wenn für einen Benutzer noch kein spezieller Einstellungswert hinterlegt wurde. Dazu ist in die Tabelle SRMUSVALUE ein entsprechender Satz mit dem Benutzernamen *DEF* einzutragen.

Globale Einstellungen

Ein Kunden-Administrator kann auch Einstellungswerte vorgeben, die für alle Benutzer gelten und somit die benutzerspezifischen Einstellungen überdefinieren. Dazu ist in die Tabelle SRMUSVALUE ein entsprechender Satz mit dem Benutzernamen *ALL* einzutragen.

Geplante Erweiterungen

  • Verwaltung von listenförmigen Einstellungswerten (Aufzählungen)
  • Registry der Einstellungen, wo zu jeder Einstellung u.a. Datentyp und Beschreibung hinterlegt werden.
  • Administrations-Tool für Benutzereinstellungen.

Beziehungen

Datenbank

Die durch die Klasse behandelten Benutzereinstellungen werden in der Datenbanktabelle SRMUSVALUE gespeichert.

Diese Tabelle wird leer ausgeliefert.

Hierarchische Listen

Zur Speicherung der hierarchisch geordneten User Setting Spaces werden hierarchische Listen verwendet.

Beispiel

Anlegen eines Objekts zur Verwaltung von Benutzereinstellungen für die Komponente 'Meine Komponente':

  create object setting_space exporting name = 'Meine Komponente' .

Speichern des Werts 'Testwert' in der Einstellung 'TestEinstellung' vom Typ STRING für den aktuellen Benutzer:

  setting_space->set_string( name  = 'TestEinstellung' value = 'Testwert'  ).

Lesen der Einstellung 'TestEinstellung':

  setting_value = setting_space->get_string( name = 'TestEinstellung'  ).

Achtung: der gelesene Wert der Einstellung kann sich vom eingetragenen Wert 'Testwert' unterscheiden, wenn es für den Dienst 'Mein Dienst' bei der Einstellung 'TestEinstellung' eine globale Einstellung gibt. Dann wird der Wert dieser globale Einstellung zurückgeliefert und die benutzerspezifische Einstellung ignoriert.

Daher sollte man beim Speichern von Einstellungen also wie folgt vorgehen:

  1. Speichern des neuen Wertes
  2. Lesen des aktuellen Wertes (der evtl. der Wert einer globalen Einstellung ist) für die weitere Benutzung der Einstellung.

Anlegen eines untergeordneten Objekts zur Verwaltung von Benutzereinstellungen für die Teilkomponente 'Display' der Komponente 'Meine Komponente':

  create object sub_setting_space exporting name = 'Display' parent = setting_space.

Speichern des boolschen Werts FALSE in der Einstellung 'ShowDeleted' für den aktuellen Benutzer:

  TYPE-POOLS: SRMRF.  ,,
  sub_setting_space->set_boolean( name  = 'ShowDeleted' value = SRMRF_FALSE  ).

Hinweise

Innerhalb der Methoden dieser Klasse wird kein COMMIT bzw. ROLLBACK WORK ausgeführt.

Weiterführende Informationen

Dokumentation zur Methode GET.






BAL_S_LOG - Application Log: Log header data   TXBHW - Original Tax Base Amount in Local Currency  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 6030 Date: 20240426 Time: 111420     sap01-206 ( 90 ms )