Benutzermenü: Ausgestaltung und Tuning

Benutzermenü: Ausgestaltung und Tuning

Wie Sie sicherlich wissen, gibt es 4 Möglichkeiten, Transaktionen im System zu starten.

  1. Transaktionsstart durch Transaktionscode
  2. SAP-Menü im SAP EASY-Access
  3. Start aus den Favoriten des SAP EASY-ACCESS
  4. Start aus dem durch Rollen definierten Benutzermenüs

Wussten Sie, dass es gar nicht egal ist, welches Menü Ihre Benutzer verwenden? Je nach Ausgestaltung der Benutzermenüs kann es zu Performance-Einschränkungen und Abbrüchen kommen.

Performance Engpässe

Wenn Ihre Benutzer sehr viele Rollen zugeordnet haben, von denen jedes ein Stück des Benutzermenüs definiert, kann es zu Tausenden von Menüpositionen für einen Benutzer kommen. Dies wirkt sich beim Aufbau der Systemanmeldung – also beim Login in das System – negativ auf die Performance aus. Das System braucht gefühlte Minuten, bis der SAP-Easy-Access® erscheint und mit der Arbeit begonnen werden kann. Ja u.U. kann es sogar zu Fehlern (ST22-Dumps) kommen, wenn Benutzermenüs in Rollen nicht richtig angelegt sind.

Favoriten

Sie können diese Engpässe vermeiden, wenn Sie Ihren Benutzern raten, das SAP-Menü einzustellen und die andauernd benutzen Transaktionen in die Favoriten einzustellen. Zumal es auch eine Up- und Download Funktion für die Favoriten gibt, mit der man bei Zugriff auf mehrere Systeme, immer die gleichen Favoriten in den Systemen haben kann.

Eigene Transaktionen (Z*-Transaktionen) können leicht in sog. Bereichsmenüs an das SAP-Menü angehängt werden, wo wohlgeordnet die Z*-Transaktionen aufrufbar oder in die Favoriten verschiebbar sind (Drag and Drop).

In den Favoriten kann der Benutzer Unterverzeichnisse definieren und so eine mehr oder weniger wohlgeordnete Struktur aufbauen, in der er sich zurecht findet.

Technische Namen der Transaktionen

Wichtig für Fehlermeldungen an Sie ist, dass der Benutzer die „Technischen Namen“ der Transaktionen über das Menü „Zusätze“ einschaltet, damit Sie bei Fehlermeldungen auch einen eindeutigen Namen der ausgeführten Transaktion erhalten. Denn die Menübezeichnungen sind sowohl in den Benutzermenüs als auch im SAP-Menü nicht eindeutig.

Ja Sie können dieses Einschalten der „Technischen Namen“ sogar erzwingen, indem Sie in der Tabelle AGR_DATEU für die Einträge BROWSER_OPT im Feld ID und allen Benutzern (Feld UNAME) das Attributs-Feld mit einem X an der 4. Stelle des Feldes bewerten.

Forderungen an das Benutzermenü

Wenn Sie eine Rolle mit PFCG bauen, werden Sie wie fast jeder zunächst die Transaktionen der Rolle in das Menü eintragen und sich die Berechtigungen dann generieren lassen. Genau hier ist Vorsicht geboten, denn es gibt einige Einschränkungen im System.

Bei der schlichten Definition der Transaktionen unter den „Menü“-Eintrag, ist die Eingabe beschränkt. Und kann später zu ST22-Dumps führen.
Deshalb definieren Sie immer bevor sie Transaktionen in eine Rolle aufnehmen ein Unterverzeichnis unter den Menü-Eintrag im Benutzermenü. Z.B. ein Verzeichnis mit dem Rollennamen. Das sichert Ihnen gleichzeitig einen Unterverzeichniseintrag in der SAP-EASY-ACCESS®-Anzeige. Der Grund für diese Forderung liegt in der Verarbeitung der beiden Tabellen HIER und HIERT, die letztlich das Benutzermenü definieren.

Je mehr Rollen Sie einem Benutzer zuweisen, um so größer wird sein Benutzermenü werden. Wenn Sie nicht aufpassen, können da leicht 10-50 Tausend Einträge zusammen kommen. Sie können dies mit dem Report EASY_ACCESS_NUMBER_OF_NODES testen.

Was aber kann man gegen diese Vielzahl von Menüpositionen, die letztlich auch die Performance des Systems beeinflussen, tun?

Der Hersteller sagt, man gehe auf SAP Menü und behelfe sich mit Favoriten! Was aber, wenn man an den Benutzermenüs festhalten will?

Ja dann ergeben sich eine Vielzahl von Forderungen an das Berechtigungskonzept, den Aufbau der Rollen, den Inhalt der Rollen und die Abbildung der Berechtigungen des Benutzers in seine ihm zugeordneten Rollen.

Forderungen an die Rollen des Benutzers

Eine Idee könnte sein, die Rollentypen zu teilen. Man definiert unterschiedliche – ich will sie mal – „Transaktions-Rollen“ nennen. In diesen werden nur die Transaktionen und das Menü definiert. Daneben gibt es „Objekt-Rollen“, die nur die zugeordneten Rechte (alles außer S_TCODE) enthalten. Mit dieser Idee können Sie sicherlich menü-optimierte Rollen erstellen, da nur die Transaktions-Rollen ein Menü definieren.

Ob aber die Praktikabilität der Rollenzuordnung bei dieser Idee gegeben ist, und eine ordentliche Benutzeradministration möglich ist, dürfte fraglich sein, und hängt stark mit der Namensgebung der Objekt- und Transaktions-Rollen zusammen.

Letztlich entscheidet doch die Vielzahl der Rollen, die dem Benutzer zugeordnet werden.

