Freitag, 14. Juni 2013
15:59 Uhr
15:59 Uhr
Transaktionsart in SE93 ändern
Ausgangslage:
Für einen PSM Recherchebericht wurde aus der PFCG eine kundeneigene Transaktion angelegt. Nach Aufruf dieser Transaktion erscheinen im Selektionsbild die zusätzlichen Felder "Aktualität der Daten (Lesemodus) sowie Druckeinstellungen und Vorverdichtung. Dieses ist bei anderen Transaktionen von Rechercheberichten oder beim Start über die Transaktion FMEQ (Recherchebericht ausführen) nicht der Fall. Auch wenn diese Felder dann über eine entsprechende Selektionsvariante ausgeblendet werden kann, ist dieses doch iritierend.
Lösung:
Ursache hierfür ist, dass aus der PFCG eine Reporttransaktion statt Parametertransaktion angelegt worden ist. Hier kann jedoch über die Transaktion SE93 der Transaktionstyp von Reporttransaktion auf Parametertransaktion geändert werden.
Dieses ist über
Der Vorteil einer Parametertransaktion ist, dass einzelne Dynprofelder des Reports vorab belegt werden können. Hier scheinen dann auch die oben geschilderten und auch in der FMEQ nicht auftauchenden Felder ebenfalls automatisch belegt zu sein, so dass hier diese automatisch beim Transaktionsaufruf gefült und ausgeblendet sind. Ein weiterer Vorteil der Paramatertransaktion ist es auch, dass gegebenfalls auch Selektionsvarianten mit ausgegeben werden können.
Im Artikel Transaktion anlegen (Report, Parameter) bspw. für SAP Query ist die Vorgehensweise anhand einer SAP Query erläutert. Gerade beim Einführen von neuen Berichten (so auch Rechercheberichte aus PSM) sollte auch die Vorgehensweise beim Erstellen von Transaktionen beachtet werden.
Innerhalb einer 3-Systemlandschaft (Entwicklung, Test, Produktiv) kann es daher sinnvoll sein erst in einen Testnamensraum (bspw. Y*) entsprechende Transaktionen zu testen und produktiv in einen anderen Namensraum (bspw. Z*) die tatsächlich zu verwendenden Transaktionen anzulegen.
Im Rahmen des Transportwesen ist dabei zu beachten, dass es sich beim Anlegen von Transaktionscodes um Workbench-Aufträge und nicht Customizing-Aufträge handelt, so dass hier (gerade beim Einsatz in einer Mehrmandantenumgebung) auch aus Seiten der Berechtigungen eine Einschränkung beim Transport geben kann. Diese Unterscheidung ist relevant, da Einstellungen eines Customizing-Auftrages mandantenabhängig und eines Workbench-Auftrages mandantenunabhängig sind. Wobei hierbei die Pflege der Transaktionen zwar als Workbench-Auftrag definiert ist, da hierzu entsprechende Tabellen gepflegt werden. Eine Übersicht über vorhandene Transaktionen kann auch in der Tabelle TSTC bzw. TSCT wie unter Verwendungsnachweis von Tabellen in Transaktionen beschrieben erstellt werden.
Hinweis: Aktuelle Buchempfehlungen besonders SAP Fachbücher sind unter Buchempfehlungen inklusive ausführlicher Rezenssionenzu finden. Mein Weiterbildungsangebot zu SAP Themen finden Sie auf unkelbach.expert.
Für einen PSM Recherchebericht wurde aus der PFCG eine kundeneigene Transaktion angelegt. Nach Aufruf dieser Transaktion erscheinen im Selektionsbild die zusätzlichen Felder "Aktualität der Daten (Lesemodus) sowie Druckeinstellungen und Vorverdichtung. Dieses ist bei anderen Transaktionen von Rechercheberichten oder beim Start über die Transaktion FMEQ (Recherchebericht ausführen) nicht der Fall. Auch wenn diese Felder dann über eine entsprechende Selektionsvariante ausgeblendet werden kann, ist dieses doch iritierend.
Lösung:
Ursache hierfür ist, dass aus der PFCG eine Reporttransaktion statt Parametertransaktion angelegt worden ist. Hier kann jedoch über die Transaktion SE93 der Transaktionstyp von Reporttransaktion auf Parametertransaktion geändert werden.
Dieses ist über
- Bearbeiten
- Transaktionsart ändern
Der Vorteil einer Parametertransaktion ist, dass einzelne Dynprofelder des Reports vorab belegt werden können. Hier scheinen dann auch die oben geschilderten und auch in der FMEQ nicht auftauchenden Felder ebenfalls automatisch belegt zu sein, so dass hier diese automatisch beim Transaktionsaufruf gefült und ausgeblendet sind. Ein weiterer Vorteil der Paramatertransaktion ist es auch, dass gegebenfalls auch Selektionsvarianten mit ausgegeben werden können.
Im Artikel Transaktion anlegen (Report, Parameter) bspw. für SAP Query ist die Vorgehensweise anhand einer SAP Query erläutert. Gerade beim Einführen von neuen Berichten (so auch Rechercheberichte aus PSM) sollte auch die Vorgehensweise beim Erstellen von Transaktionen beachtet werden.
Innerhalb einer 3-Systemlandschaft (Entwicklung, Test, Produktiv) kann es daher sinnvoll sein erst in einen Testnamensraum (bspw. Y*) entsprechende Transaktionen zu testen und produktiv in einen anderen Namensraum (bspw. Z*) die tatsächlich zu verwendenden Transaktionen anzulegen.
Im Rahmen des Transportwesen ist dabei zu beachten, dass es sich beim Anlegen von Transaktionscodes um Workbench-Aufträge und nicht Customizing-Aufträge handelt, so dass hier (gerade beim Einsatz in einer Mehrmandantenumgebung) auch aus Seiten der Berechtigungen eine Einschränkung beim Transport geben kann. Diese Unterscheidung ist relevant, da Einstellungen eines Customizing-Auftrages mandantenabhängig und eines Workbench-Auftrages mandantenunabhängig sind. Wobei hierbei die Pflege der Transaktionen zwar als Workbench-Auftrag definiert ist, da hierzu entsprechende Tabellen gepflegt werden. Eine Übersicht über vorhandene Transaktionen kann auch in der Tabelle TSTC bzw. TSCT wie unter Verwendungsnachweis von Tabellen in Transaktionen beschrieben erstellt werden.
Schnelleinstieg in das Controlling (CO) mit SAP S/4HANA (📖)
Für 29,95 € direkt bestellen
Oder bei Amazon ** Oder bei Autorenwelt
Freitag, 14. Juni 2013
15:50 Uhr
15:50 Uhr
Benutzereigene SAP Menüs (Favoriten, Benutzermenü, Bereichsmenü)
Ausgangslage
Bei der Erstellung eines Berechtigungskonzeptes kann ein Thema auch die Frage sein, wie die Benutzer mit der Anwendung umgehen sollen. Hierbei ist es sicher die einfachste Möglichkeit einfach das SAP Menü im Standard zu benutzen. Jedoch kann es immer wieder erforderlich sein auch darüber hinausgehende Funktionen schnell zugängig zu machen.
Hier gibt es verschiedene Möglichkeiten die nach Aufwand kurz erläutert sind.
Zur zentralen Verwaltung der Favoriten besteht die Möglichkeit diese über einen Referenzuser oder per Upload innerhalb der User zu verteilen. Ein Referenzuser dient hierbei bei der Anlage eines neuen User als Vorlage (Kopie des bestehenden Users) und kann sowohl Parameter als auch Favoriten enthalten.Die direkte Übertragung von Favoriten ist der "Download auf PC" bzw. "Upload auf PC" innerhalb des Favoriten-Menüs.
Innerhalb der Tabelle SMEN_BUFFC ("Tabelle für die Ablage der Favoriten") werden die Einträge der einzelnen User gespeichert, so dass hier anhand eines Benutzernamen auch eine Auswertung über vorhandene Einträge möglich ist bzw. auch hier eine Pflegemöglichkeit gegeben wäre.
Meistens sind in den Favoriten durch die einzelnen Benutzer auch die häufigst genutzten Transaktionen und kann auch als Basis für die Neukonzeptionierung von Berechtigungen dienen.
Favoriten haben jedoch den Nachteil nur Transaktionen beziehungsweise Einträge aus den SAP Menü zu übernehmen. Hier besteht natürlich der Nachteil, dass SAP Query, Rechercheberichte oder ReportWriter Berichte nicht direkt eingebunden werden können.
Zwar gibt es die Möglichkeit über kundeneigene Transaktionen (wie im Artikel "Transaktion anlegen (Report, Parameter) bspw. für SAP Query Unterschied Parameter- oder Reporttransaktion" oder unter Parametertransaktionen bzw. ausführlicher im Artikel "Kundeneigene Transaktionen zu Berichten in PSM FM Haushaltsmanagement zum Beispiel Belegjournal anlegen (Variantentransaktion)" beschrieben) anzulegen aber hier ist dann auch ein entsprechend hoher Aufwand zu betreiben. Außerdem müssen diese Transaktionscodes auch in Erinnerung behalten werden.
Hinweis
Um eine entsprechende Funktion innerhalb des Benutzermenüs dann aus Anwendersicht zu finden ist es hilfreich die Transaktion "search_user_menu" als Gegenstück zur Suche im SAP Menü uber die Transaktion "search_sap_menu" zu verwenden. Alternativ kann auch mit der Suchenfunktion (STRG F) das jeweilige aktive Menü durchsucht werden.
Eine entsprechende komplexere Möglichkeit besteht darin das vorhandene SAP Menü um eigene Berichte zu erweitern. Einzelne Menübäume sind hierbei als Bereichsmenüzweige pflegbar. Das gesamte SAP Menü liegt zum Beispiel innerhalb des Bereichsmenü S000 und kann wie unter "SAP Menü exportieren" beschrieben als Liste exportiert werden.
Eine andere Möglichkeit ist es ein entsprechendes Untermenü zu bearbeiten. Details zum Bereichsmenü kann auf einen Menüknoten unter Zusätze->Technische Detailinformationen eingesehen werden.
So kann unter
Durch das Hinterlegen des Bereichsmenü KE50 wird nun statt des SAP Menüs das Menü der Profit-Center-Rechnung aufgerufen.
Neben der Erweiterung bestehender Menüs ist es aber auch möglich kundeneigene Z-Menüs anzulegen. So könnten bspw. PSM Rechercheberichte unter einen Bereichsmenü mit der Bezeichnung ZFMR oder auch ZFMEQ hinterlegt werden.
Die Pflege eines Bereichsmenü erfolgt unter
Hier kann dann entweder ein neues Bereichsmenü (bspw. ZFMEQ) angelegt werden oder ein bestehendes Bereichsmenü bearbeitet werden. Sofern ein vorhandenes Bereichsmenü bearbeitet werden soll, ist es sinnvoll dieses über Erweitern statt Ändern zu bearbeiten, da anderenfalls nach einen Upgrade das Menü wiederum überschrieben wird.
Innerhalb des Bereichsmenü können nun einzelne Ordner angelegt werden. Die entsprechenden Unterordner können über den Punkt "Eintrag auf gleicher Ebene hinzufügen" innerhalb der Symbolleiste eingefügt werden.
Um einen Bericht innerhalb des Bereichsmenü einzufügen kann die Funktion "Eintrag eine Ebene tiefer hinzufügen" ausgewählt werden. Hier kann dan ein Bericht über die Schaltfläche Bericht hinzugefügt werden. Hier besteht nun die Möglichkeit einen ABAP Report, SAP Query, Transaktion mit Variante, ReportWriter (als Berichtsgruppe) oder auch Recherchebericht einzufügen. Dabei wird automatisch neben einen Menüeintrag auch ein entsprechender Transaktionscode angelegt (Y* Transaktion).
Hierbei sollte jedoch daran gedacht werden, dass gegebenenfalls veraltetete Berichte sowohl seitens der Berechtigungen als auch seitens des Bereichsmenü wieder entfernt werden.
Insgesamt stellt aber gerade die Möglichkeit eines Bereichsmenüs oder Benutzermenüs die Möglichkeit zur Verfügung hier ein "internes" Haushaltsinformationssystem zur Verfügung zu stellen. Ggf. können hier auch externe Quellen (Dokumentationen oder Verlinkungen auf Internetseiten) hinterleght werden.
Vor der eigentlichen Anlage solcher benutzereigener Menüs sollte aber auch ein Konzept wie das SAP Berichtswesen auf Basis der Infouser aussehen soll mit den beteiligten Fachabteilungen erarbeitet werden, insbesondere da meistens Infouser auch bei den "produktiven" Usern anrufen um zu erfahren, wo denn ein entsprechender Bericht zu finden ist.
Dieses sollte bei Benutzermnüs innerhalb des SAP Berechtigungskonzeptes so abgefangen werden können, dass die Menübäume relativ vergleichbar sind.
Denkbar ist hier ein Menübaum für Infouser in der Form
welches bei Usern mit Buchungsberechtigung um entsprechenden funktionalen Berechtigungen erweitert wird. Hier könnte das Menü dann wie folgt aussehen:
Der Knoten Budgetbuchungen ist dann nur in der Rolle der Budgetbuchungsberechtigten enthalten und ergänzt das Benutzermenü der Anzeigeberechtigten von Budgets. Auf diese Weise können auch die User innerhalb der Budgetbuchhaltung Auskunft darüber geben an welcher Stelle die einzelnen kundeneigene Berichte in SAP zu finden sind sofern nicht über eine zentrale Transaktion ZLANDESBUDGET, ZDRITTMITTEL, ... und so weiter die Berichte aufgerufen werden.
Im Buch "Berichtswesen im SAP®-Controlling" bin ich auf einige Möglichkeit zum Aufbau eines Berichtswesen eingegangen.
Eine ausführliche Beschreibung ist unter Buchempfehlungen unter Berichtswesen im SAP®-Controlling (SAP Modul CO; internes Berichtswesen) zu finden.
(01. Juni 2017)
Paperback ISBN: 9783960127406
Für 19,95 € direkt bestellen
Oder als SAP Bibliothek-Flatrate *
Daher möchte ich in diesen Artikel ebenfalls darauf verweisen. Gerade der Aufbau eines Berichtswesen ist definitiv als eine modulübergreifende Sache zu betrachten und dürfte hier nicht nur durch den Artikel "Unterschiedliche Auswertungsmöglichkeiten im Controlling (Report Writer, Recherchebericht, SAP Query) und natürlich Excel ;-)" eines der für mich spannendsten Themen rund um SAP sein, dass sich auch beruflich für die Bereiche Hochschulberichtswesen und Hochschulcontrolling anwenden lässt.
Hinweis: Aktuelle Buchempfehlungen besonders SAP Fachbücher sind unter Buchempfehlungen inklusive ausführlicher Rezenssionenzu finden. Mein Weiterbildungsangebot zu SAP Themen finden Sie auf unkelbach.expert.
Bei der Erstellung eines Berechtigungskonzeptes kann ein Thema auch die Frage sein, wie die Benutzer mit der Anwendung umgehen sollen. Hierbei ist es sicher die einfachste Möglichkeit einfach das SAP Menü im Standard zu benutzen. Jedoch kann es immer wieder erforderlich sein auch darüber hinausgehende Funktionen schnell zugängig zu machen.
Hier gibt es verschiedene Möglichkeiten die nach Aufwand kurz erläutert sind.
a) Favoriten
Für jeden User besteht die Möglichkeit sich Favoriten über das Menü Favoriten anzulegen. Hier gibt es die Möglichkeit Ordner anzulegen, Funktionen aus den SAP Menü als Favoriten abzulegen (meistens wird dann auch der Pfad in die Beschreibung mit übernommen) oder auch Transaktion einfügen.Zur zentralen Verwaltung der Favoriten besteht die Möglichkeit diese über einen Referenzuser oder per Upload innerhalb der User zu verteilen. Ein Referenzuser dient hierbei bei der Anlage eines neuen User als Vorlage (Kopie des bestehenden Users) und kann sowohl Parameter als auch Favoriten enthalten.Die direkte Übertragung von Favoriten ist der "Download auf PC" bzw. "Upload auf PC" innerhalb des Favoriten-Menüs.
Innerhalb der Tabelle SMEN_BUFFC ("Tabelle für die Ablage der Favoriten") werden die Einträge der einzelnen User gespeichert, so dass hier anhand eines Benutzernamen auch eine Auswertung über vorhandene Einträge möglich ist bzw. auch hier eine Pflegemöglichkeit gegeben wäre.
Meistens sind in den Favoriten durch die einzelnen Benutzer auch die häufigst genutzten Transaktionen und kann auch als Basis für die Neukonzeptionierung von Berechtigungen dienen.
Favoriten haben jedoch den Nachteil nur Transaktionen beziehungsweise Einträge aus den SAP Menü zu übernehmen. Hier besteht natürlich der Nachteil, dass SAP Query, Rechercheberichte oder ReportWriter Berichte nicht direkt eingebunden werden können.
Zwar gibt es die Möglichkeit über kundeneigene Transaktionen (wie im Artikel "Transaktion anlegen (Report, Parameter) bspw. für SAP Query Unterschied Parameter- oder Reporttransaktion" oder unter Parametertransaktionen bzw. ausführlicher im Artikel "Kundeneigene Transaktionen zu Berichten in PSM FM Haushaltsmanagement zum Beispiel Belegjournal anlegen (Variantentransaktion)" beschrieben) anzulegen aber hier ist dann auch ein entsprechend hoher Aufwand zu betreiben. Außerdem müssen diese Transaktionscodes auch in Erinnerung behalten werden.
b) Benutzermenüs
Eine andere Alternative ist die Nutzung der Benutzermenüs welche innerhalb der Berechtigungspflege innerhalb des Profilgenerators (Transaktion PFCG) eingepflegt werden können. Ein Nachteil dieser Methode kann jedoch sein, dass eine Transaktion nur einmalig im Menü auftaucht. Sofern bspw. die Transaktion FK03 (Kreditor anzeigen) innerhalb eines Benutzermenübaumes hinterlegt ist wird diese nur einmalig ausgegeben und nicht an mehreren Positionen des Benutzermenüs. Dieses scheint jedoch bei aktuelleren Releases nicht mehr der Fall zu sein.Hinweis
Um eine entsprechende Funktion innerhalb des Benutzermenüs dann aus Anwendersicht zu finden ist es hilfreich die Transaktion "search_user_menu" als Gegenstück zur Suche im SAP Menü uber die Transaktion "search_sap_menu" zu verwenden. Alternativ kann auch mit der Suchenfunktion (STRG F) das jeweilige aktive Menü durchsucht werden.
c) Erweiterung SAP Menü / Bereichsmenü
Eine entsprechende komplexere Möglichkeit besteht darin das vorhandene SAP Menü um eigene Berichte zu erweitern. Einzelne Menübäume sind hierbei als Bereichsmenüzweige pflegbar. Das gesamte SAP Menü liegt zum Beispiel innerhalb des Bereichsmenü S000 und kann wie unter "SAP Menü exportieren" beschrieben als Liste exportiert werden.
Eine andere Möglichkeit ist es ein entsprechendes Untermenü zu bearbeiten. Details zum Bereichsmenü kann auf einen Menüknoten unter Zusätze->Technische Detailinformationen eingesehen werden.
So kann unter
- Rechnungswesen->
- Controlling
- Profit-Center-Rechnung
- Infosystem
Durch das Hinterlegen des Bereichsmenü KE50 wird nun statt des SAP Menüs das Menü der Profit-Center-Rechnung aufgerufen.
Neben der Erweiterung bestehender Menüs ist es aber auch möglich kundeneigene Z-Menüs anzulegen. So könnten bspw. PSM Rechercheberichte unter einen Bereichsmenü mit der Bezeichnung ZFMR oder auch ZFMEQ hinterlegt werden.
Die Pflege eines Bereichsmenü erfolgt unter
- Werkzeuge
- ABAP Workbench
- Entwicklung
- Weitere Werkzeuge
- Bereichsmenü Transaktion SE43
Hier kann dann entweder ein neues Bereichsmenü (bspw. ZFMEQ) angelegt werden oder ein bestehendes Bereichsmenü bearbeitet werden. Sofern ein vorhandenes Bereichsmenü bearbeitet werden soll, ist es sinnvoll dieses über Erweitern statt Ändern zu bearbeiten, da anderenfalls nach einen Upgrade das Menü wiederum überschrieben wird.
Innerhalb des Bereichsmenü können nun einzelne Ordner angelegt werden. Die entsprechenden Unterordner können über den Punkt "Eintrag auf gleicher Ebene hinzufügen" innerhalb der Symbolleiste eingefügt werden.
Um einen Bericht innerhalb des Bereichsmenü einzufügen kann die Funktion "Eintrag eine Ebene tiefer hinzufügen" ausgewählt werden. Hier kann dan ein Bericht über die Schaltfläche Bericht hinzugefügt werden. Hier besteht nun die Möglichkeit einen ABAP Report, SAP Query, Transaktion mit Variante, ReportWriter (als Berichtsgruppe) oder auch Recherchebericht einzufügen. Dabei wird automatisch neben einen Menüeintrag auch ein entsprechender Transaktionscode angelegt (Y* Transaktion).
Hinweis: Früher[TM] Anwendungsbaum (Transaktion SERP)
Vorgängerin der Bereichsmenü waren die sogenannten Anwendungsbäume. Diese konnten mit der Transaktion SERP gepflegt werden und sind heute durch die Bereichsmenü abgelöst worden. Sollten Sie noch Anwendungsbäume im Einsatz haben, dann können Sie über die Transaktion RTTREE_MIGRATION diese entsprechend umwandeln lassen. Die Anwendungsbäume waren bis R/3 4.6a aktuell, daher ist das schon ein ziemlicher Schritt in die Vergangenheit ;-).
Fazit
Gerade wenn mehrere Varianten eines Berichts (als Varianten innerhalb einer Parametertransaktion) oder unterschiedliche Rechercheberichte bzw. selbst entwickelte Berichte zur Verfügung gestellt werden sollen ist dem Aufruf der direkte Aufruf von Rechercheberichte (in PSM zum Beispiel über die Transaktion FMEQ) oder von ReportWriter Berichten (über die Transaktion GR55 (Berichtsgruppe ausführen) oder gar GRR3 (Bibliothek anzeigen)) eine wie oben beschriebene Vorgehensweise sicherlich zu bevorziehen.Hierbei sollte jedoch daran gedacht werden, dass gegebenenfalls veraltetete Berichte sowohl seitens der Berechtigungen als auch seitens des Bereichsmenü wieder entfernt werden.
Insgesamt stellt aber gerade die Möglichkeit eines Bereichsmenüs oder Benutzermenüs die Möglichkeit zur Verfügung hier ein "internes" Haushaltsinformationssystem zur Verfügung zu stellen. Ggf. können hier auch externe Quellen (Dokumentationen oder Verlinkungen auf Internetseiten) hinterleght werden.
Vor der eigentlichen Anlage solcher benutzereigener Menüs sollte aber auch ein Konzept wie das SAP Berichtswesen auf Basis der Infouser aussehen soll mit den beteiligten Fachabteilungen erarbeitet werden, insbesondere da meistens Infouser auch bei den "produktiven" Usern anrufen um zu erfahren, wo denn ein entsprechender Bericht zu finden ist.
Dieses sollte bei Benutzermnüs innerhalb des SAP Berechtigungskonzeptes so abgefangen werden können, dass die Menübäume relativ vergleichbar sind.
Denkbar ist hier ein Menübaum für Infouser in der Form
- Budgetinformationssystem
- Berichte
- Einzelposten
- Summenberichte
welches bei Usern mit Buchungsberechtigung um entsprechenden funktionalen Berechtigungen erweitert wird. Hier könnte das Menü dann wie folgt aussehen:
- Budgetinformationssystem
- Berichte
- Einzelposten
- Summenberichte
- Budgetbuchungen
- CO Budget buchen
- PSM Jahresbudget buchen
- PSM Gesamtbudget buchen
- Budget umbuchen
Der Knoten Budgetbuchungen ist dann nur in der Rolle der Budgetbuchungsberechtigten enthalten und ergänzt das Benutzermenü der Anzeigeberechtigten von Budgets. Auf diese Weise können auch die User innerhalb der Budgetbuchhaltung Auskunft darüber geben an welcher Stelle die einzelnen kundeneigene Berichte in SAP zu finden sind sofern nicht über eine zentrale Transaktion ZLANDESBUDGET, ZDRITTMITTEL, ... und so weiter die Berichte aufgerufen werden.
Hinweis - Berichtswesen im SAP Controlling
Nicht nur für das Berichtswesen im SAP Controlling, auch für andere Finanzberichte habe ich einige Hinweise in meinen neuen Buch zusammengefasst:Im Buch "Berichtswesen im SAP®-Controlling" bin ich auf einige Möglichkeit zum Aufbau eines Berichtswesen eingegangen.
Berichtswesen im SAP®-Controlling
Eine ausführliche Beschreibung ist unter Buchempfehlungen unter Berichtswesen im SAP®-Controlling (SAP Modul CO; internes Berichtswesen) zu finden.
Autor: Andreas Unkelbach
Verlag: Espresso Tutorials GmbH
1. AuflagePaperback ISBN: 9783960127406
Für 19,95 € direkt bestellen
Oder als SAP Bibliothek-Flatrate *
Daher möchte ich in diesen Artikel ebenfalls darauf verweisen. Gerade der Aufbau eines Berichtswesen ist definitiv als eine modulübergreifende Sache zu betrachten und dürfte hier nicht nur durch den Artikel "Unterschiedliche Auswertungsmöglichkeiten im Controlling (Report Writer, Recherchebericht, SAP Query) und natürlich Excel ;-)" eines der für mich spannendsten Themen rund um SAP sein, dass sich auch beruflich für die Bereiche Hochschulberichtswesen und Hochschulcontrolling anwenden lässt.
Aktuelles von Andreas Unkelbach
unkelbach.link/et.reportpainter/
unkelbach.link/et.migrationscockpit/
Mittwoch, 12. Juni 2013
15:40 Uhr
15:40 Uhr
Drei Varianten um Fehlermeldung bei PHP anzuzeigen
Sofern, meistens aus Sicherheitsgründen, die Ausgabe von Fehlermeldungen bei PHP deaktiviert ist, gibt es neben der Einstellungen innerhalb der Serverkonfiguration (PHP.INI) auch weitere Möglichkeiten diese zu aktivieren, sofern dieses unterstützt wird.
a) php.ini
Hier wäre die Einstellung auf
error_reporting = E_ALL
display_errors = On
zu ändern.
b) .httaccess
Hier kann über PHP Flags die Ausgabe von Fehlern wiederum aktiviert werden.
php_value display_errors 1
php_value error_reporting 6143
Zur Erklärung:
display_errors 1 schaltet die Fehlerausgabe auf an und error_reporting 6143 steht für alle Fehler.
Sofern der Server diese Konfiguration nicht unterstützt kann es zu einen unerwarteten Serverfehler kommen (HTTP-Statuscode 500)
c) innerhalb des PHP Skripts
Durch folgenden PHP Code innerhalb einer PHP Anweisung kann ebenfalls die Ausgabe von Fehlern aktiviert werden:
error_reporting(E_ALL);
ini_set('display_errors', 1);
Auch hier werden wiederum alle Fehler berichtet und per ini_set dann auch ausgegeben.
Eine Übersicht über die möglichen Werte sind auf php.net untererrorfunc.constants.php beschrieben.
Die sicherste Variante dürfte daher c) und die Angabe innerhalb eines PHP Skriptes sein. Aus Sicherheitsgründen sollte dieser Codeblock nach erfolgreichen Test aber wieder entfernt werden, da ansonsten anhand der Fehlermeldung auch Informationen zum Aufbau der Seite ausgelesen werden können.
Hinweis: Aktuelle Buchempfehlungen besonders SAP Fachbücher sind unter Buchempfehlungen inklusive ausführlicher Rezenssionenzu finden. Mein Weiterbildungsangebot zu SAP Themen finden Sie auf unkelbach.expert.
a) php.ini
Hier wäre die Einstellung auf
error_reporting = E_ALL
display_errors = On
zu ändern.
b) .httaccess
Hier kann über PHP Flags die Ausgabe von Fehlern wiederum aktiviert werden.
php_value display_errors 1
php_value error_reporting 6143
Zur Erklärung:
display_errors 1 schaltet die Fehlerausgabe auf an und error_reporting 6143 steht für alle Fehler.
Sofern der Server diese Konfiguration nicht unterstützt kann es zu einen unerwarteten Serverfehler kommen (HTTP-Statuscode 500)
c) innerhalb des PHP Skripts
Durch folgenden PHP Code innerhalb einer PHP Anweisung kann ebenfalls die Ausgabe von Fehlern aktiviert werden:
error_reporting(E_ALL);
ini_set('display_errors', 1);
Auch hier werden wiederum alle Fehler berichtet und per ini_set dann auch ausgegeben.
Eine Übersicht über die möglichen Werte sind auf php.net untererrorfunc.constants.php beschrieben.
Die sicherste Variante dürfte daher c) und die Angabe innerhalb eines PHP Skriptes sein. Aus Sicherheitsgründen sollte dieser Codeblock nach erfolgreichen Test aber wieder entfernt werden, da ansonsten anhand der Fehlermeldung auch Informationen zum Aufbau der Seite ausgelesen werden können.
Aktuelles von Andreas Unkelbach
unkelbach.link/et.reportpainter/
unkelbach.link/et.migrationscockpit/
Mittwoch, 5. Juni 2013
23:26 Uhr
23:26 Uhr
Ereignisgesteuerte Prozesskette in DIA darstellen (weitere Objekte einfügen)
Ausgangslage
Neben den schon vorhandenen Diagrammbögen (bspw. UML, ER, Datenbank, ...) bietet Dia auch die Möglichkeit weitere Objekte bzw. Diagrammbögen herunterzuladen und so das Programm um weitere Objekte zu erweitern. Beispiele können hier Baustellenzeichnungen, elektrische Schaltpläne oder auch weitere Modellierungsobjekte sein.
Innerhalb der Anwendung Dia ist es möglich überDatei->Objektbögen und Objekte ... (F9) aus den vorhandenen Objekten einen eigenen Objektbogen zu erstellen. Sofern hier aber bestimmte Objekte noch nicht vorhanden sind, kann es hilfreich sein hier "neue" Objektbögen als "Plugin" zu installieren.
Hier soll als Beispiel eine ereignisgesteuerte Prozesskette dargestellt werden.
Exkurs Definition Ereignisgesteuerte Prozesskette
Bei Ereignisgesteuerte Prozessketten (englisch: Event-driven Process Chain (EPC)) handelt es sich um eine Methode der Geschäftsprozessdarstellung.
Hierbei werden Prozesse nicht nur mit den zu Grunde liegenden Ereignissen sondern auch mit den zuständigen Organisationseinheiten verknüpft.
Diese könnte als Beispiel wie folgt aussehen.

