Andreas Unkelbach
Werbung


Samstag, 17. September 2016
17:29 Uhr

Statistische Kennzahlen in Profit-Center-Rechnung EC-PCA auf einzelnen Profit-Center auswerten

Manchmal gibt es kleine Anfragen per eMail von befreundeten Hochschulen die nicht nur interessante Berichte entstehen lassen sondern sich gleichzeitig auch wunderbar als Artikel fürs Blog eignen. Hier bin ich immer wieder froh, dass zu manchen Kolleginnen und Kollegen eine sehr gute Kommunikation besteht und der gegenseitige Austausch funktioniert.

Ausgangslage / Fragestellung:
So hat eine sehr geschätzte Kollegin vor ein paar Tagen nachgefragt, ob es nicht eine Möglichkeit gibt sich im SAP anzeigen zu lassen welche Kennzahlen in der Planversion für ein bestimmtes Jahr auf welchem Profit-Center erfasst worden sind. Neben der fertigen und zugesandten Lösung soll nun aber auch hier die technische Umsetzung erläutert werden.

Von daher vielen Dank für die Anregung zum folgenden Artikel.

Statistische Kennzahlen in der Profit-Center-Rechnung

Ebenso wie im Gemeinkostencontrolling (siehe bspw. Artikel "Auswertung Statistische Kennzahlen auf Innenaufträge für Lehrimport und Lehrexport auf Ebene Studiengänge") können auch in der Profit-Center-Rechnung statistische Kennzahlen im Ist unter
  • Profit-Center-Rechnung->
  • Istbuchungen->
  • Statistische Kennzahlen->
  • Ändern  (Transaktion 9KE5))
oder im Plan unter
  • Profit-Center-Rechnung->
  • Planung->
  • Statistische Kennzahlen->
  • Ändern  (Transaktion 7KE5))
erfasst werden.

Leider wird in der Profit-Center-Rechnung kein Verteilschlüssel angeboten, so dass hier die Kennzahl über alle Monate identisch verteilt wird. Dieses ist besonders unangenehm wenn doch eigentlich die Werte von den einzelnen Fachabteilungen zum Beispiel in Form einer Exceltabelle geliefert werden.

Als Beispiele für relevante Kennzahlen können VK (Vollzeitkräfte oder FTE / VZÄ Vollzeitäquivalente für die Verteilung von Personal), HNF (Hauptnutzfläche für Raumkosten) oder eben auch STUD (für Studierende) genommen werden.

Wenn nun die eingespielten Kennzahlen mit den vorliegenden Listen zum Beispiel der Studierendenstatistik verglichen werden sollen, würde sich ja ein entsprechender Bericht in SAP anbieten. Gerade anhand der Hochschulfinanzstatistik, die auch schon im Artikel "Pivottabellen ab Excel 2010 dynamischer filtern mit Datenschnitten am Beispiel Hochschulfinanzstatistik" Thema war, bieten sich solche Auswertungen oftmals an.

Vorhandene Auswertungen zu Statistische Kennzahlen

Nachdem die Kennzahlen erfasst worden sind gab es die Nachfrage, ob in SAP eine Auswertung der Kennzahlen einer Planversion nach einzelnen Profit-Centern übersichtlich möglich wäre.

Die Erste Vermutung im SAP Standard zu schauen ergab hierbei folgendes Zwischenergebnis:

Der Bericht unter
  • Controlling ->
  • Profit-Center-Rechnung->
  • Infosystem->
  • Listorientierte Berichte ->
  • Profit Center: Statistische Kennzahlen (Transaktion S_ALR_87013342)
liefert nur die Summe der statistischen. Kennzahlen nach einzelnen Monatswerten (beziehungsweise Perioden) und nicht differenziert nach einzelnen Profit-Centern.
Eine Alternative wären noch die Plan-Einzelposten, die im SAP Menü unter folgenden Punkten zu finden sind:
  • Controlling ->
  • Profit-Center-Rechnung->
  • Infosystem->
  • Einzelpostenberichte->
  • Profit Center: Plan-Einzelposten (Transaktion KE5Y).

Auch die Planeinzelposten liefern nur die Gesamtsumme  je Profit-Center ohne Unterscheidung nach einzelnen Perioden.

Report Painter Bericht über "Menge statistischer Kennzahl"

Entsprechend kommt hier ein Report Writer / Report Painter Bericht in Frage:

Über die Transaktion GRR1 kann dieser Bericht in der Bibliothek 8A2 angelegt werden.

Damit auch einzelne Perioden dargestellt werden können, wird das Merkmal Periode in den

Der Bericht ist dabei wie folgt aufgebaut:

Allgemeine Selektion:
Periode (Variable)   8A-VON  bis 8A-BIS 

Durch die Verwendung als "Allgemeine Selektion" kann über BEARBEITEN-> VARIATION die Periode als Auflösen markiert werden. Damit können sowohl alle Perioden als auch einzelne Perioden ausgewertet werden-


Schlüsselspalten
Basiskennzahl ist in allen Spalten die "Menge statistischer Kennzahl".

Danach werden sowohl IST als auch PLAN als Spalten definiert.

IST Kennzahlen:
Geschäftsjahr (Variable) 8A-YEAR
Version 0
Ledger 8A
Satzart 0 (Ist)

PLAN Kennzahlen
Geschäftsjahr (Variable) 8A-YEAR
Version (Variable) 0M1VERS
Ledger 8A
Satzart 1 (Plan)
Sinnvollerweise sollte hier als Text zur Spalte die selektierte Version ebenfalls hinterlegt werden. Entsprechend kann hier "Plan &0M1VERS" als Kurztext gewählt werden.

Nachdem nun die Spalten geklärt sind, können die Zeilen definiert werden.

Schlüsselzeilen:
Hier weden zwei Merkmale als ein Element zugewiesen:
Profitcenter (Gruppe, Variable) 8A-PCGR
Stat.Kennzahl (Gruppe, Variable) 8A-STAG

Über die Schaltfläche Expandieren (UMSCH+F9)  können nun sowohl Profitcenter (als 1 markiert) als auch Stat Kennzahlen (als 2 markiert) mit den Merkmal "Einzelwert" ausgewählt werden.

Damit wird in der Auswertung die Profit-Center und die zugehörigen stat. Kennzahlen als Liste ausgegeben.

Unter FORMATIEREN->BERICHTSLAYOUT sollte dann noch im Reiter Schlüsselspalte der Inhalt Schlüssel eingetragen werden, so dass nur der Schlüssel des Profit-Center als auch die statistische Kennzahl und der jeweilige Wert mit ausgegeben werden.

Berücksichtigung Profit-Center-Hierarchie bzw. Gruppen durch Abschnitt oder zwei Berichte einmal mit Einzelwerte und dann als Gruppenhierarchie

Nun wird es noch etwas komplexer. Sofern  der Wunsch besteht, dass auch eine Hierarchie der Profit-Center zusätzlich angezeigt wird. kann bei Expandieren die Option "Auflösen" statt Einzelwert für die Profit-Center gewählt werden. Damit werden die einzelnen Ober- und Untergruppen der ausgewählten Profit-Center-Gruppe mit ausgegeben. Die Einstellung der Einzelwerte für die statistische Kennzahl sollte aber beibehalten werden.

