16:56 Uhr
ABAP Syntax Highlighting im Texteditor Notepad++ oder im SAP GUI
Anhand der folgenden Abbildung ist die Hervorhebung des ABAP Codes recht gut ersichtlich.

Screenshot © Copyright 2015. SAP SE. Alle Rechte vorbehalten *
Wie die Einstellung für den "Quellcode-basierten Editor" sowie für "Pretty Printer" vorgenommen werden können habe ich im Artikel "Syntaxhevorhebung im ABAP Editor durch neuen Frontend Editor (Quelltext-Modus)" beschrieben.
Im Laufe der Zeit ist das Coding doch recht umfangreich gewachsen und eigentlich wäre es an dieser Stelle eine gute Gelegenheit bestehendes Coding zu verbessern beziehungsweise dieses etwas zu aktualisieren. Gerade in der Anfangszeit ist da doch ein klein wenig Spaghetti-Code ohne ordentliche Dokumentation oder auch mit etwas ungünstigen Schritten entstanden.
Allerdings wollte ich dieses Coding nicht im SAP GUI vornehmen, sondern mir den Code kopieren und einen externen Editor verwenden. Glücklicherweise fand ich hier an der Arbeit NotePad++ als Freeware und freue mich sehr darüber, dass hier durch Erweiterungen auch ABAP Coding als Sprache unterstützt wird. Hierzu hat dankenswerterweise Denis Reis im Artikel "ABAP Syntax im Notepad++ nutzen" eine passende Anleitung geschrieben, sodass ich auf diese gerne verweisen möchte.
Der Editor selbst ist auf https://notepad-plus-plus.org/ zu finden und sowohl in einer portablen Version als auch einer direkten Version zur Installation verfügbar.
Wie von Denis Reis beschrieben konnte ich über Sprache > Benutzerdefinierte Sprache > Eigene Sprache definieren über die Schaltfläche Importieren die Datei ABAP.XML importieren.
Nun steht mir neben den bereits vorhandenen Sprachen wie PHP oder HTML auch eine benutzerdefinierte Sprache (hier: ABAP) zur Verfügung.

Sobald ich hier ABAP auswähle, habe ich nach der Aktivierung auch im "Texteditor" Einrückungen sowie Syntax-Highlighten für meinen ABAP Code und kann da etwas leichter mich zurechtfinden.

