Record to Report: időszakzárási és egyeztetési adatsablon
Record to Report: időszakzárási és egyeztetési adatsablon
- Javasolt attribútumok
- Nyomon követendő fő tevékenységek
- Útmutató az adatok kinyeréséhez
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, amely jellemzően a pénzügyi évet és a könyvelési időszakot egyesíti. | ||
| Leírás A pénzügyi időszak az eset elsődleges azonosítója. Egy adott beszámolási ciklushoz tartozó összes zárási és számlaegyeztetési tevékenységet csoportosítja, például a 2023. decemberi időszakot jelölő „2023-12” értéket. Így minden időszak teljes zárási folyamata elejétől a végéig elemezhető. Az elemzésben ez teszi lehetővé az egyes zárások teljes ciklusidejének követését, az időszakok teljesítményének összehasonlítását, valamint a trendek és rendellenességek feltárását. Ha minden pénzügyi időszak külön esetként szerepel, láthatóvá és mérhetővé válik a zárási folyamat hatékonysága, a szűk keresztmetszetek és az időbeli eltérések. Miért fontos? Ez az elemzés alapjául szolgáló esetazonosító, amely lehetővé teszi a zárási ciklusidők, a munkaterhelés és a folyamatkövetés időszakok közötti összehasonlítását. Hol szerezhető be? Ez az attribútum jellemzően a pénzügyi dokumentumok fejlécéből, például a BKPF táblából származó pénzügyi év (GJAHR) és könyvelési időszak (MONAT) összefűzésével áll elő. Példák 2023-122024-032023. IV. negyedév | |||
| Adatok utolsó frissítése LastDataUpdate | Az időpont, amikor az adatokat legutóbb frissítették vagy kinyerték a forrásrendszerből. | ||
| Leírás Ez az attribútum jelzi, mennyire frissek az elemzett adatok. Megmutatja, mikor futott le utoljára az adatfolyamat, így az elemzési eredmények aktualitása is értelmezhető. A dashboardokon, különösen a valós idejű előrehaladást követő nézetekben, ez az időbélyeg segít megállapítani, hogy a felhasználó a legfrissebb vagy egy korábbi napi adatokat látja-e. Kezeli az elvárásokat, és segít helyesen értelmezni az elemzést. Miért fontos? Tájékoztatja a felhasználókat az adatok frissességéről, ami elengedhetetlen ahhoz, hogy az elemzések és dashboardok időszerűek és relevánsak legyenek. Hol szerezhető be? Ezt az időbélyeget az adatkinyerő vagy ETL-eszköz hozza létre, és minden adatbetöltés végén hozzáadja az adatokhoz. Példák 2024-05-21T04:00:00Z2024-05-20T04:00:00Z2024-05-19T04:00:00Z | |||
| Esemény időpontja EventTime | Az a dátum és időpont, amikor egy tevékenység vagy esemény történt. | ||
| Leírás Az esemény időpontja minden tevékenység pontos dátumát és idejét tartalmazza, így ez adja az elemzés időrendi alapját. Jellemzően a bizonylat létrehozásának dátumából és időpontjából áll össze. Az időbélyeg elengedhetetlen az események helyes sorrendbe rendezéséhez és a folyamat menetének rekonstruálásához. Ezzel számíthatók ki az időtartam-alapú mutatók, többek között a tevékenységek közötti ciklusidők, a várakozási idők és a teljes időszakzárási idő. Az időbélyegek elemzése segít feltárni a késedelmeket és megérteni a munka időbeli eloszlását. Miért fontos? Kötelező attribútumként megadja az események időrendi sorrendjét, amely a ciklusidők kiszámításához és a folyamat szűk keresztmetszeteinek feltárásához szükséges. Hol szerezhető be? Pénzügyi dokumentumok esetén ez jellemzően a BKPF tábla bizonylatrögzítési dátumából (CPUDT) és időpontjából (CPUTM) származik. Példák 2023-12-28T14:30:15Z2024-01-02T09:05:00Z2024-01-05T17:21:45Z | |||
| Forrásrendszer SourceSystem | Annak a forrásrendszernek az azonosítója, amelyből az adatokat kinyerték. | ||
| Leírás Ez az attribútum az eseményadatok forrását jelöli, például az adott SAP ECC-példány nevét vagy azonosítóját. Több ERP- vagy pénzügyi rendszerrel működő szervezeteknél elengedhetetlen a különböző forrásokból származó adatok megkülönböztetéséhez. Egyetlen rendszer esetén is fontos metaadat az adatirányítás, az auditálás és a hibaelhárítás szempontjából. Megerősíti az adatok eredetét, ami elengedhetetlen az elemzésbe vetett bizalomhoz és az adatok útjának átláthatóságához. Miért fontos? Az adatok eredetének igazolásával segíti az adatirányítást, több rendszer esetén pedig elengedhetetlen a folyamatok megkülönböztetéséhez. Hol szerezhető be? Ez jellemzően az adatkinyerés során hozzáadott, állandó érték, amely az adott SAP-klienst és rendszerazonosítót jelöli (például a T000 táblából). Példák ECC_PROD_100SAP_E74_200ECC_FINANCE | |||
| Tevékenység ActivityName | Az időszakzárási folyamat során végrehajtott üzleti esemény vagy feladat neve. | ||
| Leírás Ez az attribútum rögzíti a Record to Report ciklus egyes lépéseit, például a „Helyesbítő könyvelési tétel rögzítve” vagy a „Pénzügyi kimutatások generálva” eseményt. Ez adja a folyamattérkép alapját, és megmutatja az időszakzárást alkotó események sorrendjét. A tevékenységek elemzése a process mining alapja. Segít megjeleníteni a folyamat menetét, azonosítani a feladatok sorrendjét, feltárni a folyamatváltozatokat, valamint mérni az egyes lépések gyakoriságát és időtartamát. Így könnyebb megtalálni a szűk keresztmetszeteket, a nem szabványos folyamatútvonalakat és a szabványosítási vagy automatizálási lehetőségeket. Miért fontos? Ez az attribútum elengedhetetlen a folyamattérkép elkészítéséhez, mert lehetővé teszi az időszakzárási feladatok sorrendjének megjelenítését és elemzését. Hol szerezhető be? Ez az attribútum SAP-tranzakciókódok (TCODE), bizonylattípusok (BLART) vagy adott programok futtatása, például a devizaértékelést végző FAGL_FCV alapján áll elő. Példák Helyesbítő könyvelési tétel rögzítveSzámlaegyeztetés megkezdveKönyvelési időszak lezárva | |||
| Bizonylatszám BELNR | A számviteli bizonylat egyedi azonosítója az adott pénzügyi évben és vállalatkódban. | ||
| Leírás A számviteli bizonylatszám a SAP pénzügyi könyveléseinek elsődleges kulcsa. Minden könyvelési tételhez, számlához vagy fizetési bizonylathoz egyedi szám tartozik. A bizonylatszámot általában nem használják magas szintű folyamatelemzéshez, részletes vizsgálathoz azonban nélkülözhetetlen. A process mining dashboardról az elemzők közvetlenül megnyithatják a megfelelő SAP-tranzakciót, és megvizsgálhatják például a szokatlanul nagy helyesbítő tételt vagy a késedelmes egyeztetési tételt. Így az elemzési eredmény közvetlenül összekapcsolható a forrásként szolgáló tranzakcióval. Miért fontos? Közvetlen hivatkozást ad a forrásként szolgáló SAP-tranzakcióhoz, így a folyamatnézetből részletesen megvizsgálhatók az egyes könyvelési tételek. Hol szerezhető be? A BKPF táblában található (BELNR), elsődleges kulcsként. Példák 100000456719000001233000008901 | |||
| Bizonylattípus BLART | A számviteli bizonylatok különböző típusait jelölő kód. | ||
| Leírás Az SAP-ban a bizonylattípus különbözteti meg az üzleti tranzakciókat, például a szállítói számlákat (KR), a vevői fizetéseket (DZ) és a főkönyvi könyveléseket (SA). A bizonylatszám-tartományhoz hasonló tulajdonságokat is szabályoz. Az időszakzárás elemzésekor a bizonylattípus hasznos szűrési szempont. Segítségével elkülöníthetők bizonyos tevékenységek, például az elhatárolások, a céltartalékok vagy a sztornótételek. Így elemezhető a záráshoz kapcsolódó tranzakciók mennyisége és pénzügyi hatása, valamint meghatározhatók a folyamatmodell egyes tevékenységei. Miért fontos? Segít a tranzakciók kategorizálásában és szűrésében, így elkülöníthetők és elemezhetők az olyan tevékenységek, mint az elhatárolások, a sztornók vagy a vállalatközi könyvelések. Hol szerezhető be? A bizonylatfejléc-táblában, a BKPF-ben található (BLART). Példák SAABKR | |||
| Felelős felhasználó USNAM | Annak a személynek az SAP-felhasználói azonosítója, aki létrehozta vagy végrehajtotta a tranzakciót. | ||
| Leírás Ez a mező rögzíti annak a felhasználónak az azonosítóját, aki bizonylatot könyvelt, jelentést futtatott vagy záráshoz kapcsolódó programot hajtott végre. Megmutatja, ki felel az adott tevékenységért. A felhasználók szerinti elemzés segít megérteni a munkaterhelés eloszlását, feltárni a képzési igényeket és kivizsgálni a folyamateltéréseket. A felhasználónkénti tevékenységeket megjelenítő dashboardok rávilágíthatnak a túlterhelt csapattagokra vagy azokra, akik nem szabványos eljárásokat követnek. A pénzügyi csapat teljesítményének értékelését és az erőforrások elosztását is támogatja. Miért fontos? Lehetővé teszi a munkaterhelés eloszlásának és a csapat teljesítményének elemzését, valamint az egyes személyekhez köthető folyamateltérések azonosítását. Hol szerezhető be? A bizonylatok létrehozásához a BKPF táblában (USNAM) található. Kötegelt feladatok esetén a TBTCO táblában (SDLUNAME) kereshető. Példák JSMITHRDOEFIN_ADMIN | |||
| Főkönyvi számla HKONT | Annak a főkönyvi számlának a száma, amelyre a tételt könyvelik. | ||
| Leírás A főkönyvi számla a pénzügyi törzsadatok alapvető eleme, amely a tranzakciókat kategorizálja. Minden pénzügyi könyvelési tétel egy vagy több főkönyvi számlához tartozik. Az időszakzárás során a főkönyvi számla szerinti elemzés elengedhetetlen a „Számlaegyeztetési szűk keresztmetszetek” és a „Helyesbítő tételek mennyiségének elemzése” dashboardokhoz. Segít megállapítani, mely számlákat a legnehezebb egyeztetni, melyek igénylik a legtöbb helyesbítést, és hol a legnagyobb a lényeges hibás kimutatás kockázata. Így a csapatok a problémás számlákra összpontosíthatják a munkájukat. Miért fontos? Célzottan elemezhetők az egyeztetések és a helyesbítő tételek, így azonosíthatók a késedelmet okozó vagy gyakori korrekciót igénylő problémás számlák. Hol szerezhető be? A pénzügyi dokumentumok tételtáblájában, a BSEG-ben található (HKONT). Példák 113100400500750000 | |||
| Könyvelési tétel típusa JournalEntryType | A könyvelési tételek besorolása, például „Normál”, „Helyesbítő”, „Elhatárolás” vagy „Sztornó”. | ||
| Leírás Ez egy származtatott attribútum, amely a pénzügyi dokumentumokat az időszakzárásban betöltött üzleti szerepük szerint kategorizálja. Meghatározása gyakran a bizonylattípus (BLART), a sztornó oka (STGRD) és a használt főkönyvi számlák kombinációján alapul. Ez a besorolás alapvető a „Helyesbítő tételek mennyiségének elemzése” dashboard és a kapcsolódó KPI-k szempontjából. A helyesbítő és elhatárolási tételek egyértelmű azonosításával az elemzők mérhetik azok számát és értékét, követhetik az időbeli változásokat, és feltárhatják, miért volt szükség rájuk. Segít megkülönböztetni a szokásos operatív könyveléseket az időszak végi helyesbítésektől. Miért fontos? A könyvelési tételek célzott elemzését teszi lehetővé. Segítségével követhetők és mérhetők a fontos tételtípusok, például a helyesbítések és az elhatárolások, amelyek a folyamat állapotáról is képet adnak. Hol szerezhető be? Ez egy származtatott mező. Az üzleti szabályokat meg kell határozni, jellemzően a BKPF táblából származó bizonylattípus (BLART) alapján. Példák HelyesbítőElhatárolásSztornóNormál | |||
| Összeg helyi pénznemben DMBTR | A tranzakciós tétel pénzügyi értéke a vállalatkód helyi pénznemében kifejezve. | ||
| Leírás Ez az attribútum a pénzügyi könyvelési tételhez tartozó pénzösszeget jelöli. Ez mutatja meg, milyen mértékben érinti a tranzakció a főkönyvet. Az összeg elemzése segít a problémák rangsorolásában és a pénzügyi kockázat megértésében. A „Helyesbítő tételek mennyiségének elemzése” dashboard például sokkal hasznosabb, ha meg tudja különböztetni a kis összegű helyesbítések nagy számát a nagy összegű helyesbítések kis számától. Így a pénzügyileg jelentős tranzakciókra irányítható a figyelem. Miért fontos? Számszerűsíti a tranzakciók pénzügyi hatását, így azok jelentőségük szerint elemezhetők, például azonosíthatók a nagy összegű helyesbítő tételek. Hol szerezhető be? A bizonylatok tételtáblájában, a BSEG-ben található (DMBTR). Példák 1500.75-25000.00123456.00 | |||
| Vállalatkód BUKRS | Az a szervezeti egység, amely egy önálló jogi személyt képvisel, és amelyre pénzügyi kimutatások készülnek. | ||
| Leírás A vállalatkód a SAP Financials egyik alapvető szervezeti egysége. Önálló vállalatot jelöl, saját, kiegyensúlyozott könyveléssel. Minden pénzügyi tranzakciót vállalatkód szintjén könyvelnek. A process miningben a vállalatkód szerinti szűrés elengedhetetlen ahhoz, hogy összehasonlítsa a vállalaton belüli különböző jogi személyek időszakzárási folyamatait. Így azonosíthatók a jól teljesítő egységek bevált gyakorlatai, valamint azok, amelyeknél késedelmek, sok helyesbítés vagy folyamateltérések jelentkeznek. Ez az elemzés egyik fontos dimenziója. Miért fontos? Lehetővé teszi az időszakzárás teljesítményének és a folyamatkövetésnek az összehasonlítását a különböző jogi személyek között, ami elengedhetetlen a csoportszintű pénzügyi elemzéshez. Hol szerezhető be? Ez a mező szinte minden SAP pénzügyi dokumentumtáblában megtalálható, elsősorban a BKPF (fejléc) és a BSEG (tétel) táblában. Példák 10002000US01DE01 | |||
| Automatizált IsAutomated | Jelzi, hogy a tevékenységet felhasználó vagy automatizált rendszer végezte-e. | ||
| Leírás Ez a logikai attribútum különbözteti meg a manuális feladatokat a rendszer által automatikusan végrehajtottaktól, például az ütemezett devizaátértékelési kötegelt feladattól vagy az ismétlődő tételeket könyvelő bottól. Az érték gyakran a tranzakcióhoz tartozó felhasználónév (például „BATCHUSER”) alapján állapítható meg. Az automatizáltság mértékének ismerete segít feltárni a hatékonyság növelésének lehetőségeit. Az attribútum elemzésével láthatóvá válik, mely folyamatlépések manuálisak, és hol érdemes automatizálást mérlegelni. A rendszer által létrehozott tevékenységek kizárásával az emberi munkaterhelés is pontosabban mérhető. Miért fontos? Megkülönbözteti a manuális és a rendszer által végzett tevékenységeket. Ez segít feltárni az automatizálási lehetőségeket, és pontosan mérni a manuális munkaterhelést. Hol szerezhető be? Ez egy származtatott attribútum. Az értékét jellemzően a User Name (USNAM) alapján határozzák meg: az ismert rendszer- vagy kötegelt felhasználói azonosítók listája jelzi az automatizált feladatokat. Példák truefalse | |||
| Egyeztetés állapota ReconciliationStatus | A számlaegyeztetés aktuális állapota, például „Nyitott”, „Felülvizsgálat alatt” vagy „Jóváhagyva”. | ||
| Leírás Ez az attribútum követi a számlaegyeztetés állapotát a munkafolyamat során. Megmutatja, hogy az egyeztetést megkezdték-e, felülvizsgálatra benyújtották-e, jóváhagyták-e vagy elutasították-e. Ez az attribútum fontos az egyeztetési tevékenységek előrehaladásának valós idejű figyeléséhez. Segít azonosítani, mely egyeztetések akadtak el, és mennyi ideje, valamint támogatja az olyan KPI-k mérését, mint a számlaegyeztetési ciklusidő. Átláthatóvá teszi a jóváhagyási folyamatot, és elengedhetetlen az egyeztetési szűk keresztmetszeteket és a csapat munkaterhelését követő dashboardokhoz. Miért fontos? Átláthatóvá teszi az egyeztetési munkafolyamatot, így követhető az előrehaladás, azonosíthatók a szűk keresztmetszetek, és mérhető a felülvizsgálat, valamint a jóváhagyás időtartama. Hol szerezhető be? Ez az információ gyakran külön egyeztetőeszközben (például a BlackLine SAP Account Substantiation and Automation megoldásában) vagy egy egyedi státuszmezőben található. A BKPF/BSEG táblákban általában nincs ilyen szabványos mező. Példák Nincs elkezdveFolyamatbanJóváhagyvaElutasítva | |||
| Lejárt IsOverdue | Számított jelző, amely azt mutatja, hogy egy tevékenység a tervezett határidő után fejeződött-e be. | ||
| Leírás Ez a logikai attribútum összeveti a tevékenység tényleges befejezési idejét (EventTime) a tervezett határidővel (TargetCompletionDate). Ha az esemény időpontja későbbi a tervezett dátumnál, a jelző értéke igaz lesz. Az attribútum közvetlenül támogatja a „Zárási megfelelés és lejárt feladatok” dashboardot és az „Időben lezárt időszakok aránya” KPI-t. Egyértelműen jelzi az ütemtervtől való eltéréseket, így a vezetők gyorsan azonosíthatják a késő feladatokat, felmérhetik azok hatását a teljes ütemezésre, és számon kérhetik a határidők betartását. Miért fontos? Egyértelműen jelzi az ütemterv be nem tartását, így gyorsan azonosíthatók a késő feladatok, és mérhető az időben történő teljesítés. Hol szerezhető be? Ez egy számított attribútum, amelyet a process mining eszköz az EventTime és a TargetCompletionDate összehasonlításával határoz meg. Példák truefalse | |||
| Partner VBUND | A vállalatközi tranzakcióban részt vevő kapcsolt vállalat azonosítója. | ||
| Leírás A partnerazonosító jelöli a vállalatközi tranzakcióban részt vevő másik vállalatkódot. Ez elengedhetetlen a kapcsolt jogi személyek közötti számlaegyeztetéshez. Ez az attribútum közvetlenül támogatja a „Vállalatközi egyeztetési folyamat” dashboardot és a „Vállalatközi egyeztetés ciklusideje” KPI-t. Ha a partnerrel rendelkező tranzakciókra szűr, kifejezetten a vállalatközi egyeztetés hatékonyságát és időszerűségét vizsgálhatja. Ez a folyamat gyakran komoly nehézséget okoz az időszakzárás során. Miért fontos? Kifejezetten a vállalatközi tranzakciókat azonosítja, így célzottan elemezhető a gyakran összetett és időigényes vállalatközi egyeztetés. Hol szerezhető be? A bizonylatok tételtáblájában, a BSEG-ben található (VBUND). Példák 1000US013000 | |||
| Pénzügyi év GJAHR | Az a pénzügyi év, amelyben a tranzakciót könyvelték. | ||
| Leírás A pénzügyi év a pénzügyi adatok rendszerezésének alapja. A Financial Period esetazonosító egyik fontos eleme, és minden tranzakció értelmezéséhez szükséges. Bár gyakran az esetazonosító része, külön attribútumként is hasznos a hosszú távú trendek elemzéséhez. Segítségével évről évre összehasonlítható a zárási ciklusok időtartama, a korrekciók száma és más KPI-k alakulása. Így több év adatai alapján is azonosíthatók a teljesítmény javulásai és romlásai. Miért fontos? Megadja az időbeli összefüggéseket, és lehetővé teszi a zárási folyamat teljesítményének évek közötti összehasonlítását. Hol szerezhető be? A bizonylatfejléc-táblában, a BKPF-ben érhető el (GJAHR). Példák 202320242022 | |||
| Részleg Department | A tevékenységért vagy tranzakcióért felelős funkcionális részleg vagy költséghely. | ||
| Leírás Ez az attribútum azonosítja a tranzakcióhoz kapcsolódó üzleti részleget, például a pénzügyet, az értékesítést vagy a logisztikát. Az érték gyakran a könyveléshez kapcsolódó költséghely törzsadataiból vagy a felhasználó törzsadataiból származik. A részleg szerinti elemzés támogatja a „Zárási csapat munkaterhelésének megoszlása” dashboardot. Segít megérteni, hogyan járulnak hozzá a különböző üzleti területek az időszak végi munkaterheléshez, különösen azáltal, hogy olyan tranzakciókat indítanak, amelyek később helyesbítést vagy egyeztetést igényelhetnek. Rávilágíthat azokra a pénzügyi csapaton kívüli területekre is, amelyek hatással vannak a zárási folyamatra. Miért fontos? Segít elemezni a munkaterhelést és a folyamatok betartását az üzleti területeken, valamint feltárni, hogyan befolyásolják a különböző részlegek a pénzügyi zárás hatékonyságát. Hol szerezhető be? Gyakran a BSEG táblában szereplő költséghelyből (KOSTL) vagy a felelős felhasználó HR-törzsadataiból származik. Ehhez több tábla összekapcsolására lehet szükség. Példák Vállalati pénzügySzállítói számlákPénzügyi tervezés és elemzés | |||
| Sztornó oka ReversalReason | Azt jelölő kód, hogy miért sztornóztak egy pénzügyi bizonylatot. | ||
| Leírás Amikor egy bizonylatot sztornóznak az SAP-ban, okkódot rendelhetnek hozzá, amely megmagyarázza a sztornó célját, például „Sztornózás az aktuális időszakban” vagy „Hibás könyvelés”. Ez az attribútum fontos információt ad arról, miért kellett újra elvégezni a munkát. A sztornóokok elemzése segít feltárni a hibák mintázatait, például a pontatlan adatbevitelt vagy a hibás dátumokat. Az eredmények alapján megelőző intézkedések vezethetők be, javítható a képzés, és fejleszthetők a rendszerellenőrzések. Így csökkenthető a hibák és az ezekből következő sztornók száma, és hatékonyabbá válhat a zárás. Miért fontos? Közvetlenül rávilágít a hibák és az ismételt munka kiváltó okaira, így feltárhatók a folyamatfejlesztés és a hibamegelőzés lehetőségei. Hol szerezhető be? A bizonylatfejléc-táblában, a BKPF-ben található (STGRD). Példák 010205 | |||
| Tervezett befejezési dátum TargetCompletionDate | Egy tevékenység vagy a teljes időszakzárás tervezett határideje. | ||
| Leírás A tervezett befejezési dátum az az ütemezés, amelyhez az időszakzárás folyamatának teljesítményét mérjük. Ez az a határidő, ameddig az egyes mérföldköveket vagy a teljes zárást el kell végezni. Ez az attribútum nélkülözhetetlen a teljesítmény és a megfelelés elemzéséhez. Ebből számítható ki az „Időben lezárt időszakok aránya” KPI, és ez szolgál a „Zárási megfelelés és lejárt feladatok” dashboard alapjául. A rendszer a tényleges eseményidőt a tervezett dátummal összevetve megállapítja, hogy a feladatok a tervek szerint haladnak, késnek, vagy fennáll a késés veszélye. Így a zárási folyamat még időben kezelhető. Miért fontos? Alapot ad annak méréséhez, hogy a zárási tevékenységek időben befejeződnek-e, így támogatja a megfelelés és a teljesítmény nyomon követését, valamint az időben történő teljesítés KPI-jait. Hol szerezhető be? Ez jellemzően külön naptárban, záráskezelő eszközben (például SAP Financial Closing cockpitban) vagy táblázatban karbantartott törzsadat. Nem része a tranzakciós adatoknak. Példák 2023-12-29T23:59:59Z2024-01-03T17:00:00Z2024-01-02T12:00:00Z | |||
| Utómunka IsRework | Számított jelző, amely az utómunkát jelentő tevékenységeket, például a visszafordítást vagy az elutasított egyeztetést azonosítja. | ||
| Leírás Ez a logikai attribútum megjelöli azokat az eseményeket vagy eseménysorozatokat, amelyek a folyamatban ismétlődő körökre vagy javításokra utalnak. Például utómunkának jelölhető, ha a „Reconciliation Reviewed” tevékenységet ugyanazon a számlán egy újabb „Adjusting Journal Entry Posted” követi. Az attribútum segít számszerűsíteni a folyamatveszteséget, és támogatja a „Egyeztetési utómunkák száma” dashboardot, valamint az „Egyeztetési utómunka aránya” KPI-t. Az utómunkák elkülönítésével a csapatok feltárhatják a kiváltó okokat, mérhetik a ciklusidőre gyakorolt hatást, és nyomon követhetik, mennyire eredményesek azok a folyamatfejlesztési kezdeményezések, amelyek célja, hogy elsőre jól végezzék el a feladatot. Miért fontos? A javítások és ismétlések megjelölésével számszerűsíti a folyamat hatékonyságvesztését, és segít mérni, majd csökkenteni a felesleges munkát. Hol szerezhető be? Ez egy számított attribútum. A logikát a process mining eszközben kell meghatározni, konkrét tevékenységsorozatok (például ismétlődő körök) vagy attribútumok (például ha a ReversalReason nem null értékű) alapján. 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 | ||
|---|---|---|---|
| Devizaértékelési futtatás | Ez egy olyan program futtatását jelenti, amely az időszak végi árfolyamok alapján átértékeli a devizában nyilvántartott nyitott tételeket és egyenlegeket. A futtatásra jellemzően kötegelt feladatként, az időszakzárás részeként kerül sor. | ||
| Miért fontos? Ez a lépés elengedhetetlen a pontos pénzügyi beszámoláshoz a nemzetközi szervezeteknél. A futtatás időpontjának és időtartamának elemzése segít feltárni az automatizálási és teljesítményoptimalizálási lehetőségeket. Hol szerezhető be? A devizaértékelési program, például a FAGL_FCV vagy az F.05 futtatási naplóiból rögzíthető. A TBTCO és TBTCP táblák kötegelt feladatokra vonatkozó adatai tartalmazzák a futtatás időbélyegeit. Rögzítés A FAGL_FC_VALUATION vagy SAPF100 programhoz tartozó kötegelt feladatok naplóiból (TBTCO tábla). Eseménytípus explicit | |||
| Helyesbítő könyvelési tétel rögzítve | A helyesbítő könyvelési tételt az időszak kezdeti tranzakciófeldolgozása után könyvelik a számlaegyenlegek korrigálására. Az SAP ezt standard pénzügyi bizonylatként rögzíti. | ||
| Miért fontos? Ez az elemzés elengedhetetlen a helyesbítő tételek mennyiségének vizsgálatához. A sok helyesbítés arra utalhat, hogy a megelőző folyamatok pontatlanok, ezért ez a folyamatfejlesztési kezdeményezések egyik fontos célterülete. Hol szerezhető be? A BKPF és BSEG táblákban található. Ezeket a tételeket jellemzően egy kifejezetten helyesbítésekhez fenntartott bizonylattípus (BKPF-BLART), illetve a 13–16. speciális zárási időszakokban történő könyvelés alapján lehet azonosítani. Rögzítés Szűrje a BKPF táblát a speciális időszakokban könyvelt vagy helyesbítő bizonylattípusú dokumentumokra. Eseménytípus explicit | |||
| Időszak megnyitva könyvelésre | Ez jelöli a pénzügyi időszak hivatalos kezdetét, amelytől a tranzakciók könyvelhetők a főkönyvbe. A jogosult felhasználó egyértelmű konfigurációmódosítással nyitja meg a könyvelési időszakot egy vagy több vállalatkódhoz. | ||
| Miért fontos? Ez az esemény jelöli az időszakzárási folyamat esetének hivatalos kezdetét. Az ettől az időponttól számított idő elemzésével megérthető a pénzügyi időszak teljes életciklusa. Hol szerezhető be? Az OB52 tranzakcióval végzett könyvelésiidőszak-módosításokat naplózza a rendszer. Ezek a T001B konfigurációs tábla változásdokumentumainak, jellemzően a CDHDR és CDPOS tábláknak az elemzésével nyerhetők ki. Rögzítés Kinyerés a T001B tábla változásdokumentumaiból (CDHDR/CDPOS). Eseménytípus explicit | |||
| Könyvelési időszak lezárva | A könyvelési időszak hivatalos lezárását jelenti, amely megakadályozza a további operatív könyvelési tételek rögzítését. Ez védi a lezárt időszak pénzügyi adatainak sértetlenségét, és kifejezett konfigurációmódosítással jár. | ||
| Miért fontos? Ez az időszakzárási folyamat hivatalos záróeseménye. Elengedhetetlen a teljes időszakzárási ciklusidő pontos kiszámításához és a határidőre történő teljesítés méréséhez. Hol szerezhető be? A rendszer rögzíti az időszakok OB52 tranzakcióval történő lezárását. Ezek a módosítások a T001B konfigurációs tábla változásdokumentumainak (CDHDR és CDPOS táblák) elemzésével találhatók meg. Rögzítés Kinyerés a T001B tábla változásdokumentumaiból (CDHDR/CDPOS). Eseménytípus explicit | |||
| Pénzügyi kimutatások generálva | Azt az időpontot jelöli, amikor elkészülnek a hivatalos pénzügyi kimutatások, például az eredménykimutatás és a mérleg. Ezt az eseményt jellemzően egy adott jelentéskészítő program futtatásának követésével rögzítik. | ||
| Miért fontos? Ez fontos mérföldkő: az adatfeldolgozás végét, valamint a végső ellenőrzési és jóváhagyási szakasz kezdetét jelzi. A jóváhagyásig eltelt idő fontos KPI. Hol szerezhető be? A rendszer-auditnaplókból, például az STAD-ból következtethető ki, amelyek rögzítik a pénzügyi kimutatásokat előállító program futtatását, leggyakrabban az F.01 tranzakcióét. Rögzítés Az F.01 pénzügyi kimutatási tranzakció futtatását rögzítő rendszer naplóiból (STAD). Eseménytípus inferred | |||
| Számlaegyeztetés megkezdve | A főkönyvi számlák egy adott időszakra vonatkozó egyeztetési folyamatának kezdetét jelöli. A standard SAP ECC-ben ez nem különálló esemény, ezért jellemzően kapcsolódó tevékenységekből, például egy fontos jelentés első futtatásából következtethető ki. | ||
| Miért fontos? Ez az esemény fontos mérföldkövet ad a teljes egyeztetési szakasz időtartamának méréséhez. Az egyeztetés kezdetének ismerete elengedhetetlen a számlaegyeztetési ciklusidő KPI méréséhez. Hol szerezhető be? Az eseményt a rendszer nem naplózza kifejezetten. Más adatforrásokból kell kikövetkeztetni, például az STAD tranzakció rendszer-auditnaplójából, amely rögzítheti egy egyenlegkimutatás, például a FAGLB03 vagy FS10N első futtatását. Rögzítés Következtessen a rendszer naplóiban szereplő releváns jelentéstranzakciók (például FAGLB03) első futtatásából. Eseménytípus inferred | |||
| Egyeztetés felülvizsgálva | Azt jelzi, hogy egy adott számla vagy számlacsoport egyeztetését felülvizsgálták és jóváhagyták. A standard SAP ECC ezt az eseményt nem naplózza kifejezetten, a kezelése gyakran offline ellenőrzésekkel vagy egyedi megoldásokkal történik. | ||
| Miért fontos? A felülvizsgálatok időzítésének követése segít feltárni a zárási folyamat ellenőrzési és felügyeleti szakaszainak szűk keresztmetszeteit. Rávilágíthat a vezetők elérhetetlensége vagy az ismételt munka okozta késedelmekre. Hol szerezhető be? Ez az információ nem érhető el a standard ECC-táblákban. Rögzítéséhez egyedi megoldásra van szükség, például egy állapotmezőre egy egyedi Z-táblában, egy egyszerű munkafolyamatra vagy egy erre szakosodott külső egyeztetőeszközzel való integrációra. Rögzítés Ha van ilyen megoldás, rögzítse az állapotváltozást az egyedi munkafolyamatból vagy Z-táblából. Eseménytípus inferred | |||
| Elhatárolás vagy céltartalék könyvelése | Ez egy elhatárolás, időbeli elhatárolás vagy céltartalék könyvelését jelenti, amelyre jellemzően az időszak végén kerül sor. Az SAP-ban nincs külön eseménytípus erre, ezért az esemény a jellemzőik alapján azonosított könyvelési tételekből következtethető ki. | ||
| Miért fontos? Ezeknek a tételeknek az elkülönítése segít az elhatárolások kezelését végző részfolyamat elemzésében. Az elhatárolások nagy száma vagy gyakori módosítása a folyamatfejlesztés lehetőségére utalhat. Hol szerezhető be? A BKPF és BSEG pénzügyi dokumentumtáblákból következtethető ki. A tételek azonosíthatók egy adott bizonylattípus (BKPF-BLART), egyedi főkönyvi számla (BSEG-HKONT) vagy a fejlécszövegben szereplő kulcsszavak (BKPF-BKTXT) alapján. Rögzítés A BKPF/BSEG táblák szűrése bizonylattípus, adott főkönyvi számlák vagy szövegmezők alapján. Eseménytípus inferred | |||
| Főkönyvi kivonat generálva | A főkönyvi kivonatot előállító jelentés futtatását jelöli. Ez fontos lépés annak ellenőrzéséhez, hogy a tartozik és követel összegek megegyeznek-e a hivatalos pénzügyi kimutatások elkészítése előtt. | ||
| Miért fontos? Ez fontos ellenőrzési pont a végleges beszámoló elkészítése előtt. Ha a jelentést többször is lefuttatják, az arra utalhat, hogy a mögöttes adatokban hibákat találtak és javítottak, ami késedelmet okozhat. Hol szerezhető be? A rendszer-auditnaplókból, például az STAD tranzakcióból következtethető ki, amely rögzítheti a főkönyvi kivonatot készítő jelentések, például az S_ALR_87012277 vagy az F.01 futtatását. Rögzítés A jelentésfuttató tranzakciókódokat rögzítő rendszer naplóiból (STAD). Eseménytípus inferred | |||
| GR/IR kiegyenlítési futtatás végrehajtva | Az áruátvételi/számlaátvételi számla automatikus kiegyenlítő programjának futtatása. A program összepárosítja a megfelelő áruátvételeket és számlaátvételeket, majd kiegyenlíti egymással a tételeket. | ||
| Miért fontos? A GR/IR számla gyakran okoz egyeztetési problémákat. Ennek az eseménynek a figyelése megmutatja, hogy az automatizált lépés megfelelően fut-e, és segít számszerűsíteni a manuális utánkövetést igénylő kivételeket. Hol szerezhető be? A futtatást a kötegelt feladatok naplói rögzítik (SM37 tranzakció). A program jellemzően az SAPF124, amelyet az F.13 tranzakcióval futtatnak. A feladatnaplókat tároló táblák, például a TBTCO, tartalmazzák a szükséges időbélyegeket. Rögzítés Az SAPF124 kiegyenlítő program kötegelt feladatainak naplóiból (TBTCO tábla). Eseménytípus explicit | |||
| Stornóbizonylat könyvelve | Ez az esemény egy korábban könyvelt tételt visszafordító bizonylat könyvelését rögzíti, amelyre gyakran hiba javítása miatt kerül sor. Az SAP kifejezett kapcsolatot hoz létre a stornóbizonylat és az eredeti bizonylat között. | ||
| Miért fontos? A sok sztornó pontatlan adatbevitelre vagy a folyamatellenőrzés hiányosságaira utalhat. Ezeknek az eseményeknek a követése segít mérni az elsőre helyes teljesítés arányát, és feltárni a fejlesztendő területeket. Hol szerezhető be? A stornóbizonylatok a BKPF táblában találhatók. Gyakran az FB08 tranzakcióval hozzák létre őket, és a BKPF-STBLG mezőben hivatkoznak a sztornózott bizonylat számára. Rögzítés Azonosítsa azokat a bizonylatokat, amelyeknél a BKPF-STBLG mező ki van töltve, vagy amelyeket sztornózó T-kódokkal hoztak létre. Eseménytípus explicit | |||
| Vállalatközi bizonylat kiegyenlítése | Ez az esemény két különböző vállalatkód közötti nyitott tétel kiegyenlítését jelöli, vagyis azt, hogy a vállalatközi tranzakciót rendezték vagy egyeztették. Az SAP ezt kifejezett pénzügyi könyvelésként, jellemzően kiegyenlítő bizonylatként rögzíti. | ||
| Miért fontos? A vállalatközi tételek kiegyenlítésének késedelme gyakori szűk keresztmetszet a zárási folyamatban. Ennek az eseménynek a követése elengedhetetlen a vállalatközi egyeztetési ciklusidő méréséhez és javításához. Hol szerezhető be? A BKPF és BSEG pénzügyi dokumentumai alapján azonosítható. A kiegyenlítő bizonylat összekapcsolja és lezárja a nyitott tételeket, az esemény időbélyege pedig a kiegyenlítés dátuma (BSEG-AUGDT). A vállalatközi tranzakciók a partnerre vonatkozó mezők alapján azonosíthatók. Rögzítés A BKPF/BSEG táblákban azonosítsa azokat a kiegyenlítő bizonylatokat, amelyek partnerrel rendelkező tételeket érintenek. Eseménytípus explicit | |||
Útmutatók az adatok kinyeréséhez
Lépések
- Nyissa meg az SAP Query eszközt: Jelentkezzen be az SAP ECC rendszerbe. Nyissa meg az
SQVItranzakciót (QuickViewer). 2. Hozzon létre új lekérdezést: Adjon nevet a lekérdezésnek, példáulZ_R2R_PERIOD_CLOSE, majd kattintson a „Create” gombra. A felugró ablakban adjon meg egy leíró címet, például „Record to Report időszakzárási adatok kinyerése”. A „Data source” mezőben válassza a „Table join” lehetőséget. 3. Állítsa be a táblakapcsolatokat: Adja hozzá elsődleges táblaként aBKPF-et (számviteli bizonylat fejléce), majd aBSEG-et (számviteli bizonylat tételei). Az SAP automatikusan felajánlja a kapcsolási feltételeket (MANDT, BUKRS, BELNR, GJAHR). Ellenőrizze és fogadja el ezeket. Az időszaknyitási és -zárási tevékenységekhez külön lekérdezésre lesz szükség, amely összekapcsolja aCDHDRés aCDPOStáblát. 4. Válassza ki a kimeneti mezőket (List Fields): Lépjen a „List fld. select.” lapra. Válassza ki az eseménynaplóhoz szükséges mezőket az elérhető táblákból. Ilyen például aBKPF-BUKRS,BKPF-BELNR,BKPF-GJAHR,BKPF-MONAT,BKPF-CPUDT,BKPF-CPUTM,BKPF-USNAM,BKPF-BLART,BSEG-HKONT,BSEG-DMBTR, valamint az igény szerinti további mezők. 5. Adja meg a bemeneti paramétereket (Selection Fields): Lépjen a „Selection fields” lapra. Válassza ki azokat a mezőket, amelyekkel a futtatás során szűrni szeretné az adatokat. A legfontosabbak aBKPF-BUKRS(vállalatkód) és aBKPF-GJAHR(pénzügyi év). Felveheti aBKPF-MONAT(könyvelési időszak) és aBKPF-BLART(bizonylattípus) mezőt is. 6. Hozzon létre változatot minden tevékenységhez: Mivel az SQVI nem tud különböző adatkiválasztásokat (például SQL UNION műveletet) egyesíteni, a lekérdezést többször kell futtatnia. Minden tevékenységnél (például „Elhatárolás vagy céltartalék könyvelése”) futtassa le a lekérdezést, majd a kiválasztási képernyőn adja meg a megfelelő szűrőértékeket, például az elhatárolásokhoz tartozó bizonylattípusokat. Mentse el a kiválasztási feltételeket változatként. Ismételje meg ezt minden kinyerhető tevékenységnél. 7. Futtassa le a lekérdezést, és nyerje ki az adatokat: Futtassa le a lekérdezést minden létrehozott változathoz. A lekérdezés az adott tevékenységhez beállított szűrőkkel fut le. 8. Exportálja az eredményeket: Az eredményképernyőn exportálja az adatokat egy helyi fájlba. A leggyakoribb formátum a „Spreadsheet”. Ismételje meg az exportálást minden változatnál. 9. Egyesítse és alakítsa át az adatokat: Nyissa meg az exportált fájlokat egy táblázatkezelőben vagy használjon szkriptet. Egyesítse manuálisan az összes fájl adatait egyetlen főfájlba. 10. Adjon hozzá állandó és számított oszlopokat: Az egyesített fájlban vegye fel azokat az oszlopokat, amelyek nem nyerhetők ki közvetlenül az SAP-táblákból. Ilyen azActivityName(állítsa be manuálisan annak alapján, hogy melyik változatból származik az adat), aFinancialPeriod(a pénzügyi év és az időszak összefűzésével), azEventTime(a dátum- és időmezők egyesítésével), aSourceSystemés aLastDataUpdate. 11. Készítse elő a feltöltésre: Mentse a végleges fájlt CSV- vagy Excel-formátumban, a process mining eszköz által elvárt oszlopnevekkel. Feltöltés előtt ellenőrizze az adattípusokat és a formázást.
Konfiguráció
- Adatforrás: Táblakapcsolás az SAP Queryben (SQVI). A fő táblák: BKPF, BSEG, CDHDR és CDPOS. * Dátumtartomány: Javasoljuk, hogy legalább 3–6 teljes pénzügyi időszak adatait nyerje ki, hogy felismerhetők legyenek a mintázatok. A szűrőt a
BKPF-GJAHR(pénzügyi év) és aBKPF-MONAT(időszak) mezőre állítsa be. * Vállalatkód szerinti szűrés: Mindig szűrjön aBKPF-BUKRS(vállalatkód) mezőre, hogy korlátozza az adatmennyiséget, és az elemzést meghatározott jogi személyekre összpontosítsa. Nem javasoljuk, hogy egyszerre az összes vállalatkód adatait nyerje ki. * Bizonylattípus szerinti szűrés: ABKPF-BLART(bizonylattípus) mezővel szűrje ki az olyan tevékenységeket, mint az elhatárolások, a korrekciók vagy a visszafordítások. A szervezetére érvényes bizonylattípusokat külön kell meghatároznia. * Előfeltételek: Az adatkinyerést végző felhasználónak jogosultsággal kell rendelkeznie azSQVItranzakció használatához, valamint olvasási hozzáféréssel a megfelelő pénzügyi táblákhoz (például az S_TABU_DIS jogosultsági objektumon keresztül). * Teljesítmény: A BKPF és a BSEG összekapcsolása jelentős erőforrásokat igényelhet. Az adatkinyerést csúcsidőn kívül futtassa. Kerülje a túl tág dátumtartományokat, és ne hagyja szűretlenül a vállalatkódot, mert ez memóriahibát vagy időtúllépést okozhat.
Példa-lekérdezés sql
/*
LOGICAL REPRESENTATION FOR SAP QUERY (SQVI)
This is not a single executable script. Due to limitations in SQVI, you must create a base query joining BKPF and BSEG, then run it multiple times using different selection screen variants to extract each activity below. The results must be combined manually.
A separate query joining CDHDR and CDPOS is needed for period open/close activities.
*/
-- Activity 1: Period Opened For Posting
-- Required Query: Join CDHDR and CDPOS in SQVI.
SELECT
CONCAT(T001B.VONJ1, T001B.POPER) AS FinancialPeriod,
'Period Opened For Posting' AS ActivityName,
TO_TIMESTAMP(CONCAT(CDHDR.UDATE, CDHDR.UTIME), 'YYYYMMDDHH24MISS') AS EventTime,
'[SAP ECC SID]' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
T001B.BUKRS AS BUKRS,
NULL AS BELNR,
CDHDR.USERNAME AS USNAM,
NULL AS HKONT,
NULL AS BLART,
NULL AS DMBTR,
NULL AS JournalEntryType
FROM CDHDR
JOIN CDPOS ON CDHDR.CHANGENR = CDPOS.CHANGENR
JOIN T001B ON SUBSTRING(CDPOS.TABKEY, 4, 4) = T001B.BUKRS
WHERE CDHDR.OBJECTCLAS = 'DEBI_BUKRS' AND CDPOS.TABNAME = 'T001B' AND CDPOS.FNAME = 'OFPER' AND CDPOS.VALUE_NEW > CDPOS.VALUE_OLD;
UNION ALL
-- Activity 2: Accrual Or Provision Posted
SELECT
CONCAT(BKPF.GJAHR, BKPF.MONAT) AS FinancialPeriod,
'Accrual Or Provision Posted' AS ActivityName,
TO_TIMESTAMP(CONCAT(BKPF.CPUDT, BKPF.CPUTM), 'YYYYMMDDHH24MISS') AS EventTime,
'[SAP ECC SID]' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
BKPF.BUKRS AS BUKRS,
BKPF.BELNR AS BELNR,
BKPF.USNAM AS USNAM,
BSEG.HKONT AS HKONT,
BKPF.BLART AS BLART,
BSEG.DMBTR AS DMBTR,
'Accrual' AS JournalEntryType
FROM BKPF
JOIN BSEG ON BKPF.BUKRS = BSEG.BUKRS AND BKPF.BELNR = BSEG.BELNR AND BKPF.GJAHR = BSEG.GJAHR
WHERE BKPF.BLART IN ('SA', '[Your Accrual Doc Type]'); -- Filter by document types used for accruals
UNION ALL
-- Activity 3: Intercompany Document Cleared
SELECT
CONCAT(BKPF.GJAHR, BKPF.MONAT) AS FinancialPeriod,
'Intercompany Document Cleared' AS ActivityName,
TO_TIMESTAMP(CONCAT(BKPF.CPUDT, BKPF.CPUTM), 'YYYYMMDDHH24MISS') AS EventTime,
'[SAP ECC SID]' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
BKPF.BUKRS AS BUKRS,
BKPF.AUGBL AS BELNR, -- The clearing document number
BKPF.USNAM AS USNAM,
BSEG.HKONT AS HKONT,
BKPF.BLART AS BLART,
BSEG.DMBTR AS DMBTR,
'Clearing' AS JournalEntryType
FROM BKPF
JOIN BSEG ON BKPF.BUKRS = BSEG.BUKRS AND BKPF.BELNR = BSEG.BELNR AND BKPF.GJAHR = BSEG.GJAHR
WHERE BSEG.AUGBL IS NOT NULL AND BSEG.VBUND IS NOT NULL; -- Identify cleared items with an intercompany trading partner
UNION ALL
-- Activity 4: Foreign Currency Valuation Run
SELECT
CONCAT(BKPF.GJAHR, BKPF.MONAT) AS FinancialPeriod,
'Foreign Currency Valuation Run' AS ActivityName,
TO_TIMESTAMP(CONCAT(BKPF.CPUDT, BKPF.CPUTM), 'YYYYMMDDHH24MISS') AS EventTime,
'[SAP ECC SID]' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
BKPF.BUKRS AS BUKRS,
BKPF.BELNR AS BELNR,
BKPF.USNAM AS USNAM,
BSEG.HKONT AS HKONT,
BKPF.BLART AS BLART,
BSEG.DMBTR AS DMBTR,
'Valuation' AS JournalEntryType
FROM BKPF
JOIN BSEG ON BKPF.BUKRS = BSEG.BUKRS AND BKPF.BELNR = BSEG.BELNR AND BKPF.GJAHR = BSEG.GJAHR
WHERE BKPF.TCODE IN ('FAGL_FCV', 'FBB1'); -- Filter by FCV transaction code
UNION ALL
-- Activity 5: GR/IR Clearing Run Executed
SELECT
CONCAT(BKPF.GJAHR, BKPF.MONAT) AS FinancialPeriod,
'GR/IR Clearing Run Executed' AS ActivityName,
TO_TIMESTAMP(CONCAT(BKPF.CPUDT, BKPF.CPUTM), 'YYYYMMDDHH24MISS') AS EventTime,
'[SAP ECC SID]' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
BKPF.BUKRS AS BUKRS,
BKPF.BELNR AS BELNR,
BKPF.USNAM AS USNAM,
BSEG.HKONT AS HKONT,
BKPF.BLART AS BLART,
BSEG.DMBTR AS DMBTR,
'Clearing' AS JournalEntryType
FROM BKPF
JOIN BSEG ON BKPF.BUKRS = BSEG.BUKRS AND BKPF.BELNR = BSEG.BELNR AND BKPF.GJAHR = BSEG.GJAHR
WHERE BKPF.TCODE IN ('F.13', 'F13E'); -- Filter by automated clearing transaction codes
UNION ALL
-- Activity 6: Account Reconciliation Started (Proxy)
-- This is a proxy. It takes the earliest adjusting journal entry timestamp for the period.
SELECT
A.FinancialPeriod,
'Account Reconciliation Started' AS ActivityName,
MIN(A.EventTime) AS EventTime,
'[SAP ECC SID]' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
A.BUKRS,
NULL AS BELNR,
NULL AS USNAM,
NULL AS HKONT,
NULL AS BLART,
NULL AS DMBTR,
NULL AS JournalEntryType
FROM (
SELECT CONCAT(BKPF.GJAHR, BKPF.MONAT) AS FinancialPeriod,
TO_TIMESTAMP(CONCAT(BKPF.CPUDT, BKPF.CPUTM), 'YYYYMMDDHH24MISS') AS EventTime,
BKPF.BUKRS
FROM BKPF
WHERE BKPF.BLART IN ('AB', '[Your Adjusting Doc Type]')
) AS A
GROUP BY A.FinancialPeriod, A.BUKRS;
UNION ALL
-- Activity 7: Adjusting Journal Entry Posted
SELECT
CONCAT(BKPF.GJAHR, BKPF.MONAT) AS FinancialPeriod,
'Adjusting Journal Entry Posted' AS ActivityName,
TO_TIMESTAMP(CONCAT(BKPF.CPUDT, BKPF.CPUTM), 'YYYYMMDDHH24MISS') AS EventTime,
'[SAP ECC SID]' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
BKPF.BUKRS AS BUKRS,
BKPF.BELNR AS BELNR,
BKPF.USNAM AS USNAM,
BSEG.HKONT AS HKONT,
BKPF.BLART AS BLART,
BSEG.DMBTR AS DMBTR,
'Adjusting' AS JournalEntryType
FROM BKPF
JOIN BSEG ON BKPF.BUKRS = BSEG.BUKRS AND BKPF.BELNR = BSEG.BELNR AND BKPF.GJAHR = BSEG.GJAHR
WHERE BKPF.BLART IN ('AB', '[Your Adjusting Doc Type]'); -- Filter by document types for adjustments
UNION ALL
-- Activity 8: Reversal Entry Posted
SELECT
CONCAT(BKPF.GJAHR, BKPF.MONAT) AS FinancialPeriod,
'Reversal Entry Posted' AS ActivityName,
TO_TIMESTAMP(CONCAT(BKPF.CPUDT, BKPF.CPUTM), 'YYYYMMDDHH24MISS') AS EventTime,
'[SAP ECC SID]' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
BKPF.BUKRS AS BUKRS,
BKPF.BELNR AS BELNR,
BKPF.USNAM AS USNAM,
BSEG.HKONT AS HKONT,
BKPF.BLART AS BLART,
BSEG.DMBTR AS DMBTR,
'Reversal' AS JournalEntryType
FROM BKPF
JOIN BSEG ON BKPF.BUKRS = BSEG.BUKRS AND BKPF.BELNR = BSEG.BELNR AND BKPF.GJAHR = BSEG.GJAHR
WHERE BKPF.STBLG IS NOT NULL; -- STBLG (Reversed Document Number) is populated for reversals
UNION ALL
-- Activity 9: Period Closed For Posting
-- Required Query: Join CDHDR and CDPOS in SQVI.
SELECT
CONCAT(T001B.VONJ1, T001B.POPER) AS FinancialPeriod,
'Period Closed For Posting' AS ActivityName,
TO_TIMESTAMP(CONCAT(CDHDR.UDATE, CDHDR.UTIME), 'YYYYMMDDHH24MISS') AS EventTime,
'[SAP ECC SID]' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
T001B.BUKRS AS BUKRS,
NULL AS BELNR,
CDHDR.USERNAME AS USNAM,
NULL AS HKONT,
NULL AS BLART,
NULL AS DMBTR,
NULL AS JournalEntryType
FROM CDHDR
JOIN CDPOS ON CDHDR.CHANGENR = CDPOS.CHANGENR
JOIN T001B ON SUBSTRING(CDPOS.TABKEY, 4, 4) = T001B.BUKRS
WHERE CDHDR.OBJECTCLAS = 'DEBI_BUKRS' AND CDPOS.TABNAME = 'T001B' AND CDPOS.FNAME = 'OFPER' AND CDPOS.VALUE_NEW < CDPOS.VALUE_OLD;
/*
-- Activities Not Extractable via this Method
-- The following activities are not data postings and cannot be reliably extracted by querying finance tables BKPF/BSEG.
-- Extraction would require analyzing application logs (SLG1), system logs (STAT), or custom-built logging solutions.
-- Activity: Trial Balance Report Generated
-- Activity: Financial Statements Generated
-- Activity: Reconciliation Reviewed
*/ Lépések
- A program hatókörének és működésének megtervezése: Határozza meg a 12 szükséges tevékenység azonosításának pontos logikáját. Egyeztessen az üzleti folyamatok felelőseivel és az SAP funkcionális elemzőivel, hogy az adott SAP ECC-környezetben mely bizonylattípusok, főkönyvi számlák és programnevek kapcsolódnak az időszakzárási tevékenységekhez.
- ABAP-program létrehozása: Az
SE38tranzakcióban (ABAP Editor) hozzon létre egy új futtatható programot, példáulZ_PM_R2R_EXTRACTIONnéven. Adjon meg leíró címet, és a program típusaként válassza az „Executable Program” lehetőséget. - Kiválasztási képernyő meghatározása: A programban a
PARAMETERSésSELECT-OPTIONShasználatával hozzon létre kiválasztási képernyőt. Ezen a felhasználók megadhatják az adatkinyerés hatókörét, többek között a vállalatkódot (BUKRS), a pénzügyi évet (GJAHR) és a könyvelési időszakot (MONAT). Ez elengedhetetlen az adatmennyiség szabályozásához. - Adatszerkezetek deklarálása: Határozzon meg egy belső táblastruktúrát a végleges eseménynapló adatainak tárolására. A struktúrának tartalmaznia kell az összes szükséges és javasolt attribútumot:
FinancialPeriod,ActivityName,EventTime,SourceSystem,LastDataUpdate,BUKRS,BELNR,USNAM,HKONT,BLART,DMBTRésJournalEntryType. - Az adatkinyerési logika megvalósítása: Írja meg az ABAP-program fő logikáját a 12 tevékenység adatainak kiválasztásához. Minden tevékenységnél kérdezze le a megfelelő SAP-táblákat (például BKPF, BSEG, TBTCO, CDHDR), és töltse fel az adatokat egy köztes belső táblába. Kiindulásként használja a kapcsolódó ABAP-lekérdezési szakaszban megadott logikát.
- Következtetett tevékenységek azonosítása: A szabványos SAP-naplókban nem szereplő tevékenységeknél, például az „Egyeztetés elindult” vagy az „Egyeztetés ellenőrizve” esetében valósítsa meg az egyeztetett következtetési logikát. Ehhez például ellenőrizheti egy adott jelentés első futtatását, vagy lekérdezheti az egyedi „Z-táblákat”, ha vannak ilyenek.
- Eseményadatok egyesítése: Az egyes tevékenységek adatainak kinyerése után fűzze össze az egyes köztes táblák rekordjait a végleges, egyesített belső táblában. Töltse ki helyesen az
EventTimemezőt a megfelelő forrásmezőből, például a bizonylat könyvelési dátumából és időpontjából vagy a feladat kezdési dátumából és időpontjából. - Az adatok egységesítése és formázása: A kimenet előállítása előtt egységesítse a fontos mezőket. A pénzügyi év és az időszak összefűzésével állítsa elő a
FinancialPeriodazonosítót. Adjon meg állandó értékeket aSourceSystemés aLastDataUpdatemezőhöz. Az időbélyegek formátuma legyen egységes. - Kimenet előállításának megvalósítása: Egészítse ki a programot a végleges belső tábla exportálásával. A leggyakoribb megoldás az adatok CSV- vagy tabulátorral tagolt fájlba írása az SAP Application Serveren az
OPEN DATASEThasználatával, vagy a fájl közvetlen letöltésének engedélyezése a felhasználó gépére aGUI_DOWNLOADfunkciómodullal. - Tesztelés és ellenőrzés: Alaposan tesztelje a programot több vállalatkód és időszak adatait tartalmazó, reprezentatív adatkészlettel. Az ellenőrzési lépésekkel győződjön meg az adatok pontosságáról és teljességéről. A funkcionális szakértők visszajelzései alapján finomítsa a kiválasztási logikát.
- Futtatás ütemezése (nem kötelező): Az ellenőrzés után a program az
SM36tranzakcióval háttérfeladatként ütemezhető. Így az eseménynapló adatainak kinyerése rendszeresen, automatikusan, manuális beavatkozás nélkül történhet.
Konfiguráció
- Kiválasztási feltételek: A programban legyen kiválasztási képernyő az adatok szűréséhez. A fő szűrők:
Company Code (BUKRS): Kötelező, ezzel korlátozható a hatókör az érintett jogi személyekre.Fiscal Year (GJAHR): Kötelező, ezzel adható meg az adatkinyerés elsődleges éve.Posting Period (MONAT): Kötelező, ezzel választhatók ki a pénzügyi időszakok.
- Tevékenységspecifikus beállítások: Számos kiválasztási feltétel az adott SAP-konfigurációtól függ. Ezeket paraméterként vagy állandó értékként kell beállítani a programban:
Accrual/Provision Document Types: Az elhatárolások és céltartalékok könyvelésének azonosítására használt bizonylattípusok (BLART).Adjusting Entry Document Types: A korrekciós könyvelési tételek azonosítására használt bizonylattípusok.Background Job/Program Names: A devizaátértékeléshez (példáulFAGL_FCV), a GR/IR-elszámoláshoz (példáulSAPF124), a főkönyvi kivonatokhoz és a pénzügyi kimutatások előállításához (példáulRFBILA00) használt programok technikai nevei.
- Dátumtartomány: Bár az elsődleges kiválasztás pénzügyi év és időszak szerint történik, a háttérlogikának figyelembe kell vennie az események teljes dátumát és időpontját. Első elemzéshez az utolsó 3–6 lezárt pénzügyi időszak adatainak kinyerését javasoljuk.
- Teljesítmény: Nagy SAP-környezetekben a program teljesítménye különösen fontos. Az adatbázis-lekérdezések használjanak indexelt mezőket, különösen a BKPF és a BSEG táblában. Ne kérdezze le az összes mezőt (
SELECT *), és szükség esetén kezelje az adatokat kisebb csomagokban. - Jogosultságok: A programot futtató felhasználónak vagy szolgáltatásfióknak hozzáférési jogosultságra van szüksége minden lekérdezett táblához (
BKPF,BSEG,TBTCO,TBTCP,CDHDR,CDPOS), valamint az olyan tranzakciók futtatásához, mint azSE38(fejlesztéshez) és azSM37/SM36(ütemezéshez és felügyelethez).
Példa-lekérdezés abap
REPORT Z_PM_R2R_EXTRACTION.
" ====================================================================
" DATA DECLARATIONS
" ====================================================================
TYPES: BEGIN OF ty_event_log,
FinancialPeriod TYPE string,
ActivityName TYPE string,
EventTime TYPE timestamp,
SourceSystem TYPE string,
LastDataUpdate TYPE timestamp,
BUKRS TYPE bukrs,
BELNR TYPE belnr_d,
USNAM TYPE usnam,
HKONT TYPE hkont,
BLART TYPE blart,
DMBTR TYPE dmbtr,
JournalEntryType TYPE string,
END OF ty_event_log.
DATA: lt_final_log TYPE STANDARD TABLE OF ty_event_log,
ls_log_entry LIKE LINE OF lt_final_log.
DATA: lv_source_system TYPE string VALUE 'SAP ECC'.
GET TIME STAMP FIELD ls_log_entry-LastDataUpdate.
" ====================================================================
" SELECTION SCREEN
" ====================================================================
SELECT-OPTIONS: s_bukrs FOR ls_log_entry-bukrs OBLIGATORY,
s_gjahr FOR bkpf-gjahr OBLIGATORY,
s_monat FOR bkpf-monat OBLIGATORY.
PARAMETERS: p_accrl TYPE blart DEFAULT 'SA', " Example Doc Type for Accruals
p_adjst TYPE blart DEFAULT 'AJ', " Example Doc Type for Adjustments
p_fcv TYPE btcjob DEFAULT 'FAGL_FCV*', " Program for FC Valuation
p_grir TYPE btcjob DEFAULT 'SAPF124*', " Program for GR/IR Clearing
p_fs TYPE btcjob DEFAULT 'RFBILA00'. " Program for Fin. Statements
" ====================================================================
" MAIN LOGIC
" ====================================================================
START-OF-SELECTION.
" --- 1. Period Opened For Posting ---
" Note: This is complex. This example queries change documents for posting period config (T001B).
SELECT h~objectid, h~udate, h~utime, h~username
INTO TABLE @DATA(lt_period_open)
FROM cdhdr AS h
WHERE h~objectclas = 'V_T001B' AND h~change_ind = 'U'.
LOOP AT lt_period_open INTO DATA(ls_period_open).
" Further logic needed to parse OBJECTID and check CDPOS for opening a period.
" This is a simplified placeholder for a complex logic.
ls_log_entry-ActivityName = 'Period Opened For Posting'.
" Populate other fields... append to lt_final_log
ENDLOOP.
" --- 2. Accrual Or Provision Posted ---
SELECT h~bukrs, h~belnr, h~gjahr, h~monat, h~blart, h~usnam, h~cputm, h~cpudt, i~hkont, i~dmbtr
FROM bkpf AS h JOIN bseg AS i ON h~belnr = i~belnr AND h~bukrs = i~bukrs AND h~gjahr = i~gjahr
INTO CORRESPONDING FIELDS OF TABLE @DATA(lt_accrual)
WHERE h~bukrs IN @s_bukrs AND h~gjahr IN @s_gjahr AND h~monat IN @s_monat AND h~blart = @p_accrl.
LOOP AT lt_accrual INTO DATA(ls_accrual).
CLEAR ls_log_entry.
CONVERT DATE ls_accrual-cpudt TIME ls_accrual-cputm INTO TIME STAMP ls_log_entry-EventTime TIME ZONE sy-zonlo.
CONCATENATE ls_accrual-gjahr ls_accrual-monat INTO ls_log_entry-FinancialPeriod.
ls_log_entry-ActivityName = 'Accrual Or Provision Posted'.
ls_log_entry-BUKRS = ls_accrual-bukrs.
ls_log_entry-BELNR = ls_accrual-belnr.
ls_log_entry-USNAM = ls_accrual-usnam.
ls_log_entry-HKONT = ls_accrual-hkont.
ls_log_entry-BLART = ls_accrual-blart.
ls_log_entry-DMBTR = ls_accrual-dmbtr.
ls_log_entry-JournalEntryType = 'Accrual'.
GET TIME STAMP FIELD ls_log_entry-LastDataUpdate.
ls_log_entry-SourceSystem = lv_source_system.
APPEND ls_log_entry TO lt_final_log.
ENDLOOP.
" --- 3. Intercompany Document Cleared ---
SELECT h~bukrs, h~belnr, h~gjahr, h~monat, h~blart, h~usnam, h~cputm, h~cpudt, i~hkont, i~dmbtr
FROM bkpf AS h JOIN bseg AS i ON h~belnr = i~belnr AND h~bukrs = i~bukrs AND h~gjahr = i~gjahr
INTO CORRESPONDING FIELDS OF TABLE @DATA(lt_ic_clear)
WHERE h~bukrs IN @s_bukrs AND h~gjahr IN @s_gjahr AND h~monat IN @s_monat
AND h~blart = 'AB' AND i~vbund <> space.
LOOP AT lt_ic_clear INTO DATA(ls_ic_clear).
" Populate ls_log_entry and append to lt_final_log, setting ActivityName = 'Intercompany Document Cleared'
ENDLOOP.
" --- 4. Foreign Currency Valuation Run ---
SELECT j~jobname, j~sdlstrtda, j~sdlstrttm, j~sdluname
INTO TABLE @DATA(lt_fcv_jobs)
FROM tbtco AS j
WHERE j~jobname LIKE @p_fcv AND j~status = 'F'. " F = Finished
LOOP AT lt_fcv_jobs INTO DATA(ls_fcv_job).
" Populate ls_log_entry, deriving FinancialPeriod from date, setting ActivityName = 'Foreign Currency Valuation Run'
ENDLOOP.
" --- 5. GR/IR Clearing Run Executed ---
SELECT j~jobname, j~sdlstrtda, j~sdlstrttm, j~sdluname
INTO TABLE @DATA(lt_grir_jobs)
FROM tbtco AS j
WHERE j~jobname LIKE @p_grir AND j~status = 'F'.
LOOP AT lt_grir_jobs INTO DATA(ls_grir_job).
" Populate ls_log_entry, deriving FinancialPeriod from date, setting ActivityName = 'GR/IR Clearing Run Executed'
ENDLOOP.
" --- 6. Account Reconciliation Started (Inferred) ---
" Note: Inferring this by first run of a report, e.g., FAGLB03. Requires custom logging or complex logic.
" Placeholder: Query a custom log table if available.
" SELECT ... FROM zreco_log ...
" --- 7. Adjusting Journal Entry Posted ---
SELECT h~bukrs, h~belnr, h~gjahr, h~monat, h~blart, h~usnam, h~cputm, h~cpudt, i~hkont, i~dmbtr
FROM bkpf AS h JOIN bseg AS i ON h~belnr = i~belnr AND h~bukrs = i~bukrs AND h~gjahr = i~gjahr
INTO CORRESPONDING FIELDS OF TABLE @DATA(lt_adjust)
WHERE h~bukrs IN @s_bukrs AND h~gjahr IN @s_gjahr AND h~monat IN @s_monat AND h~blart = @p_adjst.
LOOP AT lt_adjust INTO DATA(ls_adjust).
" Populate ls_log_entry and append, setting ActivityName = 'Adjusting Journal Entry Posted', JournalEntryType = 'Adjusting'
ENDLOOP.
" --- 8. Reversal Entry Posted ---
SELECT h~bukrs, h~belnr, h~gjahr, h~monat, h~blart, h~usnam, h~cputm, h~cpudt, i~hkont, i~dmbtr
FROM bkpf AS h JOIN bseg AS i ON h~belnr = i~belnr AND h~bukrs = i~bukrs AND h~gjahr = i~gjahr
INTO CORRESPONDING FIELDS OF TABLE @DATA(lt_reversal)
WHERE h~bukrs IN @s_bukrs AND h~gjahr IN @s_gjahr AND h~monat IN @s_monat AND h~stblg <> space.
LOOP AT lt_reversal INTO DATA(ls_reversal).
" Populate ls_log_entry and append, setting ActivityName = 'Reversal Entry Posted', JournalEntryType = 'Reversal'
ENDLOOP.
" --- 9. Trial Balance Report Generated (Inferred from Job) ---
" Similar to other jobs, query TBTCO for Trial Balance report programs.
" SELECT ... FROM tbtco ... WHERE jobname LIKE '[Your Trial Balance Program]'.
" --- 10. Financial Statements Generated ---
SELECT j~jobname, j~sdlstrtda, j~sdlstrttm, j~sdluname
INTO TABLE @DATA(lt_fs_jobs)
FROM tbtco AS j
WHERE j~jobname LIKE @p_fs AND j~status = 'F'.
LOOP AT lt_fs_jobs INTO DATA(ls_fs_job).
" Populate ls_log_entry, deriving FinancialPeriod from date, setting ActivityName = 'Financial Statements Generated'
ENDLOOP.
" --- 11. Reconciliation Reviewed (Inferred) ---
" Note: This activity is almost always managed outside of SAP or in a custom solution.
" Placeholder: Query a custom approval/log table if available.
" SELECT ... FROM zreco_approval ...
" --- 12. Period Closed For Posting ---
" Note: Similar to 'Period Opened', this is very complex. Query change documents for T001B.
SELECT h~objectid, h~udate, h~utime, h~username
INTO TABLE @DATA(lt_period_close)
FROM cdhdr AS h
WHERE h~objectclas = 'V_T001B' AND h~change_ind = 'U'.
LOOP AT lt_period_close INTO DATA(ls_period_close).
" Further logic needed to parse OBJECTID and check CDPOS for closing a period.
ls_log_entry-ActivityName = 'Period Closed For Posting'.
" Populate other fields... append to lt_final_log
ENDLOOP.
" ... Code to display or download the lt_final_log internal table ...
ENDFORMS. Lépések
- Előfeltételek beszerzése: Kérjen csak olvasási jogosultságot biztosító hozzáférési adatokat az SAP ECC mögötti adatbázishoz. Azonosítsa a megfelelő adatbázissémát, amely jellemzően
SAPSR3, vagy az adatbázis-adminisztrátor által megadott hasonló név. - A rendszer beállításainak azonosítása: Az SAP pénzügyi csapatával egyeztesse, mely
Company Codes(BUKRS) és pénzügyi időszakok adatait kell elemezni. Különösen fontos azonosítani, hogy a rendszerben melyDocument Types(BLART) tartoznak az „Elhatárolás vagy céltartalék könyvelése”, a „Korrekciós könyvelési tétel rögzítése” és a „Cégcsoporton belüli” tranzakciókhoz. - A program- és feladatnevek ellenőrzése: Ellenőrizze a fontos kötegelt feladatok programneveit, például a devizaátértékelését (például
FAGL_FCV), a GR/IR-elszámolásét (példáulSAPF124), a főkönyvi kivonatokét (példáulRFBILA00) és a pénzügyi kimutatások előállításáét (példáulRFBILA00). Ezeket azSM37tranzakcióban ütemezett feladatok ellenőrzésével találhatja meg. - Az SQL-lekérdezés testreszabása: Másolja a megadott SQL-lekérdezést egy szövegszerkesztőbe vagy SQL-kliensbe. Cserélje le a
{{start_date}},{{end_date}}és{{company_codes}}helyőrzőket az elemzéshez szükséges értékekre. Az előző lépésekben összegyűjtött adatok alapján frissítse a bizonylattípusok és programnevek listáját. - Kapcsolódás az adatbázishoz: Csatlakozzon az SAP-adatbázishoz a megszerzett hozzáférési adatokkal egy szabványos SQL-kliens, például a DBeaver, az SQL Server Management Studio vagy az Oracle SQL Developer használatával.
- A lekérdezés futtatása: Futtassa a testreszabott SQL-lekérdezést az adatbázison. A dátumtartománytól és a pénzügyi táblák méretétől függően a lekérdezés jelentős ideig futhat.
- Az első eredmények áttekintése: A lekérdezés befejezése után gyorsan ellenőrizze a kimenetet. Nézze meg, hogy a sorok száma ésszerű-e, minden oszlop megjelenik-e, és az eredmények között többféle
ActivityNameérték szerepel-e. - Az adatok exportálása: Exportálja a teljes eredményhalmazt az SQL-kliensből CSV-fájlba. A karakterkódolási problémák elkerülése érdekében UTF-8 kódolással mentse a fájlt.
- Felkészülés a feltöltésre: A process mining eszközbe való feltöltés előtt ellenőrizze, hogy a CSV oszlopfejlécei pontosan megegyeznek-e az elvárt attribútumnevekkel (
FinancialPeriod,ActivityName,EventTimestb.). Győződjön meg arról is, hogy azEventTimeoszlop egységes időbélyeg-formátumot használ, példáulYYYY-MM-DD HH:MI:SSformátumot.
Konfiguráció
- Adatbázis-hozzáférési adatok: Csak olvasási jogosultságú adatbázis-felhasználóra van szükség, aki hozzáfér az SAP pénzügyi és rendszeradatainak alapvető tábláihoz, például a
BKPF,BSEG,TBTCO,CDHDRésCDPOStáblához. - Dátumtartomány: Javasoljuk, hogy legalább 3–6 teljes pénzügyi időszak adatait nyerje ki, hogy a folyamatok érdemi eltérései is láthatók legyenek. Vegye figyelembe, hogy a hosszabb dátumtartomány jelentősen növeli a lekérdezés futási idejét.
- Vállalatkódok (
BUKRS): Mindig szűrjön a vállalatkódok meghatározott listájára. Nagy rendszerekben nem célszerű az összes vállalatkódra lefuttatni a lekérdezést, mert ez valószínűleg teljesítményproblémákat okoz. - Bizonylattípusok (
BLART): A könyvelési tételtípusok, például az elhatárolások és korrekciók azonosítása teljes mértékben a szervezet SAP-konfigurációjától függ. A tevékenységek pontos besorolásához adja meg a megfelelő bizonylattípus-kódokat a lekérdezésWHEREfeltételeiben. - Program- és feladatnevek: A lekérdezés a zárási lépések automatizálásához gyakran használt programnevekkel számol. Az Ön rendszerében egyedi burkolóprogramok vagy más feladatnevek is előfordulhatnak. Ellenőrizze ezeket az
SM37tranzakcióban, és ennek megfelelően módosítsa a lekérdezést. - Teljesítmény: A lekérdezés nagyon nagy táblákat érint, különösen a
BSEGés aCDPOStáblát. A rendszer teljesítményének megóvása érdekében az adatkinyerést lehetőleg munkaidőn kívül futtassa. A futási idő csökkentésének leghatékonyabb módja a szűk dátumtartomány és a vállalatkód szerinti szűrés.
Példa-lekérdezés sql
SELECT
CONCAT(CAST(b.GJAHR AS VARCHAR(4)), '-', RIGHT(CONCAT('00', b.MONAT), 2)) AS FinancialPeriod,
'Period Opened For Posting' AS ActivityName,
c.UDATE + c.UTIME AS EventTime,
'SAP_ECC' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
p.TABKEY AS CompanyCode,
NULL AS DocumentNumber,
c.USERNAME AS ResponsibleUser,
NULL AS GLAccount,
NULL AS DocumentType,
NULL AS AmountInLocalCurrency,
NULL AS JournalEntryType
FROM CDHDR c
JOIN CDPOS p ON c.OBJECTCLAS = p.OBJECTCLAS AND c.OBJECTID = p.OBJECTID AND c.CHANGENR = p.CHANGENR
WHERE c.OBJECTCLAS = 'V_T001B'
AND p.TABNAME = 'T001B'
AND p.FNAME = 'FRPE1'
AND c.UDATE BETWEEN '{{start_date}}' AND '{{end_date}}'
UNION ALL
SELECT
CONCAT(CAST(b.GJAHR AS VARCHAR(4)), '-', RIGHT(CONCAT('00', b.MONAT), 2)) AS FinancialPeriod,
'Period Closed For Posting' AS ActivityName,
c.UDATE + c.UTIME AS EventTime,
'SAP_ECC' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
p.TABKEY AS CompanyCode,
NULL AS DocumentNumber,
c.USERNAME AS ResponsibleUser,
NULL AS GLAccount,
NULL AS DocumentType,
NULL AS AmountInLocalCurrency,
NULL AS JournalEntryType
FROM CDHDR c
JOIN CDPOS p ON c.OBJECTCLAS = p.OBJECTCLAS AND c.OBJECTID = p.OBJECTID AND c.CHANGENR = p.CHANGENR
WHERE c.OBJECTCLAS = 'V_T001B'
AND p.TABNAME = 'T001B'
AND p.FNAME = 'TOPE1'
AND c.UDATE BETWEEN '{{start_date}}' AND '{{end_date}}'
UNION ALL
SELECT
CONCAT(CAST(h.GJAHR AS VARCHAR(4)), '-', RIGHT(CONCAT('00', h.MONAT), 2)) AS FinancialPeriod,
'Accrual Or Provision Posted' AS ActivityName,
h.CPUDT + h.CPUTM AS EventTime,
'SAP_ECC' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
h.BUKRS AS CompanyCode,
h.BELNR AS DocumentNumber,
h.USNAM AS ResponsibleUser,
d.HKONT AS GLAccount,
h.BLART AS DocumentType,
d.DMBTR AS AmountInLocalCurrency,
'Accrual' AS JournalEntryType
FROM BKPF h
JOIN BSEG d ON h.MANDT = d.MANDT AND h.BUKRS = d.BUKRS AND h.BELNR = d.BELNR AND h.GJAHR = d.GJAHR
WHERE h.BUDAT BETWEEN '{{start_date}}' AND '{{end_date}}'
AND h.BUKRS IN ({{company_codes}})
AND h.BLART IN ('SA', '[Your Accrual Doc Type]')
UNION ALL
SELECT
CONCAT(CAST(h.GJAHR AS VARCHAR(4)), '-', RIGHT(CONCAT('00', h.MONAT), 2)) AS FinancialPeriod,
'Intercompany Document Cleared' AS ActivityName,
h.AUGDT AS EventTime, -- Clearing Date
'SAP_ECC' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
h.BUKRS AS CompanyCode,
h.BELNR AS DocumentNumber,
h.USNAM AS ResponsibleUser,
d.HKONT AS GLAccount,
h.BLART AS DocumentType,
d.DMBTR AS AmountInLocalCurrency,
'Clearing' AS JournalEntryType
FROM BKPF h
JOIN BSEG d ON h.MANDT = d.MANDT AND h.BUKRS = d.BUKRS AND h.BELNR = d.BELNR AND h.GJAHR = d.GJAHR
WHERE h.AUGDT BETWEEN '{{start_date}}' AND '{{end_date}}'
AND h.BUKRS IN ({{company_codes}})
AND h.BLART IN ('[Your Intercompany Doc Type]')
AND h.AUGBL IS NOT NULL
UNION ALL
SELECT
CONCAT(CAST(YEAR(j.SDLSTRTDT) AS VARCHAR(4)), '-', RIGHT(CONCAT('00', MONTH(j.SDLSTRTDT)), 2)) AS FinancialPeriod,
'Foreign Currency Valuation Run' AS ActivityName,
j.SDLSTRTDT + j.SDLSTRTTM AS EventTime,
'SAP_ECC' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
NULL AS CompanyCode,
j.JOBNAME AS DocumentNumber,
j.SDLUNAME AS ResponsibleUser,
NULL AS GLAccount,
NULL AS DocumentType,
NULL AS AmountInLocalCurrency,
NULL AS JournalEntryType
FROM TBTCO j
JOIN TBTCP p ON j.JOBNAME = p.JOBNAME AND j.JOBCOUNT = p.JOBCOUNT
WHERE p.PROGNAME = 'FAGL_FCV' OR p.PROGNAME = 'SAPF100'
AND j.SDLSTRTDT BETWEEN '{{start_date}}' AND '{{end_date}}'
AND j.STATUS = 'F' -- Finished
UNION ALL
SELECT
CONCAT(CAST(YEAR(j.SDLSTRTDT) AS VARCHAR(4)), '-', RIGHT(CONCAT('00', MONTH(j.SDLSTRTDT)), 2)) AS FinancialPeriod,
'GR/IR Clearing Run Executed' AS ActivityName,
j.SDLSTRTDT + j.SDLSTRTTM AS EventTime,
'SAP_ECC' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
NULL AS CompanyCode,
j.JOBNAME AS DocumentNumber,
j.SDLUNAME AS ResponsibleUser,
NULL AS GLAccount,
NULL AS DocumentType,
NULL AS AmountInLocalCurrency,
NULL AS JournalEntryType
FROM TBTCO j
JOIN TBTCP p ON j.JOBNAME = p.JOBNAME AND j.JOBCOUNT = p.JOBCOUNT
WHERE p.PROGNAME = 'SAPF124' -- Program for F.13
AND j.SDLSTRTDT BETWEEN '{{start_date}}' AND '{{end_date}}'
AND j.STATUS = 'F'
UNION ALL
SELECT
CONCAT(CAST(YEAR(j.SDLSTRTDT) AS VARCHAR(4)), '-', RIGHT(CONCAT('00', MONTH(j.SDLSTRTDT)), 2)) AS FinancialPeriod,
'Account Reconciliation Started' AS ActivityName, -- Proxy event
j.SDLSTRTDT + j.SDLSTRTTM AS EventTime,
'SAP_ECC' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
NULL AS CompanyCode,
j.JOBNAME AS DocumentNumber,
j.SDLUNAME AS ResponsibleUser,
NULL AS GLAccount,
NULL AS DocumentType,
NULL AS AmountInLocalCurrency,
NULL AS JournalEntryType
FROM TBTCO j
JOIN TBTCP p ON j.JOBNAME = p.JOBNAME AND j.JOBCOUNT = p.JOBCOUNT
WHERE p.PROGNAME IN ('FAGLL03', 'FBL3N') -- Common reconciliation reports
AND j.SDLSTRTDT BETWEEN '{{start_date}}' AND '{{end_date}}'
AND j.STATUS = 'F'
UNION ALL
SELECT
CONCAT(CAST(h.GJAHR AS VARCHAR(4)), '-', RIGHT(CONCAT('00', h.MONAT), 2)) AS FinancialPeriod,
'Adjusting Journal Entry Posted' AS ActivityName,
h.CPUDT + h.CPUTM AS EventTime,
'SAP_ECC' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
h.BUKRS AS CompanyCode,
h.BELNR AS DocumentNumber,
h.USNAM AS ResponsibleUser,
d.HKONT AS GLAccount,
h.BLART AS DocumentType,
d.DMBTR AS AmountInLocalCurrency,
'Adjusting' AS JournalEntryType
FROM BKPF h
JOIN BSEG d ON h.MANDT = d.MANDT AND h.BUKRS = d.BUKRS AND h.BELNR = d.BELNR AND h.GJAHR = d.GJAHR
WHERE h.BUDAT BETWEEN '{{start_date}}' AND '{{end_date}}'
AND h.BUKRS IN ({{company_codes}})
AND h.BLART IN ('[Your Adjusting Doc Type]')
UNION ALL
SELECT
CONCAT(CAST(h.GJAHR AS VARCHAR(4)), '-', RIGHT(CONCAT('00', h.MONAT), 2)) AS FinancialPeriod,
'Reversal Entry Posted' AS ActivityName,
h.CPUDT + h.CPUTM AS EventTime,
'SAP_ECC' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
h.BUKRS AS CompanyCode,
h.BELNR AS DocumentNumber,
h.USNAM AS ResponsibleUser,
d.HKONT AS GLAccount,
h.BLART AS DocumentType,
d.DMBTR AS AmountInLocalCurrency,
'Reversal' AS JournalEntryType
FROM BKPF h
JOIN BSEG d ON h.MANDT = d.MANDT AND h.BUKRS = d.BUKRS AND h.BELNR = d.BELNR AND h.GJAHR = d.GJAHR
WHERE h.BUDAT BETWEEN '{{start_date}}' AND '{{end_date}}'
AND h.BUKRS IN ({{company_codes}})
AND h.STBLG IS NOT NULL -- STBLG links to the reversed document
UNION ALL
SELECT
CONCAT(CAST(YEAR(j.SDLSTRTDT) AS VARCHAR(4)), '-', RIGHT(CONCAT('00', MONTH(j.SDLSTRTDT)), 2)) AS FinancialPeriod,
'Trial Balance Report Generated' AS ActivityName,
j.SDLSTRTDT + j.SDLSTRTTM AS EventTime,
'SAP_ECC' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
NULL AS CompanyCode,
j.JOBNAME AS DocumentNumber,
j.SDLUNAME AS ResponsibleUser,
NULL AS GLAccount,
NULL AS DocumentType,
NULL AS AmountInLocalCurrency,
NULL AS JournalEntryType
FROM TBTCO j
JOIN TBTCP p ON j.JOBNAME = p.JOBNAME AND j.JOBCOUNT = p.JOBCOUNT
WHERE p.PROGNAME IN ('RFSSLD00', 'S_ALR_87012310')
AND j.SDLSTRTDT BETWEEN '{{start_date}}' AND '{{end_date}}'
AND j.STATUS = 'F'
UNION ALL
SELECT
CONCAT(CAST(YEAR(j.SDLSTRTDT) AS VARCHAR(4)), '-', RIGHT(CONCAT('00', MONTH(j.SDLSTRTDT)), 2)) AS FinancialPeriod,
'Financial Statements Generated' AS ActivityName,
j.SDLSTRTDT + j.SDLSTRTTM AS EventTime,
'SAP_ECC' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
NULL AS CompanyCode,
j.JOBNAME AS DocumentNumber,
j.SDLUNAME AS ResponsibleUser,
NULL AS GLAccount,
NULL AS DocumentType,
NULL AS AmountInLocalCurrency,
NULL AS JournalEntryType
FROM TBTCO j
JOIN TBTCP p ON j.JOBNAME = p.JOBNAME AND j.JOBCOUNT = p.JOBCOUNT
WHERE p.PROGNAME = 'RFBILA00' -- Program for F.01
AND j.SDLSTRTDT BETWEEN '{{start_date}}' AND '{{end_date}}'
AND j.STATUS = 'F'
-- UNION ALL
-- Note: 'Reconciliation Reviewed' is typically not a standard, logged event in SAP ECC.
-- This activity often happens offline or in a custom tool.
-- The following is a placeholder to be adapted if a custom (Z-table) log exists.
-- SELECT
-- CONCAT(CAST(YEAR(z.REVIEW_DATE) AS VARCHAR(4)), '-', RIGHT(CONCAT('00', MONTH(z.REVIEW_DATE)), 2)) AS FinancialPeriod,
-- 'Reconciliation Reviewed' AS ActivityName,
-- z.REVIEW_DATE AS EventTime,
-- 'SAP_ECC' AS SourceSystem,
-- CURRENT_TIMESTAMP AS LastDataUpdate,
-- z.BUKRS AS CompanyCode,
-- z.HKONT AS DocumentNumber, -- Using GL Account as a proxy identifier
-- z.REVIEWER_USER AS ResponsibleUser,
-- z.HKONT AS GLAccount,
-- NULL AS DocumentType,
-- NULL AS AmountInLocalCurrency,
-- NULL AS JournalEntryType
-- FROM ZRECON_LOG z -- Replace with your custom table for reconciliation status
-- WHERE z.REVIEW_DATE BETWEEN '{{start_date}}' AND '{{end_date}}'
-- AND z.STATUS = 'Reviewed'
; Kezdheti?
Használja ezt az adatsablont a process mining elemzés elindításához, és szerezzen hasznos képet a pénzügyi zárás működéséről. Kezdje el még ma a Record to Report folyamat fejlesztését!
Fejlessze a Record to Report zárást, és csökkentse a ciklusidőt
Szüntesse meg a szűk keresztmetszeteket, és csökkentse 30%-kal a Record to Report zárási ciklusidejét.
Nincs szükség bankkártyára. Kezdje el a 14 napos próbaverziót.