Lösung
Auf der Seite dia-installer.de sind im Bereich "Fundgrube für Dia-Objekte" sind einige Objekte zu finden.
Diese können entweder über das Programm Diashapes pauschal installiert werden oder einzeln als ZIP heruntergeladen und der Anwendung hinzugefügt werden.
Zur manuellen Installation müssen die einzelnen Dateien aus der .ZIP Datei in das Programmverzeichnis von DIA extrahiert werden. Hierbei ist darauf zu achten, dass bei DIA Portable dieses der Ordner "DiaPortableAppDia" ist.
Anhand der "Objekte zum Zeichnen von ereignisgesteuerten Prozessketten" möchte ich kurz die Einbindung und Nutzung dieser Diagrammbögen erläutern.
Nachdem die ZIP Datei (edpc.zip Objekte und Objektbogen, gezippt) im Programmordner entpackt worden ist kann DIA erneut gestartet werden.
Innerhalb der ZIP Datei befinden sich zwei Ordner:
Sofern diese Ordner in Dia integriert sind kann DIA gestartet werden und es steht der Diagrammbogen zur Verfügung.
In diesen Fall sind die Objekte einer "Ereignisgesteuerte Prozesskette / Event-driven process chain" als Auswahl vorhanden, so dass ein entsprechendes Diagramm erstellt werden kann.

