Andreas Unkelbach
Werbung


Samstag, 14. Februar 2015
11:02 Uhr

Query Einzelpostenliste IST über CO Objekte (Auflösen von Innenauftrag, Kostenstelle) sowie Benutzerstammdaten und Erfassungsdatum

Im Rahmen des Artikels "SAP Query: Einzelpostenliste KAMV für Umbuchung in Planversion"  wurde schon einmal eine Auswertung über den CO Vorgang KAMV und Darstellung der Ist-Buchungen ausführlicher beschrieben. Im Rahmend er Jahresabschlussarbeiten kam es dann jedoch zu einer Rückfrage, welche Belege in das alte Jahr noch im Februar in CO gebucht beziehungsweise über die primären Kostenarten auf CO Objekte (Kostenstelle, Innenauftrag) fortgeschrieben worden sind.

Hierzu wäre eine Auswertung anhand des Erfassungsdatum wünschenswert. Grundsätzlich könnten nun Einzelpostenliste in der Komponente Kostenstellenrechnung (zum Beispiel über die Transaktion KSB1 Kostenstellen Einzelposten IST) oder der Innenaufträge (zum Beispiel über die Transaktion KOB1 Aufträge Einzelposten IST) ausgewertet werden. Dieses hat jedoch den Nachteil, dass eine solche Auswertung nur die jeweiligen CO Objekte der entsprechenden Komponente auswertet. Eine Vergleichbare Ausgangslage ist bei den Einzelposten im Plan im Artikel "CO Planeinzelposten Objekt und Partnerobjekt auswerten / Mehrere Felder summieren" beschrieben.

Während für die Plankosten die beiden Tabellen COBK und COEJ ausgwertet werden, kann bei den Istkosten die beiden Tabellen COEP und COBK miteinander verknüpft werden.

Als kleine Ergänzung kann noch die Kostenartbezeichnung aus den Tabellen CSKB und CSKU übernommen werden.

Infoset aufbauen / Tabellen COBK und COEP verknüpfen

Innerhalb eines Infosets werden folgende Tabellen miteinander verknüpft:

COEP - CO-OBjekt: Einzelposten periodenbezogen
CSKB - Kostenarten (Kostenrechnungskreisabhängige Daten)
CSKU - Kostenartentexte
COBK - CO-Objekt: Belegkopf

Optional könnte noch die Tabelle
USR21 - Zuordnung Benutzername Adressschlussel
ADR6 - E-Mail-Adressen (Business Address Services)
verwendet werden um ergänzend zur Benutzerkennung auch Namen und e-Mailanschrift hinzufügen zu können.
Ergänzend könnte man hier auch die
ADR2 - Telefonnummern (Business Address Services)
mit einbinden.

Verknüpfungen:
Folgende Felder werden hierbei miteinander verknüpft.
Hierbei steht <--> für einen normalen Join und >LO< für einen left outer join. Die left outer joins sind erforderlich um auch Datensätze auszugeben, die nicht in allen Tabellen vorhanden sind.

COEP-KOKRS <-> COBK-KOKRS
COEP-BELNR <-> COBK-BELNR

COEP-KSTAR >LO< CSKB-KSTAR

COEP-KSTAR <-> CSKU-KSTAR

Bei der Verknüpfung der Tabelle COEP und CSKB handelt es sich um einen "left outer join". Diese Verknüpfungsart kann durch die rechte Maustaste auf "left outer join" genutzt werden.Hintergrund ist, dass sich die Bezeichnung der Kostenart ändern kann im Laufe ihres Leben. Alternativ kann natürlich auch das Gültig Bis Datum in der Selektion mit den aktuellen Systemdatum oder Enddatum der Auswertungsperiode als Selektionskriterium gesetzt werden.

In der Feldgruppe können die Werte aus den einzelnen Tabellen übernommen werden. Für dieses Beispiel werden in der Feldgruppe 01 alle Felder der Tabelle COEP übernommen. Ergänzend dazu werden als Feldgruppe 2 die Bezeichnung aus der Tabelle CSKU (CSKU-KTEXT) und in der Feldgruppe 3 der Kostenartentyp (CSKB-KATYP) und Datum gültig bis (CSKB-DATBI) übernommen.

Da wir aber auch die Belegkopfdaten haben möchten werden in der Feldgruppe 4 aus der Tabelle COBK folgende Felder übernommen: Belegnummer (COBK-BELNR), Erfassungsdatum des Beleges (COBK-CPUDT), Buchungsdatum (COBK-BUDAT), Benutzername (COBK-USNAM) und Belegkopf-Text (COBK-BLTXT).
 

Benutzername aus Belegkopf mit Benutzerstammdaten verknüpfen

