Ihr Daten-Template für die Rechnungsverarbeitung im Einkauf zu Zahlung
Ihr Daten-Template für die Rechnungsverarbeitung im Einkauf zu Zahlung
- Empfohlene Attribute zur Erfassung
- Wichtige Aktivitäten zur Verfolgung
- Extraktionsanleitung für SAP ECC
Beschaffung zu Zahlung - Rechnungsverarbeitungsattribute
| Name | Beschreibung | ||
|---|---|---|---|
| Aktivität Activity | Der Name eines spezifischen Geschäftsschritts oder Ereignisses, das während des Rechnungsverarbeitungs-Lebenszyklus aufgetreten ist. | ||
| Beschreibung Das Attribut Aktivität repräsentiert eine eindeutige Phase oder Aktion innerhalb des Rechnungsverarbeitungs-Workflows. Diese Aktivitäten werden aus verschiedenen Systemereignissen abgeleitet, wie z.B. Dokumenterstellung, Statusänderungen, Genehmigungen oder Benutzeraktionen, die in SAP Änderungsbelegen protokolliert sind. Die Analyse von Aktivitäten ist der Kern des Process Mining. Sie ermöglicht die Visualisierung von Prozesskarten, die Identifizierung von Engpässen (z.B. lange Wartezeiten nach 'Rechnung zur Genehmigung gesendet'), Nacharbeits-Schleifen (z.B. wiederholte Zyklen von 'Zahlungssperre gesetzt' und 'Zahlungssperre freigegeben') und Compliance-Abweichungen. Die Abfolge und Häufigkeit der Aktivitäten zeigen den tatsächlichen, Ist-Prozessablauf. Bedeutung Es definiert die Schritte in der Prozesslandkarte und ermöglicht die Visualisierung von Prozessabläufen, die Entdeckung von Engpässen und die Identifizierung von Nacharbeit. Datenquelle Dieses Attribut wird typischerweise aus mehreren Quellen abgeleitet, einschließlich Transaktionscodes (SY-TCODE), Statusfeldern in Tabellen wie RBKP (z.B. RBSTAT) und Änderungsereignissen aus den Tabellen CDHDR und CDPOS. Beispiele Rechnung geparktRechnung zur Genehmigung gesendetRechnung freigegebenRechnung gebuchtRechnung ausgeglichen | |||
| Ereigniszeit EventTime | Der präzise Zeitstempel, einschließlich Datum und Uhrzeit, wann eine Aktivität stattfand. | ||
| Beschreibung Event Time erfasst den genauen Zeitpunkt, zu dem eine Geschäftsaktivität ausgeführt und im Quellsystem protokolliert wurde. Dieser Zeitstempel ist das chronologische Rückgrat des Prozesses und ordnet alle Aktivitäten für jede Rechnung in einer kohärenten Reihenfolge an. Bei der Analyse ist Event Time unerlässlich für die Berechnung aller dauerbasierten Kennzahlen, wie Durchlaufzeiten, Wartezeiten und Bearbeitungszeiten zwischen Aktivitäten. Es speist Dashboards wie die 'Rechnungs-End-to-End-Durchlaufzeit' und 'Dauer der Zahlungssperrenauflösung', indem es die Daten liefert, die zur Messung der verstrichenen Zeit zwischen zwei beliebigen Punkten im Prozess benötigt werden. Genaue Zeitstempel sind entscheidend für die Identifizierung von Verzögerungen und Performance-Engpässen. Bedeutung Dieser Zeitstempel ist wesentlich für die korrekte Reihenfolge der Ereignisse und die Berechnung aller Performance-Metriken, wie Zykluszeiten und Engpassdauern. Datenquelle Dies wird typischerweise durch Kombination von Änderungsdatum (UDATE) und Änderungszeit (UTIME) aus der Änderungsbelegkopf-Tabelle CDHDR abgeleitet. Für spezifische Erstellungsereignisse kann es das Erstellungsdatum und die Uhrzeit aus Tabellen wie RBKP (ERNAM, ERZET) sein. Beispiele 2023-03-15T10:30:00Z2023-03-16T14:05:21Z2023-03-28T09:00:00Z | |||
| Rechnungsnummer InvoiceNumber | Der eindeutige Identifikator für einen Kreditorenrechnungsbeleg. | ||
| Beschreibung Die Rechnungsnummer dient als eindeutige Fall-ID für den Rechnungsverarbeitungsprozess. Jede Nummer entspricht einer einzelnen vom Anbieter erhaltenen Rechnung, wodurch alle verbundenen Aktivitäten, von der Datenerfassung bis zur endgültigen Zahlung, als Teil einer kohärenten Prozessinstanz verfolgt werden können. In der Process Mining Analyse ist dieses Attribut grundlegend für die Rekonstruktion des End-to-End-Lebenszyklus jeder Rechnung. Es ermöglicht die Verknüpfung unterschiedlicher in SAP protokollierter Ereignisse, wie Parken, Buchen, Sperren und Ausgleichen, zu einer chronologischen Reihenfolge. Dies bietet eine klare Sichtweise darauf, wie jede Rechnung bearbeitet wird, wie lange es dauert und wo Abweichungen vom Standardprozess auftreten. Bedeutung Dies ist der Primärschlüssel, der alle Ereignisse einer einzelnen Rechnung verknüpft und somit die wesentliche Grundlage für die Prozessanalyse und Variantenexploration bildet. Datenquelle Dies ist typischerweise die Belegnummer aus der SAP-Tabelle RBKP, Feld BELNR, oft mit Buchungskreis (BUKRS) und Geschäftsjahr (GJAHR) zur absoluten Eindeutigkeit verkettet. Beispiele 510004567851000456795100045680 | |||
| Ausgleichsdatum ClearingDate | Das Datum, an dem die Zahlung erfolgte und die Rechnung aus der Kreditorenbuchhaltung ausgeglichen wurde. | ||
| Beschreibung Das Ausgleichsdatum markiert den letzten Schritt im Rechnungslebenszyklus: die Zahlung. Es ist das Datum, an dem die offene Rechnungsposition durch einen Zahlungsbeleg im System ausgeglichen wird. Dieses Datum stellt die tatsächliche Ausführungszeit der Zahlung dar. Dieses Attribut ist der Endpunkt für viele kritische KPIs, einschließlich der 'Durchschnittlichen Rechnungsdurchlaufzeit' und der 'Pünktlichen Zahlungsrate'. Es wird mit dem Zahlungsfälligkeitsdatum verglichen, um die Zahlungsleistung zu messen. Für die Skontoanalyse wird es mit der Skontofrist verglichen, um zu sehen, ob die Zahlung rechtzeitig erfolgte, um den Skonto zu nutzen. Bedeutung Es markiert den Abschluss des Prozesses und ist die Grundlage für die Berechnung der gesamten Durchlaufzeit, der pünktlichen Zahlungsraten und der Skontoausnutzung. Datenquelle Für ausgeglichene Posten ist dies das Feld 'Ausgleichsdatum' (AUGDT) aus der Tabelle der ausgeglichenen Kreditorenposten, BSAK. Beispiele 2023-04-152023-05-022023-05-20 | |||
| Benutzername UserName | Die SAP-Benutzer-ID der Person, die die Aktivität ausgeführt hat. | ||
| Beschreibung Das Attribut Benutzername identifiziert die spezifische Person, die für die Ausführung einer bestimmten Aktivität im Prozess verantwortlich ist. Dies ist typischerweise der SAP-Benutzername, der mit der Transaktion oder dem Änderungsereignis protokolliert wurde. Dieses Attribut ist entscheidend für die Leistungsanalyse auf Benutzer- oder Teamebene. Es hilft, Fragen zu beantworten wie 'Wer sind die schnellsten Genehmiger?' oder 'Welche Benutzer erzeugen die meiste Nacharbeit?'. Es wird in Dashboards verwendet, um die Workload-Verteilung zu analysieren, Schulungsbedarfe zu identifizieren und Leistungsunterschiede zwischen verschiedenen Mitarbeitern zu verstehen. Bedeutung Es ermöglicht die Analyse von Leistung und Arbeitslast nach Einzelpersonen oder Teams und hilft, Top-Performer, Schulungsmöglichkeiten und Ressourcenungleichgewichte zu identifizieren. Datenquelle Dies ist das Feld 'Geändert von' (USERNAME) aus der Änderungsbelegkopf-Tabelle CDHDR. Für Erstellungsereignisse kann es das Feld 'Erfasst von' (ERNAM) in Tabellen wie RBKP sein. Beispiele JSMITHBWILSONCHEN | |||
| Bestellnummer PurchaseOrderNumber | Der Identifikator für die Bestellung (PO), gegen die die Rechnung abgeglichen wird. | ||
| Beschreibung Die Bestellnummer verknüpft eine Rechnung mit dem ursprünglichen Beschaffungsdokument. Dies ist grundlegend für den Drei-Wege-Abgleich (Bestellung, Wareneingang, Rechnung) und für die Analyse der Effizienz des Bestellungs-gestützten Rechnungsprozesses. Dieses Attribut ist entscheidend für Dashboards wie die 'Abweichungsrate Rechnungs-Bestell-Abgleich'. Es ermöglicht die Segmentierung des Prozesses in PO-Rechnungen und Nicht-PO-Rechnungen, die oft sehr unterschiedliche Verarbeitungspfade und Komplexitäten aufweisen. Die Analyse von Problemen im Zusammenhang mit spezifischen Bestellungen kann helfen, vorgelagerte Probleme im Beschaffungsprozess zu diagnostizieren. Bedeutung Es verbindet die Rechnung mit dem Beschaffungsprozess und ermöglicht die Analyse von PO- vs. Nicht-PO-Rechnungen sowie die Identifizierung von Abgleichsabweichungen. Datenquelle Dies wird typischerweise auf Positionsebene gefunden. Die 'Bestellnummer' (EBELN) befindet sich in der Rechnungspositionstabelle RSEG. Sie muss möglicherweise auf Kopfebene aggregiert werden. Beispiele 450001756345000175644500017565 | |||
| Buchungsdatum PostingDate | Das Datum, an dem die Rechnung offiziell in den Finanzhauptbüchern gebucht wurde. | ||
| Beschreibung Das Buchungsdatum ist ein Schlüsseldatum im Buchhaltungsprozess. Es bestimmt die Geschäftsperiode, in der der Rechnungsaufwand im Hauptbuch erfasst wird. Es wird typischerweise vom Mitarbeiter der Kreditorenbuchhaltung während der Rechnungsverarbeitung festgelegt. In der Prozessanalyse ist die Aktivität 'Rechnung gebucht', die durch dieses Datum gekennzeichnet ist, ein wichtiger Meilenstein. Die Dauer vom Rechnungseingang bis zum Buchungsdatum ist ein kritischer Bestandteil der gesamten Zykluszeit. Dieses Datum ist auch grundlegend für die Finanzberichterstattung und Durchsatzanalyse, wie die Verfolgung des Volumens der pro Woche oder Monat gebuchten Rechnungen. Bedeutung Es markiert einen kritischen Meilenstein im Prozess, bestimmt die Finanzperiode für die Transaktion und ist eine Schlüsselkomponente der Zykluszeitberechnung. Datenquelle Dies ist das Feld 'Buchungsdatum' (BUDAT) aus der Rechnungsbelegkopf-Tabelle RBKP. Beispiele 2023-03-202023-04-052023-04-11 | |||
| Grund der Zahlungssperre PaymentBlockReason | Ein Code, der den Grund angibt, warum eine Rechnung zur Zahlung gesperrt ist. | ||
| Beschreibung Wenn eine Rechnung eine Abweichung aufweist oder weitere Untersuchung erfordert, wird eine Zahlungssperre angewendet. Der Zahlungssperrgrund-Code gibt an, warum die Sperre gesetzt wurde, zum Beispiel aufgrund einer Mengenabweichung, Preisabweichung oder einer manuellen Sperre. Dieses Attribut ist essenziell für das Dashboard 'Dauer der Zahlungssperrenbehebung'. Die Analyse der Häufigkeit und Dauer von Sperren nach Grund hilft, die Grundursachen von Zahlungsverzögerungen zu identifizieren. Wenn zum Beispiel 'Preisabweichung' der häufigste Grund für lange Sperren ist, weist dies auf ein potenzielles Problem in den Stammdaten oder dem Bestellprozess hin, das behoben werden muss. Bedeutung Es erklärt, warum Rechnungen verzögert werden, ermöglicht eine Ursachenanalyse von Zahlungssperren und hilft, Prozessverbesserungsbemühungen zu priorisieren. Datenquelle Der Zahlungssperrgrund kann auf Positionsebene in Tabelle RSEG (Feld SPGRS) oder in der Buchhaltungsbelegtabelle BSEG (Feld ZLSPR) gefunden werden. Beispiele RIM | |||
| Lieferantennummer VendorNumber | Eine eindeutige Kennung für den Lieferanten oder Kreditor, der die Rechnung eingereicht hat. | ||
| Beschreibung Die Lieferantennummer ist der Stammdatenschlüssel, der den Lieferanten identifiziert. Dies verknüpft die Rechnungsbuchung mit einem spezifischen Geschäftspartner und ermöglicht Analysen basierend auf Lieferantenmerkmalen. Die Analyse des Prozesses nach Lieferantennummer kann wichtige Einblicke in Lieferantenbeziehungen und -leistung liefern. Zum Beispiel kann sie helfen zu identifizieren, welche Lieferanten durchgängig problematische Rechnungen einreichen, die zu Zahlungssperren oder Abweichungen führen, oder welche Lieferantenrechnungen am effizientesten verarbeitet werden. Diese Informationen sind wertvoll für das Lieferantenmanagement und strategische Beschaffungsinitiativen. Bedeutung Es ermöglicht eine lieferantenspezifische Analyse, die hilft, Muster, Probleme oder Effizienzen zu identifizieren, die mit bestimmten Lieferanten verbunden sind. Datenquelle Dies ist das Feld 'Rechnungsteller' (LIFNR) aus der Rechnungsbelegkopf-Tabelle RBKP. Beispiele 100345100876200112 | |||
| Rechnungsbetrag InvoiceAmount | Der Bruttogesamtbetrag der Rechnung in der ursprünglichen Belegwährung. | ||
| Beschreibung Der Rechnungsbetrag stellt den Gesamtwert der vom Lieferanten eingereichten Rechnung dar. Dies ist eine zentrale Finanzkennzahl für jeden Rechnungs-Case. Im Process Mining ist dieses Attribut für die wertbasierte Analyse unerlässlich. Es ermöglicht die Filterung und Segmentierung des Prozesses basierend auf dem Rechnungswert, der oft mit der Prozesskomplexität und den Genehmigungsanforderungen korreliert. Zum Beispiel könnten hochvolumige Rechnungen einem anderen, strengeren Genehmigungspfad folgen. Es wird auch in der Compliance-Analyse verwendet, z.B. zur Überprüfung, ob hochvolumige Rechnungen erforderliche Genehmigungsschritte umgehen. Bedeutung Es ermöglicht eine wertbasierte Analyse, die hilft, Rechnungen mit hohem Wert zu priorisieren und zu verstehen, wie der Rechnungsbetrag den Prozessfluss und die Compliance beeinflusst. Datenquelle Dies ist das Feld 'Bruttorechnungsbetrag' (RMWWR) aus der Rechnungsbelegkopf-Tabelle RBKP. Beispiele 1500.7512500.00850.20 | |||
| Zahlungsfälligkeitsdatum PaymentDueDate | Das Datum, bis zu dem die Rechnungszahlung gemäß den Zahlungsbedingungen an den Anbieter fällig ist. | ||
| Beschreibung Das Zahlungsfälligkeitsdatum wird basierend auf dem Basisdatum der Rechnung und den vereinbarten Zahlungsbedingungen berechnet. Es stellt die Frist für die Zahlung dar, um Verspätungen zu vermeiden und potenzielle Strafen oder eine Schädigung der Anbieterbeziehungen zu verhindern. Dieses Attribut ist entscheidend für Performance- und Compliance-KPIs wie die 'Pünktliche Zahlungsrate' und 'Entgangene Skonto-Möglichkeiten'. Durch den Vergleich des tatsächlichen Zahlungsdatums (Ausgleichsdatum) mit dem Zahlungsfälligkeitsdatum kann die Analyse automatisch feststellen, ob eine Zahlung pünktlich, früh oder verspätet war. Es ist ein grundlegendes Element für das Dashboard zur Einhaltung der Zahlungsbedingungen. Bedeutung Es dient als Basis für die Messung der pünktlichen Zahlungsleistung und die Identifizierung von Möglichkeiten zur Nutzung von Skonti. Datenquelle Dieses Datum wird oft berechnet. Das Basisdatum für die Zahlung (ZFBDT) befindet sich in Tabelle BSEG. Die Fälligkeitslogik hängt auch von den Zahlungsbedingungen (BSEG-ZTERM) ab. Beispiele 2023-04-192023-05-052023-05-11 | |||
| Ablehnungsgrund RejectionReason | Ein Code oder Text, der erklärt, warum eine Rechnung während des Genehmigungs-Workflows abgelehnt wurde. | ||
| Beschreibung Wenn ein Genehmiger eine Rechnung ablehnt, sollte er idealerweise einen Ablehnungsgrund angeben. Dies könnte ein standardisierter Code oder ein Freitextkommentar sein, der Probleme wie 'Falsche Bestellnummer', 'Doppelte Rechnung' oder 'Betrag falsch' anzeigt. Diese Daten sind entscheidend für das Dashboard 'Rechnungsablehnungsgründe & Trends'. Durch die Analyse der Häufigkeit verschiedener Ablehnungsgründe kann das Unternehmen häufige Probleme identifizieren und Korrekturmaßnahmen implementieren. Wenn zum Beispiel 'Falsche Bestellnummer' ein häufiger Grund ist, könnte dies auf einen Bedarf an besserer Kommunikation mit Anbietern oder Schulungen für das Datenerfassungspersonal hindeuten. Diese Analyse ist entscheidend zur Reduzierung von Prozess-Nacharbeit. Bedeutung Es liefert die Ursache für Ablehnungen und ermöglicht gezielte Prozessverbesserungen, um Nacharbeit zu reduzieren und die First-Time-Right-Raten zu verbessern. Datenquelle Diese Information wird oft nicht in einem einzigen, Standardfeld gespeichert. Sie kann in Workflow-Container-Protokollen, Langtextfeldern, die mit dem Dokument verknüpft sind, oder spezifischen Feldern in einer benutzerdefinierten Workflow-Lösung gefunden werden. Beispiele DUPLICATE_INVWRONG_AMTNO_PO_MATCH | |||
| Bearbeitungszeit ProcessingTime | Die Dauer der für eine bestimmte Aktivität aufgewendeten Zeit. | ||
| Beschreibung Die Bearbeitungszeit misst die Zeit, die für die Ausführung einer Aktivität vom Start bis zum Ende benötigt wird. Sie wird als Differenz zwischen dem Endzeitpunkt und dem Startzeitpunkt einer Aktivität berechnet. Dies unterscheidet sich von der Zykluszeit, die die Wartezeit zwischen den Aktivitäten einschließt. Die Analyse der Bearbeitungszeit hilft, den tatsächlichen Aufwand oder die Berührungszeit für verschiedene Schritte zu verstehen. Sie kann Aktivitäten identifizieren, die ressourcenintensiv oder ineffizient sind. Zum Beispiel könnte eine lange Bearbeitungszeit für 'Rechnungsdaten erfasst' auf eine komplexe Rechnung oder einen ineffizienten Dateneingabeprozess hindeuten. Diese Metrik ist wertvoll für die Ressourcenplanung und Automatisierungsinitiativen. Bedeutung Es misst die tatsächliche Arbeitsdauer für eine Aktivität und hilft so, ressourcenintensive Schritte zu identifizieren und zwischen aktiver Arbeitszeit und untätiger Wartezeit zu unterscheiden. Datenquelle Dieses Attribut ist nicht in SAP. Es wird während der Datentransformation mithilfe der Formel berechnet: EndTime - StartTime. Beispiele PT5M10SPT2H15MPT30S | |||
| Buchungskreis CompanyCode | Der Identifikator für die juristische Einheit oder das Unternehmen, für das die Rechnung verarbeitet wird. | ||
| Beschreibung Der Buchungskreis ist eine fundamentale Organisationseinheit in SAP Financials, die eine unabhängige juristische Einheit repräsentiert. Alle Finanztransaktionen, einschließlich Rechnungen, werden auf einen spezifischen Buchungskreis gebucht. Dieses Attribut ermöglicht es, die Prozessanalyse nach juristischer Einheit zu segmentieren. Es ist entscheidend für den Vergleich von Prozessleistung, Compliance und Effizienz über verschiedene Unternehmen innerhalb einer Unternehmensgruppe hinweg. Dashboards können nach Buchungskreis gefiltert werden, um eine buchungskreisspezifische Ansicht der Rechnungsverarbeitungs-KPIs zu bieten. Bedeutung Es ermöglicht den Prozessvergleich und Leistungs-Benchmarking über verschiedene juristische Einheiten innerhalb einer Organisation hinweg. Datenquelle Dies ist das Feld 'Buchungskreis' (BUKRS) aus der Rechnungsbelegkopf-Tabelle RBKP. Beispiele 10002000US01 | |||
| Dokumententyp DocumentType | Ein Code, der den Buchungsbeleg klassifiziert, zum Beispiel als Kreditorenrechnung oder Gutschrift. | ||
| Beschreibung Die Belegart wird verwendet, um verschiedene Arten von Geschäftstransaktionen in SAP zu kategorisieren. Für die Rechnungsverarbeitung umfassen gängige Typen 'RE' für Standardrechnungen oder 'KG' für Kreditoren-Gutschriften. Die Belegart steuert Aspekte der Buchung, wie z.B. den verwendeten Nummernkreis. In der Analyse ermöglicht dieses Attribut das Filtern des Prozesses nach spezifischen Transaktionsarten. Beispielsweise kann der Prozess zur Bearbeitung einer Gutschrift erheblich von dem einer Standardrechnung abweichen. Die Trennung dieser Abläufe mithilfe der Belegart bietet eine genauere und aussagekräftigere Prozessansicht. Bedeutung Es ermöglicht die Trennung und Analyse verschiedener Geschäftsvorfälle, wie Rechnungen gegenüber Gutschriften, die unterschiedliche Prozesse durchlaufen. Datenquelle Dies ist das Feld 'Belegart' (BLART) aus der Rechnungsbelegkopf-Tabelle RBKP. Beispiele REKRKG | |||
| Endzeit EndTime | Der Zeitstempel, der anzeigt, wann eine Aktivität abgeschlossen wurde. Bei augenblicklichen Ereignissen ist dies derselbe wie der Startzeitpunkt. | ||
| Beschreibung Das Attribut Endzeitpunkt markiert den Abschluss einer spezifischen Aktivität. Bei vielen Ereignissen in SAP, die als einzelne Zeitpunkte protokolliert werden, ist der Endzeitpunkt identisch mit dem Startzeitpunkt. Bei Aktivitäten mit messbarer Dauer, wie einem Genehmigungsschritt, an dem aktiv gearbeitet wird, kann er jedoch den Abschluss dieser Arbeit darstellen. In der Prozessanalyse ermöglicht ein eindeutiger Endzeitpunkt die Messung der Aktivitätsbearbeitungszeit, getrennt von der vorausgehenden Wartezeit. Dies hilft zu unterscheiden, wie lange die Ausführung einer Aktivität dauert, versus wie lange ein Fall auf den Beginn dieser Aktivität wartet, und liefert tiefere Einblicke in die Ressourceneffizienz. Bedeutung Es ermöglicht die Berechnung der Bearbeitungszeit von Aktivitäten, wodurch diese von der Wartezeit zwischen Aktivitäten unterschieden und die Engpassanalyse verbessert wird. Datenquelle Dies ist oft identisch mit dem Startzeitpunkt, abgeleitet aus CDHDR-UDATE und CDHDR-UTIME. In einigen Fällen kann es aus Workflow-Protokollen abgeleitet werden, die den Start und das Ende einer Aufgabe explizit aufzeichnen. Beispiele 2023-03-15T10:35:10Z2023-03-16T14:10:00Z2023-03-28T09:02:45Z | |||
| Ist überfällig IsOverdue | Ein berechnetes Kennzeichen, das anzeigt, ob die Rechnung nach ihrem Fälligkeitsdatum bezahlt wurde. | ||
| Beschreibung Dies ist ein Boolesches Attribut, das durch Vergleich des 'Ausgleichsdatums' (tatsächliches Zahlungsdatum) mit dem 'Zahlungsfälligkeitsdatum' berechnet wird. Liegt das Ausgleichsdatum nach dem Fälligkeitsdatum, ist das Flag 'wahr'; andernfalls ist es 'falsch'. Dies bietet ein einfaches, direktes Maß für die Pünktlichkeit der Zahlungsleistung für jede Rechnung. Dieses Attribut vereinfacht die Analyse und Visualisierung in Dashboards. Es ermöglicht ein einfaches Filtern und Aggregieren zur Berechnung des KPIs 'Pünktliche Zahlungsrate'. Benutzer können den Prozess schnell segmentieren, um die Prozessflüsse überfälliger Rechnungen mit denen pünktlich bezahlter Rechnungen zu vergleichen, potenziell die Prozessmuster aufdeckend, die zu verspäteten Zahlungen führen. Bedeutung Es vereinfacht die Analyse der pünktlichen Zahlungsleistung und ermöglicht einen einfachen Vergleich zwischen pünktlichen und verspäteten Rechnungsbearbeitungsprozessen. Datenquelle Dieses Attribut ist nicht in SAP. Es wird während der Datentransformation mithilfe der Formel berechnet: ClearingDate > PaymentDueDate. Beispiele truefalsch | |||
| Letzte Datenaktualisierung LastDataUpdate | Zeitstempel, der anzeigt, wann die Daten für den Prozess zuletzt aus dem Quellsystem aktualisiert wurden. | ||
| Beschreibung Dieses Attribut zeichnet Datum und Uhrzeit der letzten Datenextraktion oder -aktualisierung auf. Es gilt für den gesamten Datensatz und nicht für einzelne Ereignisse, was einen klaren Hinweis auf die Aktualität der Daten gibt. Dies ist ein kritisches Metadaten-Attribut für Dashboard-Benutzer und Analysten. Es hilft ihnen, den durch die Analyse abgedeckten Zeitraum zu verstehen und stellt sicher, dass sie Entscheidungen auf aktuellen Informationen basieren. Es wird typischerweise prominent auf Dashboards angezeigt, um Benutzer über die Aktualität der Daten zu informieren. Bedeutung Es informiert Benutzer über die Aktualität der Daten und stellt sicher, dass Analysen und Entscheidungen auf aktuellen Informationen basieren. Datenquelle Dieser Wert wird generiert und zum Zeitpunkt der Datenaktualisierung durch das Datenextraktions- oder ETL-Tool in den Datensatz injiziert. Beispiele 2024-05-20T08:00:00Z2024-05-21T08:00:00Z2024-05-22T08:00:00Z | |||
| Quellsystem SourceSystem | Identifiziert das spezifische Quellsystem, aus dem die Daten extrahiert wurden. | ||
| Beschreibung Das Attribut Quellsystem gibt die Herkunft der Event-Daten an, zum Beispiel einen spezifischen SAP ECC Instanznamen. Dies ist besonders wichtig in Umgebungen mit mehreren ERP-Systemen oder wenn Daten aus verschiedenen Quellen kombiniert werden. In der Analyse hilft dieses Attribut, Prozesse und Leistungen über verschiedene Systeme, Regionen oder Geschäftseinheiten hinweg zu differenzieren, die möglicherweise auf separaten Instanzen laufen. Es stellt sicher, dass die Datenherkunft klar ist und ermöglicht systemspezifisches Filtern und Analysieren. Bedeutung Es bietet entscheidenden Kontext in Multi-System-Landschaften, wodurch eine ordnungsgemäße Datensegregation und systemspezifische Leistungsanalyse ermöglicht wird. Datenquelle Dies ist typischerweise ein statischer Wert, der während des Datenextraktionsprozesses hinzugefügt wird und die SAP System-ID (TADIR-SRCSYSTEM) oder einen manuell zugewiesenen Identifikator für die spezifische SAP-Instanz darstellt. Beispiele SAPECC_PROD_EUECC_US_FINSAP_ERP_6_EHP8 | |||
| Sachkonto GeneralLedgerAccount | Die Sachkontonummer, auf die der Rechnungsaufwand oder die Kosten gebucht werden. | ||
| Beschreibung Das Sachkonto (G/L-Konto) ist das Zielkonto im Kontenplan, auf dem die finanziellen Auswirkungen der Rechnung erfasst werden. Dies ist eine entscheidende Datengrundlage für die Finanzberichterstattung und das Kostenmanagement. Für das Process Mining bietet die Analyse des Sachkontos eine finanzielle Dimension des Prozessflusses. Das Dashboard 'Sachkonto-Nutzungsanalyse' kann Ausgabenmuster aufdecken, potenzielle Fehlcodierungen von Rechnungen identifizieren und sicherstellen, dass Kosten den richtigen Abteilungen oder Projekten zugeordnet werden. Es hilft, die Lücke zwischen Prozessausführung und finanziellem Impact zu schließen. Bedeutung Es fügt dem Prozess eine finanzielle Dimension hinzu, die eine Analyse der Kostenverteilung, Ausgabenmuster und potenzieller Fehlbuchungen von Rechnungen ermöglicht. Datenquelle Dies wird auf Positionsebene gefunden. Die 'Sachkontonummer' (HKONT) befindet sich in der Rechnungspositionstabelle RSEG für Bestellrechnungen oder in BSEG für direkte FI-Rechnungen. Beispiele 630000655100741000 | |||
| Skonto verloren IsCashDiscountLost | Ein berechnetes Kennzeichen, das anzeigt, ob ein verfügbarer Skonto verpasst wurde. | ||
| Beschreibung Dies ist ein Boolesches Attribut, das basierend auf den Zahlungsbedingungen und dem tatsächlichen Zahlungsdatum berechnet wird. Es wird auf 'wahr' gesetzt, wenn die 'Zahlungsbedingungen' einen Skonto für frühzeitige Zahlung boten und das 'Ausgleichsdatum' nach Ablauf der Skontofrist lag. Dies misst direkt den finanziellen Verlust aufgrund von Prozesseffizienzdefiziten. Dieses Attribut ist die Grundlage des Dashboards 'Entgangene Skonto-Möglichkeiten'. Es ermöglicht die einfache Quantifizierung des finanziellen Impacts von Verarbeitungsverzögerungen. Durch das Filtern nach Fällen, in denen dieses Flag 'wahr' ist, können Analysten die spezifischen Prozessvarianten und Engpässe untersuchen, die am häufigsten zu entgangenen Skonti führen, was einen starken Business Case für Prozessverbesserungen liefert. Bedeutung Es quantifiziert direkt den finanziellen Verlust durch Prozessverzögerungen und schafft so ein überzeugendes Argument für die Optimierung des Rechnungsverarbeitungs-Workflows. Datenquelle Dieses Attribut ist nicht in SAP. Es wird während der Datentransformation berechnet, indem die 'PaymentTerms' interpretiert und das 'ClearingDate' mit dem Skonto-Fälligkeitsdatum verglichen wird. Beispiele truefalsch | |||
| Währung Currency | Der Währungscode für den Rechnungsbetrag. | ||
| Beschreibung Das Attribut Währung gibt die Währung an, in der der Rechnungsbetrag lautet, zum Beispiel USD, EUR oder JPY. Dieses Attribut liefert wesentlichen Kontext für den Rechnungsbetrag. Es ermöglicht die korrekte Interpretation und Aggregation von Finanzdaten, insbesondere in globalen Organisationen, die mit mehreren Währungen arbeiten. Die Analyse kann nach Währung gefiltert werden, um die Verarbeitungseffizienz oder Probleme über verschiedene Währungszonen hinweg zu vergleichen. Für eine aussagekräftige Finanzaggregation müssen Beträge möglicherweise in eine einzige Berichtswährung umgerechnet werden. Bedeutung Es bietet den notwendigen Kontext für alle Finanzbeträge, gewährleistet eine genaue Interpretation und ermöglicht währungsbasierte Filterung und Analyse. Datenquelle Dies ist das Feld 'Währungsschlüssel' (WAERS) aus der Rechnungsbelegkopf-Tabelle RBKP. Beispiele USDEURGBP | |||
| Zahlungsbedingungen PaymentTerms | Der Code, der die mit dem Anbieter vereinbarten Zahlungsbedingungen definiert, wie Skontofristen und Fälligkeitstermine. | ||
| Beschreibung Zahlungsbedingungen definieren die Regeln dafür, wann eine Rechnung bezahlt werden muss und welche Skonti, falls vorhanden, für eine frühere Zahlung verfügbar sind. Beispiele sind 'Netto 30 Tage' oder '2% 10, Netto 30', was bedeutet, dass ein 2%-Skonto gewährt wird, wenn die Zahlung innerhalb von 10 Tagen erfolgt, andernfalls ist der volle Betrag innerhalb von 30 Tagen fällig. Dieses Attribut ist die Grundlage für das Dashboard 'Entgangene Skonto-Möglichkeiten' und den KPI 'Skonto-Ausschöpfungsquote'. Die Analyse verwendet die Zahlungsbedingungen in Verbindung mit den Buchungs- und Zahlungsdaten, um festzustellen, ob ein Skonto verfügbar war und ob er erfolgreich genutzt wurde. Es ist auch entscheidend für das Dashboard zur Einhaltung der Zahlungsbedingungen. Bedeutung Es ist unerlässlich für die Analyse der Skontoausnutzungsraten und das Verständnis der finanziellen Auswirkungen von Prozessverzögerungen. Datenquelle Dies ist das Feld 'Zahlungsbedingungsschlüssel' (ZTERM) aus der Rechnungsbelegkopf-Tabelle RBKP. Beispiele Z0010001NT30 | |||
Beschaffung zu Zahlung - Rechnungsverarbeitungsaktivitäten
| Aktivität | Beschreibung | ||
|---|---|---|---|
| Rechnung ausgeglichen | Diese Aktivität markiert den letzten Schritt in einem erfolgreichen Rechnungslebenszyklus, bei dem die offene Verbindlichkeit durch einen Zahlungsbeleg ausgeglichen wird. Dies bedeutet, dass die Zahlung ausgeführt wurde. | ||
| Bedeutung Als primäres Endereignis ist dies entscheidend für die Berechnung der gesamten End-to-End-Durchlaufzeit. Es bestätigt den erfolgreichen Abschluss des Prozesses und wird zur Messung der Pünktlichkeit von Zahlungen verwendet. Datenquelle Dies ist ein explizites Ereignis, das in der Rechnungspositionstabelle BSEG protokolliert wird. Das Ausgleichsdatum ist im Feld AUGDT gespeichert, und die Ausgleichsbelegnummer in AUGBL. Erfassen Verwenden Sie das Ausgleichsdatum (BSEG-AUGDT) aus der Position des Rechnungsbelegs. Ereignistyp explicit | |||
| Rechnung gebucht | Dies ist ein zentrales Finanzereignis, bei dem die Rechnung offiziell im Hauptbuch erfasst wird, wodurch eine Verbindlichkeit entsteht. Dies verschiebt das Dokument von einem temporären (geparkten) Zustand zu einem permanenten Buchhaltungseintrag. | ||
| Bedeutung Die Buchung ist ein wichtiger Meilenstein, der die Gültigkeit der Rechnung bestätigt. Sie ist eine Voraussetzung für die Zahlung und ein Schlüsselindikator für den Verarbeitungsdurchsatz. Datenquelle Dies ist ein explizites Ereignis, das in der Belegkopf-Tabelle BKPF protokolliert wird. Der Zeitstempel ist das Buchungsdatum, BKPF-BUDAT. Das Dokument wird keinen 'geparkten' Status mehr haben. Erfassen Verwenden Sie das Buchungsdatum (BKPF-BUDAT) für Dokumente, die nicht geparkt sind (BKPF-BSTAT ist leer oder ' '). Ereignistyp explicit | |||
| Rechnung storniert | Stellt die Stornierung eines gebuchten Rechnungsbelegs dar. Ein Stornobeleg wird erstellt, um die finanziellen Auswirkungen der ursprünglichen Rechnung aufzuheben. | ||
| Bedeutung Diese Aktivität zeigt einen signifikanten Ausnahmefall und Nacharbeitsweg auf. Die Analyse der Häufigkeit und Gründe für Stornierungen kann systemische Probleme im Rechnungsprüfung und Buchungsprozess aufdecken. Datenquelle Dies ist ein explizites Ereignis, das in der Belegkopf-Tabelle BKPF protokolliert wird. Der Kopf des stornierten Belegs enthält die Stornobelegnummer (STBLG) und das Geschäftsjahr (STJAH). Erfassen Identifizieren Sie Belege, bei denen BKPF-STBLG gefüllt ist. Der Event-Timestamp ist das Buchungsdatum des Stornobelegs. Ereignistyp explicit | |||
| Rechnungsdaten erfasst | Markiert die erstmalige Erstellung des Rechnungsbelegs in SAP, entweder als geparktes oder als vollständig gebuchtes Dokument. Dies ist typischerweise das erste im System erfasste Ereignis im Lebenszyklus einer Rechnung und dient als Startzeitpunkt des Prozesses. | ||
| Bedeutung Diese Aktivität ist der primäre Startpunkt zur Messung der End-to-End-Rechnungsverarbeitungs-Zykluszeit. Die Analyse der Dauer ab diesem Zeitpunkt hilft, Verzögerungen in der anfänglichen Dateneingabe- und Dokumentenerstellungsphase zu identifizieren. Datenquelle Der Erstellungs-Timestamp wird in der SAP-Tabelle BKPF, Feld CPUDT (Datum der Erfassung des Buchhaltungsbelegs) und CPUTM (Erfassungszeit) erfasst. Erfassen Verwenden Sie den Beleg-Erstellungszeitstempel aus dem BKPF-Tabellenkopf (CPUDT). Ereignistyp explicit | |||
| Zahlungssperre gesetzt | Diese Aktivität tritt auf, wenn eine Sperre auf eine Rechnungsposition gesetzt wird, die deren Zahlung verhindert. Sperren können automatisch aufgrund von Abweichungen im Drei-Wege-Abgleich oder manuell aus verschiedenen Gründen gesetzt werden. | ||
| Bedeutung Dieses Ereignis ist entscheidend für die Messung der Dauer der Zahlungssperrenbehebung und die Identifizierung der Grundursachen von Zahlungsverzögerungen. Es zeigt Probleme bei Preisen, Mengen oder erforderlichen Genehmigungen auf. Datenquelle Dies ist ein explizites Ereignis, das über Änderungsbelegprotokolle (Tabellen CDHDR und CDPOS) für die BSEG-Tabelle, Feld ZLSPR (Zahlungssperrschlüssel), verfolgt werden kann. Erfassen Zeitstempel aus Änderungsbelegen (CDHDR), wenn der Wert von BSEG-ZLSPR von leer auf nicht leer wechselt. Ereignistyp explicit | |||
| Rechnung abgelehnt | Zeigt an, dass eine Rechnung während des Genehmigungsprozesses abgelehnt wurde. Diese Aktion erfordert typischerweise eine Korrektur und erneute Einreichung, was eine Nacharbeitschleife erzeugt. | ||
| Bedeutung Die Verfolgung von Ablehnungen ist entscheidend, um häufige Fehlerursachen wie falsche Daten oder Richtlinienverstöße zu identifizieren. Sie hilft, Nacharbeit zu quantifizieren und Bereiche für Prozessverbesserungen oder Lieferantenschulungen genau zu bestimmen. Datenquelle Dieses Ereignis findet sich normalerweise in SAP Business Workflow Protokollen als Ablehnungsschritt. Es kann auch aus spezifischen Statusänderungen oder Notizen, die dem Rechnungsbeleg hinzugefügt wurden, abgeleitet werden. Erfassen Zeitstempel des Ablehnungsschritts in Workflow-Protokollen oder einer Belegstatusänderung, die eine Ablehnung anzeigt. Ereignistyp inferred | |||
| Rechnung freigegeben | Bedeutet, dass die Rechnung von der zuständigen Instanz formell genehmigt wurde, wodurch sie zur Buchung und Zahlung übergehen kann. Dies ist oft der abschließende Schritt eines Workflows. | ||
| Bedeutung Dieser Meilenstein schließt die Messung der Genehmigungszykluszeit ab. Er entsperrt den Prozess, ermöglicht pünktliche Zahlungen und hilft bei der Analyse der Workload-Verteilung unter den Genehmigern. Datenquelle Dies wird typischerweise aus SAP Business Workflow Tabellen erfasst, indem der Abschluss einer Genehmigungsaufgabe identifiziert wird. Alternativ kann es aus der Freigabe einer genehmigungsbezogenen Zahlungssperre abgeleitet werden. Erfassen Zeitstempel des abgeschlossenen Genehmigungsschritts in Workflow-Protokollen oder der Aufhebung einer spezifischen Zahlungssperre. Ereignistyp inferred | |||
| Rechnung geparkt | Zeigt an, dass eine Rechnung in SAP erfasst, aber noch nicht im Hauptbuch gebucht wurde. Dies ist ein temporärer Status, der eine Überprüfung, Korrektur oder Genehmigung vor der Finanzbuchung ermöglicht. | ||
| Bedeutung Die Verfolgung, wann Rechnungen geparkt werden und wie lange, zeigt Engpässe im Vorbuchungsvalidierungs- und Genehmigungsprozess auf. Sie trennt die Datenerfassungszeit von der Finanzbearbeitungszeit. Datenquelle Dies wird aus dem Belegstatus in Tabelle BKPF, Feld BSTAT, abgeleitet. Ein Wert von 'V' (Geparktes Dokument) oder 'W' (Geparktes Dokument mit Freigabe zum Ändern) zeigt einen geparkten Zustand an. Erfassen Identifizieren Sie Belege, bei denen das Statusfeld BKPF-BSTAT 'V' ist. Der Event-Timestamp ist das Erstellungsdatum BKPF-CPUDT. Ereignistyp inferred | |||
| Rechnung wird überfällig | Ein berechnetes Ereignis, das eintritt, wenn das aktuelle Datum das Nettofälligkeitsdatum der Rechnung überschreitet und die Rechnung noch nicht bezahlt wurde. Das Fälligkeitsdatum wird anhand der Zahlungsbedingungen und des Basisdatums bestimmt. | ||
| Bedeutung Diese Aktivität ist wesentlich für die Überwachung des KPIs 'Pünktliche Zahlungsrate'. Sie markiert proaktiv Rechnungen, die von verspäteter Zahlung bedroht sind, was Anbieterbeziehungen schaden und Strafen nach sich ziehen kann. Datenquelle Dieses Ereignis wird durch Vergleich des aktuellen Datums mit dem Netto-Fälligkeitsdatum berechnet. Das Fälligkeitsdatum wird aus dem Basisdatum (BSEG-ZFBDT) und den Zahlungsbedingungen (BSEG-ZTERM) abgeleitet. Erfassen Ereignis wird ausgelöst, wenn Ereignistyp calculated | |||
| Rechnung zur Genehmigung gesendet | Stellt den Zeitpunkt dar, an dem eine Rechnung in einen formalen Genehmigungs-Workflow übermittelt wird. Der Erfassungsmechanismus ist stark von der spezifischen SAP-Workflow- oder Drittsystem-Implementierung abhängig. | ||
| Bedeutung Diese Aktivität startet die Zeitmessung für den KPI 'Rechnungsfreigabe-Zykluszeit'. Sie ist wesentlich, um Verzögerungen in der Genehmigungskette zu identifizieren und die Leistung der Genehmiger zu analysieren. Datenquelle Dieses Ereignis wird typischerweise aus SAP Business Workflow Tabellen (z.B. SWW_WI2OBJ, SWWLOG) erfasst, indem der Beginn einer spezifischen Genehmigungsaufgabe identifiziert wird. In einfacheren Szenarien kann es aus einer Statusänderung in einem benutzerdefinierten Feld abgeleitet werden. Erfassen Erfordert die Analyse von SAP-Workflow-Protokollen oder benutzerdefinierten Statusfeldern, die mit dem Rechnungsbeleg verknüpft sind. Ereignistyp inferred | |||
| Zahlungssperre freigegeben | Stellt die Aufhebung einer Zahlungssperre von einer Rechnungsposition dar, wodurch sie zum Zahlungslauf übergehen kann. Dies bedeutet, dass ein zuvor identifiziertes Problem gelöst wurde. | ||
| Bedeutung Diese Aktivität schließt die Messung der Sperrdauer ab. Die Analyse der Zeit zwischen dem Setzen und Freigeben einer Sperre zeigt die Effizienz des Problemlösungsprozesses auf. Datenquelle Dieses Ereignis wird über Änderungsbelegprotokolle (Tabellen CDHDR und CDPOS) für die BSEG-Tabelle, Feld ZLSPR (Zahlungssperrschlüssel), verfolgt, wenn die Sperre aufgehoben wird. Erfassen Zeitstempel aus Änderungsbelegen (CDHDR), wenn der Wert von BSEG-ZLSPR von nicht leer auf leer wechselt. Ereignistyp explicit | |||
Extraktionsleitfäden
Schritte
- ABAP-Programm erstellen: Verwenden Sie die Transaktion
SE38oderSE80, um ein neues ausführbares Programm zu erstellen, zum BeispielZ_PM_INVOICE_EXTRACT. Geben Sie einen passenden Titel an und setzen Sie den Typ auf 'Ausführbares Programm'. - Selektionsbild definieren: Definieren Sie im Programm ein Selektionsbild, damit Benutzer die Daten filtern können. Wichtige Parameter sollten den Buchungskreis (
BUKRS), das Geschäftsjahr (GJAHR), den Buchungsdatumsbereich (BUDAT) und einen Parameter für den Ausgabedateipfad auf dem Applikationsserver umfassen. - Datenstrukturen deklarieren: Definieren Sie eine interne Tabellenstruktur, die das endgültige Event Log aufnehmen wird. Diese Struktur muss alle erforderlichen und empfohlenen Attribute enthalten:
InvoiceNumber,Activity,EventTime,UserName,VendorNumber,PurchaseOrderNumber,InvoiceAmount,PostingDate,PaymentDueDate,PaymentBlockReasonundClearingDate. - Datenextraktionslogik implementieren: Schreiben Sie die zentrale ABAP-Logik zur Auswahl von Rechnungsdaten. Der Ansatz umfasst mehrere Selektionen, die in der finalen Event Log Tabelle zusammengeführt werden.
- Wählen Sie zuerst Kopf- und Positionsdaten aus den primären Rechnungstabellen
BKPF,BSEG,RBKPundRSEGbasierend auf den Selektionskriterien aus. - Generieren Sie für jede Rechnung die Basisereignisse wie 'Rechnungsdaten erfasst' (aus dem Erstellungs-Timestamp) und 'Rechnung gebucht' (aus dem Buchungs-Timestamp).
- Fragen Sie die Änderungsbelegtabellen
CDHDRundCDPOSab, um Änderungen bezüglich Zahlungsfreigaben/-sperren (ZLSPR-Feld inBSEG) zu finden. Erstellen Sie für jede relevante Änderung 'Zahlungssperre gesetzt'- und 'Zahlungssperre freigegeben'-Ereignisse. - Identifizieren Sie 'Rechnung ausgeglichen'-Ereignisse, indem Sie nach einem Ausgleichsbeleg (
AUGBL) und Ausgleichsdatum (AUGDT) in TabelleBSEGsuchen. - Identifizieren Sie 'Rechnung storniert'-Ereignisse, indem Sie nach einem Stornobeleg (
STBLG) imBKPF-Kopf suchen. - Implementieren Sie eine benutzerdefinierte Logik zur Erfassung von Workflow-Ereignissen ('Rechnung zur Genehmigung gesendet', 'Genehmigt', 'Abgelehnt'). Dieser Teil ist stark kundenspezifisch und erfordert eine Anpassung des Codes an die Tabellen oder Statusfelder Ihres Workflows.
- Wählen Sie zuerst Kopf- und Positionsdaten aus den primären Rechnungstabellen
- Berechnete Ereignisse generieren: Innerhalb der Programmlogik berechnen Sie das Ereignis
Rechnung wird überfällig. Dies wird abgeleitet, indem das Fälligkeitsdatum der Rechnung (PaymentDueDate) mit dem aktuellen Datum für alle unbezahlten Rechnungen verglichen wird. Wenn das Fälligkeitsdatum in der Vergangenheit liegt, erstellen Sie ein Ereignis, dessenEventTimeauf das Fälligkeitsdatum gesetzt ist. - Event Log Tabelle füllen: Während Sie Daten für jede Rechnung aus den verschiedenen Quellen sammeln, formatieren Sie diese und fügen Sie neue Zeilen zur finalen internen Event Log Tabelle hinzu, eine Zeile pro Aktivität.
- Daten in eine Datei exportieren: Verwenden Sie die Anweisungen
OPEN DATASET,TRANSFERundCLOSE DATASET, um den Inhalt der finalen internen Tabelle in eine Flatfile auf dem im Selektionsbild angegebenen SAP-Applikationsserverpfad zu schreiben. Verwenden Sie ein konsistentes Trennzeichen, wie Semikolon oder Tabulator, um eine CSV-Datei zu erstellen. - Extraktion planen: Für die regelmäßige Datenextraktion erstellen Sie eine Variante für das Programm mit den gewünschten Selektionskriterien und planen Sie die Ausführung als Batch-Job über die Transaktion
SM36. - Ausgabedatei abrufen: Greifen Sie über die Transaktion
AL11auf das Verzeichnis des SAP-Applikationsservers zu, um die generierte Datei zu finden. Verwenden Sie die TransaktionCG3Y, um die Datei vom Applikationsserver auf Ihr lokales Gerät herunterzuladen. - Für den Upload vorbereiten: Bevor Sie die Datei in ein Process Mining Tool hochladen, öffnen Sie die CSV-Datei, um sicherzustellen, dass die Header korrekt sind, das Datenformat konsistent ist (insbesondere für Zeitstempel) und das Trennzeichen wie erwartet ist. Stellen Sie sicher, dass die Datei mit UTF-8-Kodierung gespeichert wird.
Konfiguration
- Selektionskriterien: Der ABAP-Report sollte einen umfassenden Selektionsbildschirm enthalten. Die wichtigsten Filter sind:
Buchungskreis (BUKRS): Um die Extraktion auf bestimmte juristische Einheiten zu beschränken.Buchungsdatum (BUDAT): Um den Zeitraum für die Extraktion festzulegen. Es wird empfohlen, Daten in überschaubaren Blöcken zu extrahieren, zum Beispiel 3 bis 6 Monate auf einmal.Belegart (BLART): Um nur relevante Rechnungsbelegarten aufzunehmen, wie 'RE' für Logistikrechnungen und 'KR' für Kreditorenrechnungen.
- Ausgabedateipfad: Ein obligatorischer Parameter zur Angabe des vollständigen Pfads und Dateinamens auf dem SAP-Applikationsserver, wo die Ausgabedatei erstellt wird. Der Benutzer, der den Report ausführt, benötigt Schreibberechtigung für dieses Verzeichnis.
- Performance-Überlegungen: Bei großen Datenmengen sollte der Report als Batch-Job außerhalb der Spitzenzeiten ausgeführt werden, um eine Leistungsbeeinträchtigung des Systems zu vermeiden. Die Logik sollte nur die erforderlichen Felder aus Tabellen auswählen und nach Möglichkeit Standard-SAP-Datenbankindizes verwenden.
- Voraussetzungen und Berechtigungen: Der Benutzer oder Service-Account, der diese Extraktion ausführt, benötigt:
- Berechtigungen zur Ausführung von ABAP-Reports (Teil von
S_PROGRAM). - Lesezugriff auf Finanz- und Logistiktabellen, einschließlich
BKPF,BSEG,RBKP,RSEG,CDHDRundCDPOS. - Berechtigung zum Schreiben von Dateien in das angegebene Applikationsserver-Verzeichnis (
S_DATASET). - Zugriff auf die Transaktionen
SE38,SM36,AL11undCG3Yfür Entwicklung, Planung und Dateibereitstellung.
- Berechtigungen zur Ausführung von ABAP-Reports (Teil von
a Beispielabfrage abap
REPORT Z_PM_INVOICE_EXTRACT.
*&---------------------------------------------------------------------*
*& Tables for Selection Screen
*&---------------------------------------------------------------------*
TABLES: BKPF, RBKP.
*&---------------------------------------------------------------------*
*& Data Declarations
*&---------------------------------------------------------------------*
TYPES: BEGIN OF ty_event_log,
InvoiceNumber TYPE belnr_v,
Activity TYPE string,
EventTime TYPE timestamp,
UserName TYPE uname,
VendorNumber TYPE lifnr,
PurchaseOrderNumber TYPE ebeln,
InvoiceAmount TYPE wrbtr,
PostingDate TYPE budat,
PaymentDueDate TYPE faedt,
PaymentBlockReason TYPE rstgr,
ClearingDate TYPE augdt,
END OF ty_event_log.
DATA: gt_event_log TYPE TABLE OF ty_event_log,
gs_event_log TYPE ty_event_log.
DATA: lt_bkpf TYPE TABLE OF bkpf,
ls_bkpf TYPE bkpf,
lt_bseg TYPE TABLE OF bseg,
ls_bseg TYPE bseg.
DATA: lt_rbkp TYPE TABLE OF rbkp,
ls_rbkp TYPE rbkp.
*&---------------------------------------------------------------------*
*& Selection Screen
*&---------------------------------------------------------------------*
SELECT-OPTIONS: s_bukrs FOR bkpf-bukrs OBLIGATORY,
s_gjahr FOR bkpf-gjahr OBLIGATORY,
s_budat FOR bkpf-budat.
PARAMETERS: p_fpath TYPE string OBLIGATORY DEFAULT '/usr/sap/tmp/invoice_events.csv'.
*&---------------------------------------------------------------------*
*& Start of Program Logic
*&---------------------------------------------------------------------*
START-OF-SELECTION.
" Select FI Invoices (e.g., Doc Type KR)
SELECT * FROM bkpf INTO TABLE lt_bkpf
WHERE bukrs IN s_bukrs
AND gjahr IN s_gjahr
AND budat IN s_budat
AND blart = 'KR'.
" Select MM Invoices
SELECT * FROM rbkp INTO TABLE lt_rbkp
WHERE bukrs IN s_bukrs
AND gjahr IN s_gjahr
AND budat IN s_budat.
* --- Process FI Invoices ---
LOOP AT lt_bkpf INTO ls_bkpf.
CLEAR gs_event_log.
gs_event_log-InvoiceNumber = ls_bkpf-belnr.
gs_event_log-PostingDate = ls_bkpf-budat.
SELECT SINGLE * FROM bseg INTO ls_bseg
WHERE bukrs = ls_bkpf-bukrs
AND belnr = ls_bkpf-belnr
AND gjahr = ls_bkpf-gjahr
AND koart = 'K'. " Vendor Line Item
IF sy-subrc = 0.
gs_event_log-VendorNumber = ls_bseg-lifnr.
gs_event_log-InvoiceAmount = ls_bseg-wrbtr.
gs_event_log-ClearingDate = ls_bseg-augdt.
" Calculate Due Date
CALL FUNCTION 'DETERMINE_DUE_DATE'
EXPORTING
i_bseg = ls_bseg
IMPORTING
e_faedt = gs_event_log-PaymentDueDate.
ENDIF.
" Activity: Invoice Data Captured
gs_event_log-Activity = 'Invoice Data Captured'.
CONVERT DATE ls_bkpf-cpudt TIME ls_bkpf-cputm INTO TIME STAMP gs_event_log-EventTime TIME ZONE sy-zonlo.
gs_event_log-UserName = ls_bkpf-usnam.
APPEND gs_event_log TO gt_event_log.
" Activity: Invoice Parked (if BSTAT = 'V')
IF ls_bkpf-bstat = 'V'.
gs_event_log-Activity = 'Invoice Parked'.
APPEND gs_event_log TO gt_event_log.
ENDIF.
" Activity: Invoice Posted
gs_event_log-Activity = 'Invoice Posted'.
CONVERT DATE ls_bkpf-budat TIME ls_bkpf-cputm INTO TIME STAMP gs_event_log-EventTime TIME ZONE sy-zonlo.
gs_event_log-UserName = ls_bkpf-usnam.
APPEND gs_event_log TO gt_event_log.
" Activity: Invoice Cleared
IF ls_bseg-augbl IS NOT INITIAL.
gs_event_log-Activity = 'Invoice Cleared'.
CONVERT DATE ls_bseg-augdt INTO TIME STAMP gs_event_log-EventTime TIME ZONE sy-zonlo.
gs_event_log-UserName = ls_bseg-usnam_cl.
APPEND gs_event_log TO gt_event_log.
ENDIF.
" Activity: Invoice Becomes Overdue
IF gs_event_log-PaymentDueDate IS NOT INITIAL AND gs_event_log-PaymentDueDate < sy-datum AND ls_bseg-augbl IS INITIAL.
gs_event_log-Activity = 'Invoice Becomes Overdue'.
CONVERT DATE gs_event_log-PaymentDueDate INTO TIME STAMP gs_event_log-EventTime TIME ZONE sy-zonlo.
gs_event_log-UserName = 'SYSTEM'.
APPEND gs_event_log TO gt_event_log.
ENDIF.
" Activity: Invoice Reversed
IF ls_bkpf-stblg IS NOT INITIAL.
DATA: ls_rev_bkpf TYPE bkpf.
SELECT SINGLE budat, usnam FROM bkpf INTO ls_rev_bkpf
WHERE belnr = ls_bkpf-stblg AND bukrs = ls_bkpf-bukrs AND gjahr = ls_bkpf-gjahr.
IF sy-subrc = 0.
gs_event_log-Activity = 'Invoice Reversed'.
CONVERT DATE ls_rev_bkpf-budat INTO TIME STAMP gs_event_log-EventTime TIME ZONE sy-zonlo.
gs_event_log-UserName = ls_rev_bkpf-usnam.
APPEND gs_event_log TO gt_event_log.
ENDIF.
ENDIF.
ENDLOOP.
* --- NOTE: The logic for MM invoices (from lt_rbkp) would be similar, joining RBKP with RSEG.
* --- NOTE: The logic for Payment Blocks and Workflow events requires reading change documents (CDHDR/CDPOS)
* --- or custom workflow tables. Below is a conceptual example for payment blocks.
* --- Conceptual Example for 'Payment Block Set' / 'Released' using Change Docs
* DATA: lt_cdhdr TYPE TABLE OF cdhdr, ls_cdhdr TYPE cdhdr,
* lt_cdpos TYPE TABLE OF cdpos, ls_cdpos TYPE cdpos.
* SELECT * FROM cdhdr INTO TABLE lt_cdhdr
* WHERE objectclas = 'BELEG' AND objectid IN (SELECT belnr FROM bkpf WHERE ...).
* LOOP AT lt_cdhdr.
* SELECT * FROM cdpos INTO TABLE lt_cdpos
* WHERE changenr = ls_cdhdr-changenr AND tabname = 'BSEG' AND fname = 'ZLSPR'.
* LOOP AT lt_cdpos.
* "... logic to create 'Payment Block Set' (if VALUE_NEW is not blank)
* "... or 'Payment Block Released' (if VALUE_NEW is blank) events.
* ENDLOOP.
* ENDLOOP.
* --- Conceptual Example for Workflow events ('Sent For Approval', 'Approved', 'Rejected')
* --- This part MUST be customized based on your specific workflow implementation (e.g., OpenText VIM, SAP WF).
* --- You would query the relevant workflow tables or status change tables here.
*&---------------------------------------------------------------------*
*& Write to File
*&---------------------------------------------------------------------*
END-OF-SELECTION.
DATA: lv_string TYPE string,
lv_header TYPE string.
" Create Header
lv_header = 'InvoiceNumber;Activity;EventTime;UserName;VendorNumber;PurchaseOrderNumber;InvoiceAmount;PostingDate;PaymentDueDate;PaymentBlockReason;ClearingDate'.
OPEN DATASET p_fpath FOR OUTPUT IN TEXT MODE ENCODING UTF-8.
IF sy-subrc = 0.
TRANSFER lv_header TO p_fpath.
LOOP AT gt_event_log INTO gs_event_log.
CONCATENATE gs_event_log-InvoiceNumber
gs_event_log-Activity
gs_event_log-EventTime
gs_event_log-UserName
gs_event_log-VendorNumber
gs_event_log-PurchaseOrderNumber
gs_event_log-InvoiceAmount
gs_event_log-PostingDate
gs_event_log-PaymentDueDate
gs_event_log-PaymentBlockReason
gs_event_log-ClearingDate
INTO lv_string SEPARATED BY ';'.
TRANSFER lv_string TO p_fpath.
ENDLOOP.
CLOSE DATASET p_fpath.
ELSE.
MESSAGE 'Error opening file.' TYPE 'E'.
ENDIF.