Andreas Unkelbach
Werbung


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


Montag, 15. August 2016
18:54 Uhr

Fachliche und technische Dokumentation von Selektionsvarianten und individuelle Berichte in SAP identifizieren

Im Rahmen der Berichtsdokumentation kann es hilfreich sein vorhandene Selektionsvarianten zu dokumentieren.

In den meisten Berichten ist dieses über
  • SPRINGEN ->
  • VARIANTEN ->
  • ANZEIGEN

oder aber direkt wie bei der KOK5 durch die Schaltfläche ANZEIGEN (die mit der Brille) möglich in Form einer ALV Liste diese anzuzeigen.

Sofern hier aber kein Druckersymbol aktiv ist, fällt es schwer die getofffenen Merkmale zu dokumentieren. Allerdings gibt es dafür hinter der rechten Maustaste die Option TABELLENKALKULATION wodurch die dargestellte Liste mit den Einzelwerten in eine beliebige Tabellenkalkulation exportiert werden kann.

Sollte hier einmal das falsche Format in Kombination mit "Immer das gewählte Format anwenden" gewählt haben dürften die Ausführung zum Abschnitt SALV_BS_ADMIN im Artikel "Grundlagen - Berichte von SAP nach Excel exportieren" nützlich sein.

Vorhandene Varianten transportieren

Gerade bei der Dreiteilung eines SAP System (Develop (Entwicklung), Quality (Qualitätssicherung), Productiv (Produktivsystem)) kann es auch erforderlich sein vorhandene Varianten auf ein jeweils nachgelagertes System zu transportieren.

Die hierzu erforderlichen Schritte sind unter "Transport von Selektionsvarianten" beschrieben.

Grundsätzlich sollte eine umfangreiche Dokumentation zu einmal angelegten Berichten immer vorhanden sein welche nicht nur dann relevant wird, wenn aus Versehen eine Variante gelöscht wurde. Zumindest die übergreifend zur Verfügung gestellten Selektionsvarianten sind sinnvollerweise festzuhalten.

Wie schon im Artikel "Geschützte Selektionsvarianten entsperren" erläutert sind die einzelnen angelegten Varianten in der Tabelle VARID "Variantenkatalog" hinterlegt.

Anhand von Varianten häufig genutzte Berichte identifizieren

Gerade bei einen Jobwechsel wo die vorherige Stelleninhaber kaum Dokumentationen über die individuellen Berichte (FI, CO) hinterlassen haben kann hier abseits von der Suche innerhalb ABAP Workbench, Report Painter und SAP Query eine entsprechende AUswertung weiterhelfen. Über das Feld ENAME der Tabelle VARID kann anhand des Benutzername als Selektionsmerkmal  zu jeden genutzten Programm (Feldname REPORT) entsprechende Reports identifiziert werden. Dabei sind die Einträge AQ*  z.B. SAP Query, GP* dürfen Berichtsgruppen für Report Writer /Painter sein etc..

Anhand der Queryy "Tabellen hinter Transaktionscode oder ABAP Programm über eine SAP Query ermitteln" kann hier auch der umgekehrte Weg beschritten werden um anhand des ABAP Reports die zugehörige Transaktion aus der Tabelle TSTC "SAP-Transaktions-Codes" zu ermitteln. Wobei es hier auch hilfreich ist in dieser Tabelle nach Z oder Y Transaktionen zu schauen, sofern solche angelegt worden sind.

Wobei in diesen Fall auch die Tabelle SMEN_BUFFC ("Tabelle für die Ablage der Favoriten")  hilfreich sein kann, da doch die meistens genutzten Berichte von Usern in den Favoriten abgespeichert werden. Die verschiedenen Individualiserungsmöglichkeiten sind auch im Artikel "Benutzereigene SAP Menüs (Favoriten, Benutzermenü, Bereichsmenü)" erwähnt worden.

Fachliche und technische Dokumentation von Berichten

Ferner kann sowohl auf Sicht der Anwendenden eine "Dokumentation von Berichtsgruppe und Berichtsdokumentation bei Report Painter und Writer Berichten" von Berichten beim Aufruf des Berichtes hilfreich sein als auch aus technischer Sicht wie im Artikel "Report Painter Übersicht von Elementen und Merkmale zur Darstellung der Struktur und Aufbau eines Berichtes" beschrieben .

Wobei gerade die eigenentwickelten Berichten ein Thema für sich selbst. Hier verweise ich sehr gerne auf folgende Grundlagenartikel: Wobei die verschiedenen von mir gerne genutzte entwickelten Berichtstool im Artikel "Unterschiedliche Auswertungsmöglichkeiten im Controlling (Report Writer, Recherchebericht, SAP Query) und natürlich Excel ;-)" zusammengefasst sind.