Je nachdem, ob mit der Excel-Ansicht (aktivierte Office-Integration)  gearbeitet wird oder die Werte nur in SAP abgebildet werden sollte nun entweder diese Variante als eigener Bericht (dann kann in der Navigation auf der linken Seite zwischen den einzelnen Berichten hin und her geschaltet werden) oder alternativ kann ein Abschnitt eingefügt werden und hier die alternative Darstellung gewählt werden. Ohne die Office Integration sind beide Abschnitte in SAP untereinander dargestellt. Bei aktivierter Excel-Intergration wird es interessanter, da nun jeder Variante (eigentlich Abschnitt) ein eigenes Tabellenblatt bekommt.

Ein interessanter Aspekt in diesen Zusammenhang dürfte dann noch der Artikel "Kopfzeilen im Report Painter auch bei Export nach Excel verwenden" um noch weitere Informationen in der Exceltabelle mit ausgegeben werden.

Berichtsgruppe anlegen

Nun muss der Bericht nur noch einer Berichtsgruppe zugeordnet werden. Dieses ist entwerder beim direkten Start des Berichtes oder über die Transaktion GR52 möglich.Danach kann der Bericht neben der Möglichkeit aus der Bibliothelk (Transaktion GRR2, GRR3) auch mit der Transaktion GR55 "Berichtsgruppe ausführen" die direkt gestartet werden. Diese Möglichkeit wird auch für eine kundeneigene Transaktion für angelegte Berichte, wie im Artikel "Parametertransaktion für Reporwriter" beschrieben genutzt, so dass eine eigene Transaktion für diesen Bericht angelegt werden kann.

Sofern der Bericht auch anderen zur Verfügung gestellt werden soll ist der Artikel "Report Writer oder Report Painter Berichte über Dateisystem inklusive Bibliothek Variablen und Berichtsgruppe exportieren und importieren" die richtige Anlaufstelle.

Austausch im Hochschulberichtswesen

Grundsätzlich muss ich übrigens sagen, dass der kollegiale Austausch wie auch schon im Artikel oder bei um nur einige wenige Beispiele zu nennen, ein sehr angenehmer Aspekt ist.  Gerade das Thema Berichtswesen wird ja auch im Artikel "Unterschiedliche Auswertungsmöglichkeiten im Controlling (Report Writer, Recherchebericht, SAP Query) und natürlich Excel ;-)" angesprochen und sollte daher für alle Beteiligten von Interesse sein.

Sofern dieser Artikel oder auch andere zum Wissensaustausch beitragen können und so Interesse am gegenseitigen Austausch fördern, ist das in meinen Augen immer begrüßenswert. Von daher sind Informationen selten eine Einbahnstraße und es ist zu hoffen, dass heir auch wieder lebendiger Verkehr zu vermelden ist. So kann hier dargestellt werden, was möglich ist und vorhandene Ideen weiter entwickelt werden um daraus neue Ideen zu verwirklichen. So können hier auch schon Synergien durch einfache Fragen und kleine Berichte entstehen.

 

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, 17. September 2016
11:18 Uhr

Excel rechnet mit Farben oder ZÄHLENWENN bzw. SUMMEWENN anhand der Hintergrundfarbe der Zelle dank ZELLE.ZUORDNEN ohne VBA

Nachdem Einladungen per Serienmail versandt worden sind (siehe Artikel "Serienmails über Serienbrieffunktion in Winword per Outlook, Thunderbird oder anderen Mailprogramm versenden") kommt es an der Erfassung von Rückmeldungen.

Hierbei werden mit Farben folgende Rückmeldungen festgehalten worden:
  • Liste mit Teilnahmegebühren und farbliche Hervorhebung ob die Gebühr bezahlt worden ist oder nicht.
  • Liste mit Rückmeldungen ob an einer Veranstaltung teilgenommen wird oder eben nicht.
In beiden Fällen sind die Formatvorlagen Gut (grüne Hintergrundfarbe), Neutral (gelbe Hintergrundfarbe) oder auch Schlecht (rot/rosa Hintergrund) genutzt worden um einen Zustand zu definieren. Nun liegen zwar wunderschöne Farben in der Tabelle vor, aber eventuell sollen nun ja auch die Teilnehmenden gezählt werden, oder aber auch die gezahlten oder noch offenen Beträge zusammengefasst werden.

Nehmen wir als Beispiel einmal folgende Ausgangstabellen, wie in der Abbildung zu sehen ist.

Tabelle mit Rückmeldungen zur Teilnahme oder Rechnungen die farblich markiert sind

Nun könnte man natürlich auf die Idee kommen die einzelnen Rückmeldungen oder auch Rechnungsbeträge per Filter, wie im Artikel "Vorteil von Excel Formatvorlagen und Filter nach Farben oder Zellensymbolen aus bedingter Formatierung" zu sortieren um dann ein entsprechendes Teilergebnis zu berechnen. Dieses ist dann allerdings unschön, da sich ja die Farben auch ändern können. Zum Beispiel könnte die Rechnung Kunde-A-02 ja doch noch bezahlt werden und der Rechnungsbetrag ist einfach untergegangen.

Hier hat mich ein Kollege auf die Excel4-Makrofunktionen ZELLE.ZUORDNEN hingewiesen. Eine solche Makrofunktion kann nicht direkt im Tabellenblatt genutzt werden sondern muss im Namensmanager als benannte Formel eingerichtet werden. Eine sehr gute umfassende Beschreibung ist von Frank Arendt-Theilen  im Artikel "Die Funktion ZELLE.ZUORDNEN() " veröffentlicht worden (der Artikel ist auch in der Microsoft Answers zu finden, aber mir ist die Verlinkung auf ein persönliches Blog immer lieber).

Frank Arendt-Theilen ist auch als Dozent unter anderen bei Video2brain als Autor tätig. Auf einige gute Schulungsvideos zu Excel (und andere Office Produkte) sind im Artikel "Video2brain - Onlineschulung per Videostreaming unter Android, Windows, iOS und Web" zu finden.


Das Schöne an dieser Funktion ist, dass hier nicht VBA aktiviert werden muss sondern diese direkt funktioniert. Allerdings muss in "neueren" Excelversionen (ab 2007) zur Nutzung der Makrofunktion die Datei als "Excel Arbeitsmappe mit Makros" (Dateiendung XLSM) gespeichert werden.

Nun aber zur tatsächlichen Lösung. Für Facebook Abonenten (siehe facebook.com/Unkelbach) ist dieses schon vor einigen Tagen angesprochen worden. Nun möchte ich aber die Lösung etwas ausführlicher beschreiben und zum Ende eine offene Frage stellen in der Hoffnung, dass vielleicht andere Excelblogs eine Lösung für diese Frage haben.

Über den Ribbon FORMELN kann in der Befehlsgruppe "Definierte Namen" der Namensmanager aufgerufen werden und hier zwei neue Namen definiert werden, wie in der folgende Abbildung schon dargestellt worden ist.

Namensmanager mit EXCEL4-Makrofunktion zur Bestimmung der Farbwerte der Hintergrundfarbe

Zur besseren Lesbarkeit noch einmal beide definierte Namensfunktionen:
 
