Andreas Unkelbach
Werbung


Dienstag, 25. März 2014
21:24 Uhr

Auflösen von Stammdatengruppen nach Einzelwerten - Einzelwerte zu Sets

Ausgangslage:

Es sollen die zugeordneten Werte einer Stammdatengruppe (zum Beispiel einer Innenauftragsgruppe) ausgewertet werden um diese in einer weiteren Auswertung zu verwenden. Sofern nicht nur die bebuchten Kostenträger (wo sich ein entsprechender Report Writer Bericht mit einer Spalte Innenaufträge und einer Spalte Kosten anbieten würde) sondern alle Stammdaten aufgelistet werden sollen gibt es, neben der Möglichkeit von Copy & Paste bzw. den Export von Stammdatengruppen zwei möglicherweise elegantere Methoden.

Ein Bericht in der Form "Zeige alle Innenaufträge der Gruppe KLR und die jeweiligen Untergruppen mit entsprechenden Aufträgen" ist im Standard leider nicht vorgesehen. Daher bieten sich neben den Standardberichten in SAP folgende Möglichkeiten an:

Auswertung über die Transaktion SE16H

Entweder kann die entsprechende Datenbanktabelle (im Fall der Innenaufträge wäre dieses AUFK) mit der neuen Transaktion SE16H ausgewertet werden. Die neue allgemeine Tabellenanzeige bietet eine Selektion über die einzelnen Datenfelder (Feldnamen) einer Tabelle an und kann hierfür nicht nur Intervalle (Von-Wert und Bis-Wert) sondern auch  Gruppen (Sets) als Auswertungsgröße verwenden.

Hintergrund Transaktion SE16H SAP

Mit SAP HANA (neues Datenbankmodell der SAP SE) wurde eine neue Transaktion eingeführt, die zum direkten Auswerten von Tabellen geeignet ist und eine etwas komplexere Möglichkeit als die SE16 bietet. Diese Transaktion ist auch ausgerollt, wenn noch kein HANA eingeführt wurde.
Durch diese Transaktion können Sets (Gruppen) von Tabellenfeldern ausgewertet werden. Noch schöner sind die Zusatzfunktionen wie Gruppieren!
Weitere Informationen dazu bietet der SAP Hinweis 1636416 CO-OM Tools: Funktionsweise der SE16H (20.07.2012)


Dieses ermöglicht zum Beispiel eine Auswertung der Tabelle AUFK über das Feld AUFNR mit der Möglichkeit anstatt eines Intervalls (oder Einzelwerte) in der Spalte Gruppe eine bestimmte Innenauftragsgruppe auszuwerten und alle zugeordneten Innenaufträge zu erhalten. Daneben besteht auch die Möglichkeit einer Auswertung über weitere Felder und die dort vorhandenen Gruppen, so kann die Tabelle AUFK über das Feld KOSTV  ausgewertet werden und damit ist es möglich hier nicht nur einzelne Kostenstellen einzutragen sondern auf die Kostenstellen einer bestimmten Kostenstellengruppe zuzugreifen. Auf diese Weise ist eine Auswertung aller Innenaufträge der Kostenstellengruppe GEB (Gebäude) problemlos möglich.

Allerdings setzt das Auswerten von Datenbanktabellen zumindest Kenntnisse der entsprechenden Tabellen im System voraus.

Auswertung von Stammdatengruppe per Query

Sofern es bei der Auswertung der einzelnen Werte einer Stammdatengruppe nur um den Wert und nicht um nähere Beschreibung geht besteht auch die Möglichkeit über eine Query die Sets (Gruppen) von Stammdaten auszuwerten.

Stammdatengruppen (oder Sets) werden in den Tabellen SETNODE, SETHEADER und SETLEAF gespeichert.

In der Tabelle SETHEADER werden die einzelnen Knoten innerhalb einer Hierarchie beschrieben. In dieser Tabelle sind auch die Informationen über die anlegende Personen und letzten Änderer zu finden.

Die Tabelle SETNODE stellt die Beziehung zwischen den einzelnen Knoten da. Hierbei werden stets die untergeordneten Knoten zu einer Gruppe aufgeführt.

