Andreas Unkelbach
Werbung


Montag, 24. April 2017
18:48 Uhr

Grundlagen: Selektionstext für Selektionsfelder bei SAP Query ändern

Im Rahmen der in den Artikeln "Query Abrechnungsvorschriften Innenauftrag" und "Abrechnungsvorschriften von Innenaufträgen auf identische verantwortliche Kostenstelle und empfangende Kostenstelle per Query mit Ampelfunktion prüfen" vorgestellten Query zur Auswertung der Abrechnungsvorschriften von CO Innenaufträgen wurde anfangs nur die Auftragsnummer und die Planversion als Selektionsmerkmale definiert.

Zur Erinnerung Query und Infoset zur Abrechnungsvorschrift:

Um die Abrechnungsvorschriften mit einer Query auszuwerten werden die beiden Tabellen AUFK für die Auftragsstammdaten und COBRB - "Aufteilungsregeln Abrechnungsvorschrift Auftragsabrechnung" über das Feld OBJNR Objektnummer miteinander verknüpft.

Exkurs Objektnummer oder Partnerobjektnummer

Die Objektnummer ist auch schon im Artikel "SAP Query: Einzelpostenliste KAMV für Umbuchung in Planversion" näher beschrieben worden. Hierbei werden Kostenstellen mit führenden KS* und Innenaufträge mit OR* abgebildet. Um nun aus den beiden Objekten Kostenstelle oder Innenauftrag als Nummer und die Art des CO Objektes auszuwerten muss dieser String in einzelne Bestandteile aufgeteilt werden.

Hierzu kann im ersten Schritt zum Beispiel über das lokale Feld KTRA in einer Query bestimmt werden ob es sich um eine Kostenstelle oder einen Innenauftrag handelt und in den Feldern KTR_IA beziehungsweise KTR_KS fallweise dann die Nummer der Kostenstelle bzw. der Innenaufträge ausgegeben werden.

Dies Methode ist im Artikel "Query Einzelpostenliste IST über CO Objekte (Auflösen von Innenauftrag, Kostenstelle) sowie Benutzerstammdaten und Erfassungsdatum" ausführlich beschrieben worden und sei hier nur der Vollständigkeit noch einmal erwähnt.

Die Grundliste der Query zur Auswertung der Abrechnungsvorschriften sieht derzeit wie folgt aus:

Auftragsstammdaten AUFK
Auftragsnummer (L,S) AUFK-AUFNR
Kurztext (L) AUFK-KTEXT

Aufteilungsregeln Abrechnungsvorschrift Auftragsabrechnung COBRB
Version (L,S) COBRB-VERSN
Kontierungstyp (L) COBRB-KONTY
Empfangende Kostenstelle (L) COBRB-KOSTL
Auftragsnummer (L) COBRB-AUFNR
Abrechnungsart (L) COBRB-PERBZ
Ursprungszuordnung (L) COBRB-URZUO
Gültig ab Periode (L) COBRB-GABPE
Gültig ab Jahr (L) COBRB-GABJA
Gültig bis Periode (L) COBRB-GBISP
Gültig bis Jahr (L) COBRB-GBISJ

Nun können als Empfänger die beiden Felder
  • Empfangende Kostenstelle (L) COBRB-KOSTL
  • Auftragsnummer (L) COBRB-AUFNR
in einer Abrechnungsvorschrift gepflegt werden und werden entsprechend mit in der Liste ausgegeben.

Senderauftrag und Empfängerauftrag in der Selektion zur Auswertung eintragen

Für bestimmte Fragestellungen kann es jedoch interessant sein, welche Innenaufträge auf eine bestimmte Kostenstelle oder auf einen bestimmte Innenauftrag abgerechnet worden sind. Ein Beispiel wäre wenn mehrere Innenaufträge auf einen Sammelauftrag Vollkostenprojekte, Weiterbildung, Vermietung und Verpachtung oder auch Erlösaufträge für einzelne Fachbereiche oder andere vergleichbare CO Objekte abgerechnet werden um später dann nur eine Erlösumlage nur über diese Erlösaufträge durchzuführen.

Daher werden beide Felder ebenfalls als Selektionsfelder in der Grundliste aktiviert.

Leider haben sowohl das Tabellenfeld COBRB-AUFNR als auch AUFK-AUFNR die Bezeichnung Auftragsnummer, so dass in der Selektionsmaske der Query an zwei Stellen ein Feld Auftragsnummer einen entsprechenden Wert erwartet.

Dabei ist das Feld COBRB-AUFNR als Empfänger und AUFK-AUFNR als Sender gedacht.

