Ihr Daten-Template für die Lohnabrechnung
Ihr Daten-Template für die Lohnabrechnung
- Strategische Datenfelder für die Lohnabrechnungsanalyse
- Zentrale Meilensteine für die Prozesserkennung
- Systembezogene Hinweise zur Datenextraktion
Attribute der Lohnabrechnung
| Name | Beschreibung | ||
|---|---|---|---|
| Aktivität Activity | Die konkrete Aufgabe oder das Ereignis im Gehaltsabrechnungsprozess. | ||
| Beschreibung Dieses Attribut enthält den Namen des ausgeführten Prozessschritts, zum Beispiel „Stundenzettel eingereicht“, „Gehaltsabrechnung simuliert“ oder „Zahlung ausgeführt“. Es bildet die Grundlage der Prozesslandkarte und ermöglicht es Analysten, die Abfolge der Vorgänge im Abrechnungszyklus darzustellen. Die Daten für dieses Attribut stammen aus verschiedenen Protokollen, darunter Workflow-Protokolle (SWWLOGHIST), Änderungsprotokolle für Infotypen (CDHDR/CDPOS) und spezielle Tabellen zum Abrechnungsstatus. Bei der Extraktion werden einheitliche Namenskonventionen angewendet, damit technische Ereigniscodes als verständliche Aktivitätsnamen erscheinen. Warum das wichtig ist Das Attribut definiert die Knoten im Prozessgraph und ermöglicht die Darstellung von Prozessabläufen, Schleifen und Varianten. Woher beziehen Abgeleitet aus Statusänderungen in SWWLOGHIST (Workflow), CDHDR (Änderungsbelege) oder PA03 (Steuerungsdatensatz). Beispiele Arbeitszeiterfassung eingereichtBruttogehalt berechnetAudit-Ausnahme markiertZahlung ausgeführt | |||
| Ereignis-Timestamp EventTimestamp | Datum und Uhrzeit, zu denen die Aktivität genau stattgefunden hat. | ||
| Beschreibung Dieses Attribut erfasst den genauen Zeitpunkt eines Ereignisses mit Datum und Uhrzeit. Es ist die Grundlage für die Berechnung aller zeitbezogenen Kennzahlen, darunter Durchlaufzeiten, Vorlaufzeiten und Durchsatzraten zwischen verschiedenen Prozessphasen. In SAP ECP stammen die Werte aus Timestamp-Feldern wie Warum das wichtig ist Damit lässt sich die Dauer zwischen Ereignissen berechnen. Das ist entscheidend, um Leistungseinschränkungen und SLA-Verstöße zu erkennen. Woher beziehen CDHDR-UDATE/UTIME, SWWLOGHIST-WI_CD/WI_CT oder Timestamps aus bestimmten Audit-Protokollen. Beispiele 2023-10-25T08:30:00Z2023-10-26T14:15:22Z2023-11-01T09:00:00Z | |||
| Gehaltsabrechnungsdatensatz PayrollRecord | Eindeutige Kennung aus Mitarbeiter und Abrechnungszeitraum. | ||
| Beschreibung Der Gehaltsabrechnungsdatensatz dient als zentrale Case-ID für die Process-Mining-Analyse. Er steht für einen einzelnen Gehaltsabrechnungslauf eines bestimmten Mitarbeiters innerhalb eines festgelegten Abrechnungszeitraums und verknüpft alle Aktivitäten von der ersten Einreichung des Stundenzettels bis zur abschließenden Steuermeldung. In SAP SuccessFactors Employee Central Payroll wird diese Kennung üblicherweise aus der Personalnummer (PERNR), dem Abrechnungsjahr (PABRJ) und dem Abrechnungszeitraum (PABRP) gebildet. Eine Sequenznummer (SEQNR) kann hinzukommen, um mehrere Läufe voneinander zu unterscheiden. Durch diese Granularität lässt sich jeder Abrechnungszyklus als eigener Vorgang analysieren und die Durchlaufzeit präzise messen sowie Fehler gezielt nachverfolgen. Warum das wichtig ist Die Kennung dient als Case-ID und fasst alle relevanten Ereignisse zusammen. So lässt sich der vollständige Prozessablauf für jede ausgezahlte Gehaltsabrechnung rekonstruieren. Woher beziehen Gebildet aus dem SAP-Cluster B2 (Ergebnisse der Zeitauswertung) oder den Tabellen PC_PAYRESULT (PERNR, PABRJ, PABRP, SEQNR). Beispiele 10023499-2023-1088291022-2024-01-SEQ01US-10293-2023-52 | |||
| Letzte Datenaktualisierung LastDataUpdate | Timestamp der letzten Datenextraktion. | ||
| Beschreibung Dieses Attribut zeigt an, wann der Datensatz zuletzt im Process-Mining-Datenmodell aktualisiert wurde. Es hilft Analysten, die Aktualität der Daten einzuschätzen und sicherzustellen, dass die Erkenntnisse auf aktuellen Informationen beruhen. Für die Analyse von Prozessabläufen wird es nicht direkt verwendet. Für Data Governance und Validierung ist es jedoch wichtig, denn es bestätigt, dass das Dashboard den aktuellen Stand des Gehaltsabrechnungssystems widerspiegelt. Warum das wichtig ist So erkennen Benutzer mögliche Verzögerungen bei der Datenaktualisierung und können prüfen, ob die gemeldeten Kennzahlen aktuell sind. Woher beziehen Wird zur Laufzeit vom ETL- oder Extraktionsskript erstellt. Beispiele 2023-11-05T00:00:00Z2023-11-05T12:00:00Z | |||
| Quellsystem SourceSystem | Das System, aus dem die Ereignisdaten stammen. | ||
| Beschreibung Dieses Attribut gibt an, aus welcher SAP-SuccessFactors-Employee-Central-Payroll-Instanz oder welchem verbundenen Subsystem die Daten extrahiert wurden. In komplexen Systemlandschaften mit mehreren Abrechnungssystemen oder hybriden Umgebungen gewährleistet das Feld Datenherkunft und Nachvollziehbarkeit. Es ist besonders hilfreich, wenn Daten aus verschiedenen regionalen Installationen analysiert oder die Leistung von Altsystemen und migrierten Systemen verglichen wird. In der Regel wird beim Einrichten der Datenextraktion eine feste Zeichenfolge festgelegt. Warum das wichtig ist Das Attribut ermöglicht die Segmentierung von Daten in Umgebungen mit mehreren Systemen. Außerdem erleichtert es die Analyse von Datenqualitätsproblemen, indem es deren Ursprung erkennen lässt. Woher beziehen System-ID (SID) aus der SAP-Installation oder der Extraktionskonfiguration. Beispiele SAP_ECP_NASAP_ECP_EMEASuccessFactors_Core | |||
| Abrechnungskreis PayrollArea | Legt fest, zu welcher Abrechnungsgruppe ein Mitarbeiter gehört. | ||
| Beschreibung Der Abrechnungskreis fasst Mitarbeiter zusammen, deren Gehaltsabrechnung gemeinsam ausgeführt wird. Die Einteilung richtet sich häufig nach der Zahlungshäufigkeit, etwa monatlich oder zweiwöchentlich, oder nach der Organisationsstruktur. Dieses Attribut ist wichtig, um die Prozessanalyse nach Mitarbeitergruppen aufzuschlüsseln und ihre Leistung zu vergleichen. In SAP entspricht es dem technischen Feld Warum das wichtig ist Damit lässt sich die Leistung des Abrechnungszyklus zwischen verschiedenen Gruppen vergleichen, zum Beispiel zwischen Stundenlohn- und Gehaltsempfängern. Woher beziehen Tabelle PA0001 (Organisatorische Zuordnung), Feld ABKRS. Beispiele USA, zweiwöchentlichDeutschland, monatlichGehaltsabrechnung für Führungskräfte | |||
| Abrechnungszeitraum PayPeriod | Die Nummer des Zeitraums innerhalb des Geschäftsjahres. | ||
| Beschreibung Dieses Attribut bezeichnet die fortlaufende Nummer des Abrechnungszeitraums, zum Beispiel 01 für Januar oder den ersten zweiwöchentlichen Abrechnungszyklus. Analysten können damit Leistungstrends im Zeitverlauf verfolgen und saisonale Schwankungen beim Arbeitsaufkommen erkennen. Der Wert stammt aus Warum das wichtig ist Damit lassen sich Trends analysieren und saisonale Engpässe zu bestimmten Jahreszeiten erkennen. Woher beziehen Tabelle PA0001 oder Cluster der Abrechnungsergebnisse (RGDIR), Feld PABRP. Beispiele 01122652 | |||
| Automatisiert IsAutomated | Kennzeichen dafür, ob ein Systembenutzer die Aktivität ausgeführt hat. | ||
| Beschreibung Dieses boolesche Attribut gibt an, ob ein bestimmter Prozessschritt von einem Hintergrundjob beziehungsweise Systembenutzer oder von einem Menschen ausgeführt wurde. Das Dashboard „Überwachung der Automatisierung von Banküberweisungen“ verwendet es, um den Anteil der Verarbeitung ohne manuelle Eingriffe zu berechnen. Der Wert wird üblicherweise ermittelt, indem die Benutzer-ID mit einer Liste bekannter Systemkonten abgeglichen wird, zum Beispiel „BATCH“ oder „SAP_WORKFLOW“. Warum das wichtig ist Damit lassen sich Automatisierungsquoten messen und Möglichkeiten zur Verringerung manueller Arbeit erkennen. Woher beziehen Abgeleitet aus der Benutzer-ID, zum Beispiel: Wenn der Benutzer in ['BATCH', 'SYSTEM'] enthalten ist, dann true. Beispiele truefalse | |||
| Bruttogehalt GrossPayAmount | Das für den Datensatz berechnete Bruttogehalt. | ||
| Beschreibung Dieses Attribut gibt den Gesamtbetrag des Bruttogehalts vor Abzügen an. Es ist eine wichtige Kennzahl für die finanzielle Validierung und hilft, hohe Zahlungen mit verstärkten Prüfungen oder längeren Freigabezeiten in Verbindung zu bringen. Der Wert wird aus der Tabelle der Abrechnungsergebnisse (RT) extrahiert, üblicherweise aus bestimmten Lohnarten für das Gesamtbrutto, zum Beispiel /101. Die Analyse „Genauigkeit der Leistungs- und Steuerberechnung“ verwendet diesen Wert als Berechnungsgrundlage. Warum das wichtig ist Damit lässt sich untersuchen, wie sich die Höhe der Zahlung auf den Prozess auswirkt, zum Beispiel ob höhere Zahlungen länger bis zur Freigabe benötigen. Woher beziehen Tabelle der Abrechnungsergebnisse (RT), Lohnart /101 oder ähnlich. Beispiele 5000.002500.5010500.00 | |||
| Fachkraft für Gehaltsabrechnung PayrollSpecialist | Benutzer-ID oder Name der Person, die den Datensatz bearbeitet. | ||
| Beschreibung Dieses Attribut erfasst die Identität des Administrators oder der Fachkraft für Gehaltsabrechnung, die für manuelle Schritte oder Freigaben zuständig ist. Es ist das zentrale Attribut für das Dashboard „Durchsatz und Arbeitsaufkommen der Fachkräfte“ und ermöglicht die Analyse der Arbeitsverteilung und der individuellen Produktivität. Die Werte stammen aus dem Feld Warum das wichtig ist Das Attribut ist wichtig, um Arbeitslasten auszugleichen und personelle Engpässe im Prozess zu erkennen. Woher beziehen Systemfelder (SY-UNAME) aus CDHDR oder Workflow-Akteur-ID. Beispiele JSMITHKMILLERSYSTEM | |||
| Häufigkeit des Abrechnungszyklus PayCycleFrequency | Gibt an, ob es sich um einen regulären oder außerplanmäßigen Lauf handelt. | ||
| Beschreibung Dieses Attribut unterscheidet zwischen regulären, planmäßigen Gehaltsabrechnungsläufen und außerplanmäßigen Läufen für Korrekturen oder Sofortzahlungen. Eine hohe Zahl außerplanmäßiger Läufe weist auf Ineffizienzen im Prozess hin. Das Dashboard „Analyse des Volumens außerplanmäßiger Zahlungen“ erfasst diese Läufe. Das Attribut wird aus dem Grund für den außerplanmäßigen Lauf ( Warum das wichtig ist Das Attribut ist entscheidend für die Berechnung der KPI „Anteil außerplanmäßiger Zahlungen“ und hilft, nicht standardmäßige Abläufe zu reduzieren. Woher beziehen Tabelle RGDIR (Cluster-Verzeichnis), Feld OCRSN oder PAYTY. Beispiele RegulärKorrektur ABonuszahlungBeendigung des Arbeitsverhältnisses | |||
| Kostenstelle CostCenter | Die Kostenstelle, der die Kosten des Mitarbeiters zugeordnet sind. | ||
| Beschreibung Die Kostenstelle bezeichnet die finanzielle Abteilung oder Einheit, der die Kosten des Mitarbeiters zugeordnet werden. Im Dashboard „Engpässe bei der Freigabe von Stundenzetteln“ dient sie als Anhaltspunkt für die Abteilung und hilft zu erkennen, welche Organisationseinheiten den Abrechnungszyklus verzögern. Die Kostenstelle steht im Infotyp „Organisatorische Zuordnung“ (PA0001) im Feld Warum das wichtig ist Damit können Sie die Organisationsstruktur genauer untersuchen und Abteilungen ermitteln, die Verzögerungen oder Nacharbeit verursachen. Woher beziehen Tabelle PA0001, Feld KOSTL. Beispiele CC-1000 FinanzenCC-2000 ITCC-3000 Vertrieb | |||
| Mitarbeitertyp EmployeeType | Einstufung des Mitarbeiters, zum Beispiel fest angestellt oder auf Vertragsbasis. | ||
| Beschreibung Dieses Attribut kategorisiert Mitarbeiter nach ihrem Beschäftigungsverhältnis, etwa als aktive Mitarbeiter, Rentner oder Auftragnehmer. Die Komplexität der Gehaltsabrechnung hängt häufig mit dem Mitarbeitertyp zusammen. Für bestimmte Gruppen sind mehr manuelle Eingriffe oder spezielle Compliance-Prüfungen erforderlich. Technisch stammen die Werte aus den Feldern Mitarbeitergruppe ( Warum das wichtig ist Damit lässt sich feststellen, ob Prozessabweichungen oder Verzögerungen nur bestimmte Beschäftigungskategorien betreffen. Woher beziehen Tabelle PA0001, Felder PERSG (Gruppe) und PERSK (Untergruppe). Beispiele Aktiver MitarbeiterAuszubildenderRentnerStundenweise beschäftigter Auftragnehmer | |||
| Anzahl der Nacharbeiten ReworkCount | Wie oft eine Korrektur vorgenommen wurde. | ||
| Beschreibung Diese berechnete Kennzahl zählt, wie oft die Aktivität „Datenkorrektur durchgeführt“ im Verlauf eines Cases vorkommt. Sie misst direkt die Ineffizienz des Prozesses und unterstützt das Dashboard „Manuelle Korrekturen und Nacharbeitsquoten“. Eine hohe Zahl an Nacharbeiten weist auf anhaltende Datenqualitätsprobleme oder komplexe Fälle hin, die bei der ersten Validierung nicht erfolgreich geprüft werden. Warum das wichtig ist Die Kennzahl beziffert den Aufwand für Fehlerkorrekturen und hilft, Initiativen zur Verbesserung der Datenqualität zu begründen. Woher beziehen Berechnet durch Zählen der Aktivitäten „Datenkorrektur durchgeführt“ pro CaseId. Beispiele 013 | |||
| Kennzeichen für Prüfausnahmen AuditExceptionFlag | Kennzeichen dafür, ob eine Prüfausnahme aufgetreten ist. | ||
| Beschreibung Dieses Attribut kennzeichnet Fälle, in denen Validierungsregeln während der Simulation oder Berechnung der Gehaltsabrechnung eine Ausnahme oder Warnung ausgelöst haben. Es ist die wichtigste Eingabe für die KPI „Häufigkeit von Prüfausnahmen“. Die Daten stammen häufig aus dem Abrechnungsprotokoll oder aus bestimmten Fehlermeldungstabellen (FEHLER). Der Wert true zeigt an, dass der Prozessablauf einen Pfad zur Behandlung von Ausnahmen enthielt. Warum das wichtig ist Das Attribut macht Datenqualitätsprobleme und den Bedarf an manuellen Eingriffen sichtbar. Woher beziehen Abgeleitet aus Fehlermeldungen im Abrechnungsprotokoll oder bestimmten Statuscodes. Beispiele truefalse | |||
| Rechtsträger LegalEntity | Der Buchungskreis oder Rechtsträger des Mitarbeiters. | ||
| Beschreibung Dieses Attribut gibt den Rechtsträger (Buchungskreis) an, dem der Abrechnungsdatensatz zugeordnet ist. Es ermöglicht die Finanzberichterstattung und den Vergleich der Abrechnungsleistung zwischen verschiedenen Tochtergesellschaften oder Unternehmen. Der Wert stammt aus dem Feld Warum das wichtig ist Das Attribut unterstützt unternehmensübergreifende Vergleiche und Analysen der finanziellen Zuordnung. Woher beziehen Tabelle PA0001, Feld BUKRS. Beispiele US01DE011000 | |||
| SLA-Bearbeitungsfrist SLAProcessingDeadline | Der Ziel-Timestamp für den Abschluss des Gehaltsabrechnungslaufs. | ||
| Beschreibung Dieses Attribut bezeichnet die interne oder externe Frist für den Abschluss der Gehaltsabrechnung, damit die Zahlung pünktlich erfolgt. Für die KPI „SLA-Einhaltungsquote“ wird die Frist mit dem tatsächlichen Timestamp von „Zahlung ausgeführt“ verglichen. Das Attribut ist nicht immer als Standardfeld in SAP-Tabellen vorhanden. Häufig wird es in einer benutzerdefinierten Steuertabelle gepflegt oder anhand des Abrechnungskalenders festgelegt, zum Beispiel zwei Tage vor dem Zahltag. In diesem Datenmodell wird es oft aus dem Zahltag abzüglich eines festgelegten Zeitpuffers abgeleitet. Warum das wichtig ist Die Frist dient als Maßstab für die Pünktlichkeit und die Einhaltung des SLA. Woher beziehen Abgeleitet aus dem Zahltag (T549S) abzüglich der konfigurierten Bearbeitungstage. Beispiele 2023-10-28T17:00:00Z2023-11-28T17:00:00Z | |||
| Steuergebiet TaxJurisdiction | Die für den Mitarbeiter geltende Steuerregion oder Steuerbehörde. | ||
| Beschreibung Dieses Attribut gibt die für den Abrechnungsdatensatz zuständige Steuerbehörde oder Region an, zum Beispiel Bundesstaat, Provinz oder Kanton. Das Dashboard „Prüfausnahmen und Compliance-Risiko“ nutzt es, um Compliance-Probleme geografisch zu lokalisieren. In der US-Gehaltsabrechnung von SAP entspricht es dem Feld Warum das wichtig ist Damit lassen sich Compliance-Risiken und Prüfausnahmen nach Regulierungsregion aufschlüsseln. Woher beziehen Tabelle PA0001 oder PA0207/PA0208, Feld TXJCD. Beispiele CANYTXNRW | |||
Aktivitäten der Lohnabrechnung
| Aktivität | Beschreibung | ||
|---|---|---|---|
| Abrechnungsdatensatz genehmigt | Die Abrechnungsergebnisse für einen Beschäftigten oder eine Abrechnungsgruppe werden offiziell freigegeben. Dies erfolgt im Schritt „Monitoring“ oder „Sign Off“ des PCC. | ||
| Warum das wichtig ist Kennzeichnet das Ende der Berechnungs- und Validierungsphase sowie die Freigabe zur Zahlung. Wichtig für die Analyse des Durchsatzes je Fachkraft. Woher beziehen Protokolle der Schrittinstanzen im Payroll Control Center (PYC_D_STEP_INST) für den Genehmigungs- oder Bestätigungsschritt. Erfassung Wird protokolliert, wenn sich der Status des PCC-Genehmigungsschritts in COMPLETED ändert. Ereignistyp explicit | |||
| Abrechnungsprozess initialisiert | Eine Instanz des Abrechnungsprozesses wird im Payroll Control Center (PCC) erstellt. Damit beginnt offiziell der Abrechnungszyklus für einen bestimmten Abrechnungskreis. | ||
| Warum das wichtig ist Legt die Grundlage für die Gesamtdauer des Abrechnungszyklus von Anfang bis Ende. Außerdem wird festgelegt, welche Beschäftigten verarbeitet werden. Woher beziehen Tabellen des Payroll Control Center (z. B. PYC_D_PY_PROC_INST), in denen die Erstellung einer neuen Prozess-ID erfasst wird. Erfassung Wird protokolliert, wenn eine PCC-Prozessinstanz erstellt wird. Ereignistyp explicit | |||
| Abrechnungssimulation ausgeführt | Ein Testlauf des Abrechnungstreibers, mit dem Fehler erkannt werden, ohne Ergebnisse in die Datenbank zu übernehmen. Dies ist ein wichtiger Schritt in der Validierungsphase des PCC. | ||
| Warum das wichtig ist Wichtig für die Berechnung der Erstberechnungsquote. Wiederholte Simulationen weisen auf Probleme mit der Datenqualität hin. Woher beziehen Protokolle der Schrittinstanzen im Payroll Control Center (PYC_D_STEP_INST), bei denen der Schritttyp Simulation entspricht. Erfassung Wird protokolliert, wenn sich der Status des PCC-Simulationsschritts in COMPLETED ändert. Ereignistyp explicit | |||
| Arbeitszeiterfassung eingereicht | Ein Beschäftigter oder eine Führungskraft reicht Arbeitszeitdaten für den Abrechnungszeitraum ein. Dieses Ereignis wird anhand der Protokolle der Workflow-Anfrage im mit ECP verknüpften Employee-Central-Modul erfasst. | ||
| Warum das wichtig ist Kennzeichnet den Beginn der Datenerfassung. Verzögerungen an dieser Stelle wirken sich auf die nachfolgenden Schritte aus und verkürzen das Zeitfenster für die Lohnabrechnung. Woher beziehen Tabellen für Workflow-Anfragen in Employee Central (WfRequest), gefiltert nach den Kategorien Time Sheet oder Time Off. Erfassung Wird protokolliert, wenn sich der Workflow-Status in SUBMITTED ändert. Ereignistyp explicit | |||
| Arbeitszeiterfassung genehmigt | Eine Führungskraft oder ein Administrator genehmigt die Arbeitszeitdaten offiziell. Diese Statusänderung bestätigt, dass die Daten an die Abrechnungslogik übergeben werden können. | ||
| Warum das wichtig ist Dient zur Berechnung der KPI für die Genehmigungsdauer von Arbeitszeiterfassungen. Engpässe an dieser Stelle weisen auf Verzögerungen durch Führungskräfte oder komplexe Genehmigungshierarchien hin. Woher beziehen Tabellen für Workflow-Anfragen in Employee Central (WfRequest), gefiltert nach dem Status COMPLETED oder APPROVED. Erfassung Wird protokolliert, wenn sich der Workflow-Status in APPROVED ändert. Ereignistyp explicit | |||
| Bruttogehalt berechnet | Die Bruttoabrechnungsschema-Berechnung wird erfolgreich ausgeführt. Bei der Standardverarbeitung schreibt der Abrechnungstreiber die Ergebnisse in den PCL2-Cluster. | ||
| Warum das wichtig ist Ein wichtiger Meilenstein: Arbeitszeit- und Vergütungsdaten wurden erfolgreich zusammengeführt. Verzögerungen an dieser Stelle beeinträchtigen die Effizienz der Brutto-Netto-Verarbeitung. Woher beziehen Cluster PCL2 (Abrechnungsergebnisse), insbesondere der Zeitstempel der Verzeichnistabelle (RGDIR) für den „For-Period“. Erfassung Wird protokolliert, wenn eine neue Sequenznummer in den Abrechnungscluster geschrieben wird. Ereignistyp explicit | |||
| Datei für Banküberweisung erstellt | Die vorläufige Datenträgeraustauschdatei (Pre-DME) oder die endgültige DME-Datei wird erstellt. Sie enthält die Zahlungsanweisungen für die Bank. | ||
| Warum das wichtig ist Dient zur Überwachung der Automatisierung von Banküberweisungen. Fehlgeschlagene Dateierstellungen führen zu kritischen Prozessunterbrechungen. Woher beziehen Protokolle der Ausführung von DME oder Payment Medium Workbench (PMW), die häufig in TemSe oder bestimmten Tabellen für Zahlungsläufe (ReguH/ReguP) gespeichert werden. Erfassung Wird protokolliert, wenn der Zahlungslauf (F110/RPCIPE) eine Ausgabedatei erstellt. Ereignistyp explicit | |||
| Steuererklärung abgeschlossen | Steuerdateien werden erstellt, zum Beispiel PU19 in den USA, oder an einen externen Anbieter für Steuererklärungen übermittelt. | ||
| Warum das wichtig ist Stellt die Einhaltung gesetzlicher Vorgaben sicher und erfasst den abschließenden Compliance-Schritt im Ablauf. Woher beziehen Protokolle des Tax Reporter Log Manager oder des B2A (Business to Administration) Manager, die eine erfolgreiche Dateierstellung anzeigen. Erfassung Wird protokolliert, wenn der Lauf des Tax Reporter erfolgreich abgeschlossen wird. Ereignistyp explicit | |||
| Zahlung ausgeführt | Der Zahlungsvorgang wird abgeschlossen, häufig durch eine Bestätigung der Bank oder den Abschluss des Zahlungslaufs F110. | ||
| Warum das wichtig ist Der maßgebliche Endzeitstempel für die SLA-Einhaltungsquote. Zeigt, ob die Beschäftigten pünktlich bezahlt wurden. Woher beziehen Datum und Uhrzeit des Laufs in den Tabellen für Zahlungsläufe (REGUH) oder ein aus dem Wertstellungsdatum abgeleiteter Zeitpunkt. Erfassung Wird protokolliert, wenn der Status des Zahlungslaufs auf Posted/Complete gesetzt wird. Ereignistyp explicit | |||
| Abzüge für Zusatzleistungen angewendet | Der konkrete Schritt im Berechnungsschema, in dem die Logik für Zusatzleistungen verarbeitet wird. Obwohl dieser Schritt Teil des regulären Abrechnungslaufs ist, lässt sich durch seine separate Betrachtung die Ursache von Konfigurationsfehlern besser eingrenzen. | ||
| Warum das wichtig ist Unterstützt die Analyse der Genauigkeit von Berechnungen für Zusatzleistungen und Steuern. Nützlich bei der Fehlersuche in komplexen Abzugsregeln. Woher beziehen Wird anhand des V0-Splits in den Abrechnungsergebnissen oder anhand bestimmter Protokolleinträge ermittelt, sofern eine detaillierte Protokollierung aktiviert ist. In der Produktivumgebung ist dies selten der Fall. Erfassung Fällt zeitlich mit der Bruttogehaltsberechnung zusammen, ist für die Analyse jedoch ein eigenständiger Schritt. Ereignistyp inferred | |||
| Audit-Ausnahme markiert | Die Richtlinienprüfungen des Payroll Control Center erzeugen einen Validierungshinweis. Diese Hinweise machen Inkonsistenzen in den Daten oder Compliance-Risiken sichtbar. | ||
| Warum das wichtig ist Dient als Grundlage für die Dashboards zu Audit-Ausnahmehäufigkeit und Compliance-Risiken. Eine hohe Zahl weist auf Probleme mit der vorgelagerten Datenqualität hin. Woher beziehen Tabellen für Hinweise im Payroll Control Center (PYC_D_ALERT), in denen bestimmte Fehlercodes mit dem jeweiligen Beschäftigtendatensatz verknüpft sind. Erfassung Wird protokolliert, wenn ein neuer Eintrag in der PCC-Hinweistabelle erstellt wird. Ereignistyp explicit | |||
| Daten zu variablen Vergütungen importiert | Nicht standardmäßige Vergütungsdaten, etwa Boni oder Provisionen, werden in das Abrechnungssystem übernommen. Dazu werden die Daten in der Regel in die Infotypen 0015 oder 2010 geladen. | ||
| Warum das wichtig ist Verspätete Importe verhindern eine genaue Berechnung des Bruttogehalts. Die Analyse hilft, die Durchlaufzeit der Integration variabler Vergütungsdaten zu optimieren. Woher beziehen Audit-Protokoll (PCL4 oder gleichwertig), das die Erstellung von Datensätzen in Infotyp 0015 (Zusatzleistungen) oder 2010 (Vergütungsinformationen für Beschäftigte) zeigt. Erfassung Vergleichen Sie die Erstellungszeitstempel der Infotypen mit den Protokollen der Importaufträge. Ereignistyp inferred | |||
| Datenkorrektur durchgeführt | Stammdaten oder Arbeitszeitdaten werden aufgrund einer Audit-Ausnahme geändert. Dies ist eine Nacharbeit, die erforderlich ist, um einen Abrechnungshinweis zu beheben. | ||
| Warum das wichtig ist Erfasst manuelle Korrekturen und Nacharbeitsquoten. Diese Aktivität trägt maßgeblich zu Ineffizienzen im Prozess bei. Woher beziehen Wird ermittelt, indem die Zeitstempel der PCC-Hinweise mit späteren Änderungen im Audit-Protokoll (PCL4) für denselben Beschäftigten verknüpft werden, bevor der Hinweis geschlossen wird. Erfassung Ermitteln Sie Aktualisierungen der Stammdaten, die vorgenommen werden, während ein PCC-Hinweis aktiv ist. Ereignistyp inferred | |||
| Gehaltsabrechnung veröffentlicht | Die Vergütungsabrechnung wird den Beschäftigten über Self-Service (ESS) zur Verfügung gestellt. | ||
| Warum das wichtig ist Misst die SLA-Leistung bei der Bereitstellung von Gehaltsabrechnungen. Verzögerungen führen zu Anfragen beim Helpdesk. Woher beziehen Wird anhand des „Print Date“ oder des in den Protokollen des Gehaltsabrechnungs-Mashup-Services konfigurierten Verfügbarkeitsdatums ermittelt. Erfassung Berechnung anhand des Zahlungstags zuzüglich der systemseitig konfigurierten Verzögerung. Ereignistyp inferred | |||
Anleitungen zur Datenextraktion
Schritte
- Legen Sie den Zielbereich und die Abrechnungszeitraumparameter für die Extraktion fest. Die Daten stammen hauptsächlich aus den Tabellen des Payroll Control Center (PCC) (PYC_*) und dem Abrechnungsclusterverzeichnis (HRPY_RGDIR).
- Starten Sie Ihren SQL-Client oder SAP HANA Studio, das mit dem Backend-Schema von SAP SuccessFactors Employee Central Payroll (ECP) verbunden ist.
- Führen Sie das im Abschnitt Query bereitgestellte Datenextraktionsskript aus. Es fasst Daten aus Stammdatentabellen, Abrechnungsergebnissen und Prüfungsprotokollen des PCC zusammen.
- Ordnen Sie die Aktivitäten „Arbeitszeiterfassung eingereicht“ und „Arbeitszeiterfassung genehmigt“ zu. Da ECP diese Daten häufig aus Employee Central erhält, verwenden Sie die Erstellungs- und Änderungszeitstempel aus der Tabelle PA2001 oder, sofern verfügbar, aus speziellen Zeiterfassungsschnittstellentabellen wie PTREQ_HEADER.
- Extrahieren Sie „Anreizdaten importiert“, indem Sie die Infotypen 0015 (Zusätzliche Zahlungen) und 2010 (Mitarbeitervergütungsinformationen) nach Datensätzen abfragen, die im Zielabrechnungszeitraum erstellt wurden.
- Rufen Sie die PCC-Prozessschritte aus den Tabellen PYC_D_PYP (Prozessinstanzen) und PYC_D_BINST (Schrittinstanzen) ab, um „Lohnabrechnungsprozess initialisiert“, „Abrechnungssimulation ausgeführt“, „Abrechnungsdatensatz genehmigt“ und „Gehaltsabrechnung veröffentlicht“ zu erfassen.
- Fragen Sie die Tabelle PYC_D_ALERT ab, um Ereignisse vom Typ „Prüfungsausnahme gekennzeichnet“ zu ermitteln. Diese Datensätze verknüpfen bestimmte Mitarbeitende mit Validierungsfehlern, die bei den PCC-Prüfschritten gefunden wurden.
- Erzeugen Sie Ereignisse vom Typ „Datenkorrektur durchgeführt“, indem Sie den Änderungsbelegkopf (CDHDR) mit abrechnungsrelevanten Infotypen (z. B. 0008, 0015, 2001) im aktiven Abrechnungszeitraum verknüpfen.
- Verwenden Sie die Tabelle HRPY_RGDIR, um den genauen Zeitpunkt von „Bruttolohn berechnet“ zu bestimmen. Erstellen Sie mit demselben Zeitstempel ein abgeleitetes Ereignis „Leistungsabzüge angewendet“, da beide während desselben Schema-Laufs stattfinden.
- Verknüpfen Sie Finanzdaten aus den Tabellen REGUH (Abrechnungsdaten) und REGUT (DME-Verwaltung), um „Banküberweisungsdatei erstellt“ und „Zahlung ausgeführt“ zu erfassen.
- Formatieren Sie die Spalte „PayrollRecord“ exakt nach dem Muster [EmployeeID]-[Period]-[Year], damit jede Case-ID eindeutig ist.
- Exportieren Sie den fertigen Datensatz als CSV-Datei. Achten Sie darauf, dass die Spaltenüberschriften den im Vertrag definierten Attributen entsprechen, und laden Sie die Datei in ProcessMind hoch.
Konfiguration
- Zeitraum: Richten Sie die Extraktion auf einen rollierenden Zeitraum der letzten 6 bis 12 Monate aus. Da Lohnabrechnungsprozesse zyklisch sind, bildet dieser Zeitraum genügend unterschiedliche reguläre und außerplanmäßige Abrechnungsläufe ab.
- Abrechnungskreis (ABKRS): Filtern Sie nach bestimmten Abrechnungskreisen (z. B. monatliche Abrechnung in den USA, wöchentliche Abrechnung in Deutschland), damit Sie vergleichbare Prozesszyklen analysieren.
- Sprache: Extrahieren Sie Beschreibungen von Aktivitäten und Prozessschritten in der primären Systemsprache (z. B. SPRAS = 'E').
- PCC-Prozess-IDs: Ermitteln Sie die in Ihrer PCC-Konfiguration verwendeten Prozessdefinitions-IDs (PYP_ID) für „Überwachung“, „Produktion“ und „Außerplanmäßig“, um die relevanten Schritte zu filtern.
- Währung: Vereinheitlichen Sie Finanzbeträge (GrossPayAmount) auf eine Währung, wenn Sie Daten aus der globalen Lohnabrechnung extrahieren.
- Berechtigungen: Der Datenbankbenutzer benötigt Lesezugriff auf die Personalwirtschaftstabellen (PA/PY), insbesondere auf das Clusterverzeichnis (HRPY_RGDIR) und die PCC-Tabellen (PYC_*).
a Beispielabfrage sql
/* Activity 1: Time Sheet Submitted */
SELECT
CONCAT(T.PERNR, CONCAT('-', T.PABRJ, T.PABRP)) AS PayrollRecord,
'Time Sheet Submitted' AS Activity,
T.BEGDA AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
T.ABKRS AS PayrollArea,
'Permanent' AS EmployeeType,
T.PABRP AS PayPeriod,
CASE WHEN T.PABRP LIKE '9%' THEN 'Off-Cycle' ELSE 'Regular' END AS PayCycleFrequency,
0.00 AS GrossPayAmount,
T.UNAME AS PayrollSpecialist,
O.KOSTL AS CostCenter,
'True' AS IsAutomated
FROM PA2001 AS T
LEFT JOIN PA0001 AS O ON T.PERNR = O.PERNR AND O.ENDDA = '99991231'
WHERE T.AEDTM BETWEEN '[START_DATE]' AND '[END_DATE]'
UNION ALL
/* Activity 2: Time Sheet Approved */
SELECT
CONCAT(T.PERNR, CONCAT('-', T.PABRJ, T.PABRP)) AS PayrollRecord,
'Time Sheet Approved' AS Activity,
T.AEDTM AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
T.ABKRS AS PayrollArea,
'Permanent' AS EmployeeType,
T.PABRP AS PayPeriod,
CASE WHEN T.PABRP LIKE '9%' THEN 'Off-Cycle' ELSE 'Regular' END AS PayCycleFrequency,
0.00 AS GrossPayAmount,
T.UNAME AS PayrollSpecialist,
O.KOSTL AS CostCenter,
'False' AS IsAutomated
FROM PA2001 AS T
LEFT JOIN PA0001 AS O ON T.PERNR = O.PERNR AND O.ENDDA = '99991231'
WHERE T.AEDTM BETWEEN '[START_DATE]' AND '[END_DATE]'
UNION ALL
/* Activity 3: Incentive Data Imported */
SELECT
CONCAT(I.PERNR, CONCAT('-', I.PABRJ, I.PABRP)) AS PayrollRecord,
'Incentive Data Imported' AS Activity,
I.AEDTM AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
I.ABKRS AS PayrollArea,
'Permanent' AS EmployeeType,
I.PABRP AS PayPeriod,
'Regular' AS PayCycleFrequency,
I.BETRG AS GrossPayAmount,
I.UNAME AS PayrollSpecialist,
O.KOSTL AS CostCenter,
'True' AS IsAutomated
FROM PA0015 AS I
LEFT JOIN PA0001 AS O ON I.PERNR = O.PERNR AND O.ENDDA = '99991231'
WHERE I.AEDTM BETWEEN '[START_DATE]' AND '[END_DATE]'
UNION ALL
/* Activity 4: Payroll Process Initialized */
SELECT
CONCAT('N/A', CONCAT('-', P.PABRJ, P.PABRP)) AS PayrollRecord,
'Payroll Process Initialized' AS Activity,
P.CREATED_TS AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
'ALL' AS PayrollArea,
NULL AS EmployeeType,
P.PABRP AS PayPeriod,
'Regular' AS PayCycleFrequency,
0.00 AS GrossPayAmount,
P.CREATED_BY AS PayrollSpecialist,
NULL AS CostCenter,
'False' AS IsAutomated
FROM PYC_D_PYP AS P
WHERE P.CREATED_TS BETWEEN '[START_DATE]' AND '[END_DATE]'
UNION ALL
/* Activity 5: Payroll Simulation Executed */
SELECT
CONCAT('N/A', CONCAT('-', S.PABRJ, S.PABRP)) AS PayrollRecord,
'Payroll Simulation Executed' AS Activity,
S.END_TS AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
'ALL' AS PayrollArea,
NULL AS EmployeeType,
S.PABRP AS PayPeriod,
'Regular' AS PayCycleFrequency,
0.00 AS GrossPayAmount,
S.EXEC_USER AS PayrollSpecialist,
NULL AS CostCenter,
'True' AS IsAutomated
FROM PYC_D_BINST AS S
JOIN PYC_D_STEP AS D ON S.STEP_ID = D.ID
WHERE D.NAME LIKE '%Simulate%' AND S.END_TS BETWEEN '[START_DATE]' AND '[END_DATE]'
UNION ALL
/* Activity 6: Audit Exception Flagged */
SELECT
CONCAT(A.RO_ID, CONCAT('-', P.PABRJ, P.PABRP)) AS PayrollRecord,
'Audit Exception Flagged' AS Activity,
A.CREATED_TS AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
P.ABKRS AS PayrollArea,
'Permanent' AS EmployeeType,
P.PABRP AS PayPeriod,
'Regular' AS PayCycleFrequency,
0.00 AS GrossPayAmount,
'SYSTEM' AS PayrollSpecialist,
NULL AS CostCenter,
'True' AS IsAutomated
FROM PYC_D_ALERT AS A
JOIN PYC_D_PYP AS P ON A.PYP_ID = P.ID
WHERE A.CREATED_TS BETWEEN '[START_DATE]' AND '[END_DATE]'
UNION ALL
/* Activity 7: Data Correction Performed */
SELECT
CONCAT(C.OBJECTID, CONCAT('-', P.PABRJ, P.PABRP)) AS PayrollRecord,
'Data Correction Performed' AS Activity,
TO_TIMESTAMP(CONCAT(C.UDATE, C.UTIME)) AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
P.ABKRS AS PayrollArea,
'Permanent' AS EmployeeType,
P.PABRP AS PayPeriod,
'Regular' AS PayCycleFrequency,
0.00 AS GrossPayAmount,
C.USERNAME AS PayrollSpecialist,
NULL AS CostCenter,
'False' AS IsAutomated
FROM CDHDR AS C
JOIN HRPY_RGDIR AS P ON C.OBJECTID = P.PERNR
WHERE C.TCODE IN ('PA30', 'PA40') AND C.UDATE BETWEEN '[START_DATE]' AND '[END_DATE]'
UNION ALL
/* Activity 8: Gross Pay Calculated */
SELECT
CONCAT(R.PERNR, CONCAT('-', R.PABRJ, R.PABRP)) AS PayrollRecord,
'Gross Pay Calculated' AS Activity,
TO_TIMESTAMP(CONCAT(R.RUNDT, R.RUNTM)) AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
R.ABKRS AS PayrollArea,
'Permanent' AS EmployeeType,
R.PABRP AS PayPeriod,
CASE WHEN R.PABRP LIKE '9%' THEN 'Off-Cycle' ELSE 'Regular' END AS PayCycleFrequency,
0.00 AS GrossPayAmount,
R.UNAME AS PayrollSpecialist,
O.KOSTL AS CostCenter,
'True' AS IsAutomated
FROM HRPY_RGDIR AS R
LEFT JOIN PA0001 AS O ON R.PERNR = O.PERNR AND O.ENDDA = '99991231'
WHERE R.RUNDT BETWEEN '[START_DATE]' AND '[END_DATE]'
UNION ALL
/* Activity 9: Benefit Deductions Applied */
SELECT
CONCAT(R.PERNR, CONCAT('-', R.PABRJ, R.PABRP)) AS PayrollRecord,
'Benefit Deductions Applied' AS Activity,
ADD_SECONDS(TO_TIMESTAMP(CONCAT(R.RUNDT, R.RUNTM)), 1) AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
R.ABKRS AS PayrollArea,
'Permanent' AS EmployeeType,
R.PABRP AS PayPeriod,
CASE WHEN R.PABRP LIKE '9%' THEN 'Off-Cycle' ELSE 'Regular' END AS PayCycleFrequency,
0.00 AS GrossPayAmount,
R.UNAME AS PayrollSpecialist,
O.KOSTL AS CostCenter,
'True' AS IsAutomated
FROM HRPY_RGDIR AS R
LEFT JOIN PA0001 AS O ON R.PERNR = O.PERNR AND O.ENDDA = '99991231'
WHERE R.RUNDT BETWEEN '[START_DATE]' AND '[END_DATE]'
UNION ALL
/* Activity 10: Payroll Record Approved */
SELECT
CONCAT('N/A', CONCAT('-', S.PABRJ, S.PABRP)) AS PayrollRecord,
'Payroll Record Approved' AS Activity,
S.END_TS AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
'ALL' AS PayrollArea,
NULL AS EmployeeType,
S.PABRP AS PayPeriod,
'Regular' AS PayCycleFrequency,
0.00 AS GrossPayAmount,
S.EXEC_USER AS PayrollSpecialist,
NULL AS CostCenter,
'False' AS IsAutomated
FROM PYC_D_BINST AS S
JOIN PYC_D_STEP AS D ON S.STEP_ID = D.ID
WHERE D.NAME LIKE '%Check%' AND S.STATUS = 'OK' AND S.END_TS BETWEEN '[START_DATE]' AND '[END_DATE]'
UNION ALL
/* Activity 11: Bank Transfer File Generated */
SELECT
CONCAT(P.PERNR, CONCAT('-', P.PABRJ, P.PABRP)) AS PayrollRecord,
'Bank Transfer File Generated' AS Activity,
TO_TIMESTAMP(CONCAT(T.TSDAT, T.TSTIM)) AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
P.ABKRS AS PayrollArea,
'Permanent' AS EmployeeType,
P.PABRP AS PayPeriod,
'Regular' AS PayCycleFrequency,
0.00 AS GrossPayAmount,
T.USRID AS PayrollSpecialist,
O.KOSTL AS CostCenter,
'True' AS IsAutomated
FROM REGUT AS T
JOIN REGUH AS H ON T.LAUFD = H.LAUFD AND T.LAUFI = H.LAUFI
JOIN HRPY_RGDIR AS P ON H.PERNR = P.PERNR
LEFT JOIN PA0001 AS O ON P.PERNR = O.PERNR AND O.ENDDA = '99991231'
WHERE T.TSDAT BETWEEN '[START_DATE]' AND '[END_DATE]'
UNION ALL
/* Activity 12: Payment Executed */
SELECT
CONCAT(P.PERNR, CONCAT('-', P.PABRJ, P.PABRP)) AS PayrollRecord,
'Payment Executed' AS Activity,
TO_TIMESTAMP(CONCAT(H.LAUFD, '120000')) AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
P.ABKRS AS PayrollArea,
'Permanent' AS EmployeeType,
P.PABRP AS PayPeriod,
'Regular' AS PayCycleFrequency,
H.RBETR AS GrossPayAmount,
H.ZNME1 AS PayrollSpecialist,
O.KOSTL AS CostCenter,
'True' AS IsAutomated
FROM REGUH AS H
JOIN HRPY_RGDIR AS P ON H.PERNR = P.PERNR
LEFT JOIN PA0001 AS O ON P.PERNR = O.PERNR AND O.ENDDA = '99991231'
WHERE H.LAUFD BETWEEN '[START_DATE]' AND '[END_DATE]'
UNION ALL
/* Activity 13: Pay Slip Published */
SELECT
CONCAT('N/A', CONCAT('-', S.PABRJ, S.PABRP)) AS PayrollRecord,
'Pay Slip Published' AS Activity,
S.END_TS AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
'ALL' AS PayrollArea,
NULL AS EmployeeType,
S.PABRP AS PayPeriod,
'Regular' AS PayCycleFrequency,
0.00 AS GrossPayAmount,
S.EXEC_USER AS PayrollSpecialist,
NULL AS CostCenter,
'True' AS IsAutomated
FROM PYC_D_BINST AS S
JOIN PYC_D_STEP AS D ON S.STEP_ID = D.ID
WHERE D.NAME LIKE '%Remuneration%' AND S.END_TS BETWEEN '[START_DATE]' AND '[END_DATE]'
UNION ALL
/* Activity 14: Tax Filing Completed */
SELECT
CONCAT('N/A', CONCAT('-', S.PABRJ, S.PABRP)) AS PayrollRecord,
'Tax Filing Completed' AS Activity,
S.END_TS AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
'ALL' AS PayrollArea,
NULL AS EmployeeType,
S.PABRP AS PayPeriod,
'Regular' AS PayCycleFrequency,
0.00 AS GrossPayAmount,
S.EXEC_USER AS PayrollSpecialist,
NULL AS CostCenter,
'True' AS IsAutomated
FROM PYC_D_BINST AS S
JOIN PYC_D_STEP AS D ON S.STEP_ID = D.ID
WHERE D.NAME LIKE '%Tax%' AND S.END_TS BETWEEN '[START_DATE]' AND '[END_DATE]' Schritte
- ABAP-Editor öffnen: Melden Sie sich über die SAP GUI bei Ihrem SAP SuccessFactors Employee Central Payroll-System (ECP) an. Öffnen Sie die Transaktion SE38 (ABAP-Editor).
- Programm erstellen: Geben Sie einen Namen für das neue Programm ein, zum Beispiel
Z_PROCESSMINING_PAYROLL_EXT, und klicken Sie auf Erstellen. Wählen Sie als Typ Ausführbares Programm und speichern Sie es zu Testzwecken als lokales Objekt (Paket $TMP). - Code einfügen: Kopieren Sie den vollständigen ABAP-Code aus dem folgenden Abschnitt Query und fügen Sie ihn in den Editor ein. Ersetzen Sie dabei vorhandenen Standardcode.
- Prüfen und aktivieren: Klicken Sie auf die Schaltfläche Prüfen (Strg+F2), um die Syntax zu validieren. Wenn keine Fehler vorliegen, klicken Sie auf Aktivieren (Strg+F3).
- Extraktion ausführen: Drücken Sie Direktverarbeitung (F8), um den Bericht auszuführen.
- Auswahl konfigurieren: Geben Sie im Auswahlbildschirm den
Payroll Area(z. B. US, 99) und einen gültigenDate Range(z. B. die letzten 3 Monate) ein. Optional können Sie zum Testen nach bestimmtenPersonnel Numbers(PERNR) filtern. - Extraktion starten: Führen Sie den Bericht aus. Das System verarbeitet die Tabellen HRPY_RGDIR, CATSDB, PA0015 und REGUH, um das Event Log zu erstellen.
- Ausgabe prüfen: Der Bericht verwendet
cl_demo_output, um die Ergebnisse zur sofortigen Prüfung direkt auf dem Bildschirm in einer Rasteransicht anzuzeigen. - Daten exportieren: Klicken Sie mit der rechten Maustaste auf das Ergebnisraster, wählen Sie Tabellenkalkulation und speichern Sie die Datei im CSV- oder Excel-Format.
- Für ProcessMind formatieren: Öffnen Sie die exportierte Datei. Stellen Sie sicher, dass die Spalte
EventTimestampdas FormatYYYY-MM-DD HH:MM:SShat. Prüfen Sie, ob die SpaltePayrollRecordden Case eindeutig identifiziert (in der Regel PERNR-SEQNR). - Upload: Importieren Sie die bereinigte CSV-Datei in ProcessMind und ordnen Sie die Spalten den Feldern Case-ID, Aktivität, Timestamp und Attribute zu.
Konfiguration
- Datumsbereich: Es empfiehlt sich, die Daten in Abschnitten von 3 bis 6 Monaten zu extrahieren, um Speicherüberläufe in der ABAP-Laufzeitumgebung zu vermeiden.
- Abrechnungskreis: Dies ist ein wichtiger Filter (Tabelle T549A). Extrahieren Sie immer nur einen Abrechnungskreis auf einmal (z. B. monatlich oder zweiwöchentlich), damit die Prozesse vergleichbar bleiben.
- Konfigurationstabelle: Das Skript verwendet
HRPY_RGDIR(Abrechnungsverzeichnis) als primäre Datenquelle. Stellen Sie sicher, dass Ihr Benutzer für diese Tabelle die BerechtigungS_TABU_DISbesitzt. - Zeiterfassungsdatenquelle: Das Skript geht davon aus, dass sich die Zeiterfassungsdaten in
CATSDBbefinden. Wenn Sie eine Zeiterfassung eines Drittanbieters verwenden, die ohne CATS direkt mitIT2001oderIT2010verbunden ist, sind die Aktivitäten zur Zeiterfassung möglicherweise leer. In diesem Fall muss das Skript angepasst werden. - Zahlungsdaten: Das Skript verknüpft Abrechnungsläufe über
REGUH(Abrechnungsdaten) mit Zahlungsläufen. Stellen Sie sicher, dass der ZahlungslaufF110für den ausgewählten Zeitraum ausgeführt wurde, damit Zahlungsereignisse angezeigt werden. - Leistung: Ersetzen Sie bei Systemen mit hohem Datenvolumen (mehr als 100.000 Mitarbeitende) die
SELECT *-Logik durch einen cursorbasierten Abruf oder führen Sie das Skript im Hintergrundmodus (F9) aus.
a Beispielabfrage abap
REPORT Z_PROCESSMINING_PAYROLL_EXT.
TABLES: pernr, hrpy_rgdir, catsdb, pa0015, reguh.
TYPES: BEGIN OF ty_event_log,
payroll_record TYPE string,
activity TYPE string,
event_timestamp TYPE string,
source_system TYPE string,
last_data_update TYPE string,
payroll_area TYPE abkrs,
employee_type TYPE persg,
pay_period TYPE pabrj,
pay_cycle_freq TYPE string,
gross_pay_amount TYPE string,
payroll_specialist TYPE usnam,
cost_center TYPE kostl,
is_automated TYPE string,
END OF ty_event_log.
DATA: gt_output TYPE TABLE OF ty_event_log,
gs_output TYPE ty_event_log,
gt_rgdir TYPE TABLE OF hrpy_rgdir,
gs_rgdir TYPE hrpy_rgdir,
gt_cats TYPE TABLE OF catsdb,
gs_cats TYPE catsdb,
gt_p0015 TYPE TABLE OF pa0015,
gs_p0015 TYPE pa0015,
gt_reguh TYPE TABLE OF reguh,
gs_reguh TYPE reguh,
gv_tstamp TYPE timestamp,
gv_date TYPE d,
gv_time TYPE t,
gv_pernr TYPE pernr_d.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: s_pernr FOR pernr-pernr,
s_date FOR sy-datum OBLIGATORY.
PARAMETERS: p_abkrs TYPE abkrs OBLIGATORY DEFAULT '99'.
SELECTION-SCREEN END OF BLOCK b1.
START-OF-SELECTION.
" 1. Fetch Payroll Directory (The Core Process Driver)
SELECT * FROM hrpy_rgdir INTO TABLE gt_rgdir
WHERE pernr IN s_pernr
AND fpper LIKE '%'
AND cdate IN s_date.
IF gt_rgdir IS INITIAL.
WRITE: / 'No payroll results found for selection.'.
EXIT.
ENDIF.
SORT gt_rgdir BY pernr seqnr.
" Loop through Payroll Directory to build events
LOOP AT gt_rgdir INTO gs_rgdir.
CLEAR gs_output.
CONCATENATE gs_rgdir-pernr '-' gs_rgdir-seqnr INTO gs_output-payroll_record.
gs_output-source_system = 'SAP_ECP'.
gs_output-last_data_update = sy-datum.
gs_output-payroll_area = p_abkrs.
gs_output-pay_period = gs_rgdir-fpper.
gs_output-payroll_specialist = gs_rgdir-uname.
" --- Activity: Payroll Process Initialized ---
" Derived from the run date start
gs_output-activity = 'Payroll Process Initialized'.
CONCATENATE gs_rgdir-cdate gs_rgdir-ctime INTO gs_output-event_timestamp SEPARATED BY space.
gs_output-is_automated = 'TRUE'.
APPEND gs_output TO gt_output.
" --- Activity: Payroll Simulation Executed ---
IF gs_rgdir-srtza = 'S'. " S = Simulation
gs_output-activity = 'Payroll Simulation Executed'.
CONCATENATE gs_rgdir-cdate gs_rgdir-ctime INTO gs_output-event_timestamp SEPARATED BY space.
gs_output-is_automated = 'TRUE'.
APPEND gs_output TO gt_output.
ENDIF.
" --- Activity: Audit Exception Flagged ---
IF gs_rgdir-void IS NOT INITIAL. " Void indicator means rejected/exception
gs_output-activity = 'Audit Exception Flagged'.
CONCATENATE gs_rgdir-cdate gs_rgdir-ctime INTO gs_output-event_timestamp SEPARATED BY space.
gs_output-is_automated = 'TRUE'.
APPEND gs_output TO gt_output.
" --- Activity: Data Correction Performed ---
" Inferred: If voided, a correction usually follows immediately
gs_output-activity = 'Data Correction Performed'.
" Add 1 hour to simulate reaction time
DATA: lv_corr_time TYPE t.
lv_corr_time = gs_rgdir-ctime + 3600.
CONCATENATE gs_rgdir-cdate lv_corr_time INTO gs_output-event_timestamp SEPARATED BY space.
gs_output-is_automated = 'FALSE'.
APPEND gs_output TO gt_output.
ENDIF.
" --- Activity: Gross Pay Calculated ---
IF gs_rgdir-srtza = 'A'. " A = Actual Result
gs_output-activity = 'Gross Pay Calculated'.
CONCATENATE gs_rgdir-cdate gs_rgdir-ctime INTO gs_output-event_timestamp SEPARATED BY space.
gs_output-gross_pay_amount = '1000.00'. " Placeholder: Cluster read required for actual amount
gs_output-is_automated = 'TRUE'.
APPEND gs_output TO gt_output.
" --- Activity: Benefit Deductions Applied ---
" Logically occurs immediately after gross calc
gs_output-activity = 'Benefit Deductions Applied'.
gs_output-is_automated = 'TRUE'.
APPEND gs_output TO gt_output.
" --- Activity: Payroll Record Approved ---
" Inferred from successful write of 'A' record
gs_output-activity = 'Payroll Record Approved'.
DATA: lv_appr_time TYPE t.
lv_appr_time = gs_rgdir-ctime + 60. " +1 minute
CONCATENATE gs_rgdir-cdate lv_appr_time INTO gs_output-event_timestamp SEPARATED BY space.
gs_output-is_automated = 'FALSE'.
APPEND gs_output TO gt_output.
" --- Activity: Pay Slip Published ---
" Available via ESS usually next day
gs_output-activity = 'Pay Slip Published'.
DATA: lv_slip_date TYPE d.
lv_slip_date = gs_rgdir-cdate + 1.
CONCATENATE lv_slip_date '080000' INTO gs_output-event_timestamp SEPARATED BY space.
gs_output-is_automated = 'TRUE'.
APPEND gs_output TO gt_output.
" --- Activity: Tax Filing Completed ---
" End of period logic
gs_output-activity = 'Tax Filing Completed'.
DATA: lv_tax_date TYPE d.
lv_tax_date = gs_rgdir-paydt.
CONCATENATE lv_tax_date '235959' INTO gs_output-event_timestamp SEPARATED BY space.
gs_output-is_automated = 'TRUE'.
APPEND gs_output TO gt_output.
ENDIF.
ENDLOOP.
" 2. Fetch Time Sheet Data (CATSDB)
" Linking to Payroll Record loosely via Period/Date
SELECT * FROM catsdb INTO TABLE gt_cats
WHERE pernr IN s_pernr
AND workdate IN s_date.
LOOP AT gt_cats INTO gs_cats.
CLEAR gs_output.
CONCATENATE gs_cats-pernr '-00000' INTO gs_output-payroll_record. " Generic mapping
gs_output-payroll_area = p_abkrs.
gs_output-source_system = 'SAP_ECP'.
" --- Activity: Time Sheet Submitted ---
IF gs_cats-status = '20' OR gs_cats-status = '30'.
gs_output-activity = 'Time Sheet Submitted'.
CONCATENATE gs_cats-laudate gs_cats-lautime INTO gs_output-event_timestamp SEPARATED BY space.
gs_output-is_automated = 'FALSE'.
APPEND gs_output TO gt_output.
ENDIF.
" --- Activity: Time Sheet Approved ---
IF gs_cats-status = '30'. " 30 = Approved
gs_output-activity = 'Time Sheet Approved'.
CONCATENATE gs_cats-apdat gs_cats-aptime INTO gs_output-event_timestamp SEPARATED BY space.
gs_output-is_automated = 'FALSE'.
APPEND gs_output TO gt_output.
ENDIF.
ENDLOOP.
" 3. Fetch Incentive Data (Infotype 0015)
SELECT * FROM pa0015 INTO TABLE gt_p0015
WHERE pernr IN s_pernr
AND begda IN s_date.
LOOP AT gt_p0015 INTO gs_p0015.
CLEAR gs_output.
CONCATENATE gs_p0015-pernr '-00000' INTO gs_output-payroll_record.
gs_output-source_system = 'SAP_ECP'.
gs_output-payroll_area = p_abkrs.
" --- Activity: Incentive Data Imported ---
gs_output-activity = 'Incentive Data Imported'.
CONCATENATE gs_p0015-aedtm '120000' INTO gs_output-event_timestamp SEPARATED BY space.
gs_output-is_automated = 'FALSE'.
APPEND gs_output TO gt_output.
ENDLOOP.
" 4. Fetch Payment Data (REGUH)
SELECT * FROM reguh INTO TABLE gt_reguh
WHERE zaldt IN s_date.
LOOP AT gt_reguh INTO gs_reguh.
" Filter for our PERNRs roughly (REGUH does not always have PERNR directly indexable easily in all views)
" For simulation, we map broadly or require join logic. Here assuming simple extraction.
CLEAR gs_output.
CONCATENATE gs_reguh-pernr '-99999' INTO gs_output-payroll_record.
gs_output-source_system = 'SAP_ECP'.
gs_output-payroll_area = p_abkrs.
" --- Activity: Bank Transfer File Generated ---
gs_output-activity = 'Bank Transfer File Generated'.
CONCATENATE gs_reguh-laufd gs_reguh-cpzut INTO gs_output-event_timestamp SEPARATED BY space.
gs_output-is_automated = 'TRUE'.
APPEND gs_output TO gt_output.
" --- Activity: Payment Executed ---
gs_output-activity = 'Payment Executed'.
CONCATENATE gs_reguh-zaldt '100000' INTO gs_output-event_timestamp SEPARATED BY space.
gs_output-is_automated = 'TRUE'.
APPEND gs_output TO gt_output.
ENDLOOP.
" Output Display
cl_demo_output=>display( gt_output ). Möchten Sie loslegen?
Starten Sie mit diesem Template und wenden Sie es auf Ihre Datenextraktion an, um Ihre Lohnabrechnung effizienter zu gestalten. Unser strukturierter Ansatz hilft Ihnen, Rohdaten schnell in konkrete Erkenntnisse umzuwandeln.
Verbessern Sie jetzt die Leistung Ihrer Lohnabrechnung
Schließen Sie sich Unternehmen an, die ihre Abrechnungszyklen bereits heute um 30 % verkürzen.
Keine Kreditkarte erforderlich. In wenigen Minuten eingerichtet.