Materialisering av intjänande
Omvandlar prognostiserat intjänande till faktiska tidskontohändelser och krediterar medarbetarnas frånvarosaldon.
Så fungerar det
Materialiseringsjobbet körs dagligen och gör följande:
- Hittar förfallet intjänande — prognoser med nästa intjänandedatum på eller före kördatumet
- Skapar händelser — omvandlar varje förfallen prognospost till en faktisk tidskontohändelse
- Uppdaterar spårningen — registrerar det senast materialiserade datumet för att förhindra dubbel bearbetning
Det är det här jobbet som faktiskt krediterar frånvarosaldon. Tills materialiseringen sker finns intjänandet bara som projektioner i prognosen.
Daglig körning kontra påfyllning
Jobbet hanterar två scenarier:
Daglig bearbetning
För medarbetare med befintlig materialiseringshistorik gör jobbet följande:
- Hittar intjänande med
next_accrual_date <= run_date - Skapar händelser enbart för det förfallna intjänandet
- Uppdaterar prognosens
last_materialized_date
Påfyllningsbearbetning
För medarbetare utan materialiseringshistorik (nya uppsättningar eller migreringar) gör jobbet följande:
- Materialiserar allt intjänande från prognosens start till och med kördatumet
- Det gör att historiskt intjänande kan hämtas upp i en enda körning
Kördatumets betydelse
Kördatumet är avgörande för det här jobbet:
| Scenario | Kördatum | Effekt |
|---|---|---|
| Normal daglig körning | Idag | Materialiserar intjänande som förfaller fram till idag |
| Upphämtningskörning | Datum i det förflutna | Materialiserar bara fram till det datumet (användbart för kontrollerad utrullning) |
| Framtida datum | Datum i framtiden | Materialiserar intjänande in i framtiden (använd med försiktighet) |
Fylla på historiskt intjänande
Så här materialiserar du intjänande för tidigare perioder:
- Säkerställ att Intjänandeprognos har körts för den historiska perioden
- Starta det här jobbet manuellt med kördatumet satt till det historiska måldatumet
- Kör igen med successivt senare datum om du vill ha en kontrollerad, stegvis materialisering
Jobbresultat
| Mätvärde | Beskrivning |
|---|---|
forecasts_processed | Antal medarbetarprognoser som utvärderades |
accruals_materialized | Antal intjänandehändelser som skapades (daglig bearbetning) |
accruals_backfilled | Antal intjänandehändelser som skapades (påfyllningsbearbetning) |
errors | Antal fel under materialiseringen |
Tidpunkt för intjänande
Intjänande tilldelas den första i påföljande månad. Till exempel:
- Arbete i januari → intjänande daterat 1 februari
- Arbete i december → intjänande daterat 1 januari (nästa år)
Det betyder att materialiseringsjobbet som körs den 1 februari skapar intjänandehändelsen för den frånvaro som tjänades in i januari.
Felsökning
| Problem | Lösning |
|---|---|
| Intjänande syns inte | Kontrollera att jobbet Intjänandeprognos har körts först |
| Historiskt intjänande saknas | Kontrollera att last_materialized_date är null så att påfyllning utlöses, eller kör om prognosen med ett historiskt kördatum |
| Dubbelt intjänande | Det ska inte hända — jobbet är idempotent. Kontrollera om händelser har skapats manuellt |
| Saldot verkar fel | Kontrollera intjänande-pluginens konfiguration och inställningarna för proportionering |