Freitag, 14. Juni 2013
17:02 Uhr
17:02 Uhr
Tabellen hinter Transaktionscode oder ABAP Programm über eine SAP Query ermitteln
Ausgangslage
Neben der Möglichkeit innerhalb eines Feldes über F1 und technische Informationen aus den einzelnen Felddaten Tabellennamen und Feldname zu ermitteln (oder alternativ im Coding nachzuschauen) oder über die Transaktion SE12 in den einzelnen Tabellen des SAP Systems zu suchen besteht auch die Möglichkeit über eine SAP Query die Tabellen D010TAB (Tabelle für Report<->Tabellen-Verwendung) und TSTC (SAP-Transaktions-Codes) innerhalb eines Joins zu verknüpfen und über den hinter der Transaktion liegenden ABAP Programm eine Auswertung die genutzten Tabellen zu ermitteln.
Diese Methode ist im Buch Praxishandbuch SAP Query Reporting von Stephan Kaleske beschrieben und ist hier um die Tabellenart (aus der Tabelle DD02L) sowie der Tabellenbezeichnung (aus der Tabelle DD02T) ergänzt worden.
Als Ergänzung oder mit einen anderen Schwerpunkt kann ich ferner noch das Buch von Martin Peto und Katrin Klewinghaus " Reporting im SAP-Finanzwesen: Standardberichte, SAP QuickViewer und SAP Query" und natürlich meine Einführung in das Thema SAP Query, welche weiter unten im Artikel verlinkt ist.
1. Infoset definieren
Zur Darstellung der gewünschten Daten müssen folgende Tabellen miteinander verknüpft werden:
Folgende Felder werden hierbei miteinander verknüpft.
Verknüpfungen
Hierbei steht <--> für einen normalen Join und >LO< für einen left outer join.
D010TAB-MASTER <--> TSCT-PGMNA
D010TAB-TABNAME <--> DD02L-TABNAME
DD02L-TABNAME <--> DD02T
Schematisch ist hierbei folgendes Infoset geplant.

