SAP-Fachtagung 2012 Workshop „SAPQuery an die Kette...

10
1 SAP-Fachtagung 2012 Workshop „SAPQuery an die Kette legen“ Berlin, September 2012 Thomas Michler TBS gGmbH Rheinland-Pfalz 2 Definitionen Wenn man eine TA ausführt, wird ein Programm aufgerufen. Dieses Programm wurde vorher von einem Programmierer in der SAP-Programmiersprache ABAP erstellt. Wenn man dagegen mit SAP-Query arbeitet, so wird das Programm automatisch von SAP erstellt. Das Programm wird allein dadurch erstellt, dass die Ausführungen des Nutzers automatisch in der ABAP-Programmiersprache „mitprotokolliert“ werden. Das Ergebnis – also das Programm – könnte ein Programmierer auch ohne Anwendung von SAP-Query direkt in der ABAP erstellen. SAP-Query wird deshalb auch als Programmgenerator bezeichnet. Jedesmal, wenn man dann das so oder so erstellte Programm aufruft (z.B. mittels einer TA), dann erhält man als Ergebnis eine Liste (Auswertung), die genau die Daten enthalten sollte, die man auch haben wollte.

Transcript of SAP-Fachtagung 2012 Workshop „SAPQuery an die Kette...

Page 1: SAP-Fachtagung 2012 Workshop „SAPQuery an die Kette …sap-im-betrieblichen-spannungsfeld.de/wp-content/uploads/2014/03/... · SAP-Programmiersprache ABAP erstellt. • Wenn man

1

SAP-Fachtagung 2012

Workshop

„SAPQuery an die Kette legen“

Berlin,September 2012

Thomas MichlerTBS gGmbH Rheinland-Pfalz

2

Definitionen

• Wenn man eine TA ausführt, wird ein Programm aufgerufen. Dieses Programm wurde vorher von einem Programmierer in der SAP-Programmiersprache ABAP erstellt.

• Wenn man dagegen mit SAP-Query arbeitet, so wird das Programm automatisch von SAP erstellt. Das Programm wird allein dadurch erstellt, dass die Ausführungen des Nutzers automatisch in der ABAP-Programmiersprache „mitprotokolliert“werden.

• Das Ergebnis – also das Programm – könnte ein Programmierer auch ohne Anwendung von SAP-Query direkt in der ABAP erstellen. SAP-Query wird deshalb auch als Programmgenerator bezeichnet.

• Jedesmal, wenn man dann das so oder so erstellte Programm aufruft (z.B. mittels einer TA), dann erhält man als Ergebnis eine Liste (Auswertung), die genau die Daten enthalten sollte, die man auch haben wollte.

Page 2: SAP-Fachtagung 2012 Workshop „SAPQuery an die Kette …sap-im-betrieblichen-spannungsfeld.de/wp-content/uploads/2014/03/... · SAP-Programmiersprache ABAP erstellt. • Wenn man

3

Definitionen

• „SAP Query, eine SAP-Programmbibliothek zur Erzeugung von Berichten (Programmen? Auswertungen?), die in der Standardfunktionalität nicht (?) enthalten sind“ (wikipedia)

4

Unter „Query-Reportingtools“ versteht man

• Quick-Viewer

(Infoset-Query)

• SAP-Query

Page 3: SAP-Fachtagung 2012 Workshop „SAPQuery an die Kette …sap-im-betrieblichen-spannungsfeld.de/wp-content/uploads/2014/03/... · SAP-Programmiersprache ABAP erstellt. • Wenn man

5

Anwendung:

Quick-Viewer

• Der Quick-Viewer Ist ein Werkzeug, mit dem man ohne Programmierkenntnisse ein Auswertungsprogramm („Report“) erstellen kann.

• Wenn man die einzelnen Arbeitsschritte mit dem Quick-Viewerdurchgeführt hat, erhält man als Ergebnis einen Quick-View-Report.

• Dieser Report wird mit einem beliebigen / nachvollziehbaren Namen versehen (Z_TBS_VIEW1). Ein Aufruf des Reports erzeugt dann jedesmal einen „Quick-View“ – genauso / mit den Grenzen und Möglichkeiten, wie er vorher mit Hilfe des Quick-Viewersdefiniert worden ist.

• Für Administratoren, denen es nicht ausreicht mittels SE16 eineTabelle aufzurufen, sondern die sich schnell einen Überblick über mehrere Tabellen verschaffen wollen.

6

Anwendung:

Quick-Viewer

Vorgehen:

• Namen für Quick-View-Report eingeben

• Datenquelle auswählen (eine oder mehrere Tabellen, Infoset…)

• Auswählen der Felder (einer Tabelle), die angezeigt werden sollen

