Šablona dat pro proces Record to Report: uzávěrka období a odsouhlasení
Šablona dat pro proces Record to Report: uzávěrka období a odsouhlasení
- Doporučené atributy ke sběru
- Aktivity, které je vhodné sledovat
- Pokyny k extrakci dat
Atributy procesu Record to Report: uzávěrka období a odsouhlasení
| Název | Popis | ||
|---|---|---|---|
| Finanční období FinancialPeriod | Jedinečný identifikátor finančního výkazního cyklu, obvykle tvořený fiskálním rokem a účtovacím obdobím. | ||
| Popis Finanční období slouží jako hlavní identifikátor případu. Sdružuje všechny aktivity související s uzávěrkou a odsouhlasením účtů za daný výkazní cyklus, například „2023-12“ pro prosinec 2023. Díky tomu lze podrobně analyzovat celý proces uzávěrky od začátku do konce pro každé jednotlivé období. Při analýze umožňuje sledovat dobu celého cyklu každé uzávěrky, porovnávat výsledky za různá období a odhalovat trendy nebo neobvyklé odchylky. Pokud každé finanční období definujete jako samostatný případ, můžete v průběhu času znázornit a měřit efektivitu, úzká místa i odchylky v procesu uzávěrky. Proč je to důležité Jde o nezbytný identifikátor případu, který vymezuje analýzu a umožňuje porovnávat dobu cyklu uzávěrky, pracovní zátěž a dodržování procesů mezi jednotlivými obdobími. Kde data získat Tento atribut se obvykle odvozuje spojením fiskálního roku (GJAHR) a účtovacího období (MONAT) z hlaviček finančních dokladů, například z tabulky BKPF. Příklady 2023-122024-032023-Q4 | |||
| Aktivita ActivityName | Název konkrétní obchodní události nebo úkolu provedeného během procesu uzávěrky období. | ||
| Popis Tento atribut zaznamenává jednotlivé kroky v cyklu Record to Report, například „Zaúčtování opravného účetního dokladu“ nebo „Vygenerování finančních výkazů“. Tvoří základ procesní mapy a zobrazuje posloupnost událostí, ze kterých se skládá uzávěrka období. Analýza aktivit je základem process mining. Pomáhá znázornit průběh procesu, určit pořadí úkolů, odhalit varianty procesu a měřit četnost i délku jednotlivých kroků. Díky tomu lze najít úzká místa, nestandardní cesty procesem a možnosti standardizace nebo automatizace. Proč je to důležité Tento atribut je nezbytný pro vytvoření procesní mapy. Umožňuje znázornit a analyzovat pořadí úkolů při uzávěrce období. Kde data získat Odvozuje se z kombinace kódů transakcí SAP (TCODE), typů dokladů (BLART) nebo spuštění konkrétních programů, například FAGL_FCV pro přepočet cizích měn. Příklady Zaúčtování opravného účetního dokladuZahájení odsouhlasení účtůUzavření období pro účtování | |||
| Čas události EventTime | Časové razítko udávající, kdy k aktivitě nebo události došlo. | ||
| Popis Čas události udává přesné datum a čas každé aktivity v procesu a tvoří chronologický základ analýzy. Obvykle se skládá z data a času vytvoření dokladu. Toto časové razítko je nezbytné pro správné seřazení událostí a rekonstrukci průběhu procesu. Používá se k výpočtu všech metrik založených na době trvání, včetně doby cyklu mezi aktivitami, čekání a celkové délky uzávěrky období. Analýza časových razítek pomáhá odhalit zpoždění a porozumět časovému rozložení práce. Proč je to důležité Tento povinný atribut určuje chronologické pořadí událostí, které je nutné pro výpočet doby cyklu a odhalení úzkých míst v procesu. Kde data získat Obvykle se získává z data zadání dokladu (CPUDT) a času zadání (CPUTM) v tabulce BKPF pro finanční doklady. Příklady 2023-12-28T14:30:15Z2024-01-02T09:05:00Z2024-01-05T17:21:45Z | |||
| Poslední aktualizace dat LastDataUpdate | Časové razítko poslední aktualizace nebo extrakce dat ze zdrojového systému. | ||
| Popis Tento atribut udává aktuálnost analyzovaných dat. Zobrazuje datum a čas posledního spuštění datového toku, a poskytuje tak kontext k tomu, jak aktuální jsou získané poznatky o procesu. U dashboardů, zejména těch, které sledují průběh v reálném čase, je toto časové razítko důležité. Uživatelé díky němu vědí, zda pracují s aktuálními informacemi, nebo s daty z předchozího dne. Pomáhá nastavit očekávání a správně interpretovat analýzu. Proč je to důležité Informuje uživatele o aktuálnosti dat, která je důležitá pro zajištění včasnosti a relevance analýz a dashboardů. Kde data získat Toto časové razítko vytvoří a přidá nástroj pro extrakci dat nebo ETL po dokončení každého načtení dat. Příklady 2024-05-21T04:00:00Z2024-05-20T04:00:00Z2024-05-19T04:00:00Z | |||
| Zdrojový systém SourceSystem | Identifikátor zdrojového systému, ze kterého byla data extrahována. | ||
| Popis Tento atribut určuje původ dat o událostech, například název nebo ID konkrétní instance SAP ECC. V organizacích s více systémy ERP nebo finančními systémy je důležitý pro rozlišení dat z různých zdrojů. I v prostředí s jediným systémem jde o důležitá metadata pro správu dat, audit a řešení problémů. Potvrzuje původ dat, což pomáhá budovat důvěru v analýzu a zajišťuje přehled o jejich původu a pohybu. Proč je to důležité Poskytuje důležité informace o původu dat pro účely správy a v prostředí s více systémy umožňuje rozlišovat jednotlivé procesy. Kde data získat Obvykle jde o statickou hodnotu přidanou při extrakci dat, která identifikuje konkrétní klienta SAP a ID systému, například z tabulky T000. Příklady ECC_PROD_100SAP_E74_200ECC_FINANCE | |||
| Částka v místní měně DMBTR | Finanční hodnota položky transakce vyjádřená v místní měně podnikového kódu. | ||
| Popis Tento atribut představuje peněžní hodnotu finančního zaúčtování. Jde o hlavní kvantitativní ukazatel dopadu transakce na hlavní knihu. Analýza částky je důležitá pro stanovení priorit a pochopení finančního rizika. Například dashboard „Analýza objemu opravných zápisů“ poskytne přesnější přehled, pokud rozliší vysoký počet oprav nízkých částek od malého počtu oprav vysokých částek. Pomáhá zaměřit pozornost na finančně významné transakce. Proč je to důležité Vyjadřuje finanční dopad transakcí a umožňuje analyzovat jejich významnost, například odhalit opravné zápisy s vysokými částkami. Kde data získat Údaj je dostupný v tabulce položek dokladů BSEG (DMBTR). Příklady 1500.75-25000.00123456.00 | |||
| Číslo dokladu BELNR | Jedinečný identifikátor účetního dokladu v rámci fiskálního roku a podnikového kódu. | ||
| Popis Číslo účetního dokladu je v SAP hlavním identifikátorem finančních zaúčtování. Každý účetní zápis, faktura nebo platební doklad má vlastní jedinečné číslo. Pro analýzu na vysoké úrovni se číslo dokladu obvykle nepoužívá, je však neocenitelné při podrobnějším zkoumání. Analytici mohou z dashboardu process mining přejít přímo ke konkrétní transakci v SAP a podrobně prověřit neobvyklé případy, například vysoký opravný zápis nebo opožděnou položku k odsouhlasení. Číslo dokladu tak propojuje zjištění se zdrojovou transakcí. Proč je to důležité Poskytuje přímý odkaz na zdrojovou transakci v SAP a umožňuje přejít od pohledu na proces k podrobnému rozboru konkrétních účetních zápisů. Kde data získat Nachází se v tabulce BKPF (BELNR), kde slouží jako primární klíč. Příklady 100000456719000001233000008901 | |||
| Odpovědný uživatel USNAM | ID uživatele SAP, který transakci vytvořil nebo provedl. | ||
| Popis Toto pole zaznamenává uživatele, který zaúčtoval doklad, spustil výkaz nebo provedl program související s uzávěrkou. Určuje osobu odpovědnou za danou aktivitu. Analýza podle uživatelů je důležitá pro pochopení rozložení pracovní zátěže, určení potřeb školení a prověřování odchylek od procesu. Dashboardy zobrazující aktivity jednotlivých uživatelů mohou upozornit na přetížené členy týmu nebo na osoby, které nedodržují standardní postupy. Pomáhají také při řízení výkonu a rozdělování zdrojů ve finančním týmu. Proč je to důležité Umožňuje analyzovat rozložení pracovní zátěže a výkon týmu a odhalovat odchylky od procesu spojené s konkrétními osobami. Kde data získat Pro vytvoření dokladu je údaj dostupný v tabulce BKPF (USNAM). U dávkových úloh jej najdete v tabulce TBTCO (SDLUNAME). Příklady JSMITHRDOEFIN_ADMIN | |||
| Podnikový kód BUKRS | Organizační jednotka představující právní subjekt, pro který se sestavují finanční výkazy. | ||
| Popis Podnikový kód je základní organizační jednotkou v SAP Financials. Představuje samostatnou společnost s vlastními vyrovnanými účetními knihami. Všechny finanční transakce se účtují na úrovni podnikového kódu. V process mining je filtrování podle podnikového kódu nezbytné pro porovnání procesu uzávěrky mezi různými právními subjekty v rámci skupiny. Můžete tak zjistit osvědčené postupy u výkonných subjektů a určit, které subjekty mají zpoždění, vysoký počet opravných zápisů nebo odchylky od procesu. Jde o důležitý rozměr pro členění analýzy. Proč je to důležité Umožňuje porovnat průběh uzávěrky a dodržování procesů mezi různými právními subjekty, což je důležité pro finanční analýzu celé skupiny. Kde data získat Toto pole je dostupné téměř ve všech tabulkách finančních dokladů v SAP, zejména v BKPF (hlavička) a BSEG (položka). Příklady 10002000US01DE01 | |||
| Typ dokladu BLART | Kód, který rozlišuje různé typy účetních dokladů. | ||
| Popis Typ dokladu se v SAP používá k rozlišení různých obchodních transakcí, například faktur dodavatelů (KR), plateb zákazníků (DZ) a zaúčtování do hlavní knihy (SA). Řídí také vlastnosti, jako je číselná řada dokladů. Při analýze uzávěrky období slouží typ dokladu jako účinný filtr. Můžete jej použít k oddělení konkrétních aktivit, například časového rozlišení, rezerv nebo stornovacích zápisů. To pomáhá analyzovat objem a finanční dopad různých transakcí souvisejících s uzávěrkou a definovat konkrétní aktivity v procesním modelu. Proč je to důležité Pomáhá klasifikovat a filtrovat transakce, takže můžete odděleně analyzovat konkrétní aktivity, například časové rozlišení, storna nebo vnitropodniková zaúčtování. Kde data získat Nachází se v tabulce hlaviček dokladů BKPF (BLART). Příklady SAABKR | |||
| Typ účetního zápisu JournalEntryType | Klasifikace účetních zápisů, například „Standardní“, „Opravný“, „Časové rozlišení“ nebo „Storno“. | ||
| Popis Jde o odvozený atribut, který klasifikuje finanční doklady podle jejich účelu v procesu uzávěrky. Obvykle se určuje kombinací typu dokladu (BLART), důvodu storna (STGRD) nebo použitých účtů hlavní knihy. Tato klasifikace je základem dashboardu „Analýza objemu opravných zápisů“ a souvisejících KPI. Pokud výslovně označíte opravné zápisy nebo časová rozlišení, můžete měřit jejich počet a hodnotu, sledovat vývoj v čase a zkoumat příčiny jejich vzniku. Pomáhá rozlišit běžná provozní zaúčtování od oprav na konci období. Proč je to důležité Klasifikuje zaúčtování pro cílenou analýzu a umožňuje sledovat a měřit důležité typy zápisů, například opravy a časová rozlišení, které vypovídají o stavu procesu. Kde data získat Jde o odvozené pole. Logiku je třeba definovat podle obchodních pravidel, obvykle s využitím polí, jako je typ dokladu (BLART) z tabulky BKPF. Příklady OpravnýČasové rozlišeníStornoStandardní | |||
| Účet hlavní knihy HKONT | Číslo účtu hlavní knihy, na který se účtuje položka. | ||
| Popis Účet hlavní knihy (GL) je základní kmenový údaj ve financích, který slouží ke klasifikaci transakcí. Každé finanční zaúčtování se přiřazuje k jednomu nebo více účtům hlavní knihy. Při uzávěrce období je analýza aktivit podle účtu hlavní knihy důležitá pro dashboardy „Úzká místa při odsouhlasování účtů“ a „Analýza objemu opravných zápisů“. Pomáhá zjistit, které účty se odsouhlasují nejobtížněji, které vyžadují nejvíce oprav a kde je nejvyšší riziko významné nesprávnosti. Tým se tak může zaměřit na problematické účty. Proč je to důležité Umožňuje cíleně analyzovat odsouhlasení a opravné zápisy a odhalit problematické účty, které způsobují zpoždění nebo vyžadují časté opravy. Kde data získat Údaj je dostupný v tabulce položek finančních dokladů BSEG (HKONT). Příklady 113100400500750000 | |||
| Důvod storna ReversalReason | Kód označující důvod, proč byl finanční doklad stornován. | ||
| Popis Při stornu dokladu v SAP lze přiřadit kód důvodu, který vysvětluje účel storna, například „Storno v aktuálním období“ nebo „Chybné zaúčtování“. Tento atribut poskytuje důležitý kontext k tomu, proč se práce opakuje. Analýza důvodů storna pomáhá odhalit opakující se chyby, například nesprávné zadání údajů nebo chybné datum. Na základě těchto poznatků můžete zavést preventivní opatření, zlepšit školení nebo posílit systémové kontroly, omezit chyby i následná storna a zefektivnit uzávěrku. Proč je to důležité Přímo ukazuje hlavní příčiny chyb a opakované práce a pomáhá odhalit možnosti, jak zlepšit procesy a předcházet chybám. Kde data získat Nachází se v tabulce hlaviček dokladů BKPF (STGRD). Příklady 010205 | |||
| Jde o přepracování IsRework | Vypočítaný příznak, který označuje aktivity představující přepracování, například storno nebo zamítnuté odsouhlasení. | ||
| Popis Tento logický atribut označuje události nebo jejich posloupnosti, které ukazují na neefektivní opakování či opravy v procesu. Například aktivitu „Kontrola odsouhlasení“ následovanou dalším zaúčtováním opravného účetního zápisu na stejném účtu lze označit jako přepracování. Atribut pomáhá vyčíslit plýtvání v procesu a podporuje dashboard „Případy opakovaného odsouhlasení“ a KPI „Míra opakovaného odsouhlasení“. Pokud přepracování oddělíte, můžete zkoumat jeho příčiny, měřit dopad na dobu cyklu a sledovat účinnost opatření ke zlepšení procesů, jejichž cílem je udělat práci správně hned napoprvé. Proč je to důležité Vyčísluje neefektivitu procesu tím, že označuje opravy a opakované činnosti. Pomáhá měřit a omezovat zbytečně vynaloženou práci. Kde data získat Jde o vypočítaný atribut. Logika se definuje v nástroji process mining na základě konkrétních posloupností aktivit (například opakování) nebo atributů (například ReversalReason není null). Příklady truefalse | |||
| Je automatizováno IsAutomated | Příznak určující, zda aktivitu provedl uživatel, nebo automatizovaný systém. | ||
| Popis Tento logický atribut rozlišuje mezi ručními úkoly a úkoly, které automaticky provádí systém, například plánovanou dávkovou úlohou pro přecenění cizí měny nebo botem účtujícím opakující se položky. Určuje se často podle uživatelského jména spojeného s transakcí (například „BATCHUSER“). Znalost míry automatizace pomáhá hledat možnosti, jak zvýšit efektivitu. Analýza tohoto atributu ukáže, které části procesu probíhají ručně a mohly by se automatizovat. Pomáhá také přesněji vyhodnotit pracovní vytížení lidí, protože lze vyloučit aktivity generované systémem. Proč je to důležité Rozlišuje ruční aktivity od aktivit prováděných systémem. To je důležité při hledání příležitostí k automatizaci i při přesném měření ruční práce. Kde data získat Jde o odvozený atribut. Logika obvykle vychází z uživatelského jména (USNAM). Pokud se shoduje se seznamem známých ID systémových nebo dávkových uživatelů, úkol se označí jako automatizovaný. Příklady truefalse | |||
| Je po termínu IsOverdue | Vypočítaný příznak, který určuje, zda byla aktivita dokončena po plánovaném termínu. | ||
| Popis Tento logický atribut porovnává skutečný čas dokončení aktivity (EventTime) s plánovaným termínem (TargetCompletionDate). Pokud je čas události pozdější než plánovaný termín, příznak se nastaví na true. Atribut přímo podporuje dashboard „Shoda při uzávěrce a úkoly po termínu“ a KPI „Včasnost uzávěrky období“. Jasně a bezprostředně upozorňuje na odchylky od plánu. Vedoucí tak mohou rychle najít opožděné úkoly, zjistit jejich dopad na celkový harmonogram a vyžadovat od týmů dodržování termínů. Proč je to důležité Jasně ukazuje nedodržení harmonogramu. Umožňuje rychle najít opožděné úkoly a měřit včasné plnění. Kde data získat Jde o vypočítaný atribut, který se v nástroji process mining určuje porovnáním hodnot EventTime a TargetCompletionDate. Příklady truefalse | |||
| Obchodní partner VBUND | Identifikátor spřízněné společnosti ze skupiny, která se účastní vnitropodnikové transakce. | ||
| Popis ID obchodního partnera označuje druhý podnikový kód zapojený do vnitropodnikové transakce. Tento údaj je nezbytný pro odsouhlasení účtů mezi spřízněnými právními subjekty. Atribut přímo podporuje dashboard „Průběh vnitropodnikového odsouhlasení“ a KPI „Doba cyklu vnitropodnikového odsouhlasení“. Filtrováním transakcí s vyplněným obchodním partnerem se analýza zaměří na efektivitu a včasnost vnitropodnikového odsouhlasení, které bývá při uzávěrce období častým problémem. Proč je to důležité Jednoznačně označuje vnitropodnikové transakce a umožňuje cíleně analyzovat jejich odsouhlasení, které bývá složité a časově náročné. Kde data získat Nachází se v tabulce položek dokladů BSEG (VBUND). Příklady 1000US013000 | |||
| Oddělení Department | Funkční oddělení nebo nákladové středisko odpovědné za aktivitu či transakci. | ||
| Popis Tento atribut určuje obchodní oddělení, například „Finance“, „Prodej“ nebo „Logistika“, které souvisí s transakcí. Často se odvozuje z kmenových údajů nákladového střediska propojeného se zaúčtováním nebo z kmenových údajů uživatele. Analýza podle oddělení podporuje dashboard „Rozložení pracovní zátěže uzávěrkového týmu“. Pomáhá pochopit, jak jednotlivé obchodní funkce přispívají k pracovní zátěži na konci období, zejména tím, že zahajují transakce, které mohou později vyžadovat opravy nebo odsouhlasení. Může odhalit, jak proces uzávěrky ovlivňují oddělení mimo hlavní finanční tým. Proč je to důležité Pomáhá analyzovat pracovní zátěž a dodržování procesů v různých obchodních funkcích a ukazuje, jak jednotlivá oddělení ovlivňují efektivitu finanční uzávěrky. Kde data získat Často se odvozuje z nákladového střediska (KOSTL) v tabulce BSEG nebo z personálních kmenových údajů odpovědného uživatele. Může být nutné propojit více tabulek. Příklady Podnikové financeZávazkyFP&A | |||
| Plánované datum dokončení TargetCompletionDate | Plánovaný termín dokončení aktivity nebo uzávěrky celého období. | ||
| Popis Plánované datum dokončení určuje termín, podle kterého se hodnotí proces uzávěrky období. Jde o datum, do kterého mají být dokončeny konkrétní milníky nebo celá uzávěrka. Tento atribut je nezbytný pro analýzu výkonnosti a shody. Používá se k výpočtu KPI „Včasnost uzávěrky období“ a k naplnění dashboardu „Shoda při uzávěrce a úkoly po termínu“. Porovnáním skutečného času události s plánovaným datem systém určí, zda úkoly probíhají podle plánu, mají zpoždění nebo jim zpoždění hrozí. Díky tomu můžete proces uzávěrky řídit s předstihem. Proč je to důležité Umožňuje sledovat shodu a výkonnost. Poskytuje základ pro měření toho, zda jsou činnosti při uzávěrce dokončeny včas, a podporuje KPI včasného dokončení. Kde data získat Obvykle jde o kmenová data vedená v samostatném kalendáři, nástroji pro řízení uzávěrky (například SAP Financial Closing cockpit) nebo tabulce. Nejsou součástí transakčních dat. Příklady 2023-12-29T23:59:59Z2024-01-03T17:00:00Z2024-01-02T12:00:00Z | |||
| Stav odsouhlasení ReconciliationStatus | Aktuální stav odsouhlasení účtu, například „Otevřeno“, „Probíhá kontrola“ nebo „Schváleno“. | ||
| Popis Tento atribut sleduje stav odsouhlasení účtu v průběhu workflow. Udává, zda bylo odsouhlasení zahájeno, předáno ke kontrole, schváleno, nebo zamítnuto. Jde o důležitý atribut pro sledování průběhu odsouhlasování v reálném čase. Pomáhá zjistit, která odsouhlasení se zdržela a jak dlouho, a podporuje KPI, jako je „Doba cyklu odsouhlasení účtu“. Zpřehledňuje proces schvalování a je důležitý pro dashboardy sledující úzká místa při odsouhlasování a pracovní zátěž týmu. Proč je to důležité Zpřehledňuje workflow odsouhlasování, umožňuje sledovat průběh, odhalovat úzká místa a měřit dobu kontroly a schvalování. Kde data získat Tyto informace se často nacházejí v samostatném nástroji pro odsouhlasení (například SAP Account Substantiation and Automation od BlackLine) nebo ve vlastním stavovém poli. V tabulkách BKPF/BSEG obvykle nejde o standardní pole. Příklady NezahájenoProbíháSchválenoZamítnuto | |||
| Účetní rok GJAHR | Účetní rok, ve kterém byla transakce zaúčtována. | ||
| Popis Účetní rok je základním údajem pro uspořádání finančních dat. Je součástí ID případu finančního období a poskytuje důležitý kontext pro všechny transakce. Účetní rok bývá často součástí ID případu, ale jeho samostatné vedení se hodí pro analýzu dlouhodobých trendů. Umožňuje porovnávat meziroční dobu uzávěrky, objem oprav a další KPI. Díky tomu můžete v průběhu let sledovat zlepšení i zhoršení výkonnosti. Proč je to důležité Poskytuje důležitý časový kontext a umožňuje meziročně porovnávat výkonnost procesu uzávěrky. Kde data získat Je k dispozici v tabulce hlaviček dokladů BKPF (GJAHR). Příklady 202320242022 | |||
Aktivity procesu Record to Report: uzávěrka období a odsouhlasení
| Aktivita | Popis | ||
|---|---|---|---|
| Období otevřeno pro účtování | Tímto se oficiálně zahajuje finanční období a umožňuje se účtování transakcí do hlavní knihy. Jde o výslovnou změnu konfigurace, kterou provádí oprávněný uživatel a otevírá konkrétní období pro účtování v jednom nebo více podnikových kódech. | ||
| Proč je to důležité Tato aktivita představuje jednoznačný počáteční bod případu uzávěrky období. Analýza času od tohoto okamžiku pomáhá porozumět celému průběhu finančního období. Kde data získat Změny účtovacích období provedené prostřednictvím transakce OB52 se zaznamenávají. Lze je zjistit analýzou změnových dokumentů pro konfigurační tabulku T001B, obvykle pomocí tabulek CDHDR a CDPOS. Zachycení Změnové dokumenty (CDHDR/CDPOS) pro tabulku T001B. Typ události explicit | |||
| Přepočet cizích měn | Jde o spuštění programu, který přepočítá otevřené položky a zůstatky v cizích měnách podle směnných kurzů ke konci období. Obvykle se spouští jako dávková úloha v rámci uzávěrkových kroků. | ||
| Proč je to důležité Tento krok je důležitý pro správné finanční výkaznictví v mezinárodních organizacích. Analýza času spuštění a délky běhu pomáhá odhalit možnosti automatizace a zvýšení výkonu. Kde data získat Údaje se získávají z protokolů spuštění programu pro přepočet cizích měn, například FAGL_FCV nebo F.05. Časová razítka spuštění jsou dostupná v podrobnostech dávkových úloh v tabulkách, jako jsou TBTCO a TBTCP. Zachycení Z protokolů dávkových úloh (tabulka TBTCO) pro program FAGL_FC_VALUATION nebo SAPF100. Typ události explicit | |||
| Uzavření období pro účtování | Označuje formální uzavření účtovacího období, které znemožní další provozní účetní zápisy. Tím se zachová správnost finančních údajů za uzavřené období. Jde o výslovnou změnu konfigurace. | ||
| Proč je to důležité Jde o jednoznačný konec procesu uzávěrky období. Tato událost je nezbytná pro přesný výpočet celkové doby cyklu uzávěrky a měření včasnosti. Kde data získat Uzavření období pomocí transakce OB52 se zaznamenává. Změny lze zjistit analýzou změnových dokumentů (tabulky CDHDR a CDPOS) pro konfigurační tabulku T001B. Zachycení Změnové dokumenty (CDHDR/CDPOS) pro tabulku T001B. Typ události explicit | |||
| Vygenerování finančních výkazů | Označuje okamžik vytvoření oficiálních finančních výkazů, například výkazu zisku a ztráty a rozvahy. Tato aktivita se obvykle zachycuje sledováním spuštění konkrétního výkazového programu. | ||
| Proč je to důležité Jde o důležitý milník, který označuje konec zpracování dat a začátek závěrečné kontroly a schvalování. Doba od této události do schválení je důležitým KPI. Kde data získat Událost se odvozuje ze systémových protokolů auditu, například STAD, které zaznamenávají spuštění programu pro tvorbu finančních výkazů, nejčastěji transakce F.01. Zachycení Ze systémových protokolů (STAD), které zaznamenávají spuštění transakce F.01 pro tvorbu finančních výkazů. Typ události inferred | |||
| Zahájení odsouhlasení účtů | Označuje začátek procesu odsouhlasení skupiny účtů hlavní knihy za dané období. Ve standardním SAP ECC nejde o samostatnou událost. Obvykle se odvozuje ze souvisejících aktivit, například z prvního spuštění důležitého výkazu. | ||
| Proč je to důležité Tato aktivita stanovuje důležitý milník pro měření délky celé fáze odsouhlasení. Informace o tom, kdy odsouhlasení začíná, je nezbytná pro KPI doby cyklu odsouhlasení účtů. Kde data získat Tato událost se nezaznamenává přímo. Je třeba ji odvodit z jiných zdrojů, například ze systémového protokolu auditu (transakce STAD), který zachycuje první spuštění výkazu zůstatků, jako je FAGLB03 nebo FS10N. Zachycení Odvoďte začátek z prvního spuštění příslušných výkazů (například FAGLB03) v systémových protokolech. Typ události inferred | |||
| Zaúčtování opravného účetního dokladu | Opravný účetní doklad upravuje zůstatky účtů po dokončení počátečního zpracování transakcí za dané období. V SAP se tato událost zaznamenává jako standardní zaúčtování finančního dokladu. | ||
| Proč je to důležité Tato událost je nezbytná pro analýzu objemu opravných zápisů. Vysoký počet oprav naznačuje problémy s přesností předchozích procesů a představuje oblast, na kterou se mohou zaměřit iniciativy na zlepšování procesů. Kde data získat Údaje jsou v tabulkách BKPF a BSEG. Tyto doklady se obvykle určují podle konkrétního typu dokladu (BKPF-BLART) vyhrazeného pro opravy nebo podle zaúčtování ve zvláštních uzávěrkových obdobích, například 13 až 16. Zachycení V tabulce BKPF vyfiltrujte doklady zaúčtované ve zvláštních obdobích nebo doklady s typem určeným pro opravy. Typ události explicit | |||
| Kontrola odsouhlasení | Označuje, že odsouhlasení konkrétního účtu nebo skupiny účtů bylo zkontrolováno a potvrzeno. Ve standardním SAP ECC se tato událost nezaznamenává přímo a často se spravuje pomocí nezávislých kontrol nebo vlastních řešení. | ||
| Proč je to důležité Sledování času kontrol pomáhá odhalit úzká místa v kontrolních a dohledových fázích uzávěrky. Může ukázat zpoždění způsobená nedostupností vedení nebo nutností opakovat práci. Kde data získat Tyto údaje nejsou ve standardních tabulkách ECC dostupné. Je třeba vlastní řešení, například stavové pole ve vlastní tabulce Z, jednoduchý workflow nebo propojení se specializovaným nástrojem třetí strany pro odsouhlasování. Zachycení Pokud používáte vlastní workflow nebo tabulku Z, zaznamenejte změnu stavu. Typ události inferred | |||
| Spuštění vyrovnání GR/IR | Jde o spuštění automatického programu pro vyrovnání účtu příjemek a faktur (Goods Receipt/Invoice Receipt). Program páruje odpovídající příjemky a faktury a vzájemně vyrovnává jejich položky. | ||
| Proč je to důležité Účet GR/IR bývá častým zdrojem problémů při odsouhlasování. Sledování této aktivity ověřuje, zda automatický krok proběhl správně, a pomáhá určit počet výjimek vyžadujících ruční dořešení. Kde data získat Spuštění se zaznamenává v protokolech dávkových úloh (transakce SM37). Obvykle se používá program SAPF124, spouštěný přes transakci F.13. Potřebná časová razítka jsou v protokolech úloh, například v tabulce TBTCO. Zachycení Z protokolů dávkových úloh (tabulka TBTCO) pro program vyrovnání SAPF124. Typ události explicit | |||
| Vygenerování výkazu předvahy | Označuje spuštění výkazu předvahy. Jde o důležitý krok, který ověřuje, že se celkové částky na straně Má dáti rovnají částkám na straně Dal, ještě než se vytvoří oficiální finanční výkazy. | ||
| Proč je to důležité Jde o důležitou kontrolu kvality před závěrečným výkaznictvím. Opakované spouštění výkazu může znamenat, že se průběžně odhalují a opravují problémy ve zdrojových datech, což může způsobovat zpoždění. Kde data získat Událost se odvozuje ze systémových protokolů auditu, například z transakce STAD, která může zaznamenat spuštění transakcí pro výkaz předvahy, jako jsou S_ALR_87012277 nebo F.01. Zachycení Ze systémových protokolů (STAD), které zaznamenávají spuštění transakčních kódů pro výkaznictví. Typ události inferred | |||
| Vyrovnání vnitropodnikového dokladu | Tato aktivita zaznamenává vyrovnání otevřené položky mezi dvěma různými podnikovými kódy. Znamená to, že vnitropodniková transakce byla vypořádána nebo odsouhlasena. V SAP se zaznamenává jako výslovné finanční zaúčtování, obvykle jako vyrovnávací doklad. | ||
| Proč je to důležité Zpoždění při vyrovnávání vnitropodnikových položek jsou při uzávěrce častým úzkým místem. Sledování této aktivity je důležité pro měření a zkracování doby vnitropodnikového odsouhlasení. Kde data získat Událost se určuje z finančních dokladů v tabulkách BKPF a BSEG. Vyrovnávací doklad propojuje a uzavírá otevřené položky. Čas události určuje datum vyrovnání (BSEG-AUGDT). Vnitropodnikové transakce se identifikují podle polí obchodního partnera. Zachycení V tabulkách BKPF/BSEG vyhledejte vyrovnávací doklady, které se týkají položek s obchodními partnery. Typ události explicit | |||
| Zaúčtování časového rozlišení nebo rezervy | Jde o zaúčtování účetního dokladu pro časové rozlišení, odloženou položku nebo rezervu, které se obvykle účtují na konci období. V SAP nejde o samostatný typ události. Určuje se podle charakteristik konkrétních účetních dokladů. | ||
| Proč je to důležité Oddělená analýza těchto dokladů pomáhá sledovat dílčí proces správy odhadů. Vysoký počet časových rozlišení nebo jejich časté úpravy mohou ukazovat na příležitosti ke zlepšení procesů. Kde data získat Událost se odvozuje z finančních tabulek BKPF a BSEG. Doklady lze vyhledat podle konkrétního typu dokladu (BKPF-BLART), jedinečného účtu hlavní knihy (BSEG-HKONT) nebo klíčových slov v textu hlavičky (BKPF-BKTXT). Zachycení V tabulkách BKPF/BSEG použijte filtr podle typu dokladu, konkrétních účtů hlavní knihy nebo textových polí. Typ události inferred | |||
| Zaúčtování storna | Tato aktivita zaznamenává zaúčtování dokladu, který stornuje dříve zaúčtovaný účetní doklad, často kvůli opravě chyby. SAP vytváří přímou vazbu mezi stornovacím a původním dokladem. | ||
| Proč je to důležité Vysoký počet storen může ukazovat na problémy s přesností zadávání údajů nebo s procesními kontrolami. Sledování těchto událostí pomáhá měřit úspěšnost na první pokus a odhalit oblasti, které je třeba zlepšit. Kde data získat Stornovací doklady jsou v tabulce BKPF. Často se vytvářejí transakcí FB08 a v poli BKPF-STBLG obsahují odkaz na číslo stornovaného dokladu. Zachycení Vyhledejte doklady s vyplněným polem BKPF-STBLG nebo doklady vytvořené pomocí transakcí pro storno. Typ události explicit | |||
Návody k extrakci dat
Kroky
- Otevřete nástroj SAP Query: Přihlaste se do systému SAP ECC. Přejděte na transakci
SQVI(QuickViewer). 2. Vytvořte nový dotaz: Zadejte název dotazu, napříkladZ_R2R_PERIOD_CLOSE, a klikněte na „Vytvořit“. V dialogovém okně zadejte výstižný název, například „Extrakce dat pro uzávěrku období Record to Report“. Jako „Zdroj dat“ vyberte „Spojení tabulek“. 3. Nastavte spojení tabulek: Přidejte hlavní tabulkuBKPF(hlavička účetního dokladu). Poté přidejte tabulkuBSEG(položka účetního dokladu). SAP automaticky navrhne podmínky spojení (MANDT, BUKRS, BELNR, GJAHR). Zkontrolujte je a potvrďte. Pro aktivity zahájení a dokončení období budete potřebovat samostatný dotaz se spojením tabulekCDHDRaCDPOS. 4. Vyberte výstupní pole (pole seznamu): Přejděte na kartu „Výběr polí seznamu“. V dostupných tabulkách vyberte pole potřebná pro záznam událostí. Patří mezi něBKPF-BUKRS,BKPF-BELNR,BKPF-GJAHR,BKPF-MONAT,BKPF-CPUDT,BKPF-CPUTM,BKPF-USNAM,BKPF-BLART,BSEG-HKONT,BSEG-DMBTRa další podle potřeby. 5. Nastavte vstupní parametry (výběrová pole): Přejděte na kartu „Výběrová pole“. Zvolte pole, podle kterých se budou data při spuštění filtrovat. Nejdůležitější jsouBKPF-BUKRS(kód společnosti) aBKPF-GJAHR(účetní rok). Můžete přidat takéBKPF-MONAT(účetní období) aBKPF-BLART(typ dokladu). 6. Vytvořte varianty pro jednotlivé aktivity: Protože SQVI neumí spojit různé výběry dat (například pomocí SQL UNION), musíte dotaz spustit vícekrát. Pro každou aktivitu (například „Zaúčtování časového rozlišení nebo rezervy“) spusťte dotaz a na výběrové obrazovce zadejte konkrétní filtry, například seznam typů dokladů používaných pro časové rozlišení. Tuto sadu výběrových kritérií uložte jako variantu. Postup zopakujte pro každou aktivitu, jejíž data lze extrahovat. 7. Spusťte dotaz a extrahujte data: Spusťte dotaz pro každou vytvořenou variantu. Dotaz se provede s filtry nastavenými pro danou aktivitu. 8. Exportujte výsledky: Na obrazovce s výsledky exportujte data do místního souboru. Nejčastěji se používá formát „Tabulka“. Export zopakujte pro každou variantu. 9. Spojte a transformujte data: Otevřete exportované soubory v tabulkovém procesoru nebo použijte skriptovací nástroj. Ručně spojte data ze všech souborů do jednoho hlavního souboru. 10. Přidejte konstantní a vypočítané sloupce: Do spojeného souboru přidejte sloupce, které nelze přímo extrahovat z tabulek SAP. Patří mezi něActivityName(nastavte ručně podle varianty, ze které data pocházejí),FinancialPeriod(spojením účetního roku a období),EventTime(spojením polí data a času),SourceSystemaLastDataUpdate. 11. Připravte soubor k nahrání: Uložte výsledný soubor ve formátu CSV nebo Excel se správnými názvy sloupců požadovanými nástrojem process mining. Před nahráním ověřte datové typy a formátování.
Konfigurace
- Zdroj dat: Spojení tabulek v SAP Query (SQVI). Hlavní tabulky jsou BKPF, BSEG, CDHDR a CDPOS. * Rozsah dat: Doporučujeme extrahovat data alespoň za 3 až 6 celých účetních období, abyste mohli rozpoznat vzorce. Nastavte filtr na
BKPF-GJAHR(účetní rok) aBKPF-MONAT(období). * Filtr podle kódu společnosti: Vždy filtrujte podleBKPF-BUKRS(kód společnosti), abyste omezili objem dat a zaměřili analýzu na konkrétní právní subjekty. Nedoporučujeme extrahovat data pro všechny kódy společností najednou. * Filtr podle typu dokladu: Pomocí filtrů naBKPF-BLART(typ dokladu) oddělte konkrétní aktivity, například časové rozlišení, opravy nebo storna. Zjistěte, které typy dokladů se používají ve vaší organizaci. * Předpoklady: Uživatel provádějící extrakci musí mít oprávnění používat transakciSQVIa zobrazovat příslušné finanční tabulky (například autorizační objekt S_TABU_DIS). * Výkon: Spojení tabulek BKPF a BSEG může výrazně zatížit systémové zdroje. Extrakci spouštějte mimo špičku. Nepoužívejte příliš široký rozsah dat a nenechávejte filtr kódu společnosti prázdný, jinak může dojít k problémům s pamětí nebo vypršení časového limitu.
Ukázkový dotaz 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
*/ Kroky
- Vymezení a návrh programu: Určete konkrétní logiku pro rozpoznání každé z 12 požadovaných aktivit. S vlastníky procesů a funkčními analytiky SAP ověřte typy dokladů, účty hlavní knihy a názvy programů používané při uzávěrce období ve vašem prostředí SAP ECC.
- Vytvořte program ABAP: Pomocí transakce
SE38(editor ABAP) vytvořte nový spustitelný program, napříkladZ_PM_R2R_EXTRACTION. Zadejte výstižný název a jako typ programu nastavte „Spustitelný program“. - Definujte výběrovou obrazovku: V programu definujte výběrovou obrazovku pomocí
PARAMETERSaSELECT-OPTIONS. Uživatelé na ní určí rozsah extrakce, včetně kódu společnosti (BUKRS), účetního roku (GJAHR) a účetního období (MONAT). Tím se řídí objem zpracovávaných dat. - Deklarujte datové struktury: Definujte strukturu interní tabulky, do které se uloží výsledný záznam událostí. Musí obsahovat všechny požadované a doporučené atributy:
FinancialPeriod,ActivityName,EventTime,SourceSystem,LastDataUpdate,BUKRS,BELNR,USNAM,HKONT,BLART,DMBTRaJournalEntryType. - Implementujte logiku extrakce dat: Napište hlavní logiku ABAP pro výběr dat pro každou z 12 aktivit. U každé aktivity načtěte data z příslušných tabulek SAP (například BKPF, BSEG, TBTCO, CDHDR) a uložte je do pomocné interní tabulky. Jako předlohu použijte logiku v doprovodné části s dotazem ABAP.
- Určete odvozené aktivity: U aktivit, které se ve standardním SAP nezaznamenávají přímo, například „Zahájení odsouhlasení účtu“ nebo „Kontrola odsouhlasení“, implementujte dohodnutou logiku odvození. Může jít například o kontrolu prvního spuštění konkrétní sestavy nebo dotazování vlastních tabulek Z, pokud existují.
- Konsolidujte data událostí: Po extrakci dat pro jednotlivé aktivity přidejte záznamy ze všech pomocných tabulek do výsledné konsolidované interní tabulky. Ověřte, že pole
EventTimesprávně přebírá hodnotu z příslušného zdrojového pole, například datum a čas zaúčtování dokladu nebo zahájení úlohy. - Sjednoťte a naformátujte data: Před výstupem sjednoťte klíčová pole. Spojte účetní rok a období do identifikátoru
FinancialPeriod. Nastavte pevné hodnoty proSourceSystemaLastDataUpdate. Zajistěte jednotný formát časových razítek. - Přidejte funkci exportu: Upravte program tak, aby exportoval výslednou interní tabulku. Nejčastěji se data zapisují do souboru CSV nebo odděleného tabulátory na aplikačním serveru SAP (pomocí
OPEN DATASET) nebo se uživateli umožní stáhnout soubor přímo do počítače (pomocí funkčního moduluGUI_DOWNLOAD). - Otestujte a ověřte program: Důkladně otestujte program na reprezentativní datové sadě zahrnující více kódů společností a období. Pomocí validačních kroků ověřte přesnost a úplnost dat. Na základě připomínek funkčních odborníků upravte logiku výběru.
- Naplánujte spuštění (volitelné): Po ověření lze naplánovat spuštění programu jako úlohy na pozadí prostřednictvím transakce
SM36. Záznam událostí se tak bude extrahovat pravidelně a automaticky, bez ručního zásahu.
Konfigurace
- Kritéria výběru: Program by měl obsahovat výběrovou obrazovku pro filtrování dat. Mezi hlavní filtry patří:
Kód společnosti (BUKRS): Povinný filtr pro omezení rozsahu na příslušné právní subjekty.Účetní rok (GJAHR): Povinný údaj pro určení hlavního roku extrakce.Účetní období (MONAT): Povinný údaj pro výběr konkrétních účetních období.
- Nastavení pro jednotlivé aktivity: Mnoho výběrů závisí na konkrétní konfiguraci SAP. Měly by být nastavitelné jako parametry nebo konstanty programu:
Typy dokladů pro časové rozlišení a rezervy: Seznam typů dokladů (BLART) používaných k rozpoznání zaúčtování časového rozlišení a rezerv.Typy dokladů pro opravné zápisy: Seznam typů dokladů používaných k rozpoznání opravných účetních zápisů.Názvy úloh a programů na pozadí: Technické názvy programů používaných pro přecenění cizí měny (napříkladFAGL_FCV), zúčtování GR/IR (napříkladSAPF124), sestavy předvahy a tvorbu účetních výkazů (napříkladRFBILA00).
- Rozsah dat: Hlavní výběr se provádí podle účetního roku a období, ale logika musí zohlednit úplné datum a čas událostí. Pro první analýzu doporučujeme extrahovat data za poslední 3 až 6 dokončených účetních období.
- Výkon: Ve velkých prostředích SAP je výkon programu zásadní. Při výběru z databáze používejte indexovaná pole, zejména v tabulkách
BKPFaBSEG. Nevybírejte všechna pole (SELECT *) a v případě potřeby zpracovávejte data po zvládnutelných dávkách. - Oprávnění: Uživatel nebo servisní účet spouštějící program musí mít oprávnění k přístupu ke všem dotazovaným tabulkám (
BKPF,BSEG,TBTCO,TBTCP,CDHDR,CDPOS) a ke spouštění transakcí, jako jsouSE38(vývoj) aSM37/SM36(plánování a sledování úloh).
Ukázkový dotaz 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. Kroky
- Zajistěte potřebné předpoklady: Získejte přihlašovací údaje pro přístup k databázi SAP ECC pouze pro čtení. Zjistěte správné schéma databáze, obvykle
SAPSR3nebo jiný název, který vám sdělí správce databáze. - Zjistěte konfiguraci systému: S finančním týmem SAP určete konkrétní
kódy společností(BUKRS) a účetní období, která chcete analyzovat. Zjistěte také, kterétypy dokladů(BLART) se ve vašem systému používají pro transakce „Zaúčtování časového rozlišení nebo rezervy“, „Zaúčtování opravného účetního zápisu“ a „Vnitroskupinová transakce“. - Ověřte názvy programů a úloh: Zjistěte názvy programů pro důležité dávkové úlohy, například přecenění cizí měny (například
FAGL_FCV), zúčtování GR/IR (napříkladSAPF124), sestavy předvahy (napříkladRFBILA00) a tvorbu účetních výkazů (napříkladRFBILA00). Najdete je mezi naplánovanými úlohami v transakciSM37. - Upravte dotaz SQL: Zkopírujte poskytnutý dotaz SQL do textového editoru nebo klienta SQL. Nahraďte zástupné proměnné
{{start_date}},{{end_date}}a{{company_codes}}skutečnými hodnotami pro analýzu. Podle informací z předchozích kroků upravte seznamy typů dokladů a názvů programů. - Připojte se k databázi: Pomocí běžného klienta SQL, například DBeaver, SQL Server Management Studio nebo Oracle SQL Developer, se připojte k databázi SAP pomocí získaných přihlašovacích údajů.
- Spusťte dotaz: Spusťte upravený dotaz SQL nad databází. Podle rozsahu dat a velikosti finančních tabulek může jeho dokončení trvat dlouho.
- Zkontrolujte první výsledky: Po dokončení dotazu rychle zkontrolujte výstup. Ověřte, že počet řádků odpovídá očekávání, jsou přítomna všechna pole a výsledky obsahují různé hodnoty
ActivityName. - Exportujte data: Exportujte celou sadu výsledků z klienta SQL do souboru CSV. Uložte jej v kódování UTF-8, aby nedošlo k problémům se znaky.
- Připravte soubor k nahrání: Před nahráním do nástroje process mining ověřte, že názvy sloupců v souboru CSV přesně odpovídají požadovaným názvům atributů (
FinancialPeriod,ActivityName,EventTimeatd.). Zkontrolujte také, zda má sloupecEventTimejednotný formát časového razítka, napříkladYYYY-MM-DD HH:MI:SS.
Konfigurace
- Přihlašovací údaje k databázi: Potřebujete databázového uživatele s přístupem pouze pro čtení k hlavním finančním a systémovým tabulkám SAP. Patří mezi ně například
BKPF,BSEG,TBTCO,CDHDRaCDPOS. - Rozsah dat: Doporučujeme extrahovat data alespoň za 3 až 6 celých účetních období, abyste zachytili významné odchylky v procesu. Počítejte s tím, že větší rozsah dat výrazně prodlouží dobu provádění dotazu.
- Kódy společností (
BUKRS): Vždy filtrujte podle konkrétního seznamu kódů společností. Spuštění dotazu pro všechny kódy společností ve velkém systému není praktické a pravděpodobně způsobí problémy s výkonem. - Typy dokladů (
BLART): Rozpoznání typů účetních zápisů, například časového rozlišení a oprav, závisí výhradně na konfiguraci SAP ve vaší organizaci. Aby se aktivity správně klasifikovaly, zadejte do klauzulíWHEREsprávné kódy typů dokladů. - Názvy programů a úloh: Dotaz používá běžné názvy programů pro automatizované kroky uzávěrky. Ve vašem systému se mohou používat vlastní obalové programy nebo jiné názvy úloh. Ověřte je v transakci
SM37a podle potřeby dotaz upravte. - Výkon: Dotaz pracuje s velmi rozsáhlými tabulkami, zejména
BSEGaCDPOS. Extrakci doporučujeme spouštět mimo pracovní dobu, aby neovlivnila výkon systému. Dobu zpracování nejlépe zkrátíte úzkým filtrem podle data a kódu společnosti.
Ukázkový dotaz 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'
; Chcete začít?
Pomocí této datové šablony můžete začít s process mining a získat užitečné poznatky o finanční uzávěrce. Začněte zlepšovat proces Record to Report ještě dnes.
Zlepšete uzávěrku Record to Report a zkraťte dobu cyklu
Odstraňte úzká místa a zkraťte dobu uzávěrky Record to Report o 30 %.
Platební kartu nepotřebujete. Spusťte si 14denní zkušební verzi.