Uw Loonadministratiesdata Template
Uw Loonadministratiesdata Template
- Geoptimaliseerde datavelden voor salarisanalyse
- Uitgebreide activiteitstracking voor levenscyclus-mapping
- Duidelijke extractiegids voor Oracle HCM Cloud Payroll
Loonadministraties-attributen
| Naam | Beschrijving | ||
|---|---|---|---|
| Activiteitsnaam ActivityName | De specifieke stap of gebeurtenis uitgevoerd in de salariscyclus. | ||
| Beschrijving Dit attribuut legt de naam vast van de gebeurtenis die plaatsvindt binnen het salarisproces. Voorbeelden zijn 'Time Card Submitted', 'Payroll Calculation Started' en 'Payment Executed'. Het is de primaire dimensie voor procesbekijkking en variantanalyse. In Oracle HCM Cloud wordt dit vaak afgeleid van de Action Type of Action Status binnen de payroll actietabellen. Waarom het belangrijk is Dit definieert het 'wat' van het proces, waardoor de proceskaart kan worden gereconstrueerd. Waar te verkrijgen Afgeleid van de ACTION_TYPE-code in PAY_PAYROLL_ACTIONS of statuswijzigingen in audit trails. Voorbeelden Payroll Berekening GestartUrenkaart goedgekeurdBank Transfer GeneratedAudit-uitzondering gemarkeerd | |||
| Bronsysteem SourceSystem | De naam van het systeem waar het gebeurtenis is ontstaan. | ||
| Beschrijving Identificeert de software of module die het datapunt heeft gegenereerd. Voor dit proces is de primaire waarde 'Oracle HCM Cloud Payroll'. In complexe omgevingen kan dit echter onderscheid maken tussen de core payroll engine, de time and labor module, of een externe banking interface. Waarom het belangrijk is Biedt lineage context, vooral bij het integreren van data uit tijdregistratie- of banksystemen. Waar te verkrijgen Hardcoded tijdens extractie of afgeleid van interface-ID's. Voorbeelden Oracle HCM Cloud PayrollOracle Time and LaborExternal Banking Interface | |||
| Salarisrecord PayrollRecord | Unieke identificatie voor een medewerker binnen een specifieke betaalperiode. | ||
| Beschrijving Het Payroll Record fungeert als de centrale case-kenmerk voor de process mining-analyse. Het is een samenvoeging of unieke sleutel die de Medewerkers Toewijzings-ID en de Salarisperiode-ID combineert. Dit attribuut groepeert alle activiteiten die verband houden met de betaling van één medewerker voor een specifieke cyclus, van de initiële tijdkaartindiening tot de uiteindelijke bankoverdracht en belastingaangifte. Het zorgt ervoor dat de analyse onderscheid kan maken tussen dezelfde medewerker die in januari versus februari wordt betaald. Waarom het belangrijk is Het dient als Case-ID, dat alle verschillende gebeurtenissen bindt tot één procesinstantie voor analyse. Waar te verkrijgen Geconstrueerd uit PAY_ASSIGNMENT_ACTIONS of een combinatie van Person Number en Payroll Period Naam in Oracle HCM. Voorbeelden EMP1001-2023-M01EMP5992-2023-W42300000018273645US-NY-A123-JAN23 | |||
| Tijdstempel EventTimestamp | De exacte datum en tijd waarop de activiteit plaatsvond. | ||
| Beschrijving Registreert het specifieke moment waarop een activiteit plaatsvond. Dit is belangrijk voor het berekenen van doorlooptijden, doorlooptijden en het vinden van knelpunten. Voor geautomatiseerde stappen is dit de uitvoeringstijd van het systeem. Voor handmatige stappen, zoals goedkeuringen, is dit de timestamp van de gebruikersactie die is vastgelegd in de transactielog. Waarom het belangrijk is Essentieel voor het chronologisch ordenen van gebeurtenissen en het berekenen van alle tijdgebonden KPI's. Waar te verkrijgen CREATION_DATE- of ACTION_DATE-kolommen in relevante transactietabellen zoals PAY_ACTION_INFORMATION. Voorbeelden 2023-10-01T08:30:00Z2023-10-01T14:15:22Z2023-10-05T09:00:00Z | |||
| Tijdstip van extractie LastDataUpdate | De timestamp wanneer het record voor het laatst is gewijzigd in de brondatabase. | ||
| Beschrijving Geeft de relevantie aan van de data die voor analyse wordt gebruikt. Dit verschilt van de Event Timestamp; het weerspiegelt wanneer de rij in de database voor het laatst is aangeraakt door een ETL-proces of systeemupdate. Het wordt gebruikt om de relevantie van de data te verifiëren en extractie-latencyproblemen te debuggen. Waarom het belangrijk is Zorgt ervoor dat analysesten weten of ze naar real-time of verouderde data kijken. Waar te verkrijgen LAST_UPDATE_DATE-kolom, veelvoorkomend in bijna alle Oracle HCM-tabellen. Voorbeelden 2023-10-02T12:00:00Z2023-10-06T01:00:00Z | |||
| Betaalgroep PayGroup | Logische groepering van medewerkers voor salarisverwerking. | ||
| Beschrijving Vertegenwoordigt de specifieke salarisdefinitie waartoe de medewerker behoort (bijv. 'Weekly Manufacturing', 'Monthly Corporate'). Dit attribuut is belangrijk voor bijna alle dashboards, waardoor prestatievergelijking over verschillende salariscycli en frequenties mogelijk is. Waarom het belangrijk is Het primaire configuratieobject dat de salarisplanning aanstuurt. Waar te verkrijgen PAY_ALL_PAYROLLS_F tabel (Payroll Naam). Voorbeelden US HalfmaandelijksUK MonthlyWekelijkse Vakbond | |||
| Bruto salarisbedrag GrossPayAmount | Het totaal berekende brutoloon voor de periode. | ||
| Beschrijving Vertegenwoordigt de waarde van het brutoloon berekend tijdens de cyclus. Dit wordt gebruikt in de 'Tax and Benefit Calculation Accuracy' en 'Incentive Integration' analyse. Het stelt analysesten in staat om waardevolle betalingen te correleren met verwerkingstijd of foutpercentages. Waarom het belangrijk is Biedt financiële context aan de process mining-analyse. Waar te verkrijgen PAY_RUN_RESULT_VALUES tabel, geaggregeerd voor Gross Pay saldo. Voorbeelden 5000.002350.5010000.00 | |||
| Is Handmatige Correctie IsManualCorrection | Vlag die aangeeft of de activiteit handmatige interventie omvatte. | ||
| Beschrijving Een Booleaanse vlag die op 'true' wordt ingesteld voor activiteiten zoals 'Data Correction Performed' of 'Payroll Record Corrected'. Deze wordt gebruikt om de KPI's 'Manual Data Correction Rate' en 'First-Pass Payroll Accuracy Rate' te berekenen. Waarom het belangrijk is Onderscheidt straight-through processing en handmatige herstelwerk. Waar te verkrijgen Afgeleid van activiteitsnaam of specifieke Action Types die aanpassingen aangeven (bijv. QuickPay, Balance Adjustment). Voorbeelden truefalse | |||
| Legislative Data Group LegislativeDataGroup | Partitioneert salarisdata op land of regelgevingsomgeving. | ||
| Beschrijving In Oracle HCM Cloud partitioneert de Legislative Data Group (LDG) salaris- en gerelateerde data. Deze komt typisch overeen met de wetgeving van een land of een specifiek territorium. Dit attribuut is belangrijk voor het filteren van de procesanalyse per land (bijv. US Payroll versus UK Payroll) en wordt vaak gekoppeld aan het generieke attribuut 'Land'. Waarom het belangrijk is Compliance-regels en processtromen variëren vaak aanzienlijk per jurisdictie. Waar te verkrijgen PAY_ALL_PAYROLLS_F tabel samengevoegd met definities van Legislative Data Group. Voorbeelden US Legislative Data GroupUK LDGFrance Payroll | |||
| Naam afdeling DepartmentName | De onderdeel waar de medewerker werkt. | ||
| Beschrijving Identificeert de afdeling die verantwoordelijk is voor de werknemer die gekoppeld is aan het salarisrecord. Dit is belangrijk voor het 'Timesheet Approval Efficiency'-dashboard. Door data per afdeling te segmenteren, kunnen analysesten vinden welke bedrijfsonderdelen consequent te laat zijn met het goedkeuren van urenstaten, wat de algehele salarisrun vertraagt. Waarom het belangrijk is Maakt rootcauseanalyse mogelijk van vertragingen gerelateerd aan managementgoedkeuringen. Waar te verkrijgen Afgeleid van het assignment record van de werknemer, effectief op het moment van de salarisrun. Voorbeelden Verkoop Noord-AmerikaEngineeringPersoneelszakenLogistiek | |||
| Naam salarisperiode PayrollPeriodName | De specifieke naam van het tijdsinterval voor de payroll run. | ||
| Beschrijving Identificeert de specifieke cyclus, zoals 'Monthly January 2024' of 'Weekly Period 42'. Dit is belangrijk voor de 'SLA Deadline Compliance Monitor'. Het helpt individuele werknemers-cases te groeperen in hun respectievelijke batch runs voor geaggregeerde rapportage. Waarom het belangrijk is Fundamenteel voor batch-level analyse en SLA-tracking. Waar te verkrijgen PAY_TIME_PERIODS tabel of Time Period Naam op de Payroll Definitie. Voorbeelden 2023 Monthly 102023 Weekly 42Dec 2023 Bonus Run | |||
| Processende Gebruiker ProcessingUser | De gebruikers-id of naam van de persoon die de actie uitvoert. | ||
| Beschrijving Legt de identiteit vast van de salarisspecialist, manager of het systeemaccount dat de activiteit heeft geactiveerd. Dit ondersteunt het 'Payroll Specialist Workload Distribution'-dashboard. Het helpt bij het vinden van bron-knelpunten en trainingsbehoeften binnen het salaristeam. Waarom het belangrijk is Maakt analyse van bronproductiviteit en werklastbalancering mogelijk. Waar te verkrijgen CREATED_BY- of LAST_UPDATED_BY-kolommen in transactietabellen. Voorbeelden sysadminj.smithpayroll_batch_userm.doe | |||
| SLA-verwerkingsdeadline SlaProcessingDeadline | De streefdatum/-tijd waarop de betaling moet zijn uitgevoerd. | ||
| Beschrijving Slaat de contractuele of wettelijke deadline voor de salarisuitbetaling op. Dit attribuut wordt vergeleken met de 'Payment Executed' timestamp. Het wordt gebruikt om de 'SLA Processing Deadline Adherence' KPI te berekenen en risicovolle betaalgroepen te vinden. Waarom het belangrijk is De primaire benchmark voor processucces of -falen voor tijdigheid. Waar te verkrijgen Meestal een geconfigureerd veld (DFF) op de Payroll Definitie of afgeleid van de Check Datum min X dagen. Voorbeelden 2023-10-28T17:00:00Z2023-11-30T17:00:00Z | |||
| Audit-uitzonderingstype AuditExceptionType | De categorie fout of waarschuwing die tijdens de audit is gemarkeerd. | ||
| Beschrijving Categoriseert het specifieke probleem dat is gevonden tijdens de activiteit 'Audit Exception Flagged' (bijv. 'Negative Net Pay', 'Missing Tax ID'). Dit attribuut ondersteunt het 'Audit Exception and Correction Analysis'-dashboard door veelvoorkomende data-kwaliteitsproblemen aan te wijzen. Waarom het belangrijk is Belangrijk voor rootcauseanalyse van herstelwerkslussen. Waar te verkrijgen Bericht- of Foutcodekolommen in salarisproceslogs of uitzonderingsrapporten. Voorbeelden Negatief nettoloonOntbrekend BSNOngeldige BankgegevensOverwerklimiet Overschreden | |||
| Belastingjurisdictie TaxJurisdiction | De specifieke staat, provincie of plaats voor belastingaangifte. | ||
| Beschrijving Geeft de primaire belastingautoriteit aan die verband houdt met het salarisrecord (bijv. 'CA' voor Californië, 'NY' voor New York). Dit ondersteunt het 'Tax Compliance Processing Duration'-dashboard. Het helpt te vinden of specifieke regio's complexere of langzamere belastingberekenings- en aangifteprocessen hebben. Waarom het belangrijk is Segmenteert prestaties op basis van regelgevende complexiteit. Waar te verkrijgen Afgeleid van de belastingkaart of werklocatie-adressen van de werknemer. Voorbeelden CA-CaliforniëNY-New YorkTX-TexasFederal-US | |||
| Preview Iteratie Aantal PreviewIterationCount | Aantal keren dat resultaten zijn gepreviewd vóór finalisatie. | ||
| Beschrijving Een teller die oploopt telkens wanneer een activiteit 'Payroll Result Previewed' plaatsvindt voor dezelfde case. Dit is de directe meting voor het 'Payroll Preview Iteration Tracker'-dashboard, wat de hoeveelheid herstelwerk of aarzeling vóór goedkeuring aangeeft. Waarom het belangrijk is Kwantificeert de efficiëntie van de validatiefase. Waar te verkrijgen Berekend tijdens datatransformatie door het tellen van specifieke activiteitsvoorkomens per Case-ID. Voorbeelden 1350 | |||
| Retroactieve Wijzigingsvlag RetroactiveChangeFlag | Geeft aan of de salarisrun retroactieve betalingen omvat. | ||
| Beschrijving Een Booleaanse indicator die 'true' is als 'Retropay'-elementen in dit record worden verwerkt. Dit helpt langere verwerkingstijden of audit-uitzonderingen te verklaren in de 'Process Path Variant Comparison'. Retroactieve wijzigingen leiden vaak tot complexe herberekeningen die eerdere perioden omvatten. Waarom het belangrijk is Identificeert complexe cases die van nature meer verwerkingstijd vereisen. Waar te verkrijgen Aanwezigheid van 'Retropay' element entries in PAY_ELEMENT_ENTRIES. Voorbeelden truefalse | |||
| SLA-Status SlaStatus | Categorische status van SLA-naleving (Gehaald/Gemist). | ||
| Beschrijving Afgeleid door de 'Payment Executed'-timestamp te vergelijken met de 'SLA Processing Deadline'. Waarden kunnen 'On Time', 'At Risk' of 'Breached' omvatten. Dit vereenvoudigt de rapportage voor de 'SLA Deadline Compliance Monitor' door cases te groeperen in prestatiecategorieën. Waarom het belangrijk is Vereenvoudigt complexe tijdvergelijkingen tot bruikbare categorieën. Waar te verkrijgen Berekende logica die Event Timestamp vergelijkt met SLA Deadline. Voorbeelden BehaaldOverschredenBijna Overtreding | |||
| Werknemerstype EmployeeType | Categorisering van de werknemer (bijv. Salaried, Hourly, Contractor). | ||
| Beschrijving Classificeert het werknemersrecord. Dit is belangrijk voor het 'Digital Pay Slip Publishing Lag'-dashboard, aangezien verschillende werknemerstypen verschillende verwerkingsregels of urgenties kunnen hebben. Het helpt de analyse te filteren om procesprestaties te vergelijken tussen verschillende personeelssegmenten. Waarom het belangrijk is Verschillende werknemerstypen volgen vaak verschillende procesvarianten. Waar te verkrijgen Assignment category of arbeidsovereenkomsten in PER_ALL_ASSIGNMENTS_M. Voorbeelden Full-Time SalariedParttime UurContractorExecutive | |||
Loonadministratiesactiviteiten
| Activiteit | Beschrijving | ||
|---|---|---|---|
| Bank Transfer Generated | Het genereren van het EFT (Electronic Funds Transfer) bestand of vergelijkbare betaaloutput. Dit is de technische stap van het creëren van het instructiebestand voor de bank. | ||
| Waarom het belangrijk is Meet de doorlooptijd van het genereren van betalingsbestanden. Vertragingen hierin kunnen leiden tot het missen van bankafsluitingstijden. Waar te verkrijgen Query PAY_PAYROLL_ACTIONS waar ACTION_TYPE M (Magnetic Tape) of E (EFT) of C (Check Writer) is. Vastleggen Geregistreerd wanneer de EFT/Check-actie is voltooid Gebeurtenistype explicit | |||
| Betaling Uitgevoerd | De definitieve bevestiging dat de betaling is verwerkt. In Oracle correleert dit met de voltooiing van de payment flow of reconciliatie in Cash Management. | ||
| Waarom het belangrijk is De primaire timestamp voor SLA Compliance. Gebruikt om te bepalen of medewerkers op tijd zijn betaald. Waar te verkrijgen Kan worden afgeleid uit de Effective Date van de Bank Transfer-actie, of expliciet via Cash Management-reconciliatielogs (CE_STATEMENT_LINES). Vastleggen Geregistreerd op basis van de effectieve datum van de betalingsactie of reconciliatiegebeurtenis Gebeurtenistype explicit | |||
| Payroll Berekening Gestart | De initiatie van het hoofd payroll run proces voor een specifieke salarisdefinitie en periode. Dit markeert de overgang van dataverzameling naar verwerking. | ||
| Waarom het belangrijk is Stelt het begin vast van het intensieve verwerkingsvenster. Wordt gebruikt om de totale cyclustijd voor de technische salarisuitvoering te berekenen. Waar te verkrijgen Query PAY_PAYROLL_ACTIONS tabel waar ACTION_TYPE R (Run) of Q (QuickPay) is en ACTION_STATUS gemarkeerd is als gestart (of afgeleid van aanmaakdatum). Vastleggen Geregistreerd wanneer een PAY_PAYROLL_ACTIONS record wordt ingevoegd Gebeurtenistype explicit | |||
| Salarisberekening Uitgevoerd | De succesvolle voltooiing van het Calculate Payroll proces, inclusief bruto-netto berekeningen. Dit gebeurtenis geeft aan dat verdiensten, inhoudingen en belastingen zijn berekend voor de toewijzing. | ||
| Waarom het belangrijk is Een belangrijke mijlpaal die aangeeft dat de data klaar is voor validatie. Lange doorlooptijden hier kunnen duiden op systeemprestatieproblemen of complexe fast formulas. Waar te verkrijgen Query PAY_PAYROLL_REL_ACTIONS joinend aan PAY_PAYROLL_ACTIONS waar ACTION_TYPE R of Q is en ACTION_STATUS wijzigt naar C (Complete). Vastleggen Geregistreerd wanneer de status van de Payroll Run actie wordt bijgewerkt naar Voltooid Gebeurtenistype explicit | |||
| Vooruitbetalingen Berekend | De uitvoering van het Prepayments proces dat nettobetalingen verdeelt over de gekozen betaalmethoden van de medewerker (Check, EFT, etc.). Dit valideert dat de berekende bedragen daadwerkelijk kunnen worden betaald. | ||
| Waarom het belangrijk is De brug tussen berekening en uitbetaling. Storingen hier duiden meestal op ontbrekende bankgegevens of ongeldige betaalmethoden. Waar te verkrijgen Query PAY_PAYROLL_ACTIONS waar ACTION_TYPE P (Prepayments) is en status Voltooid is. Vastleggen Geregistreerd wanneer de Prepayments-actie is voltooid Gebeurtenistype explicit | |||
| Archive Results Generated | De voltooiing van het Archive Periodic Payroll Results proces. Deze snapshot vergrendelt de data effectief voor rapportage en salarisstrookgeneratie. | ||
| Waarom het belangrijk is Een technische voorwaarde voor het genereren van loonstroken en wettelijke rapporten. Het bevestigt dat de data is gefinaliseerd. Waar te verkrijgen Query PAY_PAYROLL_ACTIONS waar ACTION_TYPE X (Archive) is en status Voltooid is. Vastleggen Geregistreerd wanneer de archiveringsactie is voltooid Gebeurtenistype explicit | |||
| Audit-uitzondering gemarkeerd | Het vastleggen van een fout- of waarschuwingsbericht tijdens de salarisberekenings- of validatiefase. Dit vangt specifieke validatiefouten op die menselijke interventie vereisen. | ||
| Waarom het belangrijk is Essentieel voor het vinden van datakwaliteitsproblemen. Een hoog volume aan uitzonderingen verhoogt de handmatige inspanning en het risico op een SLA-breach. Waar te verkrijgen Query PAY_MESSAGE_LINES tabel gekoppeld aan de specifieke PAY_PAYROLL_REL_ACTION_ID. Deze tabel slaat fouten en waarschuwingen op die tijdens runs zijn gegenereerd. Vastleggen Geregistreerd wanneer een record wordt ingevoegd in PAY_MESSAGE_LINES Gebeurtenistype explicit | |||
| Belastingaangifte Voltooid | Het genereren van wettelijke belastingbestanden (bijv. Third Party Quarterly Tax File). Dit zorgt voor naleving van wet- en regelgeving voor de betaalperiode. | ||
| Waarom het belangrijk is Belangrijk voor de KPI 'Tax Compliance Processing Duration'. Fouten hier leiden tot boetes. Waar te verkrijgen Query PAY_PAYROLL_ACTIONS voor specifieke acties van wetgevende data groepen gerelateerd aan belastingrapportage (bijv. US Third Party Tax Filing). Vastleggen Geregistreerd wanneer een specifieke belastingrapportageflow is voltooid Gebeurtenistype explicit | |||
| Incentive Data geïmporteerd | De aanmaak van element entries voor variabele beloning zoals bonussen of commissies via batch loader of HDL import. Dit vertegenwoordigt de integratie van externe compensatiedata in de payroll run. | ||
| Waarom het belangrijk is Bewaakt de integratiesnelheid van variabele beloning. Late imports dwingen vaak tot aanvullende salarisruns of handmatige correcties. Waar te verkrijgen Query PAY_BATCH_HEADERS voor voltooiing van de import of volg de aanmaak van PAY_ELEMENT_ENTRIES_F met een specifieke bronsysteemreferentie. Vastleggen Geregistreerd wanneer het batch element entry proces succesvol is voltooid Gebeurtenistype explicit | |||
| Kostprijs overgedragen | De overdracht van payroll costing resultaten naar het Grootboek. Dit vertegenwoordigt de financiële boekhoudkundige afsluiting van de salariscyclus. | ||
| Waarom het belangrijk is Zorgt voor financiële compliance en nauwkeurige boeking van arbeidskosten. Vertragingen voorkomen dat Financiën de boeken sluit. Waar te verkrijgen Query PAY_PAYROLL_ACTIONS waar ACTION_TYPE T (Transfer to GL) is en status Voltooid is. Vastleggen Geregistreerd wanneer het Transfer to GL-proces is voltooid Gebeurtenistype explicit | |||
| Loonstrookje gepubliceerd | Het punt waarop het salarisstrookdocument zichtbaar wordt voor de medewerker in Self Service. Dit volgt op de Archiver en mogelijk een specifiek 'Generate Payslip' proces. | ||
| Waarom het belangrijk is Beïnvloedt de werknemerstevredenheid. Lange vertragingen tussen betaling en beschikbaarheid van loonstroken genereren supporttickets. Waar te verkrijgen Query de Documents of Record tabel (HR_DOCUMENTS_OF_RECORD) of de voltooiing van het Generate Payslip proces in PAY_PAYROLL_ACTIONS. Vastleggen Geregistreerd wanneer het salarisstrook PDF-generatieproces is voltooid Gebeurtenistype explicit | |||
| Payroll Run Goedgekeurd | De formele goedkeuring van het salarisregister of de flow binnen het Payroll Dashboard. Dit gebeurt doorgaans nadat validapakketapporten zijn beoordeeld en voordat bankbestanden worden gegenereerd. | ||
| Waarom het belangrijk is Vertegenwoordigt de managementgoedkeuring. De tijd tussen berekening en goedkeuring vertegenwoordigt het verificatievenster. Waar te verkrijgen Query PAY_REQ_FLOW_INSTANCES voor statuswijzigingen of specifieke taakvoltooiing binnen een gedefinieerd Payroll Flow Pattern. Vastleggen Geregistreerd wanneer de status van de Flow Instance wijzigt naar Voltooid/Goedgekeurd Gebeurtenistype explicit | |||
| QuickPay Uitgevoerd | De uitvoering van een éénpersoons payroll run (QuickPay), doorgaans gebruikt voor het verifiëren van correcties. Dit dient als een proxy voor de Payroll Result Previewed activiteit. | ||
| Waarom het belangrijk is Frequente QuickPays per persoon duiden op een proefperiode-and-error benadering van salarisverwerking in plaats van een Waar te verkrijgen Query PAY_PAYROLL_ACTIONS waar ACTION_TYPE Q (QuickPay) is. Tel instanties per salarisperiode per medewerker. Vastleggen Geregistreerd wanneer een QuickPay-actie wordt vastgelegd in PAY_PAYROLL_ACTIONS Gebeurtenistype explicit | |||
| Salarisrecord Gecorrigeerd | Handmatige updates toegepast op element entries of toewijzingsdata na een initiële payroll run, maar vóór de finalisatie. Deze activiteit vertegenwoordigt herstelwerk dat nodig is om fouten of uitzonderingen te corrigeren. | ||
| Waarom het belangrijk is Duidt op procesinefficiëntie en datakwaliteitsproblemen. Het verminderen van deze activiteit is belangrijk voor het verbeteren van de 'First-Pass Payroll Accuracy Rate'. Waar te verkrijgen Afgeleid door updates te vinden in PAY_ELEMENT_ENTRIES_F waarbij de Last Update Date tussen de initiële Payroll Run-datum en de Prepayments-datum ligt. Vastleggen Vergelijk element entry update tijdstempels met payroll run tijdstempels Gebeurtenistype inferred | |||
| Urenkaart goedgekeurd | De bevestiging dat ingediende tijddata is beoordeeld en geautoriseerd door een manager. Deze statuswijziging triggert de overdracht van data naar de payroll element entries. | ||
| Waarom het belangrijk is Belangrijk voor het meten van de Manager Approval Lead Time. Vertragingen hier zijn een primaire oorzaak van retro-betalingsaanpassingen in volgende perioden. Waar te verkrijgen Query de HWM_TM_REC_GRP_DTLS tabel of HXT_TIMECARDS view waar de status wijzigt naar GOEDGEKEURD. Vergelijk de goedkeuring timestamp met de indiening timestamp. Vastleggen Geregistreerd wanneer de status in Time and Labor wijzigt naar GOEDGEKEURD Gebeurtenistype explicit | |||
| Urenkaart ingediend | De initiële gebeurtenis waarbij een medewerker of manager tijd- en arbeidsdata indient voor verwerking. In Oracle HCM wordt dit vastgelegd wanneer de status van de tijdkaart wijzigt naar Submitted in de Time and Labor module. | ||
| Waarom het belangrijk is Markeert de invoer van ruwe data in de potentiële salarisverwerkingspijplijn. Vertragingen hierin hebben een stroomafwaarts effect, waardoor het venster voor salarisspecialisten om berekeningen te bevestigen korter wordt. Waar te verkrijgen Query de HWM_TM_REC_GRP_DTLS tabel of HXT_TIMECARDS view waar de status wijzigt naar INGEDIEND. Gebruik de indiening timestamp. Vastleggen Geregistreerd wanneer de status in Time and Labor wijzigt naar INGEDIEND Gebeurtenistype explicit | |||
Extractiegidsen
Stappen
Access Data Exchange: Log in bij Oracle HCM Cloud met een gebruiker die de rol 'Human Capital Management Integration Specialist' heeft. Navigeer naar My Client Groups > Data Exchange > Extract Definities.
Nieuw maken Extract: Klik op het '+'-icoon om een nieuwe extractie aan te maken. Noem deze 'ProcessMind_Payroll_Extract'. Selecteer 'Payroll' als de consumer en 'HR Archive' als de categorie om toegang te verzekeren tot historische payroll action data.
Define Data Groups: Creëer een Root Data Group op basis van de Gebruiker Entity
PAY_PAYROLL_REL_UE(Payroll Relationship). Dit verankert de extractie aan de payroll relationship van de werknemer. Creëer child data groups voorPAY_ACTION_INFORMATION_UE,PAY_ELEMENT_ENTRY_UEenHWM_MEASURE_DAY_V_UE(voor time and labor).Configure Extract Records: Definieer binnen de data groups records om de hiërarchische data af te vlakken. U moet specifieke records creëren voor elk activiteitstype (bijv. een record dat filtert op 'Time Card'-gebeurtenissen, een ander voor 'Run Results').
Implement SQL Logic via FastFormula or BIP: Vanwege de complexiteit van het transformeren van hiërarchische payroll data naar een lineaire event log, is de meest betrouwbare aanpak om de 'Extract Delivery Option' te gebruiken om een BI Publisher Report aan te roepen. Dit stelt je in staat de SQL die hieronder in de sectie 'Query' wordt aangeboden, te gebruiken als Data Model. Dit is superieur aan native GUI filtering voor het creëren van een unified event log.
Create BI Publisher Data Model: Navigeer naar Tools > Reports and Analytics > Browse Catalog. Creëer een nieuw Data Model. Plak de hieronder aangeleverde SQL-query. Definieer een Parameter voor
bind_start_dateenbind_end_date.Koppeling Extract to BIP: Maak in het tabblad 'Delivery' van de Extract Definition een delivery option aan. Selecteer 'PDF' of 'XML' als het outputtype (ProcessMind geeft de voorkeur aan CSV, maar u converteert de BIP-output). Selecteer het BI Publisher-rapport dat u in de vorige stap hebt gemaakt.
Define Parameters: Voeg in de Extract Execution Tree parameters toe voor de Start Date en End Date om dynamisch door te geven aan de BI Publisher-query.
Validate and Submit: Valideer de extractdefinitie om fouten te controleren. Klik op 'Submit Extract'. Voer de parameters in (bijv. de laatste 90 dagen).
Monitor Process: Ga naar 'View Extract Results'. Wacht tot de status verandert naar 'Succeeded'.
Download Output: Download het gegenereerde XML/CSV-bestand. Open het om te verifiëren dat de structuur de vereiste kolommen bevat: PayrollRecord, ActiviteitNaam, EventTimestamp, etc.
Format for ProcessMind: Als de output XML is, converteer deze dan naar een plat CSV-bestand en zorg ervoor dat de headers overeenkomen met de 'Attributen to include'-vereisten. Upload het resulterende bestand naar ProcessMind.
Configuratie
- Extraction Mode: Changes Only vs. Full Extract. Voor de initiële load, gebruik Full Extract. Voor dagelijkse updates, configureer 'Changes Only' op basis van de Last Update Date.
- Legislative Data Group (LDG): Het wordt sterk aanbevolen om te filteren op LDG als uw instantie meerdere landen ondersteunt, aangezien salarisdefinities per wetgeving verschillen.
- Datumbereik: Stel de
bind_start_dateenbind_end_datein om ten minste 3-6 maanden te bestrijken voor process mining om volledige cyclustijden vast te leggen. - Chunk Size: Voor high-volume payrolls (10k+ werknemers), stel de chunk size in de Extract Definition in op 2000 om timeout-fouten te voorkomen.
- Effective Dating: Payroll-tabellen zijn datum-effectief. De query-logica behandelt expliciet
effective_start_dateeneffective_end_dateom te garanderen dat de correcte historische versie van het record wordt opgehaald. - Beveiliging: De uitvoerende gebruiker moet databeveiliging profiles hebben die het bekijken van alle payrolls en afdelingen die bedoeld zijn voor analyse mogelijk maken.
a Voorbeeldquery config
/* 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 Stappen
- Log in to Oracle BI Publisher: Ga naar de Oracle Cloud-omgeving en navigeer naar Tools > Reports and Analytics. Klik op Browse Catalog om de BI Publisher-interface te openen.
- Create a Data Model: Klik op New (linksboven) en selecteer Data Model. Dit is de container voor uw SQL extraction logic.
- Create a SQL Data Set: Klik onder het tabblad Diagram op het pictogram New Data Set en selecteer SQL Query.
- Configure Data Source: Geef de data set een naam (bijv.
ProcessMind_Payroll_Extract). Stel de Data Source in opApplicationDB_HCM(of uw specifieke HCM Application Database-verbinding). Laat het type als Standard SQL. - Input the Query: Kopieer het volledige SQL-script dat hieronder in de sectie Query wordt aangeboden en plak het in het SQL Query-tekstvak. Zorg ervoor dat u geen markdown-opmaak opneemt.
- Define Parameters: De query gebruikt bindvariabelen
:p_start_dateen:p_end_date. Maak in het tabblad Parameters van de Data Model deze twee parameters aan (Date type) om het extractiebereik te filteren (bijv. op basis vanppa.EFFECTIVE_DATE). - Validate Data Structure: Klik op OK. Schakel over naar het tabblad Data binnen de Data Model-editor. Voer voorbeelddatums in (bijv.
2023-01-01tot2023-03-31) en klik op View. Zorg ervoor dat de output rijen bevat metPayrollRecord,ActiviteitNaamenEventTimestamp. - Save the Data Model: Sla het model op in een gedeelde map (bijv.
/Shared Folders/Custom/ProcessMining). - Create Report for Export: Klik op Create Report, selecteer de Data Model die u zojuist hebt opgeslagen. Gebruik de Report Wizard om een eenvoudige Table indeling te creëren die alle kolommen bevat. Vink 'Show Grand Totals' uit.
- Export to CSV: Bekijk het rapport in de Report Viewer. Klik op het menu Actions (tandwielpictogram) > Export > Data > CSV.
- Transform: Open de CSV. Zorg ervoor dat datumnotaties ISO 8601 (
JJJJ-MM-DD HH:MM:SS) zijn, indien niet automatisch opgemaakt. Verdere reshaping zou niet nodig moeten zijn als de SQL correct is geplakt. - Upload: Importeer het resulterende CSV-bestand in ProcessMind en map de kolommen zoals gedefinieerd in de Data Requirements.
Configuratie
- Data Source Connection: Moet
ApplicationDB_HCMof de equivalente JNDI-gegevensbron gebruiken die leesrechten heeft tot dePAY_enPER_-schema's. - Datumbereik: Het aanbevolen extractievenster is 3-6 maanden om volledige salariscycli vast te leggen. Gebruik de
:p_start_dateen:p_end_dateparameters om deze dynamische lading te beheren. - Legislative Data Group (LDG): De query extraheert standaard alle LDG's. Als u meerdere landen beheert, overweeg dan een filter toe te voegen
AND ppa.LEGISLATIVE_DATA_GROUP_ID = [Your_LDG_ID]om de data te partitioneren. - Prestaties: De query raadpleegt tabellen met een hoog volume (
PAY_RUN_RESULTS,PAY_ASSIGNMENT_ACTIONS). Zorg ervoor dat het datumbereik niet te breed is (bijv. >1 jaar) om timeout-fouten in BI Publisher te voorkomen. - Beveiliging: De gebruiker die het rapport uitvoert, heeft Data Access Set-machtigingen nodig voor de beoogde Salarisdefinities.
a Voorbeeldquery 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