SAP-Query: Reports aus Datenbanktabellen

SAP-Query: Reports aus Datenbanktabellen

Mit „SAP-Query“ können Sie Tabellen auslesen und analysieren, Daten also so bündeln und präsentieren, dass sie zur Entscheidungsgrundlage werden können.

Die wichtigsten Transaktionen rund um SAP-Query sind:

SQ00Query starten
SQ01Query anlegen
SQ02Infoset anlegen
SQ03Benutzergruppen anlegen (um den Zugriff auf Queries zu steuern)

Die ersten beiden Transaktionen stehen auch Endusern zur Verfügung, SQ02 und SQ03 sollten Admins/Berechtigern vorbehalten bleiben.

Wie entstehen Queries?

Queries können zu jeder Fragestellung und in jedem betrieblichen Umfeld nützliche Werkzeuge sein. Wichtig dafür: Die richtige Zusammensetzung der Daten, die im Query ausgewertet werden. Die Daten kommen aus Tabellen. Welche Tabellen und welche Felder aus diesen Tabellen in die jeweilige Query einfließen, definiert das Infoset (Transaktion SQ02). Gut zu wissen: Sie können auch auf logische Datenbanken der SAP als Datenquelle zurückgreifen. Diese bringen die richtige Tabellenstruktur und wichtige Verknüpfungen bereits mit und werden v.a. im SAP-HCM-Bereich eingesetzt.

Wichtig: Queries greifen wie gesagt auf Tabellen zurück. User, die Queries ausführen oder erstellen sollen, brauchen also die Berechtigung, Tabellen anzusehen. Das geht über zwei verschiedene Berechtigungsobjekte: S_TABU_DIS oder S_TABU_NAM.

S_TABU_DIS und S_TABU_NAM sind im Ergebnis identisch: Sie erlauben (oder eben nicht) den Zugriff auf Datenbanktabellen. Wichtige Unterschiede liegen aber im Detail. S_TABU_DIS prüft immer die Kombination von Zugriffsaktivität (will der User anzeigen, ändern, erstellen usw.?) und Tabellenberechtigungsgruppe. Das Problem dabei: Nicht jede Tabelle ist automatisch einer Tabellenberechtigungsgruppe zugewiesen. Außerdem sind die Namen der Berechtigungsgruppen nur 4 Zeichen lang, was eine differenzierte Unterscheidung schwierig machen kann. Desweiteren wird in einer Tabellenberechtigungsgruppe immer eine Vielzahl von Tabellen zusammengefasst. Das heißt man berechtigt u.U. zu viel (und nicht nur den Zugriff auf die eine gewünschte Tabelle). Deshalb prüft S_TABU_NAM nicht mehr auf die Tabellenberechtigungsgruppe, sondern direkt auf den Tabellennamen im Zusammenhang mit der Zugriffsaktivität. Gut zu wissen: Innerhalb der Berechtigungsprüfung erfolgt immer zuerst die Prüfung auf S_TABU_DIS. Erst wenn diese negativ ist, wird die Berechtigung auf S_TABU_NAM geprüft.

Wie werden SAP-Queries berechtigt?

Letztlich ist es eine Frage des Berechtigungskonzepts, wie stark Sie die Query-Berechtigungen ausdifferenzieren. Grundsätzlich können Sie das Ausführen, Erstellen und Bearbeiten von Queries über drei Möglichkeiten berechtigen:

  1. über das Berechtigungsobjekt S_QUERY
  2. über Benutzergruppen
  3. über eine individuelle Transaktion, die Sie für eine bestimmt Query festlegen

Queries über S_Query berechtigen

Mit der Ausprägung des Berechtigungsfeldes ACTVT (Aktivität) können Sie im Objekt S_QUERY beispielsweise angeben, ob jemand Queries anlegen, bearbeiten oder nur ausführen darf. Das Problem dabei: Wenn ein Nutzer über dieses Objekt sowohl ändern (ACTVT: 02) als auch pflegen (ACTVT: 23) darf, hat er damit Zugriff auf alle Queries aller Benutzergruppen.

Queries über Benutzergruppen berechtigen

Um diesen globalen Zugriff einzuschränken, können Sie die Queries über Benutzergruppen (Transaktion SQ03) berechtigen. Hier können Sie User, Infosets und Queries so zusammenstellen, dass nur bestimmt User auf die entsprechenden Daten und Auswertungen zugreifen und sie ändern können. Legen Sie eine neue Benutzergruppe an oder fügen Sie einen User einer Benutzergruppe hinzu, können Sie im entsprechenden Screen die Änderungsberechtigung entziehen, die der User möglicherweise über S_Query (in einer seiner Rollen) hat. Er kann dann nur noch auf die Queries und Infosets zugreifen, die ihm über die Benutzergruppe zugewiesen sind.

Individuelle Transaktion für Query anlegen

Gut zu wissen: Sie können für Queries individuelle Transaktionen erstellen. Diese können im Menü berechtigter User angezeigt werden. In der jeweiligen Rolle wird der Zugriff auf die Query dann also über die Transaktion (im Objekt S_TCODE) und nicht über das Objekt S_QUERY berechtigt. Auch das hilft, Berechtigungen so eng wie möglich zu halten.

Ein Kommentar zu “SAP-Query: Reports aus Datenbanktabellen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.