In drei Schritten zur eigenen Parametertransaktion

Einleitung

Häufiger Diskussionspunkt im betrieblichen Umfeld stellen Tabellenzugriffe im SAP-System dar. Dabei ist es aus Revisions- und Sicherheitsgründen nicht erwünscht Transaktionen, welche den direkten Zugriff auf Tabellen über eine generische Eingabemaske erlauben, in den Rollen zu vergeben. Durch Vergabe dieser generischen Transaktionen wie z.B. SE16, SM30 oder S416N  können unter Umständen mehr Daten angezeigt oder verändert werden als ursprünglich beabsichtigt. Weiterführende Informationen zur Transaktion S416N sind im SAP-Hinweis 2140828 beschrieben.

Grundsätzlich sollte der Zugang zu den Daten des ERP-Systems über die hierfür vorgesehenen Transaktionen erfolgen. Grund hierfür ist, dass in der Ablauflogik der hinter den Transaktionen liegenden Programmen oftmals diverse Berechtigungsprüfungen mit Bezug zu den Organisationsebenen implementiert sind, mit welchen der Zugriff auf die Unternehmensdaten sehr dediziert gesteuert werden kann. Bei Zugriff durch generische Transaktionen ist dieser Schutz durch weitere Berechtigungsprüfungen nicht gegeben, da standardmäßig nur die Berechtigungsobjekte S_TABU_NAM, S_TABU_DIS und ggf. S_TABU_CLI verprüft werden. Nichtsdestotrotz ist es gelegentlich notwendig, dass der direkte Zugriff auf einzelne Tabellen über eine Transaktion erfolgen muss.

Eine einfache Lösung hierfür bieten sogenannte Parametertransaktionen. Ein Beispiel hierzu wäre, dass eine Fachabteilung lesenden Zugriff auf die Tabelle MARA benötigt. Ohne eine Parametertransaktion würde die Transaktion SE16 in die Rolle eingebaut werden. Im Profil der Rolle würde das Berechtigungsobjekt S_TABU_NAM mit ACTVT 03 und TABLE MARA vergeben werden. 

An dieser Stelle wird das oben bereits angesprochene Sicherheitsrisiko geschaffen, denn: wenn in weiteren Rollen S_TABU_NAM oder S_TABU_DIS mit weiteren Tabellen oder gar TABLE * vergeben ist, hätte die Fachabteilung de Facto einen (lesenden) Vollzugriff auf diese weiteren oder gar sämtlichen Tabellen des Unternehmens. Der Zugriff könnte über die Transaktion SE16 erfolgen, denn hier wurde die Fachabteilung (unbeabsichtigt) über S_TABU_NAM oder S_TABU_DIS berechtigt. Um dieses Risiko zu minimieren, kann eine Parametertransaktion (gelegentlich auch nur Z-Transaktion genannt) ZSE16_MARA erstellt werden. Somit kann nur auf die Tabelle MARA zugegriffen werden, der generische Zugriff auf weitere Tabellen über die Transaktion SE16 wird verhindert. 

In diesem Blogbeitrag wird zunächst die Erstellung einer einzelnen Parametertransaktion mit SAP-Bordmitteln dargestellt. Da im betrieblichen Kontext häufig viele Parametertransaktionen erstellt werden müssen, wird im weiteren Verlauf die einfache und zeitsparende massenweise Erstellung von Parametertransaktionen mit Hilfe der XAMS beschrieben. 

In diesem Beispiel wird der Transaktionscode ZSE16_MARA erstellt. Diese soll dem Fachbereich erlauben, die Tabelle MARA anzuzeigen. 

Option 1: Erstellung einer einzelnen Parametertransaktion in drei Schritten

  1. Schritt:

Es wird in der Transaktion SE93 (“Transaktionspflege”) die Transaktion ZSE16_MARA mit Hilfe des „Anlegen“-Buttons erstellt.

Im darauffolgenden Screen wird eine Kurzbeschreibung angegeben sowie die Option „Parametertransaktion“ ausgewählt, wie in Abbildung 1 zu sehen ist.

Abbildung 1: Erstellung einer Parametertransaktion in Transaktion SE93

In der darauffolgenden Ansicht werden die weiteren Eigenschaften bestimmt. Da Parametertransaktionen Entwicklungsobjekte sind, muss ein entsprechendes Entwicklungspaket hinterlegt werden. Dies ermöglicht den anschließenden Transport in die nachgelagerten Systeme. 

Außerdem muss die zugrundeliegende Transaktion hinzugefügt werden, in diesem Falle die Transaktion SE16. Dabei sollte berücksichtigt werden, dass der Flag bei „Einstiegsbild überspringen“ gesetzt ist. Sollte dieser Flag nicht gesetzt sein, ist die Auswahl einer Tabelle im Selektionsbild der SE16 möglich. Das wiederum würde das Konzept der Parametertransaktion ad absurdum führen.

Unter „Vorschlagswerte“ muss nun der Parametertransaktion die Tabelle bekannt gemacht werden, welche aufgerufen werden soll. Dort muss also die Tabelle „MARA“ für das Dynprofeld „DATABROWSE-TABLENAME“ eingetragen werden, wie in Abbildung 2 zu sehen ist.

Nach der Speicherung muss die Parametertransaktion noch in einem Workbench-Transport aufgenommen werden.

Abbildung 2: Relevante Einstellungen in der SE93 für die Erstellung der Parametertransaktion

2. Schritt:

Neben der rein funktionalen Erstellung der Transaktion müssen nun noch die entsprechenden Berechtigungsvorschlagswerte zu ZSE16_MARA hinterlegt werden, damit der Benutzer die Transaktion später auch starten kann. Dies geschieht über die Transaktion SU24.

