SAP Queries: Eine umfassende Anleitung zur Erstellung von Berichten mit SQ01, SQ02 und SQ03

SAP Bildschirm: Benutzergruppe erfolgreich gespeichert (SQ03)

Die schnelle Generierung maßgeschneiderter Berichte ist im SAP-Umfeld oft eine Notwendigkeit. ABAP-Entwicklungen können zeitaufwendig sein, von der Spezifikation über die Entwicklung und Tests bis hin zum Transport in die Produktivsysteme. Für Anwender und Funktionsberater, die rasch Daten aus dem System extrahieren müssen, bietet SAP mit den ABAP/4 Queries ein leistungsstarkes und flexibles Werkzeug. Dieses Dokument dient als umfassender Leitfaden, um das Konzept der SAP Query von Grund auf zu verstehen und effektiv einzusetzen. Es richtet sich an Leser mit einem moderaten Verständnis von ABAP-Konzepten und den entsprechenden Berechtigungen im SAP-System, die lernen möchten, wie sie mit den Transaktionen SQ03, SQ02 und insbesondere SQ01 aussagekräftige Reports erstellen können.

SAP Queries ermöglichen es Ihnen, ohne tiefgreifende ABAP-Programmierkenntnisse, ad-hoc Berichte zu erstellen. Dies spart nicht nur wertvolle Zeit, sondern erhöht auch die Agilität in Geschäftsprozessen, da Informationen schnell und zielgerichtet verfügbar gemacht werden können. Die Transaktion SQ01 ist dabei das zentrale Werkzeug für die eigentliche Definition der Query. Für weitere grundlegende Informationen und einen Überblick über verwandte Funktionen empfehlen wir einen Blick auf die Grundlagen der SAP Query-Definition mit SQ00.

Die Erstellung einer ABAP/4 Query erfolgt typischerweise in drei aufeinanderfolgenden Schritten, die jeweils einer spezifischen Transaktion zugeordnet sind:

  1. Benutzergruppe anlegen (Transaktion SQ03)
  2. InfoSet erstellen (Transaktion SQ02)
  3. Query erstellen (Transaktion SQ01)

Im Folgenden werden diese Schritte detailliert erläutert, um Ihnen einen klaren Weg zur effektiven Nutzung von SAP Queries aufzuzeigen.

Erstellung einer Benutzergruppe (SQ03)

Die Benutzergruppe ist der erste und grundlegende Schritt bei der Einrichtung von SAP Queries. Sie definiert, welche Benutzer Zugriff auf welche Queries haben. Dies ist entscheidend für die Sicherheit und Organisation im SAP-System.

  1. Starten der Transaktion SQ03:
    Geben Sie im SAP-Kommandofeld SQ03 ein und drücken Sie Enter. Sie gelangen auf den Initialbildschirm zur Pflege der Benutzergruppen.

  2. Anlegen einer neuen Benutzergruppe:
    Geben Sie einen Namen für Ihre neue Benutzergruppe ein. Es ist Best Practice, kundenindividuelle Objekte mit Z oder Y zu beginnen (z.B. Z_MY_USERGROUP). Klicken Sie anschließend auf die Schaltfläche “Anlegen”. Es öffnet sich ein weiteres Fenster, in dem Sie eine aussagekräftige Beschreibung für die Benutzergruppe hinterlegen können.

  3. Speichern der Benutzergruppe:
    Nachdem Sie die Beschreibung eingegeben haben, klicken Sie auf “Sichern”. Das System bestätigt die Speicherung mit der Meldung “Benutzergruppe gespeichert”.

    SAP Bildschirm: Benutzergruppe erfolgreich gespeichert (SQ03)SAP Bildschirm: Benutzergruppe erfolgreich gespeichert (SQ03)

  4. Zuweisung von Benutzern und InfoSets:
    Klicken Sie auf die Schaltfläche “Benutzer und InfoSets zuordnen”. Hier können Sie die SAP-Benutzer-IDs eingeben, die berechtigt sein sollen, die Queries dieser Benutzergruppe zu verwenden. Eine sorgfältige Benutzerzuweisung ist essenziell für die Einhaltung von Berechtigungskonzepten in SAP.