Hier bietet es sich daher an in der Pflege der Query im Bild Selektionen (dieses ist über die Transaktion SQ01 in der Pflege der Transaktion über SPRINGEN > FELDAUSWAHL > SELEKTIONEN zu erreichen. Den Selektionstext des zweiten Feld Auftragsnummer in empfangende Auftragsnummer analog zur empfangenden Kostenstelle umzubenennen.

Auf diese Weise kann sowohl von Seiten der Sender als auch Empfänger eine Stammdatenauswertung erfolgen.
 

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.
Diesen und weitere Texte von Andreas Unkelbach finden Sie auf http://www.andreas-unkelbach.de


Samstag, 22. April 2017
09:29 Uhr

Grundlagen: Abschnitte in Report Painter und Report Writer und ihre Vorteile bei Officeintegration und Excel

Eine der von mir lange Zeit unterschätzte Funktionen im Report Painter ist das Thema Abschnitte. Um die Vorzüge in diesen Artikel kurz darzustellen möchte ich ein kurzes Beispiel aus einer Anfrage eines Kollegen beschreiben.

Hier sollen sowohl für Kostenstellen als auch für Innenaufträge für einige Kostenartengruppe eine Liste erstellt werden in der dann die Salden je Kostenstelle oder Innenauftrag aufgelistet werden. Eine sehr umfangreiche Variante habe ich unter "Erweiterung Bibliothek 8A2 Ausweis Kostenstelle und Innenauftrag bei Selektion Profit-Center in ReportWriter" beschrieben und gerade beim dynamischen Mehrjahres- oder auch Quartalsvergleich (siehe auch "Mehrjahresvergleich im ReportWriter/Painter mit variabler Spaltenanzahl je Jahr dank Variablen") kann dieses eine sehr spannende Berichtsoption sein.

Für dieses Beispiel soll aber ein einfacher Bericht als Liste der Salden je Kostenstelle und Innenauftrag gestaltet werden.

Die Grundlagen zur Erstellung eines Berichtes sind unter "Grundlagen Kurzeinführung und Handbuch Report Painter Report Writer" dargestellt, so dass ich hier nur auf die zugeordneten Merkmale unter
  1. Spalten
  2. Zeile
  3. Allgemeine Selektionen
eingehe.

Der folgende Bericht wird über die Transaktion GRR1 in der Bibliothek 6O1 Innenaufträge angelegt, da hier sowohl Kostenstellen als auch Innenaufträge ausgewertet werden können, was nachher noch relevant wird.

Spalte: Merkmal Kosten

Als Spalten werden die Istkosten (oder Erlöse) für einzelne Kostenartengruppen ausgewertet. Hierzu wird als Basiskennzahl KOSTEN ausgewählt und folgende Merkmale je Spalte eingetragen.
 
Zugeordnetes Merkmal Eingetragene Werte
Merkmal Kosten für Spalten
Bewertung 0
Legale Bewertung
Werttyp 4
Ist
Version 0
Plan/Ist - Version
Kostenart Hier wird die Option SET gewählt um eine entsprechende Gruppe
zu hinterlegen. Als Beispiel hier die Gruppe IKR-5 für Erlöse oder IKR-6 für Kosten

Dieses kann dann für mehrere Kostenartengruppen erfolgen.Natürlich können auch Planwerte durch eine Variable für die Version und Werttyp 1 Plan gesetzt werden. So ist auch ein einfacher Plan/Ist Vergleich möglich.

Allgemeine Selektion

Unter BEARBEITEN->ALLGEMEINE SELEKTION werden dann die übergreifenden Merkmale hinterlegt. Kleiner Hinweis vorab, da jedes Merkmal nur einmal zugeordnet werden kann (entweder allgemeine Selektion, Spalte oder Zeile) gilt dieses dann auch für die kommenden Abschnitte. Hier habe ich im Beispiel folgende Merkmale hinterlegt:
 
Zugeordnetes Merkmal Einegtragene Werte
Merkmale für Allgemeine Selektion
KostRechKreis Variable
Geschäftsjahr von und bis als Variable
Periode von und bis als Variable

Durch die Verwendung von Variablen kann dieser Bericht auch für andere Einrichtungen (Kostenrechnungskreise verwendet werden und für unterschiedliche Auswertungszeiträume verwendet werden.

Über BEARBEITEN->VARIATION kann das Geschäftsjahr durch die Option Einzelwert auch in der Navigation des späteren Berichtes als Variation gesetzt werden, so dass hier zwischen den selektierten Jahren hin und her geschaltet werden.

Zeile Kostenstelle oder Innenauftrag

Nun kommt aber der interessante Part.
Als Zeile können wir hier das Merkmal INNENAUFTRAG hinterlegen und dieses ebenfalls als GRUPPE und VARIABLE markieren und eine entsprechnede Variable auswählen.

Ferner ist weiter hinten die Option AUFLÖSEN interessant. Als Option stehen hier Nicht expandieren, Expandieren oder Nur Einzelwerte zur Verfügung.

Sofern eine Auftragsgruppe ausgewertet wird, würde hier diese bei Nicht Expandieren als Summe, bei Expandieren mit Zwischensummen je Untergruppe und bei Einzelwerte die der Gruppe zugeordneten Innenaufträge als Einzelwerteliste aufgelistet werden. Da wir später eine Liste mit Aufträgen haben wollen ist dieses die Option unserer Wahl.

Exkurs: Spezielle Zellendefinition

Ebenfalls bei Summen bzw. der Kombination von Zeile und Spalte ist die Option per Doppelklick einen Wert als SPEZIELLE ZELLENDEFINIITON zu markieren. Auf diese Weise kann später bei Formeln mit der Kombination aus ZEILE und SPALTE gerechnet werden. Ein Beispiel wären hier alle Personalkosten für alle Kostenstellen eines Betriebes als Divsor zur Ermittlung eines Gemeinkostenzuschlagsatzes :-)


Damit haben wir nun also einen Bericht über Kostenartengruppen und Innenaufträgen.

Über BEARBEITEN->ABSCHNITT->NEUER ABSCHNITT können einzelne Abschnitte in einen Bericht eingefügt werden. Bei aktivierter Excel-Integration werden die einzelnen Abschnitte als individuelle Tabellenblätter dargestellt Das Thema Excelintegration ist auch im Artikel "Grundlagen - Berichte von SAP nach Excel exportieren" beschrieben.

Wobei der Tabellenblattname der Bezeichnung des Berichtes entspricht.

Durch die Option "Abschnitt mit Merkmalen und Kennzahlen" kann nun ein weiteres Berichtsblatt erstellt werden. Dabei werden die ALLGEMEINE SELEKTIONEN vererbet es besteht aber die Möglichkeit die oberen Spalten ebenfalls einzufügen und als Zeile dann Kostenstelle als Einzelwerte mit auszugeben.

Im Ergebnis können die Abschnitte dann nach Excel exportiert werden und die Liste an anderer Stelle verarbeitet werden.

Auf diese Weise kann in einen Bericht mit mehreren Abschnitten sowohl die Auswertung der Kostenstellen als auch Innenaufträge erfolgen ohne dass ein zweiter Bericht angelegt werden muss.

 

Hinweis:

Eine kurze Einführung in das Thema Report Painter und Report Writer habe ich im Artikel "Grundlagen Kurzeinführung und Handbuch Report Painter Report Writer" 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.
Diesen und weitere Texte von Andreas Unkelbach finden Sie auf http://www.andreas-unkelbach.de


Samstag, 8. April 2017
14:32 Uhr

Anzahl Belege Kreditor je Fachbereich oder Abteilung anhand Kostenstelle oder verantwortliche Kostenstelle CO Innenauftrag

Manchmal erweist sich mein Blog tatsächlich auch für mich selbst als "Wissenspool" auf den ich selbst sehr gerne zurück greife um bestimmte Anforderungen direkt erfüllen zu können.

So kam nun die Frage auf, ob es nicht möglich wäre für alle Kostenstellenbereiche (im Hochschulbereich würden hier bspw. Fachbereiche oder auch Abteilungen in Frage) die Anzahl an Rechnungen (Einzelposten Kreditorenrechnungen) auszuwerten.

Kreditoren Einzelposten Liste im Modul FI

Wie schon im Artikel "Auswertung Kreditoren Einzelposten inklusive CO Objekte wie Kostenstelle oder Innenauftrag" sind bei einer Auswertung der Nebenbuchhaltung im Kreditorenbereich in der Kreditoren-Einzelposten Liste zu finden unter:
  • Rechnungswesen
  • Finanzwesen
  • Kreditoren
  • Infosystem
  • Kreditoren Posten
  • Kreditoren Einzelposten Liste ( Transaktion S_ALR_87012103)
zwar die FI Belegdaten (Kreditorenbeleg und Zahlungsbeleg) und damit die beiden Bücher Kreditorenbuchhaltung und Hauptbuchhaltung angezeigt jedoch sind auf beiden Belegen nicht die CO-Objekte des Kostenrechnungsbeleges zu finden.

Query mit CO-Objekten Kostenstelle und Innenauftrag aus der Profit-Center-Rechnung

Entsprechend haben wir hier eine entsprechende Query angelegt, die im Rahmen der Profit-Center-Rechnung eine passende Auswertung bastelt.

Das entsprechende Infoset ist in folgender Abbildung dargestellt:

Infoset Tabellen GLPCA, BSAS, LFA1, BSAK und SKAT

Das Infoset verknüpft dabei die Tabellen GLPCA, BSAS, LFA1, BSAK und SKAT und kann sowohl die Felder  CO Innenauftrag und Kostenstelle ausgewiesen.

Anhand der Kostenstelle kann, dank eines sprechenden Kostenstellenschlüssel innerhalb eines bestimmten Intervalls der Bereich (Abteilung oder Fachbereich) anhand der ersten Ziffern der Kostenstellen (bspw. die zweite und dritte Ziffer einer Kostenstelle) identifiziert werden.
 

Aus Kostenstellenschlüssel den Fachbereich oder Abteilung auslesen

Im Rahmen des Artikel "Query Stammdatenvergleich Profit-Center und Auslesen von Textbestandteilen (Teilstring aus Variable)" hatte ich ja schon einmal eine ähnliche Fragestellung anhand der Auslesung der Kostenstelle aus Profit-Centern festgelegt, allerdings möchte ich in der bestehenden Query nicht nur die Ziffern der Kostenstelle sondern auch zu den Innenaufträgen die verantwortliche Kostenstelle und ggf. den Kurztext des Innenauftrag und weitere Stammdaten aus den CO Innenauftrag übernehmen.

Fragestellung: Wie viele Kreditoreneinzelposten sind im Geschäftsjahr je Bereich angefallen


Danach sollen auch noch anhand der Kostenstelle (wenn auf Kostenstelle gebucht) oder anhand der verantwortlichen Kostenstelle (eines Innenauftrages) und sofern die Kostenstellen innerhalb eines Fachbereiches liegen eine Zwischensumme gebildet werden.

Die Aufgabe wäre nun also:
  1. Ist die Rechnung auf einen Fachbereich / Abteilung gebucht und um welchen handelt es sich?
  2. Welche Kostenstelle (Kostenstelle oder verantwortliche Kostenstelle Innenauftrag) ist betroffen?
  3. Wieviele Buchungen sind je Fachbereich (und je Kostenstelle) angefallen?
Für Frage 3 muss in einer solchen Auswertung also auch noch ein Zähler mit aufgeführt werden.

Ausgehend von der vorhandenen Query, die ich ja schon ausführlich im oberen Artikel beschrieben habe, möchte ich den Lösungsweg zu diesen Punkten gerne eingehen.

Der erste Schritt ist die Frage, wie weitere Stammdaten zum Innenauftrag ergänzt werden.

In der Query sind folgende Felder enthalten:

Kostenstelle (L,S) GLPCA-KOSTL
Auftragsnummer  (L,S) GLPCA-AUFNR

Das bedeutet, dass hier tatsächlich zumindest die Kostenstelle unproblematisch ergänzt werden können.

Infoset über Zusatztabellle erweitern

Im ersten Moment hatte ich nun überlegt, dass ich per ABAP Coding und Zusatzfeldern nun aus der Stammdatentabelle AUFK die notwendigen Daten aus den Auftragsstamm auszulesen und zum Feld GLPCA-AUFNR zu ergänzen.

Im schon vorhandenen Infoset soll die Tabelle AUFK als Zusatztabelle ins Infoset übernommen werden.

Über die Schaltfläche Zusätze (F5) bzw.  über  SPRINGEN-> ZUSÄTZE ZUM KNOTEN  innerhalb der Transaktion SQ02 (Pflege des Infosets) kann nun eine Zusatztabelle eingefügt werden. Hierzu kann im Register Zusätze die Schaltfläche Anlegen ausgewählt werden.
Hierzu tragen wir die den Namen AUFK und als Art der Zusatzinformation Zusatztabelle ein. Nun erfolgt eine Abfrage über SELECT SINGLE * FROM AUFK WHERE ...
in der auch gleich die Bedingung AUFNR  = GLPCA-AUFNR vorgeschlagen wird.

Es wird also die führende Tabelle GLPCA mit der Stammdatentabelle AUFK verknüpft wird.

Danach können einzelne Felder der Stammdatentabelle als eigene Feldgruppe ins Infoset übernommen werden.

HINWEIS Vorteil Zusatztabelle versus Join

Sicherlich hätte ich auch per JOIN die Tabelle einfügen und verknüpfen können, was mich aber tatsächlich an der Lösung der Zusatztabelle angenehm überrascht hatte war dass die Tabellenfelder der Tabelle AUFK einfach leer sind, wenn das Feld GLPCA-AUFNR nicht gefüllt ist sondern die Buchung auf Kostenstelle erfolgte und damit GLPCA-KOSTL gefüllt ist.

Die Alternative wäre sicherlich noch ein Outer Join statt Inner Join (statt 1:1 eine 1:N Verknüpfung)  Definition. :-)