• fertig

Page 4: SAP-Fachtagung 2012 Workshop „SAPQuery an die Kette …sap-im-betrieblichen-spannungsfeld.de/wp-content/uploads/2014/03/... · SAP-Programmiersprache ABAP erstellt. • Wenn man

7

Anwendung:

SAP-Query

• für Endanwender, der aus einem vordefinierten Katalog von SAP-Queries den benötigten ausführt

• Admin muss diesen Katalog vorher erstellt haben bzw. aus dem SAP-Standard-Repertoire

• Infoset nutzt als Datenbasis Tabellen etc. (wie Quick-Viewer plus zusätzliche Datennquellen)

• In der SAP-Query können nur die Datenfelder verwendet werden, die vorher im Infoset definiert wurden

8

Anwendung:

SAP-Query; Vorgehen:

• Anlegen einer Benutzergruppe (Name vergeben); Festlegen, ob ein Nutzer die (ihr später zugeordneten) SAP-Queries ändern darf oder nicht.

• Infoset anlegen (Name vergeben) mit Feldern aus einer oder aus mehreren Tabellen. Infoset einer Benutzergruppe zuordnen; einer Benutzergruppe können mehrere Infosets zugeordnet werden;

• SAP-Query anlegen (Name vergeben) und die Benutzergruppe festlegen, die berechtigt sein soll, den SAP-Query-Report aufzurufen.

• SAP-Query mit einem Infoset verknüpfen. Es können nur die Infosets verknüpft (d.h. ausgewählt) werden, für die die Benutzergruppe, die eben im SAP-Query angelegt wurde, eine Berechtigung hat.

• Auswahl der Felder, die im Report erscheinen sollen.

• Fertig ist das Query / der Report

Page 5: SAP-Fachtagung 2012 Workshop „SAPQuery an die Kette …sap-im-betrieblichen-spannungsfeld.de/wp-content/uploads/2014/03/... · SAP-Programmiersprache ABAP erstellt. • Wenn man

9

Anwendung:

SAP-Query

Aufrufen den fertigen SAP-Queries durch Endanwender

• mittels SQ01 (mit Minimalberechtigungen) oder

• mittels Definition einer Rolle für das Query und anschließendes Zuordnen dieser Rolle zu dem Endanwender

10

Technisches

Quick-Viewer

• Berechtigungsobjekt für Quick-Viewer: S_TABU_DIS

• Qick-Viewer-Reports können mit einer TA (SQVI) erstellt werden

• Quick-Viewer-Report ist immer lokal, d.h. nur für den Nutzer, der ihn erstellt hat. Allerdings kann der Report in eine SAP-Query umgewandelt werden.

Page 6: SAP-Fachtagung 2012 Workshop „SAPQuery an die Kette …sap-im-betrieblichen-spannungsfeld.de/wp-content/uploads/2014/03/... · SAP-Programmiersprache ABAP erstellt. • Wenn man

11

Technisches

SAP-Query

• Ist global; d.h. auch für andere Nutzer sichtbar; deshalb Namenskonventionen sind einzuhalten

• Um eine SAP-Query zu erstellen, braucht man drei TAs

– Mit TA SQ02 Infoset festlegen; Suchen nach vorhandenen Queries über die Infosets

– Mit TA SQ03 Benutzergruppe zwecks Zuordnung von Infosets und SAP-Queries

– SQ01 SAP-Query erstellen,

• Es gibt keine Modulgrenzen, modulübergreifende Auswertungen sind möglich

12

Technisches

SAP-Query

• Berechtigungsobjekt zum Starten und Ändern von SAP-Queries: S_QUERY

• Berechtigungsobjekt S_DEVELOP zum Einbauen von ABAP-Codein eine SAP-Query.

• Berechtigungsobjekt S_TABU_DIS für Tabellenzugriffe

• Mittels „lokalen Feldern“ können Berechnungen durchgeführt werden (über das reine Anschauen von Feldinhalten hinaus)

• Drill-Down-Funktionalität (in Verbindung mit logischen Datenbanken)

Page 7: SAP-Fachtagung 2012 Workshop „SAPQuery an die Kette …sap-im-betrieblichen-spannungsfeld.de/wp-content/uploads/2014/03/... · SAP-Programmiersprache ABAP erstellt. • Wenn man

13

Gefährdungen

Quick-Viewer

• Werden direkt im Produktivsystem angewendet (kein Transportvorgang aus dem Entwicklungssystem)

• Wer für Quick-Viewer Berechtigung hat, kann immer auch die Daten nach z.B. Excel exportieren

• Es wird nicht protokolliert, wer wann wie oft welche Quick-Viewsaufgerufen hat.