Erstellung eines InfoSets (SQ02)

Ein InfoSet bildet die Datenbasis für Ihre Queries. Es definiert, welche Tabellen und Felder für die Berichterstellung zur Verfügung stehen. Dies ist der technische Kern, der die Verbindung zu den tatsächlichen SAP-Daten herstellt.

  1. Transaktion SQ02 starten und Query-Bereich wählen:
    Geben Sie SQ02 ein. Bevor Sie ein InfoSet anlegen, müssen Sie sicherstellen, dass Sie im richtigen Query-Bereich arbeiten. Navigieren Sie über das Menü Umgebung -> Query-Bereiche und wählen Sie “Standardbereich (mandanten-spezifisch)” aus. Dies stellt sicher, dass Ihr InfoSet nur in diesem Mandanten verfügbar ist.

    SAP SQ02: Auswahl des Standardbereichs (Mandanten-spezifisch) für InfoSetsSAP SQ02: Auswahl des Standardbereichs (Mandanten-spezifisch) für InfoSets

  2. Neues InfoSet anlegen:
    Geben Sie einen Namen für das InfoSet ein (auch hier Z_ oder Y_ Präfix empfohlen, z.B. Z_INFOSET_DEMO) und klicken Sie auf “Anlegen”. Im nächsten Bildschirm geben Sie den Namen des InfoSets erneut ein und hinterlegen die primäre Tabelle, die Sie für Ihren Bericht verwenden möchten. Klicken Sie dann auf “Weiter”.

    Hinweis: Wenn Ihr Bericht nur Daten aus einer einzigen Tabelle benötigt, wählen Sie die Option “Direktes Lesen der Tabelle” aus.

  3. Tabellen hinzufügen und Beziehungen definieren:
    Nach dem Klick auf “Weiter” erscheint der InfoSet Designer. Hier können Sie weitere Tabellen zu Ihrem InfoSet hinzufügen, indem Sie auf die markierte Schaltfläche klicken. Es ist auch möglich, die Beziehungen (Joins) zwischen den Tabellen manuell zu definieren, falls das System diese nicht automatisch korrekt erkennt. Dies ist besonders wichtig bei komplexeren Datenmodellen.

    InfoSet Designer in SAP SQ02: Tabellen hinzufügen und Beziehungen festlegenInfoSet Designer in SAP SQ02: Tabellen hinzufügen und Beziehungen festlegen

  4. Felder für das InfoSet auswählen:
    Klicken Sie auf die Schaltfläche “InfoSet”. Es erscheint ein Bildschirm, auf dem Sie alle Tabellenfelder auswählen können, die später in Ihren Queries verwendet werden sollen. Sie können auch “Schlüsselfelder einschließen” ankreuzen, um primäre Schlüsselfelder zu berücksichtigen.

    SAP InfoSet SQ02: Auswahl der Tabellenfelder und SchlüsselfelderSAP InfoSet SQ02: Auswahl der Tabellenfelder und Schlüsselfelder

  5. Erweiterte Optionen und ABAP-Code (Optional):
    Klicken Sie auf die Schaltfläche “Zusätze” und wählen Sie den Reiter “Code”. Hier finden Sie verschiedene Ereignisse, in denen Sie zusätzlichen ABAP-Code hinterlegen können.

    • Das relevante Ereignis hier ist “Satzverarbeitung” (RECORD PROCESSING).
    • Dieses Ereignis ist besonders wichtig, wenn Sie Bedingungen, Berechnungen oder Modifikationen von Feldwerten durchführen möchten, die nicht direkt durch die InfoSet-Definition abgedeckt sind.
    • Alle Tabellen, die Sie für das InfoSet ausgewählt haben, werden intern als Inner Join unter dem Ereignis “Satzverarbeitung” in einer Schleife verarbeitet. Jeder Datensatz wird einzeln durch “Satzverarbeitung” bearbeitet.
  6. InfoSet generieren:
    Klicken Sie abschließend auf die Schaltfläche “Generieren”. Das System erstellt das InfoSet und zeigt die Meldung “InfoSet generiert” an.

    Generierung des InfoSets in SAP SQ02: Erfolgreiche AktivierungGenerierung des InfoSets in SAP SQ02: Erfolgreiche Aktivierung

  7. InfoSet der Benutzergruppe zuweisen:
    Um das InfoSet nutzbar zu machen, muss es der zuvor angelegten Benutzergruppe zugewiesen werden. Klicken Sie dazu auf die Schaltfläche “Rolle/Benutzergruppe zuweisen”.

    Zuweisung des InfoSets zu einer Benutzergruppe in SAP SQ02Zuweisung des InfoSets zu einer Benutzergruppe in SAP SQ02

    Wählen Sie die entsprechende Benutzergruppe aus und klicken Sie auf “Sichern”.

    Auswahl der Benutzergruppe zur InfoSet-Zuweisung in SAPAuswahl der Benutzergruppe zur InfoSet-Zuweisung in SAP

