Ihr Purchase-to-Pay-Purchase RequisitionsDaten-Template
Ihr Purchase-to-Pay-Purchase RequisitionsDaten-Template
- Empfohlene Attribute für eine detaillierte Analyse
- Schlüsselaktivitäten zur Verfolgung für die Prozesserkennung
- Anleitung zur Datenextraktion aus SAP S/4HANA
Purchase-to-Pay – Purchase Requisitions-Attribute
| Name | Beschreibung | ||
|---|---|---|---|
| Aktivitätsname ActivityName | Der Name der Geschäftsaktivität, die zu einem bestimmten Zeitpunkt im Purchase Requisitionsprozess stattfand. | ||
| Beschreibung Der Aktivitätsname beschreibt ein spezifisches Ereignis oder eine Aufgabe innerhalb des Lebenszyklus einer Purchase Requisition. Diese Aktivitäten werden aus Systemprotokollen, wie Änderungsbelegen und Workflow-Verlaufn, abgeleitet und repräsentieren wichtige Prozessmeilensteine wie 'Purchase Requisition erstellt', 'Genehmigungsschritt gestartet' oder 'Bestellung erstellt'. Die Analyse dieser Aktivitäten ermöglicht die Visualisierung des Prozessflusses, die Identifizierung von Engpässen und die Messung der in verschiedenen Phasen verbrachten Zeit. Das Verständnis der Reihenfolge und Häufigkeit von Aktivitäten wie 'Purchase Requisition geändert' oder 'Purchase Requisition abgelehnt' ist maßgeblich für die Identifizierung von Prozesseffizienz und Verbesserungspotenzialen. Bedeutung Es definiert die Schritte im Prozess, ist die Basis der Prozesskarte und ermöglicht die Analyse von Prozessfluss, Variationen und Engpässen. Datenquelle Dies ist ein abgeleitetes Attribut, das in der Regel durch Interpretation von Daten aus Änderungsbelegtabellen (CDHDR, CDPOS) und Workflow-Logs (z.B. SWWLOGHIST) konstruiert wird. Beispiele Anforderung erstelltGenehmigungsschritt abgeschlossenPurchase Requisition genehmigtBestellung erstellt | |||
| Ereigniszeit EventTime | Das genaue Datum und die Uhrzeit, zu der eine spezifische Aktivität stattfand. | ||
| Beschreibung Event Time ist der Zeitstempel, der aufzeichnet, wann eine Aktivität stattgefunden hat. Diese Daten sind wichtig für die chronologische Anordnung von Ereignisse innerhalb eines Falles und bilden die Grundlage für alle Dauer- und Leistungsfähigkeit-Berechnungen im Process Mining. Zum Beispiel bestimmt die Zeitdifferenz zwischen den Ereignisse 'Purchase Requisition eingereicht' und 'Purchase Requisition genehmigt' die Genehmigungs-Durchlaufzeit. Genau Zeitstempels sind essenziell für die Analyse der Prozess-Leistungsfähigkeit, die Identifizierung von Verzögerungen und die Überwachung der Einhaltung von Service Level Agreements. Dieses Attribut ermöglicht Dashboards, die Durchlaufzeiten visualisieren, feststeckende Purchase Requisitionen verfolgen und die Leistungsfähigkeit über verschiedene Zeiträume vergleichen. Bedeutung Dieser Zeitstempel ist maßgeblich für die Reihenfolge der Ereignisse, die Berechnung von Durchlaufzeiten und die Analyse der Prozessleistung und von Engpässen. Datenquelle Zeitstempels werden in der Regel aus Änderungsbeleg-Headern (CDHDR-UDATE, CDHDR-UTIME) oder Workflow-Event-Logs bezogen. Beispiele 2023-04-15T10:05:30Z2023-04-15T14:22:01Z2023-04-16T09:00:15Z | |||
| Purchase Requisitions-ID PurchaseRequisitionId | Der eindeutige Identifikator für ein Purchase Requisitionsdokument. | ||
| Beschreibung Die Purchase Requisitions-ID ist der Primärschlüssel, der jede Anforderung von Waren oder Dienstleistungen innerhalb von SAP S/4HANA eindeutig identifiziert. Sie dient als zentrale Case-ID und verknüpft alle Aktivitäten und Änderungen, die mit einer spezifischen Purchase Requisition zusammenhängen, von ihrer Erstellung bis zu ihrem Endstatus, wie Genehmigung, Ablehnung oder Umwandlung in eine Bestellung. Im Process Mining ist dieses Attribut wichtig für die Rekonstruktion des End-to-End-Lebenszyklus jeder Purchase Requisition. Durch die Gruppierung aller verwandten Ereignisse unter einer einzigen Purchase Requisitions-ID können Analysten Durchlaufzeits genau messen, Statusänderungen verfolgen und die verschiedenen Wege analysierenn, die eine Purchase Requisition im Genehmigungsprozess nehmen kann. Bedeutung Dies ist der wesentliche Case-ID, der alle zugehörigen Prozessschritte verbindet und eine vollständige und kohärente Sicht auf den Purchase Requisitions-Lebenszyklus ermöglicht. Datenquelle Dieses Attribut ist die Purchase Requisitionsnummer, zu finden in Tabelle EBAN, Feld BANFN. Beispiele 100178901001789110017892 | |||
| Abteilung Department | Die Abteilung oder Kostenstelle, der den Antrag bearbeitet.ie Kosten der Purchase Requisition belastet werden. | ||
| Beschreibung Das Attribut Abteilung, oft durch die Kostenstelle in SAP repräsentiert, identifiziert die Geschäftseinheit, die für die angeforderte Beschaffung verantwortlich ist. Es handelt sich um eine kritische Finanz- und OrganisationsHinweisrmation, die auf Positionsebene einer Purchase Requisition zugewiesen wird. Im Process Mining ist dieses Attribut für die Analyse der Abteilungsleistung unerlässlich. Es ermöglicht Dashboards, die wichtige Metriken wie Durchlaufzeit, Änderungsraten und Ablehnungsraten über verschiedene Abteilungen hinweg vergleichen. Dies hilft, leistungsstarke Abteilungen zu identifizieren, deren Praktiken anderswo übernommen werden könnten, sowie Abteilungen, die zusätzliche Schulungen oder Prozessunterstützung benötigen. Bedeutung Ermöglicht den Leistungsfähigkeit-Vergleich über Geschäftseinheiten hinweg, hebt Abweichungen in Durchlaufzeiten oder Ablehnungsraten hervor, um Best Practices und Verbesserungsbereiche zu identifizieren. Datenquelle Dies ist die Kostenstelle, in der Regel in der Kontierungs-Tabelle EBKN, Feld KOSTL, zu finden. Beispiele FIN-1001IT-2005MKT-3010 | |||
| Anforderungstyp RequisitionType | Ein Code, der den Antrag bearbeitet.ie Purchase Requisition klassifiziert, zum Beispiel für Standardartikel, Dienstleistungen oder Investitionsausgaben. | ||
| Beschreibung Der Purchase Requisitionstyp, in SAP auch als Belegart bekannt, ist ein wichtiges Konfigurationsfeld, das Purchase Requisitionen kategorisiert. Verschiedene Typn können unterschiedliche Genehmigungs-Workflows auslösen, unterschiedliche Feldeinstellungen haben und für verschiedene Geschäftszwecke verwendet werden, wie z.B. Standardlagerartikel, externe Dienstleistungen oder Anlagenkäufe. Durch die Analyse des Prozesses basierend auf dem Purchase Requisitionstyp können Organisationen verstehen, wie verschiedene Arten von Anfragen bearbeitet werden. Es ermöglicht den Vergleich von Leistung, Durchlaufzeits und Genehmigungspfaden über Kategorien hinweg, was aufzeigen kann, ob bestimmte Purchase Requisitionstypen mehr oder weniger effizient sind und hilft, Prozessoptimierungen anzupassen. Bedeutung Kategorisiert Purchase Requisitionen für Vergleichsanalysen, um zu verstehen, ob verschiedene Anforderungstypen unterschiedliche Prozessabläufe, Engpässe oder Durchlaufzeiten aufweisen. Datenquelle Dies ist das Feld Belegart, zu finden in Tabelle EBAN, Feld BSART. Beispiele NBFORV | |||
| Benutzer-ID UserId | Die ID des Benutzers, der den Antrag bearbeitet.ie Purchase Requisition erstellt oder eine bestimmte Aktivität durchgeführt hat. | ||
| Beschreibung Die Benutzer-ID identifiziert den Mitarbeiter oder Systembenutzer, der für ein bestimmtes Event im Lebenszyklus der Purchase Requisition verantwortlich ist. Dies kann die Person sein, die die Purchase Requisition erstellt hat, der Manager, der sie genehmigt hat, oder den Antrag bearbeitet.er Bearbeiter, der sie geändert hat. Bei automatisierten Schritten kann dies eine System- oder Batch-Benutzer-ID sein. Die Analyse nach Benutzer-ID hilft, benutzerspezifisches Verhalten, Arbeitslastverteilung und Leistungsfähigkeit zu verstehen. Sie ist maßgeblich für die Identifizierung von Schulungsbedarf, die Identifizierung von Top-Performern und die Sicherstellung der Verantwortlichkeit innerhalb des Prozesses. Sie unterstützt auch die Abteilungsleistungsanalyse in Kombination mit BenutzerstammDaten. Bedeutung Ermöglicht die Analyse der Benutzer-Leistungsfähigkeit, Arbeitslastverteilung und Prozess-Compliance. Dies ist maßgeblich für die Identifizierung von Schulungsbedarf und Ressourcenengpässen. Datenquelle Im Feld Beispiele JSMITHRROEWF-BATCH | |||
| Genehmiger-ID ApproverId | Die ID des Benutzers, der einen Genehmigungs- oder Ablehnungsschritt durchgeführt hat. | ||
| Beschreibung Die Genehmiger-ID identifiziert spezifisch den Benutzer, der eine Genehmigungs- oder Ablehnungsaktivität abgeschlossen hat. Dies unterscheidet sich von der allgemeinen Benutzer-ID, da sie sich ausschließlich auf die Entscheidungsträger innerhalb des Genehmigungs-Workflows konzentriert. Die Erfassung dieser Informationen ist für eine detaillierte Analyse des Genehmigungsprozesses von wichtiger Bedeutung. Dieses Attribut ermöglicht die Analyse des Genehmigungsverhaltens, z.B. die Identifizierung von Managern mit langen Genehmigungszeiten oder solchen, die Purchase Requisitionen häufig ablehnen. Es ist die Basis für Dashboards, die sich auf Durchlaufzeiten von Genehmigungsschritten und die Analyse von Workflow-Engpässen konzentrieren, und hilft dabei, spezifische Personen oder Rollen zu identifizieren, die Verzögerungen verursachen könnten. Bedeutung Identifiziert den spezifischen Entscheidungsträger in einem Genehmigungsschritt und ermöglicht eine detaillierte Analyse der Genehmigungs-Durchlaufzeiten und Engpässe nach Person oder Rolle. Datenquelle Diese Informationen werden in der Regel aus SAP Business Workflow-Tabellen wie SWW_WI2OBJ und SWWLOGHIST extrahiert, die Work Items mit dem abschließenden Benutzer verknüpfen. Beispiele MJOHNSONCWILLIAMSLBLACK | |||
| Purchase Requisitionsbetrag RequisitionAmount | Der Gesamtbetrag der Purchase Requisition. | ||
| Beschreibung Der Purchase Requisitionsbetrag repräsentiert die geschätzten Gesamtkosten der angeforderten Waren oder Dienstleistungen. Dieser Wert ist oft ein Schlüsselfaktor für die Bestimmung der Komplexität und Dauer des Genehmigungs-Workflows, wobei Purchase Requisitionen mit höherem Wert in der Regel mehr Genehmigungsebenen erfordern. Die Analyse dieses Attributs ermöglicht eine Segmentierung des Prozesses basierend auf dem Wert. Sie kann helfen, Fragen zu beantworten wie: 'Dauert die Genehmigung von Purchase Requisitionen mit hohem Wert länger?' oder 'Was ist der Wert von Purchase Requisitionen, die häufig abgelehnt werden?'. Es ist eine kritische Dimension für das Verständnis der finanziellen Auswirkungen von Prozesseffizienz. Bedeutung Hilft, den Prozess nach finanziellen Auswirkungen zu segmentieren, oft korrelierend mit Genehmigungskomplexität und Durchlaufzeit. Dies ist maßgeblich für eine wertbasierte Prozessanalyse. Datenquelle Der Gesamtwert ist in Tabelle EBAN, Feld GFWERT, zu finden. Der Wert auf Positionsebene ist in EBAN-PREIS. Beispiele 1500.0075000.50250.75 | |||
| Purchase Requisitionsstatus RequisitionStatus | Der aktuelle Bearbeitungs- oder Genehmigungsstatus der Purchase Requisition. | ||
| Beschreibung Der Purchase Requisitionsstatus gibt den aktuellen Zustand der Purchase Requisition innerhalb ihres Lebenszyklus an. In SAP wird dies oft durch den Freigabeindikator repräsentiert, der zeigt, ob eine Purchase Requisition blockiert, in Genehmigung, teilweise genehmigt oder vollständig genehmigt ist. Dieser Status ändert sich, wenn die Purchase Requisition den Workflow durchläuft. Die Verfolgung des Status über die Zeit ist die Basis für das Verständnis des Prozessflusses. Sie hilft zu identifizieren, wo Purchase Requisitionen stecken bleiben und wie lange. Die Analyse von Statusübergängen ermöglicht eine detaillierte Ansicht des Genehmigungsprozesses und seiner Varianten. Bedeutung Zeigt den aktuellen Status einer Purchase Requisition an, was wichtig ist, um den Fortschritt zu verfolgen, Engpässe zu identifizieren und den Prozessfluss zu analysierenn. Datenquelle Der Freigabestatus wird oft durch den Freigabeindikator bestimmt, der in Tabelle EBAN, Feld FRGZU, zu finden ist. Beispiele B1S | |||
| Ablehnungsgrund RejectionReason | Der angegebene Grund, wenn eine Purchase Requisition abgelehnt wird. | ||
| Beschreibung Der Ablehnungsgrund erklärt, warum ein Genehmiger sich entschied, eine Purchase Requisition abzulehnen. Gründe können Budgetüberschreitungen, Neine Informationen, Nichteinhaltung von Richtlinien oder den Antrag bearbeitet.ie Duplizierung einer anderen Anfrage sein. Diese Informationen liefern wichtigen Kontext für das Verständnis von Prozessfehlern. Die Analyse von Ablehnungsgründen hilft, die Ursachen für Prozesseffizienz und Nacharbeit zu identifizieren. Wenn beispielsweise 'Falsche Kostenstelle' ein häufiger Grund ist, deutet dies auf die Notwendigkeit besserer Benutzerschulungen oder Systemvalidierungen hin. Dieses Attribut ist der Schlüssel zum Dashboard 'Analyse der Purchase Requisitionsablehnungen' und wichtig für eine gezielte Prozessoptimierung. Bedeutung Liefert die Grundursache für Prozessfehler und ermöglicht gezielte Verbesserungen zur Reduzierung von Nacharbeit und zur Steigerung der „First-Time-Right“-Rate von Purchase Requisitionen. Datenquelle Dies ist oft kein Standardfeld. Es kann in Workflow-Container-Elementen, Langtexten, die mit der Purchase Requisition verknüpft sind, oder benutzerdefinierten Feldern erfasst werden. Beispiele BudgetüberschreitungFalscher LieferantDoppelte Anforderung | |||
| Bestellnummer PurchaseOrderNumber | Die Nummer der Bestellung, die aus der Purchase Requisition erstellt wurde. | ||
| Beschreibung Die Bestellnummer ist der Bezeichner des offiziellen Beschaffungsdokuments, das aus einer genehmigten Purchase Requisition erstellt wurde. Die Erstellung einer Bestellung ist oft das endgültige, erfolgreiche Ergebnis einer Purchase Requisition, das signalisiert, dass die Anfrage in einen formalen Auftrag an einen Lieferanten umgewandelt wurde. Dieses Attribut ist maßgeblich für die Messung des KPIs 'Durchlaufzeit von Purchase Requisition zu Bestellung' und der gesamten Konversionsrate. Es verknüpft den Purchase Requisitionsprozess mit dem nachgelagerten Beschaffungsprozess und ermöglicht eine vollständigere End-to-End-Sicht auf den gesamten Purchase-to-Pay-Zyklus. Bedeutung Verknüpft die Purchase Requisition mit dem nachfolgenden Beschaffungsdokument und ermöglicht die Messung der Konversionsrate von Purchase Requisition zu Bestellung und der Durchlaufzeit. Datenquelle In Tabelle Beispiele 450001789045000178914500017892 | |||
| Dringlichkeitsstufe UrgencyLevel | Eine Klassifizierung der Dringlichkeit der Purchase Requisition, die ihre Bearbeitungspriorität beeinflussen kann. | ||
| Beschreibung Das Dringlichkeitslevel gibt die Priorität der Kaufanfrage an. Obwohl es kein standardmäßiges dediziertes Feld ist, verwenden einige Organisationen Felder wie die Anforderungsverfolgungsnummer, um diese Informationen zu erfassen. Dies ermöglicht es Anforderern, kritische Bedarfe zu kennzeichnen, die eine beschleunigte Bearbeitung erfordern könnten. Die Analyse der Auswirkungen der Dringlichkeit ist wichtig, um zu bewerten, ob der Prozess kritische Anfragen effektiv priorisiert. Das Dashboard 'Dringlichkeitslevel-Auswirkungsanalyse' verwendet dieses Attribut, um Durchlaufzeits und Genehmigungsraten für dringende gegenüber Standard-Purchase Requisitionen zu vergleichen, um festzustellen, ob die Prioritätsbehandlung wie beabsichtigt funktioniert. Bedeutung Ermöglicht die Analyse, wie sich die Prozess-Leistungsfähigkeit bei hochprioritären Anfragen unterscheidet, und hilft zu überprüfen, ob eilige Positionen tatsächlich beschleunigt werden. Datenquelle Es gibt kein Standardfeld für Dringlichkeit. Einige Unternehmen verwenden dafür die Anforderungsverfolgungsnummer (EBAN-BEDAR). Es kann sich auch um ein benutzerdefiniertes Feld handeln. Beispiele HochMittelNiedrig | |||
| Endzeit EndTime | Das genaue Datum und die Uhrzeit, zu der eine bestimmte Aktivität abgeschlossen wurde. | ||
| Beschreibung EndTime ist der Zeitstempel, der aufzeichnet, wann eine Aktivität abgeschlossen wurde. Während viele systemgenerierte Ereignisse unmittelbar sind (was bedeutet, dass StartTime gleich EndTime ist), können menschliche Aufgaben wie Genehmigungen einen deutlichen Start und ein Ende haben. Dieser Zeitstempel markiert den Abschluss dieser Arbeit. Ein separates EndTime ermöglicht eine genauere Messung der aktiven Bearbeitungszeit im Vergleich zur Leerlaufzeit. Es wird in Verbindung mit StartTime verwendet, um die Kennzahl ProcessingTime zu berechnen. Dieses Detailniveau verbessert die Analyse der Ressourcenauslastung und Effizienz bei manuellen Aufgaben. Bedeutung Markiert den Abschluss einer Aktivität, ermöglicht die Berechnung der aktiven Bearbeitungszeit und bietet eine detailliertere Ansicht der Aufgabendauer. Datenquelle Dies wird aus Workflow-Logs abgeleitet, die sowohl den Zeitpunkt der Erstellung eines Work Items (StartTime) als auch dessen Abschluss (EndTime) erfassen können. Beispiele 2023-04-15T10:20:30Z2023-04-15T14:25:01Z2023-04-16T11:00:45Z | |||
| Erforderliches Lieferdatum RequiredByDate | Das Datum, bis zu dem der Anforderer die angeforderten Waren oder Dienstleistungen benötigt. | ||
| Beschreibung Das 'Erforderlich bis'-Datum oder Lieferdatum in SAP gibt an, wann die Waren oder Dienstleistungen auf der Purchase Requisitionsposition benötigt werden. Dieses Datum wird vom Anforderer festgelegt und dient als Ziel für den gesamten Beschaffungsprozess. Dieses Attribut ist maßgeblich für die Berechnung des KPIs 'Rate der pünktlich abgeschlossenen Purchase Requisitionen'. Durch den Vergleich des 'Erforderlich bis'-Datums mit dem Datum der finalen Genehmigung oder Bestellanlagung kann die Organisation ihre Fähigkeit messen, interne Service-Levels und Geschäftsbedürfnisse zu erfüllen. Die Analyse von Purchase Requisitionen, die dieses Datum nicht einhalten, kann systemische Verzögerungen im Beschaffungsprozess aufzeigen. Bedeutung Definiert das Zieldatum für die Fertigstellung einer Anfrage und ermöglicht die Messung der pünktlichen Lieferung sowie die Einhaltung interner Service-Levels. Datenquelle Dies ist das Lieferdatum, auf Positionsebene in Tabelle EBAN, Feld LFDAT, zu finden. Beispiele 2023-11-152023-12-012024-01-20 | |||
| Ist automatisiert IsAutomated | Ein Flag, das anzeigt, ob eine Aktivität von einem Systembenutzer oder einem Menschen durchgeführt wurde. | ||
| Beschreibung Das Attribut 'Ist Automatisiert' ist ein boolesches Flag, das wahr ist, wenn eine Aktivität von einem System- oder Batch-Benutzer ausgeführt wurde, z.B. 'WF-BATCH' für Workflow-Aktionen. Dies hilft, zwischen manuellen und automatisierten Schritten im Prozess zu unterscheiden. Dieses Attribut ist unerlässlich für die Messung des Automatisierungsgrades im Purchase Requisitionsprozess und für die Berechnung des KPIs 'Automatisierte Genehmigungsrate'. Durch das Filtern nach automatisierten oder manuellen Schritten können Analysten deren Effizienz vergleichen und Möglichkeiten für eine weitere Automatisierung identifizieren, um Bearbeitungszeiten und manuellen Aufwand zu reduzieren. Bedeutung Unterscheidet zwischen menschlichen und systemgesteuerten Aktivitäten, was wichtig ist, um Automatisierungsraten zu messen und Möglichkeiten zur Automatisierung manueller Aufgaben zu identifizieren. Datenquelle Dies ist ein abgeleitetes Attribut, das in der Regel auf einer Regel basiert, die überprüft, ob die Benutzer-ID für ein Event zu einer Listee bekannter System- oder Batch-Benutzer gehört. Beispiele JaNein | |||
| Ist Nacharbeit IsRework | Ein Flag, das anzeigt, ob eine Aktivität Nacharbeit darstellt, wie z.B. eine Änderung nach der Einreichung. | ||
| Beschreibung „Ist Nacharbeit“ ist ein berechnetes boolesches Flag, das Aktivitäten identifiziert, die keinen Mehrwert schaffen oder repetitive Arbeit darstellen. Ein häufiges Beispiel in diesem Prozess ist die Aktivität „Purchase Requisition geändert“, die auftritt, nachdem die Purchase Requisition bereits zur Genehmigung eingereicht wurde, was den Genehmigungsprozess neu starten lässt. Dieses Attribut ist maßgeblich, um den Umfang der Nacharbeit im Prozess und deren Auswirkungen auf die gesamten Durchlaufzeiten zu quantifizieren. Das Dashboard „Purchase Requisitionsänderungen und Nacharbeitsrate“ stützt sich auf dieses Flag, um Prozesseffizienzdefizite hervorzuheben. Die Reduzierung von Nacharbeit ist oft ein primäres Ziel von Prozessoptimierungsinitiativen, da sie direkt zu eingesparter Zeit und Aufwand führt. Bedeutung Kennzeichnet Aktivitäten, die verschwendeten Aufwand oder Wiederholung darstellen, und ermöglicht die direkte Messung von Nacharbeit und deren Auswirkungen auf die Prozesseffizienz. Datenquelle Dies ist ein berechnetes Attribut. Die Logik würde in der Regel jede Aktivität 'Purchase Requisition geändert', die nach der ersten Aktivität 'Purchase Requisition zur Genehmigung eingereicht' auftritt, als Nacharbeit kennzeichnen. Beispiele JaNein | |||
| Letzte Datenaktualisierung LastDataUpdate | Der Zeitstempel, der angibt, wann die Daten für diesen Datensatz zuletzt aus dem Quellsystem aktualisiert wurden. | ||
| Beschreibung Dieses Attribut erfasst Datum und Uhrzeit der letzten Datenextraktion oder -aktualisierung aus dem Quellsystem. Es ist ein kritisches Metadatum, um die Aktualität der analysierten Daten zu verstehen. Analysten und Geschäftsanwender verlassen sich auf diesen Zeitstempel, um zu wissen, ob die ProzessDaten den aktuellsten Stand der Operationen widerspiegeln. Bei jeder Prozessanalyse ist die Kenntnis der Datenaktualität grundlegend für fundierte Entscheidungen. Dieses Attribut hilft, die Erwartungen der Benutzer zu managen und stellt sicher, dass Schlussfolgerungen aus Daten gezogen werden, die so aktuell sind, wie es für die spezifische Analyse erforderlich ist. Bedeutung Zeigt die Aktualität der Daten an, was wichtig ist, um der Analyse zu vertrauen und zeitnahe Geschäftsentscheidungen zu treffen. Datenquelle Dieser Beispiele 2023-10-27T02:00:00Z2023-10-28T02:00:00Z | |||
| Name des Genehmigungsschritts ApprovalStepName | Der spezifische Name oder den Antrag bearbeitet.ie Beschreibung eines Genehmigungsschritts im Workflow. | ||
| Beschreibung Der Name des Genehmigungsschritts bietet eine menschenlesbare Beschreibung einer bestimmten Phase im Genehmigungs-Workflow, wie z.B. 'Manager-Genehmigung' oder 'VP Finanz-Genehmigung'. Dies ist deskriptiver als eine generische Aktivität 'Genehmigungsschritt abgeschlossen'. Dieses Attribut ist maßgeblich für die Dashboards zur Analyse der Zykluszeit von Genehmigungsschritten und von Workflow-Engpässen. Es ermöglicht eine detaillierte Ansicht des Genehmigungsprozesses, wodurch genau ermittelt werden kann, welche Genehmigungsphasen die größten Verzögerungen verursachen und wo sich Arbeit ansammelt. Dieses Detailniveau ist für gezielte Interventionen zur Straffung der Genehmigungskette notwendig. Bedeutung Bietet detaillierte Informationen zu Genehmigungsstufen und ermöglicht so die präzise Identifizierung von Engpässen innerhalb des mehrstufigen Genehmigungs-Workflows. Datenquelle Diese Informationen werden aus der Workflow-Aufgabenbeschreibung abgeleitet, die durch Verknüpfung des Workflow-Protokolls mit Aufgaben-Definitionentabellen wie T528T gefunden werden kann. Beispiele Manager-GenehmigungDirektor-GenehmigungVP Finanzen Genehmigung | |||
| Quellsystem SourceSystem | Identifiziert die spezifische SAP S/4HANA-Instanz, aus der den Antrag bearbeitet.ie Daten extrahiert wurden. | ||
| Beschreibung Das Attribut Quellsystem gibt das Ursprungssystem an, in dem die ProzessDaten generiert wurden. In Organisationen mit mehreren SAP-Instanzen, wie z.B. unterschiedlichen Systemen für Entwicklung, Qualitätssicherung und Produktion oder separaten Systemen für verschiedene Regionen, ist dieses Feld wichtig für Daten Governance und Kontext. Es stellt sicher, dass Daten aus verschiedenen Quellen unterschieden werden können, verhindert eine Neine Aggregation und ermöglicht eine systemspezifische Analyse. Es ist ein obligatorisches Attribut zur Aufrechterhaltung der Datenherkunft und zur Gewährleistung der Rückverfolgbarkeit der ProzessDaten. Bedeutung Bietet wesentlichen Kontext für Datenherkunft und Governance, insbesondere in Systemlandschaften mit mehreren Systemen, und stellt ... sicher die Datenrückverfolgbarkeit. Datenquelle Dies ist in der Regel die SAP System ID (SID), die aus Systemvariablen oder Konfigurationstabellen abgerufen werden kann. Beispiele S4PECCS4H_PROD_01 | |||
| Währung Currency | Der Währungscode für den Purchase Requisitionsbetrag. | ||
| Beschreibung Dieses Attribut gibt die Währung an, in der den Antrag bearbeitet.er Purchase Requisitionsbetrag ausgewiesen ist, z.B. USD, EUR oder JPY. Es liefert den notwendigen Kontext für das Attribut 'Purchase Requisitionsbetrag', insbesondere in multinationalen Organisationen, die mit mehreren Währungen arbeiten. Für eine genaue Finanzanalyse und Berichterstattung ist es unerlässlich, die Währung zu berücksichtigen. Beim Aggregieren oder Vergleichen von Purchase Requisitionswerten sollten alle Beträge in eine gemeinsame Währung umgerechnet werden, um aussagekräftige Resultate zu sicherstellen. Dieses Attribut ist eine Voraussetzung für solche Umrechnungen. Bedeutung Bietet wesentlichen Kontext für den Purchase Requisitionswert und ermöglicht eine genaue Finanzanalyse sowie Vergleiche in Multi-Währungs-Umgebungen. Datenquelle Dies ist in Tabelle EBAN, Feld WAERS, zu finden. Beispiele USDEURGBP | |||
Purchase-to-Pay – Purchase Requisitions-Aktivitäten
| Aktivität | Beschreibung | ||
|---|---|---|---|
| Anforderung erstellt | Markiert die initiale Erstellung des Purchase Requisitiondokuments im System. Dieses Event wird explizit erfasst, wenn ein Benutzer eine neue Purchase Requisition zum ersten Mal speichert und den Erstellungs-Zeitstempel aufzeichnet. | ||
| Bedeutung Diese Aktivität dient als primärer Startpunkt für die Analyse des Purchase Requisitions-Lebenszyklus. Sie ist unerlässlich für die Messung der End-to-End-Zykluszeit, von der ersten Bedarfsidentifizierung bis zur finalen Genehmigung oder Umwandlung in eine Bestellung. Datenquelle Dies ist ein explizites Event, das aus der Tabelle EBAN erfasst wird, wobei die Felder Erstellungsdatum (ERDAT) und Erstellungszeit (ERZEIT) für die spezifische Purchase Requisitionsnummer (BANFN) verwendet werden. Erfassen Verwenden Sie die Erstellungs-Zeitstempel-Felder (ERDAT, ERZEIT) aus der Tabelle EBAN für jede Purchase Requisition (BANFN). Ereignistyp explicit | |||
| Bestellung erstellt | Zeigt an, dass eine Bestellung unter Bezugnahme auf die Purchase Requisitionsposition generiert wurde. Dies ist ein explizites System-Event, das die Purchase Requisition mit einem nachfolgenden Beschaffungsdokument verknüpft. | ||
| Bedeutung Dies ist ein wichtiger Meilenstein und ein erfolgreiches Ergebnis für den Purchase Requisitionsprozess. Die Zeit zwischen der Genehmigung der Purchase Requisition und der Bestellungserstellung ist ein kritischer KPI zur Messung der Beschaffungseffizienz. Datenquelle Explizit erfasst, wenn eine Bestellungsposition erstellt wird. Die Verknüpfung wird in der Tabelle Erfassen Verknüpfen Sie die Tabelle Ereignistyp explicit | |||
| Genehmigungsschritt abgeschlossen | Tritt auf, wenn ein Genehmiger eine positive Aktion auf eine Purchase Requisition vornimmt und einen Schritt im mehrstufigen Genehmigungs-Workflow abschließt. Dies wird aus einer Änderung des Freigabestatus der Purchase Requisition abgeleitet. | ||
| Bedeutung Diese Aktivität ermöglicht eine detaillierte Analyse des Genehmigungs-Workflows, indem die Zeit gemessen wird, die für jeden einzelnen Schritt benötigt wird. Sie hilft, effiziente Genehmiger im Vergleich zu Engpässen im Prozess zu identifizieren. Datenquelle Abgeleitet aus Änderungsbelegen ( Erfassen Verfolgen Sie Änderungen an den Freigabestatusfeldern in EBAN für jeden in der Strategie definierten Freigabecode. Ereignistyp inferred | |||
| Purchase Requisition abgelehnt | Stellt die endgültige Ablehnung der Purchase Requisition durch einen Genehmiger dar, wodurch der Prozess gestoppt wird. Dies wird durch eine spezifische Statusaktualisierung erfasst, die die Ablehnung anzeigt. | ||
| Bedeutung Diese Aktivität ist ein kritischer Fehlerendpunkt. Die Analyse der Ablehnungshäufigkeit, -gründe und -zeitpunkte im Prozess hilft, Probleme mit der Richtlinien-Compliance, dem Budget oder den Antrag bearbeitet.er Anforderungsqualität zu identifizieren. Datenquelle Abgeleitet aus einer Statusänderung in der Tabelle Erfassen Identifizieren Sie den Zeitstempel, zu dem der Gesamtstatus in Ereignistyp inferred | |||
| Purchase Requisition abgeschlossen | Zeigt an, dass die Purchase Requisitionsposition als vollständig bearbeitet gilt und keine weiteren Bestellungen daraus erstellt werden können. Dieser Status wird in der Regel automatisch gesetzt, sobald die vollständige Menge bestellt wurde. | ||
| Bedeutung Diese Aktivität repräsentiert den abschließenden, erfolgreichen Abschluss des Lebenszyklus einer Purchase Requisitionsposition. Sie bestätigt, dass der geschäftliche Bedarf vollständig in einen Beschaffungsauftrag umgesetzt wurde. Datenquelle Abgeleitet aus der Tabelle Erfassen Identifizieren Sie das Event, bei dem das 'Closed'-Kennzeichen ( Ereignistyp inferred | |||
| Purchase Requisition genehmigt | Markiert die endgültige und vollständige Genehmigung der Purchase Requisition, wodurch diese für die Umwandlung in eine Bestellung freigegeben wird. Dieser Meilenstein wird abgeleitet, wenn der Gesamt-Freigabestatus seinen endgültigen genehmigten Zustand erreicht. | ||
| Bedeutung Dies ist ein kritischer Erfolgsmeilenstein und ein häufiger Endpunkt für die Durchlaufzeit-Analyse. Er bedeutet, dass die Purchase Requisition alle Prüfungen bestanden hat und zur Bearbeitung durch die Beschaffungsabteilung bereit ist. Datenquelle Abgeleitet aus einer Statusänderung in der Tabelle Erfassen Identifizieren Sie den Zeitstempel, zu dem der finale Freigabecode angewendet oder den Antrag bearbeitet.er Gesamtstatus der Purchase Requisition auf 'Genehmigt' geändert wird. Ereignistyp inferred | |||
| Genehmigung zurückgesetzt | Stellt ein Event dar, bei dem der gesamte Genehmigungs-Workflow zurückgesetzt wird, oft aufgrund einer wesentlichen Änderung der Purchase Requisition. Dies zwingt den Genehmigungsprozess, von der ersten Stufe an neu zu beginnen. | ||
| Bedeutung Diese Aktivität hebt erhebliche Nacharbeit hervor, die die Zykluszeit stark beeinträchtigt. Die Identifizierung der Ursachen für das Zurücksetzen von Genehmigungen ist maßgeblich, um den Prozess zu straffen und Verzögerungen zu reduzieren. Datenquelle Abgeleitet aus Änderungsbelegen ( Erfassen Suchen Sie in den Änderungs-Logs nach einer Änderung des Freigabestatus von einem freigegebenen Zustand zurück zu einem nicht freigegebenen Zustand. Ereignistyp inferred | |||
| Genehmigungsschritt gestartet | Zeigt an, dass eine Purchase Requisition auf eine Aktion eines bestimmten Genehmigers oder einer Genehmigungsgruppe wartet. Dies wird abgeleitet, wenn der Status der Purchase Requisition anzeigt, dass ein spezifischer Freigabecode ausstehende Zahlungen identifizieren.t. | ||
| Bedeutung Diese Aktivität ist maßgeblich, um Engpässe in der Genehmigungskette zu identifizieren. Die Analyse der Dauer dieses Status hilft, festgefahrene Purchase Requisitionen und überlastete Genehmiger zu erkennen. Datenquelle Abgeleitet aus den Freigabestatusfeldern der Tabelle Erfassen Bestimmt, wann eine Purchase Requisition in einen Zustand übergeht, in dem ein spezifischer Freigabecode zur Genehmigung ansteht, basierend auf Workflow-Logs oder Statusfeldern. Ereignistyp inferred | |||
| Purchase Requisition geändert | Tritt auf, wenn ein Benutzer ein Schlüsselfeld in der Purchase Requisition nach der initialen Erstellung ändert, wie z.B. Menge, Preis oder Material. Diese Aktion wird explizit im SAP-Änderungsbelegsystem protokolliert. | ||
| Bedeutung Die Verfolgung von Änderungen ist maßgeblich, um Nacharbeitsschleifen und deren Auswirkungen auf die Durchlaufzeits zu identifizieren. Eine hohe Änderungsfrequenz deutet auf Probleme mit der Datenqualität oder sich ändernde Anforderungen hin, die Schlüsselbereiche für die Prozessoptimierung darstellen. Datenquelle Explizit in den SAP-Änderungsbelegtabellen ( Erfassen Extrahieren Sie Änderungs-Ereignisse aus Ereignistyp explicit | |||
| Purchase Requisition zur Genehmigung eingereicht | Stellt den Moment dar, in dem der Antragsteller die Purchase Requisition formell einreicht und damit den Genehmigungs-Workflow auslöst. Dies wird in der Regel abgeleitet, wenn die Freigabestrategie der Purchase Requisition festgelegt wird und der Status zu 'In Genehmigung' wechselt. | ||
| Bedeutung Dies ist ein kritischer Meilenstein, der den Antrag bearbeitet.ie Messung der Genehmigungs-Durchlaufzeit-KPIs startet. Die Analyse der Zeit zwischen Erstellung und Einreichung kann Verzögerungen in der Purchase Requisitions-Vorbereitungsphase aufzeigen. Datenquelle Abgeleitet aus Änderungsbelegen ( Erfassen Identifizieren Sie den ersten Änderungsbelegeintrag, der den Antrag bearbeitet.en Start des Genehmigungs-Workflows oder eine Statusänderung auf 'In Genehmigung' anzeigt. Ereignistyp inferred | |||
| Purchase Requisition zurückgezogen | Tritt auf, wenn der ursprüngliche Antragsteller die Purchase Requisition storniert oder löscht, bevor sie vollständig bearbeitet wurde. Dies ist in der Regel eine explizite Aktion, die ein Löschkennzeichen für die Purchase Requisitionsposition setzt. | ||
| Bedeutung Das Verfolgen von Rückzügen hilft, die Nachfrageschwankungen und Gründe für Stornierungen zu verstehen. Es stellt einen Endzustand für die Purchase Requisition dar und verhindert eine weitere Bearbeitung. Datenquelle Explizit erfasst, wenn das Löschkennzeichen ( Erfassen Identifizieren Sie das Event, bei dem das Löschkennzeichen ( Ereignistyp explicit | |||
| Versorgungsquelle zugewiesen | Stellt die Aktion eines Einkäufers dar, einem genehmigten Purchase Requisitionsposition einen spezifischen Lieferanten, Vertrag oder Infosatz zuzuordnen. Dies ist ein wichtiger Schritt bei der Vorbereitung der Purchase Requisition für die Bestellgenerierung. | ||
| Bedeutung Diese Aktivität schließt die Lücke zwischen Genehmigung und Bestellung. Die Messung der Zeit bis zur Zuweisung einer Bezugsquelle hilft, Verzögerungen in der Arbeitslast des Einkäufers und der Beschaffungseffizienz zu identifizieren. Datenquelle Abgeleitet aus einem Wert, der in die quellbezogenen Felder den Antrag bearbeitet.er Tabelle Erfassen Verfolgen Sie die Befüllung von Feldern wie LIFNR, INFNR oder KONNR in der Tabelle EBAN über Änderungsbelege. Ereignistyp inferred | |||
Extraktionsanleitungen
Schritte
- Voraussetzungen: Stellen Sie sicher, dass Sie über einen Benutzer mit entsprechenden Berechtigungen in SAP S/4HANA verfügen, um auf die erforderlichen CDS-Views zugreifen zu können. Dies umfasst in der Regel Berechtigungen für Objekte wie
S_TABU_NAMund Zugriff auf Datenanzeigetools. - Systemzugriffsmethode identifizieren: Legen Sie fest, wie Sie sich mit der SAP S/4HANA-Datenbank verbinden, um SQL-Abfragen auszuführen. Gängige Tools sind SAP HANA Studio, die Eclipse IDE mit ADT (ABAP Development Tools) oder SQL-Clients von Drittanbietern wie DBeaver, die sich über den SAP HANA-Datenbankclient verbinden können.
- SQL-Abfrage prüfen: Machen Sie sich mit dem bereitgestellten SQL-Skript vertraut. Es verwendet Common Table Expressions (CTEs), um Daten für verschiedene Aktivitäten zu sammeln und diese zu einem einheitlichen Event Log zu vereinigen.
- Platzhalter anpassen: Suchen und ersetzen Sie die Platzhalter in der Abfrage. Sie müssen den Datumsbereich (im Format
[YYYY-MM-DD]) für den Extraktionszeitraum festlegen und die relevanten Buchungskreise ([Ihr Buchungskreis]) für Ihre Organisation angeben. - Abfrage ausführen: Führen Sie die vollständige, angepasste SQL-Abfrage gegen die SAP S/4HANA-Datenbank aus. Abhängig vom Datenvolumen und dem gewählten Datumsbereich kann diese Abfrage einige Zeit in Anspruch nehmen.
- Erste Datenprüfung: Sobald die Abfrage abgeschlossen ist, überprüfen Sie die ersten Zeilen der Ausgabe. Stellen Sie sicher, dass alle Spalten wie
PurchaseRequisitionId,ActivityNameundEreigniszeitpunkt (Event Time)wie erwartet gefüllt sind und die Datenformate korrekt sind. - Datenumwandlung beachten: Die bereitgestellte Abfrage ist darauf ausgelegt, Daten in einem für Process Mining vorbereiteten Format auszugeben. Die Funktionen
CASTundCONCATwerden verwendet, um die Konsistenz der Datentypen sicherzustellen. Es sollten keine größeren Transformationen nach der Ausführung erforderlich sein. - Event Log exportieren: Exportieren Sie das gesamte Ergebnis Ihrer SQL-Client-Sitzung in eine CSV-Datei. Stellen Sie sicher, dass die Dateikodierung auf UTF-8 eingestellt ist, um Zeichenprobleme zu vermeiden.
- Für den Upload vorbereiten: Überprüfen Sie vor dem Upload in ein Process-Mining-Tool, ob die CSV-Datei die korrekten Header (
PurchaseRequisitionId,ActivityName,Ereigniszeitpunkt (Event Time)usw.) enthält und dass das Datums- und Zeitformat fürEreigniszeitpunkt (Event Time)konsistent ist und von der Zielplattform unterstützt wird. - In ProcessMind hochladen: Laden Sie die fertige CSV-Datei in Ihr ProcessMind-Projekt hoch. Konfigurieren Sie das Projekt, indem Sie
PurchaseRequisitionIdals Case-ID,ActivityNameals Activity undEreigniszeitpunkt (Event Time)als Zeitstempel zuordnen.
Konfiguration
- Core CDS Views: Die Extraktion verwendet hauptsächlich
I_PurchaseRequisitionAPI01für zentrale Purchase RequisitionsDaten,I_ChangeDocumentundI_ChangeDocumentItemzur Nachverfolgung von Änderungen und Statusaktualisierungen sowieI_PurchaseOrderItemAPI01zur Verknüpfung mit Bestellungen. - Autorisierung: Der ausführende Benutzer benötigt Lesezugriff auf die oben genannten CDS-Views. Konsultieren Sie Ihr SAP-Sicherheitsteam bezüglich der notwendigen Rollen und Berechtigungen.
- Datumsbereichsfilterung: Es ist maßgeblich, einen Datumsbereichsfilter auf das Erstellungsdatum der Purchase Requisition (
CreationDate) anzuwenden, um das Datenvolumen zu begrenzen. Ein Bereich von 3 bis 6 Monaten Daten wird für eine erste Analyse empfohlen. - Organisatorische Filterung: Filtern Sie die Daten nach
CompanyCode, um sicherzustellen, dass Sie den Prozess für die korrekte Geschäftseinheit analysierenn. Sie können auch nachPurchaseRequisitionTypfiltern, um sich auf spezifische Beschaffungsprozesse zu konzentrieren, z. B. Standardwaren im Vergleich zu Dienstleistungen. - ÄnderungsbelegKonfiguration: Die Erfassung von Aktivitäten wie 'Purchase Requisition geändert' und verschiedene Genehmigungsschritte hängt davon ab, ob die Änderungsbelegprotokollierung für die relevanten Felder in Ihrem SAP-System aktiv ist. Falls diese Ereignisse fehlen, überprüfen Sie die SystemKonfiguration für Tabelle
EBAN. - Leistungsfähigkeit: Bei sehr großen Systemen mit Millionen von Purchase Requisitionen kann die Ausführung dieser Abfrage über einen längeren Zeitraum die Systemleistung beeinträchtigen. Ziehen Sie in Betracht, sie außerhalb der Spitzenzeiten oder in einer Nicht-Produktionsumgebung mit kürzlich aktualisierten Daten auszuführen.
a Beispielabfrage sql
WITH REQUISITIONS AS (
SELECT
PurchaseRequisition,
PurchaseRequisitionType,
PurReqnDescription,
CreatedByUser,
CreationDate,
CAST(CONCAT(CreationDate, 'T', LPAD(CreationTime, 6, '0')) AS TIMESTAMP) AS CreationTimestamp,
SourceOfSupplyIsAssigned
FROM I_PurchaseRequisitionAPI01
WHERE CreationDate BETWEEN '[YYYY-MM-DD]' AND '[YYYY-MM-DD]'
AND CompanyCode IN ('[Your Company Code]')
),
CHANGE_DOCS AS (
SELECT
ObjectValue AS PurchaseRequisition,
UserName,
CAST(CONCAT(CreationDate, 'T', LPAD(CreationTime, 6, '0')) AS TIMESTAMP) AS ChangeTimestamp,
FieldName,
ValueNew,
ValueOld
FROM I_ChangeDocument AS H
JOIN I_ChangeDocumentItem AS I
ON H.ChangeDocument = I.ChangeDocument
WHERE H.Objectclass = 'EINKBELEG'
AND H.CreationDate BETWEEN '[YYYY-MM-DD]' AND '[YYYY-MM-DD]'
)
-- 1. Requisition Created
SELECT
R.PurchaseRequisition AS "PurchaseRequisitionId",
'Requisition Created' AS "ActivityName",
R.CreationTimestamp AS "EventTime",
R.CreatedByUser AS "UserId",
NULL AS "ApproverId",
R.PurchaseRequisitionType AS "RequisitionType",
I.CostCenter AS "Department",
I.RequisitionPrice * I.RequestedQuantity AS "RequisitionAmount",
I.PurReqnProcessingStatus AS "RequisitionStatus"
FROM REQUISITIONS AS R
JOIN I_PurchaseRequisitionItemAPI01 AS I
ON R.PurchaseRequisition = I.PurchaseRequisition
UNION ALL
-- 2. Requisition Submitted For Approval & 5. Approval Step Started
SELECT
C.PurchaseRequisition AS "PurchaseRequisitionId",
CASE
WHEN C.ValueOld = ''
THEN 'Requisition Submitted For Approval'
ELSE 'Approval Step Started'
END AS "ActivityName",
C.ChangeTimestamp AS "EventTime",
R.CreatedByUser AS "UserId",
NULL AS "ApproverId",
R.PurchaseRequisitionType AS "RequisitionType",
I.CostCenter AS "Department",
I.RequisitionPrice * I.RequestedQuantity AS "RequisitionAmount",
I.PurReqnProcessingStatus AS "RequisitionStatus"
FROM CHANGE_DOCS AS C
JOIN REQUISITIONS AS R
ON C.PurchaseRequisition = R.PurchaseRequisition
JOIN I_PurchaseRequisitionItemAPI01 AS I
ON C.PurchaseRequisition = I.PurchaseRequisition
WHERE C.FieldName = 'FRGZU' AND C.ValueNew != ''
UNION ALL
-- 3. Requisition Amended
SELECT DISTINCT
C.PurchaseRequisition AS "PurchaseRequisitionId",
'Requisition Amended' AS "ActivityName",
C.ChangeTimestamp AS "EventTime",
C.UserName AS "UserId",
NULL AS "ApproverId",
R.PurchaseRequisitionType AS "RequisitionType",
I.CostCenter AS "Department",
I.RequisitionPrice * I.RequestedQuantity AS "RequisitionAmount",
I.PurReqnProcessingStatus AS "RequisitionStatus"
FROM CHANGE_DOCS AS C
JOIN REQUISITIONS AS R ON C.PurchaseRequisition = R.PurchaseRequisition
JOIN I_PurchaseRequisitionItemAPI01 AS I ON C.PurchaseRequisition = I.PurchaseRequisition
WHERE C.FieldName IN ('MENGE', 'PREIS', 'MATNR', 'LIFNR', 'INFNR')
AND C.ChangeTimestamp > R.CreationTimestamp
UNION ALL
-- 4. Approval Reset
SELECT
C.PurchaseRequisition AS "PurchaseRequisitionId",
'Approval Reset' AS "ActivityName",
C.ChangeTimestamp AS "EventTime",
C.UserName AS "UserId",
NULL AS "ApproverId",
R.PurchaseRequisitionType AS "RequisitionType",
I.CostCenter AS "Department",
I.RequisitionPrice * I.RequestedQuantity AS "RequisitionAmount",
I.PurReqnProcessingStatus AS "RequisitionStatus"
FROM CHANGE_DOCS AS C
JOIN REQUISITIONS AS R ON C.PurchaseRequisition = R.PurchaseRequisition
JOIN I_PurchaseRequisitionItemAPI01 AS I ON C.PurchaseRequisition = I.PurchaseRequisition
WHERE C.FieldName = 'FRGZU' AND C.ValueOld != '' AND C.ValueNew = ''
UNION ALL
-- 6. Approval Step Completed
SELECT
C.PurchaseRequisition AS "PurchaseRequisitionId",
'Approval Step Completed' AS "ActivityName",
C.ChangeTimestamp AS "EventTime",
NULL AS "UserId",
C.UserName AS "ApproverId",
R.PurchaseRequisitionType AS "RequisitionType",
I.CostCenter AS "Department",
I.RequisitionPrice * I.RequestedQuantity AS "RequisitionAmount",
I.PurReqnProcessingStatus AS "RequisitionStatus"
FROM CHANGE_DOCS AS C
JOIN REQUISITIONS AS R ON C.PurchaseRequisition = R.PurchaseRequisition
JOIN I_PurchaseRequisitionItemAPI01 AS I ON C.PurchaseRequisition = I.PurchaseRequisition
WHERE C.FieldName = 'FRGZU' AND C.ValueNew IN ('1', '2', '3', '4', '5', '6', '7') -- Adjust release codes as per your config
UNION ALL
-- 7. Requisition Approved
SELECT
C.PurchaseRequisition AS "PurchaseRequisitionId",
'Requisition Approved' AS "ActivityName",
C.ChangeTimestamp AS "EventTime",
NULL AS "UserId",
C.UserName AS "ApproverId",
R.PurchaseRequisitionType AS "RequisitionType",
I.CostCenter AS "Department",
I.RequisitionPrice * I.RequestedQuantity AS "RequisitionAmount",
I.PurReqnProcessingStatus AS "RequisitionStatus"
FROM CHANGE_DOCS AS C
JOIN REQUISITIONS AS R ON C.PurchaseRequisition = R.PurchaseRequisition
JOIN I_PurchaseRequisitionItemAPI01 AS I ON C.PurchaseRequisition = I.PurchaseRequisition
WHERE C.FieldName = 'FRGKE' AND C.ValueNew = '2' -- Final release indicator '2' is common for approved
UNION ALL
-- 8. Requisition Rejected
SELECT
C.PurchaseRequisition AS "PurchaseRequisitionId",
'Requisition Rejected' AS "ActivityName",
C.ChangeTimestamp AS "EventTime",
NULL AS "UserId",
C.UserName AS "ApproverId",
R.PurchaseRequisitionType AS "RequisitionType",
I.CostCenter AS "Department",
I.RequisitionPrice * I.RequestedQuantity AS "RequisitionAmount",
I.PurReqnProcessingStatus AS "RequisitionStatus"
FROM CHANGE_DOCS AS C
JOIN REQUISITIONS AS R ON C.PurchaseRequisition = R.PurchaseRequisition
JOIN I_PurchaseRequisitionItemAPI01 AS I ON C.PurchaseRequisition = I.PurchaseRequisition
WHERE C.FieldName = 'FRGZU' AND C.ValueNew = 'B' -- 'B' for Blocked/Rejected is a common setting
UNION ALL
-- 9. Requisition Withdrawn
SELECT
C.PurchaseRequisition AS "PurchaseRequisitionId",
'Requisition Withdrawn' AS "ActivityName",
C.ChangeTimestamp AS "EventTime",
C.UserName AS "UserId",
NULL AS "ApproverId",
R.PurchaseRequisitionType AS "RequisitionType",
I.CostCenter AS "Department",
I.RequisitionPrice * I.RequestedQuantity AS "RequisitionAmount",
I.PurReqnProcessingStatus AS "RequisitionStatus"
FROM CHANGE_DOCS AS C
JOIN REQUISITIONS AS R ON C.PurchaseRequisition = R.PurchaseRequisition
JOIN I_PurchaseRequisitionItemAPI01 AS I ON C.PurchaseRequisition = I.PurchaseRequisition
WHERE C.FieldName = 'LOEKZ' AND C.ValueNew = 'X'
UNION ALL
-- 10. Source of Supply Assigned
SELECT DISTINCT
C.PurchaseRequisition AS "PurchaseRequisitionId",
'Source of Supply Assigned' AS "ActivityName",
C.ChangeTimestamp AS "EventTime",
C.UserName AS "UserId",
NULL AS "ApproverId",
R.PurchaseRequisitionType AS "RequisitionType",
I.CostCenter AS "Department",
I.RequisitionPrice * I.RequestedQuantity AS "RequisitionAmount",
I.PurReqnProcessingStatus AS "RequisitionStatus"
FROM CHANGE_DOCS AS C
JOIN REQUISITIONS AS R ON C.PurchaseRequisition = R.PurchaseRequisition
JOIN I_PurchaseRequisitionItemAPI01 AS I ON C.PurchaseRequisition = I.PurchaseRequisition
WHERE C.FieldName IN ('LIFNR', 'INFNR') AND C.ValueNew != ''
AND C.ChangeTimestamp > R.CreationTimestamp
UNION ALL
-- 11. Purchase Order Created
SELECT DISTINCT
I.PurchaseRequisition AS "PurchaseRequisitionId",
'Purchase Order Created' AS "ActivityName",
CAST(CONCAT(H.PurchaseOrderDate, 'T', LPAD(H.CreationTime, 6, '0')) AS TIMESTAMP) AS "EventTime",
H.CreatedByUser AS "UserId",
NULL AS "ApproverId",
R.PurchaseRequisitionType AS "RequisitionType",
I.CostCenter AS "Department",
I.OrderPriceUnit * I.OrderQuantity AS "RequisitionAmount",
'PO Created' AS "RequisitionStatus"
FROM I_PurchaseOrderItemAPI01 AS I
JOIN I_PurchaseOrderAPI01 AS H
ON I.PurchaseOrder = H.PurchaseOrder
JOIN REQUISITIONS AS R
ON I.PurchaseRequisition = R.PurchaseRequisition
WHERE I.PurchaseRequisition IS NOT NULL AND I.PurchaseRequisition != ''
UNION ALL
-- 12. Requisition Closed
SELECT
C.PurchaseRequisition AS "PurchaseRequisitionId",
'Requisition Closed' AS "ActivityName",
C.ChangeTimestamp AS "EventTime",
C.UserName AS "UserId",
NULL AS "ApproverId",
R.PurchaseRequisitionType AS "RequisitionType",
I.CostCenter AS "Department",
I.RequisitionPrice * I.RequestedQuantity AS "RequisitionAmount",
I.PurReqnProcessingStatus AS "RequisitionStatus"
FROM CHANGE_DOCS AS C
JOIN REQUISITIONS AS R ON C.PurchaseRequisition = R.PurchaseRequisition
JOIN I_PurchaseRequisitionItemAPI01 AS I ON C.PurchaseRequisition = I.PurchaseRequisition
WHERE C.FieldName = 'EBAKZ' AND C.ValueNew = 'X' Schritte
- Voraussetzungen: Stellen Sie sicher, dass Sie über einen Benutzer mit entsprechenden Berechtigungen in SAP S/4HANA verfügen, um auf die erforderlichen CDS-Views zugreifen zu können. Dies umfasst in der Regel Berechtigungen für Objekte wie
S_TABU_NAMund Zugriff auf Datenanzeigetools. - Systemzugriffsmethode identifizieren: Legen Sie fest, wie Sie sich mit der SAP S/4HANA-Datenbank verbinden, um SQL-Abfragen auszuführen. Gängige Tools sind SAP HANA Studio, die Eclipse IDE mit ADT (ABAP Development Tools) oder SQL-Clients von Drittanbietern wie DBeaver, die sich über den SAP HANA-Datenbankclient verbinden können.
- SQL-Abfrage prüfen: Machen Sie sich mit dem bereitgestellten SQL-Skript vertraut. Es verwendet Common Table Expressions (CTEs), um Daten für verschiedene Aktivitäten zu sammeln und diese zu einem einheitlichen Event Log zu vereinigen.
- Platzhalter anpassen: Suchen und ersetzen Sie die Platzhalter in der Abfrage. Sie müssen den Datumsbereich (im Format
[YYYY-MM-DD]) für den Extraktionszeitraum festlegen und die relevanten Buchungskreise ([Ihr Buchungskreis]) für Ihre Organisation angeben. - Abfrage ausführen: Führen Sie die vollständige, angepasste SQL-Abfrage gegen die SAP S/4HANA-Datenbank aus. Abhängig vom Datenvolumen und dem gewählten Datumsbereich kann diese Abfrage einige Zeit in Anspruch nehmen.
- Erste Datenprüfung: Sobald die Abfrage abgeschlossen ist, überprüfen Sie die ersten Zeilen der Ausgabe. Stellen Sie sicher, dass alle Spalten wie
PurchaseRequisitionId,ActivityNameundEreigniszeitpunkt (Event Time)wie erwartet gefüllt sind und die Datenformate korrekt sind. - Datenumwandlung beachten: Die bereitgestellte Abfrage ist darauf ausgelegt, Daten in einem für Process Mining vorbereiteten Format auszugeben. Die Funktionen
CASTundCONCATwerden verwendet, um die Konsistenz der Datentypen sicherzustellen. Es sollten keine größeren Transformationen nach der Ausführung erforderlich sein. - Event Log exportieren: Exportieren Sie das gesamte Ergebnis Ihrer SQL-Client-Sitzung in eine CSV-Datei. Stellen Sie sicher, dass die Dateikodierung auf UTF-8 eingestellt ist, um Zeichenprobleme zu vermeiden.
- Für den Upload vorbereiten: Überprüfen Sie vor dem Upload in ein Process-Mining-Tool, ob die CSV-Datei die korrekten Header (
PurchaseRequisitionId,ActivityName,Ereigniszeitpunkt (Event Time)usw.) enthält und dass das Datums- und Zeitformat fürEreigniszeitpunkt (Event Time)konsistent ist und von der Zielplattform unterstützt wird. - In ProcessMind hochladen: Laden Sie die fertige CSV-Datei in Ihr ProcessMind-Projekt hoch. Konfigurieren Sie das Projekt, indem Sie
PurchaseRequisitionIdals Case-ID,ActivityNameals Activity undEreigniszeitpunkt (Event Time)als Zeitstempel zuordnen.
Konfiguration
- Core CDS Views: Die Extraktion verwendet hauptsächlich
I_PurchaseRequisitionAPI01für zentrale Purchase RequisitionsDaten,I_ChangeDocumentundI_ChangeDocumentItemzur Nachverfolgung von Änderungen und Statusaktualisierungen sowieI_PurchaseOrderItemAPI01zur Verknüpfung mit Bestellungen. - Autorisierung: Der ausführende Benutzer benötigt Lesezugriff auf die oben genannten CDS-Views. Konsultieren Sie Ihr SAP-Sicherheitsteam bezüglich der notwendigen Rollen und Berechtigungen.
- Datumsbereichsfilterung: Es ist maßgeblich, einen Datumsbereichsfilter auf das Erstellungsdatum der Purchase Requisition (
CreationDate) anzuwenden, um das Datenvolumen zu begrenzen. Ein Bereich von 3 bis 6 Monaten Daten wird für eine erste Analyse empfohlen. - Organisatorische Filterung: Filtern Sie die Daten nach
CompanyCode, um sicherzustellen, dass Sie den Prozess für die korrekte Geschäftseinheit analysierenn. Sie können auch nachPurchaseRequisitionTypfiltern, um sich auf spezifische Beschaffungsprozesse zu konzentrieren, z. B. Standardwaren im Vergleich zu Dienstleistungen. - ÄnderungsbelegKonfiguration: Die Erfassung von Aktivitäten wie 'Purchase Requisition geändert' und verschiedene Genehmigungsschritte hängt davon ab, ob die Änderungsbelegprotokollierung für die relevanten Felder in Ihrem SAP-System aktiv ist. Falls diese Ereignisse fehlen, überprüfen Sie die SystemKonfiguration für Tabelle
EBAN. - Leistungsfähigkeit: Bei sehr großen Systemen mit Millionen von Purchase Requisitionen kann die Ausführung dieser Abfrage über einen längeren Zeitraum die Systemleistung beeinträchtigen. Ziehen Sie in Betracht, sie außerhalb der Spitzenzeiten oder in einer Nicht-Produktionsumgebung mit kürzlich aktualisierten Daten auszuführen.
a Beispielabfrage sql
WITH REQUISITIONS AS (
SELECT
PurchaseRequisition,
PurchaseRequisitionType,
PurReqnDescription,
CreatedByUser,
CreationDate,
CAST(CONCAT(CreationDate, 'T', LPAD(CreationTime, 6, '0')) AS TIMESTAMP) AS CreationTimestamp,
SourceOfSupplyIsAssigned
FROM I_PurchaseRequisitionAPI01
WHERE CreationDate BETWEEN '[YYYY-MM-DD]' AND '[YYYY-MM-DD]'
AND CompanyCode IN ('[Your Company Code]')
),
CHANGE_DOCS AS (
SELECT
ObjectValue AS PurchaseRequisition,
UserName,
CAST(CONCAT(CreationDate, 'T', LPAD(CreationTime, 6, '0')) AS TIMESTAMP) AS ChangeTimestamp,
FieldName,
ValueNew,
ValueOld
FROM I_ChangeDocument AS H
JOIN I_ChangeDocumentItem AS I
ON H.ChangeDocument = I.ChangeDocument
WHERE H.Objectclass = 'EINKBELEG'
AND H.CreationDate BETWEEN '[YYYY-MM-DD]' AND '[YYYY-MM-DD]'
)
-- 1. Requisition Created
SELECT
R.PurchaseRequisition AS "PurchaseRequisitionId",
'Requisition Created' AS "ActivityName",
R.CreationTimestamp AS "EventTime",
R.CreatedByUser AS "UserId",
NULL AS "ApproverId",
R.PurchaseRequisitionType AS "RequisitionType",
I.CostCenter AS "Department",
I.RequisitionPrice * I.RequestedQuantity AS "RequisitionAmount",
I.PurReqnProcessingStatus AS "RequisitionStatus"
FROM REQUISITIONS AS R
JOIN I_PurchaseRequisitionItemAPI01 AS I
ON R.PurchaseRequisition = I.PurchaseRequisition
UNION ALL
-- 2. Requisition Submitted For Approval & 5. Approval Step Started
SELECT
C.PurchaseRequisition AS "PurchaseRequisitionId",
CASE
WHEN C.ValueOld = ''
THEN 'Requisition Submitted For Approval'
ELSE 'Approval Step Started'
END AS "ActivityName",
C.ChangeTimestamp AS "EventTime",
R.CreatedByUser AS "UserId",
NULL AS "ApproverId",
R.PurchaseRequisitionType AS "RequisitionType",
I.CostCenter AS "Department",
I.RequisitionPrice * I.RequestedQuantity AS "RequisitionAmount",
I.PurReqnProcessingStatus AS "RequisitionStatus"
FROM CHANGE_DOCS AS C
JOIN REQUISITIONS AS R
ON C.PurchaseRequisition = R.PurchaseRequisition
JOIN I_PurchaseRequisitionItemAPI01 AS I
ON C.PurchaseRequisition = I.PurchaseRequisition
WHERE C.FieldName = 'FRGZU' AND C.ValueNew != ''
UNION ALL
-- 3. Requisition Amended
SELECT DISTINCT
C.PurchaseRequisition AS "PurchaseRequisitionId",
'Requisition Amended' AS "ActivityName",
C.ChangeTimestamp AS "EventTime",
C.UserName AS "UserId",
NULL AS "ApproverId",
R.PurchaseRequisitionType AS "RequisitionType",
I.CostCenter AS "Department",
I.RequisitionPrice * I.RequestedQuantity AS "RequisitionAmount",
I.PurReqnProcessingStatus AS "RequisitionStatus"
FROM CHANGE_DOCS AS C
JOIN REQUISITIONS AS R ON C.PurchaseRequisition = R.PurchaseRequisition
JOIN I_PurchaseRequisitionItemAPI01 AS I ON C.PurchaseRequisition = I.PurchaseRequisition
WHERE C.FieldName IN ('MENGE', 'PREIS', 'MATNR', 'LIFNR', 'INFNR')
AND C.ChangeTimestamp > R.CreationTimestamp
UNION ALL
-- 4. Approval Reset
SELECT
C.PurchaseRequisition AS "PurchaseRequisitionId",
'Approval Reset' AS "ActivityName",
C.ChangeTimestamp AS "EventTime",
C.UserName AS "UserId",
NULL AS "ApproverId",
R.PurchaseRequisitionType AS "RequisitionType",
I.CostCenter AS "Department",
I.RequisitionPrice * I.RequestedQuantity AS "RequisitionAmount",
I.PurReqnProcessingStatus AS "RequisitionStatus"
FROM CHANGE_DOCS AS C
JOIN REQUISITIONS AS R ON C.PurchaseRequisition = R.PurchaseRequisition
JOIN I_PurchaseRequisitionItemAPI01 AS I ON C.PurchaseRequisition = I.PurchaseRequisition
WHERE C.FieldName = 'FRGZU' AND C.ValueOld != '' AND C.ValueNew = ''
UNION ALL
-- 6. Approval Step Completed
SELECT
C.PurchaseRequisition AS "PurchaseRequisitionId",
'Approval Step Completed' AS "ActivityName",
C.ChangeTimestamp AS "EventTime",
NULL AS "UserId",
C.UserName AS "ApproverId",
R.PurchaseRequisitionType AS "RequisitionType",
I.CostCenter AS "Department",
I.RequisitionPrice * I.RequestedQuantity AS "RequisitionAmount",
I.PurReqnProcessingStatus AS "RequisitionStatus"
FROM CHANGE_DOCS AS C
JOIN REQUISITIONS AS R ON C.PurchaseRequisition = R.PurchaseRequisition
JOIN I_PurchaseRequisitionItemAPI01 AS I ON C.PurchaseRequisition = I.PurchaseRequisition
WHERE C.FieldName = 'FRGZU' AND C.ValueNew IN ('1', '2', '3', '4', '5', '6', '7') -- Adjust release codes as per your config
UNION ALL
-- 7. Requisition Approved
SELECT
C.PurchaseRequisition AS "PurchaseRequisitionId",
'Requisition Approved' AS "ActivityName",
C.ChangeTimestamp AS "EventTime",
NULL AS "UserId",
C.UserName AS "ApproverId",
R.PurchaseRequisitionType AS "RequisitionType",
I.CostCenter AS "Department",
I.RequisitionPrice * I.RequestedQuantity AS "RequisitionAmount",
I.PurReqnProcessingStatus AS "RequisitionStatus"
FROM CHANGE_DOCS AS C
JOIN REQUISITIONS AS R ON C.PurchaseRequisition = R.PurchaseRequisition
JOIN I_PurchaseRequisitionItemAPI01 AS I ON C.PurchaseRequisition = I.PurchaseRequisition
WHERE C.FieldName = 'FRGKE' AND C.ValueNew = '2' -- Final release indicator '2' is common for approved
UNION ALL
-- 8. Requisition Rejected
SELECT
C.PurchaseRequisition AS "PurchaseRequisitionId",
'Requisition Rejected' AS "ActivityName",
C.ChangeTimestamp AS "EventTime",
NULL AS "UserId",
C.UserName AS "ApproverId",
R.PurchaseRequisitionType AS "RequisitionType",
I.CostCenter AS "Department",
I.RequisitionPrice * I.RequestedQuantity AS "RequisitionAmount",
I.PurReqnProcessingStatus AS "RequisitionStatus"
FROM CHANGE_DOCS AS C
JOIN REQUISITIONS AS R ON C.PurchaseRequisition = R.PurchaseRequisition
JOIN I_PurchaseRequisitionItemAPI01 AS I ON C.PurchaseRequisition = I.PurchaseRequisition
WHERE C.FieldName = 'FRGZU' AND C.ValueNew = 'B' -- 'B' for Blocked/Rejected is a common setting
UNION ALL
-- 9. Requisition Withdrawn
SELECT
C.PurchaseRequisition AS "PurchaseRequisitionId",
'Requisition Withdrawn' AS "ActivityName",
C.ChangeTimestamp AS "EventTime",
C.UserName AS "UserId",
NULL AS "ApproverId",
R.PurchaseRequisitionType AS "RequisitionType",
I.CostCenter AS "Department",
I.RequisitionPrice * I.RequestedQuantity AS "RequisitionAmount",
I.PurReqnProcessingStatus AS "RequisitionStatus"
FROM CHANGE_DOCS AS C
JOIN REQUISITIONS AS R ON C.PurchaseRequisition = R.PurchaseRequisition
JOIN I_PurchaseRequisitionItemAPI01 AS I ON C.PurchaseRequisition = I.PurchaseRequisition
WHERE C.FieldName = 'LOEKZ' AND C.ValueNew = 'X'
UNION ALL
-- 10. Source of Supply Assigned
SELECT DISTINCT
C.PurchaseRequisition AS "PurchaseRequisitionId",
'Source of Supply Assigned' AS "ActivityName",
C.ChangeTimestamp AS "EventTime",
C.UserName AS "UserId",
NULL AS "ApproverId",
R.PurchaseRequisitionType AS "RequisitionType",
I.CostCenter AS "Department",
I.RequisitionPrice * I.RequestedQuantity AS "RequisitionAmount",
I.PurReqnProcessingStatus AS "RequisitionStatus"
FROM CHANGE_DOCS AS C
JOIN REQUISITIONS AS R ON C.PurchaseRequisition = R.PurchaseRequisition
JOIN I_PurchaseRequisitionItemAPI01 AS I ON C.PurchaseRequisition = I.PurchaseRequisition
WHERE C.FieldName IN ('LIFNR', 'INFNR') AND C.ValueNew != ''
AND C.ChangeTimestamp > R.CreationTimestamp
UNION ALL
-- 11. Purchase Order Created
SELECT DISTINCT
I.PurchaseRequisition AS "PurchaseRequisitionId",
'Purchase Order Created' AS "ActivityName",
CAST(CONCAT(H.PurchaseOrderDate, 'T', LPAD(H.CreationTime, 6, '0')) AS TIMESTAMP) AS "EventTime",
H.CreatedByUser AS "UserId",
NULL AS "ApproverId",
R.PurchaseRequisitionType AS "RequisitionType",
I.CostCenter AS "Department",
I.OrderPriceUnit * I.OrderQuantity AS "RequisitionAmount",
'PO Created' AS "RequisitionStatus"
FROM I_PurchaseOrderItemAPI01 AS I
JOIN I_PurchaseOrderAPI01 AS H
ON I.PurchaseOrder = H.PurchaseOrder
JOIN REQUISITIONS AS R
ON I.PurchaseRequisition = R.PurchaseRequisition
WHERE I.PurchaseRequisition IS NOT NULL AND I.PurchaseRequisition != ''
UNION ALL
-- 12. Requisition Closed
SELECT
C.PurchaseRequisition AS "PurchaseRequisitionId",
'Requisition Closed' AS "ActivityName",
C.ChangeTimestamp AS "EventTime",
C.UserName AS "UserId",
NULL AS "ApproverId",
R.PurchaseRequisitionType AS "RequisitionType",
I.CostCenter AS "Department",
I.RequisitionPrice * I.RequestedQuantity AS "RequisitionAmount",
I.PurReqnProcessingStatus AS "RequisitionStatus"
FROM CHANGE_DOCS AS C
JOIN REQUISITIONS AS R ON C.PurchaseRequisition = R.PurchaseRequisition
JOIN I_PurchaseRequisitionItemAPI01 AS I ON C.PurchaseRequisition = I.PurchaseRequisition
WHERE C.FieldName = 'EBAKZ' AND C.ValueNew = 'X'