SAP QuickViewer

| Autor/in:Julica Herold
statistik

Datenanalysen in SAP sollten idealerweise immer tabellenbasiert erfolgen. Dies hat zum einen den Vorteil, dass das Arbeiten mit Rohdaten weniger fehleranfällig ist, und ermöglicht zum anderen ein größeres Spektrum an Auswertungen. Bei den meisten Datenanalysen in SAP ist es notwendig, Informationen aus mehreren verschiedenen Tabellen zu betrachten. Ein sehr einfach zu bedienendes Werkzeug, um mehrere Tabellen miteinander zu verknüpfen, ist der SAP QuickViewer. Der QuickViewer ist neben SAP Query und SAP InfoSet Query ein Tool, das von SAP zur Erstellung eigener Reports zur Verfügung gestellt wird. Mit ihm können Benutzer schnell und ohne spezielles Wissen Grundlisten von Daten generieren.

Bei der Definition eines QuickViews können einzelne Tabellen, Tabellen-Joins, logische Datenbanken oder SAP Query InfoSets als Datenquelle ausgewählt werden. In diesem Artikel soll es um QuickViews gehen, die einen Tabellen-Join als Datenquelle verwenden.

Beim Tabellen-Join werden zwei oder mehr Tabellen über Tabellenfelder, meist Schlüsselfelder, miteinander verknüpft. Die Verknüpfung der Tabellen kann in einem QuickView auf zwei verschiedene Arten erfolgen: Durch einen Inner Join oder durch einen Left Outer Join. Beim Inner Join besteht die Ergebnistabelle aus der Schnittmenge beider Tabellen, d.h. die Ergebnistabelle erhält nur solche Datensätze, für die in beiden Tabellen Einträge zu den jeweiligen Schlüsselfeldern vorhanden sind.

bild1
Abb. 1 Inner Join

Beim Left Outer Join enthält die Ergebnistabelle alle Einträge der „linken“ Tabelle. Datensätze, die in der „rechten“ Tabelle keinen zur „linken“ Tabelle entsprechenden Eintrag besitzen, werden in der Ergebnistabelle als leere Felder dargestellt.

bild2
Abb. 2 Left Outer Join

Beispiel für einen Left Outer Join

In diesem Beispiel werden die Tabellen LFA1 und LFBK durch einen Left Outer Join verknüpft, um alle Kreditoren ohne Bankverbindung auszugeben.

Nach Aufruf des QuickViewers (Transaktionscode SQVI) wird im ersten Schritt ein Name für den neuen QuickView eingegeben und der QuickView über die Schaltfläche Anlegen angelegt.

In diesem Beispiel werden die Tabellen LFA1 und LFBK durch einen Left Outer Join verknüpft, um alle Kreditoren ohne Bankverbindung auszugeben.

Nach Aufruf des QuickViewers (Transaktionscode SQVI) wird im ersten Schritt ein Name für den neuen QuickView eingegeben und der QuickView über die Schaltfläche Anlegen angelegt.

bild3
Abb. 3 Einstiegsbildschirm des QuickViewers

In dem neuen Pop-up-Fenster wird ein Titel für den QuickView vergeben (Pflichtfeld) und die Datenquelle ausgewählt.

bild4
Abb. 4 Anlegen eines neuen QuickViews

Nach dem Bestätigen der Eingaben wird im nächsten Schritt der Tabellen-Join definiert. Über die Schaltfläche Tabelle einfügen werden alle Tabellen hinzugefügt, die verknüpft werden sollen (im gezeigten Beispiel die Tabellen LFA1 und LFBK). Bei einem Left Outer Join ist dabei die Reihenfolge zu beachten, da die zuerst eingefügt Tabelle immer als „linke“ Tabelle fungiert.  

bild5
Abb. 5 Auswahl der Tabellen für den Tabellen-Join
bild6
Abb. 6 Tabellen-Join der beiden Tabellen LFA1 und LFBK

SAP schlägt automatisch eine Verknüpfung der beiden Tabellen über das Schlüsselfeld LIFNR (Kontonummer des Lieferanten bzw. Kreditors) vor. Diese Verknüpfung muss aber nicht immer inhaltlich richtig sein und sollte daher überprüft werden. Der Tabellen-Join ist standardmäßig ein Inner Join, durch einen Rechtsklick auf die Verbindunglinie kann dieser zu einem Left Outer Join geändert werden.

bild7
Abb. 7 Anpassen der Tabellenverknüpfung

Anschließend gelangt man über die Schaltfläche Zurück zur Entwurfsansicht des QuickViewers. Hier kann für jede der beiden Tabellen ausgewählt werden, welche Tabellenfelder in der Ergebnistabelle ausgegeben werden (Listenfelder) und welche Tabellenfelder in der Selektionsmaske des QuickViews zur Verfügung stehen sollen (Selektionsfelder).