Beispiel:
Sie haben 3 nach Buchungskreis abgeleitete Rollen. Jetzt gibt es einen Benutzer, der auf alle 3 Buchungskreise zugreifen darf. Wenn er jetzt alle 3 Rollen erhält, sind nicht nur gleiche Berechtigungen in seinem Userbuffer (SU56), sondern auch sein Benutzermenü ist nicht optimal. Leiten Sie aber eine eigene Rolle für die 3 Buchungskreise ab, die also BUKRS = x1,x2,x3 als Bewertung in den Org-Levels besitzt, hat der Benutzer nur einmal die Objekte im Userbuffer! Sie haben aber die Qual der Wahl mit einem Rollennamen, weil Sie den x1,x2,x3-Tatbestand irgendwie im Rollennamen unterbringen müssen :-(! Aber sie haben zumindest 2 überflüssige Zuordnungen gespart. 🙂 🙂

Sie sehen also, durch die Optimierung des Benutzermenüs, erreichen Sie zwar eine bessere Performance, jedoch wirkt sich diese Optimierung stark auf Ihre Berechtigungskonzeption aus. Sie müssen entscheiden: Wie leite ich ab? Welchen Namen vergebe ich bei den Ableitungen? Ich würde sogar behaupten wollen, dass die Forderung der Menüoptimierung leicht ein ganz neues Berechtigungskonzept implizieren kann. Eine Methode diese Forderungen zu implementieren, erhalten Sie im Buch „Techniken im Berechtigungswesen“ im Kapitel „Modularisierung und Granulierung von Rollen“.

Fazit

Daraus könnten Sie nun eine Lösung ableiten, die heißt: Keine Benutzermenüs mehr! Und Sie erzwingen das durch die Anpassung der Tabelle USERS_SSM bzw. global SSM_CUST! Diese Lösung ist sicherlich schneller als ein neues Konzept zu erstellen und zu realisieren. Wenn Sie Ihre eigenen Programme und Parametertransaktionen in ein eigenes Bereichsmenü gepackt haben, das es dem Benutzer erleichtert, seine Favoriten gut zu gliedern, ist das wohl ein Weg, um den Beschwerden wegen der schlechten Performance zu begegnen. Aber es ist ein Weg, der mit einigem Aufwand verbunden ist.
Mit dieser Lösung haben Sie aber die Fülle der gleichen doppelt und dreifachen Eintragungen im Userbuffer nicht optimiert, was auch zu Performance-Einschränkungen führen kann. Hier geht kein Weg an der Optimierung der Rollen vorbei. Denn leicht können Sie die Limits to Growth erreichen.

Gut dürfte sich nur der Rollenadministrator stellen, der gerade dabei ist, ein Konzept zu erstellen und diese Optimierungen gleich in sein Konzept mit aufnimmt.
Der Vollständigkeit halber gebe ich Ihnen hier noch die Notes bekannt, auf die hier angesprochen wurde: H203617 -Hoher Speicherverbrauch beim Easy Access Menü.

Bernd Klüppelberg

4 Responses to “Benutzermenü: Ausgestaltung und Tuning”

  1. Hallo Bernd,

    vielen Dank für diesen tollen Beitrag, Sie haben hier wirklich einen super Blog, der mir schon häufig ein paar hilfreiche Anregungen geben konnte.
    Ich sehe mich gerade genau mit diesem Problem konfrontiert. Am liebsten würde ich die Benutzermenü’s global ausschalten, aber ich fürchte dann einen Aufschrei der User. Gibt es eine Möglichkeit auszuwerten welche User überhaupt mit dem Benutzermenü arbeiten oder ist es das Standardmenü, wenn der Schlüssel ‚FORCED_MENU‘ in der Tabelle SSM_CUST nicht gepflegt ist?

    Viele Grüße,
    Markus

  2. Hallo Markus,
    habe mal rumprobiert [ :o) ]
    In der Tabelle AGR_DATEU gibt es einen Eintrag „MEN_FLG_START“. Der stand bei mir bei Benutzermenü auf „T“ und beim SAP-Menü auf „S“.
    Das könnte es sein. Und die Tabelle ist userbezogen. Damit müsste eine Auswertung gelingen.
    Viel Spaß und Grüße
    Bernd

  3. Hallo Bernd,

    wir haben in einem System für die User Funktionsrollen und jede dieser Rollen hat die gleiche Menüstruktur, also gleiche Ordner, Unterordner usw. aber nicht in jedem Ordner sind die gleichen Transaktionen enthalten.
    Wenn jetzt ein User zwei dieser Rollen zugewiesen bekommt, so sieht er beide Rollenmenüs untereinander.
    Gibt es eine Einstellung, mit der man die Rollenmenüs abmischen lassen kann? Also die Ordner erscheinen nur einmal und die darin enthaltenen Transaktionen kommen aus beiden Rollen?

    LG Achim

  4. Hallo Achim,
    ich glaube, das geht nicht. Man könnte zwar Sammelrollen definieren, die dann alle Transaktionen enthalten, aber das Menü der Sammelrolle hätte alle Transaktionen, ob das aber hilft, denn der Benutzer bekäme dann ja ggf. auch mehrere Sammelrollen, dann ist das Problem wieder da.
    Außerdem hätte man dann eine Unzahl von Sammelrollen mit allen Kombinationen. Ist auch schlecht.
    Sorry, aber ich stehe da mehr auf die Favoriten, dann ist das System auch schneller.

    Viele Grüße
    Bernd

Schreiben Sie bitte einen Kommentar





SAP Berechtigungen, -Konzepte, -Technik | System Beratung Bernd Klüppelberg