Als Beispiel habe ich dabei folgende Felder mit übernommen:

  • Auftragsart AUFK-AUART
  • Auftragsnummer AUFK-AUFNR
  • Kurztext AUFK-KTEXT
  • Verantwortliche Kostenstelle AUFK-KOSTV
  • Antragssteller AUFK-USER0
  • Verantwortlicher AUFK-USER2
  • Arbeitsbeginn AUFK-USER7
  • Arbeitsende AUFK-USER8
Im Ergebnis können diese Felder dann in einer Query genutzt werden, nachdem natürlich das Infoset gesichert und generiert wurde.

Query mit lokalen Zusatzfeldern für Ermittlung Fachbereich

Da ich im Rahmen einer anderen Query aus einer virtuellen Lehreinhiet auch Text der Lehreinheit und Fachbereich abgeleitet habe war mein erster Gedanke per ABAP Coding und Zusatzfeld wie im Abschnitt "Zusatzfeld VLE zur Darstellung virtueller Lehreinheit aus Teilstring der verantwortlichen Kostenstelle sofern nicht in einen anderen Feld ein Wert steht" im Artikel "Query über COEP, AUFK und FMFINCODE für Einzelposten Istkosten Innnenauftrag mit Stammdaten aus CO und PSM-FM sowie Spalten für Ertrag und Aufwand - Erster Teil Infoset als Datengrundlage" beschrieben näher betrachtet