In der Tabelle SETLEAF befinden sich wiederum die einzelnen Werte eines Sets.

Je nach auszuwertenden Objekt ist in allen drei Tabellen die Klasse eines Sets mit angegeben. Dieses können unter anderen folgende Klassen sein:
  • 0101 Kostenstellengruppe
  • 0102 Kostenartengruppe
  • 0103 Auftragsgruppe
  • 0106 Profit-Center-Gruppe
  • 0109 Kontengruppe
  • 0111 Fondsgruppe
  • 0311 Finanzpositionengruppe
  • 0312 Finanzstellengruppe
Um nun eine Auswertung über eine Stammdatengruppe zu ermöglichen würde der oberste Knoten ausgewertet werden und die untergeordneten Knoten mit ihren zugeordneten Werten ausgewertet werden.

Um nicht jede Tabelle einzeln auszuwerten bietet sich hier ebenfalls eine Query mit Verknüpfung dieser Tabellen an.

1.) Infoset definieren
Bei der Anlage eines Infosets über die Transaktion SQ02 wird als Datenquelle unter Tabellen-Join  über Tabelle die Tabelle SETNODE angegeben. In den weiteren Schritten können die anderen Tabellen über  BEARBEITEN->Tabelle einfügen  ergänzt werden.


Die angesprochenen Tabellen werden dabei wie folgt verknüpft.

Die Angabe der Tabellen erfolgt in der Reihenfolge, wie diese auch bei der Infoset Anlage ergänzt werden. Bei den Verknüpfungen handelt es sich um eine "normale" Verknüpfung. Dieser ist mit <--> angegeben.

Zur Darstellung der Hierarchie werden die Oberknoten aus der Tabelle SETNODE "
Untergeordnete Sets in Sets" und SETHEADER "Setkopf und Setverzeichnis" entnommen:

SETNODE-SETCLASS <--> SETHEADER-SETCLASS
SETNODE-SUBSETNAME <--> SETHEADER-SETNAME

Die Bezeichnung der einzelnen Sets werden aus den Tabellen SETHEADER und SETHEADERT "Kurzbeschreibung zu Sets" entnommen.

SETHEADER-SETCLASS <--> SETHEADERT-SETCLASS
SETHEADER-SETNAME <--> SETHEADERT-SETNAME

Die einzelnen Werte innerhalb eines Sets werden aus der Verknüpfung der Tabelle SETHEADER und SETLEAF "Werte in Sets" entnommen.

SETHEADER-SETCLASS <--> SETLEAF-SETCLASS
SETHEADER-SETNAME <--> SETLEAF-SETNAME

Schematisch sieht dabei das Infoset wie folgt aus:

Darstellung der Verknüpfung von SETNODE, SETHEADER und SETLEAF
Da im Feld SETCLASS die Klassen eines Sets hinterlegt sind, ist dieses Feld für alle Tabellen relevant. Hintergrund ist, dass ein Gruppenname sowohl als Profit-Center-Gruppe als auch als Kontengruppe vorhanden sein könnte.

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 SETNODE "Untergeordnete Sets in Sets":
Klasse eines Sets (S) SETNODE-SETCLASS

Zusatzfelder:
Text: Klasse eines Sets (L) TEXT_SETNODE_SETCLASS

Tabelle SETNODE "Untergeordnete Sets in Sets":
Setname (Obergruppe) (L,S) SETNODE-SETNAME

Tabelle SETHEADER "Setkopf und Setverzeichnis"
Setname (L) SETHEADER-SETNAME

Tabelle SETHEADERT "Kurzbeschreibung zu Sets
Beschreibung (L) SETHEADERT-DESCRIPT

Zusatzfelder:
Text:Feld OPTION im Aufbau der SELECT-OPTIONS-Tabellen (L)
TEXT_SETLEAF_VALOPTION
Hier sollte entweder "Between: Intervall" oder "Equal: Einzelwert" ausgegeben werden.

Tabelle SETLEAF "Werte in Sets"
Option (L) SETLEAF-VALOPTION
Alternativ bietet sich hier das Tabellenfeld SETLEAF-VALOPTION an wo anhand der Werte BT oder EQ Intervalle und Einzelwerte unterschieden werden.