Im Zusammenspiel zwischen Entwicklung und Anwendung sollte daher der Punkt Dokumentation sowohl in Richtung Handbuch für Anwendende als auch für die technische Seite betrachtet werden. Hier mag ich auch sehr gerne auf zwei Dokumentationstools beziehungsweise Software in dieser Richtung hinweisen. Besonders die "Software für Prozessbeschreibungen (DIA)" eignet sich für die  "Graphische Darstellung von Tabellenverknüpfungen bspw. bei Query" oder auch  "Ereignisgesteuerte Prozesskette in DIA darstellen (weitere Objekte einfügen)", Daneben merke ich aber auch, dass mir die Software XMIND, wie im Artikel "Mindmapping und Sketchnotes im Beruf nutzen für Brainstorming oder Mind Mapping mit XMIND" beschrieben nutze. Diese eigent sich sogar dafür Aufgaben oder Organisationen darzustellen.

Inhaltlich ist daher das Thema Berichtswesen sicherlich auch auf Dauer noch ein Thema, dass regelmäßig hier im Blog aufschlägt und aufschlagen wird.

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


Donnerstag, 11. August 2016
19:32 Uhr

PSM-FM Grundlagen Finanzierungszweck im Haushaltsmanagement bei Recherchebericht und Selektion

Das Thema "Finanzierungszweck" innerhalb des SAP Modul Public Sector Management - Haushaltsmanagement (PSM-FM) ist bisher in der Hauptsache Thema bei der Erstellung von Stammdatenlisten für Fonds gewesen. Hier ist 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" beziehungsweise in den Artikeln "SAP Query innerhalb des SAP Moduls PSM FM beziehungsweise Haushaltsmanagement" und "SAP Query ABAP Coding im Zusatzfeld für Verknüpfung Innenauftrag und Fond bzw. Finanzierungszweck oder auch Status GESPERRT bei Innenaufträgen" dieses relativ ausführlich erläutert.

Aus Sicht einer Anwendenden ist es aber oftmals so, dass nicht eine Stammdatenliste sondern ein Bericht für diverse Projekte hier hilfreich ist. Natürlich kann innerhalb eines erstellten Rechercheberichtes (siehe "Saldenliste für Fonds im Haushaltsmanagement Saldo gegen Ertrag und Saldo gegen Budget") anhand des Würfelmodells bei der Auswertung von der Darstellung der Fonds auf Finanzierungszwecke gewechselt werden.

Unter den Punkt Navigation ist ein Vorrat der verfügbaren Merkmale des Berichts vorhanden. Hier kann nun der Finanzierungszweck mit einfachen Klick markiert werden und per Klick auf die Schlüsselspalte die Darstellung von Fonds auf Finanzierungszwecke gewechselt werden. Sofern Sie nun ein Merkmal wie einen bestimmten Finanzierungszweck doppelt klicken wird dieses als Merkmalsfilter  gesetzt und es werden alle Fonds zu diesen Merkmal dargestellt Sofern Sie hier die Merkmalsdarstellung erneut auf Fonds umstellen oder alternativ auch die Fonds per Doppelklick als Filter verwenden um dann die Buchungskonten auf Ebene der Finanzpositionen dargestellt zu bekommen.

Es kann jedoch sein, dass Sie schon im Vorfeld nur Fonds eines bestimmten Finanzierungszweck auswerten wollen. Dazu können Sie im Einstiegsbild des Rechercheberichtes auf die Wertauswahlhilfe (F4 Taste) gehen und erhalten eine Suchhilfe über die Fonds. Im Reiter "Suche über Attribute" ist es dann möglich über die Fondsart oder eben auch Finanzierungszweck schon die relevanten Fonds auszuwählen.

Nebenbei handelt es sich beim Finanzierungszweck um ein Stammdatum, dass Sie in der Stammdatenpflege des Fonds unter
  • Rechnungswesen
  • Public Sector Management
  • Haushaltsmanagement
  • Kontierungselemente
  • Fonds
in der Stammdatenpflege (Transaktion FM5I für Anlegen oder FM5U für Ändern) im Abschnitt Zusatzdaten über das Feld Finanzierungszweck auswählen können. Hier sind alle im System schon angelegte Finanzierungszwecke zur Auswahl vorhanden.

Sofern Sie weitere Finanzierungszwecke benötigen besteht die Möglichkiet diese ebenfalls als Stammdatum mit Bezeichnung und Beschreibung anzulegen.

Diese werden ebenfalls innerhalb des Finanzkreises angelegt. Sie finden die Funktion unter:
  • Rechnungswesen
  • Public Sector Management
  • Haushaltsmanagement
  • Kontierungselemente
  • Fonds
  • Finanzierungszweck
und hier mit der Transaktion FM6I zum Anlegen, FM6U zum Ändern und FM6S zum Anzeigen.