Glücklicherweise bin ich hier aber nur auf den Fachbereich angewiesen, so dass ich innerhalb der Query per lokalen Zusatzfeld mit den beiden Feldern Kostenstelle und verantwortliche Kostenstelle arbeiten kann.

Bezeichnungen und mit lokalen Feldern arbeiten

Neben der reinen Auswertung von einzelnen Tabellenfeldern kann innerhalb der Query auch die Ergebnisse verarbeitet werden. Um einzelne Felder weiter zu bearbeiten können Sie über SPRINGEN->FELDAUSWAHL->FELDAUSWAHL über die Funktion BEARBEITEN->KURZBEZEICHNUNGEN ->EINSCHALTEN einzelne Felder eine Kurzbezeichnung zuordnen.

Diese Kurzbezeichnungen sind notwendig, da wir auf diese dann Bezug nehmen, wenn wir ein lokaes 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.

Für dieses Feld werden dann entsprechende Eigenschaften festgelegt und über eine Berechnungsvorschrift kann auf andere Felder Zugriff genommen werden.
Nachdem ich hier schon die theoretische Vorgehensweise erläutert habe mag ich direkt zur praktischen Umsetzung gehen.

In der Feldgruppe zur Tabelle GLPCA "EC-PCA: Ist-Einzelposten" habe ich den Feld "Kostenstelle" die Kurzbezeichnung KS gegeben. Danach habe ich in der Feldgruppe zur Tabelle AUFK den Feld "Verantwortliche Kostenstelle" die Bezeichnung KS_IA gegeben.

