Bérszámfejtési adatmintája
Bérszámfejtési adatmintája
- A bérszámfejtés elemzéséhez szükséges stratégiai adatmezők
- A folyamatfeltárás fontos mérföldkövei
- Rendszerspecifikus útmutató az adatok kinyeréséhez
Bérszámfejtési attribútumok
| Név | Leírás | ||
|---|---|---|---|
| Bérszámfejtési rekord PayrollRecord | A munkavállalót és a béridőszakot összekapcsoló egyedi azonosító. | ||
| Leírás A bérszámfejtési rekord a process mining elemzés központi esetazonosítója. Egy adott munkavállaló egy meghatározott béridőszakra vonatkozó bérszámfejtési ciklusát jelöli, és összekapcsolja a folyamat összes tevékenységét a munkaidő-nyilvántartás kezdeti beküldésétől a végső adóbevallásig. Az SAP SuccessFactors Employee Central Payroll rendszerben ezt jellemzően a személyi szám (PERNR), a bérszámfejtési év (PABRJ) és a béridőszak (PABRP) összefűzésével hozzák létre. Több futtatás megkülönböztetéséhez a sorszám (SEQNR) is hozzáadható. Ez a részletezettség lehetővé teszi, hogy minden kifizetési ciklust külön esetként elemezzenek, pontosan mérjék a ciklusidőt, és nyomon kövessék a hibákat. Miért fontos? Esetazonosítóként szolgál, és összegyűjti az összes releváns eseményt, így minden kifizetésnél rekonstruálható a folyamat teljes útvonala. Hol szerezhető be? Az SAP B2 fürtből (időértékelési eredmények) vagy a PC_PAYRESULT táblákból állítható elő (PERNR, PABRJ, PABRP, SEQNR). Példák 10023499-2023-1088291022-2024-01-SEQ01US-10293-2023-52 | |||
| Esemény időbélyege EventTimestamp | A tevékenység pontos dátuma és időpontja. | ||
| Leírás Ez az attribútum rögzíti az esemény pontos időpontját, a dátummal és az idővel együtt. Alapvető fontosságú az időalapú mutatók, például a ciklusidő, az átfutási idő és a folyamat különböző szakaszai közötti átbocsátási sebesség kiszámításához. Az SAP ECP rendszerben az adatokat például a módosítási dokumentumok Miért fontos? Lehetővé teszi az események közötti időtartam kiszámítását, ami elengedhetetlen a teljesítményt rontó szűk keresztmetszetek és az SLA-sértések feltárásához. Hol szerezhető be? CDHDR-UDATE/UTIME, SWWLOGHIST-WI_CD/WI_CT vagy egyes auditnaplók időbélyegei. Példák 2023-10-25T08:30:00Z2023-10-26T14:15:22Z2023-11-01T09:00:00Z | |||
| Tevékenység Activity | A bérszámfejtési folyamatban végrehajtott konkrét feladat vagy bekövetkezett esemény. | ||
| Leírás Ez az attribútum rögzíti a végrehajtott folyamatlépés nevét, például „Munkaidő-nyilvántartás beküldve”, „Bérszámfejtési szimuláció lefuttatva” vagy „Kifizetés végrehajtva”. Ez adja a folyamattérkép alapját, és lehetővé teszi az elemzők számára, hogy megjelenítsék a bérszámfejtési ciklus során végrehajtott műveletek sorrendjét. Az attribútum adatai többek között a workflow-naplókból (SWWLOGHIST), az infotípus-módosítási naplókból (CDHDR/CDPOS) és a bérszámfejtés állapotát tároló táblákból származnak. A kinyerés során egységes elnevezési szabályokat alkalmaznak, hogy a technikai eseménykódok üzleti szempontból érthető tevékenységnevekké alakuljanak. Miért fontos? Meghatározza a folyamatgráf csomópontjait, így megjeleníthetők a folyamatmenetek, a hurkok és a változatok. Hol szerezhető be? A SWWLOGHIST (workflow), a CDHDR (módosítási dokumentumok) vagy a PA03 (vezérlőrekord) állapotváltozásaiból származik. Példák Munkaidő-adatok beküldveBruttó bér kiszámítvaAuditkivétel megjelölveKifizetés végrehajtva | |||
| Forrásrendszer SourceSystem | Az a rendszer, amelyből az eseményadatok származnak. | ||
| Leírás Ez az attribútum azonosítja azt az SAP SuccessFactors Employee Central Payroll-példányt vagy kapcsolódó alrendszert, amelyből az adatokat kinyerték. Több bérszámfejtési rendszert vagy hibrid környezetet használó összetett rendszerekben ez a mező biztosítja az adatok eredetének nyomon követhetőségét. Különösen hasznos, ha különböző régiók telepítéseiből származó adatokat elemez, vagy régi és migrált rendszerek teljesítményét hasonlítja össze. Értéke általában egy, az adatkinyerés beállításakor megadott, statikus szöveg. Miért fontos? Több rendszerből álló környezetben lehetővé teszi az adatok szegmentálását, és segít az adatminőségi problémák kivizsgálásában az eredetük azonosításával. Hol szerezhető be? Az SAP-telepítés rendszerazonosítója (SID) vagy az adatkinyerési konfiguráció. Példák SAP_ECP_NASAP_ECP_EMEASuccessFactors_Core | |||
| Utolsó adatfrissítés LastDataUpdate | A legutóbbi adatkinyerés időbélyege. | ||
| Leírás Ez az attribútum jelzi, mikor frissítették utoljára az adatrekordot a process mining adatmodelljében. Segít az elemzőknek megállapítani, mennyire frissek az adatok, és biztosítja, hogy az elemzések aktuális információkon alapuljanak. Bár közvetlenül nem használják a folyamatmenetek elemzéséhez, az adatirányítás és az ellenőrzés szempontjából fontos. Segítségével ellenőrizhető, hogy a dashboard a bérszámfejtési rendszer legfrissebb állapotát mutatja-e. Miért fontos? Jelzi a felhasználóknak az adatok késését, és segít ellenőrizni, hogy a jelentett mutatók aktuálisak-e. Hol szerezhető be? Futás közben az ETL- vagy adatkinyerési szkript hozza létre. Példák 2023-11-05T00:00:00Z2023-11-05T12:00:00Z | |||
| Automatizált IsAutomated | Jelzi, hogy a tevékenységet rendszerfelhasználó hajtotta-e végre. | ||
| Leírás Ez a logikai attribútum jelzi, hogy az adott folyamatlépést háttérfeladat vagy rendszerfelhasználó, illetve egy munkatárs hajtotta-e végre. A „Bank Transfer Automation Monitor” dashboardon a kézi beavatkozás nélküli feldolgozás arányának kiszámításához használják. Az értéket jellemzően úgy határozzák meg, hogy a felhasználói azonosítót összevetik az ismert rendszerfiókok listájával, például a „BATCH” vagy a „SAP_WORKFLOW” fiókkal. Miért fontos? Segít mérni az automatizálás arányát, és feltárni, hol csökkenthető a kézi munka. Hol szerezhető be? A felhasználói azonosítóból származik, például ha a User IN ['BATCH', 'SYSTEM'], akkor true. Példák truefalse | |||
| Bérfizetési ciklus típusa PayCycleFrequency | Jelzi, hogy a futtatás rendes vagy rendkívüli. | ||
| Leírás Ez az attribútum megkülönbözteti a tervezett, rendszeres bérszámfejtési futtatásokat az eseti, „cikluson kívüli” futtatásoktól, amelyeket korrekcióra vagy azonnali kifizetésre használnak. A cikluson kívüli futtatások nagy száma a folyamat hatékonysági problémájára utalhat. Ezt az „Off Cycle Payment Volume Analysis” dashboard követi nyomon. Az érték a bérszámfejtési fürt könyvtárában található cikluson kívüli ok ( Miért fontos? Elengedhetetlen az „Off-Cycle Payment Ratio” KPI méréséhez és a nem szabványos feldolgozás visszaszorításához. Hol szerezhető be? RGDIR tábla (fürtkönyvtár), OCRSN vagy PAYTY mező. Példák RendszeresA korrekcióBónuszkifizetésMunkaviszony megszüntetése | |||
| Béridőszak PayPeriod | Az adott pénzügyi éven belüli időszak sorszáma. | ||
| Leírás Ez az attribútum a bérszámfejtési időszak sorszámát jelöli, például a januári időszakot vagy az első kétheti ciklust. Segítségével az elemzők nyomon követhetik a teljesítmény időbeli alakulását, és feltárhatják a feldolgozási terhelés szezonális változásait. Forrása a Miért fontos? Lehetővé teszi a trendek elemzését, és segít feltárni az év bizonyos időszakaiban jelentkező szezonális szűk keresztmetszeteket. Hol szerezhető be? PA0001 tábla vagy a bérszámfejtési eredmények fürtje (RGDIR), PABRP mező. Példák 01122652 | |||
| Bérszámfejtési szakértő PayrollSpecialist | A rekordot feldolgozó személy felhasználói azonosítója vagy neve. | ||
| Leírás Ez az attribútum azonosítja a bérszámfejtési adminisztrátort vagy szakértőt, aki a kézi lépéseket végrehajtja vagy a jóváhagyásokat elvégzi. A „Specialist Throughput and Workload” dashboard egyik alapvető attribútuma, amely lehetővé teszi a munkaterhelés eloszlásának és az egyéni teljesítménynek az elemzését. Forrása a rendszer naplóiban szereplő Miért fontos? Elengedhetetlen a munkaterhelés kiegyensúlyozásához és a folyamatot lassító emberi szűk keresztmetszetek feltárásához. Hol szerezhető be? A CDHDR-ben naplózott rendszermezők (SY-UNAME) vagy a workflow-végrehajtó azonosítója. Példák JSMITHKMILLERSYSTEM | |||
| Bérszámfejtési terület PayrollArea | Meghatározza, melyik bérszámfejtési csoporthoz tartozik a munkavállaló. | ||
| Leírás A bérszámfejtési terület azokat a munkavállalókat csoportosítja, akiket ugyanabban a bérszámfejtési futtatásban dolgoznak fel. A csoportosítás alapja lehet például a bérfizetés gyakorisága (havi vagy kétheti) vagy a szervezeti felépítés. Ez az attribútum fontos a folyamatelemzés szegmentálásához és a különböző munkavállalói csoportok teljesítményének összehasonlításához. Az SAP-ban ennek megfelelő technikai mező az Miért fontos? Lehetővé teszi a bérszámfejtési ciklus teljesítményének összehasonlítását különböző csoportok között, például az órabéres és a havi béres munkavállalók esetében. Hol szerezhető be? PA0001 tábla (szervezeti besorolás), ABKRS mező. Példák USA, kétheti bérfizetésNémetország, havi bérfizetésVezetői bérszámfejtés | |||
| Bruttó bér összege GrossPayAmount | A rekordhoz kiszámított teljes bruttó bér. | ||
| Leírás Ez az attribútum a levonások előtti bruttó bér teljes pénzösszegét jelöli. Alapvető pénzügyi ellenőrzési mutató, és annak vizsgálatára is használható, hogy a nagy összegű kifizetések szigorúbb auditellenőrzéssel vagy hosszabb jóváhagyási idővel járnak-e. Az adatokat a bérszámfejtési eredménytáblából (RT) nyerik ki, jellemzően a teljes bruttó bért jelölő bértípusból, például a /101-ből. A „Benefit and Tax Calculation Accuracy” elemzésben a számítások alapjául szolgál. Miért fontos? Lehetővé teszi a folyamat működésének elemzését a kifizetés összege alapján, például annak vizsgálatát, hogy a nagyobb összegek jóváhagyása tovább tart-e. Hol szerezhető be? Bérszámfejtési eredménytábla (RT), /101 vagy hasonló bértípus. Példák 5000.002500.5010500.00 | |||
| Költséghely CostCenter | A munkavállalóhoz tartozó költséghely. | ||
| Leírás A költséghely az a pénzügyi részleg vagy egység, amelyhez a munkavállaló költségeit hozzárendelik. A „Time Sheet Approval Bottlenecks” dashboardon a részleg helyettesítőjeként szolgál, és segít feltárni, mely szervezeti egységek késleltetik a bérszámfejtési ciklust. A szervezeti besorolás infotípusban (PA0001), a Miért fontos? Lehetővé teszi a szervezeti bontású elemzést, így azonosíthatók a késedelmet vagy ismételt munkát okozó részlegek. Hol szerezhető be? PA0001 tábla, KOSTL mező. Példák CC-1000 PénzügyCC-2000 InformatikaCC-3000 Értékesítés | |||
| Munkavállalói típus EmployeeType | A munkavállaló besorolása, például állandó munkavállaló vagy szerződéses partner. | ||
| Leírás Ez az attribútum a munkavállalókat a foglalkoztatási jogviszonyuk szerint csoportosítja, például aktív munkavállalóként, nyugdíjasként vagy szerződéses partnerként. A bérszámfejtés összetettsége gyakran összefügg a munkavállalói típussal: egyes csoportoknál több kézi beavatkozásra vagy külön megfelelőségi ellenőrzésre lehet szükség. Technikai forrása az SAP-ban a munkavállalói csoport ( Miért fontos? Segít feltárni, hogy a folyamat eltérései vagy késedelmei csak bizonyos foglalkoztatási kategóriákat érintenek-e. Hol szerezhető be? PA0001 tábla, PERSG (csoport) és PERSK (alcsoport) mező. Példák Aktív munkavállalóGyakornokNyugdíjasÓrabéres szerződéses munkavállaló | |||
| Adózási illetékességi terület TaxJurisdiction | A munkavállalóra vonatkozó adózási régió vagy hatóság. | ||
| Leírás Ez az attribútum azonosítja a bérszámfejtési rekordra vonatkozó adóhatóságot vagy régiót, például államot, tartományt vagy kantont. Az „Audit Exception and Compliance Risk” dashboardon segít földrajzi bontásban feltárni a megfelelőségi problémákat. Az SAP US Payroll rendszerben ennek megfelelő mező a Miért fontos? Lehetővé teszi a megfelelőségi kockázatok és az auditkivételek szabályozási régió szerinti bontását. Hol szerezhető be? PA0001 vagy PA0207/PA0208 tábla, TXJCD mező. Példák CANYTXNRW | |||
| Auditkivétel-jelző AuditExceptionFlag | Jelzi, hogy történt-e auditkivétel. | ||
| Leírás Ez az attribútum megjelöli azokat az eseteket, amelyekben az érvényesítési szabályok kivételt vagy figyelmeztetést jeleztek a bérszámfejtési szimuláció vagy számítás során. Az „Audit Exception Frequency” KPI elsődleges adatforrása. Az adatok gyakran a bérszámfejtési naplóból vagy a hibaüzeneteket tároló táblákból (FEHLER) származnak. A true érték azt jelzi, hogy a folyamatban kivételkezelési útvonal is szerepelt. Miért fontos? Rávilágít az adatminőségi problémákra és a kézi beavatkozás szükségességére. Hol szerezhető be? A bérszámfejtési naplóban szereplő hibaüzenetek vagy egyes állapotkódok alapján határozzák meg. Példák truefalse | |||
| Ismételt feldolgozások száma ReworkCount | A korrekciók száma. | ||
| Leírás Ez a számított mutató megszámolja, hányszor szerepel az eset előzményeiben az „Adatkorrekció végrehajtva” tevékenység. Közvetlenül méri a folyamat hatékonyságvesztését, és támogatja a „Manual Correction and Rework Rates” dashboardot. A sok ismételt feldolgozás tartós adatminőségi problémákra vagy olyan összetett esetekre utal, amelyek első ellenőrzésre nem felelnek meg. Miért fontos? Számszerűsíti a hibajavításra fordított többletmunkát, és alátámasztja az adatminőség javítását célzó kezdeményezéseket. Hol szerezhető be? Az esetenkénti „Adatkorrekció végrehajtva” tevékenységek megszámlálásával számítják ki. Példák 013 | |||
| Jogi személy LegalEntity | A munkavállaló vállalati kódja vagy jogi személye. | ||
| Leírás Ez az attribútum azonosítja a bérszámfejtési rekordhoz tartozó jogi személyt (vállalati kódot). Lehetővé teszi a bérszámfejtés pénzügyi jelentését és teljesítményének elemzését a különböző leányvállalatok vagy vállalati egységek között. Forrása a szervezeti besorolás infotípus (PA0001) Miért fontos? Támogatja a vállalatok közötti összehasonlítást és a pénzügyi költségfelosztás elemzését. Hol szerezhető be? PA0001 tábla, BUKRS mező. Példák US01DE011000 | |||
| SLA-feldolgozási határidő SLAProcessingDeadline | A bérszámfejtési futtatás befejezésének célidőpontja. | ||
| Leírás Ez az attribútum a bérszámfejtés véglegesítésének belső vagy külső határidejét jelöli, amelynek betartása biztosítja az időben történő kifizetést. Az „SLA Compliance Rate” KPI kiszámításához a tényleges „Payment Executed” időbélyeggel vetik össze. Az SAP-táblákban nem mindig található meg szabványos mezőként. Gyakran egy egyedi vezérlőtáblában tartják nyilván, vagy a bérszámfejtési naptár alapján határozzák meg, például a bérfizetés napja előtt két nappal. Ebben az adatmodellben gyakran a bérfizetés napjából levont, előre beállított időtartam alapján számítják ki. Miért fontos? Viszonyítási alapot ad a határidők és az SLA betartásának értékeléséhez. Hol szerezhető be? A bérfizetés napjából (T549S) levont, konfigurált feldolgozási napok alapján számítják ki. Példák 2023-10-28T17:00:00Z2023-11-28T17:00:00Z | |||
Bérszámfejtési tevékenységek
| Tevékenység | Leírás | ||
|---|---|---|---|
| Adóbevallás benyújtva | Adóbevallási fájlok létrehozása, például az Egyesült Államokban a PU19 fájl, vagy az adatok továbbítása egy külső adóbevallási szolgáltatónak. | ||
| Miért fontos? Biztosítja a jogszabályi megfelelést, és nyomon követi a folyamat utolsó megfelelési lépését. Hol szerezhető be? A Tax Reporter Log Manager vagy a B2A (Business to Administration) Manager naplói jelzik a fájl sikeres létrehozását. Rögzítés A Tax Reporter futtatásának sikeres befejezésekor rögzítve. Eseménytípus explicit | |||
| Banki átutalási fájl létrehozva | Az előzetes adatcsere-fájl (pre-DME) vagy a végleges DME-fájl létrehozása. A fájl tartalmazza a banknak szóló fizetési utasításokat. | ||
| Miért fontos? A banki átutalások automatizálását követi. A sikertelen fájllétrehozás kritikus folyamatleállást jelent. Hol szerezhető be? A DME / Payment Medium Workbench (PMW) futtatásának naplói, amelyeket gyakran a TemSe-ben vagy a fizetési futtatás tábláiban (ReguH/ReguP) tárolnak. Rögzítés A fizetési futtatás (F110/RPCIPE) kimenetének létrehozásakor rögzítve. Eseménytípus explicit | |||
| Bérszámfejtési folyamat elindítva | Bérszámfejtési folyamatpéldány létrehozása a Payroll Control Centerben (PCC). Ez jelzi az adott bérszámfejtési terület ciklusának hivatalos kezdetét. | ||
| Miért fontos? Ez adja meg a teljes bérszámfejtési ciklus időtartamának kezdő időpontját, és meghatározza a feldolgozandó munkavállalók körét. Hol szerezhető be? Payroll Control Center táblák, például a PYC_D_PY_PROC_INST, az új folyamatazonosító létrehozásának nyomon követésére. Rögzítés A PCC-folyamatpéldány létrehozásakor rögzítve. Eseménytípus explicit | |||
| Bérszámfejtési rekord jóváhagyva | A munkavállaló vagy bércsoport bérszámfejtési eredményeinek hivatalos jóváhagyása. Erre a PCC „Monitoring” vagy „Sign Off” lépésében kerül sor. | ||
| Miért fontos? Jelzi a számítási és ellenőrzési szakasz végét, valamint a kifizetés engedélyezését. Fontos a szakértői áteresztőképesség elemzéséhez. Hol szerezhető be? Payroll Control Center Step Instance naplók (PYC_D_STEP_INST) az Approval vagy Confirmation lépéshez. Rögzítés A PCC jóváhagyási lépésének COMPLETED állapotra váltásakor rögzítve. Eseménytípus explicit | |||
| Bérszámfejtési szimuláció lefuttatva | A bérszámfejtő program próbaüzeme, amely az eredmények adatbázisba írása nélkül tárja fel a hibákat. Ez a PCC ellenőrzési szakaszának fontos lépése. | ||
| Miért fontos? A sikeres első számítások arányának meghatározásához szükséges. Az ismételt szimulációk adatminőségi problémákra utalnak. Hol szerezhető be? A Payroll Control Center Step Instance naplói (PYC_D_STEP_INST), ahol a lépés típusa Simulation. Rögzítés A PCC szimulációs lépésének COMPLETED állapotra váltásakor rögzítve. Eseménytípus explicit | |||
| Bruttó bér kiszámítva | A bruttó bérszámfejtési séma sikeres lefuttatása. A szokásos feldolgozás során ez akkor történik, amikor a bérszámfejtő program adatot ír a PCL2 klaszterbe. | ||
| Miért fontos? Fontos mérföldkő, amely azt jelzi, hogy a munkaidő- és béradatok összevezetése sikerült. Az itt jelentkező késedelmek rontják a bruttó-nettó feldolgozás hatékonyságát. Hol szerezhető be? PCL2 klaszter (Payroll Results), különösen a könyvtártábla (RGDIR) „For-Period” időbélyege. Rögzítés Új sorszám bérszámfejtési klaszterbe írásakor rögzítve. Eseménytípus explicit | |||
| Kifizetés végrehajtva | A kifizetési folyamat lezárása, amelyet általában a bank visszaigazolása vagy az F110 fizetési futtatás befejezése jelez. | ||
| Miért fontos? Az SLA-megfelelési arány elsődleges záró időbélyege. Ez mutatja meg, hogy a munkavállaló időben megkapta-e a fizetését. Hol szerezhető be? A Payment Run táblák (REGUH) futtatási dátuma és időpontja, vagy a Value Date alapján kikövetkeztetve. Rögzítés A Payment Run állapotának Posted/Complete értékre váltásakor rögzítve. Eseménytípus explicit | |||
| Munkaidő-adatok beküldve | Az esemény akkor történik, amikor egy munkavállaló vagy vezető beküldi az adott béridőszak munkaidő-adatait. Az esemény az ECP-hez kapcsolódó Employee Central modul munkafolyamat-kérelmeinek naplóiból rögzíthető. | ||
| Miért fontos? Jelzi az adatgyűjtési szakasz kezdetét. Az itt jelentkező késedelmek a folyamat további részeire is kihatnak, és lerövidítik a bérszámfejtésre rendelkezésre álló időt. Hol szerezhető be? Employee Central Workflow Request táblák (WfRequest), Time Sheet vagy Time Off kategóriára szűrve. Rögzítés A munkafolyamat állapotának SUBMITTED értékre váltásakor rögzítve. Eseménytípus explicit | |||
| Munkaidő-adatok jóváhagyva | A munkaidő-adatok vezető vagy adminisztrátor általi hivatalos jóváhagyása. Ez az állapotváltozás igazolja, hogy az adatok átadhatók a bérszámfejtési rendszernek. | ||
| Miért fontos? A munkaidő-jóváhagyás átfutási idejének KPI-ját számítja. Az itt jelentkező szűk keresztmetszetek vezetői késedelemre vagy összetett jóváhagyási hierarchiára utalnak. Hol szerezhető be? Employee Central Workflow Request táblák (WfRequest), COMPLETED vagy APPROVED állapotra szűrve. Rögzítés A munkafolyamat állapotának APPROVED értékre váltásakor rögzítve. Eseménytípus explicit | |||
| Adatjavítás elvégezve | Az auditkivétel miatt módosított alapadatok vagy munkaidő-adatok. Ez a bérszámfejtési riasztás megszüntetéséhez szükséges utómunkát jelzi. | ||
| Miért fontos? A kézi javítások és az utómunka arányát követi. Ez a tevékenység az egyik fő forrása a folyamat hatékonyságvesztésének. Hol szerezhető be? A PCC-riasztás időbélyegeinek és az ugyanahhoz a munkavállalóhoz tartozó, a riasztás lezárása előtt végrehajtott későbbi Audit Log-módosításoknak (PCL4) az összekapcsolásával következtethető ki. Rögzítés Azonosítsa azokat az alapadat-frissítéseket, amelyek aktív PCC-riasztás alatt történnek. Eseménytípus inferred | |||
| Auditkivétel megjelölve | A Payroll Control Center szabályellenőrzései által létrehozott érvényesítési riasztás. Ezek a riasztások adatellentmondásokat vagy megfelelési kockázatokat jeleznek. | ||
| Miért fontos? Közvetlenül támogatja az auditkivételek gyakoriságát és a megfelelési kockázatot bemutató dashboardokat. A nagy esetszám a folyamat korábbi szakaszaiban jelentkező adatminőségi problémákra utal. Hol szerezhető be? Payroll Control Center Alert táblák (PYC_D_ALERT), amelyek az egyes hibakódokat a munkavállalói rekordhoz kapcsolják. Rögzítés Új bejegyzés létrehozásakor rögzítve a PCC Alert táblában. Eseménytípus explicit | |||
| Bérjegyzék közzétéve | A bérjegyzék elérhetővé tétele a munkavállaló számára az önkiszolgáló felületen (ESS). | ||
| Miért fontos? A bérjegyzék-kézbesítés SLA-teljesítését méri. Az itt jelentkező késedelmek ügyfélszolgálati jegyeket eredményeznek. Hol szerezhető be? A „Print Date” vagy az elérhetőségi dátum beállítása alapján következtethető ki a Pay Slip mashup szolgáltatás naplóiból. Rögzítés Számítsa ki a Pay Date és a rendszerbeállítás szerinti késedelem alapján. Eseménytípus inferred | |||
| Juttatások levonása alkalmazva | A számítási séma azon lépése, amelyben a juttatásokra vonatkozó logika lefut. Bár ez a rendes bérszámfejtési ciklus része, külön vizsgálata segít feltárni a beállítási hibákat. | ||
| Miért fontos? A juttatások és adók számítási pontosságának elemzését támogatja. Hasznos az összetett levonási szabályok eltéréseinek hibakereséséhez. Hol szerezhető be? A bérszámfejtési eredményekben szereplő V0 split meglétéből vagy részletes naplózás esetén a konkrét naplóbejegyzésekből következtethető ki. Részletes naplózás éles rendszerben ritka. Rögzítés Időben egybeesik a bruttó bér kiszámításával, de az elemzésben külön eseményként kezelendő. Eseménytípus inferred | |||
| Ösztönzők adatainak importálása | A nem szokásos bérelemek, például bónuszok vagy jutalékok betöltése a bérszámfejtési rendszerbe. Ez általában az adatok betöltését jelenti az 0015-ös vagy a 2010-es Infotype-ba. | ||
| Miért fontos? A késői import megakadályozza a bruttó bér pontos kiszámítását. Az elemzés segít optimalizálni az ösztönzőadatok integrációjának átfutási idejét. Hol szerezhető be? Audit Log (PCL4 vagy ennek megfelelő napló), amely az 0015-ös Infotype (Additional Payments) vagy a 2010-es Infotype (Employee Remuneration Info) rekordjainak létrehozását mutatja. Rögzítés Hasonlítsa össze az Infotype-rekordok létrehozásának időbélyegeit az importfeladatok naplóival. Eseménytípus inferred | |||
Útmutatók az adatok kinyeréséhez
Lépések
- Határozza meg a kinyerni kívánt bérszámfejtési területet és időszakparamétereket. Az adatokat elsősorban a Payroll Control Center (PCC) tábláiból (PYC_*) és a bérszámfejtési klaszterek könyvtárából (HRPY_RGDIR) nyeri ki.
- Indítsa el az SQL-klienst vagy a SAP HANA Studio alkalmazást, amely csatlakozik a SAP SuccessFactors Employee Central Payroll (ECP) háttérrendszerének sémájához.
- Futtassa a Query szakaszban megadott adatkinyerő szkriptet. Ez a szkript törzsadat-táblákból, bérszámfejtési eredményekből és PCC-auditnaplókból összesíti az adatokat.
- Térképezze fel a „Munkaidő-nyilvántartás beküldve” és a „Munkaidő-nyilvántartás jóváhagyva” tevékenységeket. Mivel az ECP gyakran az Employee Central rendszerből kapja ezeket az adatokat, használja a PA2001 tábla létrehozási és utolsó módosítási időbélyegeit, vagy az erre szolgáló munkaidő-felület tábláit, például a PTREQ_HEADER táblát, ha elérhető.
- A „Jutalékadatok importálva” esemény kinyeréséhez kérdezze le a 0015-ös (Additional Payments) és a 2010-es (Employee Remuneration Info) infótípusokat a cél bérfizetési időszakban létrehozott rekordokért.
- A PCC folyamatlépéseit a PYC_D_PYP (Process Instances) és a PYC_D_BINST (Step Instances) táblákból kérje le. Így rögzítheti a „Bérszámfejtési folyamat elindítva”, „Bérszámfejtési szimuláció lefuttatva”, „Bérrekord jóváhagyva” és „Bérjegyzék közzétéve” eseményeket.
- A PYC_D_ALERT tábla lekérdezésével keresse meg az „Auditkivétel megjelölve” eseményeket. Ezek a rekordok az egyes munkavállalókhoz kapcsolják a PCC-ellenőrzési lépések során talált érvényesítési hibákat.
- A „Javított adatok” események előállításához kapcsolja össze az SAP módosítási dokumentumainak fejlécét tartalmazó CDHDR táblát a bérszámfejtés szempontjából releváns infótípusokkal (például 0008, 0015, 2001) az aktív bérszámfejtési időszakban.
- A HRPY_RGDIR tábla segítségével állapítsa meg a „Bruttó bér kiszámítva” esemény pontos időpontját. A „Juttatások levonása alkalmazva” eseményt ugyanezzel az időbélyeggel hozza létre, mivel ezek a sémalefuttatás során egyidejűleg történnek.
- Kapcsolja a pénzügyi adatokat a REGUH (Settlement Data) és a REGUT (DME Administration) táblákból a „Banki átutalási fájl létrehozva” és a „Fizetés végrehajtva” események rögzítéséhez.
- Alakítsa át a „PayrollRecord” oszlop értékeit a [EmployeeID]-[Period]-[Year] formátumra, hogy minden esetazonosító egyedi legyen.
- Exportálja a végleges adatkészletet CSV-fájlként. Ellenőrizze, hogy az oszlopfejlécek megfelelnek-e a specifikációban megadott attribútumoknak, majd töltse fel az adatokat a ProcessMindbe.
Konfiguráció
- Időszak: Az adatkinyerést állítsa be az elmúlt 6–12 hónap gördülő időszakára. A bérszámfejtés ciklikus, ez az időtartam pedig elegendő változatosságot mutat a rendes és rendkívüli futtatások között.
- Bérszámfejtési terület (ABKRS): Szűrjön meghatározott bérszámfejtési területekre (például USA havi, Németország heti), hogy az elemzés hasonló folyamatciklusokat hasonlítson össze.
- Nyelv: A tevékenységek és folyamatlépések leírásait az elsődleges rendszer nyelvén nyerje ki (például SPRAS = 'E').
- PCC-folyamatazonosítók: Keresse meg a PCC-konfigurációban a „Monitoring”, „Production” és „Off-Cycle” folyamatokhoz használt folyamatdefiníció-azonosítókat (PYP_ID), és ezek alapján szűrje a releváns lépéseket.
- Pénznem: Ha globális bérszámfejtési adatokkal dolgozik, egységesítse a pénzügyi összegeket (GrossPayAmount) egyetlen pénznemre.
- Jogosultságok: Az adatbázis-felhasználónak olvasási jogosultságra van szüksége a humánerőforrás-táblákhoz (PA/PY), különösen a klaszterkönyvtárhoz (HRPY_RGDIR) és a PCC-táblákhoz (PYC_*).
Példa-lekérdezés sql
/* Activity 1: Time Sheet Submitted */
SELECT
CONCAT(T.PERNR, CONCAT('-', T.PABRJ, T.PABRP)) AS PayrollRecord,
'Time Sheet Submitted' AS Activity,
T.BEGDA AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
T.ABKRS AS PayrollArea,
'Permanent' AS EmployeeType,
T.PABRP AS PayPeriod,
CASE WHEN T.PABRP LIKE '9%' THEN 'Off-Cycle' ELSE 'Regular' END AS PayCycleFrequency,
0.00 AS GrossPayAmount,
T.UNAME AS PayrollSpecialist,
O.KOSTL AS CostCenter,
'True' AS IsAutomated
FROM PA2001 AS T
LEFT JOIN PA0001 AS O ON T.PERNR = O.PERNR AND O.ENDDA = '99991231'
WHERE T.AEDTM BETWEEN '[START_DATE]' AND '[END_DATE]'
UNION ALL
/* Activity 2: Time Sheet Approved */
SELECT
CONCAT(T.PERNR, CONCAT('-', T.PABRJ, T.PABRP)) AS PayrollRecord,
'Time Sheet Approved' AS Activity,
T.AEDTM AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
T.ABKRS AS PayrollArea,
'Permanent' AS EmployeeType,
T.PABRP AS PayPeriod,
CASE WHEN T.PABRP LIKE '9%' THEN 'Off-Cycle' ELSE 'Regular' END AS PayCycleFrequency,
0.00 AS GrossPayAmount,
T.UNAME AS PayrollSpecialist,
O.KOSTL AS CostCenter,
'False' AS IsAutomated
FROM PA2001 AS T
LEFT JOIN PA0001 AS O ON T.PERNR = O.PERNR AND O.ENDDA = '99991231'
WHERE T.AEDTM BETWEEN '[START_DATE]' AND '[END_DATE]'
UNION ALL
/* Activity 3: Incentive Data Imported */
SELECT
CONCAT(I.PERNR, CONCAT('-', I.PABRJ, I.PABRP)) AS PayrollRecord,
'Incentive Data Imported' AS Activity,
I.AEDTM AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
I.ABKRS AS PayrollArea,
'Permanent' AS EmployeeType,
I.PABRP AS PayPeriod,
'Regular' AS PayCycleFrequency,
I.BETRG AS GrossPayAmount,
I.UNAME AS PayrollSpecialist,
O.KOSTL AS CostCenter,
'True' AS IsAutomated
FROM PA0015 AS I
LEFT JOIN PA0001 AS O ON I.PERNR = O.PERNR AND O.ENDDA = '99991231'
WHERE I.AEDTM BETWEEN '[START_DATE]' AND '[END_DATE]'
UNION ALL
/* Activity 4: Payroll Process Initialized */
SELECT
CONCAT('N/A', CONCAT('-', P.PABRJ, P.PABRP)) AS PayrollRecord,
'Payroll Process Initialized' AS Activity,
P.CREATED_TS AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
'ALL' AS PayrollArea,
NULL AS EmployeeType,
P.PABRP AS PayPeriod,
'Regular' AS PayCycleFrequency,
0.00 AS GrossPayAmount,
P.CREATED_BY AS PayrollSpecialist,
NULL AS CostCenter,
'False' AS IsAutomated
FROM PYC_D_PYP AS P
WHERE P.CREATED_TS BETWEEN '[START_DATE]' AND '[END_DATE]'
UNION ALL
/* Activity 5: Payroll Simulation Executed */
SELECT
CONCAT('N/A', CONCAT('-', S.PABRJ, S.PABRP)) AS PayrollRecord,
'Payroll Simulation Executed' AS Activity,
S.END_TS AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
'ALL' AS PayrollArea,
NULL AS EmployeeType,
S.PABRP AS PayPeriod,
'Regular' AS PayCycleFrequency,
0.00 AS GrossPayAmount,
S.EXEC_USER AS PayrollSpecialist,
NULL AS CostCenter,
'True' AS IsAutomated
FROM PYC_D_BINST AS S
JOIN PYC_D_STEP AS D ON S.STEP_ID = D.ID
WHERE D.NAME LIKE '%Simulate%' AND S.END_TS BETWEEN '[START_DATE]' AND '[END_DATE]'
UNION ALL
/* Activity 6: Audit Exception Flagged */
SELECT
CONCAT(A.RO_ID, CONCAT('-', P.PABRJ, P.PABRP)) AS PayrollRecord,
'Audit Exception Flagged' AS Activity,
A.CREATED_TS AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
P.ABKRS AS PayrollArea,
'Permanent' AS EmployeeType,
P.PABRP AS PayPeriod,
'Regular' AS PayCycleFrequency,
0.00 AS GrossPayAmount,
'SYSTEM' AS PayrollSpecialist,
NULL AS CostCenter,
'True' AS IsAutomated
FROM PYC_D_ALERT AS A
JOIN PYC_D_PYP AS P ON A.PYP_ID = P.ID
WHERE A.CREATED_TS BETWEEN '[START_DATE]' AND '[END_DATE]'
UNION ALL
/* Activity 7: Data Correction Performed */
SELECT
CONCAT(C.OBJECTID, CONCAT('-', P.PABRJ, P.PABRP)) AS PayrollRecord,
'Data Correction Performed' AS Activity,
TO_TIMESTAMP(CONCAT(C.UDATE, C.UTIME)) AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
P.ABKRS AS PayrollArea,
'Permanent' AS EmployeeType,
P.PABRP AS PayPeriod,
'Regular' AS PayCycleFrequency,
0.00 AS GrossPayAmount,
C.USERNAME AS PayrollSpecialist,
NULL AS CostCenter,
'False' AS IsAutomated
FROM CDHDR AS C
JOIN HRPY_RGDIR AS P ON C.OBJECTID = P.PERNR
WHERE C.TCODE IN ('PA30', 'PA40') AND C.UDATE BETWEEN '[START_DATE]' AND '[END_DATE]'
UNION ALL
/* Activity 8: Gross Pay Calculated */
SELECT
CONCAT(R.PERNR, CONCAT('-', R.PABRJ, R.PABRP)) AS PayrollRecord,
'Gross Pay Calculated' AS Activity,
TO_TIMESTAMP(CONCAT(R.RUNDT, R.RUNTM)) AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
R.ABKRS AS PayrollArea,
'Permanent' AS EmployeeType,
R.PABRP AS PayPeriod,
CASE WHEN R.PABRP LIKE '9%' THEN 'Off-Cycle' ELSE 'Regular' END AS PayCycleFrequency,
0.00 AS GrossPayAmount,
R.UNAME AS PayrollSpecialist,
O.KOSTL AS CostCenter,
'True' AS IsAutomated
FROM HRPY_RGDIR AS R
LEFT JOIN PA0001 AS O ON R.PERNR = O.PERNR AND O.ENDDA = '99991231'
WHERE R.RUNDT BETWEEN '[START_DATE]' AND '[END_DATE]'
UNION ALL
/* Activity 9: Benefit Deductions Applied */
SELECT
CONCAT(R.PERNR, CONCAT('-', R.PABRJ, R.PABRP)) AS PayrollRecord,
'Benefit Deductions Applied' AS Activity,
ADD_SECONDS(TO_TIMESTAMP(CONCAT(R.RUNDT, R.RUNTM)), 1) AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
R.ABKRS AS PayrollArea,
'Permanent' AS EmployeeType,
R.PABRP AS PayPeriod,
CASE WHEN R.PABRP LIKE '9%' THEN 'Off-Cycle' ELSE 'Regular' END AS PayCycleFrequency,
0.00 AS GrossPayAmount,
R.UNAME AS PayrollSpecialist,
O.KOSTL AS CostCenter,
'True' AS IsAutomated
FROM HRPY_RGDIR AS R
LEFT JOIN PA0001 AS O ON R.PERNR = O.PERNR AND O.ENDDA = '99991231'
WHERE R.RUNDT BETWEEN '[START_DATE]' AND '[END_DATE]'
UNION ALL
/* Activity 10: Payroll Record Approved */
SELECT
CONCAT('N/A', CONCAT('-', S.PABRJ, S.PABRP)) AS PayrollRecord,
'Payroll Record Approved' AS Activity,
S.END_TS AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
'ALL' AS PayrollArea,
NULL AS EmployeeType,
S.PABRP AS PayPeriod,
'Regular' AS PayCycleFrequency,
0.00 AS GrossPayAmount,
S.EXEC_USER AS PayrollSpecialist,
NULL AS CostCenter,
'False' AS IsAutomated
FROM PYC_D_BINST AS S
JOIN PYC_D_STEP AS D ON S.STEP_ID = D.ID
WHERE D.NAME LIKE '%Check%' AND S.STATUS = 'OK' AND S.END_TS BETWEEN '[START_DATE]' AND '[END_DATE]'
UNION ALL
/* Activity 11: Bank Transfer File Generated */
SELECT
CONCAT(P.PERNR, CONCAT('-', P.PABRJ, P.PABRP)) AS PayrollRecord,
'Bank Transfer File Generated' AS Activity,
TO_TIMESTAMP(CONCAT(T.TSDAT, T.TSTIM)) AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
P.ABKRS AS PayrollArea,
'Permanent' AS EmployeeType,
P.PABRP AS PayPeriod,
'Regular' AS PayCycleFrequency,
0.00 AS GrossPayAmount,
T.USRID AS PayrollSpecialist,
O.KOSTL AS CostCenter,
'True' AS IsAutomated
FROM REGUT AS T
JOIN REGUH AS H ON T.LAUFD = H.LAUFD AND T.LAUFI = H.LAUFI
JOIN HRPY_RGDIR AS P ON H.PERNR = P.PERNR
LEFT JOIN PA0001 AS O ON P.PERNR = O.PERNR AND O.ENDDA = '99991231'
WHERE T.TSDAT BETWEEN '[START_DATE]' AND '[END_DATE]'
UNION ALL
/* Activity 12: Payment Executed */
SELECT
CONCAT(P.PERNR, CONCAT('-', P.PABRJ, P.PABRP)) AS PayrollRecord,
'Payment Executed' AS Activity,
TO_TIMESTAMP(CONCAT(H.LAUFD, '120000')) AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
P.ABKRS AS PayrollArea,
'Permanent' AS EmployeeType,
P.PABRP AS PayPeriod,
'Regular' AS PayCycleFrequency,
H.RBETR AS GrossPayAmount,
H.ZNME1 AS PayrollSpecialist,
O.KOSTL AS CostCenter,
'True' AS IsAutomated
FROM REGUH AS H
JOIN HRPY_RGDIR AS P ON H.PERNR = P.PERNR
LEFT JOIN PA0001 AS O ON P.PERNR = O.PERNR AND O.ENDDA = '99991231'
WHERE H.LAUFD BETWEEN '[START_DATE]' AND '[END_DATE]'
UNION ALL
/* Activity 13: Pay Slip Published */
SELECT
CONCAT('N/A', CONCAT('-', S.PABRJ, S.PABRP)) AS PayrollRecord,
'Pay Slip Published' AS Activity,
S.END_TS AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
'ALL' AS PayrollArea,
NULL AS EmployeeType,
S.PABRP AS PayPeriod,
'Regular' AS PayCycleFrequency,
0.00 AS GrossPayAmount,
S.EXEC_USER AS PayrollSpecialist,
NULL AS CostCenter,
'True' AS IsAutomated
FROM PYC_D_BINST AS S
JOIN PYC_D_STEP AS D ON S.STEP_ID = D.ID
WHERE D.NAME LIKE '%Remuneration%' AND S.END_TS BETWEEN '[START_DATE]' AND '[END_DATE]'
UNION ALL
/* Activity 14: Tax Filing Completed */
SELECT
CONCAT('N/A', CONCAT('-', S.PABRJ, S.PABRP)) AS PayrollRecord,
'Tax Filing Completed' AS Activity,
S.END_TS AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
'ALL' AS PayrollArea,
NULL AS EmployeeType,
S.PABRP AS PayPeriod,
'Regular' AS PayCycleFrequency,
0.00 AS GrossPayAmount,
S.EXEC_USER AS PayrollSpecialist,
NULL AS CostCenter,
'True' AS IsAutomated
FROM PYC_D_BINST AS S
JOIN PYC_D_STEP AS D ON S.STEP_ID = D.ID
WHERE D.NAME LIKE '%Tax%' AND S.END_TS BETWEEN '[START_DATE]' AND '[END_DATE]' Lépések
- Az ABAP Editor megnyitása: Jelentkezzen be az SAP SuccessFactors Employee Central Payroll (ECP) rendszerbe az SAP GUI-n keresztül. Nyissa meg az SE38 tranzakciót (ABAP Editor).
- Program létrehozása: Adjon nevet az új programnak, például
Z_PROCESSMINING_PAYROLL_EXT, majd kattintson a Létrehozás gombra. Típusként válassza az Executable program lehetőséget, teszteléshez pedig mentse Mentés paranccsal helyi objektumként (Package $TMP). - A kód beillesztése: Másolja ki az alábbi Query szakaszban található teljes ABAP-kódot, és illessze be a szerkesztőbe a meglévő alapértelmezett kód helyére.
- Ellenőrzés és aktiválás: A szintaxis ellenőrzéséhez kattintson az Ellenőrzés gombra (Ctrl+F2). Ha a státusz hibamentes, kattintson az Aktiválás gombra (Ctrl+F3).
- Az adatok kinyerése: A jelentés futtatásához nyomja meg a Direct Processing gombot (F8).
- A kiválasztási feltételek megadása: A kiválasztási képernyőn adja meg a
Payroll Areaértékét (például US, 99), egy érvényesDate Rangeidőszakot (például az elmúlt 3 hónapot), és teszteléshez igény szerint szűrjön meghatározottPersonnel Numbers(PERNR) értékekre. - Az adatok kinyerése: Futtassa a jelentést. A rendszer a HRPY_RGDIR, CATSDB, PA0015 és REGUH táblák adataiból állítja össze az eseménynaplót.
- Az eredmény ellenőrzése: A jelentés a
cl_demo_outputsegítségével közvetlenül a képernyőn, táblázatos nézetben jeleníti meg az eredményeket, így azonnal ellenőrizheti őket. - Adatok exportálása: Kattintson jobb gombbal az eredménytáblára, válassza a Spreadsheet lehetőséget, majd mentse a fájlt CSV- vagy Excel-formátumban.
- Formázás a ProcessMindhez: Nyissa meg az exportált fájlt. Állítsa az
EventTimestamposzlop formátumát erre:YYYY-MM-DD HH:MM:SS. Ellenőrizze, hogy aPayrollRecordoszlop egyedileg azonosítja-e az eseteket, általában a PERNR-SEQNR értékkel. - Feltöltés: Importálja a megtisztított CSV-fájlt a ProcessMindbe, és rendelje az oszlopokat a megfelelő Esetazonosító, Tevékenység, Időbélyeg és Attribútumok mezőkhöz.
Konfiguráció
- Dátumtartomány: Az ABAP futtatókörnyezet memória-időtúllépéseinek elkerülése érdekében ajánlott 3–6 hónapos szakaszokban kinyerni az adatokat.
- Bérszámfejtési terület: Ez fontos szűrési feltétel (T549A tábla). A folyamategységesség érdekében mindig egyszerre egy bérszámfejtési területet nyerjen ki (például havi vagy kétheti).
- Konfigurációs tábla: A szkript elsődleges adatforrásként a
HRPY_RGDIR(Payroll Directory) táblát olvassa. Ellenőrizze, hogy a felhasználó rendelkezik-eS_TABU_DISjogosultsággal ehhez a táblához. - Munkaidő-adatok forrása: A szkript feltételezi, hogy a munkaidő-nyilvántartás adatai a
CATSDBtáblában találhatók. Ha harmadik féltől származó munkaidő-nyilvántartó rendszer közvetlenül azIT2001vagyIT2010táblához kapcsolódik, és nem használ CATS-t, a munkaidő-nyilvántartási tevékenységek eredménye üres lehet, ezért a szkriptet módosítani kell. - Fizetési adatok: A szkript a
REGUH(Settlement Data) táblán keresztül kapcsolja össze a bérszámfejtési és a fizetési futtatásokat. A fizetési események megjelenítéséhez ellenőrizze, hogy a kiválasztott időszakra lefutott-e azF110fizetési futtatás. - Teljesítmény: Nagy létszámú rendszerekben (100 000-nél több munkavállaló esetén) cserélje le a
SELECT *lekérdezést kurzoralapú adatlekérésre, vagy futtassa háttérben (F9).
Példa-lekérdezés abap
REPORT Z_PROCESSMINING_PAYROLL_EXT.
TABLES: pernr, hrpy_rgdir, catsdb, pa0015, reguh.
TYPES: BEGIN OF ty_event_log,
payroll_record TYPE string,
activity TYPE string,
event_timestamp TYPE string,
source_system TYPE string,
last_data_update TYPE string,
payroll_area TYPE abkrs,
employee_type TYPE persg,
pay_period TYPE pabrj,
pay_cycle_freq TYPE string,
gross_pay_amount TYPE string,
payroll_specialist TYPE usnam,
cost_center TYPE kostl,
is_automated TYPE string,
END OF ty_event_log.
DATA: gt_output TYPE TABLE OF ty_event_log,
gs_output TYPE ty_event_log,
gt_rgdir TYPE TABLE OF hrpy_rgdir,
gs_rgdir TYPE hrpy_rgdir,
gt_cats TYPE TABLE OF catsdb,
gs_cats TYPE catsdb,
gt_p0015 TYPE TABLE OF pa0015,
gs_p0015 TYPE pa0015,
gt_reguh TYPE TABLE OF reguh,
gs_reguh TYPE reguh,
gv_tstamp TYPE timestamp,
gv_date TYPE d,
gv_time TYPE t,
gv_pernr TYPE pernr_d.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: s_pernr FOR pernr-pernr,
s_date FOR sy-datum OBLIGATORY.
PARAMETERS: p_abkrs TYPE abkrs OBLIGATORY DEFAULT '99'.
SELECTION-SCREEN END OF BLOCK b1.
START-OF-SELECTION.
" 1. Fetch Payroll Directory (The Core Process Driver)
SELECT * FROM hrpy_rgdir INTO TABLE gt_rgdir
WHERE pernr IN s_pernr
AND fpper LIKE '%'
AND cdate IN s_date.
IF gt_rgdir IS INITIAL.
WRITE: / 'No payroll results found for selection.'.
EXIT.
ENDIF.
SORT gt_rgdir BY pernr seqnr.
" Loop through Payroll Directory to build events
LOOP AT gt_rgdir INTO gs_rgdir.
CLEAR gs_output.
CONCATENATE gs_rgdir-pernr '-' gs_rgdir-seqnr INTO gs_output-payroll_record.
gs_output-source_system = 'SAP_ECP'.
gs_output-last_data_update = sy-datum.
gs_output-payroll_area = p_abkrs.
gs_output-pay_period = gs_rgdir-fpper.
gs_output-payroll_specialist = gs_rgdir-uname.
" --- Activity: Payroll Process Initialized ---
" Derived from the run date start
gs_output-activity = 'Payroll Process Initialized'.
CONCATENATE gs_rgdir-cdate gs_rgdir-ctime INTO gs_output-event_timestamp SEPARATED BY space.
gs_output-is_automated = 'TRUE'.
APPEND gs_output TO gt_output.
" --- Activity: Payroll Simulation Executed ---
IF gs_rgdir-srtza = 'S'. " S = Simulation
gs_output-activity = 'Payroll Simulation Executed'.
CONCATENATE gs_rgdir-cdate gs_rgdir-ctime INTO gs_output-event_timestamp SEPARATED BY space.
gs_output-is_automated = 'TRUE'.
APPEND gs_output TO gt_output.
ENDIF.
" --- Activity: Audit Exception Flagged ---
IF gs_rgdir-void IS NOT INITIAL. " Void indicator means rejected/exception
gs_output-activity = 'Audit Exception Flagged'.
CONCATENATE gs_rgdir-cdate gs_rgdir-ctime INTO gs_output-event_timestamp SEPARATED BY space.
gs_output-is_automated = 'TRUE'.
APPEND gs_output TO gt_output.
" --- Activity: Data Correction Performed ---
" Inferred: If voided, a correction usually follows immediately
gs_output-activity = 'Data Correction Performed'.
" Add 1 hour to simulate reaction time
DATA: lv_corr_time TYPE t.
lv_corr_time = gs_rgdir-ctime + 3600.
CONCATENATE gs_rgdir-cdate lv_corr_time INTO gs_output-event_timestamp SEPARATED BY space.
gs_output-is_automated = 'FALSE'.
APPEND gs_output TO gt_output.
ENDIF.
" --- Activity: Gross Pay Calculated ---
IF gs_rgdir-srtza = 'A'. " A = Actual Result
gs_output-activity = 'Gross Pay Calculated'.
CONCATENATE gs_rgdir-cdate gs_rgdir-ctime INTO gs_output-event_timestamp SEPARATED BY space.
gs_output-gross_pay_amount = '1000.00'. " Placeholder: Cluster read required for actual amount
gs_output-is_automated = 'TRUE'.
APPEND gs_output TO gt_output.
" --- Activity: Benefit Deductions Applied ---
" Logically occurs immediately after gross calc
gs_output-activity = 'Benefit Deductions Applied'.
gs_output-is_automated = 'TRUE'.
APPEND gs_output TO gt_output.
" --- Activity: Payroll Record Approved ---
" Inferred from successful write of 'A' record
gs_output-activity = 'Payroll Record Approved'.
DATA: lv_appr_time TYPE t.
lv_appr_time = gs_rgdir-ctime + 60. " +1 minute
CONCATENATE gs_rgdir-cdate lv_appr_time INTO gs_output-event_timestamp SEPARATED BY space.
gs_output-is_automated = 'FALSE'.
APPEND gs_output TO gt_output.
" --- Activity: Pay Slip Published ---
" Available via ESS usually next day
gs_output-activity = 'Pay Slip Published'.
DATA: lv_slip_date TYPE d.
lv_slip_date = gs_rgdir-cdate + 1.
CONCATENATE lv_slip_date '080000' INTO gs_output-event_timestamp SEPARATED BY space.
gs_output-is_automated = 'TRUE'.
APPEND gs_output TO gt_output.
" --- Activity: Tax Filing Completed ---
" End of period logic
gs_output-activity = 'Tax Filing Completed'.
DATA: lv_tax_date TYPE d.
lv_tax_date = gs_rgdir-paydt.
CONCATENATE lv_tax_date '235959' INTO gs_output-event_timestamp SEPARATED BY space.
gs_output-is_automated = 'TRUE'.
APPEND gs_output TO gt_output.
ENDIF.
ENDLOOP.
" 2. Fetch Time Sheet Data (CATSDB)
" Linking to Payroll Record loosely via Period/Date
SELECT * FROM catsdb INTO TABLE gt_cats
WHERE pernr IN s_pernr
AND workdate IN s_date.
LOOP AT gt_cats INTO gs_cats.
CLEAR gs_output.
CONCATENATE gs_cats-pernr '-00000' INTO gs_output-payroll_record. " Generic mapping
gs_output-payroll_area = p_abkrs.
gs_output-source_system = 'SAP_ECP'.
" --- Activity: Time Sheet Submitted ---
IF gs_cats-status = '20' OR gs_cats-status = '30'.
gs_output-activity = 'Time Sheet Submitted'.
CONCATENATE gs_cats-laudate gs_cats-lautime INTO gs_output-event_timestamp SEPARATED BY space.
gs_output-is_automated = 'FALSE'.
APPEND gs_output TO gt_output.
ENDIF.
" --- Activity: Time Sheet Approved ---
IF gs_cats-status = '30'. " 30 = Approved
gs_output-activity = 'Time Sheet Approved'.
CONCATENATE gs_cats-apdat gs_cats-aptime INTO gs_output-event_timestamp SEPARATED BY space.
gs_output-is_automated = 'FALSE'.
APPEND gs_output TO gt_output.
ENDIF.
ENDLOOP.
" 3. Fetch Incentive Data (Infotype 0015)
SELECT * FROM pa0015 INTO TABLE gt_p0015
WHERE pernr IN s_pernr
AND begda IN s_date.
LOOP AT gt_p0015 INTO gs_p0015.
CLEAR gs_output.
CONCATENATE gs_p0015-pernr '-00000' INTO gs_output-payroll_record.
gs_output-source_system = 'SAP_ECP'.
gs_output-payroll_area = p_abkrs.
" --- Activity: Incentive Data Imported ---
gs_output-activity = 'Incentive Data Imported'.
CONCATENATE gs_p0015-aedtm '120000' INTO gs_output-event_timestamp SEPARATED BY space.
gs_output-is_automated = 'FALSE'.
APPEND gs_output TO gt_output.
ENDLOOP.
" 4. Fetch Payment Data (REGUH)
SELECT * FROM reguh INTO TABLE gt_reguh
WHERE zaldt IN s_date.
LOOP AT gt_reguh INTO gs_reguh.
" Filter for our PERNRs roughly (REGUH does not always have PERNR directly indexable easily in all views)
" For simulation, we map broadly or require join logic. Here assuming simple extraction.
CLEAR gs_output.
CONCATENATE gs_reguh-pernr '-99999' INTO gs_output-payroll_record.
gs_output-source_system = 'SAP_ECP'.
gs_output-payroll_area = p_abkrs.
" --- Activity: Bank Transfer File Generated ---
gs_output-activity = 'Bank Transfer File Generated'.
CONCATENATE gs_reguh-laufd gs_reguh-cpzut INTO gs_output-event_timestamp SEPARATED BY space.
gs_output-is_automated = 'TRUE'.
APPEND gs_output TO gt_output.
" --- Activity: Payment Executed ---
gs_output-activity = 'Payment Executed'.
CONCATENATE gs_reguh-zaldt '100000' INTO gs_output-event_timestamp SEPARATED BY space.
gs_output-is_automated = 'TRUE'.
APPEND gs_output TO gt_output.
ENDLOOP.
" Output Display
cl_demo_output=>display( gt_output ). Készen áll a kezdésre?
Ezzel a mintával kezdheti meg a hatékonyabb bérszámfejtés felé vezető utat az adatok kinyerésekor. A strukturált megközelítés segítségével gyorsan eljuthat a nyers adatoktól a felhasználható elemzési eredményekig.
Javítsa bérszámfejtési teljesítményét még ma
Csatlakozzon azokhoz a vállalatokhoz, amelyek már most 30%-kal rövidítik a bérszámfejtési ciklusokat.
Nincs szükség bankkártyára. A beállítás percek alatt elvégezhető.