Gerade beim Stammdatenverzeichnis (Transaktion S_KI4_38000039 - Verzeichnis der Fonds) ist die Verwendung eines Finanzierungszwecks sehr praktisch. Nebenbei gerade im Zusammenhang mit Rechercheberichten dürfte auch der Artikel "Frühjahrsputz oder geschützte Varianten und nicht mehr benötigte Rechercheberichte entfernen oder reorganisieren" bei der Pflege eines aktiven Berichtswesen sinnvoll.
 

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, 9. August 2016
19:54 Uhr

Report Writer oder Report Painter Berichte über Dateisystem inklusive Bibliothek Variablen und Berichtsgruppe exportieren und importieren

Im Rahmen des Artikel "Grundlagen Kurzeinführung und Handbuch Report Painter Report Writer" habe ich schon die einzelnen Elemente eines Report Writer / Report Painter Berichtes vorgestellt. Gerade wenn man einen etwas umfangreicheren Bericht entwickelt hat, kann es aber durchaus sinnvoll sein, diesen auch für andere Einrichtungen zur Verfügung zu stellen. Hierzu bietet SAP die Möglichkeit über den Präsentationsserver die einzelnen Elemente als Datei zu exportieren und auch wieder zu importieren. Dieses erfolgt in Form einer Textdatei und soll hier für die einzelnen Elemente vorgestellt werden.

Da ich mich in letzter Zeit auch wieder vermehrt mit der Frage rund ums Berichtswesen beschäftigt habe und hier auch Grundlagen wie "Kopfzeilen im Report Painter auch bei Export nach Excel verwenden" Thema waren, möchte ich hier für bestehende umfangreiche Berichte eine kurze Anleitung zum Austausch von vorhandenen Berichten schreiben.Für SAP Query habe ich dieses im Abschnitt "8. Query und Infoset per Upload/Download transportieren" der "Grundlagen Kurzeinführung und Handbuch SAP Query" beschrieben, allerdings ist dieses beim Export im Bereich Report Painter und Report Writer etwas umfangreicher, so dass ich hier einen ausführlicheren Artikel für sinnvoll erachte.

Die Reihenfolge der folgenden Erläuterungen beruht darauf, dass die Komponenten aufeinander aufbauen, so dass ich hier die Erläuterung vom übergreifenden Objekt (einer Bibliothek), über Variabeln, den eigentlichen Bericht und danach die Berichtsgruppe erläutern möchte. Dabei nutze ich gleichzeitig die Gelegenheit auf Beispiele zum jeweiligen Element zu verweisen.
 

Berichtsbibliothek exportieren

In der Regel werden Berichte in einer der vorhandenen Bibliotheken angelegt, sei es nun 8A2 für die Profit-Center-Rechnung, 1VK für die Kostenstellenrechnung oder 6O1 für Innenaufträge. Manchmal kann es jedoch hilfreich sein eine eigene Bibliothek anzulegen, zum Beispiel wenn man weitere Merkmale aktivieren oder eigene Merkmale hinzufügen möchte.

Hier habe ich entsprechende Beispiele in folgenden Artikeln festgehalten: Nun stellt sich die Frage, wie diese Bibliothek auf ein anderes SAP System transportiert werden kann.

Innerhalb des SAP Menü finden Sie die Einstellungen zur Bibliothek im Menü unter:
  • Infosystem
  • Ad-Hoc-erichte
  • Report Painter
  • Report Writer
  • Bibliothek
und hier die Transaktionen GR21 für Anlegen, GR22 für Ändern und so weiter. Wenn Sie einer dieser Transaktionen aufgerufen haben können Sie über HILFSMITTEL->TRANSPORTIEREN->EXPORTIEREN oder  IMPORTIEREN die Funktionen zum Export und Import der Bibliothek aufrufen. Alternativ ist dieses auch über die Transaktion GR27 (Report Writer Bibliotheken exportieren) oder GR28 (Report Writer Bibliotheken importieren) möglich.

Im folgenden Dialog können Sie dann eine Bibliothek auswählen und im Feld Export-Datei den Speicherort festlegen. Hier habe ich mir angewöhnt als Dateiendung *.rwp zu verwenden und im Dateinamen die Importtransaktion anzugeben. Für die Bibliothek ZPC wäre der Dateiname also GR28-ZPC.RWP. Dieses erscheint mir sprechend und erleichtert später auch die Dokumentation zum Import der Datei.

Variablen für Report Painter / Report Writer exportieren

Sofern für bestimmte Berichte eigene Variablen angelegt worden sind, sollten auch diese entsprechend exportiert werden. Ein Beispiel dazu ist im Artikel "Mehrjahresvergleich im ReportWriter/Painter mit variabler Spaltenanzahl je Jahr dank Variablen" beschrieben wodurch ein dynamischer Mehrjahresvergleich erfolgen kann. Hier können mehrere Jahre miteinander verglichen werdne und es werden nur entsprechend viele Spalten ausgegeben wie zwischen aktuellsten und ältesten Geschäftsjahr liegen.