bild8
Abb. 8 Listen- und Selektionsfelder für die Tabelle LFA1
bild9
Abb. 9 Listen- und Selektionsfelder für die Tabelle LFBK

Nach Eingabe dieser Einstellungen kann der QuickView ausgeführt werden.

Durch Selektion auf das Feld LFBK-BANKN (Bankkontonummer) mit dem Wert <leer> werden alle Kreditoren ohne hinterlegte Bankverbindung ausgegeben.

bild10
Abb. 10 Selektionsmaske des QuickViews
bild11
Abb. 11 Ergebnis des QuickViews (Ausschnitt)

Referentielle Integrität einer Datenbank

Die referentielle Integrität dient dazu, die Konsistenz einer Datenbank sicherzustellen und definiert mit Hilfe von Regeln Bedingungen, wie Datensätze in Datenbanken eingefügt und gelöscht werden dürfen, damit die Integrität der Daten erhalten bleibt. Dabei geht es darum, dass Datensätze nur auf existierende Datensätze verweisen dürfen. Ein Beispiel hierzu:

Vertauscht man die Positionen der beiden Tabellen aus dem vorherigen Beispiel und wählt in einem neuen QuickView die Tabelle LFBK als „linke“ Tabelle, so könnte man z.B. herausfinden, ob im System Bankverbindungen existieren, für die kein Kreditor in der Tabelle LFA1 hinterlegt ist. Ergibt diese Abfrage ein nicht leeres Ergebnis, ist dies ein Zeichen für die Verletzung der referentiellen Integrität, da zwischen LFA1 und LFBK eine Beziehung mit der Kardinalität 1:N besteht und es somit keinen Eintrag in der LFBK geben darf ohne einen entsprechenden Eintrag in der LFA1.

Beispiel für einen Inner Join mit Alias-Tabelle

In der Tabelle LFA1 kann für einen Kreditoren ein anderer Kreditor als abweichender Zahlungsempfänger hinterlegt werden. In diesem Beispiel sollen die allgemeinen Stammdaten des abweichenden Zahlungsempfängers dargestellt werden. Dafür ist es erforderlich, die Tabelle LFA1 mit sich selbst zu verknüpfen.
Der QuickView wird wie oben beschrieben angelegt und die Tabelle LFA1 eingefügt. Beim Versuch, die Tabelle LFA1 ein zweites Mal hinzuzufügen, erscheint folgende Fehlermeldung:

bild12
Abb. 12 Fehlermeldung beim Einfügen der zweiten LFA1-Tabelle

Da bei der Definition eines Joins jede Tabelle im QuickViewer nur einmal verwendet werden kann, ist es notwendig, eine Alias-Tabelle zu definieren. Diese stellt eine logische Kopie der originalen Tabelle dar.

Das Anlegen der Alias-Tabelle erfolgt über die Schaltflächen Alias und anschließend Anlegen.

bild13
Abb. 13 Anlegen einer Alias-Tabelle

Im erscheinenden Pop-up-Fenster wird die gewünschte Tabelle angegeben und ein Name für die Alias-Tabelle vergeben.

bild14
Abb. 14 Definition der Alias-Tabelle

Die Alias-Tabelle kann nun wie oben beschrieben zum Tabellen-Join hinzugefügt werden.

bild15
Abb. 15 Tabellen-Join der Tabelle LFA1 und der Alias-Tabelle LFA1_KOPIE

Führt man den QuickView nun aus, bekommt man alle Kreditoren angezeigt, für die ein abweichender Zahlungsempfänger definiert wurde, sowie die allgemeinen Daten zum abweichenden Zahlungsempfänger.

bild16
Abb. 16 Ergebnis des QuickViews (Ausschnitt)

Einen QuickView anderen Benutzern zur Verfügung stellen

Ein Nachteil des QuickViews gegenüber SAP Query liegt darin, dass der QuickView zunächst nur dem Benutzer zur Verfügung steht, der ihn erstellt hat. Bei der Erstellung eines QuickViews wird jedoch immer automatisch im Hintergrund ein Report erzeugt. Der Name des Reports kann im Einstiegsbildschirm des QuickViewers ermittelt werden, indem der entsprechende QuickView markiert und der Menüpfad QuickView · Weitere Funktionen · Reportname anzeigen aufgerufen wird. Dieser Reportname kann anderen Benutzern zur Verfügung gestellt werden und wie ein normaler Report z.B. mit der Transaktion SA38 ausgeführt werden. Änderungen am QuickView können jedoch nur vom Ersteller durchgeführt werden.
Eine weitere Möglichkeit, den QuickView anderen Benutzern zur Verfügung zu stellen, besteht darin, den QuickView in eine Query umzuwandeln und diese anschließend Benutzergruppen zuzuordnen.