Ihre Record-to-Report-, Periodenabschluss- und Abstimmungs-Datentemplate
Ihre Record-to-Report-, Periodenabschluss- und Abstimmungs-Datentemplate
- Empfohlene Attribute zur Erfassung
- Schlüsselaktivitäten zur Verfolgung für die Prozessanalyse
- Schritt-für-Schritt-Anleitung zur Datenextraktion
Record to Report – Periodenabschluss- & Abstimmungsattribute
| Name | Beschreibung | ||
|---|---|---|---|
| Finanzperiode FinancialPeriod | Ein eindeutiger Identifikator für den Finanzberichtszyklus, wie '2023-12' für Dezember 2023, der als Case für den Periodenabschlussprozess dient. | ||
| Beschreibung Die Finanzperiode ist der zentrale Case Identifier, der alle Aktivitäten zum Abschluss der Bücher für einen bestimmten Zeitraum, typischerweise einen Kalendermonat oder eine Geschäftsperiode, gruppiert. Jede Finanzperiode stellt einen vollständigen Durchlauf des Periodenabschlussprozesses dar. In der Process Mining-Analyse ermöglicht dieses Attribut die Verfolgung des gesamten Lebenszyklus eines Periodenabschlusses von der Initiierung bis zur finalen Berichterstattung. Es wird verwendet, um Zykluszeiten über verschiedene Perioden hinweg zu vergleichen, gemeinsame Prozesspfade zu identifizieren und Variationen zwischen monatlichen, vierteljährlichen und jährlichen Abschlussverfahren zu analysieren. Indem jede Periode als Case behandelt wird, können Analysten die Performance über die Zeit messen und systemische Engpässe identifizieren. Bedeutung Dies ist der essentielle Case Identifier, der die Analyse rahmt und den Vergleich der Periodenabschluss-Performance über die Zeit sowie die Identifizierung von Trends oder wiederkehrenden Problemen ermöglicht. Datenquelle Abgeleitet durch die Kombination der Felder Geschäftsjahr (GJAHR) und Buchungsperiode (MONAT) aus Finanzbelegköpfen, typischerweise aus Tabellen wie BKPF. Beispiele 2023-122024-032024-Q1 | |||
| Aktivität ActivityName | Der Name eines spezifischen Geschäftsschritts oder einer Task, die innerhalb des Periodenabschlussprozesses ausgeführt wird, wie z.B. 'Korrekturbuchung gebucht' oder 'Periode für Buchung geschlossen'. | ||
| Beschreibung Dieses Attribut stellt ein einzelnes event oder eine Task im End-to-End Periodenabschluss- und Abstimmungsprozess dar. Aktivitäten sind die Bausteine der Prozesslandkarte und zeigen die Abfolge der durchgeführten Arbeiten. Sie werden oft aus einer Kombination von Transaktionscodes, Belegarten oder Statusänderungen innerhalb von SAP S/4HANA abgeleitet. Die Analyse von Aktivitäten ist grundlegend für das Process Mining. Sie hilft, den Prozessflow zu visualisieren, Abweichungen vom Standardverfahren zu identifizieren, Engpässe aufzudecken, wo Aktivitäten zu lange dauern, und die Häufigkeit und Reihenfolge von Tasks zu verstehen. Dies ist entscheidend für Dashboards wie die Period Close Variant Analysis und den Current Period Close Status. Bedeutung Definiert die Prozessschritte, bildet die Grundlage der Prozesslandkarte und ermöglicht die Analyse von Prozessfluss, Abweichungen und Engpässen. Datenquelle Abgeleitet aus verschiedenen Quellen, wie Transaktionscodes (TCODE), Belegarten (BLART) oder Statusfeldern in Tabellen im Zusammenhang mit Finanzabschlussaufgaben (z.B. aus dem SAP Financial Closing Cockpit). Beispiele Periode für Buchung geöffnetKontenabstimmung gestartetFinanzberichte generiertIntercompany-Abstimmung gestartet | |||
| Startzeit EventTime | Der Timestamp, der angibt, wann eine spezifische activity im System gestartet oder erfasst wurde. | ||
| Beschreibung Event Time erfasst das genaue Datum und die Uhrzeit, zu der eine Aktivität stattgefunden hat. Bei Finanzbuchungen ist dies oft die Erstellungszeit (CPUTM) oder das Buchungsdatum (BUDAT) eines Belegs. Bei Statusänderungen oder Aufgaben ist es der Timestamp, zu dem die Änderung protokolliert wurde. Dieses Attribut ist entscheidend für die chronologische Reihenfolge der Aktivitäten und bildet die Grundlage für alle zeitbasierten Analysen. Es wird verwendet, um Zykluszeiten zwischen Aktivitäten, die Dauer spezifischer Aufgaben und die gesamte End-to-End-Prozessdauer zu berechnen. Es unterstützt direkt KPIs wie die durchschnittliche Periodenabschluss-Zykluszeit und die durchschnittliche Abstimmungs-Genehmigungszeit. Bedeutung Dieser obligatorische Timestamp ermöglicht die chronologische Sortierung von events und ist die Grundlage für alle Dauer- und Performance-Berechnungen. Datenquelle Abgeleitet von Timestamp-Feldern wie Erstellungsdatum (CPUDT) und Erstellungszeit (CPUTM) in Tabellen wie BKPF oder von Änderungsdatumsfeldern in verschiedenen Statustabellen (z.B. CDHDR, CDPOS). Beispiele 2023-12-28T09:15:30Z2024-01-02T14:00:12Z2024-01-05T11:21:00Z | |||
| Abstimmungsstatus ReconciliationStatus | Der Status einer Kontenabstimmungsaktivität, wie 'Offen', 'In Bearbeitung' oder 'Genehmigt'. | ||
| Beschreibung Dieses Attribut verfolgt den Status eines Abstimmungsprozesses für ein bestimmtes Konto oder eine Task. Es zeigt an, ob eine Abstimmung gestartet, zur Überprüfung eingereicht, genehmigt oder abgelehnt wurde. Die Statusänderungen sind Schlüssel-events im Prozess. Dies ist grundlegend für das Dashboard 'Reconciliation Rework Analysis'. Durch die Analyse der Statussequenz ist es möglich zu identifizieren, wann einem 'Approved'-Status weitere Anpassungen folgen, was auf Nacharbeit hindeutet. Es unterstützt auch den KPI 'First-Pass Reconciliation Rate', indem es zeigt, welche Abstimmungen ohne vorherige Ablehnung oder Wiedereröffnung genehmigt werden. Bedeutung Verfolgt den Fortschritt und das Ergebnis von Abstimmungs-Tasks und ermöglicht so die Identifizierung von Nacharbeiten, die Messung von Genehmigungsraten und die Analyse von Engpässen. Datenquelle Diese Informationen werden typischerweise in Tabellen gespeichert, die mit dem verwendeten Abstimmungstool in Verbindung stehen, wie dem SAP Financial Closing Cockpit oder SAP Account Substantiation and Automation by BlackLine. Beispiele Nicht gestartetIn VorbereitungGenehmigtAbgelehnt | |||
| Bearbeitungszeit ProcessingTime | Die Dauer einer einzelnen activity, berechnet als Differenz zwischen ihrer Endzeit und Startzeit. | ||
| Beschreibung Processing Time, auch bekannt als Aktivitätsdauer, misst die für eine einzelne Aufgabe aufgewendete Zeit. Sie wird berechnet, indem die Diese berechnete Metrik ist grundlegend für die Performance-Analyse. Sie hilft, Engpässe auf Aktivitätsebene zu identifizieren und ist die primäre Messgröße, die in den Dashboards „Ressourcenallokations-Effizienz“ und „Abstimmungsgenehmigungs-Durchsatz“ verwendet wird. Die Summierung der Processing Times kann auch Einblicke in die gesamte Bearbeitungszeit innerhalb des Prozesses geben. Bedeutung Misst die Dauer einzelner Aufgaben, hebt direkt Engpässe hervor und bildet die Grundlage für Effizienzanalysen. Datenquelle Berechnetes Feld: Beispiele PT1M30SPT8HP2D | |||
| Belegnummer DocumentNumber | Die eindeutige Kennung für ein Finanzdokument, wie z.B. eine Journalbuchung. | ||
| Beschreibung Die Belegnummer ist ein von SAP vergebener eindeutiger Schlüssel für jede Finanzbuchung. Sie dient als primäre Referenz für die Nachverfolgung und Prüfung einzelner Transaktionen, die die Aktivitäten im Abschlussprozess bilden. Obwohl es keine Case ID ist, bietet es eine entscheidende Verknüpfung zum Quellsystem. Analysten können die Belegnummer verwenden, um von einer Process Mining-Ansicht in die spezifischen Transaktionsdetails in SAP S/4HANA für die Ursachenanalyse einzutauchen. Es ist besonders nützlich bei der Untersuchung spezifischer Korrekturbuchungen oder Abstimmungsbuchungen. Bedeutung Bietet einen direkten Verweis auf die zugrunde liegende Transaktion in SAP und ermöglicht so ein einfaches Drill-down und Auditierbarkeit aus dem Prozessmodell. Datenquelle Befindet sich in der Finanzbelegpositionstabellen, primär BSEG (Feld HKONT) oder der S/4HANA Universal Journal-Tabelle ACDOCA. Beispiele 100000045190000001300000023 | |||
| Buchungskreis CompanyCode | Ein eindeutiger Identifikator für eine juristische Person oder ein Unternehmen innerhalb der SAP-Organisation. | ||
| Beschreibung Der Buchungskreis stellt eine unabhängige Rechnungslegungseinheit innerhalb eines Unternehmens dar, für die ein vollständiger, in sich geschlossener Satz von Konten erstellt werden kann. Alle Periodenabschlussaktivitäten werden auf Buchungskreisebene durchgeführt. Dies ist eine grundlegende organisatorische Dimension für die Finanzanalyse. Im Process Mining ermöglicht es den Vergleich des Periodenabschlussprozesses über verschiedene juristische Einheiten hinweg. Das Dashboard 'Period Close Variant Analysis' nutzt den Buchungskreis, um Inkonsistenzen zu identifizieren und die Standardisierung von Abschlussverfahren zu fördern. Bedeutung Bietet einen kritischen organisatorischen Kontext, der den Vergleich von Prozessen über verschiedene juristische Einheiten hinweg ermöglicht, um Variationen und Best Practices zu identifizieren. Datenquelle In nahezu allen Finanztabellen in SAP zu finden, insbesondere in der Kopftabelle BKPF (Feld BUKRS). Beispiele 10001710US01DE01 | |||
| Endzeit EndTime | Der Zeitstempel, der angibt, wann eine Aktivität abgeschlossen wurde. | ||
| Beschreibung Die Endzeit markiert den Abschluss einer Task. In einigen Fällen kann sie für sofortige events, die im System protokolliert werden, identisch mit der Startzeit sein. Für Aktivitäten mit messbarer Dauer stellt sie den Finalisierungs-Timestamp dar. In Kombination mit der Startzeit ist dieses Attribut wesentlich für die Berechnung der Bedeutung Ermöglicht die Berechnung von Aktivitätsdauern (Processing Time), was entscheidend ist, um Performance-Engpässe zu identifizieren und die Effizienz zu analysieren. Datenquelle Wie die Startzeit kann dies aus verschiedenen Timestamp-Feldern stammen. Bei einigen Aktivitäten kann es dasselbe wie die Startzeit sein. Bei anderen könnte es ein separates 'completed on'- oder 'changed on'-Datum in Anwendungstabellen oder Änderungslogs (CDHDR, CDPOS) sein. Beispiele 2023-12-28T09:16:10Z2024-01-02T17:30:00Z2024-01-05T11:21:00Z | |||
| GL-Kontonummer GlAccountNumber | Die Kennung für ein spezifisches Konto im Hauptbuch. | ||
| Beschreibung Die Hauptbuch (GL)-Kontonummer identifiziert einzelne Konten, die zur Erfassung von Finanztransaktionen verwendet werden, wie z.B. Kasse, Kreditoren oder Erlöse. Viele Periodenendaktivitäten, wie Abstimmungen und Korrekturbuchungen, stehen in direktem Zusammenhang mit spezifischen Hauptbuchkonten. Dieses Attribut ist für eine detaillierte Finanzprozessanalyse unerlässlich. Das Dashboard 'Adjusting Journal Entry Analysis' verwendet es, um das Volumen der Anpassungen nach Konto anzuzeigen und so problematische Bereiche zu identifizieren. Der KPI 'Avg GL Account Reconciliation Time' stützt sich ebenfalls darauf, um Verzögerungen im Zusammenhang mit spezifischen Konten zu lokalisieren. Bedeutung Verknüpft Prozessaktivitäten mit spezifischen Finanzkonten und ermöglicht so eine detaillierte Analyse von Abstimmungen und Journalbuchungen, um Grundursachen für Probleme zu finden. Datenquelle Zu finden in Finanzbelegpositionstabellen, primär BSEG (Feld HKONT) oder der S/4HANA Universal Journal-Tabelle ACDOCA. Beispiele 113100004000000073000000 | |||
| Verantwortlicher Benutzer ResponsibleUser | Die Benutzer-ID der Person, die die activity ausgeführt hat oder für die Task verantwortlich ist. | ||
| Beschreibung Dieses Attribut identifiziert den Mitarbeiter, der eine bestimmte Task ausgeführt hat, z.B. eine Journalbuchung vorgenommen oder eine Abstimmung genehmigt hat. Es wird typischerweise als Benutzer-ID in Systemprotokollen und Belegköpfen erfasst. Die Analyse des Prozesses nach Benutzer ist entscheidend für das Verständnis der Arbeitslastverteilung, der individuellen Performance und des Schulungsbedarfs. Das Dashboard 'Resource Allocation Efficiency' verwendet dieses Attribut direkt, um die activity Processing Times nach Benutzer zu visualisieren. Es kann auch helfen, Automatisierungskandidaten zu identifizieren, indem es stark repetitive Tasks hervorhebt, die von vielen Benutzern ausgeführt werden. Bedeutung Verbindet Prozessaktivitäten mit den Personen, die sie durchgeführt haben, und ermöglicht so Arbeitslastanalysen, Ressourcenoptimierung und Leistungsmanagement. Datenquelle Häufig zu finden in Belegkopf-Tabellen wie BKPF (Feld USNAM - Benutzername) oder in Änderungsbeleg-Tabellen wie CDHDR (Feld USERNAME). Beispiele ABROWNCSMITHDJOHNSON | |||
| Ziel-Abschlussdatum TargetCompletionDate | Das geplante Datum oder die Frist für den Abschluss einer Schlüsselaktivität, wie z.B. die Erstellung des Jahresabschlusses. | ||
| Beschreibung Das Target Completion Date stellt die interne oder externe Frist für einen spezifischen Meilenstein im Periodenabschlussprozess dar. Es ist das Datum, bis zu dem eine Task abgeschlossen sein soll. Dieses Attribut ist entscheidend für die Messung der Termintreue und der Leistung im Vergleich zu Fristen. Es bildet die Grundlage für das Dashboard 'Reporting Deadline Adherence' und den KPI 'Financial Statement On-Time Rate', die dieses Zieldatum mit dem Bedeutung Ermöglicht die Analyse der Leistung im Vergleich zu Fristen und hilft, die pünktlichen Abschlussquoten für kritische Abschlussaktivitäten zu messen und zu verbessern. Datenquelle Diese data befindet sich oft in einem Task-Management- oder Planungssystem, wie dem SAP Financial Closing Cockpit, wo Abschluss-Tasklisten mit geplanten Enddaten definiert werden. Beispiele 2024-01-05T23:59:59Z2024-04-04T23:59:59Z2024-07-05T23:59:59Z | |||
| Belegbetrag DocumentAmount | Der Gesamtwert der Finanzbuchung in der Belegwährung. | ||
| Beschreibung Dieses Attribut stellt den monetären Wert dar, der mit einem Finanzdokument verbunden ist. Für Periodenabschlussanpassungen könnte dies der Betrag der Abgrenzung oder der Korrektur sein, die gebucht wird. Die Analyse des Betrags ist nützlich für Wesentlichkeitsprüfungen. Sie ermöglicht es Analysten, die Untersuchung von Korrekturbuchungen mit hohem Wert zu priorisieren, die ein größeres finanzielles Risiko darstellen könnten. Es kann verwendet werden, um die Prozesslandkarte zu filtern, um sich nur auf Transaktionen oberhalb eines bestimmten Schwellenwerts zu konzentrieren und so die Ansicht auf die wichtigsten Aktivitäten zu vereinfachen. Bedeutung Fügt der Analyse eine finanzielle Dimension hinzu, die die Priorisierung von Problemen auf der Grundlage des monetären Einflusses und der Wesentlichkeit ermöglicht. Datenquelle Dieser Wert muss typischerweise aus Postentabellen wie BSEG oder ACDOCA (Feld WRBTR – Betrag in Belegwährung) aggregiert werden. Beispiele 15000.00250.75-500.00 | |||
| Belegwährung DocumentCurrency | Der Währungscode für die Beträge im Finanzdokument. | ||
| Beschreibung Dieses Attribut gibt die Währung an, in der die Transaktion erfasst wurde, z.B. USD, EUR oder JPY. Es liefert wesentlichen Kontext für das Attribut In multinationalen Organisationen kann die Analyse nach Währung wichtig sein. Sie stellt sicher, dass monetäre Werte korrekt interpretiert werden und ist für jede Umrechnung in eine einzige Berichtswährung für die aggregierte Analyse erforderlich. Ohne diesen Kontext können Bedeutung Bietet den notwendigen Kontext für monetäre Werte und stellt sicher, dass Beträge korrekt interpretiert werden, insbesondere in einer Mehrwährungsumgebung. Datenquelle Befindet sich in der Finanzbelegkopftabelle BKPF (Feld WAERS). Beispiele USDEURJPY | |||
| Buchungssatztyp JournalEntryType | Die Art des gebuchten Finanzbelegs, die zwischen Standardbuchungen, Abgrenzungen und Anpassungen unterscheidet. | ||
| Beschreibung Die Journal Entry Type, oder Belegart in der SAP-Terminologie, ist ein Schlüssel, der Buchhaltungsbelege klassifiziert. Sie steuert, auf welche Kontenarten ein Beleg gebucht werden kann, und wird verwendet, um verschiedene Geschäftstransaktionen zu unterscheiden, wie z.B. eine Lieferantenrechnung (KR), eine Hauptbuchbuchung (SA) oder eine Kunden Zahlung (DZ). Im Kontext des Periodenabschlusses ist dieses Attribut entscheidend, um spezifische Arten von Aktivitäten zu isolieren. Zum Beispiel ermöglicht es Analysten, sich auf Korrekturbuchungen zu konzentrieren, um das Dashboard 'Adjusting Journal Entry Analysis' und den KPI 'Adjusting Journal Entries Count' zu unterstützen. Es hilft auch bei der Berechnung des 'Manual Postings Ratio'. Bedeutung Kategorisiert Finanztransaktionen und ermöglicht es der Analyse, sich auf spezifische Arten von Buchungen zu konzentrieren, wie manuelle Anpassungen, die für einen reibungslosen Periodenabschluss entscheidend sind. Datenquelle Dies ist ein Standardfeld in der Finanzbelegkopftabelle BKPF (Feld BLART). Beispiele SAKRAB | |||
| Ist Abstimmungs-Nacharbeit IsReconciliationRework | Ein boolesches Flag, das wahr ist, wenn auf eine Abstimmungsaktivität eine Ablehnung oder weitere Anpassungen folgen. | ||
| Beschreibung Dieses berechnete Attribut identifiziert Instanzen von Nacharbeiten innerhalb des Abstimmungs-Subprozesses. Die Logik kennzeichnet Aktivitäten oder Fälle, bei denen eine Abstimmung abgelehnt, nach der Einreichung wieder geöffnet wird oder bei denen Korrekturbuchungen vorgenommen werden, nachdem eine Abstimmung für ein Hauptbuchkonto angeblich abgeschlossen war. Dieses Flag ist speziell dafür konzipiert, das Dashboard 'Reconciliation Rework Analysis' und den KPI 'Reconciliation Rework Rate' zu unterstützen. Es transformiert komplexe Prozesssequenzen in ein einfaches, messbares Attribut, das das Ausmaß der Nacharbeit quantifiziert und Teams hilft, sich auf die Verbesserung der Erst-Qualität zu konzentrieren. Bedeutung Quantifiziert direkt Nacharbeit, eine Schlüsselform der Prozessineffizienz, und ermöglicht gezielte Analyse- und Verbesserungsbemühungen für die Abstimmungsqualität. Datenquelle Berechnet basierend auf der Abfolge von Aktivitäten. Zum Beispiel wird ein Flag auf „wahr“ gesetzt, wenn der Sequenz „Abstimmung genehmigt“ eine „Anpassungsbuchung gebucht“ für dasselbe GL-Konto innerhalb derselben Periode folgt. Beispiele truefalsch | |||
| Ist automatisiert IsAutomated | Ein boolesches Flag, das anzeigt, ob die Aktivität von einem Systembenutzer oder einem automatisierten Prozess durchgeführt wurde. | ||
| Beschreibung Dieses Flag unterscheidet zwischen Tasks, die manuell von einem menschlichen Benutzer ausgeführt werden, und solchen, die automatisch vom System ausgeführt werden, wie z.B. ein geplanter Batch-Job für die Währungsbewertung oder automatisierte Clearing-Läufe. Es wird typischerweise basierend auf der Dieses Attribut ist entscheidend, um den Grad der Automatisierung im Abschlussprozess zu verstehen. Es hilft, Möglichkeiten für weitere Automatisierung zu identifizieren, indem es manuelle Tasks mit hohem Volumen hervorhebt. Es wird auch in der Ursachenanalyse verwendet, um zu sehen, ob Engpässe in manuellen oder automatisierten Schritten auftreten. Bedeutung Unterscheidet zwischen menschlichen und Systemaktivitäten, was entscheidend ist, um Automatisierungspotenziale zu identifizieren und die Effizienz beider zu analysieren. Datenquelle Dies ist ein abgeleitetes Attribut, das oft auf einer Regel basiert, die auf das Feld 'ResponsibleUser' (z.B. Prüfung auf System- oder Batch-Benutzer-IDs wie 'BATCHUSER') oder den Transaktionscode angewendet wird. Beispiele truefalsch | |||
| Letzte Datenaktualisierung LastDataUpdate | Der Timestamp, der angibt, wann die Daten zuletzt aktualisiert oder aus dem Quellsystem extrahiert wurden. | ||
| Beschreibung Dieses Attribut erfasst das Datum und die Uhrzeit der letzten data extraction. Es liefert Kontext zur Aktualität der data, die im Process Mining-Tool analysiert wird. Sein Hauptzweck ist die data governance und die Benutzerinformation. Dashboard-Betrachter können sehen, wie aktuell die Analyse ist, was besonders wichtig für nahezu Echtzeit-Monitoring-Dashboards wie den 'Current Period Close Status' ist. Es hilft Benutzern zu verstehen, ob sie data von heute, gestern oder letzter Woche betrachten. Bedeutung Informiert Nutzer über die Aktualität der Daten und stellt sicher, dass sie verstehen, wie aktuell die Process Erkenntnisse sind. Datenquelle Dies sind Metadaten, die vom data extraction- oder ETL-Tool zum Zeitpunkt der Ausführung generiert und dem dataset hinzugefügt werden. Beispiele 2024-06-10T08:00:00Z2024-06-09T08:00:00Z | |||
| Periodenabschluss-Zykluszeit PeriodCloseCycleTime | Die Gesamtzeit, die für eine Finanzperiode benötigt wird, von der ersten activity bis zur letzten. | ||
| Beschreibung Diese Metrik repräsentiert die End-to-End-Dauer des Periodenabschlussprozesses für einen einzelnen Case (Finanzperiode). Sie wird berechnet als die Differenz zwischen dem Timestamp der allerletzten activity und der allerersten activity innerhalb dieser Periode. Dies ist ein primärer Key Performance Indicator, der das Dashboard 'Period Close Cycle Time Overview' und den KPI 'Average Period Close Cycle Time' direkt unterstützt. Er bietet eine hochrangige Messung der Gesamteffizienz und Geschwindigkeit des Abschlussprozesses und ermöglicht Vergleiche über die Zeit und Benchmarking zwischen verschiedenen Buchungskreisen. Bedeutung Stellt den primären KPI für die gesamte Prozessdauer dar und ermöglicht ein übergeordnetes Tracking von Effizienzverbesserungen im Zeitverlauf. Datenquelle Berechnet auf Case-Ebene: Beispiele P5D10H30MP7D2HP6D | |||
| Quellsystem SourceSystemId | Identifikator für die spezifische SAP S/4HANA-Instanz oder den Client, aus dem die Daten extrahiert wurden. | ||
| Beschreibung Dieses Attribut spezifiziert das Quellsystem der data. In Umgebungen mit mehreren SAP-Instanzen (z.B. für verschiedene Regionen oder Geschäftseinheiten) ist dieses Feld entscheidend, um data sources zu unterscheiden. Es wird primär für data governance, Auditing und zur Sicherstellung der data integrity verwendet. In der Analyse kann es als Filter verwendet werden, um Prozesse über verschiedene Quellsysteme hinweg zu vergleichen, wenn diese in einem einzigen Process Mining-Modell kombiniert werden. Bedeutung Bietet essentielle Datenherkunft und Kontext, um Klarheit über den Ursprung der Daten zu gewährleisten, insbesondere in Multi-System-Landschaften. Datenquelle Dies sind typischerweise Metadaten, die während des data extraction-Prozesses hinzugefügt werden, oft aus der System-ID (SY-SYSID) oder dem Client (SY-MANDT) in SAP. Beispiele S4H_PROD_100S4H_QAS_200ECC_LEGACY_001 | |||
| Tatsächliches Abschlussdatum ActualCompletionDate | Das tatsächliche Datum, an dem eine Schlüsselaktivität oder der gesamte Periodenabschluss abgeschlossen wurde. | ||
| Beschreibung Dieses Attribut erfasst das tatsächliche Abschlussdatum eines signifikanten Meilensteins. Es ist der Timestamp der endgültigen Genehmigung für Finanzberichte oder des Abschlusses der Buchungsperiode. Es ist das Gegenstück zu Bedeutung Liefert das tatsächliche Timing von Meilensteinen, was notwendig ist, um die Leistung im Vergleich zu geplanten Fristen zu messen und Verzögerungen zu analysieren. Datenquelle Abgeleitet von der EventTime der letzten activity in einer Sequenz, wie 'Jahresabschluss genehmigt' oder 'Periode für Buchung geschlossen'. Beispiele 2024-01-06T10:00:00Z2024-04-05T17:00:00Z2024-07-04T11:00:00Z | |||
| Termingerecht IsOnTime | Ein boolesches Flag, das wahr ist, wenn ein Meilenstein am oder vor seinem Zieldatum abgeschlossen wurde. | ||
| Beschreibung Dieses Attribut liefert ein einfaches binäres Ergebnis für die Termintreue. Es wird berechnet, indem das Dies ist die Kernberechnung hinter dem KPI 'Financial Statement On-Time Rate'. Es vereinfacht das Performance Tracking, indem datumsbasierte Vergleiche in einen klaren 'pünktlich' oder 'verspätet' Status umgewandelt werden, der leicht in Dashboards und Reports visualisiert werden kann. Es hilft, die Effektivität von Initiativen zur Beschleunigung des Abschlusses zu messen. Bedeutung Vereinfacht die Analyse der Fristeinhaltung zu einem klaren Erfolg oder Misserfolg, wodurch die Überwachung und Berichterstattung der Pünktlichkeit erleichtert wird. Datenquelle Berechnetes Feld: Beispiele truefalsch | |||
| Transaktionscode TransactionCode | Der SAP Transaktionscode (T-Code), der zur Ausführung der activity verwendet wird. | ||
| Beschreibung Ein Transaktionscode ist eine Abkürzung zum Starten einer spezifischen Funktion oder eines Programms in SAP. Zum Beispiel wird FB01 zum Buchen eines Belegs verwendet und FAGLB03 zum Anzeigen von GL-Kontensalden. Der T-Code liefert oft einen klaren technischen Indikator für die durchgeführte Aktivität. Dieses Attribut hilft bei der Erstellung der Aktivitätsdefinitionen für das Prozessmodell. Es ist eine zuverlässige Methode, um zwischen automatisierten und manuellen Aktivitäten zu unterscheiden und genau zu verstehen, wie eine Aufgabe im System ausgeführt wurde. Die Analyse von T-Codes kann nicht-standardisierte oder ineffiziente Methoden aufdecken, die von Mitarbeitern verwendet werden. Bedeutung Bietet eine technische, systemweite Ansicht darüber, wie eine Aktivität ausgeführt wurde, was nützlich ist, um manuelle vs. automatisierte Schritte und nicht-standardmäßige Prozeduren zu identifizieren. Datenquelle Zu finden in der Finanzbelegkopftabelle BKPF (Feld TCODE) oder in Änderungsbelegprotokollen. Beispiele FB01FAGL_FCVF.13 | |||
Record to Report – Periodenabschluss- & Abstimmungsaktivitäten
| Aktivität | Beschreibung | ||
|---|---|---|---|
| Anpassungsbuchung gebucht | Stellt eine Korrekturbuchung dar, die nach der Durchführung initialer Abstimmungen vorgenommen wird, typischerweise zur Behebung von Unstimmigkeiten, die während des Überprüfungsprozesses festgestellt wurden. Dies ist eine explizite Transaktion, die im Hauptbuch gebucht wird. | ||
| Bedeutung Eine hohe Frequenz von Anpassungsbuchungen deutet auf eine schlechte Ersterfassungsqualität in vor- oder nachgelagerten Prozessen oder Abstimmungen hin. Die Analyse dieser Einträge ist entscheidend, um die Grundursachen von Fehlern zu identifizieren und Nacharbeiten zu reduzieren. Datenquelle Diese werden als explizite Belege in den Tabellen ACDOCA und BKPF erfasst. Sie können durch spezifische Belegarten, Buchungsdaten spät im Abschlusszyklus oder bestimmte Textbeschreibungen identifiziert werden. Erfassen Filtern Sie Journalbuchungen in BKPF basierend auf einer Kombination aus Belegart und Buchungsdatum relativ zu Abstimmungsaktivitäten. Ereignistyp explicit | |||
| Finanzberichte generiert | Diese activity markiert die Erstellung des offiziellen Jahresabschlusses, wie Bilanz und Gewinn- und Verlustrechnung. Sie stellt den Höhepunkt der Periodenabschluss- und Konsolidierungsprozesse dar. | ||
| Bedeutung Dies ist ein wichtiger Meilenstein im Record to Report-Zyklus. Sein Timing ist entscheidend für die Einhaltung von Berichtsfristen und die Bereitstellung zeitnaher Informationen für Stakeholder. Datenquelle Am besten erfassbar über ein Financial Close Management Tool wie SAP Financial Closing Cockpit, wo es eine explizite Aufgabe ist. Andernfalls muss es aus Berichtsgenerierungsprotokollen oder Dateierstellungs-Timestamps abgeleitet werden. Erfassen Verfolgen Sie den Abschlussstatus der Task 'Jahresabschluss erstellen' in einem Abschlusstool oder analysieren Sie Berichtsausführungsprotokolle. Ereignistyp inferred | |||
| Intercompany-Abstimmung gestartet | Diese activity kennzeichnet den Beginn des Prozesses zum Abgleich und zur Abstimmung von Transaktionen zwischen verschiedenen Buchungskreisen innerhalb derselben Unternehmensgruppe. Dies wird oft durch die Ausführung eines Abstimmungsjobs oder die Erstellung eines neuen Abstimmungs-Case im SAP ICMR-Tool initiiert. | ||
| Bedeutung Intercompany-Abstimmung ist oft komplex und zeitaufwändig. Die Analyse ihrer Dauer und ihres Flusses ist entscheidend für die Optimierung des Konzernabschlusses und die Sicherstellung genauer konsolidierter Finanzdaten. Datenquelle Abgeleitet aus Statusänderungen innerhalb des SAP Intercompany Matching and Reconciliation (ICMR) Moduls oder aus der Erstellung der ersten Abstimmungsbelege für die Periode. Erfassen Verfolgen Sie das Erstellungsdatum oder den Statusänderungs-Timestamp für Abstimmungseinheiten innerhalb des ICMR-Tools für die gegebene Periode. Ereignistyp inferred | |||
| Kontenabstimmung genehmigt | Diese activity kennzeichnet die endgültige Genehmigung einer Hauptbuchkontenabstimmung, die bestätigt, dass der Saldo belegt und alle Probleme gelöst wurden. Dies wird aus einer Statusänderung zu 'Approved' in einem Abstimmungstool abgeleitet. | ||
| Bedeutung Dieser Meilenstein markiert den Abschluss einer kritischen Kontrollaktivität. Die Verfolgung von Genehmigungszeiten hilft, Engpässe im Überprüfungsprozess zu identifizieren und ist wesentlich für die Messung von Nacharbeit und Erst-Durchlaufraten. Datenquelle Erfasst aus einem Abstimmungsmanagementsystem, wie SAP Account Substantiation and Automation, durch Verfolgung des Timestamps des endgültigen Genehmigungsstatus. Erfassen Identifizieren Sie den Timestamp, zu dem das Statusfeld einer Abstimmung auf den Endstatus „Genehmigt“ aktualisiert wird. Ereignistyp inferred | |||
| Kontenabstimmung gestartet | Markiert den Beginn des manuellen oder teilautomatisierten Prozesses der Überprüfung von GL-Kontensalden. Dies wird abgeleitet, wenn der Status einer Abstimmung von „Neu“ zu „In Bearbeitung“ wechselt oder wenn die erste Aktion des Bearbeiters protokolliert wird. | ||
| Bedeutung Dies ist ein Schlüsselmeilenstein, um die Dauer und den Aufwand der Bilanzbelegprüfung zu verstehen. Er hilft zu identifizieren, welche Konten oder Abteilungen ihre Abstimmungen spät beginnen. Datenquelle Dieses event wird typischerweise von einem dedizierten Abstimmungstool wie SAP Account Substantiation and Automation by BlackLine oder anderen Drittsystemen erfasst. Es wird aus Statusänderungs-Timestamps abgeleitet. Erfassen Verfolgen Sie den Timestamp der ersten Statusänderung von 'Nicht gestartet' für eine gegebene Hauptbuchkontenabstimmung. Ereignistyp inferred | |||
| Periode für Buchung geöffnet | Dies markiert den Beginn der Finanzperiode, in der Buchungsperioden für die Transaktionserfassung geöffnet werden. Dies ist eine explizite, protokollierte Konfigurationsänderung, die von einem Finanzadministrator in SAP durchgeführt wird und Journalbuchungen für die neue Periode ermöglicht. | ||
| Bedeutung Diese activity dient als primäres Start-Event für den Periodenabschlussprozess. Sie ermöglicht die genaue Messung der Gesamtzykluszeit und bietet einen klaren Beginn für die Prozessanalyse. Datenquelle Dieses event wird aus Änderungsbelegen (Tabellen CDHDR und CDPOS) erfasst, die Änderungen an der Buchungsperiodensteuerungstabelle T001B protokollieren, typischerweise ausgeführt über Transaktion OB52. Erfassen Filtern Sie Änderungsbelege für Tabelle T001B, bezogen auf das spezifische Geschäftsjahr und die Periode. Ereignistyp explicit | |||
| Periode für Buchung geschlossen | Dies ist die letzte activity im Zyklus, in der die Buchungsperiode formell geschlossen wird, um weitere Transaktionen zu verhindern. Diese Aktion gewährleistet die Integrität der data für die finalisierten Finanzberichte. | ||
| Bedeutung Diese activity dient als definiertes End-Event für den Prozess. Sie ist wesentlich für die Berechnung der gesamten Periodenabschluss-Zykluszeit und die Analyse von Prozessabschluss-Trends. Datenquelle Ähnlich wie bei der Eröffnung einer Periode wird dieses event aus Änderungsbelegen (Tabellen CDHDR und CDPOS) erfasst, die Aktualisierungen der Buchungsperiodensteuerungstabelle T001B über die Transaktion OB52 protokollieren. Erfassen Filtern Sie Änderungsbelege für Tabelle T001B, um den Abschluss des relevanten Geschäftsjahres und der Periode zu identifizieren. Ereignistyp explicit | |||
| Abgrenzungen und Rückstellungen gebucht | Dieses event erfasst die Erstellung manueller Journalbuchungen für Abgrenzungen, Rechnungsabgrenzungsposten und andere Rückstellungen, die für eine genaue Finanzberichterstattung nach der Periodenabgrenzung notwendig sind. Dies sind explizite Transaktionen, die im Hauptbuch gebucht werden. | ||
| Bedeutung Das Tracking dieser Buchungen hilft, Volumen und Timing manueller Anpassungen zu analysieren. Ein hohes Volumen kann auf Automatisierungs- oder Verbesserungsmöglichkeiten in vorgelagerten Prozessen hinweisen. Datenquelle Diese werden als explizite Journalbuchungen in der Universaljournaltabelle ACDOCA und der Kopftabelle BKPF erfasst. Diese Einträge können durch spezifische Belegarten identifiziert werden, die für Abgrenzungen konfiguriert sind. Erfassen Filtern Sie Belege in Tabelle BKPF nach Belegart (z.B. 'SA' oder benutzerdefinierten Typen) und Buchungsdatum innerhalb der Periode. Ereignistyp explicit | |||
| Automatisierter Ausgleichslauf durchgeführt | Stellt die Ausführung automatischer Abstimmungsprogramme in SAP dar, wie den GR/IR (Wareneingang/Rechnungseingang)-Abgleichlauf. Diese Jobs gleichen offene Posten auf spezifischen Hauptbuchkonten ab und reduzieren den manuellen Abstimmungsaufwand. | ||
| Bedeutung Diese activity hebt den Automatisierungsgrad im Abstimmungsprozess hervor. Fehler oder Ausnahmen bei diesen Läufen können zu erheblichem manuellem Aufwand und Verzögerungen führen. Datenquelle Erfasst aus den Ausführungsprotokollen spezifischer Batch-Jobs, wie F.13 oder F.13E für den automatischen Ausgleich. Job-Log-Tabellen TBTCO und TBTCP enthalten die Ausführungsdetails. Erfassen Überwachen Sie die Start- und End-Timestamps von Jobs, die mit Transaktionen wie F.13 in den SAP-Job-Logs verbunden sind. Ereignistyp explicit | |||
| Finanzberichte genehmigt | Stellt die endgültige Freigabe des Jahresabschlusses durch das autorisierte Management dar, bevor dieser veröffentlicht wird. Dies ist oft ein Offline-Prozess, kann aber erfasst werden, wenn ein formaler digitaler Genehmigungsschritt existiert. | ||
| Bedeutung Dies ist das finale Qualitäts- und Kontroll-Gateway. Die Verfolgung seines Timings ist entscheidend für das Verständnis der Einhaltung von Berichtsfristen und der Gesamteffizienz des Management-Review-Zyklus. Datenquelle Dieses event wird erfasst, wenn ein Workflow- oder Statusfeld für die Genehmigung des Jahresabschlusses existiert, zum Beispiel innerhalb des SAP Financial Closing Cockpit oder eines Dokumentenmanagementsystems. Erfassen Identifizieren Sie ein Datenfeld und einen Timestamp, der die endgültige Genehmigung des Finanzberichtspakets anzeigt. Ereignistyp inferred | |||
| Fremdwährungsbewertungslauf | Dies ist ein Standardverfahren zum Monatsende, um offene Posten und Salden in Fremdwährungen basierend auf den Periodenend-Wechselkursen neu zu bewerten. Die Ausführung dieses Programms bucht die resultierenden Bewertungsdifferenzen. | ||
| Bedeutung Stellt die Einhaltung von Rechnungslegungsstandards sicher und liefert ein genaues Finanzbild. Die Verfolgung dieser Aktivität hilft sicherzustellen, dass alle Währungsbewertungen zeitnah durchgeführt werden. Datenquelle Erfasst aus den Ausführungsprotokollen des Fremdwährungsbewertungsprogramms (z.B. FAGL_FCV). Jobdetails sind in den Tabellen TBTCO und TBTCP gespeichert. Erfassen Überwachen Sie die Ausführungsprotokolle für Jobs, die mit der Transaktion FAGL_FCV oder ihrem zugrunde liegenden Programm zusammenhängen. Ereignistyp explicit | |||
| Konsolidierungsaufgaben ausgeführt | Stellt die Ausführung von Konsolidierungsaktivitäten innerhalb von SAP Group Reporting dar, wie Währungsumrechnung, Umgliederung und Eliminierung von Intercompany-Gewinnen. Diese Tasks werden typischerweise im Konsolidierungsmonitor verwaltet und protokolliert. | ||
| Bedeutung Für Organisationen mit mehreren juristischen Einheiten ist der Konsolidierungsprozess ein kritischer Pfad. Die Überwachung dieser Aufgaben hilft, den Konzernabschluss zu optimieren und eine zeitnahe konsolidierte Berichterstattung sicherzustellen. Datenquelle Erfasst aus den Statusprotokollen innerhalb des Data Monitor oder Consolidation Monitor in SAP S/4HANA für Group Reporting. Jede Aufgabe hat typischerweise einen Benutzer, Timestamp und Status. Erfassen Extrahieren Sie Aufgaben-Ausführungsprotokolle aus den zugrunde liegenden Tabellen des Group Reporting Konsolidierungsmonitors. Ereignistyp explicit | |||
| Nebenbuch-Datenübertragung abgeschlossen | Stellt den Abschluss von Batch-Jobs dar, die zusammengefasste data von Nebenbüchern wie Debitoren, Kreditoren und Anlagenbuchhaltung in das Hauptbuch übertragen. Dies stellt sicher, dass alle zugrunde liegenden operativen Transaktionen im Hauptbuch widergespiegelt werden, bevor die Abschlussverfahren beginnen. | ||
| Bedeutung Verzögerungen beim Abschluss der Nebenbücher können einen großen Engpass für den Gesamtprozess darstellen. Die Verfolgung dieser Aktivität hilft, Ineffizienzen bei der Datenerfassung und -integration aus Quellsystemen zu identifizieren. Datenquelle Abgeleitet vom erfolgreichen Abschlussstatus spezifischer Batch-Jobs, die für den Ledger-Ausgleich und die Datenübertragung verantwortlich sind. Job-Logs finden Sie in den Tabellen TBTCO und TBTCP. Erfassen Identifizieren und überwachen Sie die Abschluss-Timestamps relevanter Batch-Jobs in der SAP-Jobübersicht (Transaktion SM37). Ereignistyp explicit | |||
| Saldenliste vorbereitet | Zeigt an, dass eine Saldenliste zur Überprüfung generiert und gespeichert wurde, was als wichtiger Kontrollpunkt vor der Erstellung der endgültigen Finanzberichte dient. Die Erfassung dieses Ereignisses basiert oft auf Prozeduren, bei denen die Berichtsausgabe gespeichert wird. | ||
| Bedeutung Die Erstellung der Saldenliste ist ein entscheidendes Qualitätsmerkmal. Die Analyse ihres Timings hilft, die Bereitschaft für die finale Berichterstattung zu verstehen und kann Verzögerungen bei vorhergehenden Aktivitäten aufzeigen. Datenquelle Dies ist oft kein explizites event. Es kann aus der Ausführung einer spezifischen Reporting-Transaktion abgeleitet werden, wenn Varianten mit Benutzer- und Datumsstempeln gespeichert werden, oder wenn der Prozess in einem Tool wie dem SAP Financial Closing Cockpit verwaltet wird. Erfassen Erfordert eine Systemanalyse, um festzustellen, ob ein zuverlässiger Logging-Mechanismus existiert, wie z.B. Protokolle zur Berichtsausführung oder Tasklisten im Closing Cockpit. Ereignistyp inferred | |||
Extraktionsleitfäden
Schritte
- CDS Views identifizieren und überprüfen: Melden Sie sich mit SAP HANA Studio oder Eclipse mit ADT an Ihrem SAP S/4HANA-System an. Verwenden Sie die ABAP Development Tools, um die im Query genannten Standard-CDS-Views, wie I_JournalEntryItem, I_BatchJob und I_ConsolidationTaskLog, zu suchen und deren Existenz zu überprüfen. Für Prozesse wie die Kontenabstimmung müssen Sie möglicherweise benutzerdefinierte CDS Views, z.B. Z_I_ACCOUNTRECONCILIATION, erstellen, um Statusänderungen zu erfassen.
- CDS Views über OData bereitstellen: Verwenden Sie im SAP-Backend die Transaktion
SEGW(Gateway Service Builder), um ein neues Projekt zu erstellen. Klicken Sie mit der rechten Maustaste auf den Ordner „Data Model“ und wählen Sie „Reference -> Data Source“. Fügen Sie die erforderlichen CDS Views hinzu. Generieren Sie die Laufzeitobjekte, um einen OData-Dienst zu erstellen, der diese Views für den externen Verbrauch bereitstellt. - OData-Dienst aktivieren: Gehen Sie zur Transaktion
/IWFND/MAINT_SERVICEim SAP Gateway Hub. Klicken Sie auf „Add Service“, suchen Sie den im vorherigen Schritt generierten Dienst und fügen Sie ihn hinzu. Dadurch wird der Dienst aktiv und für Abfragen verfügbar. - Datenverbindung herstellen: Stellen Sie mit Ihrem gewählten Datenextraktions-Tool (z.B. Python, Power BI oder eine dedizierte ETL-Plattform) eine Verbindung zum neu erstellten OData-Dienst her. Sie benötigen die Dienst-URL und entsprechende Zugangsdaten mit Berechtigung für den Zugriff auf die CDS Views.
- Abfrage anpassen und ausführen: Kopieren Sie die bereitgestellte SQL-Abfrage. Ändern Sie die Platzhalterwerte für Datumsbereiche, Buchungskreise und benutzerdefinierte CDS Views oder Batch-Job-Namen, um sie an Ihre spezifische SAP-Umgebung anzupassen. Führen Sie die Abfrage gegen den OData-Dienst-Endpunkt aus. Beachten Sie, dass OData eine andere Syntax ($filter, $select) verwendet, daher müssen Sie möglicherweise die Logik der UNION ALL-Abfrage in eine Reihe separater API-Aufrufe übersetzen, einen für jede Aktivität.
- Aktivitätsdaten konsolidieren: Da OData komplexe UNION ALL-Abfragen normalerweise nicht direkt in einem einzigen Aufruf unterstützt, führen Sie für jeden Aktivitätsblock in der Abfrage eine separate Anfrage aus. Konsolidieren Sie die Ergebnisse aller Anfragen in einem einzigen Datensatz oder einer Tabelle innerhalb Ihres Client-Tools.
- Daten transformieren und bereinigen: Überprüfen Sie die konsolidierten Daten. Stellen Sie sicher, dass die Spalten
EventTimeundEndTimein einem konsistenten Timestamp-Format vorliegen. Verifizieren Sie, dassFinancialPeriodkorrekt als 'JJJJ-MM' formatiert ist. Behandeln Sie NULL-Werte in Spalten wieResponsibleUseroderDocumentNumbernach Bedarf. - Als Event Log exportieren: Exportieren Sie den finalen, konsolidierten Datensatz in eine CSV-Datei. Stellen Sie sicher, dass die Spaltenüberschriften den erforderlichen Attributen entsprechen:
FinancialPeriod,ActivityName,EventTime,EndTime,ResponsibleUser, etc. Diese Datei ist nun bereit, in ProcessMind hochgeladen zu werden.
Konfiguration
- CDS Views: Die Abfrage nutzt eine Kombination aus Standard- und benutzerdefinierten CDS Views. Standard Views wie
I_JournalEntryItem(für Buchungsposten) undI_BatchJob(für automatisierte Läufe) sind dabei unerlässlich. Benutzerdefinierte Views wieZ_I_ACCOUNTRECONCILIATIONwerden oft benötigt, um den Status interner Prozesse zu erfassen, die nicht durch Standard Views abgedeckt sind. - Datumsbereich: Definieren Sie einen spezifischen Datumsbereich für die Extraktion, um das Datenvolumen zu steuern. Die Abfrage verwendet Platzhalter
[Start Date]und[End Date], die typischerweise einen Zeitraum von 3 bis 6 vollen Geschäftsperioden für eine aussagekräftige Analyse abdecken sollten. - Schlüsselfilter: Die Filterung ist entscheidend für Leistung und Relevanz. Filtern Sie immer nach
CompanyCode. Weitere wichtige Filter sindLedger(z.B. '0L' für das führende Ledger),FiscalYearund spezifischeDocumentType-Werte, um zwischen regulären Buchungen, Abgrenzungen und Anpassungen zu unterscheiden. - Voraussetzungen: Der Benutzer, der die Extraktion durchführt, benötigt SAP-Berechtigungen, um auf die angegebenen CDS Views zuzugreifen und OData-Dienste (z.B. Berechtigungsobjekte
S_SERVICE,S_RFC) auszuführen. SAP Gateway Services müssen konfiguriert und aktiviert sein. - Performance: Die Abfrage von
I_JournalEntryItemkann performanceintensiv sein. Wenden Sie stets selektive Filter an, insbesondere auf Daten, Buchungskreise und Ledger. Ziehen Sie in Betracht, die Extraktion außerhalb der Spitzenzeiten durchzuführen oder eine inkrementelle Ladestrategie für die kontinuierliche Überwachung zu verwenden.
a Beispielabfrage sql
SELECT
CONCAT(CAST(PostingDate AS DATE FORMAT 'YYYY'), '-', CAST(PostingDate AS DATE FORMAT 'MM')) AS FinancialPeriod,
'Period Opened For Posting' AS ActivityName,
CAST(CreationDateTime AS TIMESTAMP) AS EventTime,
CAST(CreationDateTime AS TIMESTAMP) AS EndTime,
CreatedByUser AS ResponsibleUser,
CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
0 AS ProcessingTime
FROM I_FinPostingPeriodControl -- This is a proxy; this activity is a configuration change often found in change logs (CDHDR/CDPOS for table T001B)
WHERE PostingPeriodVariant = '[Your Variant]' AND FiscalYear = '[Your Fiscal Year]' AND FromPostingPeriod = 1 AND AuthorizationGroup IS NOT NULL -- Logic to detect the opening event
UNION ALL
SELECT
CONCAT(SUBSTRING(JobName, STRPOS(JobName, '_') + 1, 4), '-', SUBSTRING(JobName, STRPOS(JobName, '_') + 5, 2)) AS FinancialPeriod, -- Infer period from Job Name if patterned, otherwise use job start date
'Subledger Data Transfer Completed' AS ActivityName,
CAST(JobStartDate || JobStartTime AS TIMESTAMP) AS EventTime,
CAST(JobEndDate || JobEndTime AS TIMESTAMP) AS EndTime,
JobCreatedByUser AS ResponsibleUser,
'[Configure based on your system]' AS CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
SECONDS_BETWEEN(CAST(JobStartDate || JobStartTime AS TIMESTAMP), CAST(JobEndDate || JobEndTime AS TIMESTAMP)) AS ProcessingTime
FROM I_BatchJob
WHERE JobName LIKE '[Subledger Job Prefix]%' AND JobStatus = 'F' -- 'F' for Finished
AND JobEndDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(CAST(CreationDate AS DATE FORMAT 'YYYY'), '-', CAST(CreationDate AS DATE FORMAT 'MM')) AS FinancialPeriod,
'Intercompany Reconciliation Started' AS ActivityName,
CAST(CreationDateTime AS TIMESTAMP) AS EventTime,
NULL AS EndTime,
CreatedByUser AS ResponsibleUser,
LeadingCompanyCode AS CompanyCode,
NULL AS GlAccountNumber,
ReconciliationCase AS DocumentNumber,
ReconciliationCaseStatus AS ReconciliationStatus,
NULL AS TargetCompletionDate,
NULL AS ProcessingTime
FROM I_ICRcnCase -- Part of SAP S/4HANA for group reporting
WHERE CreationDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(FiscalYear, '-', LPAD(FiscalPeriod, 2, '0')) AS FinancialPeriod,
'Accruals And Provisions Posted' AS ActivityName,
CAST(CreationDateTime AS TIMESTAMP) AS EventTime,
CAST(CreationDateTime AS TIMESTAMP) AS EndTime,
CreatedByUser AS ResponsibleUser,
CompanyCode,
GLAccountNumber,
AccountingDocument AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
0 AS ProcessingTime
FROM I_JournalEntryItem
WHERE DocumentType IN ('[Accrual Doc Type 1]', '[Accrual Doc Type 2]') -- e.g., 'SA', 'AC'
AND PostingDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(SUBSTRING(JobName, STRPOS(JobName, '_') + 1, 4), '-', SUBSTRING(JobName, STRPOS(JobName, '_') + 5, 2)) AS FinancialPeriod,
'Automated Clearing Run Executed' AS ActivityName,
CAST(JobStartDate || JobStartTime AS TIMESTAMP) AS EventTime,
CAST(JobEndDate || JobEndTime AS TIMESTAMP) AS EndTime,
JobCreatedByUser AS ResponsibleUser,
'[Configure based on your system]' AS CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
SECONDS_BETWEEN(CAST(JobStartDate || JobStartTime AS TIMESTAMP), CAST(JobEndDate || JobEndTime AS TIMESTAMP)) AS ProcessingTime
FROM I_BatchJob
WHERE JobName LIKE 'SAPF124%' AND JobStatus = 'F'
AND JobEndDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(SUBSTRING(JobName, STRPOS(JobName, '_') + 1, 4), '-', SUBSTRING(JobName, STRPOS(JobName, '_') + 5, 2)) AS FinancialPeriod,
'Foreign Currency Valuation Run' AS ActivityName,
CAST(JobStartDate || JobStartTime AS TIMESTAMP) AS EventTime,
CAST(JobEndDate || JobEndTime AS TIMESTAMP) AS EndTime,
JobCreatedByUser AS ResponsibleUser,
'[Configure based on your system]' AS CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
SECONDS_BETWEEN(CAST(JobStartDate || JobStartTime AS TIMESTAMP), CAST(JobEndDate || JobEndTime AS TIMESTAMP)) AS ProcessingTime
FROM I_BatchJob
WHERE JobName LIKE 'FAGL_FCV%' AND JobStatus = 'F'
AND JobEndDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
-- This activity often requires a custom view on a custom table or an add-on like SAP Account Substantiation and Automation.
-- The following is a placeholder for such a custom view.
SELECT
CONCAT(FiscalYear, '-', LPAD(FiscalPeriod, 2, '0')) AS FinancialPeriod,
'Account Reconciliation Started' AS ActivityName,
CAST(ChangedAt AS TIMESTAMP) AS EventTime,
NULL AS EndTime,
ChangedBy AS ResponsibleUser,
CompanyCode,
GLAccountNumber,
ReconciliationID AS DocumentNumber,
'In Progress' AS ReconciliationStatus,
PlannedCompletionDate AS TargetCompletionDate,
NULL AS ProcessingTime
FROM Z_I_ACCOUNTRECONCILIATION -- Placeholder for your custom reconciliation status view
WHERE Status = 'IN_PROGRESS' AND OldStatus = 'NEW'
AND ChangeDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(FiscalYear, '-', LPAD(FiscalPeriod, 2, '0')) AS FinancialPeriod,
'Adjusting Journal Entry Posted' AS ActivityName,
CAST(CreationDateTime AS TIMESTAMP) AS EventTime,
CAST(CreationDateTime AS TIMESTAMP) AS EndTime,
CreatedByUser AS ResponsibleUser,
CompanyCode,
GLAccountNumber,
AccountingDocument AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
0 AS ProcessingTime
FROM I_JournalEntryItem
WHERE DocumentType IN ('[Adjustment Doc Type 1]', '[Adjustment Doc Type 2]') -- e.g., 'AJ'
AND PostingDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
-- This activity often requires a custom view on a custom table or an add-on product.
-- The following is a placeholder for such a custom view.
SELECT
CONCAT(FiscalYear, '-', LPAD(FiscalPeriod, 2, '0')) AS FinancialPeriod,
'Account Reconciliation Approved' AS ActivityName,
CAST(ChangedAt AS TIMESTAMP) AS EventTime,
CAST(ChangedAt AS TIMESTAMP) AS EndTime,
ApprovedBy AS ResponsibleUser,
CompanyCode,
GLAccountNumber,
ReconciliationID AS DocumentNumber,
'Approved' AS ReconciliationStatus,
PlannedCompletionDate AS TargetCompletionDate,
NULL AS ProcessingTime
FROM Z_I_ACCOUNTRECONCILIATION -- Placeholder for your custom reconciliation status view
WHERE Status = 'APPROVED'
AND ChangeDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(FiscalYear, '-', LPAD(FiscalPeriod, 2, '0')) AS FinancialPeriod,
'Consolidation Tasks Executed' AS ActivityName,
CAST(TaskExecutionUTCTimestamp AS TIMESTAMP) AS EventTime,
CAST(TaskCompletionUTCTimestamp AS TIMESTAMP) AS EndTime,
ExecutedByUser AS ResponsibleUser,
ConsolidationUnitCompanyCode AS CompanyCode, -- Assuming mapping exists
NULL AS GlAccountNumber,
DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
SECONDS_BETWEEN(CAST(TaskExecutionUTCTimestamp AS TIMESTAMP), CAST(TaskCompletionUTCTimestamp AS TIMESTAMP)) AS ProcessingTime
FROM I_ConsolidationTaskLog
WHERE ConsolidationTaskStatus = 'S' -- Successful
AND TaskExecutionUTCDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(SUBSTRING(JobName, STRPOS(JobName, '_') + 1, 4), '-', SUBSTRING(JobName, STRPOS(JobName, '_') + 5, 2)) AS FinancialPeriod,
'Trial Balance Prepared' AS ActivityName,
CAST(JobStartDate || JobStartTime AS TIMESTAMP) AS EventTime,
CAST(JobEndDate || JobEndTime AS TIMESTAMP) AS EndTime,
JobCreatedByUser AS ResponsibleUser,
'[Configure based on your system]' AS CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
SECONDS_BETWEEN(CAST(JobStartDate || JobStartTime AS TIMESTAMP), CAST(JobEndDate || JobEndTime AS TIMESTAMP)) AS ProcessingTime
FROM I_BatchJob
WHERE JobName LIKE '[Trial Balance Job Prefix]%' AND JobStatus = 'F' -- Example: FAGL_TRIAL_BALANCE_RUN
AND JobEndDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(SUBSTRING(JobName, STRPOS(JobName, '_') + 1, 4), '-', SUBSTRING(JobName, STRPOS(JobName, '_') + 5, 2)) AS FinancialPeriod,
'Financial Statements Generated' AS ActivityName,
CAST(JobStartDate || JobStartTime AS TIMESTAMP) AS EventTime,
CAST(JobEndDate || JobEndTime AS TIMESTAMP) AS EndTime,
JobCreatedByUser AS ResponsibleUser,
'[Configure based on your system]' AS CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
SECONDS_BETWEEN(CAST(JobStartDate || JobStartTime AS TIMESTAMP), CAST(JobEndDate || JobEndTime AS TIMESTAMP)) AS ProcessingTime
FROM I_BatchJob
WHERE JobName LIKE '[Fin Statement Job Prefix]%' AND JobStatus = 'F'
AND JobEndDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
-- Approval is often a manual step. This requires a custom solution to capture.
-- The following is a placeholder for such a custom view.
SELECT
CONCAT(ApprovalYear, '-', LPAD(ApprovalPeriod, 2, '0')) AS FinancialPeriod,
'Financial Statements Approved' AS ActivityName,
CAST(ApprovalTimestamp AS TIMESTAMP) AS EventTime,
CAST(ApprovalTimestamp AS TIMESTAMP) AS EndTime,
ApproverUser AS ResponsibleUser,
CompanyCode,
NULL AS GlAccountNumber,
FinancialStatementVersion AS DocumentNumber,
'Approved' AS ReconciliationStatus,
NULL AS TargetCompletionDate,
0 AS ProcessingTime
FROM Z_I_FINSTATEMENTAPPROVAL -- Placeholder for custom approval tracking view
WHERE ApprovalDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(CAST(LastChangeDate AS DATE FORMAT 'YYYY'), '-', CAST(LastChangeDate AS DATE FORMAT 'MM')) AS FinancialPeriod,
'Period Closed For Posting' AS ActivityName,
CAST(LastChangeDateTime AS TIMESTAMP) AS EventTime,
CAST(LastChangeDateTime AS TIMESTAMP) AS EndTime,
LastChangedByUser AS ResponsibleUser,
CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
0 AS ProcessingTime
FROM I_FinPostingPeriodControl -- Proxy, see note on 'Period Opened'
WHERE PostingPeriodStatus = 'C' -- 'C' for Closed
AND LastChangeDate BETWEEN '[Start Date]' AND '[End Date]'; Schritte
- CDS Views identifizieren und überprüfen: Melden Sie sich mit SAP HANA Studio oder Eclipse mit ADT an Ihrem SAP S/4HANA-System an. Verwenden Sie die ABAP Development Tools, um die im Query genannten Standard-CDS-Views, wie I_JournalEntryItem, I_BatchJob und I_ConsolidationTaskLog, zu suchen und deren Existenz zu überprüfen. Für Prozesse wie die Kontenabstimmung müssen Sie möglicherweise benutzerdefinierte CDS Views, z.B. Z_I_ACCOUNTRECONCILIATION, erstellen, um Statusänderungen zu erfassen.
- CDS Views über OData bereitstellen: Verwenden Sie im SAP-Backend die Transaktion
SEGW(Gateway Service Builder), um ein neues Projekt zu erstellen. Klicken Sie mit der rechten Maustaste auf den Ordner „Data Model“ und wählen Sie „Reference -> Data Source“. Fügen Sie die erforderlichen CDS Views hinzu. Generieren Sie die Laufzeitobjekte, um einen OData-Dienst zu erstellen, der diese Views für den externen Verbrauch bereitstellt. - OData-Dienst aktivieren: Gehen Sie zur Transaktion
/IWFND/MAINT_SERVICEim SAP Gateway Hub. Klicken Sie auf „Add Service“, suchen Sie den im vorherigen Schritt generierten Dienst und fügen Sie ihn hinzu. Dadurch wird der Dienst aktiv und für Abfragen verfügbar. - Datenverbindung herstellen: Stellen Sie mit Ihrem gewählten Datenextraktions-Tool (z.B. Python, Power BI oder eine dedizierte ETL-Plattform) eine Verbindung zum neu erstellten OData-Dienst her. Sie benötigen die Dienst-URL und entsprechende Zugangsdaten mit Berechtigung für den Zugriff auf die CDS Views.
- Abfrage anpassen und ausführen: Kopieren Sie die bereitgestellte SQL-Abfrage. Ändern Sie die Platzhalterwerte für Datumsbereiche, Buchungskreise und benutzerdefinierte CDS Views oder Batch-Job-Namen, um sie an Ihre spezifische SAP-Umgebung anzupassen. Führen Sie die Abfrage gegen den OData-Dienst-Endpunkt aus. Beachten Sie, dass OData eine andere Syntax ($filter, $select) verwendet, daher müssen Sie möglicherweise die Logik der UNION ALL-Abfrage in eine Reihe separater API-Aufrufe übersetzen, einen für jede Aktivität.
- Aktivitätsdaten konsolidieren: Da OData komplexe UNION ALL-Abfragen normalerweise nicht direkt in einem einzigen Aufruf unterstützt, führen Sie für jeden Aktivitätsblock in der Abfrage eine separate Anfrage aus. Konsolidieren Sie die Ergebnisse aller Anfragen in einem einzigen Datensatz oder einer Tabelle innerhalb Ihres Client-Tools.
- Daten transformieren und bereinigen: Überprüfen Sie die konsolidierten Daten. Stellen Sie sicher, dass die Spalten
EventTimeundEndTimein einem konsistenten Timestamp-Format vorliegen. Verifizieren Sie, dassFinancialPeriodkorrekt als 'JJJJ-MM' formatiert ist. Behandeln Sie NULL-Werte in Spalten wieResponsibleUseroderDocumentNumbernach Bedarf. - Als Event Log exportieren: Exportieren Sie den finalen, konsolidierten Datensatz in eine CSV-Datei. Stellen Sie sicher, dass die Spaltenüberschriften den erforderlichen Attributen entsprechen:
FinancialPeriod,ActivityName,EventTime,EndTime,ResponsibleUser, etc. Diese Datei ist nun bereit, in ProcessMind hochgeladen zu werden.
Konfiguration
- CDS Views: Die Abfrage nutzt eine Kombination aus Standard- und benutzerdefinierten CDS Views. Standard Views wie
I_JournalEntryItem(für Buchungsposten) undI_BatchJob(für automatisierte Läufe) sind dabei unerlässlich. Benutzerdefinierte Views wieZ_I_ACCOUNTRECONCILIATIONwerden oft benötigt, um den Status interner Prozesse zu erfassen, die nicht durch Standard Views abgedeckt sind. - Datumsbereich: Definieren Sie einen spezifischen Datumsbereich für die Extraktion, um das Datenvolumen zu steuern. Die Abfrage verwendet Platzhalter
[Start Date]und[End Date], die typischerweise einen Zeitraum von 3 bis 6 vollen Geschäftsperioden für eine aussagekräftige Analyse abdecken sollten. - Schlüsselfilter: Die Filterung ist entscheidend für Leistung und Relevanz. Filtern Sie immer nach
CompanyCode. Weitere wichtige Filter sindLedger(z.B. '0L' für das führende Ledger),FiscalYearund spezifischeDocumentType-Werte, um zwischen regulären Buchungen, Abgrenzungen und Anpassungen zu unterscheiden. - Voraussetzungen: Der Benutzer, der die Extraktion durchführt, benötigt SAP-Berechtigungen, um auf die angegebenen CDS Views zuzugreifen und OData-Dienste (z.B. Berechtigungsobjekte
S_SERVICE,S_RFC) auszuführen. SAP Gateway Services müssen konfiguriert und aktiviert sein. - Performance: Die Abfrage von
I_JournalEntryItemkann performanceintensiv sein. Wenden Sie stets selektive Filter an, insbesondere auf Daten, Buchungskreise und Ledger. Ziehen Sie in Betracht, die Extraktion außerhalb der Spitzenzeiten durchzuführen oder eine inkrementelle Ladestrategie für die kontinuierliche Überwachung zu verwenden.
a Beispielabfrage sql
SELECT
CONCAT(CAST(PostingDate AS DATE FORMAT 'YYYY'), '-', CAST(PostingDate AS DATE FORMAT 'MM')) AS FinancialPeriod,
'Period Opened For Posting' AS ActivityName,
CAST(CreationDateTime AS TIMESTAMP) AS EventTime,
CAST(CreationDateTime AS TIMESTAMP) AS EndTime,
CreatedByUser AS ResponsibleUser,
CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
0 AS ProcessingTime
FROM I_FinPostingPeriodControl -- This is a proxy; this activity is a configuration change often found in change logs (CDHDR/CDPOS for table T001B)
WHERE PostingPeriodVariant = '[Your Variant]' AND FiscalYear = '[Your Fiscal Year]' AND FromPostingPeriod = 1 AND AuthorizationGroup IS NOT NULL -- Logic to detect the opening event
UNION ALL
SELECT
CONCAT(SUBSTRING(JobName, STRPOS(JobName, '_') + 1, 4), '-', SUBSTRING(JobName, STRPOS(JobName, '_') + 5, 2)) AS FinancialPeriod, -- Infer period from Job Name if patterned, otherwise use job start date
'Subledger Data Transfer Completed' AS ActivityName,
CAST(JobStartDate || JobStartTime AS TIMESTAMP) AS EventTime,
CAST(JobEndDate || JobEndTime AS TIMESTAMP) AS EndTime,
JobCreatedByUser AS ResponsibleUser,
'[Configure based on your system]' AS CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
SECONDS_BETWEEN(CAST(JobStartDate || JobStartTime AS TIMESTAMP), CAST(JobEndDate || JobEndTime AS TIMESTAMP)) AS ProcessingTime
FROM I_BatchJob
WHERE JobName LIKE '[Subledger Job Prefix]%' AND JobStatus = 'F' -- 'F' for Finished
AND JobEndDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(CAST(CreationDate AS DATE FORMAT 'YYYY'), '-', CAST(CreationDate AS DATE FORMAT 'MM')) AS FinancialPeriod,
'Intercompany Reconciliation Started' AS ActivityName,
CAST(CreationDateTime AS TIMESTAMP) AS EventTime,
NULL AS EndTime,
CreatedByUser AS ResponsibleUser,
LeadingCompanyCode AS CompanyCode,
NULL AS GlAccountNumber,
ReconciliationCase AS DocumentNumber,
ReconciliationCaseStatus AS ReconciliationStatus,
NULL AS TargetCompletionDate,
NULL AS ProcessingTime
FROM I_ICRcnCase -- Part of SAP S/4HANA for group reporting
WHERE CreationDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(FiscalYear, '-', LPAD(FiscalPeriod, 2, '0')) AS FinancialPeriod,
'Accruals And Provisions Posted' AS ActivityName,
CAST(CreationDateTime AS TIMESTAMP) AS EventTime,
CAST(CreationDateTime AS TIMESTAMP) AS EndTime,
CreatedByUser AS ResponsibleUser,
CompanyCode,
GLAccountNumber,
AccountingDocument AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
0 AS ProcessingTime
FROM I_JournalEntryItem
WHERE DocumentType IN ('[Accrual Doc Type 1]', '[Accrual Doc Type 2]') -- e.g., 'SA', 'AC'
AND PostingDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(SUBSTRING(JobName, STRPOS(JobName, '_') + 1, 4), '-', SUBSTRING(JobName, STRPOS(JobName, '_') + 5, 2)) AS FinancialPeriod,
'Automated Clearing Run Executed' AS ActivityName,
CAST(JobStartDate || JobStartTime AS TIMESTAMP) AS EventTime,
CAST(JobEndDate || JobEndTime AS TIMESTAMP) AS EndTime,
JobCreatedByUser AS ResponsibleUser,
'[Configure based on your system]' AS CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
SECONDS_BETWEEN(CAST(JobStartDate || JobStartTime AS TIMESTAMP), CAST(JobEndDate || JobEndTime AS TIMESTAMP)) AS ProcessingTime
FROM I_BatchJob
WHERE JobName LIKE 'SAPF124%' AND JobStatus = 'F'
AND JobEndDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(SUBSTRING(JobName, STRPOS(JobName, '_') + 1, 4), '-', SUBSTRING(JobName, STRPOS(JobName, '_') + 5, 2)) AS FinancialPeriod,
'Foreign Currency Valuation Run' AS ActivityName,
CAST(JobStartDate || JobStartTime AS TIMESTAMP) AS EventTime,
CAST(JobEndDate || JobEndTime AS TIMESTAMP) AS EndTime,
JobCreatedByUser AS ResponsibleUser,
'[Configure based on your system]' AS CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
SECONDS_BETWEEN(CAST(JobStartDate || JobStartTime AS TIMESTAMP), CAST(JobEndDate || JobEndTime AS TIMESTAMP)) AS ProcessingTime
FROM I_BatchJob
WHERE JobName LIKE 'FAGL_FCV%' AND JobStatus = 'F'
AND JobEndDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
-- This activity often requires a custom view on a custom table or an add-on like SAP Account Substantiation and Automation.
-- The following is a placeholder for such a custom view.
SELECT
CONCAT(FiscalYear, '-', LPAD(FiscalPeriod, 2, '0')) AS FinancialPeriod,
'Account Reconciliation Started' AS ActivityName,
CAST(ChangedAt AS TIMESTAMP) AS EventTime,
NULL AS EndTime,
ChangedBy AS ResponsibleUser,
CompanyCode,
GLAccountNumber,
ReconciliationID AS DocumentNumber,
'In Progress' AS ReconciliationStatus,
PlannedCompletionDate AS TargetCompletionDate,
NULL AS ProcessingTime
FROM Z_I_ACCOUNTRECONCILIATION -- Placeholder for your custom reconciliation status view
WHERE Status = 'IN_PROGRESS' AND OldStatus = 'NEW'
AND ChangeDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(FiscalYear, '-', LPAD(FiscalPeriod, 2, '0')) AS FinancialPeriod,
'Adjusting Journal Entry Posted' AS ActivityName,
CAST(CreationDateTime AS TIMESTAMP) AS EventTime,
CAST(CreationDateTime AS TIMESTAMP) AS EndTime,
CreatedByUser AS ResponsibleUser,
CompanyCode,
GLAccountNumber,
AccountingDocument AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
0 AS ProcessingTime
FROM I_JournalEntryItem
WHERE DocumentType IN ('[Adjustment Doc Type 1]', '[Adjustment Doc Type 2]') -- e.g., 'AJ'
AND PostingDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
-- This activity often requires a custom view on a custom table or an add-on product.
-- The following is a placeholder for such a custom view.
SELECT
CONCAT(FiscalYear, '-', LPAD(FiscalPeriod, 2, '0')) AS FinancialPeriod,
'Account Reconciliation Approved' AS ActivityName,
CAST(ChangedAt AS TIMESTAMP) AS EventTime,
CAST(ChangedAt AS TIMESTAMP) AS EndTime,
ApprovedBy AS ResponsibleUser,
CompanyCode,
GLAccountNumber,
ReconciliationID AS DocumentNumber,
'Approved' AS ReconciliationStatus,
PlannedCompletionDate AS TargetCompletionDate,
NULL AS ProcessingTime
FROM Z_I_ACCOUNTRECONCILIATION -- Placeholder for your custom reconciliation status view
WHERE Status = 'APPROVED'
AND ChangeDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(FiscalYear, '-', LPAD(FiscalPeriod, 2, '0')) AS FinancialPeriod,
'Consolidation Tasks Executed' AS ActivityName,
CAST(TaskExecutionUTCTimestamp AS TIMESTAMP) AS EventTime,
CAST(TaskCompletionUTCTimestamp AS TIMESTAMP) AS EndTime,
ExecutedByUser AS ResponsibleUser,
ConsolidationUnitCompanyCode AS CompanyCode, -- Assuming mapping exists
NULL AS GlAccountNumber,
DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
SECONDS_BETWEEN(CAST(TaskExecutionUTCTimestamp AS TIMESTAMP), CAST(TaskCompletionUTCTimestamp AS TIMESTAMP)) AS ProcessingTime
FROM I_ConsolidationTaskLog
WHERE ConsolidationTaskStatus = 'S' -- Successful
AND TaskExecutionUTCDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(SUBSTRING(JobName, STRPOS(JobName, '_') + 1, 4), '-', SUBSTRING(JobName, STRPOS(JobName, '_') + 5, 2)) AS FinancialPeriod,
'Trial Balance Prepared' AS ActivityName,
CAST(JobStartDate || JobStartTime AS TIMESTAMP) AS EventTime,
CAST(JobEndDate || JobEndTime AS TIMESTAMP) AS EndTime,
JobCreatedByUser AS ResponsibleUser,
'[Configure based on your system]' AS CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
SECONDS_BETWEEN(CAST(JobStartDate || JobStartTime AS TIMESTAMP), CAST(JobEndDate || JobEndTime AS TIMESTAMP)) AS ProcessingTime
FROM I_BatchJob
WHERE JobName LIKE '[Trial Balance Job Prefix]%' AND JobStatus = 'F' -- Example: FAGL_TRIAL_BALANCE_RUN
AND JobEndDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(SUBSTRING(JobName, STRPOS(JobName, '_') + 1, 4), '-', SUBSTRING(JobName, STRPOS(JobName, '_') + 5, 2)) AS FinancialPeriod,
'Financial Statements Generated' AS ActivityName,
CAST(JobStartDate || JobStartTime AS TIMESTAMP) AS EventTime,
CAST(JobEndDate || JobEndTime AS TIMESTAMP) AS EndTime,
JobCreatedByUser AS ResponsibleUser,
'[Configure based on your system]' AS CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
SECONDS_BETWEEN(CAST(JobStartDate || JobStartTime AS TIMESTAMP), CAST(JobEndDate || JobEndTime AS TIMESTAMP)) AS ProcessingTime
FROM I_BatchJob
WHERE JobName LIKE '[Fin Statement Job Prefix]%' AND JobStatus = 'F'
AND JobEndDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
-- Approval is often a manual step. This requires a custom solution to capture.
-- The following is a placeholder for such a custom view.
SELECT
CONCAT(ApprovalYear, '-', LPAD(ApprovalPeriod, 2, '0')) AS FinancialPeriod,
'Financial Statements Approved' AS ActivityName,
CAST(ApprovalTimestamp AS TIMESTAMP) AS EventTime,
CAST(ApprovalTimestamp AS TIMESTAMP) AS EndTime,
ApproverUser AS ResponsibleUser,
CompanyCode,
NULL AS GlAccountNumber,
FinancialStatementVersion AS DocumentNumber,
'Approved' AS ReconciliationStatus,
NULL AS TargetCompletionDate,
0 AS ProcessingTime
FROM Z_I_FINSTATEMENTAPPROVAL -- Placeholder for custom approval tracking view
WHERE ApprovalDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(CAST(LastChangeDate AS DATE FORMAT 'YYYY'), '-', CAST(LastChangeDate AS DATE FORMAT 'MM')) AS FinancialPeriod,
'Period Closed For Posting' AS ActivityName,
CAST(LastChangeDateTime AS TIMESTAMP) AS EventTime,
CAST(LastChangeDateTime AS TIMESTAMP) AS EndTime,
LastChangedByUser AS ResponsibleUser,
CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
0 AS ProcessingTime
FROM I_FinPostingPeriodControl -- Proxy, see note on 'Period Opened'
WHERE PostingPeriodStatus = 'C' -- 'C' for Closed
AND LastChangeDate BETWEEN '[Start Date]' AND '[End Date]';