Report mit dem QuickViewer (SQVI) erstellen

Veröffentlicht am | Aktualisiert am

Oftmals will man „mal eben“ nur eine Abfrage erstellen, weil man die Informationen nicht mittels eines SAP Standardreports bekommt. Dies kann man dann relativ einfach mit dem QuickViewer (SQVI) oder dem Query Designer (SQ01) erstellt werden.

Im konkreten Fall möchte ich eine Abfrage über Benutzer erstellen und mir deren E-Mail-Adresse und SNC-Konfiguration anzeigen zu lassen. Die E-Mail-Adressen können dann z. B. für einen E-Mail an einen dedizierten Personenkreis verwendet werden. Die SNC-Konfiguration wird benötigt um zu prüfen welche Benutzer noch keine SNC-Konfiguration haben.

Zur Erstellung von Abfragen bietet SAP den QuickViewer für benutzerspezifische Abfragen und dem Query Designer für bestimmte Personengruppen.

Wichtig für die Abfragen ist zu wissen welche Tabellen wir ansprechen müssen. In diesem Fall sind die benötigten Informationen gleich auf vier Tabellen verteilt. Neben der E-Mail-Adresse und der SNC-Konfiguration sollen auch der SAP-Benutzername, der Vorname und der Nachname angezeigt werden.

Report mit QuickViewer (SQVI) erstellen

Daher benötigen wir die Tabellen: USR21, ADRP, ADR6 und USRACL. Wir starten mit der Transaktion SQVI und legen eine neue Abfrage an.

in der Transaktion SQVI eine neue Abfrage erstellen
in der Transaktion SQVI eine neue Abfrage erstellen

Bei der Abfrage wählen wir dann einen Table-Join aus, da wir mehrere Tabellen miteinander verknüpfen möchten.

Datenquelle "Table Join" auswählen
Datenquelle „Table Join“ auswählen

Die Tabellen werden dann einzeln eingefügt. Wir fangen mit der USR21 an, da diese die Tabelle ist, mit der sich die weiteren Tabellen verknüpfen werden. Beim Hinzufügen der einzelnen Tabellen verknüpft das System die Tabellen eigenständig. Dies wird angepasst, wenn alle Tabellen eingefügt wurden.

SQL Tabellen einfügen
Die notwendigen SQL-Tabellen einfügen.
Tabellenübersicht mit automatischen Verknüpfungen
Tabellenübersicht mit automatischen Verknüpfungen

Wie man sehen kann, werden die Tabellen im Wesentlichen über BNAME (SAP Benutzername) und PERSNUMBER (eindeutige ID) miteinander verknüpft. Die USRACL bildet hier erst einmal eine Ausnahme, die wir korrigieren werden.

Die Verknüpfungen sollten alle direkt mit der Tabelle USR21 erstellt werden. Daher müssen die Verknüpfungen zwischen ADRP –> ADR6 und ADR6 –> USRACL erst einmal aufgelöst werden. Um diese Verknüpfungen zu löschen, mit der rechten Maustaste auf einen Link klicken und über das Kontextmenü den Link löschen.

Tabellenverknüpfungen anpassen

Die Tabellenverknüpfung muss dann neu erstellt werden. Einmal für USR21 –> ADR6 und dann für USR21 –> USRACL.

Neue Tabellenverknüpfung erstellen
Neue Tabellenverknüpfung erstellen
Tabellenverknüpfung überarbeiten
Tabellenverknüpfung überarbeiten

Die Verknüpfungen werden wieder automatisch gesetzt. Bei diesem Anwendungsfall werden diese auch richtig mit BNAME und PERSNUMBER verknüpft. Mann könnte die Verknüpfung aber auch manuell mit dem „Anfasser“ korrigiert werden.

Die Tabellen werden anschließend wie folgt angezeigt:

Tabellenübersicht nach Anpassen der Tabellenverknüpfung
Tabellenübersicht nach Anpassen der Tabellenverknüpfung