In den gelben Kästen sind entsprechende Beispiele für die Objektausprägungen aufgeführt.
Hinweis: Aktuelle Buchempfehlungen besonders SAP Fachbücher sind unter Buchempfehlungen inklusive ausführlicher Rezenssionenzu finden. Mein Weiterbildungsangebot zu SAP Themen finden Sie auf unkelbach.expert.
Neben den schon vorhandenen Diagrammbögen (bspw. UML, ER, Datenbank, ...) bietet Dia auch die Möglichkeit weitere Objekte bzw. Diagrammbögen herunterzuladen und so das Programm um weitere Objekte zu erweitern. Beispiele können hier Baustellenzeichnungen, elektrische Schaltpläne oder auch weitere Modellierungsobjekte sein.
Innerhalb der Anwendung Dia ist es möglich überDatei->Objektbögen und Objekte ... (F9) aus den vorhandenen Objekten einen eigenen Objektbogen zu erstellen. Sofern hier aber bestimmte Objekte noch nicht vorhanden sind, kann es hilfreich sein hier "neue" Objektbögen als "Plugin" zu installieren.
Hier soll als Beispiel eine ereignisgesteuerte Prozesskette dargestellt werden.
Exkurs Definition Ereignisgesteuerte Prozesskette
Bei Ereignisgesteuerte Prozessketten (englisch: Event-driven Process Chain (EPC)) handelt es sich um eine Methode der Geschäftsprozessdarstellung.
Hierbei werden Prozesse nicht nur mit den zu Grunde liegenden Ereignissen sondern auch mit den zuständigen Organisationseinheiten verknüpft.
Diese könnte als Beispiel wie folgt aussehen.