Auch hier kann über HILFSMITTEL->TRANSPORTIEREN->EXPORTIEREN oder  IMPORTIEREN die Funktionen aufgerufen werden. Die Verwaltung von Variablen ist unter:
  • Infosystem
  • Ad-Hoc-erichte
  • Report Painter
  • Report Writer
  • Variable
zu finden (zum Beispiel die Transaktion GSI1 für Anlegen, GSI2 für ändern usw.). Auch hier kann alternativ über die Transaktion GS17 der Export beziehungsweise über GS18 der Import aufgerufen werden.

Als Datei Exportdatei würde ich hier ebenfalls GS18 gefolgt vom Variablenname (oder einer Beschreibung) und der Dateiendung .RWP vorschlagen.

Damit sind schon die komplizierten Dinge erledigt und wir können uns den Export von Bericht und Gruppe widmen, die auch im SAP Menü hinterlegt sind.

Report Painter / Report Writer Bericht exportieren

Tatsächlich ist die Funktion zum Export und Import von Berichten im SAP Menü unter
  • Infosysteme
  • Ad-Hoc-Berichte
  • Report Painter
  • Hilfsmittel
  • Transportieren
  • Berichte
zu finden. Sowohl zum Exportieren über die Transaktion GR37 als auch Importieren über die Transaktion GR38. Bevor ich nun wieder den Dateinamen GR38_Berichtsname.RWP erwähne möchte ich noch auf eine Besonderheit hinweisen. Sofern mit Sets (als Beispiel seien Kostenartengruppen, Kostenstellengruppen oder andere erwähnt) gearbeitet wird ist oftmals auch in der Exportdatei der Kostenrechnungskreis mit angegeben, so dass hier ein Import in ein anderes System daran scheitern kann.

Hier ist es dann hilfreich in einem beliebigen Texteditor (Notepad als Beispiel) über SUCHEN & ERSETZEN den Kostenrechnungskreis des eigenen Systems als Beispiel der Kostenrechnungskreis BUCH durch den im Zielsystem verwendeten Kostenrechnungskreis zu ersetzen. Sofern ihr Kostenrechnungskreis dreistellig und der Zielrechnungskreis vierstellig ist, vergessen Sie nicht das Leerzeichen ebenfalls in der Suche zu berücksichtigen. Als Beispiel könnte "KRK " durch "BUCH" und umgekehrt ersetzt werden.

Berichtsgruppe exportieren

Wesentlich unproblematischer ist der Export und Import von Berichtsgruppen. Diese Funktion ist unter:
  • Infosysteme
  • Ad-Hoc-Berichte
  • Report Painter
  • Hilfsmittel
  • Transportieren
  • Berichtsgruppen
als Transaktion GR57 Exportieren und GR58 importieren zu finden. Vermutlich ist es kaum zu glauben, aber bei mir lautet hier die Export-Datei dann GR58_Gruppenname.RWP. Wodurch später auch klar ist, wie der Bericht aufgerufen werden kann.

Notwendigkeit Transportauftrag

Leider gibt es eine Sache, die nicht per Datei ausgetauscht werden kann. Dies ist eine eigene Transaktion wie im Artikel "Parametertransaktion für Reporwriter" beschrieben. Diese kann jedoch relativ einfach selbst angelegt werden und wie im Artikel "Benutzereigene SAP Menüs (Favoriten, Benutzermenü, Bereichsmenü)" beschrieben ins eigene Berichtskonzept eingebunden werden.

Austausch von Exportdateien

Die Möglichkeiten des Export per Dateisystem und natürlich das nachfolgenden Imports ermöglichen hier eine sehr fruchtbare Zusammenarbeit über SAP Systemen hinweg. Die von mir gewählte Dateiendung RWP für Report Writer Painter ist übrigens gerade aus der Erfahrung zum Austausch von Berichten per Mail entstanden. SAP selbst schlägt als Exportdatei die Endung TXT für Textdatei vor. Leider zeigen manche Mailprogramme diese nicht als Mailanhang an sondern binden diese Textdateien dann in den Mailtext ein. Glücklicherweise ist RWP eine unbekannte Dateiform, so dass ich diese problemlos versenden kann und diese auch nicht eingebunden werden. Ein weiterer Vorteil ist, dass eine solche Datei auch in ein Wissensmanagementsystem zum Beispiel ein Wiki wie Dokuwiki eingebunden werden kann. Hier mag ich gerne auf die Anleitung im Artikel "Dokuwiki Plugin CKGEdit und Hochladen von PDF, Excel oder andere Medien" verweisen und könnte mir vorstellen, dass dieses auch für andere Tools möglich ist.

 

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


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