Damit kann ich nun also wahlweise mit der Verantwortlichen Kostenstelle des Innenauftrages oder der bebuchten Kostenstelle im Profit-Center-Beleg arbeiten.

Damit das ganze aber auch Sinn macht habe ich noch zwei weitere Felder über "Bearbeiten->Lokales Feld anlegen" angelegt.

Lokales Feld Fachbereich (2. und 3. Ziffer der Kostenstelle innerhalb eines Nummernintervall)

Das Feld  Fachbereich mit den Eigenschaften Textfeld mit ANzahl der Zeichen 10 hat als komplexe Berechnung folgende Bedingungen angelegt:

Bedingung
KS >= 20000000 AND KS < 22000000
Formel
KS[4:5]

Bedingung
KS_IA >= 20000000 AND KS_IA < 22000000
Formel
KS_IA[4:5]

Sonst
''

Sofern also entweder die Kostenstelle oder die verantwortliche Kostenstelle zwischen 20000000  und  22000000 liegt wird in der Berechnungsvorschrift die 4. und 5. Stelle der Kostenstelle (die mit führenden 0 als zehstelliger Wert abgespeichert ist und bei achtstelligen Kostenstellenschlüsseln damit also die zweite und dritte Ziffer der Kostenstelle darstellt)  ausgewiesen.

Damit kann also im Feld Fachbereich direkt von 00 bis 99 jeder Fachbereich oder Abteilung mit ausgewiesen werden. Sofern die Kostenstelle in einen anderen Bereich liegt bleibt dann das Feld Fachbereich leer.

Lokales Zusatzfeld KSIA zum Ausweis jedglicher Kostenstelle

Da ich später nicht nur eine Auswertung nach Fachbereich sondern auch nach der jeweiligen Kostenstelle machen möchte habe ich noch ein zweites lokales Feld angelegt mit der Bezeichnung KSIA.

Auch dieses Feld ist ein Textfeld (mit 10 Zeichen)  und hat als Berechnungsvorschrift
KS + KS_IA

Da entweder die Kostenstelle oder der Auftrag und damit die verantwortliche Kostenstelle gefüllt ist, wird in diesen Feld dann die Kostenstelle ausgegeben.

Grundliste Query Kreditoren Einzelposten mit Gruppierung Bereich und Kostenstellen

Die Grundliste der Query sieht dann wie folgt aus.
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:

lokale Zusatzfeld
Fachbereich  (L)
Kostenstelle KSIA  (L)

EC-PCA: Ist-Einzelposten (GLPCA)
Geschäftsjahr (S) GLPCA-RYEAR
Kontonummer des Lieferanten bzw. Kreditors (L,S) GLPCA-LIFNR
Belegdatum im Beleg  (L,S) GLPCA-BLDAT
Kontonummer des Lieferanten bzw. Kreditors (L,S) GLPCA-LIFNR
Referenzbelegnummer (L,S) GLPCA-REFDOCNR
Belegart (L,S) GLPCA-BLART

Zusatzfelder
Text: Belegart  (L)  TEXT_GLPCA_BLART

EC-PCA: Ist-Einzelposten (GLPCA)
Kontonummer (L,S) GLPCA-RACCT

SKAT
Sachkontolangtext (L) SKAT-TXT50

EC-PCA: Ist-Einzelposten (GLPCA)
Betrag in Buchungskreiswährung (L) GLPCA-HSL
(sinnvoll kann es sein hier als Währungsfeldposition "kein Währungsfeld" zu markieren, sofern nur mit einer Währung bspw. EUR gearbeitet wird)
Positionstext (L) GLPCA-SGTXT
Kostenstelle (L,S) GLPCA-KOSTL
Innenauftrag (L,S) GLPCA-AUFNR

AUFK
Auftragkurztext (L) AUFK-KTEXT
Verantwortliche Kostenstellle (L) AUFK-KOSTV

Damit habe ich dann tatsächlich alle für unsere Auswertung erforderliche Daten vorhanden.

ALV Liste Gruppieren und Zwischensummen

In der ausgeführten Query kann ich dann über die Schaltfläche Zwischensummen für die Felder Fachbereich und Kostenstelle KSIA sowohl Sortierung als auch Zwischensummen  aktivieren und habe damit eine Liste mit Zwischensummen über die gebuchten Beträge.

Sobald eine solche Zwischensumme gebildet wurde, kann aber über den Zauberwürfel (Layout auswählen und hier die Auswahl im Ausklappmenü auf Layout ändern) aus den Spaltenvorrat die nun vorhandene Spalte Zähler mit in die angezeigten Spalten übernommen werden und man hat sowohl für die Kostenstellen (inklusive der verantwortlichen Kostenstelle der Projekte) als auch auf Ebene der Fachbereiche eine Summe aller Buchungen mit ausgewiesen.

Summenaufrissstufen in ALV Liste wählen

Über die Schatfläche Zwischensumme kann das Menü Aufrisssummenstufe gewählt werden und hier eine Zwischensumme auf Ebene
  • 0 Nicht-Summenzeilen
  • 1 Kostenstelle KSIA
  • 2 Fachbereich
