Sonntag, 3. Februar 2013
16:19 Uhr
16:19 Uhr
SAP Query: Berechtigung (organisatorisch und technisch)
Ausgangslage
Neben der Gestaltung von SAP Query besteht oftmals auch eine Frage in welcher Form diese dann in die Breite gegeben werden soll. Hier sollte neben der Frage der Gestaltung solcher Abfragen auch darauf geachtet werden, in welcher Form diese dann an "berechtigte" Empfänger weiter gegeben werden soll.
Eine Möglichkeit wäre es eine kundeneigene Transaktion für die Query anzulegen. Am elegantesten wäre hier vermutlich die Parametertransaktion, so dass auch entsprechende Felder vorbelegt sind.
Diese Methode ist sicherlich für einzelne Auswertungen sicherlich sehr hilfreich, sofern aber bspw. in Teilbereichen Queries genutzt werden sollen, muss auch eine Frage der Berechtigungen gestellt werden.
Hier gibt es, meines Wissens nach, drei Methoden, die sicherlich sehr hilfreich sind:
a) einfache Methode: Benutzergruppen
Über die Transaktion SQ03 werden Benutzergruppen gepflegt, die sowohl Infosets als auch Queries zuzuordnen sind. Somit können Benutzer entsprechenden Gruppen zugeordnet werden und diese dann auf bestimmte Queries bzw. Infosets zugreifen können.
Eine Pflege dieser Gruppen kann über Benutzerparameter gesteuert werden, so dass auf eine sehr bequeme Weise über die Transaktion SQ01 oder auch FQ01 nur die SAP Query angezeigt werden, für die die Personen auch berechtigt sind.
Bei der Pflege von Infosets können im Feld Berechtigungsgruppe angegeben werden. Dieses Feld ermöglicht auf acht Stellen einen entsprechenden Wert einzutragen, der im Benutzerstamm über das Berechtigungsobjekt S_PROGRAMM gepflegt werden kann und im lokalen Berechtigungskonzept hinterlegt werden kann.
Sofern innerhalb einer Query logische Datenbanken genutzt werden sind hier schon entsprechende Berechtigungsprüfungen hinterlegt.
Zum Aufruf von Infosets, die bspw. über Joins miteinander verknüpft werden, sind nur Prüfungen vorhanden, ob generell die dahinter liegende Tabellen gelesen werden dürfen aber keine differenziertere Betrachtung auf die einzelnen Datensätze betrachtet werden.
Hier kann innerhalb der Infosetpflege über das Menü
Springen->
Abgrenzungen->
ein Abgrenzungsparameter hinterlegt werden.
Hier kann dann bspw. über das Feld AUFK-AUFNR die Auftragsnummer als Selektionskriterium hinterlegt werden.
Ist eine solche Abgrenzung definiert, so ist auch beim Anlegen einer Query automatisch dieses Feld als Selektionsfeld mit definiert.
Über den Button "Prüfcoding zum Element" kann nun ein entsprechendes Abap-Coding hinterlegt werden. Hier kann eine Berechtigungsprüfung über "Authority-Check" durchgeführt werden.
Hier würde sich dann das Berechtigungsobjekt K_ORDER anbieten, in dem die Berechtigung für Innenaufträge hinterlegt sind.
Nähere Infos liefert hierzu der OSS Hinweis 692502.
Hier sollte jedoch beachtet werden, dass dort dann auch ein entsprechender ABAP-Schlüssel auch erforderlich ist.
Fazit:
Je nach Einsatzzweck der SAP Query haben alle Methoden ihre Vorteile und entsprechende Nachteile. Hier sollte insbesondere auf die lokalen organisatorischen Gegegbenheiten geachtet werden und das Thema Berechtigung und Datenschutz nicht ausser acht gelassen werden. Ein wichtiges Thema ist hier generell beim Thema SAP Query auch ein Punkt der Dokumentation und Verbindlichkeit.
Hinweis: Aktuelle Buchempfehlungen besonders SAP Fachbücher sind unter Buchempfehlungen inklusive ausführlicher Rezenssionenzu finden. Mein Weiterbildungsangebot zu SAP Themen finden Sie auf unkelbach.expert.
Neben der Gestaltung von SAP Query besteht oftmals auch eine Frage in welcher Form diese dann in die Breite gegeben werden soll. Hier sollte neben der Frage der Gestaltung solcher Abfragen auch darauf geachtet werden, in welcher Form diese dann an "berechtigte" Empfänger weiter gegeben werden soll.
Eine Möglichkeit wäre es eine kundeneigene Transaktion für die Query anzulegen. Am elegantesten wäre hier vermutlich die Parametertransaktion, so dass auch entsprechende Felder vorbelegt sind.
Diese Methode ist sicherlich für einzelne Auswertungen sicherlich sehr hilfreich, sofern aber bspw. in Teilbereichen Queries genutzt werden sollen, muss auch eine Frage der Berechtigungen gestellt werden.
Hier gibt es, meines Wissens nach, drei Methoden, die sicherlich sehr hilfreich sind:
a) einfache Methode: Benutzergruppen
Über die Transaktion SQ03 werden Benutzergruppen gepflegt, die sowohl Infosets als auch Queries zuzuordnen sind. Somit können Benutzer entsprechenden Gruppen zugeordnet werden und diese dann auf bestimmte Queries bzw. Infosets zugreifen können.
Eine Pflege dieser Gruppen kann über Benutzerparameter gesteuert werden, so dass auf eine sehr bequeme Weise über die Transaktion SQ01 oder auch FQ01 nur die SAP Query angezeigt werden, für die die Personen auch berechtigt sind.
- Vorteil:
- Leichte Pflegbarkeit
- "Zwang" zur Organisation und Strukturiereung der Benutzergruppen
- Nachteil:
- Dokumentationsaufwand
- Nachvollziehbarkeit / Klärung der Zuständigkeiten zur Pflege von Benutzergruppen
Bei der Pflege von Infosets können im Feld Berechtigungsgruppe angegeben werden. Dieses Feld ermöglicht auf acht Stellen einen entsprechenden Wert einzutragen, der im Benutzerstamm über das Berechtigungsobjekt S_PROGRAMM gepflegt werden kann und im lokalen Berechtigungskonzept hinterlegt werden kann.
- Vorteil
- Berücksichtigung innerhalb des Berechtigungskonzept
- Konzeptionierung anhand der Berechtigungsgruppen
- Nachteil
- Disziplin bei Berechtigungspflege
- Genaues Namenskonzept und ggf. Dokumentation
Sofern innerhalb einer Query logische Datenbanken genutzt werden sind hier schon entsprechende Berechtigungsprüfungen hinterlegt.
Zum Aufruf von Infosets, die bspw. über Joins miteinander verknüpft werden, sind nur Prüfungen vorhanden, ob generell die dahinter liegende Tabellen gelesen werden dürfen aber keine differenziertere Betrachtung auf die einzelnen Datensätze betrachtet werden.
Hier kann innerhalb der Infosetpflege über das Menü
Springen->
Abgrenzungen->
ein Abgrenzungsparameter hinterlegt werden.
Hier kann dann bspw. über das Feld AUFK-AUFNR die Auftragsnummer als Selektionskriterium hinterlegt werden.
Ist eine solche Abgrenzung definiert, so ist auch beim Anlegen einer Query automatisch dieses Feld als Selektionsfeld mit definiert.
Über den Button "Prüfcoding zum Element" kann nun ein entsprechendes Abap-Coding hinterlegt werden. Hier kann eine Berechtigungsprüfung über "Authority-Check" durchgeführt werden.
Hier würde sich dann das Berechtigungsobjekt K_ORDER anbieten, in dem die Berechtigung für Innenaufträge hinterlegt sind.
Nähere Infos liefert hierzu der OSS Hinweis 692502.
Hier sollte jedoch beachtet werden, dass dort dann auch ein entsprechender ABAP-Schlüssel auch erforderlich ist.
- Vorteil
- Sehr differenzierte Berechtigungsprüfung
- Genaue Prüfung der innerhalb der Tabellen vorhandenen Datensätze
- Nachteil
- ABAP Coding erforderlich
- Entwicklerschlüssel
- Tiefe Kenntnisse im Bereich SAP-BC und den einzelnen Berechtigungsobjekte der Module
Fazit:
Je nach Einsatzzweck der SAP Query haben alle Methoden ihre Vorteile und entsprechende Nachteile. Hier sollte insbesondere auf die lokalen organisatorischen Gegegbenheiten geachtet werden und das Thema Berechtigung und Datenschutz nicht ausser acht gelassen werden. Ein wichtiges Thema ist hier generell beim Thema SAP Query auch ein Punkt der Dokumentation und Verbindlichkeit.
Hinweis:
Eine kurze Einführung in das Thema SAP Query habe ich im Artikel
"Grundlagen Kurzeinführung und Handbuch SAP Query" beschrieben und hoffe Ihnen hier eine Einführung ins Thema bieten zu können.
ein Angebot von Espresso Tutorials
unkelbach.link/et.books/
unkelbach.link/et.reportpainter/
unkelbach.link/et.migrationscockpit/
Diesen Artikel zitieren:
Unkelbach, Andreas: »SAP Query: Berechtigung (organisatorisch und technisch)« in Andreas Unkelbach Blog (ISSN: 2701-6242) vom 3.2.2013, Online-Publikation: https://www.andreas-unkelbach.de/blog/?go=show&id=384 (Abgerufen am 24.1.2025)
3 Kommentare - Permalink - SAP
Artikel datenschutzfreundlich teilen
🌎 Facebook 🌎 Bluesky 🌎 LinkedIn