Dies ist kein großer Aufwand, aber eine sehr schnelle positive Lösung um auch außerhalb des SAP System etwas leichter Code anpassen zu können, auch wenn hier natürlich das Prüfen des Coding fehlt.
Sofern mein Schwerpunkt in Richtung Programmierung gehen würde gibt es sicherlich auch einfachere beziehungsweise komfortablere Varianten aber für eine kurze Unterstützung ist diese Umgebung genau passend für meine Bedürfnisse.
An ihre Grenzen stößt diese natürlich, wenn ich hier auch eine Rückmeldung erhalten mag, ob der Code funktioniert. Dafür ist die Schaltfläche Coding Prüfen im SAP GUI / ABAP Editor durchaus von Vorteil :-)
Für eine externe Optimierung meines Coding ist dies aber dennoch sehr praktisch, daher vielen Dank für den Hinweis auf diese Möglichkeit in Richtung Denis Reis.
An dieser Stelle auch noch ein kurzer Hinweis auf meine Rezension unter "Literaturempfehlung: Unternehemensplanung mit SAP BPC von Denis Reis".
Ich freue mich immer wieder darüber, dass im Netz auf solche Empfehlungen zu finden und darüber, dass auch andere Personen Blogs zu SAP Themen schreiben.
Ob ich perspektivisch mich auch in Richtung ABAP weiterbilde, ist eine andere Frage und hängt auch mit der weiteren SAP Zukunft bei mir ab ;-).
Schnelleinstieg in das Controlling (CO) mit SAP S/4HANA (📖)
Für 29,95 € direkt bestellen
Oder bei Amazon ** Oder bei Autorenwelt
21:10 Uhr
SAP CO: E-Mail-Adresse zum verantwortlichen Benutzer von CO-Objekten per SAP Query ermitteln
Ausgangslage - CO Stammdaten und Mailadresse aus verantwortliche Benutzer
Eine CO-Stammdatenauswertung über Kostenstellen und Innenaufträge soll die Kontaktdaten der Kostenstellenverantwortliche enhalten. Dabei kann natürlich die Anschrift aus der Kostenstelle aus der Stammdatenpflege genommen werden. In der App Kostenstellen verwalten (FIORI App ID F1023 oder die neuere App ID F1443A) können Anschriftsdaten wie Name 1 bis Name 4 sowie Straße, Ort (und andere Postanschriftdaten) hinterlegt werden.Allerdings gibt es für die "elektronische Kommunikation" im Abschnitt Kommunikation ur Telefonnummer, Teleboxnummer, Telexnummer, Telefaxnummer und Teletexnummer. Ein Feld für die E-Mail-Adresse ist originär nicht vorhanden.
Denkbar wäre hier noch per Customer-Include ein Zusatzfeld. Im Controlling ist dies über CI_CSKS für Kostenstellen oder CI_AUFK für CO-Innenaufträge möglich. Diese können per CMOD (Customer-Exit) COOMKS01 oder COOPA003 den Stammdaten ergänzt werden.
Auf die Erweiterung der Stammdaten bin ich im Artikel "Stammdatenerweiterung von CO-Objekten am Beispiel ergänzende Kostenstelle beim Innenauftrag" eingegangen.
In diesem Beispiel möchte ich aber auf eine Lösung mit vorhandenen Stammdaten eingehen.
Anwendungsfall - Praxisanforderung im Berichtswesen
Die eingangs beschriebene Anforderung ist für viele Berichtsanforderungen im CO relevant. Oftmals soll neben Kostenstellen oder Innenaufträge auch die verantwortlichen Ansprechpartner inklusive E-Mail.Adresse dargestellt werden um diese etwa für den Versand von Berichten, Kommunikation zu Bugdetfragen oder auch für interne Abläufe genutzt werden.Da CO-Stammdaten selbst kein originäres Feld für E-Mail-Adressen enthalten, bietet sich die Nutzung der SAP-Benutzerkennung des verantwortlichen Benutzers an.
Pflege Verantwortliche in CO Stammdaten
Neben den Reitern Anschrift, Kommunikation sowie gegebenenfalls Zusatzfeldern gibt es im Abschnitt Grunddaten zur Kostenstelle auch noch das Feld Verantwortlicher (CSKS-VERAK Textfeld mit 20 Zeichen) oder Verantowrtlicher User (CSKS-VERAK_USER). Im Feld Verantwortlicher User kann eine SAP-Userkennung (Benutzername) hinterlegt werden. Dies Feld prüft gegen die Tabelle USR02 ab.Das Feld VERAK_USER nutzt dabei als Eingabehilfe (Suchhilfename USER_COMP) die Domäne XUBNAME und per Fremdschlüssel die Prüftabelle USR02. Hierdurch werden auch nur aktive User zur Auswahl angeboten.
Entsprechend kann hier die im SAP-Benutzerstamm hinterlegte Benutzer-ID der Person eingegeben werden, die für die Kostenstelle verantwortlich ist. Es erfolgt dabei eine Überprüfung gegen dem Benutzerstamm im SAP System.
Für das Feld Verantwortlicher kann freier Text ohne Überprüfung angegeben werden. Neben der Pflege von Berechtigungen über zugeordnete Rollen kann bei der SAP-Userkennung (Transaktion SU01 Benutzerpflege oder SU01D Benutzer anzeigen) im Abschnitt Kommunikation auch eine E-Mail-Adresse hinterlegt werden. Diese kann dann unter anderen für Workflows wie Freigabe einer Rechnung / Bestellung genutzt werden.
Anforderung E-Mail-Adresse zu Verantwortlicher User
Das Feld "Verantwortlicher Benutzer" kann bei den CO Objekten Profitcenter, Kostenstelle und CO Innenaufträge gepflegt werden. Im konkreten Beispiel soll die Benutzerkennung jedoch nur in der Kostenstelle gepflegt werden und nicht bei Profitcenter und/oder Innenauftrag,In den erwähnten Stammdaten ist das Feld an folgender Stelle vorhanden:
- Kostenstelle
- Transaktion KS01, KS02, KS03
Abschnitt Grunddaten Feld Verantwortlicher Benutzer - Tabelle CSKS Feld VERAK_USER
Verantwortlicher Benutzer
- Transaktion KS01, KS02, KS03
- Profitcenter
- Transaktion KE51, KE52, KE53
Abschnitt Grunddaten Feld Verantwortlicher Benutzer - Tabelle CEPC Feld VERAK_USER
Verantwortlicher Benutzer des Profit Centers
- Transaktion KE51, KE52, KE53
- Innenauftrag
- Transaktion KO01, KO02, KO03
Abschnitt Projektdaten, Zuordnungen Feld Verantw. Benutzer - Tabelle AUFK Feld VERAA_USER
Verantwortlicher Benutzer des CO-Innenauftrags
- Transaktion KO01, KO02, KO03
Die beschriebenen Tabellen und Zusammenhänge gelten weiterhin auch unter SAP S/4HANA, selbst wenn die Pflege zunehmend über Fiori-Apps und nicht per SAP GUI Transaktionen erfolgt.
Hintergrund ist eine Budgetverantwortung bei der für die Kostenstelle verantwortliche Person. Daneben kann natürlich auch Antragssteller und Verantwortlicher unter Allgemeine Daten im CO Innenauftrag eingetragen und natürlich auch unter Verantw. Benutzer eine Benutzerkennung hinterlegt werden, aber im Wesentlichen liegt die Budgetverantwortung bei der Verantwortlichen für die Kostenstelle, welche als zugeordnete verantwortliche Kostenstelle auch beim Innenauftrga hinterlegt ist.
Beispiel Verantwortliche Kostenstelle aus CO Innenauftrag
Praktisch bedeutet dieses in unserem Beispiel, dass die Budget- und Kostenverantwortung auch für Projekte / Innenaufträge bei der Verantwortlichen der Kostenstelle liegt. Daher bekommt das Feld Verantwortlicher Benutzer (Feld VERAK_USER) der Kostenstelle (Tabelle CSKS) eine besondere Bedeutung. Um Stammdaten aus Kostenstellen zu nutzen kann die Tabelle CSKS "Kostenstellenstammsatz" und CSKT "Kostenstellentexte" genutzt werden und diese bei der Auswertung von CO Innenaufträgen (über die Tabelle AUFK) über das Feld verantwortliche Kostenstelle (Feld KOSTV in Tabelle AUFK) verknüpft werden.Verknüpfung AUFK und CSKS
- AUFK-KOSTV Verantwortliche Kostenstelle mit CSKS-KOSTL Kostenstelle
- AUFK-KOKRS Kostenrechnungskreis mit CSKS-KOKRS Kostenrechnungskreis
Verknüpfung CSKS und CSKT
- CSKS-KOKRS Kostenrechnungskreis mit CSKT-KOKRS Kostenrechnungskreis
- CSKS-KOSTL Kostenstelle mit CSKT-KOSTL Kostenstelle
- CSKS-DATBI Datum gültig bis mit CSKT-DATBI Datum gültig bis
Nachdem wir nun also Kostenstellen und Innnenaufträge verknüpft haben kann das Feld VERAK_USER der Tabelle CSKS genutzt werden um die Mailanschrift des verantwortlichen Benutzer zu erhalten.
Hintergrund Zentrale Adreßverwaltung (BC-SRV-ADR)
Zu einzelnen Anwendungsobjekten wie Kunden- und Lieferantenstamm, Geschäftspartner (Business Partner) oder Benutzeradressen der SAP User (Systembenutzer) wird die zentrale Adreßverwaltung (BC-SRV-ADR) in SAP genutzt. Hier lassen sich neben der Adresse auch alle gängigen Kommunikationsarten wie Telefonnummer oder die E-Mailanschrift erfassen.Es wird dabei zwischen Organisationsadressen (Adreßtyp 1), Personenadressen (Adreßtyp 2) und Arbeitsplatzadressen (Adreßtyp 3) unterschieden.
Eindeutig sind die Organisationsadressen (Tabelle ADRC - Adressen (Business Address Services)) und die Personenadressen (Tabelle ADRP - Personen (Business Address Services)).
Auf das Konzept der Adreßverwaltung möchte ich an dieser Stelle nicht näher eingehen sondern auf die für die SAP Benutzerkennung relevanten Daten nun näher eingehen.
Benutzername und Adressnummer (USR21)
Über die Tabelle USR21 Zuordnung Benutzername Adressschlüssel kann über die SAP Benutzerkennung (Feld BNAME Benutzername im Benutzerstamm) die Personennummer (Feld PERSNUMBER Personennummer) ermittelt werden. Da es sich hier um Personen handelt kann diese dann zur Verknüpfung mit der Taebelle ADRP genutzt werden.Es werden folgende Tabellen miteinander verknüpft:
Verknüpfung CSKS mit USR21 (Kostenstelle)
- CSKS-VERAK_USER Verantwortlicher Benutzer mit USR21-BNAME Benutzername im Benutzerstamm
Verknüpfung AUFK mit USR21 (CO Innenauftrag)
- AUFK-VERAA_USER Verantwortlicher Benutzer des CO-Innenauftrags mit USR21-BNAME Benutzername im Benutzerstamm
- CEPC-VERAK_USER Verantwortlicher Benutze des Profictenters mit USR21-BNAME Benutzername im Benutzerstamm
Adressdaten zur Personennummer
Wie erwähnt handelt es sich bei SAP Userkennungen um dahinterliegende Personen, so dass nun anhand der Personennummer weitere Daten ausgelesen werden können.Dazu werden die beiden Tabellen USR21 und ADRP miteinander verknüpft.
Verknüpfung USR21 mit ADRP
- USR21-PERSNUMBER Personennummer mit ADRP-PERSNUMBER Personennummer
Hilfreichn ist jedoch das Feld NAME_TEXT Vollständiger Name der Person in der Tabelle ADRP Personen (Business Address Services) wodurch wir schon einmal den Namen der verantwortliche Person und nicht die SAP Benutzerkennenung haben.
Für die Kommunikationsdaten ist nun die Tabelle ADR6 E-Mail-Adressen (Business Address Services) relevant.
Hier verknüpfen wir nun die beiden Tabellen ADRP und ADR6.
Verknüpfung ADRP mit ADR6
- ADRP-PERSNUMBER Personennummer mit ADR6-PERSNUMBER Personennummer
In der Tabelle ADR6 ist im Feld SMTP_ADDR E-Mail-Adresse die für uns relevante eMail-Adresse zu finden.
Query über CO Objekt und SAP Benutzerkennung
Alle erwähnten Felder können im Infoset in einer Feldgruppe aufgenommen werden und in einer Query kann nun ergänzend zu den Stammdaten der CO Objekte auch die Mailanschrift über die Benutzerkennung bzw. verantwortlichen Benutzer ausgelesen werden.Datenschutz und Berechtigungen
Bei der Auswertung personenbezogener Daten wie Name oder E-Mail-Adresse sollte geprüft werden, ob die Ausgabe fachlich erforderlich ist und den internen Datenschutzrichtlinien entspricht. Insbesondere die Tabellen USR21, ADRP und ADR6 enthalten personenbezogene Informationen aus dem SAP-Benutzerstamm. Daneben sollte auch mit der SAP Basis abgestimmt werden, ob eine solche Auswertung mit den vorliegenden Berechtigungskonzept kompatibel ist.
Berechtigungen für Tabellen
Sofern keine logische Datenbanken ausgelesen werden prüft das SAP System leider nicht auf die üblichen Berechtigungsobjekte wie K_CSKS (CO-CCA: Kostesntellen-Stamm) oder K_ORDER (CO-OPA: Allgemeines Berechtigungsobjekt für Innenaufträge) sondern auf sogenannte Tabellenberechtigungsgruppen wodurch nur gesteuert werden kann, ob eine Tabelle gelesen werden darf oder nicht.Hier werden die Berechtigungen über das Berechtigungsobjekt S_TABU_DIS Tabellenpflege (über Standardtools wie zB SM30) geprüft. Als Berechtigungsobjektfeldwerte stehen dabei folgender Felder zur Verfügung:
- ACTVT Aktivität
- 02 Ändern
- 03 Anzeigen
- 08 Änderungsbelege anzeigen
- BD Objektepflege im Nichtownersys
- DICBERCLS Tabellenberechtigungsgruppe
- Hinter der F4 Auswahlhilfe sind dies bspw.
- &NC& ohne Berecht.gruppe
- KA CO:Anwendungstabelle
- Hinter der F4 Auswahlhilfe sind dies bspw.
Diese drei Tabellen sind der Berechtigungsruppe SA RS:Anwendungstabelle zugeordnet.
Die Zuordnung von Tabellen und Tabellenberechtigungsgruppe kann über die Tabelle TDDAT Pflegebereiche für Tabellen ermittelt werden.
Die Tabelle TDDAT Pflegebereiche für Tabellen umfasst die Felder TABNAME Tabellenname,
MCLASS Berechtigungsgruppe fuer DD-Objekte, CCLASS Tabellenberechtigungsgruppe und FLAG Flag für interne Tabelle.
Relevant für sind hier die beiden Felder TABNAME und CCLASS womit für die Tabellen USR21, ADRP und ADR6 die Tabellenberechtigungsgruppe SA ermittelt werden kann.
Die Bezeichnung der Tabellenberechtigungsgruppe kann über die Tabelle TBRG Berechtigungsgruppen ermittelt werden. Diese umfasst die Felder MANDT Mandant, BROBJ Berechtigungsobjekt und BRGR Berechtigungsgruppe.
Die Bezeichnung wird dabei aus der Tabelle TBRGT Bezeichnungen der Berechtigungsgruppen ausgelesen. Mit der Transaktion SE16H wird diese automaitsich mit ausgegeben.
Im erwähnten Beispiel wäre der Eintrag für die Tabellenberechtigunsgruppe SA:
- Mandant (aktueller Mandant)
- Berechtigungsobjekt S_TABU_DIS
- Berechtigungsgruppe SA
- Bezeichnung RS:Anwendungstabelle
Dies wäre dann auch die Ausprägung in der Berechtigung zu dieser SAP Query.
Konkret würde das Berechtigungsobjekt S_TABU_DIS um die Aktivität 03 und die Tabellenberechtigungsgruppe SA ergänzt werden.
Fazit
Im Ergebnis kann nun also zu den Stammdaten (Kostenstelle, Innenauftrag oder Profitcenter) zum Verantwortlicher Benutzer über die SAP Benutzerkennung (SAP User / Benutzer) sowohl der vollständige Name als auch die E-Mail-Adresse ausgegebenen werden, sofern diese vollständig im Benutzerstamm gepflegt ist.Allerdings sollte bei der Nutzung der Query darauf geachtet werden, dass keine Einschränkung auf bestimmte Kostenstellen beim Aufurf des Berichtes erfolgt sondern die Berechtigung lediglich auf Ebene der Tabellenberechtigungsgruppe und damit Lesen der Stammdatentabellen vergeben werden können.
Dennoch kann dies für das Berichtswesen hilfreich sein insbesondere wenn durch eine zentrale Stelle Stammdaten ausgewertet und bspw. zum Versand von Berichten genutzt werden soll.
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.
Schnelleinstieg ins SAP®-Controlling (CO) – 2., erweiterte Auflage (📖)
Für 29,95 € direkt bestellen
Oder bei Amazon ** Oder bei Autorenwelt
16:26 Uhr
Berichtswesen Stammdatenliste mit Segment bei Nutzung BAdI FAGL_DERIVE_SEGMENT oder FAGL_DERIVE_PSEGMENT
Ableitung Segment aus Profitcenter
Die Ableitung Segment über die Profitcenterrechung ist in der neuen Profitcenterrechnung FIN_PCA erfolgt und eine Neuerung gegenüber der klassischen Profitcenterrechnung EC-PCA.Aus folgender Abbildung ist diese Zuordnung ersichtlich.

