Ihre Datenvorlage für die Asset Management & Instandhaltung
Ihre Datenvorlage für die Asset Management & Instandhaltung
- Empfohlene Attribute zur Erfassung
- Kritische Instandhaltungsaktivitäten zur Verfolgung
- Technische Extraktionsanleitung für SAP PM
Attribute der Asset Management & Instandhaltung
| Name | Beschreibung | ||
|---|---|---|---|
| Aktivitätsname Activity | Die spezifische Aufgabe oder Statusänderung, die aufgetreten ist. | ||
| Beschreibung Stellt den im Instandhaltungsprozess durchgeführten Schritt dar, z.B. 'Instandhaltungsauftrag erstellt', 'Warenausgang gebucht' oder 'Auftragsvorgang bestätigt'. Diese werden in der Regel aus den Statusverwaltungstabellen (JEST) für Statusänderungen oder Transaktionstabellen (AFRU für Bestätigungen, MKPF für Materialbewegungen) abgeleitet. Dieses Attribut bestimmt die Knoten in der Prozesskarte. Bedeutung Dies definiert das 'Was' des Prozesses, unerlässlich für die Entdeckung des Prozessflusses und seiner Varianten. Datenquelle Abgeleitet aus JEST (Status), AFRU (Bestätigungen), QMEL (Meldungen) Beispiele Instandhaltungsauftrag erstelltAuftrag freigegebenTechnisch abgeschlossen | |||
| Ereignis-Zeitstempel EventTimestamp | Das genaue Datum und die Uhrzeit, zu der den Antrag bearbeitet.ie Aktivität stattfand. | ||
| Beschreibung Erfasst den genauen Zeitpunkt, zu dem ein Ereignis stattgefunden hat. Bei Statusänderungen ist dies die Zeit der Systemstatusaktualisierung; bei Operationsn ist es die Bestätigungszeit. Genaue Zeitstempel sind wichtig für die Berechnung von Durchlaufzeiten, Durchlaufzeiten und die Identifizierung von Engpässen zwischen Prozessschritten wie 'Planung' und 'Ausführung'. Bedeutung Erforderlich, um Ereignisse korrekt zu sequenzieren und alle dauerbasierten KPIs zu berechnen. Datenquelle JEST (UDATE/UTIME), AFRU (ISDD/ISDZ), MKPF (CPUDT/CPUTM) Beispiele 2023-10-15T08:30:00Z2023-10-15T14:45:12Z | |||
| Letzte Datenaktualisierung LastDataUpdate | Zeitstempel der letzten Datenextraktion. | ||
| Beschreibung Zeigt an, wann die Daten zuletzt im Process Mining Datenmodell aktualisiert wurden. Dies ermöglicht Analysten zu verstehen, wie aktuell die Erkenntnisse sind und hilft, die Datenaktualität für Dashboards zu validieren, die den Echtzeit-Backlog oder den Antrag bearbeitet.ie SLA-Einhaltung überwachen. Bedeutung Wesentlich für die Daten Governance und den Aufbau von Vertrauen in die Dashboards. Datenquelle ETL-Zeitstempel Beispiele 2023-11-01T12:00:00Z | |||
| Maintenance Work Order MaintenanceWorkOrder | Der eindeutige Identifikator für den Wartungsarbeitsauftrag. | ||
| Beschreibung Der Instandhaltungsarbeitsauftrag ist das zentrale Dokument in SAP Plant Maintenance (Tabelle AUFK, Feld AUFNR). Er verknüpft die Instandhaltungsanforderung (Meldung) mit den AusführungsRessourcen, Materialien und Kosten. In der Process-Mining-Analyse dient dies als Case-ID und ermöglicht die Rekonstruktion des End-to-End-Lebenszyklus eines Instandhaltungsauftrags von der Erstellung bis zum technischen und geschäftlichen Abschluss. Bedeutung Es ist der eindeutige Schlüssel, der alle Aktivitäten, Kosten und Zeitstempels zusammenführt und die Visualisierung des Prozessflusses ermöglicht. Datenquelle SAP Tabelle AUFK, Feld AUFNR Beispiele 00004001234540012345000040098765 | |||
| Quellsystem SourceSystem | Das System, aus dem die Daten stammen. | ||
| Beschreibung Identifiziert den spezifischen SAP-Mandanten oder den Antrag bearbeitet.ie Instanz (z.B. 'SAP_PM_PROD'). In Systemumgebungen mit mehreren ERP-Systemen hilft dieses Attribut, Datensätze zu unterscheiden, die identische IDs haben könnten, aber zu verschiedenen juristischen Einheiten oder Systemumgebungen gehören. Bedeutung Gewährleistet Daten-Einzigartigkeit und -Linie in Mehrsystemumgebungen. Datenquelle SystemKonfiguration / Extraktionsprotokoll Beispiele SAP_ECC_P01SAP_S4H_100 | |||
| Erstellt von Benutzer CreatedByUser | Der Benutzername der Person, die den Auftrag erstellt hat. | ||
| Beschreibung Identifiziert den Benutzer (ERNAM), der für die Initiierung des Arbeitsauftrags verantwortlich ist. Dies ist im generischen Modell auf 'Benutzer' abgebildet. Es ermöglicht die Analyse der manuellen vs. automatisierten Erstellung und hilft beim Auditing der Aktivität 'Instandhaltungsauftrag erstellt'. Bedeutung Ermöglicht die Analyse des Benutzerverhaltens und das Auditing. Datenquelle SAP Tabelle AUFK, Feld ERNAM Beispiele JSMITHBSERVICEDDAVIS | |||
| Funktionsort FunctionalLocation | Der hierarchische Standort, an dem die Anlage installiert ist. | ||
| Beschreibung Repräsentiert den Ort in der technischen Struktur, an dem die Wartungsaufgabe ausgeführt wird (TPLNR). Im Gegensatz zu Geräten, die beweglich sind, ist der technische Platz statisch. Dieses Attribut unterstützt das Dashboard 'Technische Prüfungszykluszeiten', indem es Leistungsvergleiche zwischen verschiedenen Bereichen der Anlage ermöglicht (z.B. Kesselraum vs. Verpackungslinie). Bedeutung Ermöglicht räumliche und hierarchische Analyse der Instandhaltungsleistung. Datenquelle SAP Tabelle IFLOT, Feld TPLNR (oder via AUFK-TPLNR) Beispiele PLANT1-BLD2-LN01US-TX-DAL-01 | |||
| Geplantes Enddatum TargetFinishDate | Das geplante Fertigstellungsdatum für die Wartungsarbeiten. | ||
| Beschreibung Dieses Datum (in der Regel Basisfinish-Datum – GLTRP) stellt die Frist für den Arbeitsauftrag dar. Es wird mit dem tatsächlichen Abschluss-Zeitstempel verglichen, um den KPI 'SLA-Quote' zu berechnen. Es ist die Basis zur Bestimmung, ob ein Arbeitsauftrag pünktlich oder verspätet ist. Bedeutung Der Referenzpunkt für alle Berechnungen zur Liefertermintreue (On-Time Delivery, OTD). Datenquelle SAP Tabelle AFKO, Feld GLTRP Beispiele 2023-12-012023-12-15 | |||
| Gerätenummer EquipmentNumber | Identifikator für die spezifische physische Anlage, die instandgehalten wird. | ||
| Beschreibung Die Equipmentnummer (EQUNR) identifiziert die einzelne Maschine oder den Antrag bearbeitet.as Anlagenobjekt. Durch die Aggregation von Daten in diesem Feld können Analysten das Dashboard 'Anlagenwartungskosten und Durchsatz' erstellen, um 'Problem-Anlagen' zu finden, die häufige, kostspielige Reparaturen erfordern. Dies ermöglicht eine leistungsstarkkeitsorientierte Wartungsanalyse. Bedeutung Verbindet die Prozessleistung mit spezifischen physischen Anlagen. Datenquelle SAP Tabelle AUFK, Feld EQUNR Beispiele 10004567PUMP-001HVAC-202 | |||
| Hauptarbeitsplatz MainWorkCenter | Der primäre Arbeitsplatz oder den Antrag bearbeitet.as Team, das mit der Ausführung des Auftrags betraut ist. | ||
| Beschreibung Das Hauptarbeitsplatz (VAPLZ) repräsentiert die Gruppe von Technikern oder Maschinen, die die physische Arbeit ausführen werden. Dieses Attribut wird auf 'Team' abgebildet und ist maßgeblich für die Analyse der Ausführungseffizienz, wie z.B. die 'mittlere Reparaturzeit' pro Team. Es hilft, zwischen internen Mitarbeitern und externen Dienstleistern zu unterscheiden. Bedeutung Ermöglicht eine Leistungsfähigkeit-Analyse auf Ressourcenebene. Datenquelle SAP Tabelle AFKO, Feld VAPLZ (oder AUFK-VAPLZ je nach Konfiguration) Beispiele MECH_01ELEC_TEAMEXT_CONT | |||
| Instandhaltungsauftragsart MaintenanceOrderType | Kategorisiert den Arbeitsauftrag (z.B. präventiv, korrektive). | ||
| Beschreibung Der Auftragstyp (AUART) in SAP PM unterscheidet die Art der Wartungsarbeit. Gängige Typn sind PM01 (Korrektur), PM02 (Präventiv) und PM03 (Instandsetzung). Dieses Attribut ist maßgeblich für den 'Notfallarbeitsauftrag-Auswirkungsmonitor' und zur Segmentierung von Prozessvarianten, da sich präventive Workflows erheblich von reaktiven unterscheiden. Bedeutung Grundlegend für die Segmentierung der Analyse zwischen geplanten und ungeplanten Arbeiten. Datenquelle SAP Tabelle AUFK, Feld AUART Beispiele PM01PM02PM03 | |||
| Instandhaltungspriorität MaintenancePriority | Die dem Arbeitsauftrag zugewiesene Dringlichkeitsstufe. | ||
| Beschreibung Gibt die Priorität (PRIOK) der Instandhaltungsaufgabe an, z.B. '1-Very High', '2-High' oder '3-Medium'. Dieses Feld ist die direkte Eingabe für den KPI 'Notfall-Instandhaltungsauftragsquote'. Die Analyse des Flusses nach Priorität hilft zu identifizieren, ob hochpriorisierte Aufträge im Vergleich zu Routinearbeiten tatsächlich beschleunigt durch das System geleitet werden. Bedeutung Wichtiger Treiber für die SLA-Analyse und die Identifizierung von Notfallarbeiten. Datenquelle SAP Tabelle AFKO, Feld PRIOK (oder AUFK via View) Beispiele 1-Emergency2-High3-Medium4-Low | |||
| Instandhaltungswerk MaintenancePlant | Das Logistikwerk, das für die Instandhaltung verantwortlich ist. | ||
| Beschreibung Das Werk (WERKS) ist die primäre Organisationseinheit in der Logistik. Es trennt Daten nach physischer Einrichtung. Dieses Attribut ist maßgeblich für das Benchmarking der Leistung an verschiedenen Standorten und wird auf 'BusinessUnit' abgebildet, um eine übergeordnete organisatorische Filterung in Dashboards zu unterstützen. Bedeutung Primärer Organisationsfilter für das Benchmarking von Anlagen. Datenquelle SAP Tabelle AUFK, Feld WERKS Beispiele 100020003000 | |||
| Meldungsnummer NotificationNumber | Die Instandhaltungsmeldung, die diesen Auftrag ausgelöst hat. | ||
| Beschreibung Die Meldungsnummer (QMNUM) verknüpft den Arbeitsauftrag zurück mit der initialen Anforderung (Meldung). Diese Verknüpfung ist notwendig, um die volle Durchlaufzeit von 'Wartungsanfrage erhalten' bis zur Fertigstellung zu berechnen. Ohne sie würde die Analyse die initiale Erkennungs- und Berichtsphase des WartungsLebenszyklus verpassen. Bedeutung Verbindet die Ausführungsphase wieder mit der Antrags-/Erkennungsphase. Datenquelle SAP Tabelle AUFK, Feld QMNUM Beispiele 1000050010000501 | |||
| Planungsgruppe ResponsiblePlannerGroup | Die Gruppe der Planer, die für die Bearbeitung des Auftrags verantwortlich ist. | ||
| Beschreibung Die Planungsgruppe (INGRP) identifiziert das spezifische Team oder den Antrag bearbeitet.ie Abteilung, die für die Planung der Wartungsarbeiten verantwortlich ist. Dies wird auf 'Abteilung' abgebildet und ist maßgeblich für das Dashboard 'Ressourcenauslastung und Planung', um zu identifizieren, welche Planungsteams Engpässe in der Vorbereitungsphase darstellen. Bedeutung Identifiziert das administrative Team, das den Planungsprozess verantwortet. Datenquelle SAP Tabelle AUFK, Feld INGRP Beispiele M01ELEMEC | |||
| Systemstatus SystemStatus | Der aktuelle technische Status des Auftrags (z.B. REL, TECO). | ||
| Beschreibung Eine verkettete Zeichenfolge oder Listee aktiver Systemstatus (aus JEST), die aktuell auf den Auftrag angewendet werden. Gängige Werte sind CRTD (Created), REL (Released), TECO (Technically Completed) und CLSD (Closed). Dies hilft beim Filtern von offenen vs. geschlossenen Fälle im 'Backlog and Work In Progress Monitor'. Bedeutung Der primäre Indikator für die Lebenszyklusphase des Auftrags. Datenquelle SAP Funktionsbaustein STATUS_TEXT_EDIT oder Tabelle JEST Beispiele REL CNFTECOCRTD MACM | |||
| Geplante Arbeitsstunden PlannedLaborHours | Die geschätzten Arbeitsstunden für den Auftrag. | ||
| Beschreibung Die gesamte geplante Arbeitsleistung (ARBEI) aus den Auftragsvorgängen. Der Vergleich mit der tatsächlichen Aktivitätsdauer hilft im Dashboard 'Planungs- und Schätzleistung', die Genauigkeit der Wartungsplanung zu beurteilen. Bedeutung Basismetrik für die Analyse der Planungsgenauigkeit. Datenquelle SAP Tabelle AFKO (Summe der geplanten Arbeitsleistung des Vorgangs) Beispiele 4.08.512.0 | |||
| Gesamte Ist-Kosten TotalActualCost | Die gesamten Istkosten, die dem Arbeitsauftrag zugeordnet wurden. | ||
| Beschreibung Aggregierte Kosten für Arbeit, Materialien und Dienstleistungen (aus Tabelle PMCO). Dieses Attribut unterstützt das Dashboard 'Kosten und Durchsatz der Asset Management & Instandhaltung' und ermöglicht es Managern, die finanziellen Auswirkungen von Instandhaltungsaktivitäten zu sehen. Es ist maßgeblich für die Bestimmung der Kosteneffizienz von Reparatur gegenüber Ersatz von Anlagen. Bedeutung Bietet die finanzielle Dimension zu den operativen ProzessDaten. Datenquelle SAP Tabelle PMCO (Summe des Wertetyps 04 – Ist) Beispiele 150.002500.500.00 | |||
| Ist Nacharbeit IsRework | Kennzeichen, das angibt, ob der Auftrag Nacharbeitsaktivitäten umfasste. | ||
| Beschreibung Ein berechneter Boolean-Wert, der anzeigt, ob eine Prozessschleife aufgetreten ist, insbesondere wenn die Aktivität 'Maintenance Aufgabe Executed' mehr als einmal stattfand oder wenn der Status von 'Technically Completed' zu 'In Process' zurückgesetzt wurde. Dies unterstützt den KPI 'Instandhaltungs-Nacharbeitsquote' und hilft, Qualitätsprobleme zu identifizieren. Bedeutung Unterstützt direkt die Qualitätskontrollanalyse. Datenquelle Berechnet aus dem Prozessfluss Beispiele JaNein | |||
| Ist Notfallarbeit IsEmergencyWork | Flag, das anzeigt, ob der Arbeitsauftrag ein Notfall ist. | ||
| Beschreibung Ein boolesches Attribut, das basierend auf der Instandhaltungspriorität berechnet wird. Wenn die Priorität '1' (oder den Antrag bearbeitet.er spezifische Code für Notfall in der Konfiguration) ist, ist dieses Flag wahr. Dies vereinfacht das Filtern und das Erstellen des KPIs 'Notfall-Instandhaltungsauftragsquote' ohne komplexe Logik in der Dashboard-Schicht. Bedeutung Vereinfacht die Filterung für die Analyse kritischer reaktiver Wartung. Datenquelle Berechnet aus Instandhaltungspriorität Beispiele JaNein | |||
Asset Management & Instandhaltungs-Aktivitäten
| Aktivität | Beschreibung | ||
|---|---|---|---|
| Auftragsvorgang bestätigt | Stellt die Erfassung der tatsächlich von einem Techniker für einen bestimmten Vorgang aufgewendeten Zeit dar. Dies erfasst die tatsächliche Ausführungsarbeit an der Anlage. | ||
| Bedeutung Diese Aktivität ist die primäre Datenquelle für die Berechnung der mittleren Reparaturzeit und der Arbeitskosten. Datenquelle Tabelle AFRU (Auftragsrückmeldungen). Erfassen Protokolliert, wenn Transaktion IW41 ausgeführt wurde Ereignistyp explicit | |||
| Geschäftlicher Abschluss gesetzt | Kennzeichnet den finalen administrativen Abschluss des Arbeitsauftrags, der weitere Kostenbuchungen verhindert. Erfasst über die Statusänderung auf CLSD (Geschlossen). | ||
| Bedeutung Stellt das absolute Ende des AuftragsLebenszyklus dar, wichtig für Datenintegrität und Aufzeichnungs-Compliance. Datenquelle Tabelle JCDS, Status I0046 (CLSD). Erfassen Protokolliert, wenn Status in JCDS auf CLSD aktualisiert wird Ereignistyp explicit | |||
| Instandhaltungsauftrag erstellt | Kennzeichnet die Generierung des Instandhaltungsarbeitsauftragsobjekts im System. Explizit erfasst aus dem Creation Zeitstempel der AuftragsstammDatentabelle. | ||
| Bedeutung Dies ist das zentrale Anker-Event für den Case, das den Übergang von der Anfrage zur Planung und Ausführung markiert. Datenquelle Tabelle AUFK, Feld ERDAT (Datum) und ERFZEIT (Uhrzeit). Erfassen Protokolliert, wenn Transaktion IW31 ausgeführt wurde Ereignistyp explicit | |||
| Instandhaltungsauftrag freigegeben | Zeigt an, dass die Planung abgeschlossen ist und der Auftrag zur Ausführung freigegeben wurde. Erfasst durch Monitoring der Statusänderung auf REL in den Systemstatus-Logs. | ||
| Bedeutung Dieser Meilenstein trennt die Planungsphase von der Ausführungsphase, wichtig für die Messung der Planungs- und Schätzungsdurchlaufzeit. Datenquelle Tabelle JCDS (Statusänderungsbelege), Status I0002 (REL). Erfassen Protokolliert, wenn Status in JCDS auf REL aktualisiert wird Ereignistyp explicit | |||
| Technische Fertigstellung gesetzt | Kennzeichnet die Instandhaltungsarbeit als physisch und technisch beendet. Erfasst über die Statusänderung auf TECO (Technically Completed). | ||
| Bedeutung Der wichtigste Endpunkt für die operative Analyse, der anzeigt, dass die Anlage wiederhergestellt und die Wartung abgeschlossen ist. Datenquelle Tabelle JCDS, Status I0045 (TECO). Erfassen Protokolliert, wenn Status in JCDS auf TECO aktualisiert wird Ereignistyp explicit | |||
| Warenausgang gebucht | Erfasst den physischen Verbrauch von Ersatzteilen oder Materialien für den Arbeitsauftrag. Erhoben aus Materialbelegköpfen, die mit dem Auftrag verknüpft sind. | ||
| Bedeutung Bestätigt, dass Teile verfügbar sind und entnommen wurden, was sich direkt auf die Analyse der Wartezeit für Teileverfügbarkeit auswirkt. Datenquelle Tabelle MSEG/MKPF, Bewegungsart 261 (Warenausgang für Auftrag). Erfassen Protokolliert, wenn Transaktion MIGO/MB1A ausgeführt wurde Ereignistyp explicit | |||
| `Purchase Requisition` erstellt | Signalisiert, dass eine Anforderung für externe Beschaffung oder Dienstleistungen generiert wurde. Dies verbindet den internen Wartungsauftrag mit der externen Lieferkettenmanagement. | ||
| Bedeutung Wesentlich für die Analyse von Verzögerungen, die durch externe Anbieter oder den Antrag bearbeitet.ie Beschaffung von Nicht-Lagermaterial verursacht werden. Datenquelle Tabelle EBAN, verknüpft über Kontierung mit AUFK-AUFNR. Erfassen Protokolliert, wenn EBAN-Datensatz erstellt wurde Ereignistyp explicit | |||
| Arbeitsauftrag geplant | Zeigt die spezifische Terminierung von Operationsn auf eine Kapazität oder ein Datum an. Abgeleitet aus der Zuweisung des Dispatch-Status zu Operationsn. | ||
| Bedeutung Misst die Effizienz der Ressourcenallokation und unterstützt das Dashboard für Ressourcenauslastung und Planung. Datenquelle Tabelle JCDS (Statusänderungsbelege) für Operations (ObjTyp OV), Status I0009 (DSPT). Erfassen Statusfeld vor/nachher vergleichen Ereignistyp inferred | |||
| Auftragskosten abgerechnet | Zeigt an, dass die auf den Auftrag gesammelten Kosten auf das Controlling-Objekt (z.B. Kostenstelle) übertragen wurden. Erfasst aus dem Controlling-Dokument. | ||
| Bedeutung Verfolgt den finanziellen Abschlussaspekt und unterstützt den KPI 'Dauer der Finanzabrechnung'. Datenquelle Tabelle COBK (CO-Objekt: Belegkopf), mit Auftrag verknüpft. Erfassen Protokolliert, wenn Abrechnungstransaktion KO88 ausgeführt wurde Ereignistyp explicit | |||
| Instandhaltungsmeldung erstellt | Erfasst die initiale Erstellung einer Instandhaltungsmeldung, die oft der Auslöser für einen Arbeitsauftrag ist. Diese Aktivität, erfasst über den Erstellungs-Zeitstempel der QMEL-Tabelle, verknüpft die vorgelagerte Anfrage mit dem Ausführungsauftrag. | ||
| Bedeutung Diese Aktivität markiert den Beginn des End-to-End-Wartungsprozesses und ermöglicht die Berechnung der Reaktionszeiten zwischen Fehlererkennung und Auftragserstellung. Datenquelle Tabelle QMEL, Feld ERDAT (Erstellungsdatum) und MZEIT (Uhrzeit). Verknüpft mit Auftrag über QMEL-AUFNR. Erfassen Protokolliert, wenn Datensatz in QMEL-Tabelle erstellt wurde Ereignistyp explicit | |||
| Instandhaltungspriorität geändert | Protokolliert eine Aktualisierung des Prioritätsniveaus des Arbeitsauftrags, z.B. die Eskalation zum Notfall. Abgeleitet aus Änderungsbelegen, die mit den AuftragsstammDaten verknüpft sind. | ||
| Bedeutung Die Nachverfolgung von Prioritätsänderungen erklärt Prozessabweichungen und unterstützt den 'Notfallarbeitsauftrag-Auswirkungsmonitor' durch die Identifizierung reaktiver Eskalationen. Datenquelle Tabelle CDPOS/CDHDR für Objektklasse AUFTRAG, Feld PRIOK. Erfassen Protokolliert in Änderungsbelegen (CDPOS) Ereignistyp explicit | |||
| Materialkomponente hinzugefügt | Erfasst die Hinzufügung von Ersatzteilen oder Materialien zur Komponentenliste des Arbeitsauftrags. Erhoben aus der Erstellung einer Reservierungsposition. | ||
| Bedeutung Identifiziert den Beginn des Beschaffungszyklus für benötigte Teile und unterstützt das Dashboard 'Durchlaufzeiten der Ersatzteilbeschaffung'. Datenquelle Tabelle RESB, Feld BDTER (Bedarfsdatum) oder Erstellungs-Zeitstempel. Erfassen Protokolliert, wenn Position zu RESB hinzugefügt wurde Ereignistyp explicit | |||
| Messwert erfasst | Protokolliert die Erfassung eines Messbelegs, wie z.B. eine Zählerablesung oder Zustandsbewertung. Dient oft als Event der technischen Inspektion. | ||
| Bedeutung Essentiell für die zustandsbasierte Instandhaltung und die Verfolgung der Durchlaufzeiten technischer Inspektionen. Datenquelle Tabelle IMRG (Messbeleg), verknüpft mit Equipment oder Technischem Platz. Erfassen Protokolliert, wenn Messbeleg erstellt wurde Ereignistyp explicit | |||
| Technische Fertigstellung rückgängig gemacht | Erfasst den Widerruf des Status 'Technisch abgeschlossen', was darauf hinweist, dass der Auftrag wieder geöffnet wurde. Dies erzeugt eine Nacharbeitsschleife im Prozessmodell. | ||
| Bedeutung Primärer Indikator für den KPI der Wartungsnacharbeitsquote, der vorzeitige Abschlüsse oder Qualitätsprobleme aufzeigt. Datenquelle Tabelle JCDS, Status I0045 (TECO) Wechsel zu Inaktiv. Erfassen Protokolliert, wenn TECO-Status deaktiviert wurde Ereignistyp explicit | |||
Extraktionsanleitungen
Schritte
Datenschnittstelle identifizieren: Bestimmen Sie, wie Sie auf die SAP S/4HANA SQL-Schnittstelle zugreifen werden. Dies geschieht in der Regel über SAP HANA Studio, die ABAP Development Tools (ADT) in Eclipse oder eine DBaaS-Verbindungszeichenfolge, falls die HANA-Datenbank Ihrer Analyseschicht ausgesetzt ist.
CDS View Verfügbarkeit überprüfen: Stellen Sie sicher, dass die Standard Core Daten Dienste (CDS) Views in Ihrem S/4HANA-System aktiv sind. Die primär benötigten Views sind I_MaintenanceOrder, I_MaintenanceOrderOperation, I_MaintenanceNotification, I_MaintOrderConfirmation und I_MeasurementDocument. Sie benötigen außerdem Zugriff auf die Systemstatus-Historientabelle JCDS und die Änderungsbelegtabellen (CDHDR/CDPOS), um den vollständigen Eventverlauf zu rekonstruieren, da Standard-CDS Views oft nur den aktuellen Zustand zeigen.
SQL-Umgebung vorbereiten: Öffnen Sie Ihren SQL-Editor. Stellen Sie sicher, dass Ihr Benutzer SELECT-Berechtigungen für die oben aufgeführten DDL SQL Views (üblicherweise Schema SAPABAP1 oder ähnlich) besitzt.
Extraktionsabfrage ausführen: Kopieren Sie das bereitgestellte SQL-Skript in Ihren Editor. Ersetzen Sie den Platzhalter [Ihre Mandantennummer] durch Ihre spezifische SAP-Mandanten-ID (z.B. 100). Wenn Sie nach einem bestimmten Datumsbereich filtern, aktualisieren Sie die Event Zeitstempel-Filter in den WHERE-Klauseln.
Daten-Transformation: Die Abfrage übernimmt die meisten Transformationen, wie das Umwandeln von Zeitstempels und das Zuordnen von Statuscodes zu lesbarem Text. Stellen Sie jedoch sicher, dass die Event Zeitstempel-Spalte beim Export in das ISO 8601-Format (JJJJ-MM-TTTHH:MM:SS) formatiert ist, falls Ihr Zielsystem dies erfordert.
Ergebnis exportieren: Führen Sie die Abfrage aus und exportieren Sie die Resultate in eine CSV- oder Parquet-Datei. Stellen Sie sicher, dass die Kodierung auf UTF-8 eingestellt ist, um Sonderzeichen in Benutzernamen oder Beschreibungen zu verarbeiten.
Spaltenzuordnung validieren: Öffnen Sie eine Stichprobe des Exports und stellen Sie sicher, dass die Spalten MaintenanceWorkOrder, Activity und EventZeitstempel vollständig gefüllt sind. Überprüfen Sie, dass die Aktivitätsspalte die in den Anforderungen aufgeführten spezifischen Strings enthält (z.B. Maintenance Order Created, Goods Issue Posted).
Upload zu ProcessMind: Importieren Sie die validierte Flatfile in ProcessMind. Ordnen Sie die Aktivitätsspalte dem Aktivitäts-ID-Feld zu, MaintenanceWorkOrder den Antrag bearbeitet.em Case-ID-Feld und EventZeitstempel dem Zeitstempel-Feld zu.
Konfiguration
- Client-Filter: SAP-Systeme sind mandantenfähig. Filtern Sie immer nach
MANDToderClient(z.B. '100'), um doppelte Daten oder mandantenübergreifende Datenlecks zu vermeiden. - Datumsbereich: Es wird empfohlen, das
CreationDatedes Instandhaltungsauftrags auf die letzten 6 bis 12 Monate zu filtern. Eine Abfrage des gesamten Verlaufs vonJCDS(Status) oderCDPOS(Änderungsbelege) ohne Datumsfilter kann zu Leistungsfähigkeit-Timeouts führen. - Sprachschlüssel: Die Abfrage ist standardmäßig auf Englisch ('E') eingestellt. Wenn Ihr Unternehmen eine andere primäre Sprache für Textbeschreibungen verwendet, passen Sie den Sprachfilter an.
- Systemzugang: Erfordert Zugriff auf das ABAP Core Daten Dienste Schema oder den Antrag bearbeitet.ie zugrunde liegenden HANA-Tabellen. Der Zugriff auf die RohDaten-Tabellen JCDS und CDHDR ist maßgeblich für die historische Statusanalyse, da reine CDS-Views oft snapshot-basiert sind.
- Auftragsarten: Die Abfrage extrahiert alle Auftragsarten. Sie können
MaintenanceOrderTyp(z.B. nur PM01, PM02) filtern, wenn Sie nur spezifische Instandhaltungsszenarien analysierenn möchten.
a Beispielabfrage sql
/* Activity 1: Maintenance Notification Created */
SELECT
CAST(N.MaintenanceOrder AS VARCHAR(20)) AS MaintenanceWorkOrder,
'Maintenance Notification Created' AS Activity,
TO_TIMESTAMP(CONCAT(CONCAT(N.CreationDate, ' '), N.CreationTime), 'YYYYMMDD HH24MISS') AS EventTimestamp,
'SAP S/4HANA' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
N.MaintenanceOrderType,
N.MaintenancePriority,
N.Equipment AS EquipmentNumber,
N.FunctionalLocation,
N.MaintenancePlant,
N.MaintenancePlannerGroup AS ResponsiblePlannerGroup,
N.MainWorkCenter,
N.MaintenanceNotification AS NotificationNumber,
CAST(NULL AS DATE) AS TargetFinishDate,
N.CreatedByUser,
O.SystemStatusName AS SystemStatus
FROM I_MaintenanceNotification N
JOIN I_MaintenanceOrder O ON N.MaintenanceOrder = O.MaintenanceOrder
WHERE N.MaintenanceOrder IS NOT NULL AND N.MaintenanceOrder <> ''
UNION ALL
/* Activity 2: Maintenance Order Created */
SELECT
CAST(O.MaintenanceOrder AS VARCHAR(20)) AS MaintenanceWorkOrder,
'Maintenance Order Created' AS Activity,
O.CreationDate AS EventTimestamp,
'SAP S/4HANA' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
O.MaintenanceOrderType,
O.MaintenancePriority,
O.Equipment AS EquipmentNumber,
O.FunctionalLocation,
O.MaintenancePlant,
O.ResponsiblePlannerGroup,
O.MainWorkCenter,
O.MaintenanceNotification AS NotificationNumber,
O.BasicEndDateTime AS TargetFinishDate,
O.CreatedByUser,
O.SystemStatusName AS SystemStatus
FROM I_MaintenanceOrder O
UNION ALL
/* Activity 3: Maintenance Priority Changed */
SELECT
CAST(O.MaintenanceOrder AS VARCHAR(20)) AS MaintenanceWorkOrder,
'Maintenance Priority Changed' AS Activity,
TO_TIMESTAMP(CONCAT(CONCAT(H.UDATE, ' '), H.UTIME), 'YYYYMMDD HH24MISS') AS EventTimestamp,
'SAP S/4HANA' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
O.MaintenanceOrderType,
O.MaintenancePriority,
O.Equipment AS EquipmentNumber,
O.FunctionalLocation,
O.MaintenancePlant,
O.ResponsiblePlannerGroup,
O.MainWorkCenter,
O.MaintenanceNotification AS NotificationNumber,
O.BasicEndDateTime AS TargetFinishDate,
H.USERNAME AS CreatedByUser,
O.SystemStatusName AS SystemStatus
FROM CDHDR H
JOIN CDPOS P ON H.OBJECTCLAS = P.OBJECTCLAS AND H.OBJECTID = P.OBJECTID AND H.CHANGENR = P.CHANGENR
JOIN I_MaintenanceOrder O ON O.MaintenanceOrder = H.OBJECTID
WHERE H.OBJECTCLAS = 'ORDER'
AND P.TABNAME = 'AFKO'
AND P.FNAME = 'PRIOK'
UNION ALL
/* Activity 4: Maintenance Order Released */
SELECT
CAST(O.MaintenanceOrder AS VARCHAR(20)) AS MaintenanceWorkOrder,
'Maintenance Order Released' AS Activity,
TO_TIMESTAMP(CONCAT(CONCAT(J.UDATE, ' '), J.UTIME), 'YYYYMMDD HH24MISS') AS EventTimestamp,
'SAP S/4HANA' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
O.MaintenanceOrderType,
O.MaintenancePriority,
O.Equipment AS EquipmentNumber,
O.FunctionalLocation,
O.MaintenancePlant,
O.ResponsiblePlannerGroup,
O.MainWorkCenter,
O.MaintenanceNotification AS NotificationNumber,
O.BasicEndDateTime AS TargetFinishDate,
J.USNAM AS CreatedByUser,
O.SystemStatusName AS SystemStatus
FROM JCDS J
JOIN I_MaintenanceOrder O ON J.OBJNR = CONCAT('OR', O.MaintenanceOrder)
WHERE J.STAT = 'I0002' /* REL Status */
AND J.INACT = ' '
UNION ALL
/* Activity 5: Material Component Added */
SELECT
CAST(C.MaintenanceOrder AS VARCHAR(20)) AS MaintenanceWorkOrder,
'Material Component Added' AS Activity,
TO_TIMESTAMP(CONCAT(CONCAT(C.CreationDate, ' '), COALESCE(C.CreationTime, '000000')), 'YYYYMMDD HH24MISS') AS EventTimestamp,
'SAP S/4HANA' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
O.MaintenanceOrderType,
O.MaintenancePriority,
O.Equipment AS EquipmentNumber,
O.FunctionalLocation,
O.MaintenancePlant,
O.ResponsiblePlannerGroup,
O.MainWorkCenter,
O.MaintenanceNotification AS NotificationNumber,
O.BasicEndDateTime AS TargetFinishDate,
O.CreatedByUser,
O.SystemStatusName AS SystemStatus
FROM I_MaintenanceOrderComponent C
JOIN I_MaintenanceOrder O ON C.MaintenanceOrder = O.MaintenanceOrder
UNION ALL
/* Activity 6: Purchase Requisition Created */
SELECT
CAST(O.MaintenanceOrder AS VARCHAR(20)) AS MaintenanceWorkOrder,
'Purchase Requisition Created' AS Activity,
PR.CreationDate AS EventTimestamp,
'SAP S/4HANA' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
O.MaintenanceOrderType,
O.MaintenancePriority,
O.Equipment AS EquipmentNumber,
O.FunctionalLocation,
O.MaintenancePlant,
O.ResponsiblePlannerGroup,
O.MainWorkCenter,
O.MaintenanceNotification AS NotificationNumber,
O.BasicEndDateTime AS TargetFinishDate,
PR.CreatedByUser,
O.SystemStatusName AS SystemStatus
FROM I_PurchasingDocumentItem PR
JOIN I_MaintenanceOrder O ON PR.ServiceMaintenanceOrder = O.MaintenanceOrder
WHERE PR.PurchasingDocumentCategory = 'B' /* Requisition */
UNION ALL
/* Activity 7: Goods Issue Posted */
SELECT
CAST(O.MaintenanceOrder AS VARCHAR(20)) AS MaintenanceWorkOrder,
'Goods Issue Posted' AS Activity,
TO_TIMESTAMP(CONCAT(CONCAT(MD.CreationDate, ' '), MD.CreationTime), 'YYYYMMDD HH24MISS') AS EventTimestamp,
'SAP S/4HANA' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
O.MaintenanceOrderType,
O.MaintenancePriority,
O.Equipment AS EquipmentNumber,
O.FunctionalLocation,
O.MaintenancePlant,
O.ResponsiblePlannerGroup,
O.MainWorkCenter,
O.MaintenanceNotification AS NotificationNumber,
O.BasicEndDateTime AS TargetFinishDate,
MD.CreatedByUser,
O.SystemStatusName AS SystemStatus
FROM I_MaterialDocumentItem MD
JOIN I_MaintenanceOrder O ON MD.MaintenanceOrder = O.MaintenanceOrder
WHERE MD.GoodsMovementType = '261'
UNION ALL
/* Activity 8: Work Order Scheduled (Operation Dispatched) */
SELECT
CAST(O.MaintenanceOrder AS VARCHAR(20)) AS MaintenanceWorkOrder,
'Work Order Scheduled' AS Activity,
TO_TIMESTAMP(CONCAT(CONCAT(J.UDATE, ' '), J.UTIME), 'YYYYMMDD HH24MISS') AS EventTimestamp,
'SAP S/4HANA' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
O.MaintenanceOrderType,
O.MaintenancePriority,
O.Equipment AS EquipmentNumber,
O.FunctionalLocation,
O.MaintenancePlant,
O.ResponsiblePlannerGroup,
O.MainWorkCenter,
O.MaintenanceNotification AS NotificationNumber,
O.BasicEndDateTime AS TargetFinishDate,
J.USNAM AS CreatedByUser,
O.SystemStatusName AS SystemStatus
FROM JCDS J
JOIN I_MaintenanceOrderOperation OP ON J.OBJNR = OP.MaintenanceOrderOperationInternalID
JOIN I_MaintenanceOrder O ON OP.MaintenanceOrder = O.MaintenanceOrder
WHERE J.STAT = 'I0019' /* DSP Dispatched Status */
AND J.INACT = ' '
UNION ALL
/* Activity 9: Order Operation Confirmed */
SELECT
CAST(CNF.MaintenanceOrder AS VARCHAR(20)) AS MaintenanceWorkOrder,
'Order Operation Confirmed' AS Activity,
TO_TIMESTAMP(CONCAT(CONCAT(CNF.CreationDate, ' '), CNF.CreationTime), 'YYYYMMDD HH24MISS') AS EventTimestamp,
'SAP S/4HANA' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
O.MaintenanceOrderType,
O.MaintenancePriority,
O.Equipment AS EquipmentNumber,
O.FunctionalLocation,
O.MaintenancePlant,
O.ResponsiblePlannerGroup,
O.MainWorkCenter,
O.MaintenanceNotification AS NotificationNumber,
O.BasicEndDateTime AS TargetFinishDate,
CNF.CreatedByUser,
O.SystemStatusName AS SystemStatus
FROM I_MaintOrderConfirmation CNF
JOIN I_MaintenanceOrder O ON CNF.MaintenanceOrder = O.MaintenanceOrder
WHERE CNF.IsReversed = ' '
UNION ALL
/* Activity 10: Measurement Reading Recorded */
SELECT
CAST(O.MaintenanceOrder AS VARCHAR(20)) AS MaintenanceWorkOrder,
'Measurement Reading Recorded' AS Activity,
TO_TIMESTAMP(CONCAT(CONCAT(M.CreationDate, ' '), M.CreationTime), 'YYYYMMDD HH24MISS') AS EventTimestamp,
'SAP S/4HANA' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
O.MaintenanceOrderType,
O.MaintenancePriority,
O.Equipment AS EquipmentNumber,
O.FunctionalLocation,
O.MaintenancePlant,
O.ResponsiblePlannerGroup,
O.MainWorkCenter,
O.MaintenanceNotification AS NotificationNumber,
O.BasicEndDateTime AS TargetFinishDate,
M.CreatedByUser,
O.SystemStatusName AS SystemStatus
FROM I_MeasurementDocument M
JOIN I_MaintenanceOrder O ON M.MaintenanceOrder = O.MaintenanceOrder
UNION ALL
/* Activity 11: Technical Completion Set */
SELECT
CAST(O.MaintenanceOrder AS VARCHAR(20)) AS MaintenanceWorkOrder,
'Technical Completion Set' AS Activity,
TO_TIMESTAMP(CONCAT(CONCAT(J.UDATE, ' '), J.UTIME), 'YYYYMMDD HH24MISS') AS EventTimestamp,
'SAP S/4HANA' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
O.MaintenanceOrderType,
O.MaintenancePriority,
O.Equipment AS EquipmentNumber,
O.FunctionalLocation,
O.MaintenancePlant,
O.ResponsiblePlannerGroup,
O.MainWorkCenter,
O.MaintenanceNotification AS NotificationNumber,
O.BasicEndDateTime AS TargetFinishDate,
J.USNAM AS CreatedByUser,
O.SystemStatusName AS SystemStatus
FROM JCDS J
JOIN I_MaintenanceOrder O ON J.OBJNR = CONCAT('OR', O.MaintenanceOrder)
WHERE J.STAT = 'I0045' /* TECO Status */
AND J.INACT = ' '
UNION ALL
/* Activity 12: Technical Completion Reversed */
SELECT
CAST(O.MaintenanceOrder AS VARCHAR(20)) AS MaintenanceWorkOrder,
'Technical Completion Reversed' AS Activity,
TO_TIMESTAMP(CONCAT(CONCAT(J.UDATE, ' '), J.UTIME), 'YYYYMMDD HH24MISS') AS EventTimestamp,
'SAP S/4HANA' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
O.MaintenanceOrderType,
O.MaintenancePriority,
O.Equipment AS EquipmentNumber,
O.FunctionalLocation,
O.MaintenancePlant,
O.ResponsiblePlannerGroup,
O.MainWorkCenter,
O.MaintenanceNotification AS NotificationNumber,
O.BasicEndDateTime AS TargetFinishDate,
J.USNAM AS CreatedByUser,
O.SystemStatusName AS SystemStatus
FROM JCDS J
JOIN I_MaintenanceOrder O ON J.OBJNR = CONCAT('OR', O.MaintenanceOrder)
WHERE J.STAT = 'I0045' /* TECO Status */
AND J.INACT = 'X' /* Inactive indicates it was removed/reversed */
AND J.CHIND = 'U' /* Update indicator */
UNION ALL
/* Activity 13: Order Cost Settled */
SELECT
CAST(O.MaintenanceOrder AS VARCHAR(20)) AS MaintenanceWorkOrder,
'Order Cost Settled' AS Activity,
JE.CreationDateTime AS EventTimestamp,
'SAP S/4HANA' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
O.MaintenanceOrderType,
O.MaintenancePriority,
O.Equipment AS EquipmentNumber,
O.FunctionalLocation,
O.MaintenancePlant,
O.ResponsiblePlannerGroup,
O.MainWorkCenter,
O.MaintenanceNotification AS NotificationNumber,
O.BasicEndDateTime AS TargetFinishDate,
JE.CreatedByUser,
O.SystemStatusName AS SystemStatus
FROM I_ActualPlanJrnlEntryItem JE
JOIN I_MaintenanceOrder O ON JE.OrderID = O.MaintenanceOrder
WHERE JE.BusinessTransactionType = 'KOAO' /* Settlement */
UNION ALL
/* Activity 14: Business Completion Set */
SELECT
CAST(O.MaintenanceOrder AS VARCHAR(20)) AS MaintenanceWorkOrder,
'Business Completion Set' AS Activity,
TO_TIMESTAMP(CONCAT(CONCAT(J.UDATE, ' '), J.UTIME), 'YYYYMMDD HH24MISS') AS EventTimestamp,
'SAP S/4HANA' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
O.MaintenanceOrderType,
O.MaintenancePriority,
O.Equipment AS EquipmentNumber,
O.FunctionalLocation,
O.MaintenancePlant,
O.ResponsiblePlannerGroup,
O.MainWorkCenter,
O.MaintenanceNotification AS NotificationNumber,
O.BasicEndDateTime AS TargetFinishDate,
J.USNAM AS CreatedByUser,
O.SystemStatusName AS SystemStatus
FROM JCDS J
JOIN I_MaintenanceOrder O ON J.OBJNR = CONCAT('OR', O.MaintenanceOrder)
WHERE J.STAT = 'I0046' /* CLSD Status */
AND J.INACT = ' ' Schritte
Datenschnittstelle identifizieren: Bestimmen Sie, wie Sie auf die SAP S/4HANA SQL-Schnittstelle zugreifen werden. Dies geschieht in der Regel über SAP HANA Studio, die ABAP Development Tools (ADT) in Eclipse oder eine DBaaS-Verbindungszeichenfolge, falls die HANA-Datenbank Ihrer Analyseschicht ausgesetzt ist.
CDS View Verfügbarkeit überprüfen: Stellen Sie sicher, dass die Standard Core Daten Dienste (CDS) Views in Ihrem S/4HANA-System aktiv sind. Die primär benötigten Views sind I_MaintenanceOrder, I_MaintenanceOrderOperation, I_MaintenanceNotification, I_MaintOrderConfirmation und I_MeasurementDocument. Sie benötigen außerdem Zugriff auf die Systemstatus-Historientabelle JCDS und die Änderungsbelegtabellen (CDHDR/CDPOS), um den vollständigen Eventverlauf zu rekonstruieren, da Standard-CDS Views oft nur den aktuellen Zustand zeigen.
SQL-Umgebung vorbereiten: Öffnen Sie Ihren SQL-Editor. Stellen Sie sicher, dass Ihr Benutzer SELECT-Berechtigungen für die oben aufgeführten DDL SQL Views (üblicherweise Schema SAPABAP1 oder ähnlich) besitzt.
Extraktionsabfrage ausführen: Kopieren Sie das bereitgestellte SQL-Skript in Ihren Editor. Ersetzen Sie den Platzhalter [Ihre Mandantennummer] durch Ihre spezifische SAP-Mandanten-ID (z.B. 100). Wenn Sie nach einem bestimmten Datumsbereich filtern, aktualisieren Sie die Event Zeitstempel-Filter in den WHERE-Klauseln.
Daten-Transformation: Die Abfrage übernimmt die meisten Transformationen, wie das Umwandeln von Zeitstempels und das Zuordnen von Statuscodes zu lesbarem Text. Stellen Sie jedoch sicher, dass die Event Zeitstempel-Spalte beim Export in das ISO 8601-Format (JJJJ-MM-TTTHH:MM:SS) formatiert ist, falls Ihr Zielsystem dies erfordert.
Ergebnis exportieren: Führen Sie die Abfrage aus und exportieren Sie die Resultate in eine CSV- oder Parquet-Datei. Stellen Sie sicher, dass die Kodierung auf UTF-8 eingestellt ist, um Sonderzeichen in Benutzernamen oder Beschreibungen zu verarbeiten.
Spaltenzuordnung validieren: Öffnen Sie eine Stichprobe des Exports und stellen Sie sicher, dass die Spalten MaintenanceWorkOrder, Activity und EventZeitstempel vollständig gefüllt sind. Überprüfen Sie, dass die Aktivitätsspalte die in den Anforderungen aufgeführten spezifischen Strings enthält (z.B. Maintenance Order Created, Goods Issue Posted).
Upload zu ProcessMind: Importieren Sie die validierte Flatfile in ProcessMind. Ordnen Sie die Aktivitätsspalte dem Aktivitäts-ID-Feld zu, MaintenanceWorkOrder den Antrag bearbeitet.em Case-ID-Feld und EventZeitstempel dem Zeitstempel-Feld zu.
Konfiguration
- Client-Filter: SAP-Systeme sind mandantenfähig. Filtern Sie immer nach
MANDToderClient(z.B. '100'), um doppelte Daten oder mandantenübergreifende Datenlecks zu vermeiden. - Datumsbereich: Es wird empfohlen, das
CreationDatedes Instandhaltungsauftrags auf die letzten 6 bis 12 Monate zu filtern. Eine Abfrage des gesamten Verlaufs vonJCDS(Status) oderCDPOS(Änderungsbelege) ohne Datumsfilter kann zu Leistungsfähigkeit-Timeouts führen. - Sprachschlüssel: Die Abfrage ist standardmäßig auf Englisch ('E') eingestellt. Wenn Ihr Unternehmen eine andere primäre Sprache für Textbeschreibungen verwendet, passen Sie den Sprachfilter an.
- Systemzugang: Erfordert Zugriff auf das ABAP Core Daten Dienste Schema oder den Antrag bearbeitet.ie zugrunde liegenden HANA-Tabellen. Der Zugriff auf die RohDaten-Tabellen JCDS und CDHDR ist maßgeblich für die historische Statusanalyse, da reine CDS-Views oft snapshot-basiert sind.
- Auftragsarten: Die Abfrage extrahiert alle Auftragsarten. Sie können
MaintenanceOrderTyp(z.B. nur PM01, PM02) filtern, wenn Sie nur spezifische Instandhaltungsszenarien analysierenn möchten.
a Beispielabfrage sql
/* Activity 1: Maintenance Notification Created */
SELECT
CAST(N.MaintenanceOrder AS VARCHAR(20)) AS MaintenanceWorkOrder,
'Maintenance Notification Created' AS Activity,
TO_TIMESTAMP(CONCAT(CONCAT(N.CreationDate, ' '), N.CreationTime), 'YYYYMMDD HH24MISS') AS EventTimestamp,
'SAP S/4HANA' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
N.MaintenanceOrderType,
N.MaintenancePriority,
N.Equipment AS EquipmentNumber,
N.FunctionalLocation,
N.MaintenancePlant,
N.MaintenancePlannerGroup AS ResponsiblePlannerGroup,
N.MainWorkCenter,
N.MaintenanceNotification AS NotificationNumber,
CAST(NULL AS DATE) AS TargetFinishDate,
N.CreatedByUser,
O.SystemStatusName AS SystemStatus
FROM I_MaintenanceNotification N
JOIN I_MaintenanceOrder O ON N.MaintenanceOrder = O.MaintenanceOrder
WHERE N.MaintenanceOrder IS NOT NULL AND N.MaintenanceOrder <> ''
UNION ALL
/* Activity 2: Maintenance Order Created */
SELECT
CAST(O.MaintenanceOrder AS VARCHAR(20)) AS MaintenanceWorkOrder,
'Maintenance Order Created' AS Activity,
O.CreationDate AS EventTimestamp,
'SAP S/4HANA' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
O.MaintenanceOrderType,
O.MaintenancePriority,
O.Equipment AS EquipmentNumber,
O.FunctionalLocation,
O.MaintenancePlant,
O.ResponsiblePlannerGroup,
O.MainWorkCenter,
O.MaintenanceNotification AS NotificationNumber,
O.BasicEndDateTime AS TargetFinishDate,
O.CreatedByUser,
O.SystemStatusName AS SystemStatus
FROM I_MaintenanceOrder O
UNION ALL
/* Activity 3: Maintenance Priority Changed */
SELECT
CAST(O.MaintenanceOrder AS VARCHAR(20)) AS MaintenanceWorkOrder,
'Maintenance Priority Changed' AS Activity,
TO_TIMESTAMP(CONCAT(CONCAT(H.UDATE, ' '), H.UTIME), 'YYYYMMDD HH24MISS') AS EventTimestamp,
'SAP S/4HANA' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
O.MaintenanceOrderType,
O.MaintenancePriority,
O.Equipment AS EquipmentNumber,
O.FunctionalLocation,
O.MaintenancePlant,
O.ResponsiblePlannerGroup,
O.MainWorkCenter,
O.MaintenanceNotification AS NotificationNumber,
O.BasicEndDateTime AS TargetFinishDate,
H.USERNAME AS CreatedByUser,
O.SystemStatusName AS SystemStatus
FROM CDHDR H
JOIN CDPOS P ON H.OBJECTCLAS = P.OBJECTCLAS AND H.OBJECTID = P.OBJECTID AND H.CHANGENR = P.CHANGENR
JOIN I_MaintenanceOrder O ON O.MaintenanceOrder = H.OBJECTID
WHERE H.OBJECTCLAS = 'ORDER'
AND P.TABNAME = 'AFKO'
AND P.FNAME = 'PRIOK'
UNION ALL
/* Activity 4: Maintenance Order Released */
SELECT
CAST(O.MaintenanceOrder AS VARCHAR(20)) AS MaintenanceWorkOrder,
'Maintenance Order Released' AS Activity,
TO_TIMESTAMP(CONCAT(CONCAT(J.UDATE, ' '), J.UTIME), 'YYYYMMDD HH24MISS') AS EventTimestamp,
'SAP S/4HANA' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
O.MaintenanceOrderType,
O.MaintenancePriority,
O.Equipment AS EquipmentNumber,
O.FunctionalLocation,
O.MaintenancePlant,
O.ResponsiblePlannerGroup,
O.MainWorkCenter,
O.MaintenanceNotification AS NotificationNumber,
O.BasicEndDateTime AS TargetFinishDate,
J.USNAM AS CreatedByUser,
O.SystemStatusName AS SystemStatus
FROM JCDS J
JOIN I_MaintenanceOrder O ON J.OBJNR = CONCAT('OR', O.MaintenanceOrder)
WHERE J.STAT = 'I0002' /* REL Status */
AND J.INACT = ' '
UNION ALL
/* Activity 5: Material Component Added */
SELECT
CAST(C.MaintenanceOrder AS VARCHAR(20)) AS MaintenanceWorkOrder,
'Material Component Added' AS Activity,
TO_TIMESTAMP(CONCAT(CONCAT(C.CreationDate, ' '), COALESCE(C.CreationTime, '000000')), 'YYYYMMDD HH24MISS') AS EventTimestamp,
'SAP S/4HANA' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
O.MaintenanceOrderType,
O.MaintenancePriority,
O.Equipment AS EquipmentNumber,
O.FunctionalLocation,
O.MaintenancePlant,
O.ResponsiblePlannerGroup,
O.MainWorkCenter,
O.MaintenanceNotification AS NotificationNumber,
O.BasicEndDateTime AS TargetFinishDate,
O.CreatedByUser,
O.SystemStatusName AS SystemStatus
FROM I_MaintenanceOrderComponent C
JOIN I_MaintenanceOrder O ON C.MaintenanceOrder = O.MaintenanceOrder
UNION ALL
/* Activity 6: Purchase Requisition Created */
SELECT
CAST(O.MaintenanceOrder AS VARCHAR(20)) AS MaintenanceWorkOrder,
'Purchase Requisition Created' AS Activity,
PR.CreationDate AS EventTimestamp,
'SAP S/4HANA' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
O.MaintenanceOrderType,
O.MaintenancePriority,
O.Equipment AS EquipmentNumber,
O.FunctionalLocation,
O.MaintenancePlant,
O.ResponsiblePlannerGroup,
O.MainWorkCenter,
O.MaintenanceNotification AS NotificationNumber,
O.BasicEndDateTime AS TargetFinishDate,
PR.CreatedByUser,
O.SystemStatusName AS SystemStatus
FROM I_PurchasingDocumentItem PR
JOIN I_MaintenanceOrder O ON PR.ServiceMaintenanceOrder = O.MaintenanceOrder
WHERE PR.PurchasingDocumentCategory = 'B' /* Requisition */
UNION ALL
/* Activity 7: Goods Issue Posted */
SELECT
CAST(O.MaintenanceOrder AS VARCHAR(20)) AS MaintenanceWorkOrder,
'Goods Issue Posted' AS Activity,
TO_TIMESTAMP(CONCAT(CONCAT(MD.CreationDate, ' '), MD.CreationTime), 'YYYYMMDD HH24MISS') AS EventTimestamp,
'SAP S/4HANA' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
O.MaintenanceOrderType,
O.MaintenancePriority,
O.Equipment AS EquipmentNumber,
O.FunctionalLocation,
O.MaintenancePlant,
O.ResponsiblePlannerGroup,
O.MainWorkCenter,
O.MaintenanceNotification AS NotificationNumber,
O.BasicEndDateTime AS TargetFinishDate,
MD.CreatedByUser,
O.SystemStatusName AS SystemStatus
FROM I_MaterialDocumentItem MD
JOIN I_MaintenanceOrder O ON MD.MaintenanceOrder = O.MaintenanceOrder
WHERE MD.GoodsMovementType = '261'
UNION ALL
/* Activity 8: Work Order Scheduled (Operation Dispatched) */
SELECT
CAST(O.MaintenanceOrder AS VARCHAR(20)) AS MaintenanceWorkOrder,
'Work Order Scheduled' AS Activity,
TO_TIMESTAMP(CONCAT(CONCAT(J.UDATE, ' '), J.UTIME), 'YYYYMMDD HH24MISS') AS EventTimestamp,
'SAP S/4HANA' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
O.MaintenanceOrderType,
O.MaintenancePriority,
O.Equipment AS EquipmentNumber,
O.FunctionalLocation,
O.MaintenancePlant,
O.ResponsiblePlannerGroup,
O.MainWorkCenter,
O.MaintenanceNotification AS NotificationNumber,
O.BasicEndDateTime AS TargetFinishDate,
J.USNAM AS CreatedByUser,
O.SystemStatusName AS SystemStatus
FROM JCDS J
JOIN I_MaintenanceOrderOperation OP ON J.OBJNR = OP.MaintenanceOrderOperationInternalID
JOIN I_MaintenanceOrder O ON OP.MaintenanceOrder = O.MaintenanceOrder
WHERE J.STAT = 'I0019' /* DSP Dispatched Status */
AND J.INACT = ' '
UNION ALL
/* Activity 9: Order Operation Confirmed */
SELECT
CAST(CNF.MaintenanceOrder AS VARCHAR(20)) AS MaintenanceWorkOrder,
'Order Operation Confirmed' AS Activity,
TO_TIMESTAMP(CONCAT(CONCAT(CNF.CreationDate, ' '), CNF.CreationTime), 'YYYYMMDD HH24MISS') AS EventTimestamp,
'SAP S/4HANA' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
O.MaintenanceOrderType,
O.MaintenancePriority,
O.Equipment AS EquipmentNumber,
O.FunctionalLocation,
O.MaintenancePlant,
O.ResponsiblePlannerGroup,
O.MainWorkCenter,
O.MaintenanceNotification AS NotificationNumber,
O.BasicEndDateTime AS TargetFinishDate,
CNF.CreatedByUser,
O.SystemStatusName AS SystemStatus
FROM I_MaintOrderConfirmation CNF
JOIN I_MaintenanceOrder O ON CNF.MaintenanceOrder = O.MaintenanceOrder
WHERE CNF.IsReversed = ' '
UNION ALL
/* Activity 10: Measurement Reading Recorded */
SELECT
CAST(O.MaintenanceOrder AS VARCHAR(20)) AS MaintenanceWorkOrder,
'Measurement Reading Recorded' AS Activity,
TO_TIMESTAMP(CONCAT(CONCAT(M.CreationDate, ' '), M.CreationTime), 'YYYYMMDD HH24MISS') AS EventTimestamp,
'SAP S/4HANA' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
O.MaintenanceOrderType,
O.MaintenancePriority,
O.Equipment AS EquipmentNumber,
O.FunctionalLocation,
O.MaintenancePlant,
O.ResponsiblePlannerGroup,
O.MainWorkCenter,
O.MaintenanceNotification AS NotificationNumber,
O.BasicEndDateTime AS TargetFinishDate,
M.CreatedByUser,
O.SystemStatusName AS SystemStatus
FROM I_MeasurementDocument M
JOIN I_MaintenanceOrder O ON M.MaintenanceOrder = O.MaintenanceOrder
UNION ALL
/* Activity 11: Technical Completion Set */
SELECT
CAST(O.MaintenanceOrder AS VARCHAR(20)) AS MaintenanceWorkOrder,
'Technical Completion Set' AS Activity,
TO_TIMESTAMP(CONCAT(CONCAT(J.UDATE, ' '), J.UTIME), 'YYYYMMDD HH24MISS') AS EventTimestamp,
'SAP S/4HANA' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
O.MaintenanceOrderType,
O.MaintenancePriority,
O.Equipment AS EquipmentNumber,
O.FunctionalLocation,
O.MaintenancePlant,
O.ResponsiblePlannerGroup,
O.MainWorkCenter,
O.MaintenanceNotification AS NotificationNumber,
O.BasicEndDateTime AS TargetFinishDate,
J.USNAM AS CreatedByUser,
O.SystemStatusName AS SystemStatus
FROM JCDS J
JOIN I_MaintenanceOrder O ON J.OBJNR = CONCAT('OR', O.MaintenanceOrder)
WHERE J.STAT = 'I0045' /* TECO Status */
AND J.INACT = ' '
UNION ALL
/* Activity 12: Technical Completion Reversed */
SELECT
CAST(O.MaintenanceOrder AS VARCHAR(20)) AS MaintenanceWorkOrder,
'Technical Completion Reversed' AS Activity,
TO_TIMESTAMP(CONCAT(CONCAT(J.UDATE, ' '), J.UTIME), 'YYYYMMDD HH24MISS') AS EventTimestamp,
'SAP S/4HANA' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
O.MaintenanceOrderType,
O.MaintenancePriority,
O.Equipment AS EquipmentNumber,
O.FunctionalLocation,
O.MaintenancePlant,
O.ResponsiblePlannerGroup,
O.MainWorkCenter,
O.MaintenanceNotification AS NotificationNumber,
O.BasicEndDateTime AS TargetFinishDate,
J.USNAM AS CreatedByUser,
O.SystemStatusName AS SystemStatus
FROM JCDS J
JOIN I_MaintenanceOrder O ON J.OBJNR = CONCAT('OR', O.MaintenanceOrder)
WHERE J.STAT = 'I0045' /* TECO Status */
AND J.INACT = 'X' /* Inactive indicates it was removed/reversed */
AND J.CHIND = 'U' /* Update indicator */
UNION ALL
/* Activity 13: Order Cost Settled */
SELECT
CAST(O.MaintenanceOrder AS VARCHAR(20)) AS MaintenanceWorkOrder,
'Order Cost Settled' AS Activity,
JE.CreationDateTime AS EventTimestamp,
'SAP S/4HANA' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
O.MaintenanceOrderType,
O.MaintenancePriority,
O.Equipment AS EquipmentNumber,
O.FunctionalLocation,
O.MaintenancePlant,
O.ResponsiblePlannerGroup,
O.MainWorkCenter,
O.MaintenanceNotification AS NotificationNumber,
O.BasicEndDateTime AS TargetFinishDate,
JE.CreatedByUser,
O.SystemStatusName AS SystemStatus
FROM I_ActualPlanJrnlEntryItem JE
JOIN I_MaintenanceOrder O ON JE.OrderID = O.MaintenanceOrder
WHERE JE.BusinessTransactionType = 'KOAO' /* Settlement */
UNION ALL
/* Activity 14: Business Completion Set */
SELECT
CAST(O.MaintenanceOrder AS VARCHAR(20)) AS MaintenanceWorkOrder,
'Business Completion Set' AS Activity,
TO_TIMESTAMP(CONCAT(CONCAT(J.UDATE, ' '), J.UTIME), 'YYYYMMDD HH24MISS') AS EventTimestamp,
'SAP S/4HANA' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
O.MaintenanceOrderType,
O.MaintenancePriority,
O.Equipment AS EquipmentNumber,
O.FunctionalLocation,
O.MaintenancePlant,
O.ResponsiblePlannerGroup,
O.MainWorkCenter,
O.MaintenanceNotification AS NotificationNumber,
O.BasicEndDateTime AS TargetFinishDate,
J.USNAM AS CreatedByUser,
O.SystemStatusName AS SystemStatus
FROM JCDS J
JOIN I_MaintenanceOrder O ON J.OBJNR = CONCAT('OR', O.MaintenanceOrder)
WHERE J.STAT = 'I0046' /* CLSD Status */
AND J.INACT = ' '