Name bezieht sich auf
Namensmanager definierte Funktionen
Farbe_L1 =ZELLE.ZUORDNEN(63;INDIREKT("ZS(-1)";))
Farbe_Zelle =ZELLE.ZUORDNEN(63;INDIREKT("ZS";))

Dabei wird über Farbe_L1 der Wert der Hintergrundfarbe der linken Zelle und über Farbe_Zelle der Wert der Hintergrundfarbe der aktuellen Zelle ausgegeben. Die indirekte Zuordnung von Zellen und Spalten anstatt direkt mit Werten zu arbeiten ist sehr verständlich (inklusive Hinweis auf internationale Excelversionen) im Artikel "#INDIREKT mit #Nummerierung" von Katharina Schwarzer auf soprani.at (Soprani Software @KatharinaKanns) beschrieben. Insgesamt sind nebenbei einige Twitteraccounts zu Excel sehr lesenswert, aber das nur am Rande.

Beschreibung ZELLE.ZUORDNEN

Die EXCEL4-Makroformel ZELLE.ZUORDNEN ist dabei wie folgt aufgebaut:
ZELLE.ZUORDNEN(Typ;Bezug)
Als Typ ist im oberen Beispiel 63 (Wert der Farbe für die Füllung (Hintergrund) einer Zelle und als Bezug ist wie beschrieben die Zelle eine Spalte (-1) der aktuellen Zelle oder aber die aktuelle Zelle selbst festgehalten.  Näheres dazu ist auch im Artikel von soprani.at zu finden.

Sofern die Vordergrundfarbe (Muster) abgefragt werden soll kann hier als Typ 64 gewählt werden.  Für die weiteren Argumente und weitere Typen verweise ich auf den Artikel von Frank Arendt-Theilen.



Jetzt können wir über =Farbe_L1 den Wert der Hintergrundfarbe einer Zelle links von der Formeleingabe ausgeben lassen.

Formeln automatisch auf markierte Zellen übertragen lassen (STRG + ENTER)

Hierzu markiere ich die Zellen D9:D16 sowie H9:H16  und trage als Wert in der Eingabezeile die Anweisung ein, dass hier die Hintergrundfarbe ausgegeben werden soll. Durch die Tastenkombination STRG und ENTER schliesse ich die Eingabe ab.

Formel farbe_L1 zur Berechnung der Hintergrundfarbe

Auch wenn ich die Formel eigentlich in der Zelle H9 eingetragen habe, wird diese Formel automatisch auch in den anderen Zellen eingetragen.

Dieses ist eine Form des automatischen Ausfüllens durch das nicht Formatierungen überschrieben werden und gerade bei umfangreicher formatierten Tabellen für mich mittlerweile eine der Lieblingstastenkombinationen in Excel ist.


Im Ergebnis ist nun in der Spalte neben der Eingabe die Hintergrundfarbe als Zahlenwert stehen.

Hintergrundfarbe als Zahl dargestellt

Hier kann nun per Zählenwenn oder SummeWenn im oberen Abschnitt die Teilnehmenden oder die Rechnungsbeträge ausgewiesen werden. Dabei kann natürlich auch in der Formel selbst ein Bezug auf die Zelle in der Legende per Farbe_L1 genommen werden.

ZÄHLEWENN Hintergrundfarbe der Zelle übereinstimmt

Um die jeweiligen Rückmeldungen zu zählen wird die Formel

=ZÄHLENWENN($D$9:$D$16;Farbe_L1)

in den Zellen C3 bis C6 eingetragen, so dass hier die übereinstimmende Hintergrundfarben gezählt werden.

ZÄHLEWENN Hintergrundfarbe übereinstimmt

So hat als Beispiel GUT den Hintergrundfarbwert 35, so dass hier die beiden Rückmeldungen von Andreas und Claudia gezählt werden. Die beiden negativen Rückmeldungen von Gustav und Heinrich werden natürlich ebenso gezählt.

SUMMEWENN Hintergrundfarbe

Ebenso kann natürlich auch eine Summe gebildet werden, wobei der Suchbereich die Zellen H9:H16 und der Summenbereich die Zellen G9:G16 sind (elegant wäre es natürlich hier ebenfalls mit Namen zu arbeiten ;-)).Hier lautet die Formel demnach in den Zellen G3:G6

=SUMMEWENN($H$9:$H$16;Farbe_L1;$G$9:$G$16)

wie auch in der Abbildung zu sehen ist.

SUMMEWENN  Hintergrundfarbe übereinstimmt

Farbergebnis mit direkten Bezug auf Zelle

Wir hatten ja eingangs auch per Namensmanager Farbe_Zelle definiert. Dieses kommt in der Summenzeile nun im Einsatz und gibt direkt in der Zelle selbst die Summen bzw. Teilnehmenden aus.

So lautet die Formel für die Teilnehmende:

=ZÄHLENWENN($D$9:$D$16;Farbe_Zelle)

und für die Summe der Rechnungen;

=SUMMEWENN($H$9:$H$16;Farbe_Zelle;$G$9:$G$16)

und das gewünschte Ergebnis sieht dann wie folgt aus, wobei ich hier die Hilfsspalten D und H entsprechend ausgeblendet (bzw. Gruppiert) habe.

Ergebnis mit der Hintergrundfarbe einer Tabellenzelle rechnen
Im Ergebnis kann so also tatsächlich mit der Hintergrundfarbe in Excel gerechnet werden.
Natürlich ist der umgekehrte Weg vorhandene Zellen bedingt zu formatieren (siehe "Excel: bedingte Formatierung mit Pfeilen (Darstellung Tendenzen bei Veränderungen)") etwas pflegeleichter aber hier kann direkt mit entsprechend vorhandenen Formatierungen gearbeitet werden. Ausserdem sind Farben ja auch sprechende Informationen ;-) Ebenfalls ein Vorteil ist, dass fehlende Teilnehmende zum Beispiel Elisabeth oder Emil ebenfalls in der Liste ergänzt werden können und natürlich auch weitere Rechnungen in der Liste als bezahlt markiert oder auch andere Positionen ergänzt werden.
 

Offene Frage an andere Excelexperten

Leider habe ich es ohne Hilfsspalten nicht geschafft eine solche Berechnung hinzubekommen, würde mich aber sehr freuen, wenn als Kommentar eine entsprechende Lösung (gerne auch durch einen anderen Blogartikel auf den ich dann verlinken würde) ergänzt werden könnte. Ein variabler Index über die Hintergrundfarbwerte in Form einer Matrixfunktion wäre hier natürlich ein absoluter Königsweg, den ich aber leider nicht geschafft habe zu beschreiten.

Aber auch mit der Hilfsspalte selbst ist die Lösung für manche Anwendungsfälle schon sehr hilfreich. Besonders elegant ist diese Lösung auch für Einrichtungen bei denen VBA per Gruppenrichtlinie in Excel deaktiviert ist... wobei dadurch auch die Excelansicht in SAP nicht mehr funktioniert was dann aber ein anderes Problemfeld ist.

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, 3. September 2016
22:14 Uhr

Kundeneigene Transaktionen zu Berichten in PSM FM Haushaltsmanagement zum Beispiel Belegjournal anlegen (Variantentransaktion)