Die Felder der Tabellen D010TAB und TSTC werden komplett innerhalb der Feldgruppen übernommen. Aus der Tabelle DD02L wird nur das Feld Tabellenart (DD02L-TABCLASS) und aus der Tabelle DD02T die Felder Sprachenschlüssel (DD02T-DDLANGUAGE) und die Tabellenbezeichnung (DD2T-DDTEXT) übernommen. Hierbei werden die Feldgruppen analog der Tabellenbezeichnung angelegt
Der Sprachenschlüssel ist dabei erforderlich, da die Bezeichnungen von Tabellen mehrfach vorkommen je nachdem inwieweit unterschiedliche Sprachversionen gepflegt sind.
2.) Query definieren
Innerhalb der Query werden nun auf folgende Felder der einzelnen Tabellen Zugriff genommen bzw. in der Grundliste zugewiesen. Hierbei ist L als Listenfeld und S als Selektionsfeld zu verstehen.
Die Felder werden hier in der Reihenfolge angeben, wie diese dann auch in der Query ausgegeben werden sollen:
Tabelle für Report<->Tabellen-Verwendung
TCODE (L,S) TSTC-TCODE
Zusatzfelder (werden in der Grundliste zur Verfügung gestellt)
Text:Transaktionscode (L) TEXT_TSTC_TCODE
Tabelle für Report<->Tabellen-Verwendung
ABAP-Hauptprogramm (L,S) D010TAB-MASTER
Tabellenname (L,S) D010TAB-TABNAME
Zusatzfelder (werden in der Grundliste zur Verfügung gestellt)
Text:Tabellenart (L) TEXT_DD02L_TABCLASS
R/3-DD: Texte zu SAP-Tabellen
Kurzbeschreibung von Repository-Objekten (L) DD02T-DDTEXT
Sprachenschlüssel (S) DD02T-DDLANGUAGE
3. Query ausführen
Beim Ausführen der Query kann nun über den Transaktionscode, ein ABAP-Programm oder über den Tabellenname eine Liste mit allen Transaktionen oder Tabellen die mit der jeweiligen Selektion in Verbindung stehen ausgewertet werden.
Sofern eine Auswertung anhand von ABAP-Programmen ohne Transaktionszuordnung erfolgen soll besteht die Möglichkeit die Verknüpfung
D010TAB-MASTER mit TSTC-PGMNA als "left outer join" zu definieren. Entsprechend länger würde hier aber eine Auswertung dauern.
Als beispielhafte Anwendung der Query kann zum Beispiel die Transaktion KS03 (Kostenstelle anzeigen) mit dem Sprachenschlüssel "DE" ausgewertet werden und innerhalb der Query erkannt werden, dass in der "Transparente Tabelle" "CSKS - Kostenstellenstammsatz" die Kostenstellenstammdaten zu finden sind und hinter der Transaktion das ABAP Programm SAPLKMA1 liegt.
Diese Methode kann besonders dann sinnvoll sein, wenn umfangreiche Transaktionen oder ABAP Programme eine Vielzahl von Tabellen verwenden und ein schneller Überblick geschaffen werden soll.
Im Buch »Berichtswesen im SAP®-Controlling« bin ich ausführlich auf dies Thema eingegangen.
(01. Juni 2017) Paperback ISBN: 9783960127406
Für 19,95 € direkt bestellen
Oder als SAP Bibliothek-Flatrate *
Oder bei Amazon *
Vielleicht finden sich hier ja auch noch weitere Anregungen für den Aufbau eines Berichtswesen mit SAP nicht nur für CO im Buch.
Hinweis: Aktuelle Buchempfehlungen besonders SAP Fachbücher sind unter Buchempfehlungen inklusive ausführlicher Rezenssionenzu finden. Mein Weiterbildungsangebot zu SAP Themen finden Sie auf unkelbach.expert.
Neben der Möglichkeit innerhalb eines Feldes über F1 und technische Informationen aus den einzelnen Felddaten Tabellennamen und Feldname zu ermitteln (oder alternativ im Coding nachzuschauen) oder über die Transaktion SE12 in den einzelnen Tabellen des SAP Systems zu suchen besteht auch die Möglichkeit über eine SAP Query die Tabellen D010TAB (Tabelle für Report<->Tabellen-Verwendung) und TSTC (SAP-Transaktions-Codes) innerhalb eines Joins zu verknüpfen und über den hinter der Transaktion liegenden ABAP Programm eine Auswertung die genutzten Tabellen zu ermitteln.
Diese Methode ist im Buch Praxishandbuch SAP Query Reporting von Stephan Kaleske beschrieben und ist hier um die Tabellenart (aus der Tabelle DD02L) sowie der Tabellenbezeichnung (aus der Tabelle DD02T) ergänzt worden.
Als Ergänzung oder mit einen anderen Schwerpunkt kann ich ferner noch das Buch von Martin Peto und Katrin Klewinghaus " Reporting im SAP-Finanzwesen: Standardberichte, SAP QuickViewer und SAP Query" und natürlich meine Einführung in das Thema SAP Query, welche weiter unten im Artikel verlinkt ist.
SAP Query zur Auswertung von Tabellen und Programm hinter SAP Transaktionscode
1. Infoset definieren
Zur Darstellung der gewünschten Daten müssen folgende Tabellen miteinander verknüpft werden:
- D010TAB - Tabelle für Report<->Tabellen-Verwendung
- TSTC - SAP-Transaktions-Codes
- DD02L - SAP-Tabellen
- DD02T - R/3-DD: Texte zu SAP-Tabellen
Folgende Felder werden hierbei miteinander verknüpft.
Verknüpfungen
Hierbei steht <--> für einen normalen Join und >LO< für einen left outer join.
D010TAB-MASTER <--> TSCT-PGMNA
D010TAB-TABNAME <--> DD02L-TABNAME
DD02L-TABNAME <--> DD02T
Schematisch ist hierbei folgendes Infoset geplant.

