Ihr Daten-Template für die Payroll-Verarbeitung
Ihr Daten-Template für die Payroll-Verarbeitung
- Optimierte Datenfelder für die Payroll-Analyse
- Umfassende Aktivitätserfassung zur Abbildung des Lebenszyklus
- Detaillierte Anleitung zur Datenextraktion für Oracle HCM Cloud Payroll
Attribute der Payroll-Verarbeitung
| Name | Beschreibung | ||
|---|---|---|---|
| Aktivitätsname ActivityName | Der konkrete Schritt oder das Ereignis im Abrechnungszyklus. | ||
| Beschreibung Dieses Attribut enthält den Namen des Ereignisses im Gehaltsabrechnungsprozess. Beispiele sind „Stundenzettel eingereicht“, „Gehaltsabrechnung gestartet“ und „Zahlung ausgeführt“. Es ist die zentrale Dimension für die Prozesserkennung und die Variantenanalyse. In Oracle HCM Cloud wird der Wert häufig aus dem Aktionstyp oder dem Aktionsstatus in den Tabellen zu den Gehaltsabrechnungsaktionen abgeleitet. Warum das wichtig ist Dieses Attribut beschreibt, was im Prozess geschieht, und ermöglicht so die Rekonstruktion der Prozesslandkarte. Woher beziehen Abgeleitet aus dem ACTION_TYPE-Code in PAY_PAYROLL_ACTIONS oder aus Statusänderungen in Audit-Protokollen. Beispiele Gehaltsabrechnung gestartetStundenzettel genehmigtBanküberweisung erstelltAudit-Ausnahme gemeldet | |||
| Ereignis-Timestamp EventTimestamp | Das genaue Datum und die Uhrzeit, zu der die Aktivität stattgefunden hat. | ||
| Beschreibung Erfasst den genauen Zeitpunkt einer Aktivität. Das ist entscheidend, um Dauern und Durchlaufzeiten zu berechnen und Engpässe zu erkennen. Bei automatisierten Schritten entspricht dieser Wert der Systemausführungszeit. Bei manuellen Schritten wie Genehmigungen ist es der Timestamp der Benutzeraktion im Transaktionsprotokoll. Warum das wichtig ist Unverzichtbar, um Ereignisse chronologisch zu ordnen und alle zeitbasierten KPIs zu berechnen. Woher beziehen Spalten CREATION_DATE oder ACTION_DATE in relevanten Transaktionstabellen wie PAY_ACTION_INFORMATION. Beispiele 2023-10-01T08:30:00Z2023-10-01T14:15:22Z2023-10-05T09:00:00Z | |||
| Gehaltsabrechnungsdatensatz PayrollRecord | Eindeutige Kennung für einen Mitarbeiter innerhalb eines bestimmten Abrechnungszeitraums. | ||
| Beschreibung Der Gehaltsabrechnungsdatensatz dient als zentrale Case-ID für die Process-Mining-Analyse. Er besteht aus einer Verkettung oder einem eindeutigen Schlüssel, der die Kennung der Beschäftigungszuordnung mit der Kennung des Abrechnungszeitraums kombiniert. Dieses Attribut fasst alle Aktivitäten zusammen, die zur Bezahlung einer einzelnen Person in einem bestimmten Zyklus gehören, von der ersten Einreichung des Stundenzettels bis zur abschließenden Banküberweisung und Steuererklärung. So lässt sich unterscheiden, ob dieselbe Person im Januar oder im Februar bezahlt wurde. Warum das wichtig ist Dient als Case-ID und fasst alle einzelnen Ereignisse für die Analyse zu einer Prozessinstanz zusammen. Woher beziehen Erstellt aus PAY_ASSIGNMENT_ACTIONS oder aus einer Kombination aus Person Number und Payroll Period Name in Oracle HCM. Beispiele EMP1001-2023-M01EMP5992-2023-W42300000018273645US-NY-A123-JAN23 | |||
| Letzte Datenaktualisierung LastDataUpdate | Der Timestamp, zu dem der Datensatz zuletzt in der Quelldatenbank geändert wurde. | ||
| Beschreibung Zeigt an, wie aktuell die für die Analyse verwendeten Daten sind. Anders als der Ereignis-Timestamp gibt dieser Wert an, wann ein ETL-Prozess oder eine Systemaktualisierung die Datenbankzeile zuletzt geändert hat. Damit lässt sich prüfen, ob die Daten aktuell sind, und Verzögerungen bei der Extraktion lassen sich untersuchen. Warum das wichtig ist So erkennen Analysten, ob sie mit aktuellen oder veralteten Daten arbeiten. Woher beziehen Die Spalte LAST_UPDATE_DATE, die in fast allen Oracle-HCM-Tabellen vorkommt. Beispiele 2023-10-02T12:00:00Z2023-10-06T01:00:00Z | |||
| Quellsystem SourceSystem | Der Name des Systems, aus dem das Ereignis stammt. | ||
| Beschreibung Gibt an, welche Software oder welches Modul den Datenpunkt erzeugt hat. In diesem Prozess lautet der primäre Wert „Oracle HCM Cloud Payroll“. In komplexen Systemlandschaften kann dieses Attribut jedoch zwischen der zentralen Payroll-Engine, dem Modul für Zeiterfassung und Arbeitszeit oder einer externen Bankschnittstelle unterscheiden. Warum das wichtig ist Liefert Informationen zur Datenherkunft, insbesondere bei der Integration von Daten aus Zeiterfassungs- oder Bankensubsystemen. Woher beziehen Wird beim Extrahieren fest codiert oder aus Schnittstellen-IDs abgeleitet. Beispiele Oracle HCM Cloud PayrollOracle Time and LaborExterne Bankschnittstelle | |||
| Abrechnungsgruppe PayGroup | Logische Gruppierung von Mitarbeitenden für die Payroll-Verarbeitung. | ||
| Beschreibung Gibt die Payroll-Definition an, der der Mitarbeitende zugeordnet ist, etwa „Wöchentliche Abrechnung Produktion“ oder „Monatliche Abrechnung Verwaltung“. Dieses Attribut ist für fast alle Dashboards zentral und ermöglicht den Leistungsvergleich zwischen verschiedenen Abrechnungszyklen und -frequenzen. Warum das wichtig ist Das zentrale Konfigurationsobjekt für die Planung der Payroll-Läufe. Woher beziehen Tabelle PAY_ALL_PAYROLLS_F (Payroll-Name). Beispiele USA, zweimal monatlichVereinigtes Königreich, monatlichWöchentliche Abrechnung, Gewerkschaft | |||
| Abteilungsname DepartmentName | Die Organisationseinheit, in der der Mitarbeitende arbeitet. | ||
| Beschreibung Gibt die Abteilung an, die für den Mitarbeitenden des Payroll-Datensatzes zuständig ist. Dieses Attribut ist für das Dashboard „Effizienz der Stundenzettel-Freigabe“ entscheidend. Durch die Aufschlüsselung nach Abteilungen können Analysten feststellen, in welchen Geschäftseinheiten Arbeitszeitnachweise regelmäßig verspätet freigegeben werden und sich dadurch der gesamte Payroll-Lauf verzögert. Warum das wichtig ist Ermöglicht die Ursachenanalyse von Verzögerungen bei Freigaben durch Führungskräfte. Woher beziehen Wird aus dem zum Zeitpunkt des Payroll-Laufs gültigen Zuordnungsdatensatz des Mitarbeitenden abgeleitet. Beispiele Vertrieb NordamerikaTechnikPersonalwesenLogistik | |||
| Bearbeitender Benutzer ProcessingUser | Die Benutzer-ID oder der Name der Person, die die Aktivität ausführt. | ||
| Beschreibung Erfasst, welcher Payroll-Spezialist, welche Führungskraft oder welches Systemkonto die Aktivität ausgelöst hat. Diese Information unterstützt das Dashboard „Arbeitslastverteilung der Payroll-Spezialisten“. Sie hilft dabei, Engpässe bei den verfügbaren Ressourcen und Schulungsbedarf im Payroll-Team zu erkennen. Warum das wichtig ist Ermöglicht die Analyse der Produktivität und den Ausgleich der Arbeitslast. Woher beziehen Die Spalten CREATED_BY oder LAST_UPDATED_BY in Transaktionstabellen. Beispiele Systemadministratorj.smithpayroll_batch_userm.doe | |||
| Bruttogehalt GrossPayAmount | Das für den Zeitraum berechnete Bruttogehalt. | ||
| Beschreibung Gibt den Geldbetrag des im Abrechnungslauf berechneten Bruttogehalts an. Dieser Wert fließt in die Analysen „Genauigkeit der Steuer- und Leistungsberechnung“ und „Integration von Anreizen“ ein. Analysten können damit hohe Zahlungen mit der Bearbeitungszeit oder Fehlerquoten in Beziehung setzen. Warum das wichtig ist Liefert den finanziellen Kontext für die Process-Mining-Analyse. Woher beziehen Tabelle PAY_RUN_RESULT_VALUES, aggregiert für den Bruttogehalts-Saldo. Beispiele 5000.002350.5010000.00 | |||
| Legislative Data Group LegislativeDataGroup | Unterteilt Payroll-Daten nach Land oder regulatorischem Umfeld. | ||
| Beschreibung In Oracle HCM Cloud unterteilt die Legislative Data Group (LDG) Payroll-Daten und zugehörige Daten. Sie entspricht in der Regel einem Land oder dem Gesetzgebungsbereich eines bestimmten Gebiets. Dieses Attribut ist wichtig, um die Prozessanalyse nach Ländern zu filtern, etwa US Payroll oder UK Payroll. Häufig wird es dem generischen Attribut „Land“ zugeordnet. Warum das wichtig ist Compliance-Vorgaben und Prozessabläufe unterscheiden sich je nach Rechtsraum oft erheblich. Woher beziehen Tabelle PAY_ALL_PAYROLLS_F, verknüpft mit den Definitionen der Legislative Data Group. Beispiele US-Legislative-Data-GroupUK-LDGPayroll in Frankreich | |||
| Manuelle Korrektur IsManualCorrection | Kennzeichnet, ob bei der Aktivität manuell eingegriffen wurde. | ||
| Beschreibung Ein boolesches Kennzeichen, das bei Aktivitäten wie „Datenkorrektur durchgeführt“ oder „Payroll-Datensatz korrigiert“ auf „true“ gesetzt wird. Es dient zur Berechnung der KPIs „Quote manueller Datenkorrekturen“ und „Payroll-Genauigkeit beim ersten Durchlauf“. Warum das wichtig ist Unterscheidet zwischen durchgängiger automatisierter Verarbeitung und manueller Nacharbeit. Woher beziehen Wird aus dem Aktivitätsnamen oder bestimmten Aktionstypen abgeleitet, die auf Anpassungen hinweisen, etwa QuickPay oder Saldenanpassung. Beispiele truefalse | |||
| Name des Payroll-Zeitraums PayrollPeriodName | Der konkrete Name des Zeitraums für den Payroll-Lauf. | ||
| Beschreibung Gibt den jeweiligen Abrechnungszyklus an, etwa „Monatlich Januar 2024“ oder „Wöchentlicher Zeitraum 42“. Dieses Attribut ist für den „Monitor zur Einhaltung von SLA-Fristen“ erforderlich. Es ordnet die einzelnen Mitarbeitenden-Cases den jeweiligen Sammelläufen zu und ermöglicht so aggregierte Berichte. Warum das wichtig ist Grundlage für Analysen auf Sammellaufebene und die SLA-Überwachung. Woher beziehen Tabelle PAY_TIME_PERIODS oder der Name des Zeitraums in der Payroll-Definition. Beispiele Monatlich 10, 2023Wöchentlich 42, 2023Bonuslauf Dezember 2023 | |||
| SLA-Bearbeitungsfrist SlaProcessingDeadline | Der Zieltermin, bis zu dem die Zahlung ausgeführt werden muss. | ||
| Beschreibung Speichert die vertragliche oder gesetzliche Frist für die Auszahlung der Payroll. Dieses Attribut wird mit dem Timestamp „Zahlung ausgeführt“ verglichen. Es dient zur Berechnung der KPI „Einhaltung der SLA-Bearbeitungsfrist“ und zur Ermittlung gefährdeter Abrechnungsgruppen. Warum das wichtig ist Der wichtigste Maßstab dafür, ob der Prozess fristgerecht abgeschlossen wurde. Woher beziehen In der Regel ein konfiguriertes Feld (DFF) in der Payroll-Definition oder abgeleitet aus dem Abrechnungsscheckdatum abzüglich X Tagen. Beispiele 2023-10-28T17:00:00Z2023-11-30T17:00:00Z | |||
| Anzahl der Vorschau-Durchläufe PreviewIterationCount | Wie oft Ergebnisse vor dem Abschluss in der Vorschau angezeigt wurden. | ||
| Beschreibung Ein Zähler, der bei jeder Aktivität „Payroll-Ergebnis in Vorschau angezeigt“ für denselben Case erhöht wird. Dieser Wert wird direkt im Dashboard „Nachverfolgung der Payroll-Vorschau-Durchläufe“ verwendet. Er zeigt, wie viel Nacharbeit oder Unsicherheit vor der Freigabe auftritt. Warum das wichtig ist Macht die Effizienz der Validierungsphase messbar. Woher beziehen Wird bei der Datentransformation berechnet, indem bestimmte Aktivitätsvorkommen pro Case-ID gezählt werden. Beispiele 1350 | |||
| Art der Audit-Ausnahme AuditExceptionType | Die Kategorie des bei einem Audit festgestellten Fehlers oder Warnhinweises. | ||
| Beschreibung Ordnet das bei der Aktivität „Audit-Ausnahme festgestellt“ erkannte Problem einer Kategorie zu, etwa „Negatives Nettogehalt“ oder „Steuer-ID fehlt“. Dieses Attribut unterstützt das Dashboard „Analyse von Audit-Ausnahmen und Korrekturen“, indem es häufige Probleme mit der Datenqualität sichtbar macht. Warum das wichtig ist Entscheidend für die Ursachenanalyse von Nacharbeitsschleifen. Woher beziehen Spalten für Meldungen oder Fehlercodes in Payroll-Prozessprotokollen oder Ausnahmeberichten. Beispiele Negatives NettogehaltSSN fehltUngültige BankverbindungÜberstundenlimit überschritten | |||
| Beschäftigungsart EmployeeType | Einstufung des Mitarbeitenden, zum Beispiel Gehaltsempfänger, Stundenlohnempfänger oder Auftragnehmer. | ||
| Beschreibung Klassifiziert den Mitarbeitendendatensatz. Dieses Attribut ist für das Dashboard „Verzögerung bei der Veröffentlichung digitaler Gehaltsabrechnungen“ wichtig, da je nach Beschäftigungsart unterschiedliche Verarbeitungsregeln oder Dringlichkeiten gelten können. Damit lässt sich die Prozessleistung verschiedener Beschäftigtengruppen vergleichen. Warum das wichtig ist Für unterschiedliche Beschäftigungsarten gelten häufig unterschiedliche Prozessvarianten. Woher beziehen Zuordnungskategorie oder Beschäftigungsbedingungen in PER_ALL_ASSIGNMENTS_M. Beispiele Vollzeit, GehaltTeilzeit, StundenlohnAuftragnehmerFührungskraft | |||
| Kennzeichen für rückwirkende Änderungen RetroactiveChangeFlag | Gibt an, ob der Payroll-Lauf rückwirkende Zahlungen enthält. | ||
| Beschreibung Ein boolesches Kennzeichen, das auf „true“ gesetzt wird, wenn in diesem Datensatz „Retropay“-Elemente verarbeitet werden. Es hilft, längere Bearbeitungszeiten oder Audit-Ausnahmen im „Vergleich von Prozesspfadvarianten“ zu erklären. Rückwirkende Änderungen lösen häufig komplexe Neuberechnungen für frühere Zeiträume aus. Warum das wichtig ist Kennzeichnet komplexe Cases, die naturgemäß mehr Bearbeitungszeit erfordern. Woher beziehen Vorhandensein von „Retropay“-Elementeinträgen in PAY_ELEMENT_ENTRIES. Beispiele truefalse | |||
| SLA-Status SlaStatus | Kategorischer Status der SLA-Einhaltung (eingehalten/nicht eingehalten). | ||
| Beschreibung Wird durch den Vergleich des Timestamps „Zahlung ausgeführt“ mit der „SLA-Bearbeitungsfrist“ abgeleitet. Mögliche Werte sind „Fristgerecht“, „Gefährdet“ oder „Frist überschritten“. Das Dashboard „Monitor zur Einhaltung von SLA-Fristen“ kann Cases so einfacher nach Leistungsstufen gruppieren. Warum das wichtig ist Fasst komplexe Zeitvergleiche in handlungsrelevanten Kategorien zusammen. Woher beziehen Wird anhand einer Logik berechnet, die den Ereignis-Timestamp mit der SLA-Frist vergleicht. Beispiele EingehaltenFrist überschrittenFrist beinahe überschritten | |||
| Steuerrechtsraum TaxJurisdiction | Der jeweilige Bundesstaat, die Provinz oder der Ort für die Steuererklärung. | ||
| Beschreibung Gibt die für den Payroll-Datensatz zuständige Steuerbehörde an, zum Beispiel „CA“ für Kalifornien oder „NY“ für New York. Dieses Attribut unterstützt das Dashboard „Bearbeitungsdauer der Steuer-Compliance“. Damit lässt sich feststellen, ob Steuerberechnung und -meldung in bestimmten Regionen komplexer sind oder länger dauern. Warum das wichtig ist Ermöglicht den Leistungsvergleich nach regulatorischer Komplexität. Woher beziehen Wird aus der Steuerkarte des Mitarbeitenden oder den Adressen des Arbeitsorts abgeleitet. Beispiele CA-KalifornienNY-New YorkTX-TexasUS-Bundesebene | |||
Aktivitäten der Payroll-Verarbeitung
| Aktivität | Beschreibung | ||
|---|---|---|---|
| Banküberweisung erstellt | Erstellung einer EFT-Datei (Electronic Funds Transfer) oder einer vergleichbaren Zahlungsausgabe. Dabei wird die technische Zahlungsanweisungsdatei für die Bank erstellt. | ||
| Warum das wichtig ist Misst die Zykluszeit bis zur Erstellung der Zahlungsdatei. Verzögerungen können dazu führen, dass Bankannahmefristen verpasst werden. Woher beziehen Fragen Sie PAY_PAYROLL_ACTIONS ab, wenn ACTION_TYPE den Wert M (Magnetic Tape), E (EFT) oder C (Check Writer) hat. Erfassung Erfasst, wenn die EFT- oder Scheckaktion abgeschlossen ist Ereignistyp explicit | |||
| Gehaltsabrechnung berechnet | Erfolgreicher Abschluss des Prozesses Calculate Payroll einschließlich der Brutto-Netto-Berechnung. Dieses Ereignis zeigt an, dass Bezüge, Abzüge und Steuern für die Beschäftigungszuordnung berechnet wurden. | ||
| Warum das wichtig ist Ein wichtiger Meilenstein: Die Daten sind nun bereit für die Prüfung. Lange Verarbeitungszeiten können auf Leistungsprobleme des Systems oder komplexe Fast Formulas hindeuten. Woher beziehen Fragen Sie PAY_PAYROLL_REL_ACTIONS in Verbindung mit PAY_PAYROLL_ACTIONS ab, wenn ACTION_TYPE den Wert R oder Q hat und sich ACTION_STATUS in C (Complete) ändert. Erfassung Erfasst, wenn der Status der Payroll-Run-Aktion auf Complete gesetzt wird Ereignistyp explicit | |||
| Gehaltsabrechnung gestartet | Start des Hauptabrechnungslaufs für eine bestimmte Gehaltsabrechnungsdefinition und einen bestimmten Zeitraum. Damit beginnt die Verarbeitung der erfassten Daten. | ||
| Warum das wichtig ist Markiert den Beginn der intensiven Verarbeitungsphase. Dient zur Berechnung der gesamten Zykluszeit der technischen Gehaltsabrechnung. Woher beziehen Fragen Sie die Tabelle PAY_PAYROLL_ACTIONS ab, wenn ACTION_TYPE den Wert R (Run) oder Q (QuickPay) hat und ACTION_STATUS als gestartet gekennzeichnet ist oder sich dies aus dem Erstellungsdatum ableiten lässt. Erfassung Erfasst, wenn ein Datensatz in PAY_PAYROLL_ACTIONS eingefügt wird Ereignistyp explicit | |||
| Vorauszahlungen berechnet | Ausführung des Prozesses Prepayments, der das Nettogehalt auf die von Mitarbeitenden gewählten Zahlungsmethoden verteilt (Scheck, EFT usw.). Damit wird geprüft, ob die berechneten Beträge tatsächlich ausgezahlt werden können. | ||
| Warum das wichtig ist Die Verbindung zwischen Berechnung und Auszahlung. Fehler an dieser Stelle weisen meist auf fehlende Bankdaten oder ungültige Zahlungsmethoden hin. Woher beziehen Fragen Sie PAY_PAYROLL_ACTIONS ab, wenn ACTION_TYPE den Wert P (Prepayments) hat und der Status Complete lautet. Erfassung Erfasst, wenn die Prepayments-Aktion abgeschlossen ist Ereignistyp explicit | |||
| Zahlung ausgeführt | Abschließende Bestätigung, dass die Zahlung verarbeitet wurde. In Oracle entspricht dies dem Abschluss des Zahlungs-Workflows oder der Abstimmung in Cash Management. | ||
| Warum das wichtig ist Der maßgebliche Timestamp für die SLA-Einhaltung. Daran lässt sich feststellen, ob Mitarbeitende pünktlich bezahlt wurden. Woher beziehen Lässt sich aus dem Effective Date der Banküberweisungsaktion oder direkt aus den Abstimmungsprotokollen von Cash Management (CE_STATEMENT_LINES) ableiten. Erfassung Erfasst anhand des Effective Date der Zahlungsaktion oder eines Abstimmungsereignisses Ereignistyp explicit | |||
| Abrechnungslauf genehmigt | Formelle Genehmigung des Abrechnungsregisters oder Workflows im Payroll Dashboard. Sie erfolgt in der Regel nach der Prüfung der Validierungsberichte und vor der Erstellung der Bankdateien. | ||
| Warum das wichtig ist Steht für die formelle Freigabe durch die Führungskraft. Die Zeit zwischen Berechnung und Genehmigung bildet den Prüfzeitraum. Woher beziehen Fragen Sie PAY_REQ_FLOW_INSTANCES auf Statusänderungen oder den Abschluss bestimmter Aufgaben innerhalb eines festgelegten Payroll Flow Pattern ab. Erfassung Erfasst, wenn sich der Status der Flow Instance in Completed/Approved ändert Ereignistyp explicit | |||
| Anreizdaten importiert | Erstellung von Gehaltsabrechnungselementen für variable Vergütungen wie Boni oder Provisionen über einen Batch Loader oder einen HDL-Import. Dieses Ereignis steht für die Übernahme externer Vergütungsdaten in den Abrechnungslauf. | ||
| Warum das wichtig ist Misst die Geschwindigkeit der Übernahme variabler Vergütungen. Verspätete Importe führen häufig zu zusätzlichen Abrechnungsläufen oder manuellen Korrekturen. Woher beziehen Fragen Sie PAY_BATCH_HEADERS auf den Abschluss des Imports ab oder verfolgen Sie die Erstellung von PAY_ELEMENT_ENTRIES_F anhand eines bestimmten Quellsystemverweises. Erfassung Erfasst, wenn die Verarbeitung der Batch-Gehaltsabrechnungselemente erfolgreich abgeschlossen ist Ereignistyp explicit | |||
| Archivierungsergebnisse erstellt | Abschluss des Prozesses Archive Periodic Payroll Results. Dieser Versionsstand fixiert die Daten für Berichte und die Erstellung von Gehaltsabrechnungen. | ||
| Warum das wichtig ist Technische Voraussetzung für die Erstellung von Gehaltsabrechnungen und gesetzlich vorgeschriebenen Berichten. Bestätigt, dass die Daten endgültig sind. Woher beziehen Fragen Sie PAY_PAYROLL_ACTIONS ab, wenn ACTION_TYPE den Wert X (Archive) hat und der Status Complete lautet. Erfassung Erfasst, wenn die Archivierungsaktion abgeschlossen ist Ereignistyp explicit | |||
| Audit-Ausnahme gemeldet | Erfassung einer Fehlermeldung oder Warnung während der Berechnung oder Prüfung der Gehaltsabrechnung. Hier werden konkrete Prüfungsfehler festgehalten, die ein Eingreifen erfordern. | ||
| Warum das wichtig ist Unverzichtbar, um Probleme mit der Datenqualität zu erkennen. Eine hohe Zahl von Ausnahmen erhöht den manuellen Aufwand und das Risiko, SLA-Vorgaben zu verletzen. Woher beziehen Fragen Sie die Tabelle PAY_MESSAGE_LINES ab, die mit der jeweiligen PAY_PAYROLL_REL_ACTION_ID verknüpft ist. Diese Tabelle enthält Fehler und Warnungen, die während der Abrechnungsläufe erzeugt wurden. Erfassung Erfasst, wenn ein Datensatz in PAY_MESSAGE_LINES eingefügt wird Ereignistyp explicit | |||
| Gehaltsabrechnung veröffentlicht | Zeitpunkt, ab dem das Dokument zur Gehaltsabrechnung für Mitarbeitende in Self Service sichtbar ist. Dies geschieht nach der Archivierung und gegebenenfalls nach einem bestimmten Prozess „Generate Payslip“. | ||
| Warum das wichtig ist Beeinflusst die Zufriedenheit der Mitarbeitenden. Lange Verzögerungen zwischen der Zahlung und der Verfügbarkeit der Gehaltsabrechnung führen zu Supportanfragen. Woher beziehen Fragen Sie die Tabelle Documents of Record (HR_DOCUMENTS_OF_RECORD) oder den Abschluss des Prozesses Generate Payslip in PAY_PAYROLL_ACTIONS ab. Erfassung Erfasst, wenn die Erstellung des Gehaltsabrechnungs-PDFs abgeschlossen ist Ereignistyp explicit | |||
| Gehaltsabrechnungsdatensatz korrigiert | Manuelle Änderungen an Gehaltsabrechnungselementen oder Beschäftigungsdaten nach dem ersten Abrechnungslauf, aber vor dem Abschluss. Diese Aktivität steht für Nacharbeiten zur Behebung von Fehlern oder Ausnahmen. | ||
| Warum das wichtig ist Weist auf ineffiziente Abläufe und Probleme mit der Datenqualität hin. Weniger Korrekturen sind entscheidend für eine höhere Genauigkeit der Gehaltsabrechnung beim ersten Durchlauf. Woher beziehen Lässt sich anhand von Änderungen an PAY_ELEMENT_ENTRIES_F ableiten, wenn das Feld Last Update Date zwischen dem Datum des ersten Payroll Run und dem Datum der Prepayments liegt. Erfassung Vergleichen Sie die Timestamps der Änderungen an Gehaltsabrechnungselementen mit den Timestamps der Abrechnungsläufe Ereignistyp inferred | |||
| Kosten übertragen | Übertragung der Ergebnisse der Gehaltsabrechnung an das Hauptbuch. Damit wird die Finanzbuchhaltung des Abrechnungszyklus abgeschlossen. | ||
| Warum das wichtig ist Sichert die Compliance im Finanzbereich und die korrekte Buchung der Personalkosten. Verzögerungen verhindern den fristgerechten Abschluss der Bücher durch die Finanzabteilung. Woher beziehen Fragen Sie PAY_PAYROLL_ACTIONS ab, wenn ACTION_TYPE den Wert T (Transfer to GL) hat und der Status Complete lautet. Erfassung Erfasst, wenn der Prozess Transfer to GL abgeschlossen ist Ereignistyp explicit | |||
| QuickPay ausgeführt | Ausführung eines Abrechnungslaufs für eine einzelne Person (QuickPay), der in der Regel zur Prüfung von Korrekturen dient. Dieses Ereignis dient als Näherungswert für die Aktivität „Abrechnungsergebnis in der Vorschau angezeigt“. | ||
| Warum das wichtig ist Häufige QuickPay-Läufe pro Person deuten auf ein Ausprobieren statt auf einen strukturierten Ablauf der Gehaltsabrechnung hin. Woher beziehen Fragen Sie PAY_PAYROLL_ACTIONS ab, wenn ACTION_TYPE den Wert Q (QuickPay) hat. Zählen Sie die Vorkommen pro Abrechnungszeitraum und Mitarbeiter. Erfassung Erfasst, wenn eine QuickPay-Aktion in PAY_PAYROLL_ACTIONS protokolliert wird Ereignistyp explicit | |||
| Steuererklärung abgeschlossen | Erstellung gesetzlich vorgeschriebener Steuerdateien, zum Beispiel einer vierteljährlichen Steuerdatei für Dritte. Damit wird die Einhaltung der Vorschriften für den Abrechnungszeitraum sichergestellt. | ||
| Warum das wichtig ist Wichtig für die KPI zur Dauer der steuerlichen Compliance-Verarbeitung. Fehler können zu Strafzahlungen führen. Woher beziehen Fragen Sie PAY_PAYROLL_ACTIONS nach Aktionen bestimmter Legislative Data Groups für die Steuerberichterstattung ab, zum Beispiel US Third Party Tax Filing. Erfassung Erfasst, wenn ein bestimmter Workflow für die Steuerberichterstattung abgeschlossen ist Ereignistyp explicit | |||
| Stundenzettel eingereicht | Das erste Ereignis: Ein Mitarbeiter oder eine Führungskraft reicht Zeit- und Arbeitsdaten zur Verarbeitung ein. In Oracle HCM wird dies erfasst, wenn sich der Status des Stundenzettels im Modul Time and Labor in „Submitted“ ändert. | ||
| Warum das wichtig ist Markiert die Erfassung von Rohdaten in der möglichen Gehaltsabrechnung. Verzögerungen an dieser Stelle wirken sich auf die nachfolgenden Schritte aus und verkürzen den Zeitraum, in dem Fachkräfte die Berechnungen prüfen können. Woher beziehen Fragen Sie die Tabelle HWM_TM_REC_GRP_DTLS oder die Ansicht HXT_TIMECARDS ab, wenn sich der Status in SUBMITTED ändert. Verwenden Sie den Einreichungs-Timestamp. Erfassung Erfasst, wenn sich der Status in Time and Labor in SUBMITTED ändert Ereignistyp explicit | |||
| Stundenzettel genehmigt | Bestätigung, dass eine Führungskraft die eingereichten Zeitdaten geprüft und genehmigt hat. Diese Statusänderung löst die Übertragung der Daten in die Gehaltsabrechnungselemente aus. | ||
| Warum das wichtig ist Wichtig für die Messung der Durchlaufzeit bis zur Genehmigung durch die Führungskraft. Verzögerungen an dieser Stelle sind eine häufige Ursache für rückwirkende Gehaltsanpassungen in späteren Abrechnungszeiträumen. Woher beziehen Fragen Sie die Tabelle HWM_TM_REC_GRP_DTLS oder die Ansicht HXT_TIMECARDS ab, wenn sich der Status in APPROVED ändert. Vergleichen Sie den Genehmigungs-Timestamp mit dem Einreichungs-Timestamp. Erfassung Erfasst, wenn sich der Status in Time and Labor in APPROVED ändert Ereignistyp explicit | |||
Anleitungen zur Datenextraktion
Schritte
Datenübertragung öffnen: Melden Sie sich mit einem Benutzer mit der Rolle „Human Capital Management Integration Specialist“ bei Oracle HCM Cloud an. Navigieren Sie zu My Client Groups > Data Exchange > Extract Definitions.
Neuen Extrakt erstellen: Klicken Sie auf das Symbol „+“, um einen neuen Extrakt zu erstellen. Nennen Sie ihn
ProcessMind_Payroll_Extract. Wählen Sie als Verbraucher „Payroll“ und als Kategorie „HR Archive“, damit Sie auf historische Payroll-Aktionsdaten zugreifen können.Datengruppen definieren: Erstellen Sie eine Root Data Group auf Grundlage der User Entity
PAY_PAYROLL_REL_UE(Payroll Relationship). Dadurch wird die Extraktion an die Payroll-Zuordnung des Mitarbeiters gebunden. Erstellen Sie untergeordnete Datengruppen fürPAY_ACTION_INFORMATION_UE,PAY_ELEMENT_ENTRY_UEundHWM_MEASURE_DAY_V_UE(für Zeit- und Arbeitsdaten).Extrakt-Datensätze konfigurieren: Definieren Sie in den Datengruppen Datensätze, um die hierarchischen Daten in eine flache Struktur zu überführen. Erstellen Sie für jeden Aktivitätstyp eigene Datensätze, zum Beispiel einen Datensatz für „Time Card“-Ereignisse und einen weiteren für „Run Results“.
SQL-Logik mit FastFormula oder BIP umsetzen: Da hierarchische Payroll-Daten für ein lineares Event Log umgewandelt werden müssen, empfiehlt sich die „Extract Delivery Option“, um einen BI-Publisher-Bericht aufzurufen. So können Sie die SQL-Abfrage aus dem folgenden Abschnitt als Data Model verwenden. Für ein einheitliches Event Log ist dieses Vorgehen besser geeignet als die native Filterung über die grafische Oberfläche.
BI-Publisher-Data-Model erstellen: Navigieren Sie zu Tools > Reports and Analytics > Browse Catalog. Erstellen Sie ein neues Data Model und fügen Sie die SQL-Abfrage aus dem folgenden Abschnitt ein. Definieren Sie die Parameter
bind_start_dateundbind_end_date.Extrakt mit BIP verknüpfen: Erstellen Sie im Tab „Delivery“ der Extract Definition eine Bereitstellungsoption. Wählen Sie als Ausgabeformat „PDF“ oder „XML“. ProcessMind bevorzugt CSV, aber Sie können die BIP-Ausgabe anschließend umwandeln. Wählen Sie den BI-Publisher-Bericht aus, den Sie im vorherigen Schritt erstellt haben.
Parameter definieren: Fügen Sie im Extract Execution Tree Parameter für Startdatum und Enddatum hinzu, die dynamisch an die BI-Publisher-Abfrage übergeben werden.
Validieren und übermitteln: Validieren Sie die Extract Definition, um Fehler zu prüfen. Klicken Sie auf „Submit Extract“ und geben Sie die Parameter ein, zum Beispiel die letzten 90 Tage.
Prozess überwachen: Öffnen Sie „View Extract Results“. Warten Sie, bis sich der Status in „Succeeded“ ändert.
Ausgabe herunterladen: Laden Sie die erzeugte XML- oder CSV-Datei herunter. Prüfen Sie, ob sie die erforderlichen Spalten enthält, etwa PayrollRecord, ActivityName und EventTimestamp.
Für ProcessMind formatieren: Wandeln Sie die Ausgabe in eine flache CSV-Datei um, falls sie im XML-Format vorliegt. Achten Sie darauf, dass die Spaltenüberschriften den Anforderungen unter „Attributes to include“ entsprechen. Laden Sie die fertige Datei in ProcessMind hoch.
Konfiguration
- Extraktionsmodus: Nur Änderungen oder vollständiger Extrakt. Verwenden Sie beim ersten Laden „Full Extract“. Konfigurieren Sie für tägliche Aktualisierungen „Changes Only“ anhand des letzten Aktualisierungsdatums.
- Legislative Data Group (LDG): Wenn Ihre Instanz mehrere Länder unterstützt, empfiehlt es sich, nach LDG zu filtern, da die Payroll-Definitionen je nach Gesetzgebung variieren.
- Datumsbereich: Legen Sie
bind_start_dateundbind_end_dateso fest, dass mindestens 3 bis 6 Monate abgedeckt sind. So kann Process Mining vollständige Zykluszeiten erfassen. - Paketgröße: Legen Sie bei hohem Payroll-Volumen (mehr als 10.000 Beschäftigte) die Paketgröße in der Extract Definition auf 2000 fest, um Zeitüberschreitungen zu vermeiden.
- Gültigkeitszeitraum: Payroll-Tabellen sind datumsabhängig. Die Abfragelogik berücksichtigt ausdrücklich
effective_start_dateundeffective_end_date, damit die korrekte historische Version des Datensatzes abgerufen wird. - Sicherheit: Der ausführende Benutzer benötigt Datensicherheitsprofile, die den Zugriff auf alle Payroll-Bereiche und Abteilungen erlauben, die analysiert werden sollen.
a Beispielabfrage sql
/* Oracle HCM Cloud Payroll Extraction for ProcessMind */
/* Aggregating 16 specific activities into a unified Event Log */
SELECT
/* Attributes */
rel.person_number || '-' || ppa.payroll_action_id AS PayrollRecord,
'Time Card Submitted' AS ActivityName,
TO_CHAR(htr.creation_date, 'YYYY-MM-DD HH24:MI:SS') AS EventTimestamp,
'Oracle HCM Time and Labor' AS SourceSystem,
TO_CHAR(htr.last_update_date, 'YYYY-MM-DD HH24:MI:SS') AS LastDataUpdate,
pap.name AS PayrollPeriodName,
org.name AS DepartmentName,
NULL AS GrossPayAmount
FROM hwm_tm_rec htr
JOIN hwm_tm_rec_grp htrg ON htr.tm_rec_grp_id = htrg.tm_rec_grp_id
JOIN per_all_people_f rel ON htrg.person_id = rel.person_id
LEFT JOIN pay_all_payrolls_f pap ON htrg.payroll_id = pap.payroll_id
LEFT JOIN per_departments org ON rel.attribute1 = org.organization_id /* Adjust mapping */
WHERE htr.latest_version_flag = 'Y'
AND htr.tm_rec_status = 'SUBMITTED'
AND htr.creation_date BETWEEN :bind_start_date AND :bind_end_date
UNION ALL
SELECT
rel.person_number || '-' || ppa.payroll_action_id,
'Time Card Approved',
TO_CHAR(htr.last_update_date, 'YYYY-MM-DD HH24:MI:SS'),
'Oracle HCM Time and Labor',
TO_CHAR(htr.last_update_date, 'YYYY-MM-DD HH24:MI:SS'),
pap.name,
org.name,
NULL
FROM hwm_tm_rec htr
JOIN hwm_tm_rec_grp htrg ON htr.tm_rec_grp_id = htrg.tm_rec_grp_id
JOIN per_all_people_f rel ON htrg.person_id = rel.person_id
LEFT JOIN pay_all_payrolls_f pap ON htrg.payroll_id = pap.payroll_id
LEFT JOIN per_departments org ON rel.attribute1 = org.organization_id
WHERE htr.latest_version_flag = 'Y'
AND htr.tm_rec_status = 'APPROVED'
AND htr.last_update_date BETWEEN :bind_start_date AND :bind_end_date
UNION ALL
SELECT
rel.person_number || '-' || pee.element_entry_id,
'Incentive Data Imported',
TO_CHAR(pee.creation_date, 'YYYY-MM-DD HH24:MI:SS'),
'Oracle HCM Payroll',
TO_CHAR(pee.last_update_date, 'YYYY-MM-DD HH24:MI:SS'),
NULL,
org.name,
NULL
FROM pay_element_entries_f pee
JOIN pay_element_types_f pet ON pee.element_type_id = pet.element_type_id
JOIN per_all_assignments_m asg ON pee.assignment_id = asg.assignment_id
JOIN per_all_people_f rel ON asg.person_id = rel.person_id
LEFT JOIN per_departments org ON asg.organization_id = org.organization_id
WHERE pet.classification_name IN ('Supplemental Earnings', 'Voluntary Deductions')
AND pee.creator_type IN ('H', 'F') /* HDL or Flat File */
AND pee.creation_date BETWEEN :bind_start_date AND :bind_end_date
UNION ALL
SELECT
rel.person_number || '-' || ppa.payroll_action_id,
'Payroll Calculation Started',
TO_CHAR(ppa.creation_date, 'YYYY-MM-DD HH24:MI:SS'),
'Oracle HCM Payroll',
TO_CHAR(ppa.last_update_date, 'YYYY-MM-DD HH24:MI:SS'),
pap.name,
org.name,
NULL
FROM pay_payroll_actions ppa
JOIN pay_all_payrolls_f pap ON ppa.payroll_id = pap.payroll_id
JOIN pay_payroll_rel_actions pra ON ppa.payroll_action_id = pra.payroll_action_id
JOIN per_all_people_f rel ON pra.payroll_relationship_id = rel.person_id /* Simplified Join */
LEFT JOIN per_departments org ON rel.attribute1 = org.organization_id
WHERE ppa.action_type IN ('R', 'Q') /* Run or QuickPay */
AND ppa.creation_date BETWEEN :bind_start_date AND :bind_end_date
UNION ALL
SELECT
rel.person_number || '-' || ppa.payroll_action_id,
'Payroll Calculation Executed',
TO_CHAR(pra.action_sequence_date, 'YYYY-MM-DD HH24:MI:SS'),
'Oracle HCM Payroll',
TO_CHAR(pra.last_update_date, 'YYYY-MM-DD HH24:MI:SS'),
pap.name,
org.name,
(SELECT SUM(prrv.result_value) FROM pay_run_result_values prrv JOIN pay_run_results prr ON prrv.run_result_id = prr.run_result_id WHERE prr.payroll_rel_action_id = pra.payroll_rel_action_id) AS GrossPayAmount
FROM pay_payroll_rel_actions pra
JOIN pay_payroll_actions ppa ON pra.payroll_action_id = ppa.payroll_action_id
JOIN pay_all_payrolls_f pap ON ppa.payroll_id = pap.payroll_id
JOIN per_all_people_f rel ON pra.payroll_relationship_id = rel.person_id
LEFT JOIN per_departments org ON rel.attribute1 = org.organization_id
WHERE ppa.action_type IN ('R', 'Q')
AND pra.action_status = 'C'
AND pra.action_sequence_date BETWEEN :bind_start_date AND :bind_end_date
UNION ALL
SELECT
rel.person_number || '-' || ppa.payroll_action_id,
'Audit Exception Flagged',
TO_CHAR(pml.creation_date, 'YYYY-MM-DD HH24:MI:SS'),
'Oracle HCM Payroll',
TO_CHAR(pml.last_update_date, 'YYYY-MM-DD HH24:MI:SS'),
pap.name,
org.name,
NULL
FROM pay_message_lines pml
JOIN pay_payroll_rel_actions pra ON pml.source_id = pra.payroll_rel_action_id
JOIN pay_payroll_actions ppa ON pra.payroll_action_id = ppa.payroll_action_id
JOIN pay_all_payrolls_f pap ON ppa.payroll_id = pap.payroll_id
JOIN per_all_people_f rel ON pra.payroll_relationship_id = rel.person_id
LEFT JOIN per_departments org ON rel.attribute1 = org.organization_id
WHERE pml.message_level IN ('F', 'E') /* Fatal or Error */
AND pml.creation_date BETWEEN :bind_start_date AND :bind_end_date
UNION ALL
SELECT
rel.person_number || '-' || ppa.payroll_action_id,
'Payroll Record Corrected',
TO_CHAR(pee.last_update_date, 'YYYY-MM-DD HH24:MI:SS'),
'Oracle HCM Payroll',
TO_CHAR(pee.last_update_date, 'YYYY-MM-DD HH24:MI:SS'),
pap.name,
org.name,
NULL
FROM pay_element_entries_f pee
JOIN pay_payroll_rel_actions pra ON pee.creator_id = pra.payroll_rel_action_id
JOIN pay_payroll_actions ppa ON pra.payroll_action_id = ppa.payroll_action_id
JOIN pay_all_payrolls_f pap ON ppa.payroll_id = pap.payroll_id
JOIN per_all_people_f rel ON pra.payroll_relationship_id = rel.person_id
LEFT JOIN per_departments org ON rel.attribute1 = org.organization_id
WHERE pee.last_update_date > pee.creation_date
AND pee.last_update_date BETWEEN :bind_start_date AND :bind_end_date
UNION ALL
SELECT
rel.person_number || '-' || ppa.payroll_action_id,
'QuickPay Executed',
TO_CHAR(pra.action_sequence_date, 'YYYY-MM-DD HH24:MI:SS'),
'Oracle HCM Payroll',
TO_CHAR(pra.last_update_date, 'YYYY-MM-DD HH24:MI:SS'),
pap.name,
org.name,
NULL
FROM pay_payroll_rel_actions pra
JOIN pay_payroll_actions ppa ON pra.payroll_action_id = ppa.payroll_action_id
JOIN pay_all_payrolls_f pap ON ppa.payroll_id = pap.payroll_id
JOIN per_all_people_f rel ON pra.payroll_relationship_id = rel.person_id
LEFT JOIN per_departments org ON rel.attribute1 = org.organization_id
WHERE ppa.action_type = 'Q'
AND pra.action_status = 'C'
AND pra.action_sequence_date BETWEEN :bind_start_date AND :bind_end_date
UNION ALL
SELECT
rel.person_number || '-' || ppa.payroll_action_id,
'Prepayments Calculated',
TO_CHAR(pra.action_sequence_date, 'YYYY-MM-DD HH24:MI:SS'),
'Oracle HCM Payroll',
TO_CHAR(pra.last_update_date, 'YYYY-MM-DD HH24:MI:SS'),
pap.name,
org.name,
NULL
FROM pay_payroll_rel_actions pra
JOIN pay_payroll_actions ppa ON pra.payroll_action_id = ppa.payroll_action_id
JOIN pay_all_payrolls_f pap ON ppa.payroll_id = pap.payroll_id
JOIN per_all_people_f rel ON pra.payroll_relationship_id = rel.person_id
LEFT JOIN per_departments org ON rel.attribute1 = org.organization_id
WHERE ppa.action_type = 'P' /* Distribution */
AND pra.action_status = 'C'
AND pra.action_sequence_date BETWEEN :bind_start_date AND :bind_end_date
UNION ALL
SELECT
rel.person_number || '-' || ppa.payroll_action_id,
'Payroll Run Approved',
TO_CHAR(pfi.action_date, 'YYYY-MM-DD HH24:MI:SS'),
'Oracle HCM Payroll',
TO_CHAR(pfi.last_update_date, 'YYYY-MM-DD HH24:MI:SS'),
pap.name,
org.name,
NULL
FROM pay_flow_instances pfi
JOIN pay_payroll_actions ppa ON pfi.payroll_action_id = ppa.payroll_action_id
JOIN pay_all_payrolls_f pap ON ppa.payroll_id = pap.payroll_id
JOIN pay_payroll_rel_actions pra ON ppa.payroll_action_id = pra.payroll_action_id
JOIN per_all_people_f rel ON pra.payroll_relationship_id = rel.person_id
LEFT JOIN per_departments org ON rel.attribute1 = org.organization_id
WHERE pfi.status = 'COMPLETED'
AND pfi.instance_name LIKE '%Approval%'
AND pfi.action_date BETWEEN :bind_start_date AND :bind_end_date
UNION ALL
SELECT
rel.person_number || '-' || ppa.payroll_action_id,
'Archive Results Generated',
TO_CHAR(pra.action_sequence_date, 'YYYY-MM-DD HH24:MI:SS'),
'Oracle HCM Payroll',
TO_CHAR(pra.last_update_date, 'YYYY-MM-DD HH24:MI:SS'),
pap.name,
org.name,
NULL
FROM pay_payroll_rel_actions pra
JOIN pay_payroll_actions ppa ON pra.payroll_action_id = ppa.payroll_action_id
JOIN pay_all_payrolls_f pap ON ppa.payroll_id = pap.payroll_id
JOIN per_all_people_f rel ON pra.payroll_relationship_id = rel.person_id
LEFT JOIN per_departments org ON rel.attribute1 = org.organization_id
WHERE ppa.action_type = 'X' /* Archive */
AND pra.action_status = 'C'
AND pra.action_sequence_date BETWEEN :bind_start_date AND :bind_end_date
UNION ALL
SELECT
rel.person_number || '-' || ppa.payroll_action_id,
'Bank Transfer Generated',
TO_CHAR(pra.action_sequence_date, 'YYYY-MM-DD HH24:MI:SS'),
'Oracle HCM Payroll',
TO_CHAR(pra.last_update_date, 'YYYY-MM-DD HH24:MI:SS'),
pap.name,
org.name,
(SELECT SUM(ppp.value) FROM pay_pre_payments ppp WHERE ppp.payroll_action_id = ppa.payroll_action_id) AS GrossPayAmount
FROM pay_payroll_rel_actions pra
JOIN pay_payroll_actions ppa ON pra.payroll_action_id = ppa.payroll_action_id
JOIN pay_all_payrolls_f pap ON ppa.payroll_id = pap.payroll_id
JOIN per_all_people_f rel ON pra.payroll_relationship_id = rel.person_id
LEFT JOIN per_departments org ON rel.attribute1 = org.organization_id
WHERE ppa.action_type IN ('M', 'E') /* Mag Tape or EFT */
AND pra.action_status = 'C'
AND pra.action_sequence_date BETWEEN :bind_start_date AND :bind_end_date
UNION ALL
SELECT
rel.person_number || '-' || ppa.payroll_action_id,
'Payment Executed',
TO_CHAR(ppp.base_currency_value, 'YYYY-MM-DD HH24:MI:SS'),
'Oracle HCM Payroll',
TO_CHAR(ppa.last_update_date, 'YYYY-MM-DD HH24:MI:SS'),
pap.name,
org.name,
ppp.value AS GrossPayAmount
FROM pay_pre_payments ppp
JOIN pay_payroll_actions ppa ON ppp.payroll_action_id = ppa.payroll_action_id
JOIN pay_all_payrolls_f pap ON ppa.payroll_id = pap.payroll_id
JOIN pay_payroll_rel_actions pra ON ppa.payroll_action_id = pra.payroll_action_id
JOIN per_all_people_f rel ON pra.payroll_relationship_id = rel.person_id
LEFT JOIN per_departments org ON rel.attribute1 = org.organization_id
WHERE ppa.action_type IN ('H', 'E', 'M') /* Check or EFT */
AND ppa.effective_date BETWEEN :bind_start_date AND :bind_end_date
UNION ALL
SELECT
rel.person_number || '-' || ppa.payroll_action_id,
'Pay Slip Published',
TO_CHAR(pra.action_sequence_date, 'YYYY-MM-DD HH24:MI:SS'),
'Oracle HCM Payroll',
TO_CHAR(pra.last_update_date, 'YYYY-MM-DD HH24:MI:SS'),
pap.name,
org.name,
NULL
FROM pay_payroll_rel_actions pra
JOIN pay_payroll_actions ppa ON pra.payroll_action_id = ppa.payroll_action_id
JOIN pay_all_payrolls_f pap ON ppa.payroll_id = pap.payroll_id
JOIN per_all_people_f rel ON pra.payroll_relationship_id = rel.person_id
LEFT JOIN per_departments org ON rel.attribute1 = org.organization_id
WHERE ppa.action_type = 'G' /* Generate Payslip */
AND pra.action_status = 'C'
AND pra.action_sequence_date BETWEEN :bind_start_date AND :bind_end_date
UNION ALL
SELECT
rel.person_number || '-' || ppa.payroll_action_id,
'Costing Transferred',
TO_CHAR(pra.action_sequence_date, 'YYYY-MM-DD HH24:MI:SS'),
'Oracle HCM Payroll',
TO_CHAR(pra.last_update_date, 'YYYY-MM-DD HH24:MI:SS'),
pap.name,
org.name,
NULL
FROM pay_payroll_rel_actions pra
JOIN pay_payroll_actions ppa ON pra.payroll_action_id = ppa.payroll_action_id
JOIN pay_all_payrolls_f pap ON ppa.payroll_id = pap.payroll_id
JOIN per_all_people_f rel ON pra.payroll_relationship_id = rel.person_id
LEFT JOIN per_departments org ON rel.attribute1 = org.organization_id
WHERE ppa.action_type = 'T' /* Transfer to GL */
AND pra.action_status = 'C'
AND pra.action_sequence_date BETWEEN :bind_start_date AND :bind_end_date
UNION ALL
SELECT
rel.person_number || '-' || ppa.payroll_action_id,
'Tax Filing Completed',
TO_CHAR(pra.action_sequence_date, 'YYYY-MM-DD HH24:MI:SS'),
'Oracle HCM Payroll',
TO_CHAR(pra.last_update_date, 'YYYY-MM-DD HH24:MI:SS'),
pap.name,
org.name,
NULL
FROM pay_payroll_rel_actions pra
JOIN pay_payroll_actions ppa ON pra.payroll_action_id = ppa.payroll_action_id
JOIN pay_all_payrolls_f pap ON ppa.payroll_id = pap.payroll_id
JOIN per_all_people_f rel ON pra.payroll_relationship_id = rel.person_id
LEFT JOIN per_departments org ON rel.attribute1 = org.organization_id
WHERE ppa.report_category IN ('Tax', 'Regulatory') /* Customize based on local requirements */
AND pra.action_status = 'C'
AND pra.action_sequence_date BETWEEN :bind_start_date AND :bind_end_date Schritte
- Bei Oracle BI Publisher anmelden: Öffnen Sie Ihre Oracle-Cloud-Umgebung und navigieren Sie zu Tools > Reports and Analytics. Klicken Sie auf Browse Catalog, um die BI-Publisher-Oberfläche zu öffnen.
- Data Model erstellen: Klicken Sie oben links auf New und wählen Sie Data Model. In diesem Container legen Sie die SQL-Extraktionslogik fest.
- SQL-Dataset erstellen: Klicken Sie im Tab Diagram auf das Symbol New Data Set und wählen Sie SQL Query.
- Datenquelle konfigurieren: Benennen Sie das Dataset, zum Beispiel
ProcessMind_Payroll_Extract. Legen Sie als Data SourceApplicationDB_HCModer die entsprechende Verbindung zur HCM-Anwendungsdatenbank fest. Behalten Sie den Typ „Standard SQL“ bei. - Abfrage eingeben: Kopieren Sie das vollständige SQL-Skript aus dem folgenden Abschnitt und fügen Sie es in das Textfeld für die SQL-Abfrage ein. Achten Sie darauf, keine Markdown-Formatierung zu übernehmen.
- Parameter definieren: Die Abfrage verwendet die Bind-Variablen
:p_start_dateund:p_end_date. Erstellen Sie diese beiden Parameter im Tab Parameters des Data Models mit dem Typ „Date“, um den Extraktionszeitraum einzugrenzen, zum Beispiel anhand vonppa.EFFECTIVE_DATE. - Datenstruktur validieren: Klicken Sie auf OK. Wechseln Sie im Data-Model-Editor zum Tab Daten. Geben Sie Beispieldaten ein, etwa
2023-01-01bis2023-03-31, und klicken Sie auf View. Prüfen Sie, ob die Ausgabe Zeilen mitPayrollRecord,ActivityNameundEventTimestampenthält. - Data Model speichern: Speichern Sie das Modell in einem freigegebenen Ordner, zum Beispiel
/Shared Folders/Custom/ProcessMining. - Bericht für den Export erstellen: Klicken Sie auf Create Report und wählen Sie das soeben gespeicherte Data Model. Erstellen Sie mit dem Report Wizard ein einfaches Tabellenlayout mit allen Spalten. Deaktivieren Sie „Show Grand Totals“.
- Als CSV exportieren: Öffnen Sie den Bericht im Report Viewer. Klicken Sie im Menü Actions (Zahnradsymbol) auf Export > Daten > CSV.
- Umwandeln: Öffnen Sie die CSV-Datei. Stellen Sie sicher, dass Datumsangaben im ISO-8601-Format (
YYYY-MM-DD HH:MM:SS) vorliegen, sofern sie nicht automatisch so formatiert wurden. Wenn Sie die SQL-Abfrage korrekt eingefügt haben, sind keine weiteren Strukturänderungen erforderlich. - Hochladen: Importieren Sie die resultierende CSV-Datei in ProcessMind und ordnen Sie die Spalten den Vorgaben unter „Data Requirements“ zu.
Konfiguration
- Datenquellenverbindung: Verwenden Sie
ApplicationDB_HCModer eine gleichwertige JNDI-Datenquelle mit Lesezugriff auf die SchemasPAY_undPER_. - Datumsbereich: Für vollständige Payroll-Zyklen empfiehlt sich ein Extraktionszeitraum von 3 bis 6 Monaten. Steuern Sie das dynamische Laden über die Parameter
:p_start_dateund:p_end_date. - Legislative Data Group (LDG): Standardmäßig extrahiert die Abfrage Daten aus allen LDGs. Wenn Sie mehrere Länder verarbeiten, können Sie die Daten mit dem Filter
AND ppa.LEGISLATIVE_DATA_GROUP_ID = [Your_LDG_ID]aufteilen. - Leistung: Die Abfrage greift auf Tabellen mit hohem Datenvolumen zu (
PAY_RUN_RESULTS,PAY_ASSIGNMENT_ACTIONS). Begrenzen Sie den Datumsbereich, beispielsweise auf höchstens ein Jahr, um Zeitüberschreitungen in BI Publisher zu vermeiden. - Sicherheit: Der Benutzer, der den Bericht ausführt, benötigt Data-Access-Set-Berechtigungen für die betreffenden Payroll-Definitionen.
a Beispielabfrage sql
SELECT
TO_CHAR(papf.PERSON_NUMBER) || '-' || ptp.PERIOD_NAME AS PayrollRecord,
'Time Card Submitted' AS ActivityName,
peef.CREATION_DATE AS EventTimestamp,
'Oracle HCM' AS SourceSystem,
peef.LAST_UPDATE_DATE AS LastDataUpdate,
pld.NAME AS LegislativeDataGroup,
org.NAME AS DepartmentName,
peef.LAST_UPDATED_BY AS ProcessingUser,
NULL AS GrossPayAmount,
ptp.PERIOD_NAME AS PayrollPeriodName,
NULL AS SlaProcessingDeadline,
'N' AS IsManualCorrection,
pg.PAYROLL_NAME AS PayGroup,
NULL AS ProcessDurationDays
FROM PAY_ELEMENT_ENTRIES_F peef
JOIN PER_ALL_ASSIGNMENTS_M paam ON peef.ASSIGNMENT_ID = paam.ASSIGNMENT_ID
AND peef.EFFECTIVE_START_DATE BETWEEN paam.EFFECTIVE_START_DATE AND paam.EFFECTIVE_END_DATE
JOIN PER_ALL_PEOPLE_F papf ON paam.PERSON_ID = papf.PERSON_ID
AND peef.EFFECTIVE_START_DATE BETWEEN papf.EFFECTIVE_START_DATE AND papf.EFFECTIVE_END_DATE
JOIN PAY_PAY_RELATIONSHIPS_DN pprd ON paam.PAYROLL_RELATIONSHIP_ID = pprd.PAYROLL_RELATIONSHIP_ID
JOIN PER_TIME_PERIODS ptp ON pprd.PAYROLL_ID = ptp.PAYROLL_ID
AND peef.EFFECTIVE_START_DATE BETWEEN ptp.START_DATE AND ptp.END_DATE
LEFT JOIN PER_LEGISLATIVE_DATA_GROUPS_VL pld ON pprd.LEGISLATIVE_DATA_GROUP_ID = pld.LEGISLATIVE_DATA_GROUP_ID
LEFT JOIN HR_ORGANIZATION_UNITS_F_TL org ON paam.ORGANIZATION_ID = org.ORGANIZATION_ID AND org.LANGUAGE = USERENV('LANG')
LEFT JOIN PAY_ALL_PAYROLLS_F pg ON pprd.PAYROLL_ID = pg.PAYROLL_ID
WHERE peef.CREATOR_TYPE = 'H'
AND peef.CREATION_DATE BETWEEN :p_start_date AND :p_end_date
UNION ALL
SELECT
TO_CHAR(papf.PERSON_NUMBER) || '-' || ptp.PERIOD_NAME AS PayrollRecord,
'Time Card Approved' AS ActivityName,
peef.EFFECTIVE_START_DATE AS EventTimestamp,
'Oracle HCM' AS SourceSystem,
peef.LAST_UPDATE_DATE AS LastDataUpdate,
pld.NAME,
org.NAME,
peef.LAST_UPDATED_BY,
NULL,
ptp.PERIOD_NAME,
NULL,
'N',
pg.PAYROLL_NAME,
NULL
FROM PAY_ELEMENT_ENTRIES_F peef
JOIN PER_ALL_ASSIGNMENTS_M paam ON peef.ASSIGNMENT_ID = paam.ASSIGNMENT_ID
AND peef.EFFECTIVE_START_DATE BETWEEN paam.EFFECTIVE_START_DATE AND paam.EFFECTIVE_END_DATE
JOIN PER_ALL_PEOPLE_F papf ON paam.PERSON_ID = papf.PERSON_ID
AND peef.EFFECTIVE_START_DATE BETWEEN papf.EFFECTIVE_START_DATE AND papf.EFFECTIVE_END_DATE
JOIN PAY_PAY_RELATIONSHIPS_DN pprd ON paam.PAYROLL_RELATIONSHIP_ID = pprd.PAYROLL_RELATIONSHIP_ID
JOIN PER_TIME_PERIODS ptp ON pprd.PAYROLL_ID = ptp.PAYROLL_ID
AND peef.EFFECTIVE_START_DATE BETWEEN ptp.START_DATE AND ptp.END_DATE
LEFT JOIN PER_LEGISLATIVE_DATA_GROUPS_VL pld ON pprd.LEGISLATIVE_DATA_GROUP_ID = pld.LEGISLATIVE_DATA_GROUP_ID
LEFT JOIN HR_ORGANIZATION_UNITS_F_TL org ON paam.ORGANIZATION_ID = org.ORGANIZATION_ID AND org.LANGUAGE = USERENV('LANG')
LEFT JOIN PAY_ALL_PAYROLLS_F pg ON pprd.PAYROLL_ID = pg.PAYROLL_ID
WHERE peef.CREATOR_TYPE = 'H'
AND peef.EFFECTIVE_START_DATE BETWEEN :p_start_date AND :p_end_date
UNION ALL
SELECT
TO_CHAR(papf.PERSON_NUMBER) || '-' || ptp.PERIOD_NAME AS PayrollRecord,
'Incentive Data Imported' AS ActivityName,
peef.CREATION_DATE AS EventTimestamp,
'Oracle HCM' AS SourceSystem,
peef.LAST_UPDATE_DATE AS LastDataUpdate,
pld.NAME,
org.NAME,
peef.LAST_UPDATED_BY,
NULL,
ptp.PERIOD_NAME,
NULL,
'N',
pg.PAYROLL_NAME,
NULL
FROM PAY_ELEMENT_ENTRIES_F peef
JOIN PER_ALL_ASSIGNMENTS_M paam ON peef.ASSIGNMENT_ID = paam.ASSIGNMENT_ID
AND peef.EFFECTIVE_START_DATE BETWEEN paam.EFFECTIVE_START_DATE AND paam.EFFECTIVE_END_DATE
JOIN PER_ALL_PEOPLE_F papf ON paam.PERSON_ID = papf.PERSON_ID
AND peef.EFFECTIVE_START_DATE BETWEEN papf.EFFECTIVE_START_DATE AND papf.EFFECTIVE_END_DATE
JOIN PAY_PAY_RELATIONSHIPS_DN pprd ON paam.PAYROLL_RELATIONSHIP_ID = pprd.PAYROLL_RELATIONSHIP_ID
JOIN PER_TIME_PERIODS ptp ON pprd.PAYROLL_ID = ptp.PAYROLL_ID
AND peef.EFFECTIVE_START_DATE BETWEEN ptp.START_DATE AND ptp.END_DATE
LEFT JOIN PER_LEGISLATIVE_DATA_GROUPS_VL pld ON pprd.LEGISLATIVE_DATA_GROUP_ID = pld.LEGISLATIVE_DATA_GROUP_ID
LEFT JOIN HR_ORGANIZATION_UNITS_F_TL org ON paam.ORGANIZATION_ID = org.ORGANIZATION_ID AND org.LANGUAGE = USERENV('LANG')
LEFT JOIN PAY_ALL_PAYROLLS_F pg ON pprd.PAYROLL_ID = pg.PAYROLL_ID
WHERE peef.CREATOR_TYPE IN ('B', 'F')
AND peef.CREATION_DATE BETWEEN :p_start_date AND :p_end_date
UNION ALL
SELECT
TO_CHAR(papf.PERSON_NUMBER) || '-' || ptp.PERIOD_NAME AS PayrollRecord,
CASE
WHEN ppa.ACTION_TYPE = 'R' AND paa.ACTION_STATUS = 'C' THEN 'Payroll Calculation Executed'
WHEN ppa.ACTION_TYPE = 'R' THEN 'Payroll Calculation Started'
WHEN ppa.ACTION_TYPE = 'Q' THEN 'QuickPay Executed'
WHEN ppa.ACTION_TYPE IN ('P', 'U') THEN 'Prepayments Calculated'
WHEN ppa.ACTION_TYPE = 'X' THEN 'Archive Results Generated'
WHEN ppa.ACTION_TYPE = 'M' THEN 'Bank Transfer Generated'
WHEN ppa.ACTION_TYPE IN ('Z', 'E') THEN 'Payment Executed'
WHEN ppa.ACTION_TYPE = 'T' THEN 'Costing Transferred'
ELSE 'Payroll Process Action'
END AS ActivityName,
ppa.CREATION_DATE AS EventTimestamp,
'Oracle HCM' AS SourceSystem,
paa.LAST_UPDATE_DATE AS LastDataUpdate,
pld.NAME,
org.NAME,
ppa.LAST_UPDATED_BY,
NULL,
ptp.PERIOD_NAME,
ptp.REGULAR_PAYMENT_DATE AS SlaProcessingDeadline,
'N',
pg.PAYROLL_NAME,
NULL
FROM PAY_PAYROLL_ACTIONS ppa
JOIN PAY_ASSIGNMENT_ACTIONS paa ON ppa.PAYROLL_ACTION_ID = paa.PAYROLL_ACTION_ID
JOIN PER_ALL_ASSIGNMENTS_M paam ON paa.ASSIGNMENT_ID = paam.ASSIGNMENT_ID
AND ppa.EFFECTIVE_DATE BETWEEN paam.EFFECTIVE_START_DATE AND paam.EFFECTIVE_END_DATE
JOIN PER_ALL_PEOPLE_F papf ON paam.PERSON_ID = papf.PERSON_ID
AND ppa.EFFECTIVE_DATE BETWEEN papf.EFFECTIVE_START_DATE AND papf.EFFECTIVE_END_DATE
JOIN PER_TIME_PERIODS ptp ON ppa.PAYROLL_ID = ptp.PAYROLL_ID
AND ppa.DATE_EARNED BETWEEN ptp.START_DATE AND ptp.END_DATE
LEFT JOIN PER_LEGISLATIVE_DATA_GROUPS_VL pld ON ppa.LEGISLATIVE_DATA_GROUP_ID = pld.LEGISLATIVE_DATA_GROUP_ID
LEFT JOIN HR_ORGANIZATION_UNITS_F_TL org ON paam.ORGANIZATION_ID = org.ORGANIZATION_ID AND org.LANGUAGE = USERENV('LANG')
LEFT JOIN PAY_ALL_PAYROLLS_F pg ON ppa.PAYROLL_ID = pg.PAYROLL_ID
WHERE ppa.ACTION_TYPE IN ('R', 'Q', 'P', 'U', 'X', 'M', 'Z', 'E', 'T')
AND ppa.EFFECTIVE_DATE BETWEEN :p_start_date AND :p_end_date
UNION ALL
SELECT
TO_CHAR(papf.PERSON_NUMBER) || '-' || ptp.PERIOD_NAME AS PayrollRecord,
'Audit Exception Flagged' AS ActivityName,
pml.CREATION_DATE AS EventTimestamp,
'Oracle HCM' AS SourceSystem,
pml.LAST_UPDATE_DATE AS LastDataUpdate,
pld.NAME,
org.NAME,
pml.LAST_UPDATED_BY,
NULL,
ptp.PERIOD_NAME,
NULL,
'Y',
pg.PAYROLL_NAME,
NULL
FROM PAY_MESSAGE_LINES pml
JOIN PAY_PAYROLL_ACTIONS ppa ON pml.PAYROLL_ACTION_ID = ppa.PAYROLL_ACTION_ID
LEFT JOIN PAY_ASSIGNMENT_ACTIONS paa ON ppa.PAYROLL_ACTION_ID = paa.PAYROLL_ACTION_ID
JOIN PER_ALL_ASSIGNMENTS_M paam ON paa.ASSIGNMENT_ID = paam.ASSIGNMENT_ID
AND ppa.EFFECTIVE_DATE BETWEEN paam.EFFECTIVE_START_DATE AND paam.EFFECTIVE_END_DATE
JOIN PER_ALL_PEOPLE_F papf ON paam.PERSON_ID = papf.PERSON_ID
AND ppa.EFFECTIVE_DATE BETWEEN papf.EFFECTIVE_START_DATE AND papf.EFFECTIVE_END_DATE
JOIN PER_TIME_PERIODS ptp ON ppa.PAYROLL_ID = ptp.PAYROLL_ID
AND ppa.DATE_EARNED BETWEEN ptp.START_DATE AND ptp.END_DATE
LEFT JOIN PER_LEGISLATIVE_DATA_GROUPS_VL pld ON ppa.LEGISLATIVE_DATA_GROUP_ID = pld.LEGISLATIVE_DATA_GROUP_ID
LEFT JOIN HR_ORGANIZATION_UNITS_F_TL org ON paam.ORGANIZATION_ID = org.ORGANIZATION_ID AND org.LANGUAGE = USERENV('LANG')
LEFT JOIN PAY_ALL_PAYROLLS_F pg ON ppa.PAYROLL_ID = pg.PAYROLL_ID
WHERE pml.MESSAGE_LEVEL IN ('E', 'W')
AND pml.CREATION_DATE BETWEEN :p_start_date AND :p_end_date
UNION ALL
SELECT
TO_CHAR(papf.PERSON_NUMBER) || '-' || ptp.PERIOD_NAME AS PayrollRecord,
'Payroll Record Corrected' AS ActivityName,
peef.LAST_UPDATE_DATE AS EventTimestamp,
'Oracle HCM' AS SourceSystem,
peef.LAST_UPDATE_DATE AS LastDataUpdate,
pld.NAME,
org.NAME,
peef.LAST_UPDATED_BY,
NULL,
ptp.PERIOD_NAME,
NULL,
'Y',
pg.PAYROLL_NAME,
NULL
FROM PAY_ELEMENT_ENTRIES_F peef
JOIN PER_ALL_ASSIGNMENTS_M paam ON peef.ASSIGNMENT_ID = paam.ASSIGNMENT_ID
AND peef.EFFECTIVE_START_DATE BETWEEN paam.EFFECTIVE_START_DATE AND paam.EFFECTIVE_END_DATE
JOIN PER_ALL_PEOPLE_F papf ON paam.PERSON_ID = papf.PERSON_ID
AND peef.EFFECTIVE_START_DATE BETWEEN papf.EFFECTIVE_START_DATE AND papf.EFFECTIVE_END_DATE
JOIN PAY_PAY_RELATIONSHIPS_DN pprd ON paam.PAYROLL_RELATIONSHIP_ID = pprd.PAYROLL_RELATIONSHIP_ID
JOIN PER_TIME_PERIODS ptp ON pprd.PAYROLL_ID = ptp.PAYROLL_ID
AND peef.EFFECTIVE_START_DATE BETWEEN ptp.START_DATE AND ptp.END_DATE
LEFT JOIN PER_LEGISLATIVE_DATA_GROUPS_VL pld ON pprd.LEGISLATIVE_DATA_GROUP_ID = pld.LEGISLATIVE_DATA_GROUP_ID
LEFT JOIN HR_ORGANIZATION_UNITS_F_TL org ON paam.ORGANIZATION_ID = org.ORGANIZATION_ID AND org.LANGUAGE = USERENV('LANG')
LEFT JOIN PAY_ALL_PAYROLLS_F pg ON pprd.PAYROLL_ID = pg.PAYROLL_ID
WHERE peef.LAST_UPDATE_DATE > peef.CREATION_DATE
AND peef.LAST_UPDATE_DATE BETWEEN :p_start_date AND :p_end_date
UNION ALL
SELECT
TO_CHAR(papf.PERSON_NUMBER) || '-' || ptp.PERIOD_NAME AS PayrollRecord,
'Payroll Run Approved' AS ActivityName,
ppa.LAST_UPDATE_DATE AS EventTimestamp,
'Oracle HCM' AS SourceSystem,
ppa.LAST_UPDATE_DATE AS LastDataUpdate,
pld.NAME,
org.NAME,
ppa.LAST_UPDATED_BY,
NULL,
ptp.PERIOD_NAME,
NULL,
'N',
pg.PAYROLL_NAME,
NULL
FROM PAY_PAYROLL_ACTIONS ppa
JOIN PAY_ASSIGNMENT_ACTIONS paa ON ppa.PAYROLL_ACTION_ID = paa.PAYROLL_ACTION_ID
JOIN PER_ALL_ASSIGNMENTS_M paam ON paa.ASSIGNMENT_ID = paam.ASSIGNMENT_ID
AND ppa.EFFECTIVE_DATE BETWEEN paam.EFFECTIVE_START_DATE AND paam.EFFECTIVE_END_DATE
JOIN PER_ALL_PEOPLE_F papf ON paam.PERSON_ID = papf.PERSON_ID
AND ppa.EFFECTIVE_DATE BETWEEN papf.EFFECTIVE_START_DATE AND papf.EFFECTIVE_END_DATE
JOIN PER_TIME_PERIODS ptp ON ppa.PAYROLL_ID = ptp.PAYROLL_ID
AND ppa.DATE_EARNED BETWEEN ptp.START_DATE AND ptp.END_DATE
LEFT JOIN PER_LEGISLATIVE_DATA_GROUPS_VL pld ON ppa.LEGISLATIVE_DATA_GROUP_ID = pld.LEGISLATIVE_DATA_GROUP_ID
LEFT JOIN HR_ORGANIZATION_UNITS_F_TL org ON paam.ORGANIZATION_ID = org.ORGANIZATION_ID AND org.LANGUAGE = USERENV('LANG')
LEFT JOIN PAY_ALL_PAYROLLS_F pg ON ppa.PAYROLL_ID = pg.PAYROLL_ID
WHERE ppa.ACTION_TYPE = 'R'
AND paa.ACTION_STATUS = 'C'
AND ppa.EFFECTIVE_DATE BETWEEN :p_start_date AND :p_end_date
UNION ALL
SELECT
TO_CHAR(papf.PERSON_NUMBER) || '-' || ptp.PERIOD_NAME AS PayrollRecord,
'Pay Slip Published' AS ActivityName,
(ppa.CREATION_DATE + 1) AS EventTimestamp,
'Oracle HCM' AS SourceSystem,
ppa.LAST_UPDATE_DATE AS LastDataUpdate,
pld.NAME,
org.NAME,
ppa.LAST_UPDATED_BY,
NULL,
ptp.PERIOD_NAME,
NULL,
'N',
pg.PAYROLL_NAME,
NULL
FROM PAY_PAYROLL_ACTIONS ppa
JOIN PAY_ASSIGNMENT_ACTIONS paa ON ppa.PAYROLL_ACTION_ID = paa.PAYROLL_ACTION_ID
JOIN PER_ALL_ASSIGNMENTS_M paam ON paa.ASSIGNMENT_ID = paam.ASSIGNMENT_ID
AND ppa.EFFECTIVE_DATE BETWEEN paam.EFFECTIVE_START_DATE AND paam.EFFECTIVE_END_DATE
JOIN PER_ALL_PEOPLE_F papf ON paam.PERSON_ID = papf.PERSON_ID
AND ppa.EFFECTIVE_DATE BETWEEN papf.EFFECTIVE_START_DATE AND papf.EFFECTIVE_END_DATE
JOIN PER_TIME_PERIODS ptp ON ppa.PAYROLL_ID = ptp.PAYROLL_ID
AND ppa.DATE_EARNED BETWEEN ptp.START_DATE AND ptp.END_DATE
LEFT JOIN PER_LEGISLATIVE_DATA_GROUPS_VL pld ON ppa.LEGISLATIVE_DATA_GROUP_ID = pld.LEGISLATIVE_DATA_GROUP_ID
LEFT JOIN HR_ORGANIZATION_UNITS_F_TL org ON paam.ORGANIZATION_ID = org.ORGANIZATION_ID AND org.LANGUAGE = USERENV('LANG')
LEFT JOIN PAY_ALL_PAYROLLS_F pg ON ppa.PAYROLL_ID = pg.PAYROLL_ID
WHERE ppa.ACTION_TYPE = 'X'
AND ppa.EFFECTIVE_DATE BETWEEN :p_start_date AND :p_end_date
UNION ALL
SELECT
TO_CHAR(papf.PERSON_NUMBER) || '-' || ptp.PERIOD_NAME AS PayrollRecord,
'Tax Filing Completed' AS ActivityName,
ppa.CREATION_DATE AS EventTimestamp,
'Oracle HCM' AS SourceSystem,
ppa.LAST_UPDATE_DATE AS LastDataUpdate,
pld.NAME,
org.NAME,
ppa.LAST_UPDATED_BY,
NULL,
ptp.PERIOD_NAME,
NULL,
'N',
pg.PAYROLL_NAME,
NULL
FROM PAY_PAYROLL_ACTIONS ppa
JOIN PAY_ASSIGNMENT_ACTIONS paa ON ppa.PAYROLL_ACTION_ID = paa.PAYROLL_ACTION_ID
JOIN PER_ALL_ASSIGNMENTS_M paam ON paa.ASSIGNMENT_ID = paam.ASSIGNMENT_ID
AND ppa.EFFECTIVE_DATE BETWEEN paam.EFFECTIVE_START_DATE AND paam.EFFECTIVE_END_DATE
JOIN PER_ALL_PEOPLE_F papf ON paam.PERSON_ID = papf.PERSON_ID
AND ppa.EFFECTIVE_DATE BETWEEN papf.EFFECTIVE_START_DATE AND papf.EFFECTIVE_END_DATE
JOIN PER_TIME_PERIODS ptp ON ppa.PAYROLL_ID = ptp.PAYROLL_ID
AND ppa.DATE_EARNED BETWEEN ptp.START_DATE AND ptp.END_DATE
LEFT JOIN PER_LEGISLATIVE_DATA_GROUPS_VL pld ON ppa.LEGISLATIVE_DATA_GROUP_ID = pld.LEGISLATIVE_DATA_GROUP_ID
LEFT JOIN HR_ORGANIZATION_UNITS_F_TL org ON paam.ORGANIZATION_ID = org.ORGANIZATION_ID AND org.LANGUAGE = USERENV('LANG')
LEFT JOIN PAY_ALL_PAYROLLS_F pg ON ppa.PAYROLL_ID = pg.PAYROLL_ID
WHERE ppa.ACTION_TYPE = 'Z'
AND ppa.CREATION_DATE BETWEEN :p_start_date AND :p_end_date Möchten Sie loslegen?
Nutzen Sie dieses Daten-Template, um Ihre Payroll-Abläufe zu verbessern und Ihre Abrechnungszyklen transparent zu machen. Starten Sie noch heute mit dem Weg zu effizienteren Abläufen und präzisen Berichten.
Optimieren Sie noch heute Ihre Payroll-Verarbeitung in Oracle HCM
Verkürzen Sie den Payroll-Zyklus um 30 % und beseitigen Sie Engpässe.
Keine Kreditkarte erforderlich. In wenigen Minuten eingerichtet.