Im Artikel "Segmente in der neuen Profitcenter-Rechnung als Belegaufteilungsmerkmal" bin ich ausführlicher darauf eingegangen. Wobei mich das Thema auch schon vor einigen Jahren im Blog beschäftigt hat, wie im Artikel "Grundlagen: Segment-Berichtserstattung in der Profit-Center-Rechnung und das neue Hauptbuch (NEW GL)" zu sehen.
Kundenerweiterung zur Ableitung eines Segments
Sofern jedoch eine Kundenerweiterung wie im Abschnitt Ableitung Segment durch Kundenerweiterung / Business-Add-In (BAdIs) FAGL_DERIVE_SEGMENT für das Segment und FAGl_DERIVE_PSEGMENT für das Partnersegment genutzt werden sieht dieses etwas anderes aus.

Durch diese BAdI werden abweichend zum Segment im zugeordneten Profitcenter entsprechende Segmente zum Beispiel aus einem Zusatzfeld des Innenauftrages ausgewiesen.
Durch die kundenspezifische Ableitung des Segments per BAdI FAGL_DERIVE_SEGMENT und FAGL_DERIVE_PSGEMENT) ist bei FI-Buchungen (wie zum Beispiel Kreditorenrechnung) oder auch interne Verrechnungen im Controlling das Segment entsprechend der Logik des BAPI abgeleitet.
Dabei erfolgt die Ableitung nach folgender absteigender Hierarchie:
Nach folgender (absteigender) Hierarchie erfolgt die Fortschreibung des Segments auf den entsprechenden Beleg.
- Manuell gesetztes Segment
Hier ist es empfehlenswert das Feld Segment in der Feldauswahlliste / Feldstatuspflege der Belegerfassung möglichst an hinterer Position zu setzen, sodass nicht aus Versehen das Segment abweichend zu den anderen Objekten überschrieben wird. - BAdI
FAG_DERIVE_SEGMENT /
FAGL_DERIVE_PSEGMENT - Stammsatz des Profitcenters
Besonderheit Segmentableitung in der Anlagenbuchhaltung FI-AA
Problematisch ist jedoch, dass der BAdI nicht bei der Aktivierung von Anlagen in der Anlagenbuchhaltung FI-AA erfolgt.Im Stammsatz der Anlage wird das Segment nicht durch diesen Badi abgeleitet, sondern zwingend über das hinterlegte Profitcenter. Entsprechend muss hier über einen anderen BAdI hilfsweise ein Profitcenter mit entsprechendem zugeordneten Segment zugeordnet werden (BADI_FIAA_MASTERDATA mit der Methode DERIVE_PRCTR) gesetzt werden. Mehr Informationen dazu liefert der SAP Hinweis 1796962 - "Ableitung Profitcenter: BADI zur Steuerung". Hierdurch kann die Ableitung des Profitcenters und die Fehlerbehandlung beeinflusst werden.
Das über diesen BAdI zugeordnete Profitcenter dient dabei "nur" der Ableitung des Segments und wird nicht direkt mitgebucht, sondern aus der Logik des Zusatzfeldes zum Innenauftrag abgeleitet.
Für den AfA Lauf wird vergleichbar zur Ableitung FAGL_DERIVE_SEGMENT und FAGL_DERIVE_PSEGMENT ein weiteres BaDI genutzt (BADI_FIAA_DOCLINES unter ERP/ECC siehe SAP Hinweis 698485 - "BADI_FIAA_DOCLINES und Zusatzkontierungen", zur Erweiterung der Funktionalität des BaDI.
Unter S/4 S/4HANA ist das BAdI FAA_DOCLINES_CUSTOMER zu verwenden, wie im SAP Hinweis 2960690 - "Unvollständige What’s-New-Information „BAdI: Kundenspezifische Änderung der Einzelposten im Anlagenbeleg“ (SAP S/4HANA 1909)" erläutert wird, wodurch ab Release 1909 das BaDI FAA_DOCLINES_CUSTOMER sowohl BADI_FIAA_DOCLINES) als auch die Kundenerweiterung Substitution von Gegenkonten bei Abgang, Zugang ... (AINT0002) ersetzt.
Im Gegensatz zur Zugangsbuchung (Bestandskonten) erfolgt die AfA Buchung auf das Profitcenter des zugeordneten CO Innenauftrages sowie Segment im Zusatzfeld, dass dann dem Segment in den Anlagenstammdaten entspricht.
In unseren Fall geht es nun aber um das Berichtswesen bzw. die Darstellung der Segmente in den Stammdaten für Innenauftrag und Kostenstelle und nicht um die Buchung auf den Ergebniskonten.
Ableitung der Segmente
Die angesprochenen Zusammenhänge (Segment, Zusatzfeld, Auswertung von CI_Zusatzfeldern) habe ich bereits in folgenden Blogartikel behandelt:- "Segmente in der neuen Profitcenter-Rechnung als Belegaufteilungsmerkmal"
- "Betriebe gewerblicher Art (BgA) und Belegaufteilungsmerkmale Profitcenter, Segment, Funktionsbereich und Geschäftsbereich"
- "Stammdatenerweiterung von CO-Objekten am Beispiel ergänzende Kostenstelle beim Innenauftrag"
- "Auswertung per CMOD eingeführter kundeneigener Felder Kostenart, Kostenstelle und Innenauftrag per Stammdatenverzeichnis und SAP Query"
Nun ergibt sich aber das Problem, dass in einer Stammdatenliste über die CO Innenaufträge auch das jeweils abgeleitete Profitcenter zum CO Innenauftrag ausgegeben werden soll.
Stammdatenliste Innenauftrag und Berücksichtigung der Ableitung der Segmente aus Zusatzfeld
Im Rahmen einer Stammdatenliste kann dieser BAdI jedoch nicht aufgerufen werden und so kommt es zur Anforderung, dass in einer Stammdatenliste über CO Innenaufträge auch das jeweils zu buchendes Segment mit ausgegeben wird.
Hier verwenden wir eine SAP Query auf deren Aufbau ich heute nicht eingehen mag, sondern nur die Ausgabe des Segments erläutern möchte.
Lokale Zusatzfelder in SAP Query
Neben der reinen Auswertung von einzelnen Tabellenfeldern kann innerhalb der Query auch die Ergebnisse verarbeitet werden. Um einzelne Felder weiter zu bearbeiten, können Sie über SPRINGEN -> FELDAUSWAHL -> FELDAUSWAHL über die Funktion BEARBEITEN-> KURZBEZEICHNUNGEN -> EINSCHALTEN einzelne Felder eine Kurzbezeichnung zuordnen.Diese Kurzbezeichnungen sind notwendig, da wir auf diese dann Bezug nehmen, wenn wir ein lokales Feld mit einer Formel anlegen. Dieses geht über
BEARBEITEN->LOKALES FELD->ANLEGEN.
Dieses Lokale Feld wird dann in der Feldgruppe angelegt, in der wir uns gerade befinden. Elegant wäre es natürlich, wenn wir im Infoset eine entsprechende leere Feldgruppe definiert hätten, es geht aber auch ohne.
Für dieses Feld werden dann entsprechende Eigenschaften festgelegt und über eine Berechnungsvorschrift kann auf andere Felder Zugriff genommen werden.
Lokales Feld für Segmente aus CEPC (Profitcenter) und Zusatzfeld AUFK (Innenauftrag)
Durch Verknüpfung mit der Stammdatentabelle von Profit Center Tabelle CEPC habe ich folgenden Felder eine Kurzbezeichnung gegeben:
Tabelle CEPC Feld SEGMENT
Segment für Segmentberichterstattung SEG_PCTR
Zusatzfeld Query TEXT_CEPC_SEGMENT
Text:Segment für Segmentberichterstattung SEGT_PCTR
Für die Innenaufträge gibt es jedoch ebenfalls Zusatzfelder per CI.
Tabelle AUFK Feld Z_SEGMENT
Segment für Segmentberichterstattung SEG_IA
Zusatzfeld Query TEXT_AUFK_Z_SEGMENT
Text:Segment für Segmentberichterstattung SEGT_IA
Sofern nun das Zusatzfeld im Innenauftrag gepflegt ist, würde hier auch bei der Buchung das entsprechende BAdI aktiv werden und entsprechend möchte ich in meiner Stammdatenliste auch nicht das Segment aus dem Profitcenter, sondern aus dem Zusatzfeld angezeigt bekommen.
Lokale Felder in Query mit Berechnungsvorschrift zur Ausgabe Segment
Die Lösung sind hier zwei lokale Zusatzfelder innerhalb der SAP Query.
Lokales Feld Segment:
Kurzbezeichnung / Feldbezeichnung / Überschrift: Segment
gleiche Eigenschaften wie Feld SEG_IA
Berechnungsvorschrift (komplexe Berechnung):
Bedingung: SEG_IA <1
Formel: SEG_PCTR
Sofern das Feld nicht gepflegt ist, gibt die Query hier 0 aus und es wird das Segment aus dem Profitcenter ausgegeben.
Bedingung: SEG_IA >0
Formel: SEG_IA
Ist das Feld jedoch gepflegt, kann direkt das Segment aus dem Innenauftrag ausgegeben werden.
Vergleichbar verfahre ich beim Text für das Segment.
Lokales Feld SEGMENTT
Kurzbezeichnung: SEGMENTT
Feldbezeichnung / Überschrift: Text Segment
Gleiche Eigenschaften wie Feld SEGT_IA
Berechnungsvorschrift (komplexe Berechnung):
Vergleichbar zum Segment wird hier auch mit Segmenttext verfahren
Bedingung: SEG_IA < 1
Formel: SEGT_PCTR
Text zum Segment aus Profitcenter, sofern kein Segment im Zusatzfeld Innenauftrag gepflegt wurde
Bedingung: SEG_IA > 0
Formel: SEGT_IA
Hier wird der Text zum Segment abgeleitet aus dem Zusatzfeld des Innenauftrages ausgegeben.
In der Query selbst wird in der Grundliste nun nur die beiden lokalen Felder ausgegeben.
Denkbar ist darüber hinaus eine Selektion nach Segment sowohl über das Segment im Profitcenter als auch Segment im Zusatzfeld Innenauftrag.
Segmente als Selektionsfelder bei SAP Query
Im Ergebnis habe ich jetzt eine Stammdatenliste mit den entsprechenden Segmenten.Allerdings sind diese als Selektionsfelder nicht als entweder/oder, sondern als und zu verwenden, sodass ich hier nicht nach beiden Ausprägungen alle Felder erhalte.
Ziel der Auswertung ist es ja alle dem Segment zugeordneten CO Innenaufträge auszuwerten, so dass sowohl Innenaufträge ohne gepflegtes Segment im Zusatzfeld (hier wäre das BaDI aktiv) als auch solche mit gepflegten Zusatzfeld relevant. Eine Selektion über das Segment macht an dieser Stelle also nur Sinn, wenn nach Innenaufträgen mit gepflegten Segment im Zusatzfeld separat zum Segment im zugeordneten Profitcenter gesucht werden soll. Im Ergebnis wären hier aber zwei Felder Segment (A Segment das Profitcenter, B Segment im Zusatzfeld) in der Selektionsmaske und es sollte klar sein, dass entweder nach A oder nach B gesucht werden kann oder aber beide Felder leer gelassen werden, so dass eine Stammdatenliste über alle CO Innenaufträge mit passenden Segmenten erstellt wird.
Somit kann ich entweder nach der Zuordnung des Segments über das Zusatzfeld (Tabelle AUFK Feld Z_SEGMENT) oder über das Segment aus dem zugeordneten Profitcenter (Tabelle CEPC Feld SEGMENT) selektieren aber nicht über beide Felder gleichzeitig.
Sofern aber keine Selektion über Segment , sondernnur über Auftragsnummer oder verantwortliche Kostenstelle / Profitcenter erfolgen soll bietet sich eine solche SAP Query als Stammdatenliste durchaus an, insbesondere da in dieser Stammdatenliste auch noch weitere Daten mit ausgegeben werden können.
Damit ist die Anforderung einer Stammdatenliste zu Projekten bzw. CO Innenaufträgen erfüllt.
Das Thema SAP Query ist hier im Blog schon häufiger ein Thema, daher verweise ich auch auf folgende Kurzanleitung dazu.
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.
Unkelbach.expert - Ihr Experte für Controlling und Berichtswesen mit SAP
Aktuelle Termine zum Online-Training (Herbstkurse 2026) finden Sie hier unter:
"Grundlagen Datenmigration in SAP S/4HANA mit Migrationscockpit und Migrationsobjektmodellierer"
"Rechercheberichte mit SAP Report Painter"
18:52 Uhr
Office Integration - Fehlende Daten bei Darstellung in MS Excel Ansicht in SAP Berichten
Ausgangslage
Im Rahmen der Office-Integration (bspw. in Report Painter Berichten) erscheint bei Anwendende eine leere Excel Arbeitsmappe und nur der Hinweis auf Makros. Allerdings gab es dies Phänomen nur bei einem Arbeitsplatz während bei einem anderen dies kein Problem war. Im ersten Moment dachte ich, dass es am Trust-Center und hier die Makroeinstellungen lag. Diese können unter Excel DATEI > Optionen > Trust Center > "Einstellungen für das Trust Center" bearbeitet werden.