Tabelle SETLEAF "Werte in Sets"
Von Wert (L) SETLEAF-VALFROM
Bis Wert (L) SETLEAF-VALTO

Anpassung der Selektionsvariablenbezeichnung
Innerhalb der Transaktion SQ01 können die einzelnen Selektionsvariablen über den Menüpunkt SPRINGEN->FELDAUSWAHL->SELEKTIONEN eine entsprechende Bezeichnung im Selektionsbild der Query erhalten. Hier ist es sinnvoll der Selektionsvariable Setname die Bezeichnung "Setname (Obergruppe)" zu geben, damit beim Start der Query klar ist, dass nur solche Gruppen ausgewertet werden, die auch eine entsprechende Obergruppe haben.

3.) Query ausführen
Beim Start der Query werden nach SETNAME und die Klasse eines Sets gefragt. Hierbei kann über die F4 Auswahlhilfe ein entsprechendes Set ausgewählt werden. Soll nun zum Beispiel die Innenauftragsgruppe KLR mit ihren Untergruppen KLR-DM, KLR-GEB, KLR-VERWALTUNG etc. ausgewertet werden kann als Setname die Gruppe KLR und als Klasse eines Sets die 0103 (für Auftragsgruppen) angegeben werden.

Die Auswertung erfolgt dann über alle Gruppen, die sich unterhalb der angesprochenen Obergruppe befinden. Daher wird diese auch als Obergruppe mit ausgegeben. In der Query erscheinen dann die Art der Stammdatengruppe (Text der Klasse eines Sets zum Beispiel Kontengruppe), die Obergruppe (im Beispiel KLR), die Untergruppe (im Beispiel KLR-GEB), die Bezeichnung der Gruppe (KLR Gebäude) und das Intervall der hinterlegten Innenaufträge (als Von Wert und Bis Wert). Sofern in der Gruppe keine Intervalle sondern Einzelwerte gepflegt sind erscheint der Innenauftrag sowohl in der Spalte "Von Wert" als auch unter "Bis Wert".
Sinnvollerweise wird daher im Feld Option SETLEAF-VALOPTION bzw. TEXT_SETLEAF_VALOPTION  angegeben, ob es sich hierbei um Einzelwerte (EQ - Equal: Einzelwert) oder Intervall (BT - Between: Intervall) handelt.

Hierbei ist jedoch zu beachten, dass nur die direkt der Obergruppe zugeordneten Untergruppen und ihre Werte ausgewertet werden. Um mehrere Gruppen auszuwerten kann, wie in anderen Berichten auch, die Mehrfachselektion verwendet werden.
Neben der Benennung einer bestimmten Gruppe können auch Platzhalter wie * verwendet werden. Erfolgt die Angabe von * im Setnamen werden sämtliche angelegte Gruppen mit gepflegten Einzelwerten angegeben (für das Beispiel der Gruppen KLR würde sich ein Auswertungsmuster in der Form KLR* anbieten). Ein Anwendungsfall hierfür ist zum Beispiel die Auswertung aller Kontengruppen beginnend mit IKR-5* oder IKR-6* zur Auswertung der Aufwands und Ertragskonten.
 

Anpassung der Query / Weitere Anwendungsgebiete

Die vorgestellte Query funktioniert nur bei Gruppen, die in anderen Gruppen (einer HIerarchie) verwendet werden. Um eine Query zu erhalten, die einzelne Gruppen auswertet kann es sinnvoll sein ein zweites Infoset ohne Verwendung der Tabelle SETNODE analog des hier vorgestellten Infoset aufzubauen. Die Query würde dann als Selektionsfelder folgende Felder verwenden:

Tabelle SETHEADER "Setkopf und Setverzeichnis"
Setname (L, S) SETHEADER-SETNAME
Klasse eines Sets (S) SETHEADER-SETCLASS

Zusatzfelder:
Text: Klasse eines Sets (L) TEXT_SETHEADER_SETCLASS

Hierdurch ist neben einer Auswertung von Gruppen mit Obergruppen auch die Auswertung von einzelnen Gruppen ohne entsprechende Unter- oder Obergruppen möglich.

Einschränkung der Nutzung