Erstellung der Query (SQ01)

Nachdem die Benutzergruppe und das InfoSet eingerichtet sind, können Sie nun die eigentliche Query erstellen, die die gewünschten Daten selektiert und anzeigt. Die Transaktion SQ01 ist das Herzstück der SAP Query-Erstellung.

  1. Transaktion SQ01 starten:
    Geben Sie SQ01 im Kommandofeld ein. Zuerst müssen Sie die Benutzergruppe auswählen, für die Sie die Query erstellen möchten. Klicken Sie auf die markierte Schaltfläche, um die Liste der verfügbaren Benutzergruppen anzuzeigen und wählen Sie die gewünschte aus.

    SAP SQ01: Auswahl der Benutzergruppe für die Query-ErstellungSAP SQ01: Auswahl der Benutzergruppe für die Query-Erstellung

  2. Neue Query anlegen:
    Geben Sie einen Namen für Ihre Query ein (z.B. Z_MY_QUERY) und klicken Sie auf “Anlegen”. Der nächste Bildschirm fordert Sie auf, das InfoSet auszuwählen, auf dem die Query basieren soll. Wählen Sie das zuvor erstellte InfoSet.

  3. Titel und Grundliste festlegen:
    Geben Sie den Titel der Query ein, der später im Bericht angezeigt wird. Klicken Sie dann auf die Schaltfläche “Grundliste”.

    SAP SQ01: Erstellung einer neuen Query mit Titel und Auswahl der GrundlisteSAP SQ01: Erstellung einer neuen Query mit Titel und Auswahl der Grundliste

  4. Felder für Selektion und Ausgabe auswählen:
    Im folgenden Bildschirm sehen Sie alle Felder, die im InfoSet definiert wurden. Hier legen Sie fest, welche Felder auf dem Selektionsbildschirm als Eingabeparameter erscheinen sollen (“Selektionsfelder”) und welche Felder in der Ausgabe des Berichts angezeigt werden (“Ausgabefelder”).

    Feldauswahl in SAP SQ01: Felder für Selektionsbild und Ausgabe festlegenFeldauswahl in SAP SQ01: Felder für Selektionsbild und Ausgabe festlegen

  5. Query prüfen und testen:
    Klicken Sie auf die Schaltfläche “Prüfen und Testen”, um Ihre Query zu überprüfen und auszuführen.

    Nach der Ausführung sehen Sie zuerst den Selektionsbildschirm, auf dem Sie Filterkriterien eingeben können. Danach wird der Ergebnisbildschirm mit den selektierten Daten angezeigt.

    Beispiel Selektionsbildschirm:
    [Hier wäre ein Screenshot des Selektionsbildschirms]

    Beispiel Ausgabebildschirm:
    [Hier wäre ein Screenshot des Ausgabebildschirms]

  6. Sortierung der Felder:
    Sie können die Ausgabe der Query nach beliebigen Feldern sortieren. Ziehen Sie dazu das gewünschte Feld aus dem unteren Bereich des Bildschirms in den Bereich “Sortierung”.

    SAP SQ01: Definition der Sortierfelder für die Query-AusgabeSAP SQ01: Definition der Sortierfelder für die Query-Ausgabe

    Nach dem Speichern und erneuten Ausführen wird die Ausgabe entsprechend sortiert.

    Ausgabe einer SAP Query in SQ01 nach der Sortierung der FelderAusgabe einer SAP Query in SQ01 nach der Sortierung der Felder