Im Rahmen einer Überarbeitung eines PSM-FM Berichtswesen sollen neben den Rechercheberichten auch Varianten zu Einzelpostenlisten als eigene Transaktion in ein Benutzermenü (siehe Artikel "Benutzereigene SAP Menüs (Favoriten, Benutzermenü, Bereichsmenü)") hinterlegt werden. Auf diese Weise können Infouser direkt bestimmte Informationen, so zum Beispiel Sachmittel, als Liste auswerten ohne, dass sie vorher genau auswählen müssen ob sie nun Personalkosten, Lehrbeauftragte und Hilfskräfte oder Sachmittel angezeigt bekommen wollen.
Ferner können durch die geschickte Wahl einer Variante auch erledigte Positionen, wie abgebaute Mittelbindungen, ausgeblendet werden, so dass nur die relevanten Positionen innerhalb einer Einzelpostenliste dargestellt werden und später auch nach Excel exportiert werden können (siehe auch "Grundlagen - Berichte von SAP nach Excel exportieren" )

Die Grundlagen zur Erstellung eines Recherchebericht in PSM-FM (Public Sector Management-Haushaltsmanagement) habe ich in den Artikeln "Saldenliste für Fonds im Haushaltsmanagement Saldo gegen Ertrag und Saldo gegen Budget" und "Recherchebericht Budget + Ertrag ggü. Aufwand" ausführlich beschrieben. Allerdings sind Rechercheberichte mittlerweile auch im Bilanzreporting oder in der Ergebnisrechnung ein Berichtstool wie im Artikel "Rechercheberichte im Modul FI (Bilanzanalyse)" gezeigt wird.

Solche Rechercheberichte können als Parametertransaktion, wie im Artikel "Parametertransaktion für Recherchebericht" beschrieben als kundeneigene Transaktion angelegt werden. Der Unterschied zwischen den einzelnen Transaktionsarten ist unter anderen auch im Artikel "Transaktion anlegen (Report, Parameter) bspw. für SAP Query / Unterschied Parameter- oder Reporttransaktion" beschrieben.

Nun soll aber für eine vorhandene Transaktion eine entsprechende Variante einer Einzelpostenauswertung angelegt werden.

Belegjournal - Obligo/Ist Alle Buchungen


Innerhalb des Belegjournal (Transaktion FMRP_RFFMEP1AX) zu finden unter
  • Rechnungswesen
  • Public Sector Management
  • Haushaltsmanagement
  • Infosystem
  • Einzelposten
  • Obligo und Ist
  • Alle Buchungen (Transaktion FMRP_RFFMEP1AX )
sind verschiedene Varianten zur Vorbelegung des Selektionsbildschirm angelegt worden.
 

Varianten zum Belegjournal PSM-FM Einzelposten

Hierbei sind verschiedene Felder schon ausgefüllt (u.a. auch mit Kennzeichen GPA ausschalten siehe Artikel "SAP Berichte alter Name Kostenstelle (falscher Stichtag)" oder auch "PSM: Selektionsvarianten und Wertübernahme aus vorherigen Selektionen") und müssen daher durch die Infouser nur noch um die relevanten Fonds oder Finanzstellen ergänzt werden.. Ein wichtiger Punkt ist auch hinter der Freien Abgrenzung unter den Obligo-Einzelposten der Punkt "Position erledigt" welcher per Optionen als Einzelwert aktiviert mit Leerzeichen gewählt sein sollte um abgebaute Mittelbindungen, die erledigt sind, nicht mehr anzeigen zu lassen.

Für die Anzeigevarianten (benutzerübergreifend oder benutzerspezifisch) ist hier auch das Berechtigungsobjekt S_ALV_LAYO mit der Aktivität 23 für Pflegen. Ist die Berechtigung nicht vorhanden können nur benutzerspezifische Layoutvarianten gespeichert werden.

Neben der Variante ALLGEMEIN sind hier auch SACH für Sachmittel und PERSONAL für Personalmittel angelegt worden, so dass über diese Varianten entsprechende Selektionen vorweggenommen werden können und die Infouser direkt mit dieser Variante arbeiten können.

Nun sollen für diese einzelnen Varianten kundeneigene Transaktion (als Z* oder Y*) angelegt werden.

Der erste Gedanke wäre hier tatsächlich, vergleichbar zu CO Berichten eine sogenannte Variantentransaktion anzulegen.

Variantentransaktion anlegen

Anstatt hier direkt anhand des Belegjournal das Beispiel durchzugehen möchte ich die folgenden Schritte mit einen CO Bericht erläutern.

Nehmen wir an, dass für den Bericht S_ALR_87013611 eine entsprechende Variante ALLGEMEIN angelegt ist. Nun kann über die Transaktion SE93 eine neue Transaktion angelegt werden.

Nachdem der neue Transaktionscode angegeben worden ist ist hier zum Einen ein Kurztext für die Transaktion anzugeben und als Startobjekt eine Auswahl getroffen werden.

Die erste Wahl wäre hier

"Transaktion mit Variante (Variantentransaktion)".


Danach kann die ursprüngliche Transaktion ausgewählt werden, in unseren Beispiel also S_ALR_87013611 und über das Feld Transaktionsvariante die entsprechende Variante der Transaktion. Leider stehen hier dann nicht die angelegte Varianten zur Verfügung. Gleiches gilt leider auch für das Belegjournal. Vermutlich würde diese Art der Transaktion mit Varianten der Transaktion KOK5 (CO Innenauftrag Stammdatenliste) funktionieren.

Also der zweite Versuch

"Programm und Selektionsbild (Reporttransaktion)"


Hier kann der Report (Technische Info) zur Transaktion hinterlegt werden z.B. GP4QLQKH46VZJ3P1A40A23S3HJG850 für S_ALR_87013611 .

Hier funktioniert dann auch für das Selektionsbild 1000 der Start mit der Variante die direkt hinterlegt werden kann.

Leider ist dieses nicht möglich für den Report hinter den Belegjournal (Report RFFMEPGAX zur Transaktion FMRP_RFFMEP1AX) Es erfolgt die Fehlermeldung "Es wurden keine geeigneten Varianten für Bild 1000 gefunden".

Somit bleibt auch hier nur die vertraute

"Transaktion mit Parametern (Paramtertransaktion)"

Hier können nun ebenfalls für die Transaktion START_REPORT unter anderen die Felder
  • Reporttyp
  • Report
  • Erweiterter Name
  • Variante
mit Werten versorgt werden.

Dazu wird in der Transaktion SE93 eine Parametertransaktion angelegt mit den Vorschlagswerten für die Transaktion START_REPORT. Wichtig ist nun, dass das Feld Einstiegsbild überspringen aktiviert wird. Ferner sollten im Abschnitt Klassifikation die GUI EIgenschaften geerbt werden. Nachdem die Transaktion START_REPORT mit Enter bestätigt worden sind, kann per F4 Auswahlhilfe in der Tabelle mit Vorschlagswerten die einzelnen Dynprofelder ausgewählt werden.

Interessant sind nun folgende Felder
Name des Dynprofeldes Wert
Parametertransaktion für Recherchebericht RFFMEPGAX
D_SREPOVARI-REPORT RFFMEPGAX
D_SREPOVARI-VARIANT Die angelegte Variante bspw. SACH oder PERS