Beide Queries funktionieren jedoch nur bei relativ flachen Hierarchien bzw.identischen Gruppennamensbezeichnungen. Die vollständige Auswertung ganzer Gruppen (zum Beispiel der Standardhierarchie) scheitert schon daran, wenn in einzelnen Gruppen kein Wertintervall vorhanden ist und diese Gruppe dann nicht eine Bezeihung innerhalb SETNODE vorhanden hat bzw. innerhalb der Tabelle SETLEAF dann auch kein Eintrag vorhanden ist. Sollen jedoch nur Gruppen mit gepflegten Werten ausgewertet werden bietet sich die Auswertung über Query an, andernfalls sollten die Tabellen wie eingangs beschrieben einzeln ausgewertet werden und innerhalb Excel dann über SVERWEIS oder vergleichbare Funktionen eine Verknüpfung hergestellt werden. .

Auch bei der Auswertung von Stammdatengruppen ist oftmals die Frage, welche Stufe der Auswertungsmöglichkeiten erreicht werden soll und wie viel Aufwand in eine solche Auswertung gesteckt werden soll. In beiden Fällen (sowohl per Query als auch per Auslesen von Tabellen) dürfte die Aufbereitung jedoch leichter fallen als per Export nach Excel aus der Gruppenansicht über die entsprechenden Transaktionen wie KOH3, KSH3, KCH3, KAH3, KDH3, FM_SETS_FUND3, FM_SETS_FICTR3 oder FM_SETS_FIPEX1. Wobei innerhalb des Moduls PSM-FM darüberhinaus auch noch das Problem gegeben ist, dass neben der Möglichkeit hier Gruppen zu pflegen auch die übergeordneten Kontierungselemente die entsprechende Stammdatenhierarchie bilden. Hier wäre dann eine Auswertung über die Felder übergeordnete Finanzstelle oder Finanzposition erforderlich. Innerhalb der Fonds ist eine solche Hierarchie jedohc nicht gegeben, so dass hier ebenfalls mit Gruppen gearebtet werden kann.

Weitere Möglichkeiten der Auswertung von Stammdaten sind unter anderen in den Artikeln Query Kontenplan für Module CO, FI und PSM (für einen Kontenplan über Kostenarten, Sachkonten und Finanzpositionen), Query Abrechnungsvorschriften Innenauftrag oder auch SAP Query: Systemstatus CO Innenauftrag zu finden.

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.




Hinweis: Aktuelle Buchempfehlungen besonders SAP Fachbücher sind unter Buchempfehlungen inklusive ausführlicher Rezenssionen und Bestellmöglichkeit zu finden.
Espresso Tutorial - die digitale SAP Bibliothek

Diesen und weitere Texte von finden Sie auf http://www.andreas-unkelbach.de


Kommentare

Anonym am 27.7.2016 um 10:51 Uhr
Habe ich dringend gesucht!


Auch kommentieren?


Beim Versenden eines Kommentars wird mir ihre IP mitgeteilt. Diese wird jedoch nicht dauerhaft gespeichert (siehe auch XII. Fremde Nutzung / Kommentarfunktion in der Datenschutzerklärung).

Eine Rückmeldung ist entweder per Schnellkommentar oder (weiter unten) als normalen Kommentar möglich. Eine persönliche Rückmeldung (gerne auch Fragen zum Thema) würde mich sehr freuen.

Schnellkommentar (Kurzes Feedback, ausführliche Kommentare bitte unten als normaler Kommentar)

Name (sofern kein Name angegeben wird erscheint Anonym):


Normaler Kommentar

Name:

E-Mail (wird nicht veröffentlicht):

Homepage:

Kommentar:


Hinauf




Werbung



Logo Andreas-Unkelbach.de
© 2004 - 2018 Andreas Unkelbach
Gießener Straße 75,35396 Gießen,Germany
andreas.unkelbach@posteo.de
Andreas Unkelbach

Stichwortverzeichnis
(Tagcloud)


Aktuelle Infos (Abo)

Facebook Twitter Google+

»Schnelleinstieg ins SAP Controlling (CO)« und »Berichtswesen im SAP ® ERP Controlling«
Privates

Kaffeekasse 📖 Wunschliste