Sonntag, 26. April 2026
16:26 Uhr
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.
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.
ein Angebot von Espresso Tutorials

unkelbach.link/et.books/
unkelbach.link/et.reportpainter/
unkelbach.link/et.migrationscockpit/
Diesen Artikel zitieren:
Unkelbach, Andreas: »Berichtswesen Stammdatenliste mit Segment bei Nutzung BAdI FAGL_DERIVE_SEGMENT oder FAGL_DERIVE_PSEGMENT« in Andreas Unkelbach Blog (ISSN: 2701-6242) vom 26.4.2026, Online-Publikation: https://www.andreas-unkelbach.de/blog/?go=show&id=1413 (Abgerufen am 27.4.2026)


Keine Kommentare - Permalink - SAP
Artikel datenschutzfreundlich teilen
🌎 Facebook 🌎 Bluesky 🌎 LinkedIn