gewählt werden. Hier werden je nach Stufe die tieferliegenden Positionen zugeklappt, so dass zum Beispiel bei der Option 2 nur die Anzahl der Belege auf Ebene der Fachbereiche ausgewiesen werden.

Im Ergebnis sieht man nun Buchungsvolumen sowie in Form der Beträge als auch der Anzahl der Buchungen.

Durch die Selektion der Belegart können nun auch Zahlungen (ZP) unberücksichtigt bleiben (ausgefiltert werden) oder auch einzelne Belegarten direkt in der Selektion der Query gewählt werden.

Fazit

Auf diese Weise kann also relativ einfach das Buchungsvolumen betrachtet werden aber gleichzeitig ist dieses auch ein Beispiel dafür, wie ich selbst das Blog hier nutze um aus bestehenden Lösungen auch neue Probleme direkt zu lösen.

Damit trage ich sozusagen zu meinen eigenen SAP KnowHow bei, da ich die Lösung mit den lokalen Zusatzfeldern im ersten Moment auch nciht mehr in Erinnerung hatte. Aber dafür gibt es ja glücklicherweise die Artikelsuche im Blog ;-).

Belege zählen im FI Belegjournal

Selbstverständlich ist die beschriebene Vorgehensweise nur ein Weg um an ein Ergebnis zu kommen. Für die Fragestellung mit Kreditorenbelege war die Vorgehensweise schon durch die vorhandene Query und den gewohnten Umgang mit ihr recht naheliegend. Sollen jedoch alle Belege eines Bereiches gezählt werden würde ich die lokalen Zusatzfelder eher innerhalb der mehr in der Finanzbuchhaltung angesiedelten "Query FI Einzelposten als Belegjournal - Belegsegment (BSEG) und Belegkopf (BKPF) verknüpfen" einbinden und mich hier nicht der Nebenrechnung bzw. des Ledger der Profit-Center-Rechnung widmen.

Analyse sprechender Nummernschlüssel in SAP Query

Grundsätzlich hat die Übersetzung von sprechenden Nummernkreise tatsächlich das Potential innerhalb einer Query eine ausführlichere Analyse zu machen. Unter "Auswertung sprechender Nummernkreisintervalle von CO Innenaufträgen mit Query Zusatzfeldcoding und Unterscheidung numerischer oder alphanumerischer Schlüssel" habe ich dieses für Innenauftragsnummern beschrieben und hier auch im Artikel "Drittmittelstatistik nach LOMZ über Recherchebericht und SAP Query" dieses auch für weitere Merkmale genutzt.

Feedback auf meiner Facebook Seite

Das Thema Ausweis Fachbereich werde ich in einen der folgenden Artikeln noch einmal aufgreifen (dann allerdings mit Lehreinheitsbezeichnung) und dabei auch auf das Thema ABAP Code in Excel generieren etwas näher beschreiben. Wobei ich hier schon auf Facebook Ende letzten Jahres (siehe Beitrag auf facebook.com/unkelbach) wirklich hilfreiches Feedback erhalten habe.

Wo ich gerade Facebook anspreche. wer mag kann auch gerne, so auf Facebook angemeldet eine Bewertung für meine Seite abgeben.

 

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.
Diesen und weitere Texte von Andreas Unkelbach finden Sie auf http://www.andreas-unkelbach.de


Dienstag, 4. April 2017
18:48 Uhr

MS Word als Editor für Langtexte bei CO Innenauftrag und Kostenstelle sowie SAP Script und Smart Forms festlegen

In der Stammdatenpflege von CO Innenauftrag (Transaktion KO02), Kostenstelle (Transaktion KS02) oder auch bei Kostenarten (Transaktion KA02) besteht die Möglichkeit neben einer Beschreibung auch für die einzelnen Beschreibungen einen Langtext zu pflegen.

Langtextpflege zur Beschreibung von Innenauftrag oder Kostenstelle

Hierzu ist die entsprechende Schaltfläche neben der Beschreibung anzuklicken (Langtext anzeigen bzw. pflegen) und es kann für einzelne Sprachen eine ausführliche Beschreibung zum CO Objekt hinterlegt werden.

Eventuell muss hier noch die zu pflegende Sprache des Feldes gewählt worden.

Danach können hier im SAP Editor ausführlichere Informationen (zum Beispiel Historie bei sich ändernden Kostenstellenbezeichnungen oder sonstige ausführliche Informationen zum CO Objekt) hinterlegt werden.

Da hier mehr als eine Zeile zur Verfügung steht ist dies eine gerne genutzte Stelle für ausführliche Informationen zum jeweiligen Objekt.

Bisher war hier immer ein Editor in SAP aufgerufen und man konnte über
  • SPRINGEN
  • EDITOR WECHSELN
auf einen Zeileneditor wechseln. Dieser Punkt ist noch immer möglich, jedoch wird nun statt eines SAP Editor ein in SAP eingebundenes MS Word (Winword) eingebunden mit reduzierten Schaltflächen in dem die Texte bearbeitet werden können.

MS Word als Editor für SAP Script

Seit SAP ERP [Central Component (ECC)] 6.2 Enhancement Package 42 ist es möglich MS Word als Editor für SAP Script bzw. Smart Forms zu aktivieren. Ab aktuelleren Releases kann nur noch MS Word als Editor für SAP Script bzw. Smart Forms verwendet werden.