Das Thema hatte ich schon damals im Artikel "Office Integration und leere Excelansicht Leere Ansicht statt Excel bei Office-Integration in SAP Berichten wie Kostenstellen Ist/Plan/Abweichung" angesprochen und daher die Einstelungen verglichen die jedoch beim funktionierenden Arbeitsplatz identisch zum Arbeitsplatz an dem die Office Integration nicht funktionierte war.
Im Trust Center von Excel (Datei->Optionen->Trust Center) ist im Punkt "Einstellungen für das Trust Center ..." im Abschnitt "Vertrauenswürdige Herausgeber" kein Eintrag für SAP AG vorhanden (ausgestellt für SAP AG).

Dies ist der wesentliche Unterschied zwischen einen Rechner mit funktionierender Office Integration gegenüber einen mit leerer Arbeitsmappe.
Problem: Es werden keine Daten bei Office-Integration in Report Painter Berichten angezeigt
Nachvollziehbar ist das Problem beim Aufruf eines Kostenstellenberichtes basierend auf Report Painter zum Beispiel unter Rechnungswesen > Controlling > Kostenstellenrechnung > Infosystem > Berichte zur Kostenstellenrechnung > Plan/Ist-Vergleiche > Kostenstellen: Ist/Plan/Abweichung oder per Transaktionscode S_ALR_87013611.
Nachdem eine Kostenstelle ausgewertet wurde kann unter "Optionen / Office Integration" die Art der Ausgabe von "Inaktiv" auf "MS Excel" umgestellt werden. Am Arbeitsplatz wo die Integration nicht funktioniert gab es eine Fehlermeldung bzgl. deaktivierter Makros am funktionierenden Arbeitsplatz war nun die Excel Oberfläche zu sehen inklusive Daten. Am anderen Arbeitsplatz waren keine Daten vorhanden.
Im Beitrag auf Reddit "Adding SAP as a trusted pulisher in Excel" (Original) bzw. "SAP als vertrauenswürdigen Herausgeber in Excel hinzufügen" (Übersetzung) ist eine Lösung veröffentlicht worden. Allerdings gibt es auch Verweise auf passende SAP Hinweise.
SAP Hinweise zu Excel und SAP Office Integration
Das notwendige Zertifikat sowie Lösung ist im SAP Hinweis 1826481 - Microsoft Excel: digitale Signatur für VBA-Makros zu finden. Unter Anlagen ist die Datei "certificate.cer" zu finden. Diese kann wie im SAP Hinweis "3247649 - SAP GUI for Windows/Desktop Office Integration: Die von Microsoft freigegebenen Sicherheitspatches verursachen Makroprobleme" beschrieben am Computer als Vertrauenswürdiger Herausgeber installiert werden.Für die verwendeten Vorlagen der SAP (dazu später mehr) müssen korrekt signierte Dokumente und gültige Zertifikate vorhanden sein.
In vorherigen Excel Versionen gab es bei der Makrobenachrichtung neben der Schaltfläche "Aktivieren" auch die Option "Gesamten Inhalt des Heruasgebers vertrauen", welche nun nicht mehr vorhanden ist. Weitere Einstellungen wären im Trust Center bei den Makroeinstellungen entweder "Alle VBA-Makros deaktivieren, außer digital signierten Makros" oder "Alle Makros aktivieren (nicht empfohlen, weil potenziell gefährlicher Code ausgeführt werden kann)" sowie die Option "Zugriff auf das VBA-Projektmodell vertrauen". Im Dialog bei Öffnen von Excel können die Makros nicht ausgeführt werden und der Herausgeber (bzw. das Zertifikat kann nicht mehr dynamisch als Vertrauenswürdiger Heruasgeber hinzugefügt werden.
Interessant ist dabei, dass ich noch ein altes Zertifikat installiert hatte (Vertrauenswürdiger Herausgeber) und die Office-Integration auch mit den oben erwähnten Angaben "Deaktivieren von VBA-Makros mit Benachrichtung" sowie ohne "Zugriff auf das VBA-Projektmodell vertrauen" die Anzeige in Excel funktionierte.
Konkret wird die Ursache des Problems im SAP Hinweis "3507007 - Microsoft-Excel-Integrationsprobleme mit SAP nach Microsoft-Office-Upgrade" mit der Aussage "Da Office 365 freigegeben ist, müssen aufgrund erhöhter Sicherheitsanforderungen signierte Makros aus jeder Anwendung verwendet werden." festgehalten und dabei auf die Hinweise 1826481 (siehe oben) sowie "3261967 - Makroprobleme bei Verwendung von Excel Inplace in Report-Painter-Berichten" verwiesen.
Sollten bei der Office Integration nur noch der Hinweis Makros deaktivieren und nicht zulassen leigt dies daran, dass VBA-Makros aus dem Internet in Office in aktuellen Sicherheitspatch standardmäßig blockiert werden.
Ablageort der Tabellenvorlage für Reportwriter (Transaktion OAOR)
Die Tabellenvorlagen sind in der Transaktion OAOR (Business Document Service: Dokumente) ersichtlich. Hier ist Klassenname REPORTWRITER und als Klassentyp OT (Andere Objekte) zu wählen. Nach Bestätigung von Ausführen sind hier die Tabellenvorlagen für die einzelnen Versionen zu finden. Beispiele sind Default workbook for MS Excel 97-2003 (SAPrpwoi.xls), Default workbook for MS Excel 2007- (SAPrpwoi.xlsm). Auch andere Vorlagen sind dabei zu sehen.
Die aktuellen Tabellenvorlagen sind zum Download als Anlage im SAP Hinweis "1992004 - Report Writer: Gültigkeit der digitalen Signatur in Office-Integration-Excel-Vorlage" zu finden.
An dieser Stelle auch direkt der Hinweis im kommenden Abschnitt "Zertifikate verlängern".
Für die ALV Listen ist als Klassenname ALVLAYOUTTEMPLATES verwendbar. Hier im Artikel geht es jedoch um die Excel-Ansicht bzw. Office Integration in Report Painter bzw. Report Writer Berichten.
Lösung Option 1: SAP als vertrauenswürdigen Herausgeber in Excel hinzufügen
Diese Vorlage kann geöffnet werden und aus dieser Datei kann aus der Vorlage das Zertifikat exportiert werden. Alternativ kann das Zertifikat aber auch aus der Anlage zum Hinweis 1826481 entnommen werden.
Die Zertifatsdatei kann unter "Computerzertifate verwalten" am einfachsten zu finden durch Windows Taste und Eingabe "Zertif" nun kann in der Zertifikatsverwaltung "unter "Zertifkate - Lokaler Computer" im Ordner "Vertrauenswürdige Herausgeber" über die rechte Maustaste unter Alle Aufgaben > Importieren die Zertifikatsdatei importiert werden. Als "normale User" gibt es hier jedoch die Meldung "Fehler beim Importvorgang. Der Speicher ist entweder schreibgeschützt, ist voll oder kann nicht korrekt geöffnet werden." Entsprechend sind hier vermutlich Adminstrationsberechtigungen erforderlich.
Zertifikate verlängern
Ein weiterer wichtiger Punkt ist, dass die Gültigkeit der Zertifikate auch beschränkt sind. So ist ein Zertifikat aktualisiert am 15. Januar 2025 bis zum 11. Januar 2027 gültig und muss entsprechend danach aktualisiert werden. Nähere Informationen dazu sind im SAP Hinweis "1992004 - Report Writer: Gültigkeit der digitalen Signatur in Office-Integration-Excel-Vorlagen abgelaufen" zu finden.Lösung Option 2: Alternative: Makros erlauben
Weniger elegant und möglicherweise ein Sicherheitsproblem ist es im Trust-Center die Option "Aktivieren von VBA-Makros (nicht empfohlen, da potenziell gefährlicher Code ausgeführt werden kann)" zu aktivieren. Hier ist dann bei der Office-Integration Microsoft Excel 2007 zu wählen, da hier die Vorlage XLSM statt XLS genutzt wird. Makros sollen in aktuellen Excel-Versionen als XLSM genutzt werden. Nachteil ist, dass damit auch andere VBA Makros bspw. Makroviren ausgeführt werden können.Weitere Excel und SAP Artikel
Ein anderes Problem ist noch, wenn Excel nicht inplace (also innerhalb der SAP Oberfläche) sondern im separaten Fenster mit den SAP Berichten geöffnet wird. An dieser Stelle verweise ich aber gerne auf meinen Artikel "SAP und Office Integration Excel im SAP GUI (Excel-Inplace) oder als separates Fenster (Excel-Outplace)".Die Besonderheit der Vorlagen von SAP Excel Office Integration ist nebenbei, dass hier die Farbtalle von Exce angepasst wird und individuelle Makros hinterlegt sind. MS Excel verweist dabei auf XLS und MS Excel 2007 auf XLSM als Dateiart. Weiter Besonderheiten hatte ich im Artikel "Office Integration - Excelansicht in SAP und Daten kopieren nach Excel" zusammengestellt insbesonder bzgl. der Farben der Darstellung.
Unkelbach.expert - Ihr Experte für Controlling und Berichtswesen mit SAP
Aktuelle Termine zum Online-Training (Herbstkurse 2026) finden Sie hier unter:
"Grundlagen Datenmigration in SAP S/4HANA mit Migrationscockpit und Migrationsobjektmodellierer"
"Rechercheberichte mit SAP Report Painter"
17:37 Uhr
Grundlagen: Report Painter / Report Writer Berichte löschen
In einer dieser Live-Sessions der Veranstaltung "Rechercheberichte mit SAP Report Painter" gehe ich auch immer auf praktische Übungsbeispiele ein, die die Grundlagen für Report Painter / Report Writer erläutern, aber vielleicht nicht unbedingt später im SAP System beibehalten werden sollen. Ziel der Veranstaltung ist es nicht ein kundeneigenes Berichtswesen im Rahmen eines Beratungsauftrages aufzubauen sondern Hilfsmittel und Werkzeuge, wie eben Report Painter und Report Writer anzubieten durch die später vielleicht an der ein oder anderen Stelle das eigene Berichtswesen ausgebaut werden können.
Einen Überblick über die Inhalte der Live-Sessions sowie der Lerninhalte ist auf https://www.unkelbach.expert/lernpfad.php zu finden :-).
In einer meiner letzten Schulungen habe ich folgende Frage erhalten: "Wie können die Testreports endgültig gelöscht werden?" Dies ist besonders dann interessant, wenn diese auch keine echte Funktion mehr haben oder unsinnige Ergebnisse liefern.
In der ersten Entwurfsphase habe ich oft Berichte mit Papier und Stift entworfen, sodass hier die Idee meines gehäkelten Gargoyle Gideon gar nicht so fern liegen mag, eine Korrektur wie im folgenden Bild durchzuführen.

Während Gideon hier im Foto mit Radiergummi das Berichtswesen anzupassen versucht, gibt es im SAP System innerhalb Report Painter und Report Writer andere Möglichkeiten einen Bericht zu entfernen.
Report Painter und Report Writer Berichte mit Transaktion GR34 löschen
Im SAP Menü können eigene Transaktionen aufgerufen werden, um Report Painter oder Report Writer Berichte direkt zu löschen.- Infosysteme
- Ad-Hoc-Berichte
- Report Painter
- Bericht
- Löschen (Transaktion GR34)
- Report Writer
- Bericht
- Löschen (Transaktion GR34)
- Bericht
- Bericht
In der Wertauswahlhilfe (F4) Taste kann nach der Wahl der passenden Bibliothek eine Liste aller in der Bibliothek vorhandenen Berichte angezeigt werden und durch das Dreieck auch nach den einzelnen Spalten dieser Liste gefiltert werden.
Als Liste zur Einschränkung stehen folgende Spalten zur Verfügung:
- Bibliothek
- Bericht (8 Zeichen)
- Berichtsname (35 Zeichen)
- Autor (Angelegt von)
- Datum (Datum der Neuanlage)
- Berichtsursprung
Der Berichtsursprung zeigt auch direkt an, mit welcher Transaktion ein Bericht angelegt worden ist. Handelt es sich um einen Report Writer Bericht (erstellt mit der Transaktion GR31 oder später bearbeitet mit der Transaktion GR32) ist dieser Eintrag nicht gefüllt (leer). Berichte die mit Report Painter (Transaktionen GRR1, GRR2) erstellt / bearbeitet worden sind, ist hier "P" als Wert gefüllt.
Beim Ausführen eines Berichtes, über die Berichtsgruppe, werden Report-Painter-Berichte automatisch in das Report-Writer-Format übersetzt, auch wenn eine spätere Bearbeitung der Berichte weiterhin in der ursprünglichen Umgebung erfolgt.
Report Painter Berichte in Transaktion GRR2 löschen
Sind die zu löschenden Berichte mit Report Painter erstellt worden, können diese auch in der Transaktion GRR2 gelöscht werden. Nach Aufruf der Transaktion GRR2 können alle in den jeweiligen Berichtsbibliotheken vorhandenen Berichten angeklickt werden.Hierbei ist zu beachten, dass nur solche Berichte hier aufgeführt sind, die auch mit der Transaktion GRR1 angelegt worden sind. Die Oberfläche der Report Painter Berichte ist eine "modernere" WYSIWYG Oberfläche, die das Bearbeiten der Berichte erleichtert.
Mit der rechten Maustaste (Kontextmenü auf Löschen) oder unter (MEHR) > BERICHT> LÖSCHEN ist es möglich den entsprechenden Bericht zu löschen.
Dies funktioniert jedoch nur, sofern der Bericht noch keiner Berichtsgruppe zugeordnet worden ist.
Andernfalls erfolgt hier aber auch in der Transaktion GR34 die Meldung "Bericht ... wird noch in einer Berichtsgruppe verwendet.".
Zugeordnete Berichtsgruppe identifizieren
In der Report Painter Oberfläche (GRR2 Ändern, GRR3 Anzeigen) kann die Zuordnung einer Berichtsgruppe über das Menü (MEHR) > UMFELD > BERICHTSGRUPPE ZUORDNEN... aufgerufen werden.Sofern eine Berichtsgruppe zugeordnet worden ist, erscheint die Meldung "Der Bericht wird bereits in Berichtsgruppen verwendet".
Hier kann nun über die Schaltfläche "B.gruppen auflisten" die jeweilige Berichtsgruppe angezeigt werden. Über die Schaltfläche "Weitere B.Gruppe" kann der Bericht in eine weitere Berichtsgruppe aufgenommen werden, die dann auch von dort angelegt werden kann.
Auch bei Report Writer Berichten kann die Berichtsgruppe angezeigt werden. Hier kann über die Transaktion GR32 (Ändern), GR33 (Anzeigen) über MEHR > ZUSÄTZE > VERWENDUNG für den zu pflegenden Bericht die Verwendung des Berichts in Berichtsgruppen aufgerufen werden.
Als Ausgabe erfolgt Verwendung in Berichtsgruppen und direkt die Berichtsgruppe (4 Zeichen) sowie die Beschreibung der Berichtsgruppe, sofern vorhanden.
Bericht aus Berichtsgruppe entfernen
Ist die Berichtsgruppe gefunden, kann jetzt hier auch der jeweilige Bericht entfernt werden.Die Bearbeitung / Pflege der Berichtsgruppe erfolgt im SAP Menü unter
- Infosysteme
- Ad-hoc-Berichte
- Report Painter
- Report Writer
- Berichtsgruppe
- Ändern (Transaktion GR52)
Alternativ kann diese Schaltfläche auch nach Bestätigung der Berichtsgruppe mit der Eingabetaste (Enter) aufgerufen werden. Sofern die Berichtsgruppe aus der Transaktion GRR2 angelegt worden, ist es erforderlich eine Beschreibung der Berichtsgruppe einzutragen. Diese wird später auch als Titelzeile beim Aufruf des Berichtes verwendet.
Exkurs Status Berichtsgruppe:
Unter Status der Berichtsgruppe kann entweder "Berichtsgruppe ist aktuell generiert" oder "Das Set ... wurde geändert" oder eine vergleichbare Meldung stehen. Hintergrund hierzu ist, dass der Statuseiner Berichtsgruppe angibt, ob die Berichtsgruppe beim Aufrufen bereits generiert wurde oder ob zwischenzeitlich ein Objekt der Berichtsgruppe (zum Beispiel eine Änderung eines zugeordneten Berichtes) erfolgt worden ist, so dass eine Neugenerierung der Berichtsgruppe erforderlich ist.
Durch die Generierung wird im Hintergrund ein ABAP-Programm aus Report Painter oder Report Writer Definitionen geschrieben. Dies erfolgt auch beim Starten des Berichtes über die Pflege (Ausführen) oder eben durch direkten Start der Berichtsgruppe über die Transaktion GR55. Alternativ kann im Einstiegsbild der Transaktion GR52 die Berichtsgruppe generiert werden.
Durch Wechsel über die Schaltfläche "Berichte" ist eine Tabelle mit allen Berichten innerhalb der Berichtsgruppe zu sehen. Hier kann ein Bericht angeklickt werden (auf die Zeile mit dem Berichtsnamen geklickt werden) und über die Schaltfläche (-) Zeile Löschen (UMSCH + F2) der Bericht aus der Berichtsgruppe entfernt werden.
Danach kann die Berichtsgruppe, selbst ohne einen einzigen zugeordneten Bericht, gespeichert werden.Hintergrund: Berichtsgruppe
Eine Berichtsgruppe fasst alle zugeordneten Berichte zusammen, die in einem Lauf ausgeführt werden sollen. Dabei ist zu beachten, dass innerhalb einer Berichtsgruppe nur Berihcte einer Bibliothek verarbeitet werden kann. Technisch wird aus dem Bericht, ob nun per Report Painter oder Report Writer erstellt, ein ABAP Report / Programm erstellt. Der Name dieses ABAP Programms kann sowohl im Selektionsbild über UMFELD > TECHNISCHE INFO als auch in der ausgegebenen Liste (Bericht) über ZUSÄTZE > TECHNISCHE INFO ausgegeben werden.Der Name einer Berichtsgruppe ist vierstellig und darf nur aus Zeichen von A bis Z, Zahlen 0 bis 9 sowie den Zeichen - und _ bestehen.
Auf dem Selektionsbild erscheinen alle zu übergebenden Variablen der Berichte.
Technisch werden hier Programme zur Verarbeitung des Einstiegsbildes, Selektion (Lesen) der Daten, Ausgeben der selektierten Daten und ggf. Programme zur Mehrfachselektion erstellt.
In meiner Schulung zeige ich gerne den Unterschied zwischen Abschnitten innerhalb eines Berichtes und separate Berichte in einer Berichtsgruppe, um unterschiedliche Berichtsziele zu erfüllen.
Fazit
Im Ergebnis können dann also Berichte, die nicht einer Berichtsgruppe zugeordnet sind, über die Transaktion GR34 gelöscht werden. Sollte der Report Painter / Report Writer Bericht jedoch einer Berichtsgruppe zugeordnet sein, ist dieser erst einmal aus der Berichtsgruppe zu entfernen.Künftig ist dieses Thema auch fest in der Live-Session innerhalb des Lernpfades zur Schulung vorgesehen :-). Dies ist auch ein Grund, warum sich die Unterlagen zur Live-Session jedes Mal ein wenig ändern.
So sind in letzter Zeit auch Anfragen aus Blog, Linkedin oder im Rahmen von Mailaustausch mit der SAP Community sowohl ins Blog als auch in der Schulung eingeflossen und die Unterlagen der Live-Session bekommen bei jeder Veranstaltung noch einmal ein Update, auch wenn die Begleitvideos weiterhin Bestand haben.
Weitere Beispiele sind zum Beispiel in den Artikeln "Varianten vom Selektionsbild (Selektionsvarianten Reportvarianten) für Report Painter Berichte transportieren" oder auch "Reportmatrix über bestehende kundeneigene SAP Berichte (Report Writer, Recherche oder SAP Query)".
Vielleicht ist der Austausch innerhalb der Lerngruppe auch ein weiterer Vorteil, den solche (Online) Veranstaltungen bieten, besonders wenn hier unterschiedliche Teilnehmende vorhanden sind.
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.
Steuersoftware für das Steuerjahr 2025
Lexware TAXMAN 2026 (für das Steuerjahr 2025)
WISO Steuer 2026 (für Steuerjahr 2025)
* Als Amazon-Partner verdiene ich an qualifizierten Käufen über Amazon.


Keine Kommentare - Permalink - SAP