Sofern nun diese neu angelegte Transaktion gestartet wird, wird automatisch das Belegjournal mit den entsprechenden vorbelegten Feldern gestartet. Im Unterschied zu der eigentlichen Transaktion FMRP_RFFMEP1AX sind hier zwar noch weitere Abschnitte im Selektionsbild eingeblendet (Obligo/Ist und FI-Beleg), was am aufgerufenen Report liegt, aber auch diese Felder können per "Feld schützen" vor unbeabsichtigten Änderungen geschützt werden. Somit können also neben Recherchberichten auch Varianten des Belegjournal als eigene Transaktion angelegt werden.

Varianten schützen

Da diese Varianten durch die Parametertransaktion erwartet werden und die Transaktion START_REPORT nicht gegen das Berechtigungsobjekt S_TCODE geprüft wird sondern lediglich der hinter der Transaktion liegende Report (Berechtigungen für Recherchebericht oder auch Belegjournal) ist es notwendig, die Varianten zu speichern und die Option Variante schützen zu wählen.

Sollten einmal geschützte Variante dennoch bearbeitet werden, ist sicherlich der Hinweis auf den Artikel "Frühjahrsputz oder geschützte Varianten und nicht mehr benötigte Rechercheberichte entfernen oder reorganisieren", aber auch die Notwendigkeit angelegte Berichte ordentlich zu dokumentieren ist auch im Artikel "Fachliche und technische Dokumentation von Selektionsvarianten und individuelle Berichte in SAP identifizieren" mit einigen Empfehlungen bedacht worden.

Der Vorteil an solcherart angelegten Transaktionen zum direkten Aufruf von Varianten von Standardberichten ist, dass man hier direkt auf diese Transaktionen im Support verweisen kann und das Berichtswesen nicht mehr innerhalb eines Handbuch auf verschiedene Handhabungen eines bestehenden Berichtes verweisen muss sondern hier die Möglichkeiten vorhanden sind die gewünschte Information in einer gewünschten Art und Weise darzustellen ohne dass dabei ein Missverständnis zustande kommt oder aber SAP wieder einmal ganz und gar andere Daten ausspuckt als der Berichtsempfänger eigentlich erwartet hätte.

Dennoch oder vielleicht auch gerade deswegen sollte sich hier sehr genau darüber Gedanken gemacht werden welche Berichte zur Verfügung gestellt werden und ferner sollte man sich darüber bewusst sein, dass weiterhin für die Endanwende die Möglichkeit besteht eine eigene Variante des Berichtes auszuwählen oder gar eine individuelle Berichtsvariante abzuspeichern. Gerade an dieser Stelle ist das Berichtswesen gleichzeitig mit Berechtigungswesen zu verknüpfen.

Einige interessante Ansätze liefern hier die Artikel "Belegartberechtigung F_BKPF_BLA" oder auch "SAP BC: Personalkontenberechtigungen". Auch wenn ich meine Diplomarbeit zur Erlangung des Grades eines Diplom-Betriebswirt (FH) über das Thema: "Berechtigungswesen in SAP auf Basis der Überarbeitung des vorhandenen Konzeptes der FH Gießen-Friedberg im Bereich Finanzwesen und Controlling" nicht veröffentlciht habe, mag ich an dieser Stelle doch die verwendete Literatur empfehlen und denke mir, dass Grundlagen wie "Welche User haben die Berechtigung zur Auswertung einer bestimmten Kostenstelle oder Innenauftrag?" auch weiterhin ihre Bedeutung und Berechtigung im Werkzeugkasten eines Keyusers haben sollten.

Nicht ohne Grund ist der Artikel "Unterschiedliche Auswertungsmöglichkeiten im Controlling (Report Writer, Recherchebericht, SAP Query) und natürlich Excel ;-)" stellvertretend für die Ansicht, dass heutzutage ein SAP Modul übergreifendes Denken und Nutzen der Werkzeuge der Module PSM-FM (Public Sector Management - Funds Management (Haushaltsmanagement)), CO (Controlling) aber auch FI (Finanzbuchhaltung) und HCM (Personalwesen) elementar für ein integratives und wirkungsvolles Berichtswesen, dass sicherlich nciht nur im Hochschulberichtswesen relevant ist. 

Wichtig ist dabei, dass man sich aber auch über die Grenzen einer solchen Vorgabe im Klaren sein sollte und darauf achten muss, dass entsprechende Berichte weiterhin gepflegt werden müssen und spätestens zum Jahresabschluss die Varianten gepflegt werden sollten, was ihren Zeitraum oder andere Werte betreffen mag. So flexibel hier Berichte auch sein mögen, so pflegeintensiv kann hier auch das Vorgehen sein und daher ist eine Dokumentation auch ein wesentlicher Teil eines sinnvollen Berichtswesen und sei es auch nur, dass Nochfolgende CO Keyuser später einmal in ein Fachkonzept Controlling schauen können und nicht dazu gezwungen sind die Dokumentation selbst noch einmal umzuschreiben um ein Verständnis für das dahinter liegende Berichtswesen zu erlangen oder gar aus Versehen scheinbar nicht verwendete Varianten löschen, die dann später doch noch in bestimmten Varianten oder Transaktionen dringend benötigt werden.

Integratives ERP System ->modulübergreifendes Berichtswesen


Aber dieses ist vielleicht auch einer der Gründe warum das Thema Berichtswesen nie langweilig wird und sich nicht nur Keyuser gerne mit Themen wie "Grundlagen Kurzeinführung und Handbuch Report Painter Report Writer" oder auch "Grundlagen Kurzeinführung und Handbuch SAP Query" beschäftigen. Oftmals ist die Frage des Berichtswesen keine von IT Skills sondern eine des Mutes neue Möglichkeiten und Wege zu entdecken und diese dann für das eigene Berichtswesen umzusetzen.

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, 23. August 2016
17:55 Uhr

Auswertung sprechender Nummernkreisintervalle von CO Innenaufträgen mit Query Zusatzfeldcoding und Unterscheidung numerischer oder alphanumerischer Schlüssel

Neben der Nutzung des Finanzierungszwecks im SAP Modul PSM-FM der entsprechende Fonds zusammenfasst (siehe hierzu Artikel "PSM-FM Grundlagen Finanzierungszweck im Haushaltsmanagement bei Recherchebericht und Selektion") wird im SAP Modul CO ein sprechender Schlüssel für CO Innenaufträge verwendet um hier anhand eines Zahlenintervalls eine Zuordnung zu bestimmten "Projektbereichen" zuzuordnen.

Sprechender Nummernkreis für CO Innenaufträge