Lösung
Auf der Seite dia-installer.de sind im Bereich "Fundgrube für Dia-Objekte" sind einige Objekte zu finden.
Diese können entweder über das Programm Diashapes pauschal installiert werden oder einzeln als ZIP heruntergeladen und der Anwendung hinzugefügt werden.
Zur manuellen Installation müssen die einzelnen Dateien aus der .ZIP Datei in das Programmverzeichnis von DIA extrahiert werden. Hierbei ist darauf zu achten, dass bei DIA Portable dieses der Ordner "DiaPortableAppDia" ist.
Anhand der "Objekte zum Zeichnen von ereignisgesteuerten Prozessketten" möchte ich kurz die Einbindung und Nutzung dieser Diagrammbögen erläutern.
Nachdem die ZIP Datei (edpc.zip Objekte und Objektbogen, gezippt) im Programmordner entpackt worden ist kann DIA erneut gestartet werden.
Innerhalb der ZIP Datei befinden sich zwei Ordner:
- shapesedpc
Hier liegen die Grafikdefinitionen der Objekte - sheets
Hier liegt die Datei edpc.sheet in der als XML die Sprachdatei (Übersetzung) der Diagrammbögen liegen
Sofern diese Ordner in Dia integriert sind kann DIA gestartet werden und es steht der Diagrammbogen zur Verfügung.
In diesen Fall sind die Objekte einer "Ereignisgesteuerte Prozesskette / Event-driven process chain" als Auswahl vorhanden, so dass ein entsprechendes Diagramm erstellt werden kann.