Nun ist man fast fertig. Wir haben aber mit der jetzigen Konfiguration noch ein Problem. Wir würden lediglich nur die Datensätze zurückbekommen, die die Selektionsbedingung auf beiden Seiten erfüllen, da im Standard ein INNER Join verwendet wird.

Oder praktisch ausgedrückt, wenn wir nach Benutzern ohne E-Mail-Adresse suchen, funktioniert die Abfrage nicht.

Daher müssen wir die Join-Bedingungen für USR21 –> ADR6 und USR21 –> USRACL auf Left-Outer Join umstellen. Damit bekommen wir aus der Tabelle ADR6 auch Benutzer ohne E-Mail-Adresse und aus der USRACL Benutzer ohne SNC-Konfiguration.

Der Join der Tabellenverknüpfungen muss auf Left Outer Join gestellt werden.
Der Join der Tabellenverknüpfungen muss auf Left-Outer Join gestellt werden.

Der Join zur ADRP muss in diesem Beispiel nicht angepasst werden, da hier später der Vorname und der Nachname selektiert werden und ich davon ausgehe, dass diese gegeben sind.

Der Join zur ADR6 muss nur über einen Link angepasst werden. Das Ergebnis sieht dann abschließend so aus:

Tabellenübersicht nach Anpassung der Joins
Tabellenübersicht nach Anpassung der Joins

Damit ist die Tabellenkonfiguration abgeschlossen. Speichern kann man das an diesem Punkt noch nicht. Hier mit F3 zurückgehen und wir kommen im QuickViewer in das Einstiegsbild und dem Basismodus.

Hier definieren wir, welche Daten wir uns nach Ausführung des Reports anzeigen lassen wollen (Anzeigefelder) und welche Daten als Selektionsfelder zur Verfügung stehen. Das muss ja nicht 1:1 übereinstimmen.

Selektion- und Anzeigendefinition
Selektion- und Anzeigendefinition

Wichtig zu wissen, die Reihenfolge der Auswahl bestimmt auch die Reihenfolge wie es im Report angezeigt wird. Das bedeutet, wenn Sie den Benutzernamen als erstes angezeigt haben möchten, dann sollten Sie ihn auch als erstes auswählen.

Die Reihenfolge der einzelnen Felder die aus einer einzelnen Tabelle kommen, können über die Anzeigenfelder neu arrangiert werden. Es kann aber nicht die komplette Reihenfolge geändert werden.

Abschluss der Selektion- und Anzeigendefinition
Abschluss der Selektion- und Anzeigendefinition

An diesem Punkt kann man den Report speichern und Ausführen.

Erstellten Report ausführen
Erstellten Report ausführen

Der Test sollte jetzt alle Benutzer ausgeben. Hier sollte man mit einem bekannten Benutzerkreis testen, um die Join-Bedingungen zu überprüfen.

In diesem Fall ist die Ausgabe der Benutzer wie erwartet.

Report ausführen und prüfen
Report ausführen und prüfen

Um sich jetzt Benutzer anzeigen zu lassen, die keine SNC-Konfiguration im Benutzerstamm haben, die Auswahl des SNC Namen auf = stellen.

Nach Benutzern mit leerer SNC-Konfiguration suchen.
Nach Benutzern mit leerer SNC-Konfiguration suchen.

SAP-Benutzer ohne SNC-Konfiguration
SAP-Benutzer ohne SNC-Konfiguration

Tabellenkonfiguration ändern

Falls etwas noch nicht passt und die Tabellenkonfiguration anpassen möchte, kann man dies im Basismodus unter dem Reiter Datenquelle tun. Damit kann man auch später den Report erweitern oder anpassen.

Tabellenkonfiguration ändern
Tabellenkonfiguration ändern

Ein kleiner Nachteil der Transaktion SQVI ist, dass dieser Report nur dem Benutzer zur Verfügung steht, der diesen Bericht erstellt hat.

Dies kann man wie folgt machen.

Report freigeben