Die Felder der Tabellen D010TAB und TSTC werden komplett innerhalb der Feldgruppen übernommen. Aus der Tabelle DD02L wird nur das Feld Tabellenart (DD02L-TABCLASS) und aus der Tabelle DD02T die Felder Sprachenschlüssel (DD02T-DDLANGUAGE) und die Tabellenbezeichnung (DD2T-DDTEXT) übernommen. Hierbei werden die Feldgruppen analog der Tabellenbezeichnung angelegt
Der Sprachenschlüssel ist dabei erforderlich, da die Bezeichnungen von Tabellen mehrfach vorkommen je nachdem inwieweit unterschiedliche Sprachversionen gepflegt sind.
2.) Query definieren
Innerhalb der Query werden nun auf folgende Felder der einzelnen Tabellen Zugriff genommen bzw. in der Grundliste zugewiesen. Hierbei ist L als Listenfeld und S als Selektionsfeld zu verstehen.
Die Felder werden hier in der Reihenfolge angeben, wie diese dann auch in der Query ausgegeben werden sollen:
Tabelle für Report<->Tabellen-Verwendung
TCODE (L,S) TSTC-TCODE
Zusatzfelder (werden in der Grundliste zur Verfügung gestellt)
Text:Transaktionscode (L) TEXT_TSTC_TCODE
Tabelle für Report<->Tabellen-Verwendung
ABAP-Hauptprogramm (L,S) D010TAB-MASTER
Tabellenname (L,S) D010TAB-TABNAME
Zusatzfelder (werden in der Grundliste zur Verfügung gestellt)
Text:Tabellenart (L) TEXT_DD02L_TABCLASS
R/3-DD: Texte zu SAP-Tabellen
Kurzbeschreibung von Repository-Objekten (L) DD02T-DDTEXT
Sprachenschlüssel (S) DD02T-DDLANGUAGE
3. Query ausführen
Beim Ausführen der Query kann nun über den Transaktionscode, ein ABAP-Programm oder über den Tabellenname eine Liste mit allen Transaktionen oder Tabellen die mit der jeweiligen Selektion in Verbindung stehen ausgewertet werden.
Sofern eine Auswertung anhand von ABAP-Programmen ohne Transaktionszuordnung erfolgen soll besteht die Möglichkeit die Verknüpfung
D010TAB-MASTER mit TSTC-PGMNA als "left outer join" zu definieren. Entsprechend länger würde hier aber eine Auswertung dauern.
Als beispielhafte Anwendung der Query kann zum Beispiel die Transaktion KS03 (Kostenstelle anzeigen) mit dem Sprachenschlüssel "DE" ausgewertet werden und innerhalb der Query erkannt werden, dass in der "Transparente Tabelle" "CSKS - Kostenstellenstammsatz" die Kostenstellenstammdaten zu finden sind und hinter der Transaktion das ABAP Programm SAPLKMA1 liegt.
Diese Methode kann besonders dann sinnvoll sein, wenn umfangreiche Transaktionen oder ABAP Programme eine Vielzahl von Tabellen verwenden und ein schneller Überblick geschaffen werden soll.
Alternative: Trace über Datenbanknutzung (Transaktion ST05)
Sollte diese Vorgehensweise nicht weiter helfen besteht immer noch die Möglichkeit per Trace eine Auswertung der im Zugriff befindlichen Datenbanktabellen zu starten. Dieser Trace kann über die Transaktion ST05 gestartet werden. Im Artikel "SAP-Tabellen finden – eine minimalistische Anleitung" auf thinkdoforward.com ist dieses ebenso wie im Artikel "Transaktion ST05 (Performance Trace)" auf berater-wiki.de beschrieben. Dennoch nutze ich die beschriebene Query immer wieder gerne, da sie für eine Vielzahl von Transaktionen tatsächlich eine erste Antwort liefert und nicht ganz so umfangreich in der Handhabung wie ein Trace ist. Eine andere Frage ist hier tatsächlich der Einsatz von Trace im Berechtigungswesen. Wie im Artikel "SAP Basis Basic oder dank SU53 oder ST01 Trace fehlende Berechtigungen finden" beschrieben, möchte ich hier auf die Alternative genauer solche Fragen nachzugehen nicht verzichten. :-)Berichtswesen und SAP Query
SAP Query, Rechercheberichte, Report Painter sind noch immer Tools, die gerne von mir im Berichtswesen im SAP Controlling eingesetzt werden. Gerade für SAP Query ist die obige Auswertung hilfreich um zu einer Transaktion die dahinter liegenden Tabellen als ersten Ansatz für eigene Auswertungen nutzen zu können. Aber auch unabhängig davon stellen SAP Query, gerade im Controlling und der Finanzbuchhaltung eine praktische Möglichkeit dar um individelle Berichte erstellen zu können.Im Buch »Berichtswesen im SAP®-Controlling« bin ich ausführlich auf dies Thema eingegangen.
Berichtswesen im SAP®-Controlling
Autor: Andreas Unkelbach
Verlag: Espresso Tutorials GmbH
1. Auflage(01. Juni 2017) Paperback ISBN: 9783960127406
Für 19,95 € direkt bestellen
Oder als SAP Bibliothek-Flatrate *
Oder bei Amazon *
Hinweis:
Eine kurze Einführung in das Thema SAP Query habe ich im Artikel
"Grundlagen Kurzeinführung und Handbuch SAP Query" beschrieben und hoffe Ihnen hier eine Einführung ins Thema bieten zu können.
ein Angebot von Espresso Tutorials

unkelbach.link/et.books/
unkelbach.link/et.reportpainter/
unkelbach.link/et.migrationscockpit/
Diesen Artikel zitieren:
Unkelbach, Andreas: »Tabellen hinter Transaktionscode oder ABAP Programm über eine SAP Query ermitteln« in Andreas Unkelbach Blog (ISSN: 2701-6242) vom 14.6.2013, Online-Publikation: https://www.andreas-unkelbach.de/blog/?go=show&id=438 (Abgerufen am 13.2.2025)
17 Kommentare - Permalink - SAP
Artikel datenschutzfreundlich teilen
🌎 Facebook 🌎 Bluesky 🌎 LinkedIn