Grundsätzlich sollte in der Transaktion I18N Internationalisierung unter den Punkt I18N Customizing durch die Option MS Word als Editor möglich auf Word als Editor zu wechseln.

Dieses ist neben SAP Script und Smart Forms auch erforderlich um Standardtexte zum Beispiel in der Transaktion SO10 für den Anmeldehinweis beim Anmeldeschirm von SAP zu bearbeiten (siehe hierzu auch im berater-wiki.de unter "Pflege SAPscript-Textbausteine mit Transaktion SO10 (ID = ST)").

Eine Deaktivierung von MS Word als Editor für SAPscript und Smart Forms scheint allerdings nur noch per ABAP Report möglich zu sein. Hierzu muss mit der Transaktion SA38 der Report RSCPSETEDITOR gestartet werden.

Danach erfolgt eine Auswahl in der für
  • SAPScript
  • Smart Forms
festgelegt werden kann, dass hier MS Word als Editor verwendet werden soll.

Sofern diese Option aktiviert oder deaktiviert muss diese Option noch über die Schaltfläche "Aktivieren" aktiviert und damit produktiv geschaltet werden.

Diese Einstellung ist eine laufende Einstellung zu der kein Transportauftrag erstellt wird. Die Einstellung selbst wird in der Tabelle TCP0I "Parametertabelle für i18n-Systemkonfiguration" in den Feld sapscript_editor beziehungsweise. smartforms_editor im Feld Name ("Parameter fuer I18n Systemkonfiguration") und im Feld Value ("Wert für i18n-Systemkonfigurationsparameter (TCP0I-Wert)") mit der Ausprägung MSWord festgealten.

Ferner sind in dieser Tabelle auch letzte Änderer (LASTUSER) und Zeitpunkt der Änderung (TIMESTAMP) festgehalten.

Fazit

Da es bis auf die neue Ansicht kaum Funktionseinschränkungen bei der Nutzung von MS Word zur Pflege der Langtexte gibt und künftig SAP Script nur noch über MS Word gepflegt werden kann, ist es vielleicht tatsächlich empfehlenswert hier sich mit der neuen Oberfläche anzufreunden.

Interessant ist aber tatsächlich an welche Stellen SAP Script eingesetzt wird. Mir war die Textpflege bisher nicht bewusst als SAP Script Anwendung aufgefallen, was aber möglicherweise auch daran liegen mag, dass ich bisher nicht bewust mit SAP Script gearbeitet habe. Negativ aufgefallen wäre es mir vermutlich eher, wenn im Report Painter oder bei Rechercheberichten die Pflege der Kopfzeile davon betroffen wäre.

Gerade hier nutze ich, wie auch schon im Artikel "Grundlagen Kurzeinführung und Handbuch Report Painter Report Writer" sehr gern die Möglichkeit der Arbeit mit weiteren Texten. Zugegeben sind hier aber keine weiteren Sprachversionen zu pflegen. Gleiches gilt auch für andere von mir gerne genutzten Auswertungstool in SAP, die ich aber auch schon im Artikel "Unterschiedliche Auswertungsmöglichkeiten im Controlling (Report Writer, Recherchebericht, SAP Query) und natürlich Excel ;-)" zusammengestellt habe und auf die ich im Verlauf des Jahr 2017 sicher erneut noch einmal zurück kommen werde.

Bis dahin zeigt sich aber gerade an einen solchen Beispiel, wie sinnvoll der Austausch zwischen SAP Basis und den anderen Modulverantwortlichen (Keyusern) sein kann, so dass hier die Verwunderung über eine neue Oberfläche in SAP nicht allzu groß ist.

Werbung:
Nebenbei in der digitalen SAP Bibliothek von Espresso Tutorial (siehe auch SAP Know How)  sind auch Bücher wie "Praxishandbuch SAPscript für SAP ERP" oder "Praxisbuch SAP® Interactive Forms und Adobe® LiveCycle Designer" (Amazon Partnerlink) enthalten, so dass sich auch in dieses Thema vertieft werden kann :-)

Hinweis: Aktuelle Buchempfehlungen besonders SAP Fachbücher sind unter Buchempfehlungen inklusive ausführlicher Rezenssionen und Bestellmöglichkeit zu finden.
Diesen und weitere Texte von Andreas Unkelbach finden Sie auf http://www.andreas-unkelbach.de


Sonntag, 2. April 2017
18:41 Uhr

Auswertung per CMOD eingeführter kundeneigener Felder Kostenart, Kostenstelle und Innenauftrag per Stammdatenverzeichnis und SAP Query

Im Artikel "Stammdatenerweiterung von CO-Objekten am Beispiel ergänzende Kostenstelle beim Innenauftrag" wurde schon die Stammdatenerweiterung von Kostenarten, Kostenstellen und Innenaufträgen per Userexit (CMOD) beschrieben. Hierdurch sind bei Kostenstellen (bspw. über die Pflegetransaktionen KS01 Kostenstelle anlegen, KS02 Kostenstelle ändern und KS03 Kostenstelle anzeigen) sowie für Kostenarten (ebenfalls hier über die Transaktionen KA01, KA02, KA03)  die Registerkarte Zusatzfelder vorhanden über die die angelegten kundeneingene Felder gepflegt werden können.