In den gelben Kästen sind entsprechende Beispiele für die Objektausprägungen aufgeführt.
Schnelleinstieg in das Controlling (CO) mit SAP S/4HANA (📖)
Für 29,95 € direkt bestellen
Oder bei Amazon ** Oder bei Autorenwelt
Dienstag, 4. Juni 2013
18:20 Uhr
18:20 Uhr
Inhaltsverzeichnis in Excel über vorhandene Tabellenblätter
Ausgangslage
Bei umfangreichen Tabellen (bspw. mehrere Tabellenblätter innerhalb einer Excelmappe) ist es oft sinnvoll im ersten Blatt eine Übersicht mit Definitionen oder ein Inhaltsverzeichnis anzulegen. Sinnvollerweise kann hier über die Funktion HYPERLINK auch auf die dahinter liegenden Excelmappen verwiesen werden. Dieses kann aber bei mehreren Tabellenblättern recht mühsam sein entsprechend diese anzulegen.
Im Beispiel gibt es ein Tabellenblatt für die Gesamtsicht und eines für einzelne Abteilungen, Fachbereiche und Verwaltung.
Lösung:
Durch einen Beitrag im VBA Entwickler-Treff von XING bin ich auf den Beitrag "Inhaltsverzeichnis für Arbeitsmappe automatisch erstellen" gestossen und habe dieses Makro für mich wie folgt angepasst.
In dieser Variante wird ein Blatt mit der Bezeichnung Inhaltsverzeichnis angelegt und mit entsprechenden Hyperlinks ergänzt. Dieses Beispiel ist im weiteren auch dokumentiert.
Angepasste Version:
Hier wird als Überschrift die Zelle A1 jeden Blattes übernommen und das erste Tabellenblatt ohne Namenszuweisung angelegt. Hierdurch kommt es zu keinen Fehler, solle ein Blatt mit der Bezeichnung Inhaltsverzeichnis schon vorhanden sein.
Durch dieses Makro wird die vorhandene Tabelle um ein weiteres Blatt erweitert und in diesen werden alle vorhandenen Blätter mit einen entsprechenden Link aufgelistet.
Zur Erstellung von Makros ist bei Excel 2007 erst einmal die Registerkarte "Entwickleroptionen" unter den Punkt "Die am häufigsten verwendeten Optionen bei der Arbeit mit Excel" unter der Kategorie "Häufig verwende" zu aktivieren.
Nun findet sich der Makroeditor in der Symbolleiste "Entwicklertools" und kann hier direkt über Makros aufgerufen werden. In Excel 2010 ist dieser in der Symbolleiste Ansicht zu finden.
Hier kann nun im Feld Makroname ein Name bspw. Inhaltsverzeichnis eingetragen werden und durch den Klick auf "Erstellen" ein Makro angelegt werden.
Dabei wird durch sub Name und endsub() das entsprechende Makro angelegt. Hier kann das oben angegebene Makro eingefügt werden.
Nun kann das VisualBasic Fenster geschlossen werden und zur eigentlichen Tabelle zurückgekehrt werden.
Das Makro ist nun direkt gespeichert und kann über den Makroeditor wiederum durch "Ausführen" gestartet werden.
Hierbei hat das Makro unabhängig vom gewählten Makronamen die im Code mit sub Name() angegebene Bezeichnung. Im Beispiel also Inhaltsverzeichnis.
Im Ergebnis sieht das erste Tabellenblatt nun wie folgt aus:
Durch einen Klick auf einen entsprechenden Link kann auch direkt auf das Exceltabellenblatt gewechselt werden.
Der Vorteil dieses Makro ist, dass es unabhängig von bereits vorhandenen Tabellenblättern angelegt werden kann und in der Reihenfolge der Tabellenblätter eine Übersicht über die einzelnen Tabellenblätter erstellt.
Es ist sinnvoll dieses Makro in Verbindung mit den im Artikel Office Integration - Excelansicht in SAP und Daten kopieren nach Excel vorgestellten Makros zur Übernahme von Daten aus Buchhaltungssystemen in eine persönliche Makroarbeitsmappe (siehe Artikel Excel Umgang mit Makros und Visual Basic for Applications (VBA) zu übernehmen.
Zusammenfassung (Zwei Makros mit A1 oder A2 als Überschrift)
Hinweis: Aktuelle Buchempfehlungen besonders SAP Fachbücher sind unter Buchempfehlungen inklusive ausführlicher Rezenssionenzu finden. Mein Weiterbildungsangebot zu SAP Themen finden Sie auf unkelbach.expert.
Bei umfangreichen Tabellen (bspw. mehrere Tabellenblätter innerhalb einer Excelmappe) ist es oft sinnvoll im ersten Blatt eine Übersicht mit Definitionen oder ein Inhaltsverzeichnis anzulegen. Sinnvollerweise kann hier über die Funktion HYPERLINK auch auf die dahinter liegenden Excelmappen verwiesen werden. Dieses kann aber bei mehreren Tabellenblättern recht mühsam sein entsprechend diese anzulegen.
Im Beispiel gibt es ein Tabellenblatt für die Gesamtsicht und eines für einzelne Abteilungen, Fachbereiche und Verwaltung.
Lösung:
Durch einen Beitrag im VBA Entwickler-Treff von XING bin ich auf den Beitrag "Inhaltsverzeichnis für Arbeitsmappe automatisch erstellen" gestossen und habe dieses Makro für mich wie folgt angepasst.
Sub Inhaltsverzeichnis()
Dim intTab As Integer
Dim tbl As Worksheet
Dim intZeile As Integer
Set tbl = Worksheets.Add(before:=Worksheets(1))
intZeile = 2
' eingefügtes Blatt "Inhaltsverzeichnis" nennen
Worksheets(1).Name = "Inhaltsverzeichnis"
ActiveSheet.Name = Worksheets(1).Name
Cells(1, 1).Value = "Enthaltene Blätter"
For intTab = 2 To ActiveWorkbook.Worksheets.Count
tbl.Cells(intZeile, 1).Value = Worksheets(intTab).Name
tbl.Cells(intZeile, 1).Hyperlinks.Add _
Anchor:=tbl.Cells(intZeile, 1), Address:="", SubAddress:= _
"'" & Worksheets(intTab).Name & "'!A1", _
ScreenTip:="Klicken Sie um zur Tabelle zu gelangen", _
TextToDisplay:=Worksheets(intTab).Name
intZeile = intZeile + 1
Next intTab
' Spaltenbreite fixieren
Worksheets(1).Cells.EntireColumn.AutoFit
End Sub
In dieser Variante wird ein Blatt mit der Bezeichnung Inhaltsverzeichnis angelegt und mit entsprechenden Hyperlinks ergänzt. Dieses Beispiel ist im weiteren auch dokumentiert.
Angepasste Version:
Hier wird als Überschrift die Zelle A1 jeden Blattes übernommen und das erste Tabellenblatt ohne Namenszuweisung angelegt. Hierdurch kommt es zu keinen Fehler, solle ein Blatt mit der Bezeichnung Inhaltsverzeichnis schon vorhanden sein.
Sub Inhalt_mit_Überschrift()
Dim intTab As Integer
Dim tbl As Worksheet
Dim intZeile As Integer
Set tbl = Worksheets.Add(before:=Worksheets(1))
intZeile = 2
' Zellenüberschriften
ActiveSheet.Name = Worksheets(1).Name
Cells(1, 1).Value = "Überschrift"
Cells(1, 2).Value = "Link"
Cells(1, 1).Font.Bold = True
Cells(1, 2).Font.Bold = True
For intTab = 2 To ActiveWorkbook.Worksheets.Count
' Ausgabe der Zelle A1 eines jeden Arbeitsblattes als Überschrift
tbl.Cells(intZeile, 1).Value = "='" & Worksheets(intTab).Name & "'!a1"
'Übernahme der Registerblattfarbe als Schriftfarbe
tbl.Cells(intZeile, 1).Font.Color = Worksheets(intTab).Tab.Color
'Setzen eines Hyperlinks auf Tabellenblatt
tbl.Cells(intZeile, 2).Value = Worksheets(intTab).Name
tbl.Cells(intZeile, 2).Hyperlinks.Add _
Anchor:=tbl.Cells(intZeile, 2), Address:="", SubAddress:= _
"'" & Worksheets(intTab).Name & "'!A1", _
ScreenTip:="Klicken Sie um zur Tabelle zu gelangen", _
TextToDisplay:=Worksheets(intTab).Name
intZeile = intZeile + 1
Next intTab
Worksheets(1).Cells.EntireColumn.AutoFit
End Sub
Durch dieses Makro wird die vorhandene Tabelle um ein weiteres Blatt erweitert und in diesen werden alle vorhandenen Blätter mit einen entsprechenden Link aufgelistet.
Zur Erstellung von Makros ist bei Excel 2007 erst einmal die Registerkarte "Entwickleroptionen" unter den Punkt "Die am häufigsten verwendeten Optionen bei der Arbeit mit Excel" unter der Kategorie "Häufig verwende" zu aktivieren.
Nun findet sich der Makroeditor in der Symbolleiste "Entwicklertools" und kann hier direkt über Makros aufgerufen werden. In Excel 2010 ist dieser in der Symbolleiste Ansicht zu finden.
Hier kann nun im Feld Makroname ein Name bspw. Inhaltsverzeichnis eingetragen werden und durch den Klick auf "Erstellen" ein Makro angelegt werden.
Dabei wird durch sub Name und endsub() das entsprechende Makro angelegt. Hier kann das oben angegebene Makro eingefügt werden.
Nun kann das VisualBasic Fenster geschlossen werden und zur eigentlichen Tabelle zurückgekehrt werden.
Das Makro ist nun direkt gespeichert und kann über den Makroeditor wiederum durch "Ausführen" gestartet werden.
Hierbei hat das Makro unabhängig vom gewählten Makronamen die im Code mit sub Name() angegebene Bezeichnung. Im Beispiel also Inhaltsverzeichnis.
Im Ergebnis sieht das erste Tabellenblatt nun wie folgt aus:
Durch einen Klick auf einen entsprechenden Link kann auch direkt auf das Exceltabellenblatt gewechselt werden.
Der Vorteil dieses Makro ist, dass es unabhängig von bereits vorhandenen Tabellenblättern angelegt werden kann und in der Reihenfolge der Tabellenblätter eine Übersicht über die einzelnen Tabellenblätter erstellt.
Es ist sinnvoll dieses Makro in Verbindung mit den im Artikel Office Integration - Excelansicht in SAP und Daten kopieren nach Excel vorgestellten Makros zur Übernahme von Daten aus Buchhaltungssystemen in eine persönliche Makroarbeitsmappe (siehe Artikel Excel Umgang mit Makros und Visual Basic for Applications (VBA) zu übernehmen.
Zusammenfassung (Zwei Makros mit A1 oder A2 als Überschrift)
Sub Inhalt_mit_Überschrift_aus_a1()
'
' Inhalt_mit_Überschrift_aus_a1 Makro
' Erstellt ein Inhaltsverzeichnis aller Tabellenblaetter und verwendet als Überschrift die Zelle A1 eines jeden Tabellenblattes
'
'
Dim intTab As Integer
Dim tbl As Worksheet
Dim intZeile As Integer
Set tbl = Worksheets.Add(before:=Worksheets(1))
intZeile = 2
ActiveSheet.Name = Worksheets(1).Name
Cells(1, 1).Value = "Überschrift"
Cells(1, 2).Value = "Link"
Cells(1, 1).Font.Bold = True
Cells(1, 2).Font.Bold = True
For intTab = 2 To ActiveWorkbook.Worksheets.Count
tbl.Cells(intZeile, 1).Value = "='" & Worksheets(intTab).Name & "'!a1"
tbl.Cells(intZeile, 1).Font.Color = Worksheets(intTab).Tab.Color
tbl.Cells(intZeile, 2).Value = Worksheets(intTab).Name
tbl.Cells(intZeile, 2).Hyperlinks.Add _
Anchor:=tbl.Cells(intZeile, 2), Address:="", SubAddress:= _
"'" & Worksheets(intTab).Name & "'!A1", _
ScreenTip:="Klicken Sie um zur Tabelle zu gelangen", _
TextToDisplay:=Worksheets(intTab).Name
intZeile = intZeile + 1
Next intTab
Worksheets(1).Cells.EntireColumn.AutoFit
End Sub
Sub Inhalt_mit_Überschrift_aus_a2()
'
' Inhalt_mit_Überschrift_aus_a2 Makro
' Erstellt ein Inhaltsverzeichnis aller Tabellenblaetter und verwendet als Überschrift die Zelle A2 eines jeden Tabellenblattes
'
'
Dim intTab As Integer
Dim tbl As Worksheet
Dim intZeile As Integer
Set tbl = Worksheets.Add(before:=Worksheets(1))
intZeile = 2
ActiveSheet.Name = Worksheets(1).Name
Cells(1, 1).Value = "Überschrift"
Cells(1, 2).Value = "Link"
Cells(1, 1).Font.Bold = True
Cells(1, 2).Font.Bold = True
For intTab = 2 To ActiveWorkbook.Worksheets.Count
tbl.Cells(intZeile, 1).Value = "='" & Worksheets(intTab).Name & "'!a2"
tbl.Cells(intZeile, 1).Font.Color = Worksheets(intTab).Tab.Color
tbl.Cells(intZeile, 2).Value = Worksheets(intTab).Name
tbl.Cells(intZeile, 2).Hyperlinks.Add _
Anchor:=tbl.Cells(intZeile, 2), Address:="", SubAddress:= _
"'" & Worksheets(intTab).Name & "'!A2", _
ScreenTip:="Klicken Sie um zur Tabelle zu gelangen", _
TextToDisplay:=Worksheets(intTab).Name
intZeile = intZeile + 1
Next intTab
Worksheets(1).Cells.EntireColumn.AutoFit
End Sub
Aktuelles von Andreas Unkelbach
unkelbach.link/et.reportpainter/
unkelbach.link/et.migrationscockpit/


Keine Kommentare - Permalink - SAP