Sollen auch die Benutzerstammdaten wie Mailanschrift und ausführlicher Benutzername ergänzt werden sind folgende Verknüpfungen im Infoset erforderlich. Hier sollte sich aber vorher dahingehend abgestimmt werden, ob diese Daten notwendig sind.

COBK-USNAM <->  USR21-BNAME

USR21-PERSNUMBER <->ADR6-PERSNUMBER
USR21-ADDRNUMER <->ADR6-ADDRNUMBER

erforderlich. Hierdurch müssen die Daten nicht mehr in der SU01D nachgesehen werden.

Die Tabelle USR03 - Adressdaten Benutzer wurde mit Release 4.0a auf die zentrale Adreßverwaltung umgestellt. Die eigentlich obsolete Tabelle ist immer noch im SAP System vorhanden und könnte daher dazu verführen, diese ebenfalls für eine Auswertung bzw. Zuordnung zu den Benutzerdaten zu nutzen.

Schematische Darstellung Tabellenbeziehung COEP, COBK und Benutzerstammdaten

Schematisch dargestellt sind die Tabellen wie folgt miteinander verbunden:
Tabellen Join �ber COEP, COBK sowie Benutzerstammdaten aus der SU01D




ACHTUNG:
In der Schemazeichnung ist noch der LO leider bei CSKU und nicht CSKB eingezeichnet.



Hierdurch können in der Query dann auch die Benutzerdaten (Anschrift) übernommen werden.

Hierzu kann eine 5. Feldgruppe "Benutzerdaten" hinzugefügt werden.
In dieser würden dann folgende Tabellenfelder eingefügt:
Benutzername im Benutzerstamm (USR21-BNAME) und E-Mail-Adresse (ADR6-SMTP_ADDR) genauso wie die Telefnnummer (ADR2-TELNR_CALL).


 

Query definieren, lokale Felder anlegen um aus Objektnummer Kostenstelle und Innenauftrag auszulesen

Bevor wir die Grundliste für die Query aufbauen sollen zur leichteren Darstellung der Belege aus der Objektnummer der Tabelle COEP Kostenstelle und Innenauftrag getrennt ausgewertet werden.

Für die Anlage kundeneigener Felder muss als erstes ein Bezug zu den zu verwendenden Feldern innerhalb der Query gegeben sein.

Hierzu wechseln wir in der Transaktion SQ01 über SPRINGEN->FELDAUSWAHL->FELDAUSWAHL oder solange mittels F6 (nächstes Bild) bis wir zur Feldauswahl gelangen.