Für jeden Report kann man sich im QuickViewer ein Programm generieren lassen. Diesen Programmnamen kann man sich im gleichen Menüpunkt anzeigen lassen.

Programm generieren
Programm generieren
Reportname anzeigen lassen
Reportname des Queries anzeigen lassen

Diesen Programmnamen kann man dann z. B. in der TA SA38 ausführen oder auch eine Transaktion daraus erstellen.

Report mit dem Query Designer (SQ01) bereitstellen

Eine andere Variante ist, diesen Report mittels des Query Designers einer Benutzergruppe zur Verfügung zu stellen. Oft unterschätzt und doch ist es sehr hilfreich.

SQ01 – Grundkonfiguration

Erst einmal muss vorgegeben werden aus welchem Umfeld die Queries angezeigt werden soll.

Query Area einstellen
Query Area einstellen

Da die vorher erstellte Benutzer-Query mandantenabhängig ist, muss auch die Arbeitsumgebung mandantenspezifisch eingestellt sein.

Query Area - mandantenspezifisch
Query Area – mandantenspezifisch

Im nächsten Schritt muss eine Benutzergruppe angegeben werden. Falls diese noch nicht existiert, muss diese erstellt werden.

Benutzergruppen bearbeiten
Benutzergruppen bearbeiten
Benutzergruppen erstellen
Benutzergruppen erstellen

Wenn die Benutzergruppe erstellt wurde, muss dieser Benutzergruppe noch die entsprechenden Benutzer zugewiesen werden.

Der Benutzergruppe Benutzer zuweisen
Der Benutzergruppe Benutzer zuweisen
Benutzer hinzufügen
Benutzer hinzufügen

Nachdem die Benutzer gespeichert wurden, aus diesem Menü sowie dem Menü der Benutzergruppen mit F3 herausgehen und über den Menüpunkt „Bearbeiten“, die entsprechende Benutzergruppe auswählen.

Benutzergruppe auswählen
Benutzergruppe auswählen

SQ01 – QuickView konvertieren

Nachdem die Grundkonfiguration vorgenommen wurde, kann der eigentliche QuickView konvertiert werden und der Benutzergruppe zur Verfügung gestellt werden.

QuickView konvertieren
QuickView konvertieren
Report mit dem QuickViewer (SQVI) oder dem Query Designer (SQ01) erstellen 1

Im folgenden Dialog kann dann der Query-Name festgelegt werden, unter dem dieser den Benutzern der Gruppe SAP_BASIS angezeigt wird.

QuickView konvertieren und neuen Query-Namen vorgeben
QuickView konvertieren und neuen Query-Namen vorgeben

Mit diesem letzten Schritt ist alles getan. Die Benutzer müssen zur Verwendung dieses Queries, die Transaktion SQ01 aufrufen, die Query Area auf mandanten-spezifisch einstellen und die richtige Benutzergruppe wählen.

Mit F8 wird der Query ausgeführt und die Abfragemaske erscheint wieder

Neuen Query auswählen und ausführen
Neuen Query auswählen und ausführen
SQ01 - Query ausführen
SQ01 – Query ausführen

Ich hoffe, dass ich mit diesem Beispiel zeigen konnte, wie relativ einfach man mit dem Query Designer Reports erstellen kann und diesen anderen Benutzern zur Verfügung stellt.

Weitere Infos: help.sap.com: SAP Query

Beitrag kommentieren

Bitte verfasse einen Kommentar.

Dein Kommentar wird vor der Freischaltung von einem Admin moderiert.




  • Jens

    15.05.2024

    Hey Andy,

    beste Erklärung zu Queries. Wie komme ich denn von einer aus einem derartigen Programm erstellten Transaktion in die Settings der Query. Es geht um Einkaufsdaten, ich finde aber teilweise die Feldbezeichnungen in SE116 nicht aus dem Selektionsscreen.der Query-Trc. Ich weiß nicht welche Tabellen die genommen haben, ich müsste ein zwei Sachen hinzufügen. Danke