Zusatzfelder per Gruppenrahmen im Auftragslayout CO Innenauftrag aktivieren

Lediglich zur Nutzung der Zusatzfelder für den CO Innenauftrag ist noch Customizing erforderlich, so dass die Felder genutzt werden können. Hierzu muss im Auftragslayout der Gruppenrahmen 09 kundeneigener Felder einer Registerkarte zugeordnet werden.

Dieses kann im Customizing über die Transaktion SPRO unter folgenden Pfad erfolgen:
  • Controlling
  • Innenaufträge
  • Aufragsstammdaten
  • Bildschirmgestaltung
  • Auftragslayout definieren
Hier können entsprechende Registerkarte für die CO Innenauftragspflege definiert werden und innerhalb eines Register der Gruppenrahmen 09 Kundeneigene Felder zugeordnet werden. Dieses Auftragslayout kann dann einzelnen Auftragsarten zugeordnet werden.

Zusammenhang Auftragsart - Auftragslayout

Sofern einer Auftragsart kein Auftragslayout zugeordnet ist, werden ohnehin alle Felder zur Pflege angeboten. Keine Regel ohne Ausnahme, sofern innerhalb des Auftragslayout über die Feldauswahl einzelne Felder ausgeblendet werden ist dieses nicht der Fall.

In diesen Beispiel soll aber tatsächlich das Auftragslayout genutzt werden. Entsprechend ist auch hier im Customizing die Auftragsart mit dem angelegten Auftragslayout verknüpft.

Dieses ist wiederum im Customizing (Transaktion SPRO) unter

  • Controlling
  • Innenaufträge
  • Auftragsstammdaten
  • Auftragsarten definieren

beziehungsweise mit der Transaktion KOT2_OPA möglich.

Eine ausführliche Beschreibung zum Thema Auftragslayout und Auftragsart ist auch in Buch "Schnelleinstieg ins SAP Controlling (CO)" geschildert :-)

Nun stellt sich aber die Frage, welche Auftragsarten nun eigentlich welchen Auftragslayout zugeordnet sind. Dieses kann relativ einfach über die Tabelle T003O "Auftragsarten" zum Beispiel über eine SAP Query anhand der Tabellenfelder in folgender Tabelle ausgewertet werden.
Beschreibung Technischer Name L S
Auswertung Auftragsart und Auftragslayout
Auftragsart T003O-AUART X X
Zusatzfeld Text Auftragsart TEXT_T003O_AUART X  
Auftragslayout T003O-LAYOUT X  

Dabei sind L als Listenfeld und S für Selektionsfelder vorgesehen.
Anhand dieser Query kann relativ schnell festgestellt werden, welche Auftragsarten und welches Auftragslayout zur Nutzung der Zusatzfelder angepasst werden muss.

Auswertung Zusatzfelder in Stammdatenlisten (KA23, KS13, KOK5)

Im Stammdatenverzeichnis für Kostenarten über die Transaktion KA23 oder für Kostenstellen über die Transaktion KS13 kann durch Nutzung der Option Selektionsvariante im Abschnitt Zusatzfelder anhand der Schaltfläche Zusatzfelder die kundeneigene Felder über eine freie Abgrenzung genutzt werden.

Im Unterschied dazu ist im Stammdatenverzeichnis für Innenaufträge (Transaktion KOK5) direkt eine Schaltfläche "kundeneigene Felder" nach Auswahl der Option Selektionsvariante vorhanden über die ebenfalls diese freie Abgrenzung erfolgen kann.

Auswertung Stammdatentabelle zum Beispiel per SAP Query

Eine weitere Frage ist, wie die neuen Stammdatenfelder in SAP Query oder in den Tabellen ausgewertet werden können.

Hierbei sind in den einzelnen Tabellen die Zusatzfelder als Customer Include der Stammdatentabelle hinzugefügt. Dieses kann auch in der Transaktion SE12 näher betrachtet werden.

In folgender Tabelle habe ich die Stammdatentabellen und das Include mit aufgeführt.
CO Objekt Tabelle Include Bezeichnung
CI Zusatzfelder
Innenauftrag AUFK CI_AUFK Zusatzfelder CO-Innenauftrag
Kostenstelle CSKS CI_CSKS Zusatzfelder Kostenstelle
Kostenart CSKB CI_CSKB Zusatzfelder Kostenart

Für ein Infoset bietet es sich an, diese Felder aus der Stammdatentabelle dann einer eigenen Feldgruppe zuzuordnen, so dass die Felder dann leicht gepflegt werden können und entsprechend in der Query genutzt werden können.

Werden diese Tabellen in einer Query genutzt werden die Zusatzfelder wie normale Tabellenfelder durch den CustomerINclude (CI) zur Verfügung gestellt.  Somit lassen sich auch die entsprechenden Query problemlos anpassen.
 

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.
Diesen und weitere Texte von Andreas Unkelbach finden Sie auf http://www.andreas-unkelbach.de


<< Frühere Einträge
Hinauf




Werbung


© 2004 - 2017 Andreas Unkelbach
Andreas Unkelbach

Stichwortverzeichnis
(Tagcloud)


Aktuelle Infos (Abo)

Facebook Twitter Google+

Schnelleinstieg ins SAP Controlling (CO) von Martin Munzel & Andreas Unkelbach
Privates

Kaffeekasse 📖 Wunschliste