Samstag, 23. März 2013
18:23 Uhr
18:23 Uhr
CO Planeinzelposten Objekt und Partnerobjekt auswerten / Mehrere Felder summieren
Ausgangslage
In der Darstellung von Planeinzelposten (bspw. Kostenstellen Einzelposten Plankosten (Transaktion KSBP) oder Innenaufträge Einzelposten Plankosten (Transaktion KOBP)) werden nur die Kostenstelle oder Innenauftrag aber nicht das entsprechende Partnerobjekt dargestellt, so dass bei den Planeinzelposten nicht das Partnerobjekt (Gegenbuchung) angezeigt wird.
Zur Darstellung von Planbelegen in CO (bspw. Plankopie KP98 (für Kostenstellen) oder KO15 (für Innenaufträge), Planwerterfassung über KPF6 oder KP06 oder sonstige Planbuchungen) sollen in einer Einzelpostenliste jedoch sowohl Sender als auch Empfänger eines Buchungsbeleges dargestellt werden.
Lösung
Die Planbelege werden in den Tabellen COBK und COEJ gespeichert. Hierbei ist jedoch zu beachten, dass die Werte über die einzelnen Perioden verteilt sind, so dass hier eine Query sinnvoll ist um die entsprechenden Summen über die Periodeneinzelwerte zu erfassen und sowohl Objekt als auch Partnerobjekt anzuzeigen.
1.) Infoset definieren
Zur Darstellung der gewünschten Daten müssen folgende Tabellen miteinander verknüpft werden:
COBK - CO-Objekt: Belegkopf
COEJ - CO-Objekt: Einzelposten jahresbezogen
Folgende Felder werden hierbei miteinander verknüpft.
Verknüpfungen
Hierbei steht <--> für einen normalen Join und >LO< für einen left outer join.
COBK-KOKRS <--> COEJ-KOKRS
COBK-BELNR <--> COBK-BELNR
Am einfachsten ist es nun alle Tabellenfelder des Infosets als Feldgruppe anlegen zu lassen.
2.) Query definieren
Wichtig bei dieser Query ist es, dass Planwerte auf mehrere Perioden verteilt sind, so dass für eine Jahresbetrachtung alle möglichen 16 Perioden (Monate Januar bis Dezember und die Sonderperioden) ausgewertet werden müssen.
Hierfür wird innerhalb der Query ein lokales Feld genutzt.
Hierzu gehen wir nicht in die Grundliste der Query (wo auch das Layoutdesign gepflegt wird) sondern wechseln innerhalb der Querypflege (Transaktion SQ01) 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:
Innerhalb der Feldgruppe "CO-Objekt: Einzelposten jahresbezogen" über die Tabelle COEJ werden die Felder
"Wert gesamt in Transaktionswährung" von W1 bis W16 bezeichnet.
Dieses entspricht den Tabellenfeldern
COEJ-WTG001 bis COEJ-WTG016.
Diese Kurzbezeichnung ist notwendig, da wir auf diese dann Bezug nehmen, wenn wir ein eigens 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. In unseren Fall also ebenfalls in der Feldgruppe der Tabelle COEJ.
Das lokale Feld hat folgende Eigenschaften:
Kurzbezeichnung: BETRAG
Feldbezeichnung: Betrag (Summe WTG001-WTG016)
Überschrift: Betrag
gleiche Eigenschaften wie: W1
Als Berechnungsvorschrift wird folgende Formel hinterlegt:
W1+W2+W3+W4+W5+W6+W7+W8+W9+W10+W11+W12+W13+W14+W15+W16
Somit sind in diesen lokalen Feld alle Tabellenspalten von COEJ-WTG001 bis COEJ-WTG016 summiert. Die Summe dieser Felder entspricht dem Jahreswert als "Wert gesamt in Transaktionswährung".
Nachdem dieses Feld definiert ist kann in der Grundliste die Query wie folgt definiert werden. 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:
CO-Objekt: Belegkopf
Belegnummer (L,S) COBK-BELNR
Jahr (L,S) COBK-GJAHR
Belegdatum (L) COBK-BLDAT
CO-Objekt: Einzelposten jahresbezogen
Version (L, S) COEJ-VERSN
Hierdurch können sowohl die Istversion 0 als auch mögliche Planversionen ausgewertet werden.
Objektnummer (L,S) COEJ-OBJNR
Kostenart (L,S) COEJ-KSTAR
lokales Zusatzfeld
Betrag (L) wie oben beschrieben
CO-Objekt: Einzelposten jahresbezogen
Partnerobjekt (L,S) COEJ-PAROB
Positionstext (L) COEJ-SGTXT
(das Originalfeld lautet Segmenttext)
Belegkopftext (L) COBK-BLTXT
Anpassung der Query
In der Querypflege kann über das Bild "Selektionen" (über Springen Nächstes Bild oder durch F6 nächstes Bild) die Bezeichnung der Selektionsfelder angepasst werden.
Hier ist es sinnvoll das Feld Objektnummer in "Objektnummer (KS* OR*)" und Partnerobjekt in "Partnerobjekt (KS* OR*)" umzubenennen.
Handhabung der Query
In der Selektionsmaske können nun Jahr, Version sowie Objektnummer oder Partnerobjekt und Kostenart angegeben werden. Sofern Planwerte in der Istversion erfasst werden (bspw. für einen Plan/Ist Vergleich für CO-Budgets) ist hier die Version 0 auszuwählen.
Als Objekt und Partnerobjekt sind Kostenstellen und Innenaufträge wie folgt definiert.
Hierbei ist zu beachten, dass Kostenstellen als „KS*BUK* NNNNNNNNNN“ wobei BUK für den Kostenrechnungskreis steht gefolgt von der Kostenstelle, die als zehnstelliger Wert (ggf. mit führenden 0en) dargestellt werden muss. Bei den Innenaufträgen ist die Darstellung ORNNNNNNNNNNN (n= 12 Stellen).
Eine vereinfachte Eingabe ist mit Platzhaltern möglich:
Bspw. für die Kostenstelle 1234567: „KS*1234567“ oder für den Innenauftrag 7654321 „OR*7654321“. Zur Darstellung aller Buchungen sollte KS* und OR* verwendet werden, da andernfalls auch Objekte der Anlagenbuchhaltung etc. ausgegeben werden.
Dieses ist auch der Grund, warum in der Selektionsmaske die Bezeichnung des Feldes angepasst worden ist.
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.
In der Darstellung von Planeinzelposten (bspw. Kostenstellen Einzelposten Plankosten (Transaktion KSBP) oder Innenaufträge Einzelposten Plankosten (Transaktion KOBP)) werden nur die Kostenstelle oder Innenauftrag aber nicht das entsprechende Partnerobjekt dargestellt, so dass bei den Planeinzelposten nicht das Partnerobjekt (Gegenbuchung) angezeigt wird.
Zur Darstellung von Planbelegen in CO (bspw. Plankopie KP98 (für Kostenstellen) oder KO15 (für Innenaufträge), Planwerterfassung über KPF6 oder KP06 oder sonstige Planbuchungen) sollen in einer Einzelpostenliste jedoch sowohl Sender als auch Empfänger eines Buchungsbeleges dargestellt werden.
Lösung
Die Planbelege werden in den Tabellen COBK und COEJ gespeichert. Hierbei ist jedoch zu beachten, dass die Werte über die einzelnen Perioden verteilt sind, so dass hier eine Query sinnvoll ist um die entsprechenden Summen über die Periodeneinzelwerte zu erfassen und sowohl Objekt als auch Partnerobjekt anzuzeigen.
1.) Infoset definieren
Zur Darstellung der gewünschten Daten müssen folgende Tabellen miteinander verknüpft werden:
COBK - CO-Objekt: Belegkopf
COEJ - CO-Objekt: Einzelposten jahresbezogen
Folgende Felder werden hierbei miteinander verknüpft.
Verknüpfungen
Hierbei steht <--> für einen normalen Join und >LO< für einen left outer join.
COBK-KOKRS <--> COEJ-KOKRS
COBK-BELNR <--> COBK-BELNR
Am einfachsten ist es nun alle Tabellenfelder des Infosets als Feldgruppe anlegen zu lassen.
2.) Query definieren
Wichtig bei dieser Query ist es, dass Planwerte auf mehrere Perioden verteilt sind, so dass für eine Jahresbetrachtung alle möglichen 16 Perioden (Monate Januar bis Dezember und die Sonderperioden) ausgewertet werden müssen.
Hierfür wird innerhalb der Query ein lokales Feld genutzt.
Hierzu gehen wir nicht in die Grundliste der Query (wo auch das Layoutdesign gepflegt wird) sondern wechseln innerhalb der Querypflege (Transaktion SQ01) 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:
Innerhalb der Feldgruppe "CO-Objekt: Einzelposten jahresbezogen" über die Tabelle COEJ werden die Felder
"Wert gesamt in Transaktionswährung" von W1 bis W16 bezeichnet.
Dieses entspricht den Tabellenfeldern
COEJ-WTG001 bis COEJ-WTG016.
Diese Kurzbezeichnung ist notwendig, da wir auf diese dann Bezug nehmen, wenn wir ein eigens 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. In unseren Fall also ebenfalls in der Feldgruppe der Tabelle COEJ.
Das lokale Feld hat folgende Eigenschaften:
Kurzbezeichnung: BETRAG
Feldbezeichnung: Betrag (Summe WTG001-WTG016)
Überschrift: Betrag
gleiche Eigenschaften wie: W1
Als Berechnungsvorschrift wird folgende Formel hinterlegt:
W1+W2+W3+W4+W5+W6+W7+W8+W9+W10+W11+W12+W13+W14+W15+W16
Somit sind in diesen lokalen Feld alle Tabellenspalten von COEJ-WTG001 bis COEJ-WTG016 summiert. Die Summe dieser Felder entspricht dem Jahreswert als "Wert gesamt in Transaktionswährung".
Nachdem dieses Feld definiert ist kann in der Grundliste die Query wie folgt definiert werden. 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:
CO-Objekt: Belegkopf
Belegnummer (L,S) COBK-BELNR
Jahr (L,S) COBK-GJAHR
Belegdatum (L) COBK-BLDAT
CO-Objekt: Einzelposten jahresbezogen
Version (L, S) COEJ-VERSN
Hierdurch können sowohl die Istversion 0 als auch mögliche Planversionen ausgewertet werden.
Objektnummer (L,S) COEJ-OBJNR
Kostenart (L,S) COEJ-KSTAR
lokales Zusatzfeld
Betrag (L) wie oben beschrieben
CO-Objekt: Einzelposten jahresbezogen
Partnerobjekt (L,S) COEJ-PAROB
Positionstext (L) COEJ-SGTXT
(das Originalfeld lautet Segmenttext)
Belegkopftext (L) COBK-BLTXT
Anpassung der Query
In der Querypflege kann über das Bild "Selektionen" (über Springen Nächstes Bild oder durch F6 nächstes Bild) die Bezeichnung der Selektionsfelder angepasst werden.
Hier ist es sinnvoll das Feld Objektnummer in "Objektnummer (KS* OR*)" und Partnerobjekt in "Partnerobjekt (KS* OR*)" umzubenennen.
Handhabung der Query
In der Selektionsmaske können nun Jahr, Version sowie Objektnummer oder Partnerobjekt und Kostenart angegeben werden. Sofern Planwerte in der Istversion erfasst werden (bspw. für einen Plan/Ist Vergleich für CO-Budgets) ist hier die Version 0 auszuwählen.
Als Objekt und Partnerobjekt sind Kostenstellen und Innenaufträge wie folgt definiert.
Hierbei ist zu beachten, dass Kostenstellen als „KS*BUK* NNNNNNNNNN“ wobei BUK für den Kostenrechnungskreis steht gefolgt von der Kostenstelle, die als zehnstelliger Wert (ggf. mit führenden 0en) dargestellt werden muss. Bei den Innenaufträgen ist die Darstellung ORNNNNNNNNNNN (n= 12 Stellen).
Eine vereinfachte Eingabe ist mit Platzhaltern möglich:
Bspw. für die Kostenstelle 1234567: „KS*1234567“ oder für den Innenauftrag 7654321 „OR*7654321“. Zur Darstellung aller Buchungen sollte KS* und OR* verwendet werden, da andernfalls auch Objekte der Anlagenbuchhaltung etc. ausgegeben werden.
Dieses ist auch der Grund, warum in der Selektionsmaske die Bezeichnung des Feldes angepasst worden ist.
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: »CO Planeinzelposten Objekt und Partnerobjekt auswerten / Mehrere Felder summieren« in Andreas Unkelbach Blog (ISSN: 2701-6242) vom 23.3.2013, Online-Publikation: https://www.andreas-unkelbach.de/blog/?go=show&id=406 (Abgerufen am 7.11.2024)
4 Kommentare - Permalink - SAP
Artikel datenschutzfreundlich teilen
🌎 Facebook 🌎 Twitter 🌎 LinkedIn