Auch wenn die Verwendung von sprechenden Nummern nicht unumstritten ist (eine entsprechende Diskussion zu diesen Thema findet sich auch im Buch "Schnelleinstieg ins SAP Controlling (CO)" wo sowohl Vorteile als auch Nachteile einer Verwendung von sprechenden Nummern dargestellt werden. Wesentlicher Punkt war hier, dass Auftragsnummern im Nachhinein im Gegensatz zu anderen Stammdaten nicht verändert werden können und hier ein anfangs großzügig vorgesehener Nummernkreis nach einigen jahren eventuell aufgebraucht ist.

Auf diese Diskussion gehe ich nun aber nicht weiter ein sondern nehme bestehende Nummernkreisintervalle und Zuordnung zu Bereichen als gegeben hin und möchte nun in einer Query klären in welchen Bereich ein CO Innenauftrag zuzuordnen ist.

Prüfung ob eine Auftragsnummer innerhalb eines Nummernintervall liegt


Innerhalb von Excel kann dieses, wie im Artikel "Prüfung inwieweit ein Wert, bspw. eine Kostenstelle, innerhalb eines Intrevalls (Gruppe) liegt in Excel" beschrieben" durch eine VERWEIS Funktion realisiert werden. Auch Stammdatengruppen, sogenannte Sets können über eine Query (siehe Artikel "Auflösen von Stammdatengruppen nach Einzelwerten - Einzelwerte zu Sets") durch die Verknüpfung zweier Auswertungen zugeordnet werden.

Eine erheblich elegantere Möglichkeit ist es aber in einer Stammdatenauswertung vergleichbar zur Gruppierung von FINANZIERUNGSZWECK auch die Innenauftragsnummernintervalle entsprechend einer Gruppe virtuell zuzuordnen.

Coding von Zusatzfeld für Gruppierungen

Im Artikel "Gruppierung von Finanzierungszwecken bei Drittmittelprojekten per Zusatzfeldcoding mit IF oder CASE" wurde ja schon die Zuweisung von einzelnen Werten je Fall (CASE) mit mehreren Bedingungen (OR) dargestellt, so dass einzelne Finanzierungszwecke zusammengefasst werden konnten. Als Beispiel waren hier die unterschiedlichen EU Rahmenprogramme und die Zuordnung zu EU Mitteln erwähnt.

Einen ähnlichen Fall wurde schon im Abschnitt "Zusatzfeld VLE zur Darstellung virtueller Lehreinheit aus Teilstring der verantwortlichen Kostenstelle sofern nicht in einen anderen Feld ein Wert steht" des 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.

Die Ermittlung der VLE im Infoset anstatt in der Query per lokale Zusatzfelder wie im Artikel "Query über verantwortliche Kostenstelle des Innenauftrag - Bestimmung der Lehreinheit im Fachbereich durch Teil der Kostenstellennummer" hat den enormen Vorteil, dass hier alle Query die auf dieses Infoset aufbauen auch die Angabe des Bereichs oder die VLE auswerten können ohne selbst in der Query mühsam Felder zu basteln.

Analog zur Excellösung werden hier die vorrangestellten Nullstellen durch NO-ZERO entfernt, so dass danach ein Größenvergleich durchgeührt werden kann. Dabei gehe ich davon aus, dass die Innenauftragsnummern tatsächlich numerisch sind. Andernfalls muss man sich mit der Reihenfolge von alphanumerischen Intervallen beschäftigen.

ABAP: Enthält Variable nur Zahlenwerte

Vorab sollte man sich jedoch bewust sein, dass ein Innenauftrag als Schlüsselfeld durchaus alphanumerische Werte enthalten kann. Hier stellt sich also die Frage, wie es möglich ist die Auftragsnummer zu überprüfen, ob tatsächlich nur Zahlenwerte enthalten sind.

Hier kann eine Wenn Funktion (IF) mit der vergleichendenen Anweisung CO (contains only) weiter helfen. ABAP hat einige Vergleichsoperatoren, so dass hier Variablen mit Variablen oder aber auch mit bestimmten Werten verglichen werden können. Zu diesen logischen Ausdrücken gehört unter anderen CO (contians only), CN (contains not only) und weitere. Diese liefern ein Wahr wenn der Vergleich erfolgreich war und nur die Zeichen des Vergleichsparameter vorhanden war (CO) oder aber wenn noch weitere Zeichen dabei sind (CN). Interessant ist auch noch die Möglichkeit CS (contains string) womit vergleicht werden kann, ob eine bestimmte Zeichenfolge in einen Wert vorhanden ist.

Ein ausführliches Beispiel wäre

DATA: L_ZAHLEN(10) TYPE c VALUE = '0123456789'.
* L_zahlen enthaelt Zahlenwerte Leerzeichen
DATA: L_innenauftrag type AUFK-AUFNR.

IF L_innenauftrag CO L_ZAHLEN.
* Reine Auftragsnummer

ELSEIF.
* Alphanumerischer Innenauftrag

ENDIF.

Selbstverständlich lässt sich dieses auch ohne Definition einer Konstanten regeln. Hierzu kann folgende Anweisung erstellt werden:

IF AUFK-AUFNR CO  '1234567890'.
* Innenauftrag hat nur Nummern
ELSEIF.
*Innenauftrag ist alphanumerisch
ENDIF.

Damit kann nun mit den vorhandenen Zahlenwerten weitergearbeitet werden.
Sollten auch Nachkommastellen oder Leerzeichen in Ordnung sein, muss der Vergleichsoperator um . und Leerzeichen erweitert werden. Allerdings sind dann neben Währungen oder Zahlen mit Nachkommastellen auch IP Adressen gültig. Als Beispiel ist hier der allzeits beliebte Public DNS (Domain Name System) von Google wie 8.8.8.8 oder 8.8.4.4 gültig. Sollte damit später gerechnet werden, ist das natürlich wesentlich schwieriger jedoch würde es 100 % in das Vergleichsmuster passen.Zugegeben diese Lösung ist nicht so elegant wie die Funktion ISNUMERIC innerhalb VBA (siehe Abschnitt "Negativzeichen hinter Zahlenwert" im Artikel "Office Integration - Excelansicht in SAP und Daten kopieren nach Excel", aber im Ergebnis liefert es in diesen Fall den gewünschten Effekt.
 

ABAP Prüfung ob Auftragsnummer innerhalb Nummernintervall

Nachdem mit oberen Coding geprüft worden ist, ob es sich bei der Auftragsnummer um eine Zahl handelt kann nun eine Prüfung erfolgen, inwieweit ein Innenauftrag innerhalb eines bestimmten Intervalls liegt und hierzu ein entsprechender Hinweis gegeben werden.

Ausgangspunkt ist das Tabellenfeld AUFK-AUFNR mit insgesamt 12 Zeichen. Hierbei sind die Auftragsnummern, sofern sie nicht 12 Zahlen umfassen mit führenden 0 abgespeichert. Nun besteht entweder die Möglichkeit eine Hilfsvariable zu definieren und über die Anweisung:

DATA: L_Innenauftrag TYPE C LENGTH 8.
WRITE AUFK-AUFNR TO L_INNENAUFTRAG NO-ZERO .

ohne führenden 0 als ein achtstelligen Wert in die lokale Variable L_Innenauftrag zu speichern. Dieses hat dann aber den Nachteil, dass sofern wir einen mehrstelligen Nummernkreis anlegen diese ebenfalls angepasst werden muss.

Daher ist es eleganter die führenden 0000 bei achtstelligen Innenauftragsnummern im Coding ebenfalls zu berücksichtigen.

Hierzu kann in der Definition des Infoset über die Schaltfläche ZUSÄTZE ein Zusatzfeld im Infoset angelegt werden.

In unseren Beispiel hat dieses folgende Eigenschaften:
Name: ZCOKEY
Langtext / Überschrift: ZCOKEY

Dieses hat den Vorteil, dass wir uns beim Coding leichter den Namen merken können (im Zusatzfeldcoding wird anhand des Namen der Wert zugewiesen.

Als Format bekommt das Feld TYP C (für Character) und eine Länge sowie Ausgabenlänge von jeweils 035 Zeichen.

Damit ist das Feld angelegt und es kann über die Schaltfläche CODING ZUM ZUSATZFELD ein entsprechendes Coding angelegt werden. Da wir nur numerische Innenauftragsnummern verwenden ist die im oberen Abschnitt erwähnte Prüfung ob es sich bei der Auftragsnummer um eine numerische Nummer handelt eigentlich obsolet, dennoch habe ich diese als äußere Klammer im Coding eingefügt.
 

WICHTIG / Nachtrag: CLEAR ZCOKEY

Es sollte darauf geachtet werden, dass die Variabele ZCOKEY durch die ABAP Anweisung CLEAR erst einmal geleert wird. Andernfalls merkt sich die Query bei mehreren Innenaufträgen den vorherigen Wert, sofern kein neuer Wert zugewiesen wird. Durch die Anweisung CLEAR wird die Variable bzw. das Zusatzfeld auf Initialwert zurückgesetzt. Sofern dieses nicht der Fall ist wundert man sich über die Ergebnisse.


Als einfaches Beispiel werden Buchprojekte auf Innenaufträgen abgebildet. Dabei sind Publikationen zu Office Produkten im Nummernkreis 4021*, SAP Literatur 4022* und BWL Bücher unter 4023* angelegt worden.

CLEAR ZCOKEY.
IF
AUFK-AUFNR CO  '1234567890'.

IF AUFK-AUFNR     => '000040210000' AND AUFK-AUFNR <= '000040219999'.
  ZCOKEY = 'Office Literatur'.
ELSEIF AUFK-AUFNR => '000040220000' AND AUFK-AUFNR <= '000040229999'.
  ZCOKEY = 'SAP Literatur'.
ELSEIF AUFK-AUFNR => '000040230000' AND AUFK-AUFNR <= '000040239999'.
  ZCOKEY = 'BWL Literatur'.
ENDIF.

ENDIF.


Natürlich ist dieses wesentlich einfacher durch Zuordnung von Profit-Centern wie die vorhandenen Profit-Center OFFICE, SAP, BWL möglich. Im Hochschulbereich könnten das Profit-Center für Landesmittel (L), Drittmittel (D) und Sondermittel (S) sein.

Endziffer Innenauftrag zusätzlich zum Nummernkreisintervall prüfen

Soll nun aber zusätzlich noch unterschieden werden, ob es hier ein gedrucktes Buch ist, eine elektronische Publikation oder die Vorbereitung auf ein Buch und dieses durch die letzte Endziffer des Innenauftrages festgelegt werden kann die IF Anweisung noch um eine weitere Bedingung erweitert werden. Die Endziffer 0 ist dabei für normale Buchprojekte, die Endziffer 1 für Print und 2 für Ebook.

CLEAR ZCOKEY.
IF
AUFK-AUFNR CO  '1234567890'.

IF AUFK-AUFNR     => '000040210000' AND AUFK-AUFNR <= '000040219999' AND AUFK-AUFNR+11(1) = '0'.
  ZCOKEY = 'Office Literatur'.
ELSEIF AUFK-AUFNR => '000040210000' AND AUFK-AUFNR <= '000040219999' AND AUFK-AUFNR+11(1) = '1'.
  ZCOKEY = 'Office Literatur PRINT'.
ELSEIF AUFK-AUFNR => '000040210000' AND AUFK-AUFNR <= '000040219999' AND AUFK-AUFNR+11(1) = '2'.
  ZCOKEY = 'Office Literatur Ebook'.

...

ENDIF.

ENDIF.


Durch die Offset Anweisung AUFK-AUFNR+11(1) wird das letzte Zeichen der 12 Stelligen Innenauftragsnummer des Tabellenfeld AUFNR der Tabelle AUFK verwendet.Durch die optionalen Angaben eines Offsets +<o> und eine Länge (<l>) direkt hinter dem Feldnamen <f>, wird der Teil des Felds, der auf Position <o>+1 beginnt und die Länge <l> hat, als eigenes Datenobjekt angesprochen. Diese Möglichkeit haben wir auch im Feld ZAUFNR für den Artikel "SAP Query innerhalb des SAP Moduls PSM FM beziehungsweise Haushaltsmanagement" verwendet um PSM Fonds mit CO innenaufträgen zu verknüpfen.

ACHTUNG: Sobald die IF Bedingung erfüllt ist werden keine weiteren Bedingungen geprüft, daher ist hier entsprechende Sorgfalt zu walten.

Weitere Bestandteile der Innenaufragsnummer als Bedingung prüfen

Entsprechend oberen Codingbeispiel ist es natürlich auch möglich weitere Bestandteile der Innenauftragsnummer als Prüfmerkmal zu verwenden. Insgesamt wären hier acht Bedingungen möglich. Ein anderes Beispiel zu Print und Ebook wären bei Gebäudeinnenaufträgen eine Unterscheidung nach Bewirtschaftung und Bauunterhaltung :-) Vielleicht haben Sie dann noch einen dreistelligen Standort oder eine Organisationseinheit (zum Beispiel einen Fachbereich) innerhalb ihrer sprechenden Auftragsnummer verschlüsselt und wollen diese auflösen.

Nummernintervall und Bestandteile der Innenauftragsnummer (hier: Endziffer) per IF und CASE überprüfen

Nehmen wir hierzu wieder das Intervall der SAP Bücher als Beispiel und betrachten folgendes schöne Coding

CLEAR ZCOKEY.
IF
AUFK-AUFNR CO  '1234567890'.

IF AUFK-AUFNR     => '000040210000' AND AUFK-AUFNR <= '000040219999'.
  ZCOKEY = 'Office Literatur'.
ELSEIF AUFK-AUFNR => '000040220000' AND AUFK-AUFNR <= '000040229999'.
  ZCOKEY = 'SAP Literatur'.
ENDIF.

IF AUFK-AUFNR => '000040220000' AND AUFK-AUFNR <= '000040229999'.
    CASE AUFK-AUFNR+11(1).
WHEN '1'.
     ZCOKEY = 'SAP Literatur PRINT'.
WHEN '2'.
    ZCOKEY = 'SAP Literatur EBOOK'.
ENDCASE.
ENDIF.

ENDIF.

Im ersten Absatz des Coding werden nur Nummern behandelt und alphanumerische Innenaufträge ignoriert. Danach werden anhand des Nummernintervalls das Genre (hier SAP Literatur) festgelegt. Danach wird für die Bücher (hier nur das Intervall SAP Literatur) die Endziffer als Argument in der CASE Anweisung übergeben und die verschiedenen Zustände per WHEN ausgewertet.

Ein klein wenig eleganter (da für alle Publikationen) ist das natürlich mit CONCATENATE  womit zwei Strings miteinander verbunden werden.

Im Beispiel wären dieses der String 'Ebook' oder 'Print' mit den vorher festgelegten Genre (welches in der Variable COKEY schon über die IF Schleife festgelegt wurde.

Konkret wäre hier also der Abschnitt wie folgt anzupassen.

IF AUFK-AUFNR => '000040210000' AND AUFK-AUFNR <= '000040239999'.
CASE AUFK-AUFNR+11(1).
WHEN '1'.
CONCENTATE ZCOKEY ' Print' INTO COKEY RESPECTING BLANKS.
WHEN '2'.
CONCENTATE ZCOKEY ' Ebook' INTO COKEY RESPECTING BLANKS.
ENDCASE.
ENDIF.

Die Abap Anweisung

    CONCATENATE altenstring neuenstring INTO altenstring REPSECTING BLANKS.

 verkettet getrennte Zeichenfolgen zu einer Zeichenfolge. Durch das Argument RESPECTING BLANKS wird auch das Leerzeichen vor der Art der Publikation ' Print' oder ' Ebook' berücksichtigt.
 

Alternative Profit-Center-Rechnung

Aus verschiedenen auch eingangs erwähnten Gründen haben wir uns gegen diese Vorgehensweise in unserem Buch entschieden und statt dessen Profit-Center genutzt um die einzelnen Publikationsfelder des im Buch erwähnten Verlages abzudecken.
 
Schnelleinstieg ins SAP-Controlling (CO)
Verlag: Espresso Tutorials GmbH
1. Auflage (01. November 2014)
Paperback ISBN: 9783960126874

Für 19,95 € direkt bestellen

Oder als SAP Bibliothek-Flatrate *

Ebook ISBN: 9783960120414

Sofern Sie aber eine wesentlich feingliedrigere Zuordnung von Innenauftragsnummern zu entsprechenden Nummernbereichen haben, kann hier eine wesentlich feingliedriger Unterscheidung der einzelnen Innenaufträge aus sprechenden Nummern bei extern vergegebenen Auftragsnummern hinterlegt werden. Gerade bei einer Vielzahl von Sondermitteln oder unterschiedlichen Landesmitteln die nur anhand der Nummer unterschieden werden kann es hier für neue Kolleginnen und Kollegen eine Hilfe sein, wenn diese hier eine kurze Erläuterung erhalten um was für eine Art von Projekten es sich dabei handelt.

Verwendung Zustazfeld COKEY für Projektbereich in Query


Sofern nun also das Zusatzfeld in eine Feldgruppe übernommen worden ist besteht auch die Möglichkeit in einer Query auf diese Bezug zu nehmen. Im Ergebnis kann somit die im Artikel "Query Einzelpostenliste Innenauftrag mit Ausweis Ertrag und Aufwand Zweiter Teil Query zur Datenaufbereitung" vorgestellt Query um weitere Informationen wie auch die FINGRUPPE erweitert werden.

Sofern zu einzelnen Innenaufträgen auch die Mittelherkunft anhand eines Ordnungsbegriffes klar definiert ist (siehe "FI-AA Anlagenbuchhaltung: Klassifizierung von Anlagen") kann in einer Quey auch die korrekte Zuordnung von Ordnungsbegriff und Innenauftragsnummernbeeich verglichen werden. Hierzu verweise ich gerne auf den Artikel "Zusammenfassung Query über Anlagenzugang - Auswertung Investitionen aus Profit-Center-Rechnung", aber dieses ist dann auch wieder ein anderes teils auch komplexeres Thema. Grundsätzlich sind aber mit SAP Query nicht nur Stammdatenauswertungen, Analysen und die Darstellung von Bewegungsdaten möglich sondern auch eine Unmenge an Kombination aus vorhandenen Daten und sogar die Neuinterpretation von im System vorhandenen Daten, so dass eine Menge an bisher in Excel erfolgte Schritte nun sozusagen einen Schritt vorverlagert nach SAP gemacht werden können.

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


Mittwoch, 17. August 2016
19:01 Uhr

Espresso Tutorial - Praxishandbuch SAP®-Zeitwirtschaft (HCM-PT)

Zwischen Oktober 2005 und Februar 2006 durfte ich mich im damaligen HR/HCM Modul unter anderen mit der Personalkostenbudgetierung und der Einführung der negaitven Zeitwirtschaft beschäftigen. Dieses ist einer der Gründe warum ich sehr positiv eine neue Publikation von Espresso Tutorials wahrgenommen. Auch wenn ich mittlerweile nicht mehr in der Personalabteilung beschäftigt bin, möchte ich doch sehr gerne auf folgendes Buch hinweisen und bin mir sicher, dass dieses mehr als nur eine Erfassung von Arbeits- und Pausenzeiten beinhaltet.
 
Praxishandbuch SAP®-Zeitwirtschaft (HCM-PT)
Verlag: Espresso Tutorials GmbH
1. Auflage (11. August 2016)
Paperback ISBN: 978-3960127086

Für 29,95 € bei Amazon bestellen

oder alternativ direkt über die

SAP Bibliothek-Flatrate *
 
Inhaltlich werden sowohl die Grundlagen der SAP-Zeitwirtschaft und ihre rechtlichen Aspekte von der negativen bishin zur positiven Zeitwirtschaft und der Erstellung von Arbeitszeitplänen dargestellt. Daneben werden aber auch die einzelnen Geschäftsprozesse innerhalb des Modul HCM-PT vorgestellt und als Ergänzung auch Employee Self Service (ESS) und Management Self Service (MSS) vorgestellt.

Daneben werden auch auf neuen Technologien basierenden HR Renewal- und SAP Fiori-Anwendungen eingegangen.

Auch sonst erweckt das Buch einen sehr praxisnahen Eindruck und vieles klingt schon von den Überschriften her vertraut und dürfte hier eine praxisrelavante Hilfe sein. Ich freue mich darüber, dass Espresso Tutorials nun auch das Modul HCM im Programm hat und sehe hier weiterhin einen großen Vorteil in der SAP Bibliothek-Flatrate die ebenauch auf solch aktuelle Publikationen einen Zugriff ermöglicht.

Da ich ohnehin noch für einen Kollegen meine Kenntnisse über LSMW auffrischen wollte, wird es in den kommenden Tagen auch die ein oder andere Aktualisierung bei den Buchempfehlungen geben. Daneben sind auch die ein oder andere Umbaumaßnahme hier im Blog erfolgt (alleridngs in der Hauptsache im Bereich Hintergrundtechnik). An dieser Stelle auch noch einmal vielen Dank an die Kolleginnen und Kollegen (u.a. auch von Hochschulen) die nicht nur Artikelanregungen senden sondern auch im Bereich Usability und Handhabung der Seite immer einmal wieder die ein oder andere Anmerkung haben :-).

Ich würde mich freuen, wenn diese Literaturempfehlung auch für den ein oder anderen auf dieser Seite interessant ist. Das Thema Personal insbesondere das SAP Modul HCM ist hier eher seltener vertreten, aber ich könnte mir vorstellen, dass es doch für die ein oder andere Person interessant sein könnte. Wie schon im Abschnitt "Eine Möglichkeit Danke zu sagen" auf der Seite "Danke & Transparenz" erwähnt freue ich mich über entsprechende Rückmeldungen egal über welches Medium.

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 - 2016 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