Adatsablon a Record to Report időszakzárási és egyeztetési folyamatához
Adatsablon a Record to Report időszakzárási és egyeztetési folyamatához
- Javasolt attribútumok
- A folyamatelemzéshez követendő fő tevékenységek
- Útmutató az adatok kinyeréséhez, lépésről lépésre
A Record to Report időszakzárási és egyeztetési folyamatának attribútumai
| Név | Leírás | ||
|---|---|---|---|
| Pénzügyi időszak FinancialPeriod | A pénzügyi beszámolási ciklus egyedi azonosítója, például „2023-12” 2023 decemberére. Ez az időszak végi zárási folyamat esetazonosítója. | ||
| Leírás A pénzügyi időszak az az esetazonosító, amely egy adott időszak, jellemzően egy naptári hónap vagy üzleti időszak könyvelési zárásához kapcsolódó összes tevékenységet összefogja. Minden pénzügyi időszak az időszak végi folyamat egy teljes lefutását jelenti. A process mining elemzésben ez az attribútum lehetővé teszi az időszaki zárás teljes életciklusának nyomon követését a kezdetektől a végleges beszámolásig. Segítségével összehasonlíthatók a különböző időszakok ciklusidejei, azonosíthatók a gyakori folyamatútvonalak, és elemezhetők a havi, negyedéves és éves zárások közötti eltérések. Ha minden időszakot külön esetként kezel, az elemzők időben mérhetik a teljesítményt és feltárhatják a rendszerszintű szűk keresztmetszeteket. Miért fontos? Ez az elemzés alapjául szolgáló esetazonosító. Lehetővé teszi az időszaki zárások teljesítményének időbeli összehasonlítását, valamint a trendek és visszatérő problémák feltárását. Hol szerezhető be? A pénzügyi bizonylatok fejlécéből, jellemzően a BKPF táblából származó üzleti év (GJAHR) és könyvelési időszak (MONAT) mező összekapcsolásával állítható elő. Példák 2023-122024-032024. I. negyedév | |||
| Kezdési idő EventTime | Az az időbélyeg, amely megmutatja, mikor kezdődött egy adott tevékenység, vagy mikor rögzítették a rendszerben. | ||
| Leírás Az esemény időpontja megadja, hogy egy tevékenység pontosan mikor történt. Pénzügyi könyveléseknél ez gyakran a bizonylat létrehozási ideje (CPUTM) vagy könyvelési dátuma (BUDAT). Állapotváltozásoknál és feladatoknál az állapotváltozás naplózásának időbélyegét jelenti. Ez az attribútum elengedhetetlen a tevékenységek időrendi sorrendbe rendezéséhez, és minden időalapú elemzés alapja. Segítségével kiszámítható a tevékenységek közötti ciklusidő, az egyes feladatok időtartama és a teljes folyamat végpontok közötti időtartama. Közvetlenül támogatja az olyan KPI-k mérését, mint az időszaki zárás átlagos ciklusideje és az egyeztetés átlagos jóváhagyási ideje. Miért fontos? Ez a kötelező időbélyeg teszi lehetővé az események időrendi sorrendbe rendezését, és ez az alapja az időtartam- és teljesítményszámításoknak. Hol szerezhető be? A BKPF-hez hasonló táblák időbélyegmezőiből, például a létrehozás dátumából (CPUDT) és idejéből (CPUTM), illetve a különböző állapottáblák módosítási dátummezőiből (például CDHDR, CDPOS) származik. Példák 2023-12-28T09:15:30Z2024-01-02T14:00:12Z2024-01-05T11:21:00Z | |||
| Tevékenység ActivityName | Az időszaki zárási folyamat egy adott üzleti lépésének vagy feladatának neve, például „Helyesbítő naplóbejegyzés könyvelése” vagy „Időszak lezárása könyvelésre”. | ||
| Leírás Ez az attribútum az időszaki zárási és egyeztetési folyamat egyetlen eseményét vagy feladatát jelöli. A tevékenységek alkotják a folyamattérkép építőelemeit, és megmutatják a munka lépéseinek sorrendjét. Gyakran tranzakciókódok, dokumentumtípusok vagy az SAP S/4HANA rendszerben rögzített állapotváltozások alapján határozhatók meg. A tevékenységek elemzése a process mining alapja. Segít megjeleníteni a folyamat menetét, feltárni a standard eljárástól való eltéréseket és a túl sokáig tartó tevékenységek szűk keresztmetszeteit, valamint megérteni a feladatok gyakoriságát és sorrendjét. Ez fontos az olyan dashboardokhoz, mint az időszaki zárás változatainak elemzése és az aktuális időszaki zárás állapota. Miért fontos? Meghatározza a folyamat lépéseit, alapot ad a folyamattérképhez, és lehetővé teszi a folyamat menetének, az eltéréseknek és a szűk keresztmetszeteknek az elemzését. Hol szerezhető be? Különböző forrásokból származhat, például tranzakciókódokból (TCODE), dokumentumtípusokból (BLART) vagy a pénzügyi zárási feladatokhoz kapcsolódó táblák állapotmezőiből (például az SAP Financial Closing Cockpit rendszerből). Példák Időszak megnyitása könyvelésreFőkönyvi számla egyeztetése megkezdődöttPénzügyi kimutatások elkészültekVállalatközi egyeztetés megkezdődött | |||
| Befejezési idő EndTime | Az az időbélyeg, amely megmutatja, mikor fejeződött be egy tevékenység. | ||
| Leírás A befejezési idő jelzi egy feladat végét. A rendszerben naplózott, azonnali eseményeknél megegyezhet a kezdési idővel. A mérhető időtartamú tevékenységeknél a befejezés időpontját jelöli. A kezdési idővel együtt ez az attribútum szükséges az egyes tevékenységek Miért fontos? Lehetővé teszi a tevékenységek időtartamának (feldolgozási idő) kiszámítását, ami szükséges a teljesítmény szűk keresztmetszeteinek feltárásához és a hatékonyság elemzéséhez. Hol szerezhető be? A kezdési időhöz hasonlóan ez is különböző időbélyegmezőkből származhat. Egyes tevékenységeknél megegyezhet a kezdési idővel, másoknál külön „befejezés dátuma” vagy „módosítás dátuma” mezőben szerepelhet az alkalmazás tábláiban vagy a változásnaplókban (CDHDR, CDPOS). Példák 2023-12-28T09:16:10Z2024-01-02T17:30:00Z2024-01-05T11:21:00Z | |||
| Bizonylatszám DocumentNumber | A pénzügyi bizonylat, például egy könyvelési tétel egyedi azonosítója. | ||
| Leírás Az SAP minden pénzügyi könyveléshez egyedi kulcsként rendeli hozzá a bizonylatszámot. Ez az időszakzárási folyamat tevékenységeit alkotó egyedi tranzakciók nyomon követésének és ellenőrzésének elsődleges hivatkozási alapja. Bár önmagában nem esetazonosító, közvetlen kapcsolatot biztosít a forrásrendszerhez. Az elemzők a bizonylatszám alapján a process mining nézetéből az SAP S/4HANA konkrét tranzakciós adataihoz léphetnek, és feltárhatják a kiváltó okokat. Különösen hasznos az egyes helyesbítő könyvelési tételek vagy egyeztetési könyvelések vizsgálatakor. Miért fontos? Közvetlen hivatkozást ad az SAP-ban rögzített tranzakcióhoz, így a folyamatmodellből könnyen megnyithatók a részletek, és az adatok ellenőrizhetők. Hol szerezhető be? A pénzügyi bizonylatok BKPF fejléc táblájában (BELNR mező), valamint az olyan tételsorokat tartalmazó táblákban található, mint a BSEG vagy az ACDOCA. Példák 100000045190000001300000023 | |||
| Egyeztetési állapot ReconciliationStatus | Egy számlaegyeztetési tevékenység állapota, például „Nyitott”, „Folyamatban” vagy „Jóváhagyva”. | ||
| Leírás Ez az attribútum az adott számlához vagy feladathoz tartozó egyeztetés állapotát követi. Megmutatja, hogy az egyeztetést elkezdték-e, felülvizsgálatra benyújtották-e, jóváhagyták-e vagy elutasították-e. Az állapotváltozások fontos események a folyamatban. A „Reconciliation Rework Analysis” dashboard alapjául szolgál. Az állapotok sorrendjét elemezve azonosítható, ha a „Jóváhagyva” állapotot további helyesbítések követik, ami utómunkára utal. A „First-Pass Reconciliation Rate” KPI kiszámítását is támogatja: megmutatja, mely egyeztetéseket hagyták jóvá elutasítás vagy újbóli megnyitás nélkül. Miért fontos? Nyomon követi az egyeztetési feladatok előrehaladását és eredményét, így feltárható az utómunka, mérhető a jóváhagyási arány, és elemezhetők a szűk keresztmetszetek. Hol szerezhető be? Az adatokat általában az adott egyeztetési eszközhöz kapcsolódó táblák tárolják, például az SAP Financial Closing cockpit vagy a BlackLine SAP Account Substantiation and Automation megoldása. Példák Nincs elkezdveElőkészítés alattJóváhagyvaElutasítva | |||
| Felelős felhasználó ResponsibleUser | Annak a személynek a felhasználói azonosítója, aki végrehajtotta a tevékenységet, vagy felelős a feladatért. | ||
| Leírás Ez az attribútum azonosítja azt a munkatársat, aki elvégzett egy adott feladatot, például könyvelt egy naplóbejegyzést vagy jóváhagyott egy egyeztetést. A rendszer naplóiban és a bizonylatok fejlécében általában felhasználói azonosítóként szerepel. A felhasználók szerinti elemzés segít megérteni a munkaterhelés eloszlását, az egyéni teljesítményt és a képzési igényeket. Az erőforrás-elosztás hatékonyságát bemutató dashboard ezt az attribútumot használja a felhasználók tevékenység-feldolgozási idejének megjelenítésére. Az ismétlődő, sok felhasználó által végzett feladatok feltárásával az automatizálásra alkalmas területek azonosításában is segíthet. Miért fontos? Összekapcsolja a folyamati tevékenységeket az azokat végrehajtó munkatársakkal, így elemezhető a munkaterhelés, optimalizálhatók az erőforrások és nyomon követhető a teljesítmény. Hol szerezhető be? Gyakran megtalálható a bizonylatfejlécek tábláiban, például a BKPF táblában (USNAM mező, felhasználónév), illetve a változásdokumentumok tábláiban, például a CDHDR táblában (USERNAME mező). Példák ABROWNCSMITHDJOHNSON | |||
| Főkönyvi számlaszám GlAccountNumber | A főkönyv egy adott számlájának azonosítója. | ||
| Leírás A főkönyvi számlaszám az egyes pénzügyi tranzakciók rögzítésére használt számlákat azonosítja, például a pénzeszközök, a szállítói kötelezettségek vagy a bevételek számláit. Számos időszakzárási tevékenység, például az egyeztetés és a helyesbítő könyvelés, közvetlenül kapcsolódik egy-egy főkönyvi számlához. Ez az attribútum nélkülözhetetlen a pénzügyi folyamatok részletes elemzéséhez. Az „Adjusting Journal Entry Analysis” dashboard számlánként mutatja a helyesbítések számát, így segít feltárni a problémás területeket. Az „Avg GL Account Reconciliation Time” KPI is ezt használja az egyes számlákhoz kapcsolódó késedelmek azonosítására. Miért fontos? A folyamattevékenységeket konkrét pénzügyi számlákhoz kapcsolja. Így részletesen elemezhetők az egyeztetések és a könyvelési tételek, és feltárhatók a problémák kiváltó okai. Hol szerezhető be? A pénzügyi bizonylatok tételsoraiban található, elsősorban a BSEG táblában (HKONT mező) vagy az S/4HANA univerzális naplótáblájában, az ACDOCA-ban. Példák 113100004000000073000000 | |||
| Tervezett befejezési dátum TargetCompletionDate | Egy fontos tevékenység, például a pénzügyi kimutatások elkészítésének tervezett vagy határidőként megadott dátuma. | ||
| Leírás A tervezett befejezési dátum az időszakzárási folyamat egy adott mérföldkövéhez tartozó belső vagy külső határidő. Ez az a dátum, ameddig a feladatot el kell végezni. Az attribútum a határidők betartásának és a teljesítménynek a méréséhez szükséges. Erre épül a „Reporting Deadline Adherence” dashboard és a „Financial Statement On-Time Rate” KPI, amelyek ezt a dátumot az Miért fontos? Lehetővé teszi a határidők betartásának elemzését, és segít mérni, majd javítani a kritikus zárási tevékenységek időben történő befejezésének arányát. Hol szerezhető be? Az adat gyakran feladatkezelő vagy ütemező rendszerben található, például az SAP Financial Closing cockpitban, ahol a zárási feladatlistákhoz tervezett befejezési dátumok tartoznak. Példák 2024-01-05T23:59:59Z2024-04-04T23:59:59Z2024-07-05T23:59:59Z | |||
| Vállalatkód CompanyCode | Az SAP-szervezeten belüli jogi személy vagy vállalat egyedi azonosítója. | ||
| Leírás A Company Code a vállalaton belüli önálló számviteli egységet jelöli, amelyhez teljes, önálló számlarendszer hozható létre. Az időszakzárás minden tevékenysége Company Code szinten történik. A pénzügyi elemzés egyik alapvető szervezeti dimenziója. A process mining segítségével összehasonlítható, hogyan zajlik az időszakzárás a különböző jogi személyeknél. A „Period Close Variant Analysis” dashboard a Company Code alapján tárja fel az eltéréseket, és támogatja a zárási eljárások egységesítését. Miért fontos? Fontos szervezeti kontextust ad: lehetővé teszi a különböző jogi személyek folyamatainak összehasonlítását, valamint az eltérések és a bevált gyakorlatok feltárását. Hol szerezhető be? Az SAP pénzügyi tábláinak szinte mindegyikében megtalálható, különösen a BKPF fejléc táblában (BUKRS mező). Példák 10001710US01DE01 | |||
| Automatizált IsAutomated | Logikai jelző, amely megmutatja, hogy a tevékenységet rendszerfelhasználó vagy automatizált folyamat végezte-e. | ||
| Leírás Ez a jelző különbözteti meg a felhasználó által manuálisan végzett feladatokat a rendszer által automatikusan végrehajtottaktól, például az ütemezett devizaértékelési kötegelt feladatoktól vagy az automatikus kiegyenlítési futásoktól. Az érték jellemzően a Az attribútum segít felmérni az időszakzárási folyamat automatizáltságát. A nagy volumenű manuális feladatok megmutatásával feltárja a további automatizálás lehetőségeit. A kiváltó okok elemzésekor azt is megmutatja, hogy a szűk keresztmetszetek manuális vagy automatizált lépéseknél jelentkeznek-e. Miért fontos? Megkülönbözteti az emberi és a rendszer által végzett tevékenységeket. Ez segít feltárni az automatizálási lehetőségeket, és külön elemezni mindkettő hatékonyságát. Hol szerezhető be? Származtatott attribútum, amelyet gyakran a „ResponsibleUser” mezőre alkalmazott szabály alapján határoznak meg, például rendszer- vagy kötegelt felhasználói azonosítók („BATCHUSER”) keresésével, illetve a tranzakciókód alapján. Példák truefalse | |||
| Bizonylat összege DocumentAmount | A pénzügyi könyvelés teljes összege a bizonylat pénznemében. | ||
| Leírás Ez az attribútum a pénzügyi bizonylathoz tartozó pénzösszeget jelöli. Az időszak végi helyesbítéseknél például az elhatárolás vagy a könyvelt korrekció összegét mutathatja. Az összeg elemzése segít a lényegesség megítélésében. Az elemzők előre vehetik a nagy összegű helyesbítő tételek vizsgálatát, amelyek nagyobb pénzügyi kockázatot jelenthetnek. A folyamattérkép egy adott értékhatár feletti tranzakciókra is szűrhető, így a nézet a legjelentősebb tevékenységekre összpontosít. Miért fontos? Pénzügyi dimenzióval egészíti ki az elemzést, így a problémák pénzügyi hatásuk és lényegességük alapján rangsorolhatók. Hol szerezhető be? Az értéket általában a tételsorokat tartalmazó táblákból, például a BSEG-ből vagy az ACDOCA-ból kell összesíteni (WRBTR mező, összeg a bizonylat pénznemében). Példák 15000.00250.75-500.00 | |||
| Bizonylat pénzneme DocumentCurrency | A pénzügyi bizonylat összegeinek pénznemkódja. | ||
| Leírás Ez az attribútum jelzi, milyen pénznemben rögzítették a tranzakciót, például USD, EUR vagy JPY. A A több országban működő szervezeteknél fontos lehet a pénznem szerinti elemzés. Így az összegek helyesen értelmezhetők, és az összesített elemzéshez egyetlen jelentési pénznemre válthatók át. E kontextus nélkül a Miért fontos? Megadja a pénzösszegek értelmezéséhez szükséges kontextust, különösen akkor, ha több pénznem szerepel az adatokban. Hol szerezhető be? A pénzügyi bizonylatok BKPF fejléc táblájában található (WAERS mező). Példák USDEURJPY | |||
| Forrásrendszer SourceSystemId | Annak az SAP S/4HANA-példánynak vagy kliensnek az azonosítója, amelyből az adatokat kinyerték. | ||
| Leírás Ez az attribútum megadja az adatok forrásrendszerét. Több SAP-példányt használó környezetben, például különböző régiók vagy üzleti egységek esetén, ez a mező segít megkülönböztetni az adatforrásokat. Elsősorban adatirányításra, auditálásra és az adatok sértetlenségének biztosítására használják. Az elemzésben szűrőként is alkalmazható a különböző forrásrendszerek folyamatainak összehasonlításához, ha az adatokat egyetlen process mining modellben egyesítik. Miért fontos? Segít nyomon követni az adatok eredetét és megérteni a hátterüket, különösen több rendszert használó környezetben. Hol szerezhető be? Ez általában az adatkinyerés során hozzáadott metaadat, amelyet gyakran az SAP rendszerazonosítójából (SY-SYSID) vagy kliensazonosítójából (SY-MANDT) vesznek át. Példák S4H_PROD_100S4H_QAS_200ECC_LEGACY_001 | |||
| Határidőre teljesült IsOnTime | Logikai jelző, amely akkor igaz, ha egy mérföldkő a tervezett dátumon vagy az előtt befejeződött. | ||
| Leírás Ez az attribútum egyszerű, kétértékű eredményt ad a határidő betartásáról. Egy adott mérföldkő, például a pénzügyi kimutatások jóváhagyása esetén az Ez a „Financial Statement On-Time Rate” KPI alapja. A dátumok összehasonlítását egyértelmű „határidőre” vagy „késve” állapottá alakítja, amely dashboardokon és jelentésekben könnyen megjeleníthető. Segít mérni, mennyire eredményesek a zárás felgyorsítását célzó kezdeményezések. Miért fontos? A határidő-betartás elemzését egyértelmű, sikeres vagy sikertelen eredménnyé egyszerűsíti, így könnyen nyomon követhető és jelenthető az időben történő teljesítés. Hol szerezhető be? Számított mező: Példák truefalse | |||
| Időszakzárási ciklusidő PeriodCloseCycleTime | A pénzügyi időszak első tevékenységétől az utolsóig eltelt teljes idő. | ||
| Leírás Ez a mutató egyetlen eset (Financial Period) teljes időszakzárási folyamatának időtartamát jelzi. Az adott időszak első és utolsó tevékenységének időbélyege közötti különbségként számítható ki. Ez az egyik elsődleges teljesítménymutató. Közvetlenül támogatja a „Period Close Cycle Time Overview” dashboardot és az „Average Period Close Cycle Time” KPI-t. Átfogó képet ad a zárási folyamat hatékonyságáról és sebességéről, így az eredmények időben, illetve a különböző Company Code-ok között is összehasonlíthatók. Miért fontos? A teljes folyamat időtartamának elsődleges KPI-ja, amely lehetővé teszi a hatékonyság javulásának hosszú távú nyomon követését. Hol szerezhető be? Esetszinten számítva: minden Példák P5D10H30MP7D2HP6D | |||
| Könyvelési tétel típusa JournalEntryType | A könyvelt pénzügyi bizonylat típusa, amely megkülönbözteti a normál könyveléseket, az elhatárolásokat és a helyesbítéseket. | ||
| Leírás A könyvelési tétel típusa, az SAP szóhasználatában a bizonylattípus, a számviteli bizonylatokat osztályozó kulcs. Meghatározza, hogy a bizonylat milyen számlatípusokra könyvelhető, és megkülönbözteti az üzleti tranzakciókat, például a szállítói számlát (KR), a főkönyvi könyvelést (SA) vagy a vevői befizetést (DZ). Az időszakzárás során ez az attribútum segít elkülöníteni az egyes tevékenységtípusokat. Az elemzők például a helyesbítő könyvelési tételekre szűrhetnek az „Adjusting Journal Entry Analysis” dashboard és az „Adjusting Journal Entries Count” KPI használatához. Az attribútum a „Manual Postings Ratio” kiszámításában is segít. Miért fontos? Osztályozza a pénzügyi tranzakciókat, így az elemzés egyes könyveléstípusokra, például a manuális helyesbítésekre összpontosíthat, amelyek fontosak a gördülékeny időszakzáráshoz. Hol szerezhető be? Az SAP pénzügyi bizonylatainak BKPF fejléc táblájában található szabványos mező (BLART mező). Példák SAKRAB | |||
| Tényleges befejezési dátum ActualCompletionDate | Az a tényleges dátum, amikor egy fontos tevékenység vagy a teljes időszakzárás befejeződött. | ||
| Leírás Ez az attribútum egy fontos mérföldkő tényleges befejezési dátumát rögzíti. Ez lehet például a pénzügyi kimutatások végső jóváhagyásának vagy a könyvelési időszak lezárásának időpontja. A Miért fontos? Megadja a mérföldkövek tényleges időpontját, így mérhető a tervezett határidőkhöz viszonyított teljesítmény, és elemezhetők a késedelmek. Hol szerezhető be? A sorozat utolsó tevékenységének EventTime értékéből származik, például a „Financial Statements Approved” vagy a „Period Closed For Posting” eseményből. Példák 2024-01-06T10:00:00Z2024-04-05T17:00:00Z2024-07-04T11:00:00Z | |||
| Tranzakciókód TransactionCode | A tevékenység végrehajtásához használt SAP-tranzakciókód (T-code). | ||
| Leírás A tranzakciókód egy adott SAP-funkció vagy -program indítására szolgáló parancsikon. Például az FB01 bizonylat könyvelésére, az FAGLB03 pedig főkönyvi számlaegyenlegek megjelenítésére használható. A T-code gyakran egyértelműen jelzi, milyen tevékenység történt. Ez az attribútum segít meghatározni a folyamatmodell tevékenységeit. Megbízhatóan különbözteti meg a manuális és az automatizált tevékenységeket, és megmutatja, hogyan végezték el a feladatot a rendszerben. A T-code-ok elemzésével feltárhatók a nem szabványos vagy nem hatékony munkamódszerek. Miért fontos? Rendszerszintű, technikai képet ad a tevékenység végrehajtásáról. Segít megkülönböztetni a manuális és az automatizált lépéseket, valamint feltárni a nem szabványos eljárásokat. Hol szerezhető be? A pénzügyi bizonylatok BKPF fejléc táblájában (TCODE mező) vagy a módosítási naplókban található. Példák FB01FAGL_FCVF.13 | |||
| Utolsó adatfrissítés LastDataUpdate | Az az időbélyeg, amely megmutatja, mikor frissítették vagy nyerték ki utoljára az adatokat a forrásrendszerből. | ||
| Leírás Ez az attribútum rögzíti a legutóbbi adatkinyerés dátumát és időpontját. Megmutatja, mennyire frissek a process mining eszközben elemzett adatok. Elsősorban adatirányítási és tájékoztatási célokat szolgál. A dashboardot megtekintők ellenőrizhetik, mennyire aktuális az elemzés. Ez különösen fontos a közel valós idejű nyomon követést biztosító dashboardoknál, például az aktuális időszaki zárás állapotánál. Segít megállapítani, hogy a mai, a tegnapi vagy a múlt heti adatokat látják-e. Miért fontos? Tájékoztatja a felhasználókat az adatok frissességéről, így megítélhetik, mennyire aktuálisak a folyamatelemzés eredményei. Hol szerezhető be? Az adatkinyerő vagy ETL-eszköz által a végrehajtáskor létrehozott és az adatkészlethez rendelt metaadat. Példák 2024-06-10T08:00:00Z2024-06-09T08:00:00Z | |||
| Utómunkával járó egyeztetés IsReconciliationRework | Logikai jelző, amely akkor igaz, ha egy egyeztetési tevékenységet elutasítás vagy további helyesbítés követ. | ||
| Leírás Ez a számított attribútum azonosítja az egyeztetési alfolyamatban végzett utómunkát. Megjelöli azokat a tevékenységeket vagy eseteket, amelyeknél az egyeztetést elutasítják, benyújtás után újra megnyitják, vagy a főkönyvi számla egyeztetésének lezárása után helyesbítő tételeket könyvelnek. A jelző a „Reconciliation Rework Analysis” dashboard és a „Reconciliation Rework Rate” KPI alapjául szolgál. Az összetett folyamatsorozatokat egyszerűen mérhető attribútummá alakítja, amely számszerűsíti az utómunka mértékét, és segít a csapatoknak az elsőre megfelelő teljesítés javítására összpontosítani. Miért fontos? Közvetlenül számszerűsíti az utómunkát, a folyamat hatékonytalanságának egyik fontos formáját. Így célzottan elemezhető és javítható az egyeztetések minősége. Hol szerezhető be? A tevékenységek sorrendje alapján számítható ki. A jelző például akkor kap igaz értéket, ha ugyanabban az időszakban és ugyanahhoz a főkönyvi számlához a „Reconciliation Approved” eseményt az „Adjusting Journal Entry Posted” követi. Példák truefalse | |||
A Record to Report időszakzárási és egyeztetési folyamatának tevékenységei
| Tevékenység | Leírás | ||
|---|---|---|---|
| Főkönyvi számla egyeztetése jóváhagyva | Ez a tevékenység a főkönyvi számla egyeztetésének végső jóváhagyását jelzi. Megerősíti, hogy az egyenleg alá van támasztva, és minden problémát rendeztek. Az esemény az egyeztető eszköz „Jóváhagyva” állapotából következtethető ki. | ||
| Miért fontos? Ez a mérföldkő egy fontos kontrolltevékenység befejezését jelzi. A jóváhagyási idők nyomon követése segít feltárni az ellenőrzési folyamat szűk keresztmetszeteit, és szükséges az ismételt munka, valamint az elsőre sikeres teljesítés méréséhez. Hol szerezhető be? Az esemény egy egyeztetéskezelő rendszerből, például az SAP Account Substantiation and Automation megoldásból olvasható ki a végső jóváhagyási állapot időbélyegének követésével. Rögzítés Azonosítsa azt az időbélyeget, amikor az egyeztetés állapotmezője a végleges „Jóváhagyva” értékre változik. Eseménytípus inferred | |||
| Főkönyvi számla egyeztetése megkezdődött | A főkönyvi számlaegyenlegek alátámasztására szolgáló manuális vagy részben automatizált folyamat kezdetét jelzi. Az esemény abból következtethető ki, hogy az egyeztetés állapota „Új” értékről „Folyamatban” értékre változik, vagy naplózzák az előkészítő első műveletét. | ||
| Miért fontos? Ez fontos mérföldkő a mérlegszámlák alátámasztásához szükséges idő és munka megértésében. Segít feltárni, mely számlák vagy részlegek kezdik későn az egyeztetést. Hol szerezhető be? Az esemény általában egy külön egyeztető eszközből, például a BlackLine SAP Account Substantiation and Automation megoldásából vagy más külső rendszerből olvasható ki. Az esemény az állapotváltozás időbélyegéből következtethető ki. Rögzítés Kövesse nyomon az adott főkönyvi számla egyeztetésénél a „Nincs elkezdve” állapotból történő első állapotváltozás időbélyegét. Eseménytípus inferred | |||
| Helyesbítő naplóbejegyzés könyvelése | Az első egyeztetések után rögzített helyesbítő naplóbejegyzést jelzi, amely általában az ellenőrzés során feltárt eltéréseket rendezi. Ez egy konkrét, főkönyvbe könyvelt tranzakció. | ||
| Miért fontos? A helyesbítő tételek gyakori előfordulása arra utal, hogy a megelőző folyamatok vagy egyeztetések elsőre nem megfelelő minőségűek. Ezek elemzésével feltárhatók a hibák kiváltó okai és csökkenthető az ismételt munka. Hol szerezhető be? A tételek konkrét dokumentumként szerepelnek az ACDOCA és BKPF táblákban. Dokumentumtípus, a zárási ciklus végéhez közeli könyvelési dátum vagy meghatározott szövegleírás alapján azonosíthatók. Rögzítés Szűrje a BKPF naplóbejegyzéseit a dokumentumtípus és az egyeztetési tevékenységekhez viszonyított könyvelési dátum kombinációja alapján. Eseménytípus explicit | |||
| Időszak lezárása könyvelésre | Ez a ciklus utolsó tevékenysége: a könyvelési időszakot hivatalosan lezárják, hogy ne lehessen további tranzakciókat rögzíteni. Ezzel biztosítható a végleges pénzügyi beszámolók adatainak sértetlensége. | ||
| Miért fontos? Ez a tevékenység a folyamat egyértelmű záró eseménye. Szükséges a teljes időszaki zárási ciklusidő kiszámításához és a folyamat befejezésére vonatkozó trendek elemzéséhez. Hol szerezhető be? Az időszak megnyitásához hasonlóan ez az esemény a T001B könyvelési időszakokat vezérlő táblát az OB52 tranzakción keresztül módosító változásdokumentumokból (CDHDR és CDPOS táblák) olvasható ki. Rögzítés Szűrje a T001B táblához tartozó változásnaplókat a megfelelő üzleti év és időszak lezárásának azonosításához. Eseménytípus explicit | |||
| Időszak megnyitása könyvelésre | Ez jelzi a pénzügyi időszak kezdetét, amikor megnyitják a könyvelési időszakot a tranzakciók rögzítéséhez. Az SAP-ban egy pénzügyi adminisztrátor által végrehajtott, naplózott konfigurációmódosítás teszi lehetővé az új időszak naplóbejegyzéseinek rögzítését. | ||
| Miért fontos? Ez a tevékenység az időszak végi zárási folyamat elsődleges kezdő eseménye. Segítségével pontosan mérhető a teljes ciklusidő, és egyértelműen kijelölhető a folyamatelemzés kezdőpontja. Hol szerezhető be? Az esemény a T001B könyvelési időszakokat vezérlő táblát módosító változásdokumentumokból (CDHDR és CDPOS táblák) olvasható ki. A módosítást általában az OB52 tranzakcióval hajtják végre. Rögzítés Szűrje a T001B táblához tartozó változásnaplókat a megfelelő üzleti év és időszak alapján. Eseménytípus explicit | |||
| Pénzügyi kimutatások elkészültek | Ez a tevékenység a hivatalos pénzügyi kimutatások, például a mérleg és az eredménykimutatás elkészítését jelzi. Ezzel zárul az időszak végi könyvelési és konszolidációs folyamat. | ||
| Miért fontos? Ez fontos mérföldkő a főkönyvi ciklusban. Időzítése meghatározó a beszámolási határidők betartásához és ahhoz, hogy az érintettek időben megkapják az információkat. Hol szerezhető be? Az esemény legpontosabban egy pénzügyi záráskezelő eszközből, például az SAP Financial Closing Cockpit rendszerből olvasható ki, ahol külön feladatként szerepel. Ennek hiányában a jelentéskészítési naplókból vagy a fájlok létrehozási időbélyegéből kell következtetni rá. Rögzítés Kövesse nyomon a „Pénzügyi kimutatások elkészítése” feladat befejezési állapotát a zárási eszközben, vagy elemezze a jelentésfuttatások naplóit. Eseménytípus inferred | |||
| Vállalatközi egyeztetés megkezdődött | Ez a tevékenység jelzi az azonos vállalatcsoporthoz tartozó vállalatkódok közötti tranzakciók párosításának és egyeztetésének kezdetét. Gyakran egy egyeztetési feladat futtatásával vagy egy új egyeztetési eset létrehozásával indítják el az SAP ICMR eszközében. | ||
| Miért fontos? A vállalatközi egyeztetés gyakran összetett és időigényes. Időtartamának és folyamatának elemzése segít egyszerűsíteni a csoportszintű zárást és biztosítani az összevont pénzügyi adatok pontosságát. Hol szerezhető be? Az esemény az SAP Intercompany Matching and Reconciliation (ICMR) moduljában bekövetkező állapotváltozásokból, illetve az adott időszak első egyeztetési dokumentumának létrehozásából következtethető ki. Rögzítés Kövesse nyomon az adott időszak ICMR-eszközében szereplő egyeztetési egységek létrehozási dátumát vagy állapotváltozásának időbélyegét. Eseménytípus inferred | |||
| Automatikus kiegyenlítési futtatás végrehajtva | Az SAP automatikus kiegyenlítő programjainak, például a GR/IR (árubeérkezés/számlabeérkezés) kiegyenlítési futtatásának végrehajtását jelzi. Ezek a feladatok meghatározott főkönyvi számlák nyitott tételeit párosítják és egyenlítik ki, csökkentve a manuális egyeztetési munkát. | ||
| Miért fontos? Ez a tevékenység megmutatja, milyen mértékben automatizált az egyeztetési folyamat. A futtatások hibái vagy kivételei jelentős manuális munkához és késedelmekhez vezethetnek. Hol szerezhető be? Az esemény az automatikus kiegyenlítéshez használt F.13 vagy F.13E tranzakciókhoz hasonló kötegelt feladatok végrehajtási naplóiból olvasható ki. A TBTCO és TBTCP feladatnapló-táblák tartalmazzák a végrehajtás részleteit. Rögzítés Az SAP feladatnaplóiban kövesse nyomon az F.13-hoz hasonló tranzakciókhoz kapcsolódó feladatok kezdési és befejezési időbélyegét. Eseménytípus explicit | |||
| Devizaátértékelés futtatása | Ez egy szokásos hónap végi eljárás, amelynek során a nyitott tételeket és a devizaegyenlegeket az időszak végi árfolyamok alapján átértékelik. A program végrehajtásakor könyvelik az ebből eredő értékelési különbözeteket. | ||
| Miért fontos? Ez biztosítja a számviteli standardoknak való megfelelést és a pénzügyi helyzet pontos bemutatását. A tevékenység nyomon követésével ellenőrizhető, hogy minden devizaátértékelés időben megtörtént-e. Hol szerezhető be? Az esemény a devizaátértékelő program, például a FAGL_FCV végrehajtási naplóiból olvasható ki. A feladat részleteit a TBTCO és TBTCP táblák tárolják. Rögzítés Kövesse nyomon a FAGL_FCV tranzakcióhoz vagy az azt végrehajtó programhoz kapcsolódó feladatok naplóit. Eseménytípus explicit | |||
| Elhatárolások és céltartalékok könyvelése | Ez az esemény az időbeli elhatárolásokhoz és más céltartalékokhoz kapcsolódó manuális naplóbejegyzések létrehozását rögzíti. Ezekre az eredményszemléletű számvitel szerinti pontos pénzügyi beszámoláshoz van szükség. A főkönyvbe könyvelt, konkrét tranzakciókról van szó. | ||
| Miért fontos? Ezeknek a könyveléseknek a nyomon követésével elemezhető a manuális helyesbítések mennyisége és időzítése. A nagy mennyiség automatizálási vagy a megelőző folyamatokat érintő fejlesztési lehetőségekre utalhat. Hol szerezhető be? A tételek konkrét naplóbejegyzésként szerepelnek az ACDOCA univerzális napló táblában és a BKPF fejléc táblában. Az elhatárolásokhoz beállított dokumentumtípusok alapján azonosíthatók. Rögzítés Szűrje a BKPF táblában szereplő dokumentumokat dokumentumtípus (például „SA” vagy egyéni típusok) és az időszakon belüli könyvelési dátum alapján. Eseménytípus explicit | |||
| Főkönyvi alrendszerek adatátadása befejeződött | Azt jelzi, hogy befejeződtek azok a kötegelt feladatok, amelyek az összesített adatokat a vevői, szállítói és eszköznyilvántartási alrendszerekből a főkönyvbe továbbítják. Így a zárási eljárások megkezdése előtt minden kapcsolódó működési tranzakció megjelenik a főkönyvben. | ||
| Miért fontos? Az alrendszerek zárásának késedelme jelentős szűk keresztmetszetet okozhat a teljes folyamatban. Ennek a tevékenységnek a nyomon követésével feltárhatók a forrásrendszerekből történő adatgyűjtés és -integráció problémái. Hol szerezhető be? Az esemény a főkönyvi elszámolásért és adatátadásért felelős kötegelt feladatok sikeres befejezési állapotából következtethető ki. A feladatnaplók a TBTCO és TBTCP táblákban találhatók. Rögzítés Az SAP feladatáttekintőjében (SM37 tranzakció) azonosítsa és kövesse nyomon a releváns kötegelt feladatok befejezési időbélyegeit. Eseménytípus explicit | |||
| Főkönyvi kivonat elkészült | Azt jelzi, hogy elkészült és ellenőrzésre elmentették a főkönyvi kivonatot. Ez fontos ellenőrzési pont a végleges pénzügyi kimutatások elkészítése előtt. Az esemény rögzítése gyakran attól függ, hogy mentik-e a jelentés kimenetét. | ||
| Miért fontos? A főkönyvi kivonat elkészítése fontos minőségellenőrzési pont. Az időzítés elemzésével felmérhető, mennyire áll készen a folyamat a végleges beszámolásra, és feltárhatók a megelőző tevékenységek késedelmei. Hol szerezhető be? Ez gyakran nem önálló, közvetlenül rögzített esemény. Egy adott jelentéskészítő tranzakció végrehajtásából következtethető ki, ha a változatokat felhasználóval és dátummal együtt mentik, vagy ha a folyamatot például az SAP Financial Closing Cockpit eszközben kezelik. Rögzítés Rendszerelemzés szükséges annak megállapításához, hogy rendelkezésre áll-e megbízható naplózási megoldás, például a jelentésfuttatások naplója vagy a zárási cockpit feladatlistája. Eseménytípus inferred | |||
| Konszolidációs feladatok végrehajtva | Az SAP Group Reporting rendszerben végrehajtott konszolidációs tevékenységeket jelzi, például a devizaátváltást, az átsorolást és a vállalatközi nyereség kiszűrését. Ezeket a feladatokat általában a konszolidációs monitorban kezelik és naplózzák. | ||
| Miért fontos? Több jogi személlyel működő szervezeteknél a konszolidáció a zárás kritikus útvonalának része. A feladatok nyomon követése segít egyszerűsíteni a csoportszintű zárást és időben elkészíteni az összevont beszámolót. Hol szerezhető be? Az esemény az SAP S/4HANA Group Reporting adatmonitorának vagy konszolidációs monitorának állapotnaplóiból olvasható ki. Minden feladathoz általában felhasználó, időbélyeg és állapot tartozik. Rögzítés Nyerje ki a feladat-végrehajtási naplókat a Group Reporting konszolidációs monitorának alapjául szolgáló táblákból. Eseménytípus explicit | |||
| Pénzügyi kimutatások jóváhagyva | Azt jelzi, hogy a közzététel előtt a felhatalmazott vezetők véglegesen jóváhagyták a pénzügyi kimutatásokat. Ez gyakran offline folyamat, de rögzíthető, ha van hivatalos digitális jóváhagyási lépés. | ||
| Miért fontos? Ez az utolsó minőségellenőrzési és kontrollpont. Időzítésének követése segít megérteni, hogy a szervezet betartja-e a beszámolási határidőket, és mennyire hatékony a vezetői ellenőrzési ciklus. Hol szerezhető be? Az esemény akkor rögzíthető, ha a kimutatások jóváhagyásához munkafolyamat vagy állapotmező tartozik, például az SAP Financial Closing Cockpit rendszerben vagy egy dokumentumkezelő rendszerben. Rögzítés Azonosítsa azt az adatmezőt és időbélyeget, amely a pénzügyi kimutatáscsomag végső jóváhagyását jelzi. Eseménytípus inferred | |||
Adatkinyerési útmutatók
Lépések
- CDS-nézetek azonosítása és ellenőrzése: Jelentkezzen be az SAP S/4HANA rendszerbe az SAP HANA Studio vagy az ADT-vel kiegészített Eclipse használatával. Az ABAP Development Tools segítségével keresse meg és ellenőrizze a lekérdezésben említett szabványos CDS-nézeteket, például az I_JournalEntryItem, az I_BatchJob és az I_ConsolidationTaskLog nézetet. Az olyan folyamatokhoz, mint a számlaegyeztetés, egyéni CDS-nézeteket is létre kell hoznia, például a Z_I_ACCOUNTRECONCILIATION nézetet, hogy rögzíthesse az állapotváltozásokat.
- CDS-nézetek közzététele OData-n keresztül: Az SAP háttérrendszerében a
SEGWtranzakcióval (Gateway Service Builder) hozzon létre új projektet. Kattintson jobb gombbal a Data Model mappára, majd válassza a „Reference -> Data Source” lehetőséget. Adja hozzá a szükséges CDS-nézeteket. Hozza létre a futásidejű objektumokat, hogy a nézeteket külső felhasználásra elérhetővé tevő OData-szolgáltatás jöjjön létre. - Az OData-szolgáltatás aktiválása: Az SAP Gateway hubon nyissa meg a
/IWFND/MAINT_SERVICEtranzakciót. Kattintson az „Add Service” lehetőségre, keresse meg az előző lépésben létrehozott szolgáltatást, majd adja hozzá. Ezzel aktiválja a szolgáltatást, és lekérdezhetővé teszi. - Adatkapcsolat létrehozása: A választott adatkinyerő eszközzel, például Pythonnal, Power BI-jal vagy egy dedikált ETL-platformmal csatlakozzon az új OData-szolgáltatáshoz. Szüksége lesz a szolgáltatás URL-jére és a CDS-nézetek elérésére jogosult hitelesítő adatokra.
- A lekérdezés módosítása és futtatása: Másolja le a megadott SQL-lekérdezést. Módosítsa a dátumtartományokra, vállalatkódokra, valamint az egyéni CDS-nézetekre vagy kötegelt feladatokra vonatkozó helyőrzőket úgy, hogy megfeleljenek az SAP-környezetének. Futtassa a lekérdezést az OData-szolgáltatás végpontján. Az OData eltérő szintaxist használ (
$filter,$select), ezért előfordulhat, hogy a UNION ALL lekérdezés logikáját több külön API-hívásra kell átírnia, tevékenységenként egyre. - Tevékenységadatok egyesítése: Az OData általában nem támogatja a bonyolult UNION ALL lekérdezések közvetlen, egyetlen hívásban történő futtatását. Ezért a lekérdezés minden tevékenységblokkjához külön kérést kell küldenie. Az összes kérés eredményét egyesítse egyetlen adathalmazba vagy táblába a klienseszközében.
- Adatok átalakítása és tisztítása: Ellenőrizze az egyesített adatokat. Gondoskodjon róla, hogy az
EventTimeés azEndTimeoszlopok egységes időbélyeg-formátumot használjanak. Ellenőrizze, hogy aFinancialPeriodformátuma megfelelő-e, például „YYYY-MM”. Szükség esetén kezelje aResponsibleUservagy aDocumentNumberoszlop NULL értékeit. - Exportálás eseménynaplóként: Exportálja a végleges, egyesített adathalmazt CSV-fájlba. Ellenőrizze, hogy az oszlopfejlécek megfelelnek-e a szükséges attribútumoknak:
FinancialPeriod,ActivityName,EventTime,EndTime,ResponsibleUserstb. A fájl készen áll a ProcessMindbe való feltöltésre.
Konfiguráció
- CDS-nézetek: A lekérdezés szabványos és egyéni CDS-nézetek kombinációjára épül. A szabványos nézetek, például az
I_JournalEntryItem(naplóbejegyzésekhez) és azI_BatchJob(automatizált futtatásokhoz), elengedhetetlenek. Az olyan egyéni nézetekre, mint aZ_I_ACCOUNTRECONCILIATION, gyakran szükség van a szabványos nézetekben nem szereplő belső folyamatok állapotának rögzítéséhez. - Dátumtartomány: Az adatmennyiség kezelése érdekében határozzon meg egy konkrét adatkinyerési időszakot. A lekérdezés
[Start Date]és[End Date]helyőrzőket használ, amelyeknek általában 3–6 teljes pénzügyi időszakot kell lefedniük az érdemi elemzéshez. - Fontos szűrők: A szűrés a teljesítmény és a relevancia szempontjából is lényeges. Mindig szűrjön a
CompanyCodemezőre. További fontos szűrők aLedger(például „0L” a vezető főkönyvhöz), aFiscalYearés az egyesDocumentTypeértékek, amelyekkel megkülönböztethetők a szokásos könyvelések, az elhatárolások és a korrekciók. - Előfeltételek: Az adatkinyerést végző felhasználónak SAP-jogosultságra van szüksége a megadott CDS-nézetek eléréséhez és az OData-szolgáltatások futtatásához, például az
S_SERVICEés azS_RFCjogosultsági objektumokhoz. Az SAP Gateway-szolgáltatásokat be kell állítani és aktiválni kell. - Teljesítmény: Az
I_JournalEntryItemlekérdezése jelentős terhelést okozhat. Mindig használjon célzott szűrőket, különösen a dátumokra, a vállalatkódokra és a főkönyvekre. Érdemes csúcsidőn kívül futtatni az adatkinyerést, vagy folyamatos megfigyeléshez növekményes betöltést alkalmazni.
Példa-lekérdezés sql
SELECT
CONCAT(CAST(PostingDate AS DATE FORMAT 'YYYY'), '-', CAST(PostingDate AS DATE FORMAT 'MM')) AS FinancialPeriod,
'Period Opened For Posting' AS ActivityName,
CAST(CreationDateTime AS TIMESTAMP) AS EventTime,
CAST(CreationDateTime AS TIMESTAMP) AS EndTime,
CreatedByUser AS ResponsibleUser,
CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
0 AS ProcessingTime
FROM I_FinPostingPeriodControl -- This is a proxy; this activity is a configuration change often found in change logs (CDHDR/CDPOS for table T001B)
WHERE PostingPeriodVariant = '[Your Variant]' AND FiscalYear = '[Your Fiscal Year]' AND FromPostingPeriod = 1 AND AuthorizationGroup IS NOT NULL -- Logic to detect the opening event
UNION ALL
SELECT
CONCAT(SUBSTRING(JobName, STRPOS(JobName, '_') + 1, 4), '-', SUBSTRING(JobName, STRPOS(JobName, '_') + 5, 2)) AS FinancialPeriod, -- Infer period from Job Name if patterned, otherwise use job start date
'Subledger Data Transfer Completed' AS ActivityName,
CAST(JobStartDate || JobStartTime AS TIMESTAMP) AS EventTime,
CAST(JobEndDate || JobEndTime AS TIMESTAMP) AS EndTime,
JobCreatedByUser AS ResponsibleUser,
'[Configure based on your system]' AS CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
SECONDS_BETWEEN(CAST(JobStartDate || JobStartTime AS TIMESTAMP), CAST(JobEndDate || JobEndTime AS TIMESTAMP)) AS ProcessingTime
FROM I_BatchJob
WHERE JobName LIKE '[Subledger Job Prefix]%' AND JobStatus = 'F' -- 'F' for Finished
AND JobEndDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(CAST(CreationDate AS DATE FORMAT 'YYYY'), '-', CAST(CreationDate AS DATE FORMAT 'MM')) AS FinancialPeriod,
'Intercompany Reconciliation Started' AS ActivityName,
CAST(CreationDateTime AS TIMESTAMP) AS EventTime,
NULL AS EndTime,
CreatedByUser AS ResponsibleUser,
LeadingCompanyCode AS CompanyCode,
NULL AS GlAccountNumber,
ReconciliationCase AS DocumentNumber,
ReconciliationCaseStatus AS ReconciliationStatus,
NULL AS TargetCompletionDate,
NULL AS ProcessingTime
FROM I_ICRcnCase -- Part of SAP S/4HANA for group reporting
WHERE CreationDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(FiscalYear, '-', LPAD(FiscalPeriod, 2, '0')) AS FinancialPeriod,
'Accruals And Provisions Posted' AS ActivityName,
CAST(CreationDateTime AS TIMESTAMP) AS EventTime,
CAST(CreationDateTime AS TIMESTAMP) AS EndTime,
CreatedByUser AS ResponsibleUser,
CompanyCode,
GLAccountNumber,
AccountingDocument AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
0 AS ProcessingTime
FROM I_JournalEntryItem
WHERE DocumentType IN ('[Accrual Doc Type 1]', '[Accrual Doc Type 2]') -- e.g., 'SA', 'AC'
AND PostingDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(SUBSTRING(JobName, STRPOS(JobName, '_') + 1, 4), '-', SUBSTRING(JobName, STRPOS(JobName, '_') + 5, 2)) AS FinancialPeriod,
'Automated Clearing Run Executed' AS ActivityName,
CAST(JobStartDate || JobStartTime AS TIMESTAMP) AS EventTime,
CAST(JobEndDate || JobEndTime AS TIMESTAMP) AS EndTime,
JobCreatedByUser AS ResponsibleUser,
'[Configure based on your system]' AS CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
SECONDS_BETWEEN(CAST(JobStartDate || JobStartTime AS TIMESTAMP), CAST(JobEndDate || JobEndTime AS TIMESTAMP)) AS ProcessingTime
FROM I_BatchJob
WHERE JobName LIKE 'SAPF124%' AND JobStatus = 'F'
AND JobEndDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(SUBSTRING(JobName, STRPOS(JobName, '_') + 1, 4), '-', SUBSTRING(JobName, STRPOS(JobName, '_') + 5, 2)) AS FinancialPeriod,
'Foreign Currency Valuation Run' AS ActivityName,
CAST(JobStartDate || JobStartTime AS TIMESTAMP) AS EventTime,
CAST(JobEndDate || JobEndTime AS TIMESTAMP) AS EndTime,
JobCreatedByUser AS ResponsibleUser,
'[Configure based on your system]' AS CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
SECONDS_BETWEEN(CAST(JobStartDate || JobStartTime AS TIMESTAMP), CAST(JobEndDate || JobEndTime AS TIMESTAMP)) AS ProcessingTime
FROM I_BatchJob
WHERE JobName LIKE 'FAGL_FCV%' AND JobStatus = 'F'
AND JobEndDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
-- This activity often requires a custom view on a custom table or an add-on like SAP Account Substantiation and Automation.
-- The following is a placeholder for such a custom view.
SELECT
CONCAT(FiscalYear, '-', LPAD(FiscalPeriod, 2, '0')) AS FinancialPeriod,
'Account Reconciliation Started' AS ActivityName,
CAST(ChangedAt AS TIMESTAMP) AS EventTime,
NULL AS EndTime,
ChangedBy AS ResponsibleUser,
CompanyCode,
GLAccountNumber,
ReconciliationID AS DocumentNumber,
'In Progress' AS ReconciliationStatus,
PlannedCompletionDate AS TargetCompletionDate,
NULL AS ProcessingTime
FROM Z_I_ACCOUNTRECONCILIATION -- Placeholder for your custom reconciliation status view
WHERE Status = 'IN_PROGRESS' AND OldStatus = 'NEW'
AND ChangeDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(FiscalYear, '-', LPAD(FiscalPeriod, 2, '0')) AS FinancialPeriod,
'Adjusting Journal Entry Posted' AS ActivityName,
CAST(CreationDateTime AS TIMESTAMP) AS EventTime,
CAST(CreationDateTime AS TIMESTAMP) AS EndTime,
CreatedByUser AS ResponsibleUser,
CompanyCode,
GLAccountNumber,
AccountingDocument AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
0 AS ProcessingTime
FROM I_JournalEntryItem
WHERE DocumentType IN ('[Adjustment Doc Type 1]', '[Adjustment Doc Type 2]') -- e.g., 'AJ'
AND PostingDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
-- This activity often requires a custom view on a custom table or an add-on product.
-- The following is a placeholder for such a custom view.
SELECT
CONCAT(FiscalYear, '-', LPAD(FiscalPeriod, 2, '0')) AS FinancialPeriod,
'Account Reconciliation Approved' AS ActivityName,
CAST(ChangedAt AS TIMESTAMP) AS EventTime,
CAST(ChangedAt AS TIMESTAMP) AS EndTime,
ApprovedBy AS ResponsibleUser,
CompanyCode,
GLAccountNumber,
ReconciliationID AS DocumentNumber,
'Approved' AS ReconciliationStatus,
PlannedCompletionDate AS TargetCompletionDate,
NULL AS ProcessingTime
FROM Z_I_ACCOUNTRECONCILIATION -- Placeholder for your custom reconciliation status view
WHERE Status = 'APPROVED'
AND ChangeDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(FiscalYear, '-', LPAD(FiscalPeriod, 2, '0')) AS FinancialPeriod,
'Consolidation Tasks Executed' AS ActivityName,
CAST(TaskExecutionUTCTimestamp AS TIMESTAMP) AS EventTime,
CAST(TaskCompletionUTCTimestamp AS TIMESTAMP) AS EndTime,
ExecutedByUser AS ResponsibleUser,
ConsolidationUnitCompanyCode AS CompanyCode, -- Assuming mapping exists
NULL AS GlAccountNumber,
DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
SECONDS_BETWEEN(CAST(TaskExecutionUTCTimestamp AS TIMESTAMP), CAST(TaskCompletionUTCTimestamp AS TIMESTAMP)) AS ProcessingTime
FROM I_ConsolidationTaskLog
WHERE ConsolidationTaskStatus = 'S' -- Successful
AND TaskExecutionUTCDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(SUBSTRING(JobName, STRPOS(JobName, '_') + 1, 4), '-', SUBSTRING(JobName, STRPOS(JobName, '_') + 5, 2)) AS FinancialPeriod,
'Trial Balance Prepared' AS ActivityName,
CAST(JobStartDate || JobStartTime AS TIMESTAMP) AS EventTime,
CAST(JobEndDate || JobEndTime AS TIMESTAMP) AS EndTime,
JobCreatedByUser AS ResponsibleUser,
'[Configure based on your system]' AS CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
SECONDS_BETWEEN(CAST(JobStartDate || JobStartTime AS TIMESTAMP), CAST(JobEndDate || JobEndTime AS TIMESTAMP)) AS ProcessingTime
FROM I_BatchJob
WHERE JobName LIKE '[Trial Balance Job Prefix]%' AND JobStatus = 'F' -- Example: FAGL_TRIAL_BALANCE_RUN
AND JobEndDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(SUBSTRING(JobName, STRPOS(JobName, '_') + 1, 4), '-', SUBSTRING(JobName, STRPOS(JobName, '_') + 5, 2)) AS FinancialPeriod,
'Financial Statements Generated' AS ActivityName,
CAST(JobStartDate || JobStartTime AS TIMESTAMP) AS EventTime,
CAST(JobEndDate || JobEndTime AS TIMESTAMP) AS EndTime,
JobCreatedByUser AS ResponsibleUser,
'[Configure based on your system]' AS CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
SECONDS_BETWEEN(CAST(JobStartDate || JobStartTime AS TIMESTAMP), CAST(JobEndDate || JobEndTime AS TIMESTAMP)) AS ProcessingTime
FROM I_BatchJob
WHERE JobName LIKE '[Fin Statement Job Prefix]%' AND JobStatus = 'F'
AND JobEndDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
-- Approval is often a manual step. This requires a custom solution to capture.
-- The following is a placeholder for such a custom view.
SELECT
CONCAT(ApprovalYear, '-', LPAD(ApprovalPeriod, 2, '0')) AS FinancialPeriod,
'Financial Statements Approved' AS ActivityName,
CAST(ApprovalTimestamp AS TIMESTAMP) AS EventTime,
CAST(ApprovalTimestamp AS TIMESTAMP) AS EndTime,
ApproverUser AS ResponsibleUser,
CompanyCode,
NULL AS GlAccountNumber,
FinancialStatementVersion AS DocumentNumber,
'Approved' AS ReconciliationStatus,
NULL AS TargetCompletionDate,
0 AS ProcessingTime
FROM Z_I_FINSTATEMENTAPPROVAL -- Placeholder for custom approval tracking view
WHERE ApprovalDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(CAST(LastChangeDate AS DATE FORMAT 'YYYY'), '-', CAST(LastChangeDate AS DATE FORMAT 'MM')) AS FinancialPeriod,
'Period Closed For Posting' AS ActivityName,
CAST(LastChangeDateTime AS TIMESTAMP) AS EventTime,
CAST(LastChangeDateTime AS TIMESTAMP) AS EndTime,
LastChangedByUser AS ResponsibleUser,
CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
0 AS ProcessingTime
FROM I_FinPostingPeriodControl -- Proxy, see note on 'Period Opened'
WHERE PostingPeriodStatus = 'C' -- 'C' for Closed
AND LastChangeDate BETWEEN '[Start Date]' AND '[End Date]'; Lépések
- Ellenőrizze, hogy rendelkezésre áll-e közvetlen, csak olvasási hozzáférés a szükséges alkalmazástáblákat tartalmazó SAP HANA-sémához, és azonosítsa az ACDOCA, a TBTCO, a CDHDR és a CDPOS sématulajdonosát. Cserélje le a lekérdezésben szereplő sémahelyőrzőt a jóváhagyott sémanévre.
- Ellenőrizze a pénzügyi évet, a pénzügyi időszakot, a vállalatkódok körét és az adatkinyerés dátumtartományát. Használjon a teljes zárási ciklust lefedő, jellemzően három-hat hónapos időszakot, és adja meg a rendszerének megfelelő dátumparamétereket.
- Ellenőrizze a helyi mezőleképezéseket a könyvelési időszak beállításainak módosításához, a kötegelt feladatok befejezéséhez, az egyeztetési állapotok változásához, a konszolidáció futtatásához, a jelentések létrehozásához és a jóváhagyási rekordokhoz. A lekérdezés olyan forrásobjektumok helyőrzőit használja, amelyek nem feltétlenül találhatók meg minden SAP S/4HANA-telepítésben. Futtatás előtt cserélje le ezeket a helyőrzőket a rendszerében jóváhagyott nézetekre vagy táblákra.
- Futtassa a lekérdezést csak olvasási jogosultságú adatbázis-hitelesítő adatokkal. A lekérdezés minden szükséges tevékenységhez külön eseménysort hoz létre, és nem következtet további eseményekre az események sorrendje alapján.
- Ellenőrizze a visszaadott oszlopokat. A FinancialPeriod az esetazonosító, az ActivityName az eseménytevékenység, az EventTime pedig a kötelező esemény-időbélyeg. Az EndTime, a ResponsibleUser, a CompanyCode, a GlAccountNumber, a DocumentNumber, a ReconciliationStatus és a TargetCompletionDate akkor szerepel, ha a forrásrekord tartalmazza ezeket.
- Ellenőrizze, hogy minden szükséges tevékenység szerepel-e az eredményben, beleértve azokat is, amelyekhez egy adott időszakban nem tartozik forrásrekord. Ha valamely tevékenységtípus hiányzik, a lekérdezés egy ellenőrző sort ad vissza, amelyben az ActivityName értéke Activity Coverage Validation. Ha a ProcessMindbe való feltöltéshez csak üzleti események szerepelhetnek, feltöltés előtt távolítsa el ezt a sort, vagy kezelje külön.
- Vesse össze a kiválasztott eseményeket az SAP alkalmazásrekordjaival és feladatnaplóival. Ellenőrizze, hogy a naplóbejegyzések eseményei az ACDOCA-rekordoknak, a feladatesemények a TBTCO-rekordoknak, a módosítási események pedig a CDHDR- és CDPOS-rekordoknak vagy a beállított egyeztetési és jóváhagyási adatforrásoknak felelnek-e meg.
- Exportálja az eredményt UTF-8 kódolású CSV-fájlba vagy más, ProcessMind által támogatott táblázatos formátumba. Őrizze meg pontosan a FinancialPeriod, ActivityName és EventTime oszlopneveket. Rendezze az adatokat FinancialPeriod, majd EventTime szerint, és minden kinyert eseményhez egy sort tartson meg.
- Töltse fel az eseménynaplót a ProcessMindbe, és állítsa be a FinancialPeriod mezőt esetazonosítóként, az ActivityName mezőt tevékenységként, az EventTime mezőt pedig kezdési időbélyegként. Ha rendelkezésre áll, rendelje az EndTime mezőt a befejezési időbélyeghez, a többi oszlopot pedig esemény- vagy esetattribútumként használja.
Fontos megjegyzés a források leképezéséről: az SAP S/4HANA nem biztosít egységes táblaszerkezetet minden egyeztető eszközhöz, konszolidációs felügyelethez, jelentésarchívumhoz, jóváhagyási munkafolyamathoz vagy könyvelésiidőszak-beállításhoz. A lekérdezésben szereplő minden [Your table name] és [Your column name] helyőrzőt cseréljen le a rendszerében ellenőrzött objektumra és oszlopra. Ne tekintse a helyőrzőket futtatható SQL-nek.
Konfiguráció
- Adatbázis-hozzáférés: Használjon csak olvasási jogosultságú SAP HANA-adatbázis-felhasználót, aki SELECT jogosultsággal rendelkezik az ACDOCA, TBTCO, CDHDR, CDPOS táblákhoz, valamint a könyvelési időszakok kezeléséhez, az egyeztetéshez, a konszolidációhoz, a jelentéskészítéshez és a jóváhagyásokhoz beállított forrásobjektumokhoz.
- Séma beállítása: Cserélje le a [Your SAP schema] helyőrzőt az alkalmazásobjektumokat tartalmazó tényleges sémára. Ellenőrizze, hogy az objektumok táblák, számítási nézetek vagy jóváhagyott jelentésnézetek-e.
- Dátumtartomány: A teljes zárási ciklust nyerje ki, jellemzően három-hat hónapot lefedve. Vegye fel a nyitó és záró tevékenységeket, a késői könyveléseket, a visszafordításokat, a jóváhagyásokat és a zárás utáni korrekciókat is.
- Pénzügyi időszak: A vállalatkódhoz használt pénzügyi év és időszak szerint szűrjön. Ha eltér a pénzügyi év változata, ne feltételezze, hogy az időszakok a naptári évhez igazodnak.
- Vállalatkód: Ha a folyamat csak meghatározott jogi személyekre terjed ki, szűrjön vállalatkód szerint. Ha a hatókört külön szervezeti megfeleltetés tartalmazza, használja a [Configure based on your system] értéket.
- Bizonylattípusok: A naplóbejegyzések kinyerését korlátozza az elhatárolásokhoz, céltartalékokhoz, korrekciókhoz, átértékelésekhez, kiegyenlítésekhez és más zárási könyvelésekhez használt bizonylattípusokra. A szűrők bekapcsolása előtt ellenőrizze a helyi bizonylattípus-beállításokat.
- Feladatállapot: A befejezési tevékenységekhez csak a befejezett vagy sikeresen lefutott feladatokat vegye figyelembe. Állapotfeltétel alkalmazása előtt ellenőrizze a TBTCO helyi állapotértékeit.
- Módosítási bizonylatok: A helyi beállítások ellenőrzése után szűrje a CDHDR és CDPOS táblákat a megfelelő objektumosztály és módosításjelzők szerint. A módosítási bizonylatok önmagukban nem feltétlenül azonosítanak minden üzleti tevékenységet.
- Egyeztetési és jóváhagyási források: Állítson be ellenőrzött forrásobjektumokat az egyeztetési állapotváltozásokhoz, az előkészítői műveletekhez, a jóváhagyásokhoz, a céldátumokhoz és a digitális jóváhagyáshoz. Ezek a források a telepített SAP-komponensektől és bővítményektől függően eltérnek.
- Teljesítmény: Szűkítse a pénzügyi évre, időszakra, vállalatkódra, könyvelési dátumra és esemény-időbélyegre vonatkozó feltételeket. A szűrőket minden UNION ALL ágban alkalmazza, kerülje az ACDOCA korlátozás nélküli beolvasását, és a lekérdezést jóváhagyott jelentéskészítési időszakban futtassa.
- Adattípusok: Egységesítse az időbélyegeket közös időzónára és adattípusra. Az üres karakterláncokat alakítsa NULL értékké, a vállalatkódok, főkönyvi számlaszámok és bizonylatszámok kezdő nulláit pedig őrizze meg.
- Előfeltételek: Ellenőrizze, hogy rendelkezésre állnak és megfelelően fel vannak töltve a szükséges SAP-komponensek, egyeztetési eszközök, konszolidációs funkciók, feladatnaplózás, módosításibizonylat-aktiválás, valamint a jelentések és munkafolyamatok naplózása.
- Biztonság és megfelelés: Alkalmazza a legkisebb jogosultság elvét, védje a pénzügyi és felhasználói adatokat, dokumentálja az adatkinyerés célját, és tartsa be a szervezet SAP- és adatbázis-auditkövetelményeit.
Példa-lekérdezés sql
WITH
params AS (
SELECT
TO_DATE('[Start date YYYY-MM-DD]') AS start_date,
TO_DATE('[End date YYYY-MM-DD]') AS end_date,
'[Fiscal year]' AS fiscal_year_filter,
'[Fiscal period]' AS fiscal_period_filter,
'[Company code filter]' AS company_code_filter
FROM DUMMY
),
base_events AS (
SELECT
TO_NVARCHAR(a.RYEAR) || '-' || LPAD(TO_NVARCHAR(a.POPER), 2, '0') AS FinancialPeriod,
'Accruals And Provisions Posted' AS ActivityName,
CAST(a.BUDAT AS TIMESTAMP) AS EventTime,
CAST(NULL AS TIMESTAMP) AS EndTime,
CAST(a.USNAM AS NVARCHAR(80)) AS ResponsibleUser,
CAST(a.RBUKRS AS NVARCHAR(20)) AS CompanyCode,
CAST(a.RACCT AS NVARCHAR(40)) AS GlAccountNumber,
CAST(a.BELNR AS NVARCHAR(40)) AS DocumentNumber,
CAST(NULL AS NVARCHAR(40)) AS ReconciliationStatus,
CAST(NULL AS DATE) AS TargetCompletionDate
FROM [Your SAP schema].ACDOCA a
CROSS JOIN params p
WHERE a.BUDAT >= p.start_date
AND a.BUDAT < ADD_DAYS(p.end_date, 1)
AND (p.fiscal_year_filter = '[Fiscal year]' OR TO_NVARCHAR(a.RYEAR) = p.fiscal_year_filter)
AND (p.fiscal_period_filter = '[Fiscal period]' OR TO_NVARCHAR(a.POPER) = p.fiscal_period_filter)
AND (p.company_code_filter = '[Company code filter]' OR TO_NVARCHAR(a.RBUKRS) = p.company_code_filter)
AND a.BLART IN ('[Accrual document type]', '[Provision document type]')
UNION ALL
SELECT
TO_NVARCHAR(a.RYEAR) || '-' || LPAD(TO_NVARCHAR(a.POPER), 2, '0'),
'Adjusting Journal Entry Posted',
CAST(a.BUDAT AS TIMESTAMP),
CAST(NULL AS TIMESTAMP),
CAST(a.USNAM AS NVARCHAR(80)),
CAST(a.RBUKRS AS NVARCHAR(20)),
CAST(a.RACCT AS NVARCHAR(40)),
CAST(a.BELNR AS NVARCHAR(40)),
CAST(NULL AS NVARCHAR(40)),
CAST(NULL AS DATE)
FROM [Your SAP schema].ACDOCA a
CROSS JOIN params p
WHERE a.BUDAT >= p.start_date
AND a.BUDAT < ADD_DAYS(p.end_date, 1)
AND (p.fiscal_year_filter = '[Fiscal year]' OR TO_NVARCHAR(a.RYEAR) = p.fiscal_year_filter)
AND (p.fiscal_period_filter = '[Fiscal period]' OR TO_NVARCHAR(a.POPER) = p.fiscal_period_filter)
AND (p.company_code_filter = '[Company code filter]' OR TO_NVARCHAR(a.RBUKRS) = p.company_code_filter)
AND a.BLART IN ('[Adjusting journal entry document type]')
UNION ALL
SELECT
TO_NVARCHAR(a.RYEAR) || '-' || LPAD(TO_NVARCHAR(a.POPER), 2, '0'),
'Foreign Currency Valuation Run',
CAST(a.BUDAT AS TIMESTAMP),
CAST(NULL AS TIMESTAMP),
CAST(a.USNAM AS NVARCHAR(80)),
CAST(a.RBUKRS AS NVARCHAR(20)),
CAST(a.RACCT AS NVARCHAR(40)),
CAST(a.BELNR AS NVARCHAR(40)),
CAST(NULL AS NVARCHAR(40)),
CAST(NULL AS DATE)
FROM [Your SAP schema].ACDOCA a
CROSS JOIN params p
WHERE a.BUDAT >= p.start_date
AND a.BUDAT < ADD_DAYS(p.end_date, 1)
AND (p.fiscal_year_filter = '[Fiscal year]' OR TO_NVARCHAR(a.RYEAR) = p.fiscal_year_filter)
AND (p.fiscal_period_filter = '[Fiscal period]' OR TO_NVARCHAR(a.POPER) = p.fiscal_period_filter)
AND (p.company_code_filter = '[Company code filter]' OR TO_NVARCHAR(a.RBUKRS) = p.company_code_filter)
AND a.BLART IN ('[Foreign currency valuation document type]')
UNION ALL
SELECT
TO_NVARCHAR(a.RYEAR) || '-' || LPAD(TO_NVARCHAR(a.POPER), 2, '0'),
'Automated Clearing Run Executed',
CAST(a.BUDAT AS TIMESTAMP),
CAST(NULL AS TIMESTAMP),
CAST(a.USNAM AS NVARCHAR(80)),
CAST(a.RBUKRS AS NVARCHAR(20)),
CAST(a.RACCT AS NVARCHAR(40)),
CAST(a.BELNR AS NVARCHAR(40)),
CAST(NULL AS NVARCHAR(40)),
CAST(NULL AS DATE)
FROM [Your SAP schema].ACDOCA a
CROSS JOIN params p
WHERE a.BUDAT >= p.start_date
AND a.BUDAT < ADD_DAYS(p.end_date, 1)
AND (p.fiscal_year_filter = '[Fiscal year]' OR TO_NVARCHAR(a.RYEAR) = p.fiscal_year_filter)
AND (p.fiscal_period_filter = '[Fiscal period]' OR TO_NVARCHAR(a.POPER) = p.fiscal_period_filter)
AND (p.company_code_filter = '[Company code filter]' OR TO_NVARCHAR(a.RBUKRS) = p.company_code_filter)
AND a.BLART IN ('[Automated clearing document type]')
UNION ALL
SELECT
CAST(j.[Financial period column] AS NVARCHAR(20)),
'Subledger Data Transfer Completed',
CAST(j.[Job end timestamp column] AS TIMESTAMP),
CAST(j.[Job end timestamp column] AS TIMESTAMP),
CAST(j.[Job user column] AS NVARCHAR(80)),
CAST(j.[Company code column] AS NVARCHAR(20)),
CAST(NULL AS NVARCHAR(40)),
CAST(j.[Job name column] AS NVARCHAR(40)),
CAST(NULL AS NVARCHAR(40)),
CAST(NULL AS DATE)
FROM [Your SAP schema].TBTCO j
CROSS JOIN params p
WHERE j.[Job end timestamp column] >= p.start_date
AND j.[Job end timestamp column] < ADD_DAYS(p.end_date, 1)
AND j.[Job status column] = '[Successful job status]'
AND j.[Job name column] IN ('[AR transfer job]', '[AP transfer job]', '[Asset Accounting transfer job]')
UNION ALL
SELECT
CAST(j.[Financial period column] AS NVARCHAR(20)),
'Intercompany Reconciliation Started',
CAST(j.[Job start timestamp column] AS TIMESTAMP),
CAST(j.[Job end timestamp column] AS TIMESTAMP),
CAST(j.[Job user column] AS NVARCHAR(80)),
CAST(j.[Company code column] AS NVARCHAR(20)),
CAST(NULL AS NVARCHAR(40)),
CAST(j.[Job name column] AS NVARCHAR(40)),
CAST(NULL AS NVARCHAR(40)),
CAST(NULL AS DATE)
FROM [Your SAP schema].TBTCO j
CROSS JOIN params p
WHERE j.[Job start timestamp column] >= p.start_date
AND j.[Job start timestamp column] < ADD_DAYS(p.end_date, 1)
AND j.[Job name column] IN ('[Intercompany reconciliation job]')
UNION ALL
SELECT
CAST(r.[Financial period column] AS NVARCHAR(20)),
'Intercompany Reconciliation Started',
CAST(r.[Status change timestamp column] AS TIMESTAMP),
CAST(NULL AS TIMESTAMP),
CAST(r.[Responsible user column] AS NVARCHAR(80)),
CAST(r.[Company code column] AS NVARCHAR(20)),
CAST(NULL AS NVARCHAR(40)),
CAST(r.[Reconciliation case column] AS NVARCHAR(40)),
CAST(r.[Status column] AS NVARCHAR(40)),
CAST(r.[Target completion date column] AS DATE)
FROM [Your table name for intercompany reconciliation] r
CROSS JOIN params p
WHERE r.[Status change timestamp column] >= p.start_date
AND r.[Status change timestamp column] < ADD_DAYS(p.end_date, 1)
AND r.[Status column] IN ('Started', 'In Progress')
UNION ALL
SELECT
CAST(r.[Financial period column] AS NVARCHAR(20)),
'Account Reconciliation Started',
CAST(r.[Status change timestamp column] AS TIMESTAMP),
CAST(NULL AS TIMESTAMP),
CAST(r.[Responsible user column] AS NVARCHAR(80)),
CAST(r.[Company code column] AS NVARCHAR(20)),
CAST(r.[GL account column] AS NVARCHAR(40)),
CAST(r.[Reconciliation case column] AS NVARCHAR(40)),
CAST(r.[Status column] AS NVARCHAR(40)),
CAST(r.[Target completion date column] AS DATE)
FROM [Your table name for account reconciliation] r
CROSS JOIN params p
WHERE r.[Status change timestamp column] >= p.start_date
AND r.[Status change timestamp column] < ADD_DAYS(p.end_date, 1)
AND r.[Status column] IN ('In Progress')
UNION ALL
SELECT
CAST(r.[Financial period column] AS NVARCHAR(20)),
'Account Reconciliation Approved',
CAST(r.[Status change timestamp column] AS TIMESTAMP),
CAST(NULL AS TIMESTAMP),
CAST(r.[Approver user column] AS NVARCHAR(80)),
CAST(r.[Company code column] AS NVARCHAR(20)),
CAST(r.[GL account column] AS NVARCHAR(40)),
CAST(r.[Reconciliation case column] AS NVARCHAR(40)),
CAST(r.[Status column] AS NVARCHAR(40)),
CAST(r.[Target completion date column] AS DATE)
FROM [Your table name for account reconciliation] r
CROSS JOIN params p
WHERE r.[Status change timestamp column] >= p.start_date
AND r.[Status change timestamp column] < ADD_DAYS(p.end_date, 1)
AND r.[Status column] = 'Approved'
UNION ALL
SELECT
CAST(c.[Financial period column] AS NVARCHAR(20)),
'Consolidation Tasks Executed',
CAST(c.[Execution start timestamp column] AS TIMESTAMP),
CAST(c.[Execution end timestamp column] AS TIMESTAMP),
CAST(c.[Responsible user column] AS NVARCHAR(80)),
CAST(c.[Company code column] AS NVARCHAR(20)),
CAST(NULL AS NVARCHAR(40)),
CAST(c.[Task identifier column] AS NVARCHAR(40)),
CAST(c.[Status column] AS NVARCHAR(40)),
CAST(c.[Target completion date column] AS DATE)
FROM [Your table name for consolidation execution] c
CROSS JOIN params p
WHERE c.[Execution start timestamp column] >= p.start_date
AND c.[Execution start timestamp column] < ADD_DAYS(p.end_date, 1)
AND c.[Status column] IN ('Completed', 'Successful')
UNION ALL
SELECT
CAST(t.[Financial period column] AS NVARCHAR(20)),
'Trial Balance Prepared',
CAST(t.[Report saved timestamp column] AS TIMESTAMP),
CAST(t.[Report saved timestamp column] AS TIMESTAMP),
CAST(t.[Responsible user column] AS NVARCHAR(80)),
CAST(t.[Company code column] AS NVARCHAR(20)),
CAST(NULL AS NVARCHAR(40)),
CAST(t.[Report identifier column] AS NVARCHAR(40)),
CAST(t.[Status column] AS NVARCHAR(40)),
CAST(t.[Target completion date column] AS DATE)
FROM [Your table name for trial balance output] t
CROSS JOIN params p
WHERE t.[Report saved timestamp column] >= p.start_date
AND t.[Report saved timestamp column] < ADD_DAYS(p.end_date, 1)
AND t.[Status column] IN ('Saved', 'Completed')
UNION ALL
SELECT
CAST(f.[Financial period column] AS NVARCHAR(20)),
'Financial Statements Generated',
CAST(f.[Generation timestamp column] AS TIMESTAMP),
CAST(f.[Generation timestamp column] AS TIMESTAMP),
CAST(f.[Responsible user column] AS NVARCHAR(80)),
CAST(f.[Company code column] AS NVARCHAR(20)),
CAST(NULL AS NVARCHAR(40)),
CAST(f.[Report identifier column] AS NVARCHAR(40)),
CAST(f.[Status column] AS NVARCHAR(40)),
CAST(f.[Target completion date column] AS DATE)
FROM [Your table name for financial statement output] f
CROSS JOIN params p
WHERE f.[Generation timestamp column] >= p.start_date
AND f.[Generation timestamp column] < ADD_DAYS(p.end_date, 1)
AND f.[Status column] IN ('Generated', 'Saved', 'Completed')
UNION ALL
SELECT
CAST(f.[Financial period column] AS NVARCHAR(20)),
'Financial Statements Approved',
CAST(f.[Approval timestamp column] AS TIMESTAMP),
CAST(f.[Approval timestamp column] AS TIMESTAMP),
CAST(f.[Approver user column] AS NVARCHAR(80)),
CAST(f.[Company code column] AS NVARCHAR(20)),
CAST(NULL AS NVARCHAR(40)),
CAST(f.[Report identifier column] AS NVARCHAR(40)),
CAST(f.[Status column] AS NVARCHAR(40)),
CAST(f.[Target completion date column] AS DATE)
FROM [Your table name for financial statement approval] f
CROSS JOIN params p
WHERE f.[Approval timestamp column] >= p.start_date
AND f.[Approval timestamp column] < ADD_DAYS(p.end_date, 1)
AND f.[Status column] = 'Approved'
UNION ALL
SELECT
CAST(x.[Financial period column] AS NVARCHAR(20)),
'Period Opened For Posting',
CAST(x.[Change timestamp column] AS TIMESTAMP),
CAST(x.[Change timestamp column] AS TIMESTAMP),
CAST(x.[Changed by column] AS NVARCHAR(80)),
CAST(x.[Company code column] AS NVARCHAR(20)),
CAST(NULL AS NVARCHAR(40)),
CAST(x.[Change document number column] AS NVARCHAR(40)),
CAST(x.[New status column] AS NVARCHAR(40)),
CAST(NULL AS DATE)
FROM [Your table name for posting period changes] x
CROSS JOIN params p
WHERE x.[Change timestamp column] >= p.start_date
AND x.[Change timestamp column] < ADD_DAYS(p.end_date, 1)
AND x.[New status column] = 'Open'
UNION ALL
SELECT
CAST(x.[Financial period column] AS NVARCHAR(20)),
'Period Closed For Posting',
CAST(x.[Change timestamp column] AS TIMESTAMP),
CAST(x.[Change timestamp column] AS TIMESTAMP),
CAST(x.[Changed by column] AS NVARCHAR(80)),
CAST(x.[Company code column] AS NVARCHAR(20)),
CAST(NULL AS NVARCHAR(40)),
CAST(x.[Change document number column] AS NVARCHAR(40)),
CAST(x.[New status column] AS NVARCHAR(40)),
CAST(NULL AS DATE)
FROM [Your table name for posting period changes] x
CROSS JOIN params p
WHERE x.[Change timestamp column] >= p.start_date
AND x.[Change timestamp column] < ADD_DAYS(p.end_date, 1)
AND x.[New status column] = 'Closed'
),
activity_list AS (
SELECT 'Period Opened For Posting' AS ActivityName FROM DUMMY
UNION ALL SELECT 'Subledger Data Transfer Completed' FROM DUMMY
UNION ALL SELECT 'Intercompany Reconciliation Started' FROM DUMMY
UNION ALL SELECT 'Accruals And Provisions Posted' FROM DUMMY
UNION ALL SELECT 'Automated Clearing Run Executed' FROM DUMMY
UNION ALL SELECT 'Foreign Currency Valuation Run' FROM DUMMY
UNION ALL SELECT 'Account Reconciliation Started' FROM DUMMY
UNION ALL SELECT 'Adjusting Journal Entry Posted' FROM DUMMY
UNION ALL SELECT 'Account Reconciliation Approved' FROM DUMMY
UNION ALL SELECT 'Consolidation Tasks Executed' FROM DUMMY
UNION ALL SELECT 'Trial Balance Prepared' FROM DUMMY
UNION ALL SELECT 'Financial Statements Generated' FROM DUMMY
UNION ALL SELECT 'Financial Statements Approved' FROM DUMMY
UNION ALL SELECT 'Period Closed For Posting' FROM DUMMY
),
missing_activities AS (
SELECT
CAST(NULL AS NVARCHAR(20)) AS FinancialPeriod,
'Activity Coverage Validation' AS ActivityName,
CAST(NULL AS TIMESTAMP) AS EventTime,
CAST(NULL AS TIMESTAMP) AS EndTime,
CAST(NULL AS NVARCHAR(80)) AS ResponsibleUser,
CAST(NULL AS NVARCHAR(20)) AS CompanyCode,
CAST(NULL AS NVARCHAR(40)) AS GlAccountNumber,
CAST(NULL AS NVARCHAR(40)) AS DocumentNumber,
CAST('Missing activity: ' || al.ActivityName AS NVARCHAR(40)) AS ReconciliationStatus,
CAST(NULL AS DATE) AS TargetCompletionDate
FROM activity_list al
LEFT JOIN base_events b ON b.ActivityName = al.ActivityName
WHERE b.ActivityName IS NULL
)
SELECT
FinancialPeriod,
ActivityName,
EventTime,
EndTime,
ResponsibleUser,
CompanyCode,
GlAccountNumber,
DocumentNumber,
ReconciliationStatus,
TargetCompletionDate
FROM base_events
UNION ALL
SELECT
FinancialPeriod,
ActivityName,
EventTime,
EndTime,
ResponsibleUser,
CompanyCode,
GlAccountNumber,
DocumentNumber,
ReconciliationStatus,
TargetCompletionDate
FROM missing_activities
ORDER BY FinancialPeriod, EventTime, ActivityName Kezdheti?
Ezzel az adatsablonnal hatékonyabbá teheti szervezete működését és javíthatja a megfelelést. Kezdje el még ma a Record to Report folyamat fejlesztését.
Optimalizálja még ma a Record to Report zárási és egyeztetési folyamatát
Tárja fel a hatékonysági problémákat, és csökkentse akár 30%-kal a zárási ciklus idejét.
Nincs szükség bankkártyára. Néhány perc alatt elkezdheti.