Ü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 CO-Objekt: Einzelposten periodenbezogen (Tabelle COEP)
Objektnummer -> OBJNR    (entspricht den Tabellenfeld (COEP-OBJNR).

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

Die folgenden Felder legen wir ebenfalls innerhalb der Sachgruppe "
CO-Objekt: Einzelposten periodenbezogen" an.

Das Feld OBJNR hat insgesamt 22 Zeichen. Dabei werden Innenaufträge mittels OR*und die Innenauftragsnummer mit führenden 0  und Kostenstellen als KS gefolgt vom Kostenrechnungskreis und ebenfalsl der Kostenstenstellennumemr mit führenden 0 ausgegeben.

In unseren Fall können Kostenstellen und Innenaufträge bis zu 8 Zeichen lang sein.

Entsprechend werten wir einen Teilstring des Feldes OBJNR aus. Diese Methode ist auch im Artikel "Query Stammdatenvergleich Profit-Center und Auslesen von Textbestandteilen (Teilstring aus Variable)" ausführlicher beschrieben.

Zur Unterscheidung von Kostenstellen und Innenaufträgen legen wir zwei Hilfsfelder an.

1. Feld KTR zur Identifikation der CO Objektnummer (Kostenstelle/Innenauftrag Schlüssel)


Kurzbezeichnung: KTR
Feldbezeichnung: KTR
Überschrift: KTR
Eigenschaften wie: gleiche Eigenschaften wie Feld  OBJNR
Berechnungsvorschrift: OBJNR[7:16]

Hierbei werden aus den Feld OBJNR die Zeichen mit der Position 7 bis Position 16 (entspricht der maximalen Zeichenlänge des Feldes) ausgegeben.

Damit sind die Kostenstelle bzw. der Innnenauftrag mit führender 0 aus der Tabelle ausgelesen ohne die Objektbezeichnung KS oder OR mit aufzuführen.

2. Feld Um welches CO Objekt handelt es sich?

Kurzbezeichnung: KTRA
Feldbezeichnung: KTRA
Überschrift: KTRA
Eigenschaften wie: Textfeld Anzahl Zeichen 1
Berechnungsvorschrift: OBJNR[1:1]

Handelt es sich beim Objekt nun um eine Kostenstelle dann würde hier K und bei Innnaufträgen O (abgeschnitten aus aus OR) ausgegeben.


Diese beiden Felder werden genutzt um Innenaufträge und Kostenstellen auszugeben.

3. Feld Innenauftrag

Kurzbezeichnung: KTR_IA
Feldbezeichnung: KTR_IA
Überschrift: Innenauftrag
Eigenschaften wie: Textfeld Anzahl Zeichen 10
Berechnungsvorschrift:

Statt einer einfachen Berechnungsvorschrift wechseln wir nun über die Schaltfläche "komplexe Berechnung" um verschiedene Bedingungen für die Berechnung dieses Feldes anzugeben.

Bedingung: 
KTRA = 'O'
Es handelt sich also um einen Innenauftrag
Formel: KTR * 1
Durch die Multiplikation mit 1 werden (auch bei Textfeldern) die führenden Nullen entfernt.
Sonst ''
Sofern es sich nicht um einen Innenauftrag handelt bleibt das Feld leer.

3. Feld Kostenstelle

Kurzbezeichnung: KTR_KS
Feldbezeichnung: KTR_KS
Überschrift: Kostenstelle
Eigenschaften wie: Textfeld Anzahl Zeichen 10
Berechnungsvorschrift:

Statt einer einfachen Berechnungsvorschrift wechseln wir nun über die Schaltfläche "komplexe Berechnung" um verschiedene Bedingungen für die Berechnung dieses Feldes anzugeben.

Bedingung: 
KTRA = 'K'
Es handelt sich also um eine Kostenstelle
Formel: KTR * 1
Durch die Multiplikation mit 1 werden (auch bei Textfeldern) die führenden Nullen entfernt.
Sonst ''
Sofern es sich nicht um einen Innenauftrag handelt bleibt das Feld leer.


 Damit ist die Datengrundlage fertig und wir können die Grundliste der Query anlegen.

Grundliste Query über CO Einzelposten IST anlegen

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:


CO-OBjekt: Einzelposten periodenbezogen (COEP)
Kostenrechnungskreis COEP-KOKRS (S)
Geschäftjahr  COEP-GJAHR  (S, L)
Vorgang CO  COEP-VRGNG (S, L)
Belegnummer COEP-BELNR (L)
Kostenart COEP-KSTAR (S, L)

Kostenartentexte (CSKU)
Allgemeine Bezeichnung CSKU-KTEXT (L)

CO-OBjekt: Einzelposten periodenbezogen (COEP)
Wert gesamt in Kostenrechnungskreiswährung COEP-WKGBTR (L)
Als Währungsfeldppsition wird hier kein Währungsfeld aktiviert

Lokale Zusatzfelder
Bei den folgenden beiden Zusatzfeldern wird die Option Feld nur ausgeben wenn <> 0 aktiviert.
Innenauftrag KTR-IA  (L)
Kostenstelle KTR-KS (L)

CO-Objekt: Einzelposten periodenbezogen (COEP)
Objektnummer COEP-OBJNR (S, L)
Partnerobjekt COEP-PAROB (S, L)

Beide Felder sind als Selektionskriterium definiert. Beim Start der Query ist daher darauf zu achten, dass wenn man nur Kostenstelle oder nur Innenaufträge auswerten möchte diese mit OR* bzw. OR*Nummer oder KS* bzw. KS*Nummer ausgwertet werden. Andernfalls werden in der Query alle CO Objekte ausgegeben.

Be-/Entlastungskennzeichen  COEP-BEKNZ (S, L)
Dieses entspricht dem S / H Kennzeichen.

CO-Objekt: Belegkopf (COBK)
Erfassungsdatum COBK-CPUDT  (S, L)
Buchungsdatum COBK-BUDAT (S,L)

CO-OBjekt: Einzelposten periodenbezogen (COEP)
Bezeichnung Belegposition /Segmenttext COEP-SGTXT (L)

CO-Objekt: Belegkopf (COBK)
Belegkopftext COBK-BLTXT (L)

Damit können die Istbuchungen innerhalb CO über diese Query problemlos ausgewertet werden. Lediglich die Selektion einzelner CO-Objekte ist durch die Objektnummer etwas problematisch, auch wenn die Darstellung der Liste diese dann wieder aufschlüsselt. Dafür kann hierdurch aber problemlos erhoben werden, welche Daten noch ins alte Jahr gebucht worden sind.

Sollen auch die Daten der Erfasser (Buchhalter) mit ausgegeben werden, bspw. um schnell eine Rückfrage stellen zu können, können noch folgende Daten mit ausgegeben werden.

CO-Objekt: Belegkopf (COBK)
Benutzername COBK-USNAM (L)

Sofern die Feldgruppe 5 Benutzerdaten im Infoset definiert worden ist können nun noch folgende Felder mit ausgegeben werden:

Zusatzfeld:
Text:Benutzername im Benutzerstamm  TEXT_USR21_BNAME  (L)

E-Mail-Adressen (Business Address Services) (ADR6)
E-Mail-Adresse ADR6-SMTP_ADDR  (L)
Telefonnummern (Business Address Services) (ADR2)
Vollständige Nummer: Vorwahl+Anschluß+Durchwahl ADR2-TELNR_CALL (L)

Durch die Ausgabe der Benutzerstammdaten Name und Mail kann auch direkt Kontakt mit dieser Person aufgenommen werden. Für eine Einzelpostenliste reicht aber vielleicht auch einfach nur der ausführliche Name aus der USR21, so dass statt Benutzername  USER593 dann tatsächlich Andreas Unkelbach in der Liste erscheint. Dieses ist besonders dann sinnvoll, wenn die Benutzernamen durchnummeriert sind und anhand der Benutzerkennung nicht direkt die eigentliche Person identifiziert werden kann. Der Benutzername selbst ist ohnehin im Beleg enthalten.

Kostenrechnungsbelegansicht (Transaktion KSB5) zuordnen

Über die Berichtsschnittstelle kann dann bspw. die Transaktion KSB5 für "Belege Istkosten anzeigen" genutzt werden, so dass hier direkt der Kostenrechnungsbeleg aufgerufen werden kann.


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" sollte hier die Anzeige des  Kostenrechnungsbelegs (KSB5) hinterlegt werden.

Und was ist mit Tee pardon FI?

Neben den CO Belegen besteht dank Query auch die Möglichkeit innerhalb FI eine entsprechende Einzelpostenliste zu erstellen. Diese ist im Artikel "Query FI Einzelposten als Belegjournal - Belegsegment (BSEG) und Belegkopf (BKPF) verknüpfen" beschrieben und dürfte die Kollegen aus der Finanzbuchhaltung noch mehr ansprechen ;-). Dieses Auswertung macht dann zum Beispiel Sinn, wenn bestimmte Sachverhalte nicht direkt in die Kostenstenleistungsrechnung (KLR) fortgeschrieben werden. Problematisch kann hier zum Beispiel die fehlende Fortschreibung von FI nach CO Kostenstelle oder Innenaufträge für bestimmte Sachkonten (Beispiel Reisekostenvorschuss) sein. Dieses Problem ist auch schon im Artikel "Einzelposten FI Hauptbuch (Auswertung Buchungen Partnergesellschaft)" beschrieben. So können werden manche Erfolgskonten aus FI nur nach PSM aber nicht nach CO fortgeschrieben. Als Kontierungsobjekte werden hierbei jedoch ebenfalls Innenaufträge mitgegeben denen teilweise als Fond im PSM-FM nicht ein vergleichbares Objekt zugeordnet ist (identischer Fond wie Innenauftrag) sondern ein Sammler (im Beispiel ein Fond mit der Bezeichnung LANDESMITTEL). Ein Beispiel können hier zum Beispiel "Vorschüsse Reisekosten" sein, die zwar als Aufwand gebucht sind, aber nicht als Kosten in der KLR betrachtet werden. Entsprechend passender ist hier die Auswertung über die oben beschriebene Einzelpostenliste in FI.


 

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

