Mittwoch, 14. Dezember 2011
08:33 Uhr
08:33 Uhr
Query Stammdaten CO Kontrolle Verantwortliche
Ausgangslage
Im Rahmen der Stammdatenpflege beziehen sich die Innenaufträge über die verantwortliche Kostenstelle und das zugeordnete Profit-Center im Bereich der Verantwortlichen aufeinander, so dass für die Kostenstelle/das Profit-Center die Verantwortung identisch zum Innenauftrag ist.
Lösungsansatz:
Wie unter SAP Query Stammdaten PSM / CO Innenauftrag beschrieben würde sich eine Auswertung innerhalb der CO Tabellen anbieten.
Hierzu werden folgende Schritte erforderlich.
1.) Infoset definieren
Innerhalb der Transaktion SQ02 wird folgendes Infoset definiert. Hierfür wird als Datenquelle ein Tabellen-Join über Tabelle AUFK angelgt.
Es werden folgende Tabellen miteinander in Beziehung gesetzt:
AUFK: Auftragsstammdaten
CSKS: Kostenstellenstammsatz
CSKT: Kostenstellenelemente (für die Texte)
CEPC: Stammdatentabelle von Profit Centern
CEPCT: Profit-Center-Stammdaten Texte
Verknüpfungsbedingungen:
Die vorgeschlagenen Verknüpfungsbedingungen seitens SAP sollte hier wieder entfernt werden und folgende Verknüpfungsbedingungen definiert werden.
Folgende Tabellenfelder werden hierbei miteinander verknüpft:
AUFK-KOSTV <-> CSKS-KOSTL
Hierdurch wird die Verantwortliche Kostenstelle des Innenauftrages mit den Stammdaten der Kostenstellen verknüpft.
CSKS-KOSTL <-> CSKT-KOSTL
Hierdurch werden die Stammdaten der Kostenstelle mit der Bezeichnung der Kostenstelle verknüpft.
AUFK-PRCTR <-> CEPC-PRCTR
Hierdurch wird das Profitcenter des Innenauftrages mit den Stammdaten der Profit-Center verknüpft.
CEPC-PRCTR <-> CEPCT-PRCTR
Hierdurch werden die Stammdaten der Profit-Center mit der Bezeichnung der Profit-Center verknüpft.
Damit sind alle Verknüpfungen der Tabellen erfolgt. Der Einfachheit halber können nun alle Feldgruppen/Datenfelder übernommen werden. Dieses hat den Vorteil, dass dieses Infoset auch für weitere Queries zur Verfügung steht. Alternativ könnte man auch nur die notwendigen Felder übernehmen. Innerhalb der Query können dann die Felder auch wieder eingeschränkt werden.
1.) 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 danna uch in der Query ausgegeben werden sollen:
Auftragsstammdaten AUFK
Auftragsnummer (L,S) AUFK-AUFNR
Kurztext (L) AUFK-KTEXT
Verantwortliche Kostenstelle (S) AUFK-KOSTV
Verantwortlicher (L) AUFK-USER2
Profitcenter (S) AUFK-PRCTR)
Kostenstellenstammdaten CSKS
Kostenstelle (L) CSKS-KOSTL
Kostenstellentexte CSKT
Allgemeine Bezeichnung (L) CSKT-KTEXT
Beschreibung (L) CSKT-KTEXT
Kostenstellenstammdaten CSKS
Verantwortlicher (L) CSKS-VERAK
Stammdatentabelle von Proftitcenter CEPC
Profitcenter (L) CEPC-PRCTR
Profit-Center-Stammdaten Texte (CEPCT)
Allgemeine Bezeichnung (L) CEPCT-KTEXT
Langtext (L) CEPCT-LTEXT
Stammdatentabelle von Proftitcenter CEPC
Verantwortlicher des Profitcenter (L) CEPC-VERAK
Damit sind die Grundfelder schon einmal definiert und die Query kann pronzipiel gestartet werden.
Erweiterung der Query
a) Lokales Feld anlegen / Formel
Ziel der Auswertung soll jedoch sein, dass hier auch eine Prüffunktion eingefügt wird, ob die Verantwortlichen identisch sind. Somit sollen also die Felder CEPC-VERAK, CSKS-VERAK und AUFK-USER2 miteinander verglichen werden. Ziel ist es hier entsprechende Symbole zu hinterlegen, wenn diese nicht übereinstimmen, über die dann in der Queryliste selektiert werden kann.
Hierzu gehen wir nicht in die Grundliste der Query (wo auch das Layoutdesign gepflegt wird) sondern wechselkn innerhalb der Querypflege mit nächstes Bild (F6) auf die Feldauswahl der Query.
Über
BEARBEITEN->KURZBEZEICHNUNG
kann für die einzelnen Felder eine Kurzbezeichnung eingestellt werden.
Nun werden rechts neben den Datenfeldern Eingabefelder für die Kurzbezeichnung angegeben.
Hier erhalten nun folgende Felder eine Kurzbezeichnung:
Bei den Auftragsstammdaten:
Verantwortlicher -> V_IA
Beim Kostenstellenstammsatz:
Verantwortlicher -> V_KS
Beim Stammdatentabelle von Profit Centern:
Verantwortlicher des Profit Centers -> V_PC
Diese Kurzbezeichnung sind notwendig, da wir auf diese dann Bezug nehmen, wenn wir ein eiegens Feld mit einer Formel anlegen.
Dieses geht über
BEARBEITEN->LOKALES FELD->ANLEGEN
Dieses Lokale Feld wird dann in der Feldgruppe angelegt, in der wir uns gerade befinden. Elegant wäre es natürlich, wenn wir im Infoset eine entsprechende leere Feldgruppe definiert hätten, es geht aber auch ohne
Das lokale Feld hat folgende Eigenschaften:
Kurzbezeichnung CHECKVERANT
Feldbezeichnung CheckVerant
Überschrift Checkverant
Da wir hier die Verantwortlichen kontrollieren wollen.
Innerhalb der Sachgruppe kann un die Feldgruppe des Infoset gelegt werden. Dieses ist dann der Bereich, wo das lokale Feld angelegt worden ist.
Als Feldeigenschaften könnten wir nun Textfelder, Rechnfelder etc. hinterlegen. In unseren Beispiel möchten wir als Eigenschaften allerdings IKONE hinterlegen. Über entsprechende Icons soll hier ein Unterschied ausgegeben werden. Hierzu legen wir eine Berechnungsvorschrift an. Dazu klicken wir auf "KOMPLEXE BERECHNUNG".
Nun können wir drei Bedingungen und eine sonstige Alternative angeben.
Dieses nutzen wir wie folgt:
Bedingung:
V_IA = V_KS AND V_IA = V_PC
Formel:
ICON_LED_GREEN
Wenn Verantwortliche des Innenauftrages mit Verantwortliche der Kostenstelle übereinstimmt UND Verantwortliche des Innenauftrages mit Verantwortliche des Profit-Center übereinstimmt ist alles in Ordnung und es soll eine grüne LED: so in Ordnung ausgegeben werden. Die Verfügbaren Ikons können über die untere Schaltfläche Ikonen ausgewählt werden.
Bedingung:
V_KS <> V_PC
Formel:
ICON_LED_YELLOW
Wenn die Verantwortliche der Kostenstelle mit der Verantwortlichen des ProfitCenter nicht übereinstimmt soll ein gelbes LED ausgegeben werden. Dieses wird als relativ unkritisch betrachtet.
Bedingung:
V_KS <> V_IA
Formel:
ICON_LED_RED
Als besonders kritisch wird betrachtet, wenn Verantwortliche der Kostenstelle nicht mit Verantwortliche des Innenauftrages übereinstimmt
Sonst:
ICON_LED_RED
Tritt irgendein anderer Fall auf, soll ebenfalls eine rote LED ausgegeben werden.
Sofern die Verantwortlichen in jeden Fall übereinstimmen sollen, kann natürlich auch die beiden mittleren Bedingungen weg gelassen werden. Als weitere Operatoren bieten sich neben AND auch OR an, sowie + - * und verschiedene andere Operatoren.
b) Berichtszuordnung
Durch die Auswertung dieser Query erhalten wir nun eine Liste mit den Stammdaten Innenauftrag, Kostenstelle und ProfitCenter. Sollten nun die Verantwortlichen nicht übereinstimmen müssten wir nun einzeln die entsprechende Objekte bearbeiten. Hier ist es aber möglich aus der Query direkt in die Stammdatenpflegetransaktion zu wechseln, wenn wir auf das Feld Auftragsnummer, Kostenstelle oder Profit-Center doppelklicken. Hierzu muss in der Querypflege eine Berichtszuordnung gepflegt werden.
Hierzu rufen wir wiederum über die SQ01 die Query für eine Änderung auf.
Über SPRINGEN->BERICHTSZUORDNUNG können Empfängerberichte definiert werden.
Über das „+“ (Zeile einfügen) können weitere Query eingefügt werden. Alternativ kann hier auch ein anderer Berichtstyp ausgewählt werden. Über "TR Transaktion" können hier auch die Stammdatenpflegetransaktionen hinterlegt werden.
Hier hinterlegen wir folgende Transaktionen:
KE52 Profit Center ändern
KS02 Kostenstelle ändern
KO02 Innenauftrag ändern
Nun wird die Berichtszuordnung gespeichert und auch die Query kann gespeichert und genutzt werden.
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.
Im Rahmen der Stammdatenpflege beziehen sich die Innenaufträge über die verantwortliche Kostenstelle und das zugeordnete Profit-Center im Bereich der Verantwortlichen aufeinander, so dass für die Kostenstelle/das Profit-Center die Verantwortung identisch zum Innenauftrag ist.
Lösungsansatz:
Wie unter SAP Query Stammdaten PSM / CO Innenauftrag beschrieben würde sich eine Auswertung innerhalb der CO Tabellen anbieten.
Hierzu werden folgende Schritte erforderlich.
1.) Infoset definieren
Innerhalb der Transaktion SQ02 wird folgendes Infoset definiert. Hierfür wird als Datenquelle ein Tabellen-Join über Tabelle AUFK angelgt.
Es werden folgende Tabellen miteinander in Beziehung gesetzt:
AUFK: Auftragsstammdaten
CSKS: Kostenstellenstammsatz
CSKT: Kostenstellenelemente (für die Texte)
CEPC: Stammdatentabelle von Profit Centern
CEPCT: Profit-Center-Stammdaten Texte
Verknüpfungsbedingungen:
Die vorgeschlagenen Verknüpfungsbedingungen seitens SAP sollte hier wieder entfernt werden und folgende Verknüpfungsbedingungen definiert werden.
Folgende Tabellenfelder werden hierbei miteinander verknüpft:
AUFK-KOSTV <-> CSKS-KOSTL
Hierdurch wird die Verantwortliche Kostenstelle des Innenauftrages mit den Stammdaten der Kostenstellen verknüpft.
CSKS-KOSTL <-> CSKT-KOSTL
Hierdurch werden die Stammdaten der Kostenstelle mit der Bezeichnung der Kostenstelle verknüpft.
AUFK-PRCTR <-> CEPC-PRCTR
Hierdurch wird das Profitcenter des Innenauftrages mit den Stammdaten der Profit-Center verknüpft.
CEPC-PRCTR <-> CEPCT-PRCTR
Hierdurch werden die Stammdaten der Profit-Center mit der Bezeichnung der Profit-Center verknüpft.
Damit sind alle Verknüpfungen der Tabellen erfolgt. Der Einfachheit halber können nun alle Feldgruppen/Datenfelder übernommen werden. Dieses hat den Vorteil, dass dieses Infoset auch für weitere Queries zur Verfügung steht. Alternativ könnte man auch nur die notwendigen Felder übernehmen. Innerhalb der Query können dann die Felder auch wieder eingeschränkt werden.
1.) 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 danna uch in der Query ausgegeben werden sollen:
Auftragsstammdaten AUFK
Auftragsnummer (L,S) AUFK-AUFNR
Kurztext (L) AUFK-KTEXT
Verantwortliche Kostenstelle (S) AUFK-KOSTV
Verantwortlicher (L) AUFK-USER2
Profitcenter (S) AUFK-PRCTR)
Kostenstellenstammdaten CSKS
Kostenstelle (L) CSKS-KOSTL
Kostenstellentexte CSKT
Allgemeine Bezeichnung (L) CSKT-KTEXT
Beschreibung (L) CSKT-KTEXT
Kostenstellenstammdaten CSKS
Verantwortlicher (L) CSKS-VERAK
Stammdatentabelle von Proftitcenter CEPC
Profitcenter (L) CEPC-PRCTR
Profit-Center-Stammdaten Texte (CEPCT)
Allgemeine Bezeichnung (L) CEPCT-KTEXT
Langtext (L) CEPCT-LTEXT
Stammdatentabelle von Proftitcenter CEPC
Verantwortlicher des Profitcenter (L) CEPC-VERAK
Damit sind die Grundfelder schon einmal definiert und die Query kann pronzipiel gestartet werden.
Erweiterung der Query
a) Lokales Feld anlegen / Formel
Ziel der Auswertung soll jedoch sein, dass hier auch eine Prüffunktion eingefügt wird, ob die Verantwortlichen identisch sind. Somit sollen also die Felder CEPC-VERAK, CSKS-VERAK und AUFK-USER2 miteinander verglichen werden. Ziel ist es hier entsprechende Symbole zu hinterlegen, wenn diese nicht übereinstimmen, über die dann in der Queryliste selektiert werden kann.
Hierzu gehen wir nicht in die Grundliste der Query (wo auch das Layoutdesign gepflegt wird) sondern wechselkn innerhalb der Querypflege mit nächstes Bild (F6) auf die Feldauswahl der Query.
Über
BEARBEITEN->KURZBEZEICHNUNG
kann für die einzelnen Felder eine Kurzbezeichnung eingestellt werden.
Nun werden rechts neben den Datenfeldern Eingabefelder für die Kurzbezeichnung angegeben.
Hier erhalten nun folgende Felder eine Kurzbezeichnung:
Bei den Auftragsstammdaten:
Verantwortlicher -> V_IA
Beim Kostenstellenstammsatz:
Verantwortlicher -> V_KS
Beim Stammdatentabelle von Profit Centern:
Verantwortlicher des Profit Centers -> V_PC
Diese Kurzbezeichnung sind notwendig, da wir auf diese dann Bezug nehmen, wenn wir ein eiegens Feld mit einer Formel anlegen.
Dieses geht über
BEARBEITEN->LOKALES FELD->ANLEGEN
Dieses Lokale Feld wird dann in der Feldgruppe angelegt, in der wir uns gerade befinden. Elegant wäre es natürlich, wenn wir im Infoset eine entsprechende leere Feldgruppe definiert hätten, es geht aber auch ohne
Das lokale Feld hat folgende Eigenschaften:
Kurzbezeichnung CHECKVERANT
Feldbezeichnung CheckVerant
Überschrift Checkverant
Da wir hier die Verantwortlichen kontrollieren wollen.
Innerhalb der Sachgruppe kann un die Feldgruppe des Infoset gelegt werden. Dieses ist dann der Bereich, wo das lokale Feld angelegt worden ist.
Als Feldeigenschaften könnten wir nun Textfelder, Rechnfelder etc. hinterlegen. In unseren Beispiel möchten wir als Eigenschaften allerdings IKONE hinterlegen. Über entsprechende Icons soll hier ein Unterschied ausgegeben werden. Hierzu legen wir eine Berechnungsvorschrift an. Dazu klicken wir auf "KOMPLEXE BERECHNUNG".
Nun können wir drei Bedingungen und eine sonstige Alternative angeben.
Dieses nutzen wir wie folgt:
Bedingung:
V_IA = V_KS AND V_IA = V_PC
Formel:
ICON_LED_GREEN
Wenn Verantwortliche des Innenauftrages mit Verantwortliche der Kostenstelle übereinstimmt UND Verantwortliche des Innenauftrages mit Verantwortliche des Profit-Center übereinstimmt ist alles in Ordnung und es soll eine grüne LED: so in Ordnung ausgegeben werden. Die Verfügbaren Ikons können über die untere Schaltfläche Ikonen ausgewählt werden.
Bedingung:
V_KS <> V_PC
Formel:
ICON_LED_YELLOW
Wenn die Verantwortliche der Kostenstelle mit der Verantwortlichen des ProfitCenter nicht übereinstimmt soll ein gelbes LED ausgegeben werden. Dieses wird als relativ unkritisch betrachtet.
Bedingung:
V_KS <> V_IA
Formel:
ICON_LED_RED
Als besonders kritisch wird betrachtet, wenn Verantwortliche der Kostenstelle nicht mit Verantwortliche des Innenauftrages übereinstimmt
Sonst:
ICON_LED_RED
Tritt irgendein anderer Fall auf, soll ebenfalls eine rote LED ausgegeben werden.
Sofern die Verantwortlichen in jeden Fall übereinstimmen sollen, kann natürlich auch die beiden mittleren Bedingungen weg gelassen werden. Als weitere Operatoren bieten sich neben AND auch OR an, sowie + - * und verschiedene andere Operatoren.
b) Berichtszuordnung
Durch die Auswertung dieser Query erhalten wir nun eine Liste mit den Stammdaten Innenauftrag, Kostenstelle und ProfitCenter. Sollten nun die Verantwortlichen nicht übereinstimmen müssten wir nun einzeln die entsprechende Objekte bearbeiten. Hier ist es aber möglich aus der Query direkt in die Stammdatenpflegetransaktion zu wechseln, wenn wir auf das Feld Auftragsnummer, Kostenstelle oder Profit-Center doppelklicken. Hierzu muss in der Querypflege eine Berichtszuordnung gepflegt werden.
Hierzu rufen wir wiederum über die SQ01 die Query für eine Änderung auf.
Über SPRINGEN->BERICHTSZUORDNUNG können Empfängerberichte definiert werden.
Über das „+“ (Zeile einfügen) können weitere Query eingefügt werden. Alternativ kann hier auch ein anderer Berichtstyp ausgewählt werden. Über "TR Transaktion" können hier auch die Stammdatenpflegetransaktionen hinterlegt werden.
Hier hinterlegen wir folgende Transaktionen:
KE52 Profit Center ändern
KS02 Kostenstelle ändern
KO02 Innenauftrag ändern
Nun wird die Berichtszuordnung gespeichert und auch die Query kann gespeichert und genutzt werden.
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: »Query Stammdaten CO Kontrolle Verantwortliche« in Andreas Unkelbach Blog (ISSN: 2701-6242) vom 14.12.2011, Online-Publikation: https://www.andreas-unkelbach.de/blog/?go=show&id=339 (Abgerufen am 24.4.2025)
Ein Kommentar - Permalink - SAP
Artikel datenschutzfreundlich teilen
🌎 Facebook 🌎 Bluesky 🌎 LinkedIn