Transportverfahren für Queries

Wenn Sie eine Query in einem Entwicklungssystem erstellt haben, müssen Sie diese in andere Systeme (z.B. Test- oder Produktivsystem) transportieren. Dies kann auf zwei Arten geschehen:

Export- und Importmethode

  1. Exportieren im Quellsystem (z.B. Entwicklung):
    Gehen Sie in Transaktion SQ02. Navigieren Sie im Menü zu Umgebung -> Transporte -> InfoSet und Queries exportieren/importieren.
    Wählen Sie den Radio-Button “InfoSet und Queries exportieren” und geben Sie die Namen Ihrer Query und des InfoSets ein.

    Transport von SAP Queries und InfoSets: Export-Option in SQ02Transport von SAP Queries und InfoSets: Export-Option in SQ02

    Führen Sie die Transaktion aus. Dies erstellt eine interne Transportanforderung. Notieren Sie sich die Transportanforderungsnummer. Sobald diese Anforderung freigegeben und transportiert wurde, fahren Sie mit dem Import fort.

  2. Importieren im Zielsystem (z.B. Produktiv):
    Wiederholen Sie den ersten Schritt im Zielsystem, wählen Sie aber diesmal den Radio-Button “InfoSet und Queries importieren”. Ganz unten auf dem Bildschirm geben Sie die Transportanforderungsnummer in das Feld “Dataset” ein.

    Import von SAP Queries und InfoSets: Angabe der TransportanforderungsnummerImport von SAP Queries und InfoSets: Angabe der Transportanforderungsnummer

    Führen Sie die Transaktion aus, um die Query und das InfoSet zu importieren.

Download- und Uploadmethode

Diese Methode eignet sich besonders für kleinere Transporte oder wenn keine direkten Transportwege zwischen Systemen bestehen.

  1. Download im Quellsystem (z.B. Entwicklung):
    Gehen Sie in Transaktion SQ02. Navigieren Sie im Menü zu Umgebung -> Transporte -> InfoSet und Queries herunterladen/hochladen.
    Wählen Sie den Radio-Button “InfoSet und Queries herunterladen” und geben Sie die Namen Ihrer Query und des InfoSets ein. Führen Sie die Transaktion aus.

    Download von SAP Queries und InfoSets für den manuellen TransportDownload von SAP Queries und InfoSets für den manuellen Transport

    Das System wird Sie nach einem Pfad fragen, um die Query-Datei lokal auf Ihrem Computer zu speichern.

  2. Upload im Zielsystem (z.B. Qualitätssystem):
    Im Zielsystem wiederholen Sie den Prozess, wählen aber diesmal den Radio-Button “InfoSet und Queries hochladen”. Das System fordert Sie auf, die zuvor heruntergeladene Query-Datei von Ihrem lokalen System auszuwählen und hochzuladen.

Fazit

SAP Queries mit den Transaktionen SQ03, SQ02 und SQ01 sind ein unverzichtbares Werkzeug für jeden, der schnell und effizient Berichte im SAP-System erstellen möchte, ohne auf ABAP-Programmierung angewiesen zu sein. Durch das schrittweise Vorgehen – von der Definition der Benutzergruppe über das InfoSet bis hin zur eigentlichen Query – können Sie maßgeschneiderte Datenanalysen durchführen. Die Kenntnis der Transportmechanismen gewährleistet zudem, dass Ihre Berichte systemübergreifend verfügbar sind.

Wir hoffen, diese umfassende Anleitung hat Ihnen geholfen, die Mächtigkeit der SAP Query zu verstehen und selbst anzuwenden. Beginnen Sie noch heute mit der Erstellung Ihrer eigenen Queries und optimieren Sie Ihre Berichtsprozesse im SAP-System.