SAP R/3 ist eine Standardsoftware mit dem Anspruch für alle Bereiche eines Unternehmens fertige
Lösungen mitzubringen! Doch der Standard deckt erfahrungsgemäß nicht alle Aufgabenstellungen
ab. Manche Auswertungen werden in den Fachabteilungen mit Hilfe mehrerer Transaktionen in
Excel zusammengesetzt und andere sind im Standard gar nicht möglich.
Falls eine Fragestellung nicht im Standard vorhanden ist, ist eine Möglichkeit die Erstellung eines
Kundenprogrammes durch einen Entwickler. Aber so wie Festplatten in einem Computer immer zu
klein sind, ist wohl (fast) immer das Budget der Fachabteilungen kleiner als die Anzahl der
Wünsche/ Anforderungen.
Und genau in diesem Konflikt zwischen benötigten Auswertungen, flexibler Ausgestaltung und
enger Budgets sind Query-Transaktionen eine Alternative, die auch Anwendern ohne
Programmierkenntnisse erlauben, eigene Auswertungen zu erstellen. Dieser Artikel beschreibt an
Hand eines kleines Beispiels die Erstellung einer CO-Auswertung im QuickViewer.
Übersicht SAP Query
Die SapQuery ist ein Programmgenerator, die Auswertungen, sprich REPORTS, erzeugt. Man gibt
die Datenquelle, die Selektions- und Listfelder an. Die Query erstellt dann aus diesen Angaben eine
Auswertung. Die SapQuery gibt es in drei Ausprägungen:
* Der QuickViewer ist die Einsteigertransaktion. Sie ist Benutzerspezifisch und bietet wenig
Möglichkeiten.
* Die eigentliche SapQuery umfasst die Transaktionen SQ02, SQ03, SQ01 und SQ07. In der
SQ02 wird eine Datenquelle, das InfoSet, erstellt. In der SQ03 werden Benutzergruppen
definiert. Diese Benutzergruppen gliedern die Querys. So kann es z.B. eine Benutzergruppe
Einkauf oder eine Benutzergruppe Controlling geben. In der SQ01 wird dann basierend auf
einem InfoSet die Query definiert. In der SQ07 erfolgt abschließend die Übersetzung
Die SapQuery ist im Vergleich zum QuickViewer sehr viel mächtiger: Bericht-Bericht-
Schnittstelle, lokale Felder, Statistiken oder die Möglichkeit ABAP-Coding zu integrieren.
* Die InfoSet Query ordnet einem Benutzer via Rolle ein InfoSet zu. Der Endanwender kann
dann beliebige Auswertungen für das InfoSet erstellen.
Die SapQuery ist für alle SAP Module verwendbar. Es gibt in manchen Modulen noch spezielle
Tools wie z. B. den Report Writer, die aber nicht übergreifend nutzbar sind. Genau wie der Data Browser SE16 umgeht die Query das SAP Berechtigungskonzept.
Jede
Information eines SAP-Systems ist in einer Datenbanktabelle abgespeichert. Der für Nicht-
Entwickler gravierende Flaschenhals ist das Finden dieser Tabellen. Hier im Beispiel sind es z. B.
die Tabellen CSKS und CSSL. Eine kurze Übersicht der SAP Tabellen findet man im SAP Wiki
(http://sapwiki.iwoars.net/index.php/Tabellen).
Aufgabenstellung
Ein QuickView soll die Leistungsarten mit Bezug auf die jeweiligen Kostenstellen listen. Auf dem
Selektionsbild sollen die folgenden Felder definiert sein:
* Kostenrechnungskreis
* Kostenstelle
* Leistungsart
* Geschäftsjahr
* Datum gültig bis (Kostenstelle)
* Datum gültig ab (Kostenstelle)
Die Liste (Abbildung 8) möge diese Felder umfassen:
* Kostenrechnungskreis
* Kostenstelle
* Leistungsart
* Geschäftsjahr
* Kostensammler-Key
* Leistungsartentyp
* Leistungseinheit
* Datum gültig bis (Kostenstelle)
* Datum gültig ab (Kostenstelle)
* Sperrkennzeichen Istbuchungen primär
* Sperrkennzeichen Primärkostenplanung
* Buchungskreis
* Geschäftsbereich
* Art der Kostenstelle
* Verantwortlicher
* Währungsschlüssel
* Kalkulationsschema
* Steuerstandort
* Profitcenter
* Werk
Diese Daten finden sich in den Tabellen CSKS und CSSL.
Umsetzung
1.Starten Sie die Transaktion "SQVI". Geben Sie als Name z. B. "CSKS_CSSL" an und klicken Sie
auf den Button Anlegen (Abbildung 1).
2. Vergeben Sie einen Titel und wählen sie als Datenquelle "Tabellen-Join". Klicken Sie auf das
Icon "Weiter" (Abbildung 2).
3. Betätigen Sie das Icon "Einfügen" (oberer Pfeil), geben Sie im Pop-Up den Tabellennamen
"CSKS" an und klicken Sie auf "Weiter" (Abbildung 3). Fügen Sie auf die gleiche Weise die Tabelle
CSSL ein.
4. Verlassen Sie mit "F3" den Joineditor (Abbildung 4).
5. Vergrößern Sie mit der Maus das linke, obere Fenster, indem Sie die Grenzlinie nach rechts
ziehen (rechter Pfeil in Abbildung 5). Mit einem Klick auf ein Dreieck (linker Pfeil) können Sie eine
Tabelle aufklappen.
6. In der aufgeklappten Sicht können Sie die List- und Selektionsfelder (untere Pfeile in der
Abbildung 6) der Aufgabenstellung auswählen. Sichern Sie (oberer Pfeil) und führen Sie den
QuickView aus (zweiter Pfeil von oben).
7. Wählen Sie auf dem Selektionsbild für Ihr System sinnvolle Werte und betätigen Sie "F8"
(Abbildung 7).
8. Die Treffermenge der Auswertung (Abbildung 8).
Über den Autor
Dr. Nico Manicone ist seit 2004 als freiberuflicher ABAP-Entwickler [1] mit den Schwerpunkten
ABAP OO und Webentwicklung tätig. Im Jahr 2007 erschien die 2. Auflage seines Buches
"Workshop SAP Query" [2] im Dpunkt-Verlag, in dem jahrelange Erfahrungen aus SapQuery-
Schulungen [3] verarbeitet wurden.