In der SU24 sollte der Zugriff auf die Tabelle MARA mit ACTVT 03 (anzeigen) hinterlegt werden. Dazu muss zunächst ein Berechtigungsobjekt hinzugefügt werden, wie in Abbildung 3 zu sehen ist.

Abbildung 3: Hinzufügen eines Berechtigungsobjekts in Transaktion SU24

Mit der Parametertransaktion soll einzig der anzeigende Zugriff auf die Tabelle MARA erfolgen können. Dem entsprechend wird S_TABU_NAM mit ACTVT 03 und TABLE MARA hinterlegt. Das Ergebnis ist in Abbildung 4 zu sehen.

Abbildung 4: Ausprägung von S_TABU_NAM in SU24

Bei Speicherung der SU24-Daten wird erneut ein Transportauftrag abgefragt.

3. Schritt:

Damit unsere AnwenderInnen nun die neue Z-Transaktion auch nutzen können, müssen wir diese nur noch einer Rolle hinzufügen und einmal das Berechtigungsprofil abmischen. Aufgrund unserer vorangegangenen SU24-Pflege werden die korrekten Vorschlagswerte auch ohne weitere manuelle Schritte in die Rolle hineingeladen, sofern der Profilgenerator (Transaktion: PFCG) konsequent im Expertenmodus mit „neuen Stand lesen und mit alten Daten abgleichen“ genutzt wird. 

Option 2: Massenweise Anlage von Parametertransaktionen in zwei einfachen Schritten

In diesem Falle werden massenweise Parametertransaktionen erstellt. Es sollen nicht nur die Tabelle MARA, sondern auch die Tabellen MARC, MAKT und MARCV als Z-Transaktion zur Verfügung stehen. Auch sollen die SU24-Werte automatisch hinterlegt werden.

  1. Schritt: 

Zunächst wird eine .csv-Datei erstellt, welche dann im Role Replicator (TCODE: /XITING/RR) hochgeladen werden kann. Wie in Abbildung 5 zu sehen ist, besteht diese Datei aus vier Spalten: Name der neuen Z-Transaktion, Beschreibung (Kurztext), Entwicklerpaket sowie der Name der Tabelle, welche aufgerufen werden soll.

Abbildung 5: Erstellung der Excel-Datei zum massenweisen Upload von Parametertransaktionen

Diese .csv-Datei kann im Role Replicator (Transaktion /XITING/RR) unter dem Tab „ABAP Objekt-Werkzeuge“ mit dem Button „Parametertransaktionen für SE16 erstellen“ hochgeladen werden, wie in Abbildung 6 dargestellt ist.

Abbildung 6: Role Replikator der XAMS

Nach erfolgtem Upload werden automatisch die Parametertransaktionen erstellt und entsprechend ein Transportauftrag abgefragt. Abschließend erfolgt eine Erfolgsmeldung, wie in Abbildung 7 zu sehen ist.

Abbildung 7: Erfolgsmeldung über erstellte Parametertransaktionen

Die Parametertransaktionen sind nun wie im vorigen Beispiel in der SE93 korrekt gepflegt. Ein weiterer Vorteil der Nutzung der XAMS ist hier, dass für die neu erstellten Parametertransaktionen automatisch die Werte für das Berechtigungsobjekt S_TABU_NAM in der SU24 mit hinterlegt werden. 

  1. Schritt: 

Wie auch im vorangegangenen Beispiel möchten wir nun den AnwenderInnen den Zugriff auf die neuen Parametertransaktion ermöglichen. Das bedeutet, dass wir auch in diesem Falle die neuen Parametertransaktionen dem Menü der Rolle zufügen. Durch die automatisch erfolgte SU24-Pflege werden beim Abmischvorgang der Rolle direkt die korrekten Vorschlagswerte übertragen. Somit ist der Zugriff der AnwenderInnen zur neuen Transaktion gewährleistet.

Ein Hinweis an dieser Stelle: mit Hilfe des Role Replicator können nicht nur Parametertransaktionen für Tabellen, sondern genauso sogenannte Reporttransaktionen (START_REPORT) massenhaft angelegt werden. Die mit Hilfe des Role Replicators erstellten Transaktionen können die AnwenderInnen ebenso in ihre SAP GUI Favoriten aufnehmen, sodass der Zugriff auf die relevanten Tabellen noch einfacher ermöglicht wird.

Fazit

Um einerseits den Fachabteilungen den direkten Zugriff auf Tabellen zu ermöglichen, andererseits die relevanten Sicherheitsaspekte zu berücksichtigen, können Parametertransaktionen genutzt werden. Diese können im SAP Standard einzeln erstellt werden oder per einfachem Excel-Upload massenweise über den Role Replicator in der XAMS erstellt werden. Von Vorteil bei Nutzung des Role Replicator ist erstens die automatische Pflege der SU24-Vorschlagswerte und zweitens die Zeitersparnis durch die Massenverarbeitung.

Sie benötigen Unterstützung bei der Umsetzung von SAP-Berechtigungsprojekten? Unsere SAP BeraterInnen helfen gerne.

Annika Braun
Letzte Artikel von Annika Braun (Alle anzeigen)
Kontakt

Nehmen Sie Kontakt mit uns auf!

Haben Sie Fragen zu unseren Produkten?

+41 43 422 8803
[email protected]
+49 7656 9888 155
[email protected]
+1 855 594 84 64
[email protected]
+44 1454 838 785
[email protected]
Kontakt
Webinare

Besuchen Sie unsere Live-Webinare und lernen Sie von unseren Experten mehr zu SAP-Berechtigungen, XAMS, SAP IDM und zu vielen weiteren Themen im Kontext von SAP Security.

Hier anmelden