Tags: Query CO

Ein Kommentar - - SAP

Artikel datenschutzfreundlich teilen

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


Kommentare

Anonym am 14.3.2017 um 08:10 Uhr
Habe ich dringend gesucht!


Auch kommentieren?


Beim Versenden eines Kommentars wird mir ihre IP mitgeteilt. Diese wird jedoch nicht dauerhaft gespeichert; die angegebene E-Mail wird nicht veröffentlicht: beim Versenden als "Normaler Kommentar" ist die Angabe eines Namen erforderlich, gerne kann hier auch ein Pseudonyme oder anonyme Angaben gemacht werden (siehe auch Kommentare und Beiträge 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):



Ich nutze zum Schutz vor Spam-Kommentaren (reine Werbeeinträge) eine Wortliste, so dass diese Kommentare nicht veröffentlicht werden. Sollte ihr Kommentar nicht direkt veröffentlicht werden, kann dieses an einen entsprechenden Filter liegen.

Im Zweifel besteht auch immer die Möglichkeit eine Mail zu schreiben oder die sozialen Medien zu nutzen. Meine Kontaktdaten finden Sie auf »Über mich«. Ansonsten antworte ich tatsächlich sehr gerne auf Kommentare und freue mich auf einen spannenden Austausch.

Normaler Kommentar

Name:

E-Mail (wird nicht veröffentlicht und ist nicht erforderlich):

Homepage:

Kommentar:





* Amazon Partnerlink
Als Amazon-Partner verdiene ich an qualifizierten Käufen über Amazon.
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