• Tabellenzugriff kann nicht eingeschränkt werden

14

Gefährdungen

SAP-Query :

• Für jede TA findet eine Überprüfung der Berechtigungen statt (TA-Berechtigung). Diese entfällt beim direkten Tabellenzugriff. SAP-Query entspricht somit dem Data Browser (SE16). Ein Nutzer, der die Berechtigung hat, SAP-Queries zu erstellen und auszuführen, kann auf alle Daten des SAP-Systems zugreifen – zumindest hindert ihn keine TA-Berechtigung daran.

• Evtl. jedoch die TabellenzugriffsberechtigungAusnahme: in „logischen Tabellen“ (wie sie z.B. in HR genutzt werden) kann eine Berechtigungsprüfung stattfinden (?)

• Tabellenzugriffe werden nicht protokolliert

• Komplexes Zusammenspiel der unterschiedlichen Berechtigungen:

– Benutzergruppen

– Berechtigungsobjekt S_QUERY, S_DEVELOP, S_TABU_DIS

Page 8: SAP-Fachtagung 2012 Workshop „SAPQuery an die Kette …sap-im-betrieblichen-spannungsfeld.de/wp-content/uploads/2014/03/... · SAP-Programmiersprache ABAP erstellt. • Wenn man

15

Forderungen

Quick-Viewer

• Im Normalfall sind die SAP-Standardreports zu verwenden. Nur in begründeten und dokumentierten Ausnahmefällen Quick-Viewer

• Keine Personaltabellen als Datenquelle

16

Forderungen

SAP-Query:

• Einstellbar, ob User Query ändern kann -> machen!

• SAP-Queries/Infosets entwickeln im Entwicklungssystem und per Transport ins Produktivsystem übertragen

• Infosets ohne personenbezogene Daten

• Zuordnung von Infosets und SAP-Queries nur den Benutzergruppen, die dies wirklich zur Erledigung ihrer Arbeit benötigen (Minimalisierungsprinzip)

• Dto. für die Zugriffsmöglichkeiten auf die Tabellen im HR

• Nutzer sollen die SAP-Queries nicht ändern können.

• Die systeminternen Infoset- und Query-Beschreibungen werden dem BR auf Wunsch aktuell zur Verfügung gestellt (z.B. HTML)

• Kein Datenexport an ein anderes IT-System (Excel)

Page 9: SAP-Fachtagung 2012 Workshop „SAPQuery an die Kette …sap-im-betrieblichen-spannungsfeld.de/wp-content/uploads/2014/03/... · SAP-Programmiersprache ABAP erstellt. • Wenn man

17

Forderungen

SAP-Query:

• Berechtigungen möglichst einschränken:

– Wer darf Queries, Infotypen, Benutzergruppen anlegen/ändern

– Wer darf Queries ausführen

– Empfangsberechtigte von Ergebnislisten (auch z.B. als pdf-Dateien und ausgedruckte Listen)

18

Forderungen

SAP-Query:

• Funktionstrennung/Gewaltenteilung/“4“-Augen-Prinzip. Orientierung an den „Lebensabschnitten“ einer SAP-Query:

– Definition der Datenquelle (auf wenige Personen beschränken); Vorteile: Datenschutz und rationeller Einsatz, da sich diese Mitarbeiter auf die Aufgaben „Finden von Tabellen“und „ABAP-Coding“ spezialisieren und Erfahrungen sammeln können.

– Benutzerverwaltung (Benutzerpflege und Aktivieren)

– Query-Erstellung

– Anwendung

• Problem: bürokratischer Aufwand

Page 10: SAP-Fachtagung 2012 Workshop „SAPQuery an die Kette …sap-im-betrieblichen-spannungsfeld.de/wp-content/uploads/2014/03/... · SAP-Programmiersprache ABAP erstellt. • Wenn man

19

Kontrollansätze

SAP-Query

• Wie erkennt man HR-Infosets?

– am Kennzeichen „HR“ in der Infoset-Bezeichnung

– an den verwendeten (logischen) Datenbanken PNPCE, PCH, PAP, PTRVP

• Anzeigen lassen (RSAQxxxx z.B. RSAQSUMM),

– welche Tabellen werden als Datenquelle für das Query verwendet?

– welche Queries gibt es zu den einzelnen Infosets?

– Wer hat wann das Query angelegt und wer wann zuletzt geändert?

– Wer ist in welchen Benutzergruppen? Wer hat die Berechtigung eine Query zu ändern?

– Wer hat wann eine Benutzergruppe angelegt?

– Welche Benutzergruppen sind welchen Queries zugeordnet

– Wer hat wann einen Infoset erstellt und wer wann zuletzt geändert?