Kayıttan Raporlamaya - dönem kapanışı ve mutabakat için Veri Templateiniz
Kayıttan Raporlamaya - dönem kapanışı ve mutabakat için Veri Templateiniz
- Toplanması önerilen öznitelikler
- Süreç analizi için izlenecek temel etkinlikler
- Adım adım veri çıkarma yönergeleri
Kayıttan Raporlamaya - dönem kapanışı ve mutabakat öznitelikleri
| Ad | Açıklama | ||
|---|---|---|---|
| Finansal dönem FinancialPeriod | Dönem sonu kapanış sürecindeki vaka olarak kullanılan, Aralık 2023 için '2023-12' gibi finansal raporlama çevrimine ait benzersiz bir tanımlayıcı. | ||
| Açıklama Finansal dönem, genellikle bir takvim ayını veya mali dönemi kapsayan belirli bir zaman aralığındaki defter kapanışı faaliyetlerini bir araya getiren temel vaka tanımlayıcısıdır. Her finansal dönem, dönem sonu sürecinin tamamlanmış bir çalışmasını temsil eder. Process Mining analizinde bu öznitelik, dönem kapanışının başlangıçtan nihai raporlamaya kadar tüm yaşam döngüsünü izlemenizi sağlar. Farklı dönemlerin çevrim sürelerini karşılaştırmak, yaygın süreç yollarını belirlemek ve aylık, üç aylık ve yıllık kapanış prosedürleri arasındaki farklılıkları analiz etmek için kullanılır. Analistler her dönemi bir vaka olarak ele alarak zaman içindeki performansı ölçebilir ve sistemik darboğazları belirleyebilir. Neden önemli? Bu temel vaka tanımlayıcısı, analizin çerçevesini oluşturur; dönem kapanışı performansını zaman içinde karşılaştırmayı ve eğilimleri ya da tekrarlayan sorunları belirlemeyi sağlar. Nereden alınır? Genellikle BKPF gibi tablolardaki finansal belge başlıklarından Mali Yıl (GJAHR) ve Kayıt Dönemi (MONAT) alanları birleştirilerek elde edilir. Örnekler 2023-122024-032024-Ç1 | |||
| Başlangıç zamanı EventTime | Belirli bir etkinliğin ne zaman başladığını veya sisteme ne zaman kaydedildiğini gösteren zaman damgası. | ||
| Açıklama Olay zamanı, bir etkinliğin gerçekleştiği kesin tarih ve saati kaydeder. Finansal kayıtlar için bu, genellikle belgenin oluşturulma saati (CPUTM) veya kayıt tarihidir (BUDAT). Durum değişiklikleri ya da görevler için değişikliğin kaydedildiği zaman damgasıdır. Bu öznitelik, etkinlikleri kronolojik sıraya koymak için gereklidir ve zamana dayalı tüm analizlerin temelini oluşturur. Etkinlikler arasındaki çevrim sürelerini, belirli görevlerin ne kadar sürdüğünü ve sürecin baştan sona toplam süresini hesaplamak için kullanılır. Ortalama Dönem Kapanış Çevrim Süresi ve Ortalama Mutabakat Onay Süresi gibi KPI’ları doğrudan destekler. Neden önemli? Bu zorunlu zaman damgası, olayların kronolojik sıraya konmasını sağlar ve tüm süre ve performans hesaplamalarının temelini oluşturur. Nereden alınır? BKPF gibi tablolardaki Oluşturma Tarihi (CPUDT) ve Oluşturma Saati (CPUTM) zaman damgası alanlarından veya çeşitli durum tablolarındaki değişiklik tarihi alanlarından (ör. CDHDR, CDPOS) alınır. Örnekler 2023-12-28T09:15:30Z2024-01-02T14:00:12Z2024-01-05T11:21:00Z | |||
| Etkinlik ActivityName | Dönem kapanış sürecinde gerçekleştirilen belirli bir iş adımının veya görevin adı. Örneğin 'Düzeltme yevmiye kaydı yapıldı' ya da 'Kayıt dönemi kapatıldı'. | ||
| Açıklama Bu öznitelik, baştan sona dönem kapanışı ve mutabakat sürecindeki tek bir olayı veya görevi temsil eder. Etkinlikler, yapılan işlerin sırasını gösteren süreç haritasının yapı taşlarıdır. Genellikle SAP S/4HANA’daki işlem kodları, belge türleri veya durum değişikliklerinin bir araya getirilmesiyle elde edilir. Etkinlikleri analiz etmek, Process Mining’in temelini oluşturur. Süreç akışını görselleştirmeye, standart prosedürden sapmaları belirlemeye, uzun süren etkinliklerdeki darboğazları ortaya çıkarmaya ve görevlerin sıklığını ve sırasını anlamaya yardımcı olur. Dönem Kapanışı Varyant Analizi ve Mevcut Dönem Kapanış Durumu gibi Dashboardlar için bu analiz önemlidir. Neden önemli? Süreç adımlarını tanımlar, süreç haritasının temelini oluşturur ve süreç akışını, sapmaları ve darboğazları analiz etmeyi sağlar. Nereden alınır? İşlem Kodları (TCODE), Belge Türleri (BLART) veya finansal kapanış görevleriyle ilgili tablolardaki durum alanları gibi çeşitli kaynaklardan elde edilir (ör. SAP Financial Closing Cockpit). Örnekler Kayıt döneminin açılmasıHesap mutabakatı başladıFinansal tablolar oluşturulduŞirketler arası mutabakat başladı | |||
| Ana hesap numarası GlAccountNumber | Büyük defterdeki belirli bir hesabın tanımlayıcısıdır. | ||
| Açıklama Büyük defter (GL) hesap numarası; nakit, borçlar veya gelir gibi finansal işlemlerin kaydedildiği hesapları tanımlar. Mutabakatlar ve düzeltme kayıtları gibi dönem sonu faaliyetlerinin çoğu, belirli GL hesaplarıyla doğrudan ilişkilidir. Bu öznitelik, ayrıntılı finansal süreç analizi için gereklidir. Düzeltme yevmiye kaydı analizi Dashboardu, hesap bazında düzeltme hacmini göstererek sorunlu alanları belirlemeye yardımcı olur. Ortalama GL hesap mutabakat süresi KPI’ı da belirli hesaplarla ilişkili gecikmeleri saptamak için bu özniteliği kullanır. Neden önemli? Süreç etkinliklerini belirli finansal hesaplarla ilişkilendirir. Böylece sorunların temel nedenlerini bulmak için mutabakatları ve yevmiye kayıtlarını ayrıntılı biçimde analiz edebilirsiniz. Nereden alınır? Finansal belge kalem tablolarında, çoğunlukla BSEG’de (HKONT alanı) veya S/4HANA evrensel yevmiye tablosu ACDOCA’da bulunur. Örnekler 113100004000000073000000 | |||
| Belge numarası DocumentNumber | Yevmiye kaydı gibi bir finansal belgenin benzersiz tanımlayıcısıdır. | ||
| Açıklama SAP, her finansal kayda benzersiz bir anahtar olan belge numarasını atar. Kapanış sürecindeki etkinlikleri oluşturan işlemleri izlemek ve denetlemek için temel referans olarak kullanılır. Belge numarası tek başına vaka kimliği olmasa da kaynak sisteme doğrudan bağlantı sağlar. Analistler, temel neden analizi için Process Mining görünümünden SAP S/4HANA’daki belirli işlem ayrıntılarına inebilir. Özellikle belirli düzeltme yevmiye kayıtlarını veya mutabakat kayıtlarını incelerken yararlıdır. Neden önemli? SAP’deki temel işleme doğrudan referans vererek süreç modelinden ilgili ayrıntılara kolayca inmenizi ve denetim izi oluşturmanızı sağlar. Nereden alınır? Finansal belge başlık tablosu BKPF’de (BELNR alanı) ve BSEG ya da ACDOCA gibi kalem tablolarında bulunur. Örnekler 100000045190000001300000023 | |||
| Bitiş zamanı EndTime | Bir etkinliğin ne zaman tamamlandığını gösteren zaman damgası. | ||
| Açıklama Bitiş zamanı, bir görevin tamamlandığı anı gösterir. Bazı durumlarda sistemde kaydedilen anlık olaylar için başlangıç zamanıyla aynı olabilir. Ölçülebilir süresi olan etkinliklerde ise tamamlanma zaman damgasını belirtir. Başlangıç zamanıyla birlikte bu öznitelik, her etkinliğin Neden önemli? Etkinlik sürelerinin (İşlem süresi) hesaplanmasını sağlar. Bu, performans darboğazlarını belirlemek ve verimliliği analiz etmek için önemlidir. Nereden alınır? Başlangıç zamanı gibi bu değer de çeşitli zaman damgası alanlarından alınabilir. Bazı etkinliklerde başlangıç zamanıyla aynı olabilir. Diğerlerinde ise uygulama tablolarındaki veya değişiklik günlüklerindeki (CDHDR, CDPOS) ayrı bir 'tamamlanma' ya da 'değişiklik' tarihi olabilir. Örnekler 2023-12-28T09:16:10Z2024-01-02T17:30:00Z2024-01-05T11:21:00Z | |||
| Hedef tamamlanma tarihi TargetCompletionDate | Finansal tabloların hazırlanması gibi önemli bir etkinliğin tamamlanması için planlanan veya son tarih. | ||
| Açıklama Hedef tamamlanma tarihi, dönem sonu kapanış sürecindeki belirli bir kilometre taşı için belirlenen iç veya dış son tarihi ifade eder. Bir görevin tamamlanmasının beklendiği tarihtir. Takvime uyumu ve son tarihlere göre performansı ölçmek için gereklidir. Raporlama son tarihine uyum Dashboardu ile finansal tabloların zamanında tamamlanma oranı KPI’ının temelini oluşturur. Bu göstergeler, hedef tarihi Neden önemli? Son tarihlere göre performansı analiz etmenizi, önemli kapanış faaliyetlerinin zamanında tamamlanma oranını ölçmenizi ve iyileştirmenizi sağlar. Nereden alınır? Bu veriler genellikle SAP Financial Closing cockpit gibi bir görev yönetimi veya zamanlama sisteminde bulunur. Kapanış görev listelerinde planlanan bitiş tarihleri burada tanımlanır. Örnekler 2024-01-05T23:59:59Z2024-04-04T23:59:59Z2024-07-05T23:59:59Z | |||
| Mutabakat durumu ReconciliationStatus | Bir hesap mutabakatı etkinliğinin durumu. Örneğin: Açık, Devam ediyor veya Onaylandı. | ||
| Açıklama Bu öznitelik, belirli bir hesap veya görev için mutabakat sürecinin durumunu izler. Mutabakatın başlatıldığını, incelemeye gönderildiğini, onaylandığını ya da reddedildiğini gösterir. Durum değişiklikleri süreçteki önemli olaylardır. Mutabakat yeniden işleme analizi Dashboardu için temel bir özniteliktir. Durumların sırasını inceleyerek Onaylandı durumunun ardından başka düzeltmeler yapılıp yapılmadığını belirleyebilir, böylece yeniden çalışmayı tespit edebilirsiniz. Ayrıca, öncesinde ret veya yeniden açılma olmadan onaylanan mutabakatları göstererek ilk seferde mutabakat onayı oranı KPI’ını destekler. Neden önemli? Mutabakat görevlerinin ilerleyişini ve sonucunu izler; yeniden çalışmayı belirlemenize, onay oranlarını ölçmenize ve darboğazları analiz etmenize yardımcı olur. Nereden alınır? Bu bilgiler genellikle kullanılan mutabakat aracına ait tablolarda saklanır. Örneğin SAP Financial Closing cockpit veya BlackLine tarafından sunulan SAP Account Substantiation and Automation. Örnekler BaşlatılmadıHazırlanıyorOnaylandıReddedildi | |||
| Şirket kodu CompanyCode | SAP kuruluşundaki bir tüzel kişiliği veya şirketi tanımlayan benzersiz değer. | ||
| Açıklama Şirket kodu, bir kuruluş içindeki bağımsız muhasebe birimini ifade eder. Bu birim için eksiksiz ve kendi içinde bütünlüğü olan bir hesap planı oluşturulabilir. Dönem sonu kapanış faaliyetlerinin tümü şirket kodu düzeyinde yürütülür. Finansal analizlerde temel bir organizasyon boyutudur. Process Mining ile farklı tüzel kişiliklerdeki dönem sonu kapanış süreçlerini karşılaştırabilirsiniz. Dönem sonu kapanış varyantı analizi Dashboardu, tutarsızlıkları belirlemek ve kapanış prosedürlerinde standardizasyonu teşvik etmek için şirket kodunu kullanır. Neden önemli? Farklı tüzel kişiliklerdeki süreçleri karşılaştırarak değişiklikleri ve iyi uygulamaları belirlemenize yardımcı olan önemli bir organizasyon bağlamı sağlar. Nereden alınır? SAP’deki hemen hemen tüm finans tablolarında, özellikle BKPF başlık tablosunda (BUKRS alanı) bulunur. Örnekler 10001710US01DE01 | |||
| Sorumlu kullanıcı ResponsibleUser | Etkinliği gerçekleştiren veya görevden sorumlu kişinin kullanıcı kimliği. | ||
| Açıklama Bu öznitelik, yevmiye kaydı yapmak veya mutabakatı onaylamak gibi belirli bir görevi gerçekleştiren çalışanı tanımlar. Genellikle sistem günlüklerinde ve belge başlıklarında kullanıcı kimliği olarak kaydedilir. Süreci kullanıcı bazında analiz etmek; iş yükü dağılımını, bireysel performansı ve eğitim gereksinimlerini anlamak için önemlidir. Kaynak Dağılımı Verimliliği Dashboardu, etkinliklerin kullanıcı bazında işlem sürelerini görselleştirmek için bu özniteliği doğrudan kullanır. Ayrıca birçok kullanıcının yaptığı, sık tekrarlanan görevleri öne çıkararak otomasyona uygun işleri belirlemeye yardımcı olabilir. Neden önemli? Süreç etkinliklerini bunları gerçekleştiren kişilerle ilişkilendirerek iş yükü analizini, kaynak optimizasyonunu ve performans yönetimini destekler. Nereden alınır? Genellikle BKPF gibi belge başlığı tablolarında (USNAM alanı, Kullanıcı Adı) veya CDHDR gibi değişiklik belgesi tablolarında (USERNAME alanı) bulunur. Örnekler ABROWNCSMITHDJOHNSON | |||
| Belge para birimi DocumentCurrency | Finansal belgedeki tutarların para birimi kodu. | ||
| Açıklama Bu öznitelik, işlemin kaydedildiği para birimini (USD, EUR veya JPY gibi) belirtir. Çok uluslu kuruluşlarda para birimine göre analiz yapmak önem taşıyabilir. Bu sayede parasal değerler doğru yorumlanır ve toplu analiz için tek bir raporlama para birimine dönüştürme işlemi yapılabilir. Bu bağlam olmadan Neden önemli? Parasal değerlerin doğru yorumlanması için gerekli bağlamı sağlar. Birden fazla para biriminin kullanıldığı ortamlarda özellikle önemlidir. Nereden alınır? Finansal belge başlık tablosu BKPF’de (WAERS alanı) bulunur. Örnekler USDEURJPY | |||
| Belge tutarı DocumentAmount | Belge para birimindeki finansal kaydın toplam değeri. | ||
| Açıklama Bu öznitelik, finansal belgeyle ilişkili parasal değeri gösterir. Dönem sonu düzeltmelerinde bu değer, kaydedilen tahakkuk veya düzeltme tutarı olabilir. Tutarı incelemek, önemlilik değerlendirmelerinde yarar sağlar. Analistler, daha yüksek finansal risk taşıyabilecek yüksek tutarlı düzeltme kayıtlarını öncelikli olarak inceleyebilir. Süreç haritasını belirli bir eşiğin üzerindeki işlemleri gösterecek şekilde filtreleyerek görünümü en önemli etkinliklere indirgeyebilirsiniz. Neden önemli? Analize finansal bir boyut ekler; sorunları parasal etkilerine ve önemliliklerine göre önceliklendirmenizi sağlar. Nereden alınır? Bu değer genellikle BSEG veya ACDOCA gibi kalem tablolarından toplanır (WRBTR alanı, belge para birimindeki tutar). Örnekler 15000.00250.75-500.00 | |||
| Dönem sonu kapanış çevrim süresi PeriodCloseCycleTime | Bir finansal dönemde ilk etkinlikten son etkinliğe kadar geçen toplam süre. | ||
| Açıklama Bu metrik, tek bir vaka (finansal dönem) için dönem sonu kapanış sürecinin baştan sona ne kadar sürdüğünü gösterir. İlgili dönemdeki son etkinliğin zaman damgasından ilk etkinliğin zaman damgası çıkarılarak hesaplanır. Temel performans göstergelerinden biridir; dönem sonu kapanış çevrim süresine genel bakış Dashboardunu ve ortalama dönem sonu kapanış çevrim süresi KPI’ını doğrudan destekler. Kapanış sürecinin genel verimliliğini ve hızını ölçerek zaman içindeki değişimleri izlemenizi ve farklı şirket kodlarını karşılaştırmanızı sağlar. Neden önemli? Sürecin toplam süresini gösteren temel KPI’dır. Verimlilikte zaman içinde sağlanan iyileşmeleri genel düzeyde izlemenizi sağlar. Nereden alınır? Vaka düzeyinde, her Örnekler P5D10H30MP7D2HP6D | |||
| Gerçek tamamlanma tarihi ActualCompletionDate | Önemli bir etkinliğin veya tüm dönem sonu kapanışının tamamlandığı gerçek tarih. | ||
| Açıklama Bu öznitelik, önemli bir kilometre taşının gerçek tamamlanma tarihini kaydeder. Finansal tabloların son onayının veya kayıt döneminin kapatılmasının zaman damgasıdır.
Neden önemli? Kilometre taşlarının gerçek zamanlamasını gösterir. Planlanan son tarihlere göre performansı ölçmek ve gecikmeleri analiz etmek için gereklidir. Nereden alınır? 'Finansal tablolar onaylandı' veya 'Kayıt dönemi kapatıldı' gibi bir dizideki son etkinliğin EventTime değerinden alınır. Örnekler 2024-01-06T10:00:00Z2024-04-05T17:00:00Z2024-07-04T11:00:00Z | |||
| İşlem kodu TransactionCode | Etkinliği gerçekleştirmek için kullanılan SAP işlem kodu (T-code). | ||
| Açıklama İşlem kodu, SAP’de belirli bir işlevi veya programı başlatmak için kullanılan kısayoldur. Örneğin FB01 belge kaydetmek, FAGLB03 ise GL hesap bakiyelerini görüntülemek için kullanılır. T-code, gerçekleştirilen etkinliği belirlemek için çoğu zaman açık bir teknik gösterge sunar. Bu öznitelik, süreç modelindeki etkinlik tanımlarını oluşturmanıza yardımcı olur. Otomatik ve manuel etkinlikleri ayırt etmenin, ayrıca bir görevin sistemde tam olarak nasıl gerçekleştirildiğini anlamanın güvenilir bir yoludur. T-code’ları inceleyerek çalışanların kullandığı standart dışı veya verimsiz yöntemleri ortaya çıkarabilirsiniz. Neden önemli? Bir etkinliğin nasıl gerçekleştirildiğine ilişkin sistem düzeyinde teknik bir görünüm sunar. Manuel ve otomatik adımları, ayrıca standart dışı prosedürleri belirlemenize yardımcı olur. Nereden alınır? Finansal belge başlık tablosu BKPF’de (TCODE alanı) veya değişiklik belgesi günlüklerinde bulunur. Örnekler FB01FAGL_FCVF.13 | |||
| Kaynak sistem SourceSystemId | Verilerin çıkarıldığı SAP S/4HANA örneğini veya istemcisini tanımlayan değer. | ||
| Açıklama Bu öznitelik, verilerin kaynak sistemini belirtir. Farklı bölgeler veya iş birimleri için birden fazla SAP örneğinin kullanıldığı ortamlarda, veri kaynaklarını ayırt etmek için bu alan gereklidir. Öncelikle veri yönetişimi, denetim ve veri bütünlüğünü sağlamak için kullanılır. Analizde, farklı kaynak sistemlerdeki süreçler tek bir Process Mining modelinde birleştirilmişse bunları karşılaştırmak üzere filtre olarak kullanılabilir. Neden önemli? Verilerin kaynağını netleştirerek, özellikle birden fazla sistemin bulunduğu ortamlarda veri kökeni ve bağlamı hakkında gerekli bilgiyi sağlar. Nereden alınır? Genellikle veri çıkarma sırasında eklenen meta verilerdir; SAP’deki sistem kimliğinden (SY-SYSID) veya istemciden (SY-MANDT) alınabilir. Örnekler S4H_PROD_100S4H_QAS_200ECC_LEGACY_001 | |||
| Mutabakat yeniden çalışma içeriyor mu IsReconciliationRework | Bir mutabakat etkinliğinin ardından ret veya başka düzeltmeler gelmişse doğru değerini alan mantıksal bir işaret. | ||
| Açıklama Bu hesaplanan öznitelik, mutabakat alt sürecindeki yeniden çalışmaları belirler. Bir mutabakatın reddedildiği, gönderildikten sonra yeniden açıldığı veya bir GL hesabı için tamamlandığı düşünülen mutabakattan sonra düzeltme kayıtlarının yapıldığı etkinlikleri ya da vakaları işaretler. Mutabakat yeniden işleme analizi Dashboardu ve mutabakat yeniden çalışma oranı KPI’ı için tasarlanmıştır. Karmaşık süreç dizilerini ölçülebilir, basit bir özniteliğe dönüştürerek yeniden çalışmanın boyutunu ortaya koyar ve ekiplerin ilk seferde kaliteyi artırmaya odaklanmasına yardımcı olur. Neden önemli? Süreç verimsizliğinin önemli bir göstergesi olan yeniden çalışmayı doğrudan ölçer. Mutabakat kalitesini hedefli biçimde analiz etmenizi ve iyileştirmenizi sağlar. Nereden alınır? Etkinliklerin sırasına göre hesaplanır. Örneğin, aynı dönemde aynı GL hesabı için 'Mutabakat onaylandı' etkinliğinin ardından 'Düzeltme yevmiye kaydı yapıldı' etkinliği gelirse işaret doğru değerini alır. Örnekler truefalse | |||
| Otomatik mi IsAutomated | Etkinliğin bir sistem kullanıcısı veya otomatik bir süreç tarafından gerçekleştirilip gerçekleştirilmediğini belirten mantıksal bir işaret. | ||
| Açıklama Bu işaret, bir kişinin manuel olarak gerçekleştirdiği görevlerle sistemin otomatik olarak yürüttüğü görevleri ayırt eder. Örneğin para birimi değerlemesi için zamanlanmış bir toplu iş veya otomatik mahsuplaştırma çalıştırması. Değer genellikle Bu öznitelik, kapanış sürecindeki otomasyon düzeyini anlamak için önemlidir. Hacmi yüksek manuel görevleri göstererek otomasyonun artırılabileceği alanları belirlemeye yardımcı olur. Ayrıca darboğazların manuel mi yoksa otomatik adımlarda mı oluştuğunu görmek için temel neden analizinde kullanılır. Neden önemli? İnsanların gerçekleştirdiği etkinliklerle sistem etkinliklerini ayırt eder. Böylece otomasyon fırsatlarını belirleyebilir, her iki tür etkinliğin verimliliğini analiz edebilirsiniz. Nereden alınır? Türetilmiş bir özniteliktir. Genellikle 'ResponsibleUser' alanına uygulanan bir kurala göre belirlenir. Örneğin 'BATCHUSER' gibi sistem veya toplu iş kullanıcı kimlikleri kontrol edilir ya da işlem kodu kullanılır. Örnekler truefalse | |||
| Son veri güncellemesi LastDataUpdate | Verilerin kaynak sistemden en son ne zaman yenilendiğini veya çıkarıldığını gösteren zaman damgası. | ||
| Açıklama Bu öznitelik, en son veri çıkarma işleminin tarih ve saatini kaydeder. Process Mining aracında analiz edilen verilerin ne kadar güncel olduğunu gösterir. Temel amacı veri yönetişimini desteklemek ve kullanıcıları bilgilendirmektir. Pano görüntüleyicileri, özellikle Mevcut Dönem Kapanış Durumu gibi gerçeğe yakın zamanlı izleme panolarında analizin ne kadar güncel olduğunu görebilir. Böylece kullanıcılar bugünün, dünün veya geçen haftanın verilerine bakıp bakmadıklarını anlar. Neden önemli? Kullanıcılara verilerin güncelliğini bildirir ve süreç içgörülerinin ne kadar güncel olduğunu anlamalarını sağlar. Nereden alınır? Veri çıkarma veya ETL aracı tarafından işlem sırasında oluşturulan ve veri setine eklenen meta verilerdir. Örnekler 2024-06-10T08:00:00Z2024-06-09T08:00:00Z | |||
| Yevmiye kaydı türü JournalEntryType | Kaydedilen finansal belgenin türü. Standart kayıtları, tahakkukları ve düzeltmeleri birbirinden ayırır. | ||
| Açıklama SAP terminolojisinde belge türü olarak da adlandırılan yevmiye kaydı türü, muhasebe belgelerini sınıflandıran bir anahtardır. Belgenin hangi hesap türlerine kaydedilebileceğini belirler ve satıcı faturası (KR), büyük defter kaydı (SA) veya müşteri ödemesi (DZ) gibi farklı iş işlemlerini ayırt etmek için kullanılır. Dönem sonu kapanışında bu öznitelik, belirli etkinlik türlerini ayrı incelemek için önemlidir. Örneğin analistler, düzeltme yevmiye kayıtlarına odaklanarak düzeltme yevmiye kaydı analizi Dashboardunu ve düzeltme yevmiye kayıtları sayısı KPI’ını destekleyebilir. Ayrıca manuel kayıt oranının hesaplanmasına da yardımcı olur. Neden önemli? Finansal işlemleri kategorilere ayırır. Böylece analizleri, dönem sonu kapanışının sorunsuz ilerlemesinde önemli rol oynayan manuel düzeltmeler gibi belirli kayıt türlerine odaklayabilirsiniz. Nereden alınır? Finansal belge başlık tablosu BKPF’de (BLART alanı) bulunan standart bir alandır. Örnekler SAKRAB | |||
| Zamanında mı IsOnTime | Bir kilometre taşı hedef tarihinde veya daha önce tamamlanmışsa doğru değerini alan mantıksal bir işaret. | ||
| Açıklama Bu öznitelik, takvime uyum sonucunu basit ve ikili bir değerle gösterir. Finansal tabloların onaylanması gibi belirli bir kilometre taşı için Finansal tabloların zamanında tamamlanma oranı KPI’ının temel hesabıdır. Tarih karşılaştırmalarını zamanında veya gecikmiş şeklinde açık bir duruma dönüştürerek performans takibini kolaylaştırır. Sonuçları Dashboardlarda ve raporlarda kolayca görüntüleyebilir, kapanışı hızlandırmaya yönelik girişimlerin etkisini ölçebilirsiniz. Neden önemli? Son tarihe uyum analizini açık bir başarılı veya başarısız sonucuna indirger. Böylece zamanında tamamlanma performansını kolayca izleyip raporlayabilirsiniz. Nereden alınır? Hesaplanan alan: Örnekler truefalse | |||
Kayıttan Raporlamaya - dönem kapanışı ve mutabakat etkinlikleri
| Aktivite | Açıklama | ||
|---|---|---|---|
| Düzeltme yevmiye kaydı yapıldı | İlk mutabakatlar yapıldıktan sonra, genellikle inceleme sırasında bulunan tutarsızlıkları gidermek için oluşturulan düzeltme yevmiye kaydını ifade eder. Bu, Genel Muhasebeye kaydedilen açık bir işlemdir. | ||
| Neden önemli? Düzeltme kayıtlarının sık yapılması, önceki süreçlerde veya mutabakatlarda ilk seferde kalite sorunlarına işaret eder. Hataların temel nedenlerini belirlemek ve yeniden çalışmayı azaltmak için bu kayıtları analiz etmek önemlidir. Nereden alınır? ACDOCA ve BKPF tablolarında açık belgeler olarak kaydedilir. Belirli belge türleri, kapanış çevriminin sonlarına denk gelen kayıt tarihleri veya belirli metin açıklamaları kullanılarak belirlenebilir. Kaydedin BKPF’deki yevmiye kayıtlarını belge türü ve mutabakat faaliyetlerine göre kayıt tarihi gibi ölçütleri birlikte kullanarak filtreleyin. Olay türü explicit | |||
| Finansal tablolar oluşturuldu | Bu etkinlik, bilanço ve gelir tablosu gibi resmî finansal tabloların oluşturulmasını gösterir. Dönem sonu muhasebe ve konsolidasyon süreçlerinin tamamlandığı aşamadır. | ||
| Neden önemli? Bu, Kayıttan Raporlamaya çevrimindeki önemli bir aşamadır. Raporlama son tarihlerini karşılamak ve paydaşlara zamanında bilgi sunmak için zamanlaması büyük önem taşır. Nereden alınır? En iyi yöntem, bu etkinliğin açık bir görev olarak yer aldığı SAP Financial Closing Cockpit gibi bir finansal kapanış yönetim aracından veri almaktır. Böyle bir araç yoksa rapor oluşturma günlüklerinden veya dosya oluşturma zaman damgalarından çıkarılması gerekir. Kaydedin Bir kapanış aracında 'Finansal tabloları oluştur' görevinin tamamlanma durumunu izleyin veya rapor yürütme günlüklerini analiz edin. Olay türü inferred | |||
| Hesap mutabakatı başladı | GL hesap bakiyelerinin dayanak belgelerle doğrulanmasına yönelik manuel veya yarı otomatik sürecin başlangıcını gösterir. Mutabakat durumu 'Yeni' durumundan 'Devam ediyor' durumuna geçtiğinde veya hazırlayan kişinin ilk işlemi kaydedildiğinde bu etkinlik çıkarılır. | ||
| Neden önemli? Bu önemli aşama, bilanço bakiyelerinin doğrulanması için gereken süreyi ve iş yükünü anlamaya yardımcı olur. Hangi hesapların veya departmanların mutabakata geç başladığını belirlemenizi sağlar. Nereden alınır? Bu olay genellikle SAP Account Substantiation and Automation by BlackLine gibi özel bir mutabakat aracından veya başka bir üçüncü taraf sisteminden alınır. Durum değişikliği zaman damgalarından çıkarılır. Kaydedin Belirli bir GL hesabı mutabakatında 'Başlamadı' durumundan gerçekleşen ilk durum değişikliğinin zaman damgasını izleyin. Olay türü inferred | |||
| Hesap mutabakatı onaylandı | Bu etkinlik, GL hesabı mutabakatının nihai onayını gösterir; bakiyenin dayanak belgelerle doğrulandığını ve sorunların giderildiğini teyit eder. Mutabakat aracındaki durumun 'Onaylandı' olarak değişmesinden çıkarılır. | ||
| Neden önemli? Bu aşama, önemli bir kontrol faaliyetinin tamamlandığını gösterir. Onay sürelerini izlemek, inceleme sürecindeki darboğazları belirlemeye yardımcı olur ve yeniden çalışma ile ilk seferde başarı oranını ölçmek için gereklidir. Nereden alınır? Nihai onay durumunun zaman damgası izlenerek SAP Account Substantiation and Automation gibi bir mutabakat yönetim sisteminden alınır. Kaydedin Mutabakatın durum alanının son durum olan 'Onaylandı' olarak güncellendiği zaman damgasını belirleyin. Olay türü inferred | |||
| Kayıt dönemi kapatıldı | Bu, çevrimin son etkinliğidir. Başka işlem yapılmasını önlemek için kayıt dönemi resmen kapatılır. Böylece kesinleşmiş finansal raporlardaki verilerin bütünlüğü korunur. | ||
| Neden önemli? Bu etkinlik, sürecin kesin bitiş olayıdır. Toplam dönem kapanış çevrim süresini hesaplamak ve süreç tamamlama eğilimlerini analiz etmek için gereklidir. Nereden alınır? Dönemin açılmasına benzer biçimde bu olay, OB52 işlemi üzerinden T001B kayıt dönemi kontrol tablosunda yapılan güncellemeleri kaydeden değişiklik belgelerinden (CDHDR ve CDPOS tabloları) alınır. Kaydedin İlgili mali yıl ve dönemin kapatıldığını belirlemek için T001B tablosundaki değişiklik günlüklerini filtreleyin. Olay türü explicit | |||
| Kayıt döneminin açılması | Bu adım, finansal dönemin başlangıcını işaret eder ve işlemlerin kaydedilebilmesi için kayıt dönemleri açılır. SAP’de finans yöneticisinin gerçekleştirdiği, açıkça kaydedilen bir yapılandırma değişikliğidir ve yeni dönem için yevmiye kayıtlarına izin verir. | ||
| Neden önemli? Bu etkinlik, dönem sonu kapanış sürecinin temel başlangıç olayıdır. Toplam çevrim süresinin doğru ölçülmesini sağlar ve süreç analizine net bir başlangıç noktası sunar. Nereden alınır? Bu olay, kayıt dönemi kontrol tablosu T001B’deki değişiklikleri kaydeden değişiklik belgelerinden (CDHDR ve CDPOS tabloları) alınır. Değişiklikler genellikle OB52 işlemi üzerinden yapılır. Kaydedin Belirli mali yıl ve döneme ait T001B tablosu değişiklik günlüklerini filtreleyin. Olay türü explicit | |||
| Şirketler arası mutabakat başladı | Bu etkinlik, aynı şirketler grubundaki farklı şirket kodları arasında işlemleri eşleştirme ve mutabakatını yapma sürecinin başlangıcını gösterir. Süreç genellikle bir mutabakat işi çalıştırılarak veya SAP ICMR aracında yeni bir mutabakat vakası oluşturularak başlatılır. | ||
| Neden önemli? Şirketler arası mutabakat genellikle karmaşık ve zaman alıcıdır. Süreç süresini ve akışını analiz etmek, grup kapanışını iyileştirmek ve konsolide finansal tabloların doğruluğunu sağlamak açısından önemlidir. Nereden alınır? SAP Intercompany Matching and Reconciliation (ICMR) modülündeki durum değişikliklerinden veya dönem için ilk mutabakat belgelerinin oluşturulmasından çıkarılır. Kaydedin İlgili dönem için ICMR aracındaki mutabakat birimlerinin oluşturulma tarihini veya durum değişikliği zaman damgasını izleyin. Olay türü inferred | |||
| Alt defter verilerinin aktarımı tamamlandı | Alacaklar Muhasebesi, Borçlar Muhasebesi ve Varlık Muhasebesi gibi yardımcı defterlerden özet verileri Genel Muhasebeye aktaran toplu işlerin tamamlanmasını ifade eder. Böylece kapanış prosedürleri başlamadan önce temel operasyonel işlemlerin tümü GL’ye yansıtılır. | ||
| Neden önemli? Yardımcı defterlerin kapanışındaki gecikmeler, genel süreçte önemli bir darboğaz oluşturabilir. Bu etkinliği izlemek, kaynak sistemlerden veri toplama ve entegrasyon süreçlerindeki verimsizlikleri belirlemeye yardımcı olur. Nereden alınır? Defter mutabakatı ve veri aktarımından sorumlu belirli toplu işlerin başarıyla tamamlanma durumundan çıkarılır. İş günlükleri TBTCO ve TBTCP tablolarında bulunabilir. Kaydedin SAP iş genel görünümünde (SM37 işlemi) ilgili toplu işlerin tamamlanma zaman damgalarını belirleyip izleyin. Olay türü explicit | |||
| Finansal tablolar onaylandı | Finansal tablolar yayımlanmadan önce yetkili yönetimin verdiği nihai onayı ifade eder. Bu süreç çoğu zaman çevrim dışı yürütülür; ancak resmî bir dijital onay adımı varsa kaydedilebilir. | ||
| Neden önemli? Bu, son kalite ve kontrol aşamasıdır. Zamanlamasını izlemek, raporlama son tarihlerine uyumu ve yönetim incelemesi çevriminin genel verimliliğini anlamak için gereklidir. Nereden alınır? Örneğin SAP Financial Closing Cockpit veya bir belge yönetim sisteminde, tablo onayına yönelik bir iş akışı ya da durum alanı varsa bu olay kaydedilebilir. Kaydedin Finansal tablo paketinin nihai onayını gösteren bir veri alanı ve zaman damgası belirleyin. Olay türü inferred | |||
| Konsolidasyon görevleri yürütüldü | SAP Group Reporting içindeki para birimi çevrimi, yeniden sınıflandırma ve şirketler arası kârların eliminasyonu gibi konsolidasyon faaliyetlerinin yürütülmesini ifade eder. Bu görevler genellikle konsolidasyon monitöründe yönetilir ve kaydedilir. | ||
| Neden önemli? Birden fazla tüzel kişiliği olan kuruluşlarda konsolidasyon süreci, kapanışın tamamlanmasını belirleyen önemli bir adımdır. Bu görevleri izlemek, grup kapanışını iyileştirmeye ve konsolide raporlamanın zamanında yapılmasına yardımcı olur. Nereden alınır? SAP S/4HANA for Group Reporting içindeki Data Monitor veya Consolidation Monitor durum günlüklerinden alınır. Her görevde genellikle bir kullanıcı, zaman damgası ve durum bilgisi bulunur. Kaydedin Group Reporting konsolidasyon monitörünün temel tablolarından görev yürütme günlüklerini çıkarın. Olay türü explicit | |||
| Mizan hazırlandı | İnceleme için bir mizanın oluşturulup kaydedildiğini gösterir. Bu, nihai finansal tablolar hazırlanmadan önceki önemli bir kontrol noktasıdır. Bu olay genellikle rapor çıktısının kaydedildiği prosedürlerden alınır. | ||
| Neden önemli? Mizan hazırlığı önemli bir kalite kontrol noktasıdır. Zamanlamasını analiz etmek, nihai raporlamaya ne ölçüde hazır olunduğunu anlamaya ve önceki faaliyetlerdeki gecikmeleri belirlemeye yardımcı olur. Nereden alınır? Bu genellikle açıkça kaydedilen bir olay değildir. Kullanıcı ve tarih damgalarıyla varyantların kaydedildiği belirli bir raporlama işleminin yürütülmesinden veya sürecin SAP Financial Closing Cockpit gibi bir araçta yönetilmesinden çıkarılabilir. Kaydedin Rapor yürütme günlükleri veya kapanış kokpiti görev listeleri gibi güvenilir bir kayıt mekanizmasının bulunup bulunmadığını belirlemek için sistem analizi gerekir. Olay türü inferred | |||
| Otomatik mahsup çalıştırması yürütüldü | SAP’de GR/IR (Mal Girişi/Fatura Girişi) mahsup çalıştırması gibi otomatik mahsup programlarının yürütülmesini ifade eder. Bu işler, belirli GL hesaplarındaki açık kalemleri eşleştirip kapatarak manuel mutabakat iş yükünü azaltır. | ||
| Neden önemli? Bu etkinlik, mutabakat sürecindeki otomasyon düzeyini gösterir. Çalıştırmaların başarısız olması veya istisnalarla karşılaşması, önemli ölçüde manuel iş yüküne ve gecikmelere yol açabilir. Nereden alınır? Otomatik mahsup için F.13 veya F.13E gibi belirli toplu işlerin yürütme günlüklerinden alınır. Yürütme ayrıntıları TBTCO ve TBTCP iş günlüğü tablolarında bulunur. Kaydedin SAP iş günlüklerinde F.13 gibi işlemlerle ilişkili işlerin başlangıç ve bitiş zaman damgalarını izleyin. Olay türü explicit | |||
| Tahakkuk ve karşılıklar kaydedildi | Bu olay, tahakkuk esasına göre doğru finansal raporlama için gereken tahakkuk, erteleme ve diğer karşılıklara ilişkin manuel yevmiye kayıtlarının oluşturulmasını kapsar. Bunlar, Genel Muhasebeye kaydedilen açık işlemlerdir. | ||
| Neden önemli? Bu kayıtları izlemek, manuel düzeltmelerin sayısını ve zamanlamasını analiz etmeye yardımcı olur. Sayının yüksek olması, otomasyon veya önceki süreçlerde iyileştirme fırsatlarına işaret edebilir. Nereden alınır? ACDOCA evrensel yevmiye tablosunda ve BKPF başlık tablosunda açık yevmiye kayıtları olarak tutulur. Bu kayıtlar, tahakkuklar için yapılandırılmış belirli belge türleriyle belirlenebilir. Kaydedin BKPF tablosundaki belgeleri belge türüne (ör. 'SA' veya özel türler) ve dönem içindeki kayıt tarihine göre filtreleyin. Olay türü explicit | |||
| Yabancı para değerleme çalıştırması | Bu, yabancı para cinsinden açık kalemleri ve bakiyeleri dönem sonu döviz kurlarına göre yeniden değerlemek için uygulanan standart bir ay sonu prosedürüdür. Program çalıştırıldığında ortaya çıkan değerleme farkları kaydedilir. | ||
| Neden önemli? Muhasebe standartlarına uyumu destekler ve finansal durumun doğru biçimde görülmesini sağlar. Bu etkinliği izlemek, tüm döviz değerlemelerinin zamanında yapılmasına yardımcı olur. Nereden alınır? Yabancı para değerleme programının (ör. FAGL_FCV) yürütme günlüklerinden alınır. İş ayrıntıları TBTCO ve TBTCP tablolarında saklanır. Kaydedin FAGL_FCV işlemiyle veya bu işlemin temelindeki programla ilgili işlerin yürütme günlüklerini izleyin. Olay türü explicit | |||
Veri çıkarma rehberleri
Adımlar
- CDS View’ları belirleyin ve doğrulayın: ADT içeren SAP HANA Studio veya Eclipse kullanarak SAP S/4HANA sisteminize giriş yapın. Sorguda belirtilen I_JournalEntryItem, I_BatchJob ve I_ConsolidationTaskLog gibi standart CDS View’ların mevcut olup olmadığını ABAP Development Tools ile arayıp doğrulayın. Hesap mutabakatı gibi süreçlerde durum değişikliklerini kaydetmek için Z_I_ACCOUNTRECONCILIATION gibi özel CDS View’lar oluşturmanız gerekebilir.
- CDS View’ları OData üzerinden kullanıma açın: SAP arka ucunda
SEGW(Gateway Service Builder) işlemini kullanarak yeni bir proje oluşturun. Data Model klasörüne sağ tıklayıp 'Reference -> Data Source' seçeneğini belirleyin. Gerekli CDS View’ları ekleyin. Bu View’ları dış sistemlerin kullanabilmesi için bir OData hizmeti oluşturacak çalışma zamanı nesnelerini üretin. - OData hizmetini etkinleştirin: SAP Gateway hub’ında
/IWFND/MAINT_SERVICEişlemine gidin. 'Add Service' seçeneğine tıklayın, önceki adımda oluşturduğunuz hizmeti bulun ve ekleyin. Böylece hizmet etkinleşir ve sorgulanabilir hale gelir. - Veri bağlantısı kurun: Seçtiğiniz veri çıkarma aracından (Python, Power BI veya özel bir ETL platformu gibi) yeni oluşturulan OData hizmetine bağlanın. CDS View’lara erişim yetkisi olan kimlik bilgilerine ve hizmet URL’sine ihtiyacınız olacaktır.
- Sorguyu uyarlayıp çalıştırın: Sağlanan SQL sorgusunu kopyalayın. Tarih aralıkları, şirket kodları ve özel CDS View ya da toplu iş adları için yer tutucu değerleri SAP ortamınıza göre düzenleyin. Sorguyu OData hizmet uç noktasında çalıştırın. OData farklı bir söz dizimi ($filter, $select) kullandığından, UNION ALL sorgusundaki mantığı her etkinlik için ayrı bir API çağrısı dizisine dönüştürmeniz gerekebilir.
- Etkinlik verilerini birleştirin: OData genellikle karmaşık UNION ALL sorgularını tek bir çağrıda doğrudan desteklemez. Bu nedenle sorgudaki her etkinlik bloğu için ayrı bir istek gönderin. Tüm isteklerden gelen sonuçları istemci aracınızda tek bir veri setinde veya tabloda birleştirin.
- Verileri dönüştürüp temizleyin: Birleştirilmiş verileri gözden geçirin.
EventTimeveEndTimesütunlarının tutarlı bir zaman damgası biçiminde olduğundan emin olun.FinancialPeriodalanının 'YYYY-MM' biçiminde olduğunu doğrulayın.ResponsibleUserveyaDocumentNumbergibi sütunlardaki NULL değerleri gerektiği şekilde ele alın. - Event Log olarak dışa aktarın: Son birleştirilmiş veri setini CSV dosyasına aktarın. Sütun başlıklarının gerekli özniteliklerle eşleştiğinden emin olun:
FinancialPeriod,ActivityName,EventTime,EndTime,ResponsibleUservb. Dosya artık ProcessMind’e yüklenmeye hazırdır.
Yapılandırma
- CDS View’lar: Sorgu, standart ve özel CDS View’ların bir arada kullanılmasına dayanır.
I_JournalEntryItem(yevmiye kayıtları için) veI_BatchJob(otomatik çalıştırmalar için) gibi standart View’lar gereklidir.Z_I_ACCOUNTRECONCILIATIONgibi özel View’lar, standart View’ların kapsamadığı iç süreçlerin durumunu kaydetmek için çoğu zaman gerekir. - Tarih aralığı: Veri hacmini yönetmek için belirli bir veri çıkarma tarih aralığı tanımlayın. Sorgudaki
[Start Date]ve[End Date]yer tutucuları, anlamlı bir analiz için genellikle 3 ila 6 tam mali dönemi kapsamalıdır. - Temel filtreler: Performans ve sonuçların konuyla ilgili olması için filtreleme önemlidir. Her zaman
CompanyCodealanına göre filtre uygulayın. Diğer önemli filtreler arasındaLedger(örneğin, ana defter için '0L'),FiscalYearve düzenli kayıtları, tahakkukları ve düzeltmeleri ayıran belirliDocumentTypedeğerleri bulunur. - Ön koşullar: Veri çıkarma işlemini yapan kullanıcının belirtilen CDS View’lara erişmek ve OData hizmetlerini çalıştırmak için SAP yetkileri olmalıdır (ör.
S_SERVICE,S_RFCyetki nesneleri). SAP Gateway hizmetleri yapılandırılmış ve etkinleştirilmiş olmalıdır. - Performans:
I_JournalEntryItemüzerinde sorgu çalıştırmak performansı zorlayabilir. Özellikle tarihlere, şirket kodlarına ve defterlere göre seçici filtreler uygulayın. Veri çıkarmayı yoğun olmayan saatlerde yapmayı veya sürekli izleme için artımlı yükleme stratejisi kullanmayı değerlendirin.
Örnek sorgu sql
SELECT
CONCAT(CAST(PostingDate AS DATE FORMAT 'YYYY'), '-', CAST(PostingDate AS DATE FORMAT 'MM')) AS FinancialPeriod,
'Period Opened For Posting' AS ActivityName,
CAST(CreationDateTime AS TIMESTAMP) AS EventTime,
CAST(CreationDateTime AS TIMESTAMP) AS EndTime,
CreatedByUser AS ResponsibleUser,
CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
0 AS ProcessingTime
FROM I_FinPostingPeriodControl -- This is a proxy; this activity is a configuration change often found in change logs (CDHDR/CDPOS for table T001B)
WHERE PostingPeriodVariant = '[Your Variant]' AND FiscalYear = '[Your Fiscal Year]' AND FromPostingPeriod = 1 AND AuthorizationGroup IS NOT NULL -- Logic to detect the opening event
UNION ALL
SELECT
CONCAT(SUBSTRING(JobName, STRPOS(JobName, '_') + 1, 4), '-', SUBSTRING(JobName, STRPOS(JobName, '_') + 5, 2)) AS FinancialPeriod, -- Infer period from Job Name if patterned, otherwise use job start date
'Subledger Data Transfer Completed' AS ActivityName,
CAST(JobStartDate || JobStartTime AS TIMESTAMP) AS EventTime,
CAST(JobEndDate || JobEndTime AS TIMESTAMP) AS EndTime,
JobCreatedByUser AS ResponsibleUser,
'[Configure based on your system]' AS CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
SECONDS_BETWEEN(CAST(JobStartDate || JobStartTime AS TIMESTAMP), CAST(JobEndDate || JobEndTime AS TIMESTAMP)) AS ProcessingTime
FROM I_BatchJob
WHERE JobName LIKE '[Subledger Job Prefix]%' AND JobStatus = 'F' -- 'F' for Finished
AND JobEndDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(CAST(CreationDate AS DATE FORMAT 'YYYY'), '-', CAST(CreationDate AS DATE FORMAT 'MM')) AS FinancialPeriod,
'Intercompany Reconciliation Started' AS ActivityName,
CAST(CreationDateTime AS TIMESTAMP) AS EventTime,
NULL AS EndTime,
CreatedByUser AS ResponsibleUser,
LeadingCompanyCode AS CompanyCode,
NULL AS GlAccountNumber,
ReconciliationCase AS DocumentNumber,
ReconciliationCaseStatus AS ReconciliationStatus,
NULL AS TargetCompletionDate,
NULL AS ProcessingTime
FROM I_ICRcnCase -- Part of SAP S/4HANA for group reporting
WHERE CreationDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(FiscalYear, '-', LPAD(FiscalPeriod, 2, '0')) AS FinancialPeriod,
'Accruals And Provisions Posted' AS ActivityName,
CAST(CreationDateTime AS TIMESTAMP) AS EventTime,
CAST(CreationDateTime AS TIMESTAMP) AS EndTime,
CreatedByUser AS ResponsibleUser,
CompanyCode,
GLAccountNumber,
AccountingDocument AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
0 AS ProcessingTime
FROM I_JournalEntryItem
WHERE DocumentType IN ('[Accrual Doc Type 1]', '[Accrual Doc Type 2]') -- e.g., 'SA', 'AC'
AND PostingDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(SUBSTRING(JobName, STRPOS(JobName, '_') + 1, 4), '-', SUBSTRING(JobName, STRPOS(JobName, '_') + 5, 2)) AS FinancialPeriod,
'Automated Clearing Run Executed' AS ActivityName,
CAST(JobStartDate || JobStartTime AS TIMESTAMP) AS EventTime,
CAST(JobEndDate || JobEndTime AS TIMESTAMP) AS EndTime,
JobCreatedByUser AS ResponsibleUser,
'[Configure based on your system]' AS CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
SECONDS_BETWEEN(CAST(JobStartDate || JobStartTime AS TIMESTAMP), CAST(JobEndDate || JobEndTime AS TIMESTAMP)) AS ProcessingTime
FROM I_BatchJob
WHERE JobName LIKE 'SAPF124%' AND JobStatus = 'F'
AND JobEndDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(SUBSTRING(JobName, STRPOS(JobName, '_') + 1, 4), '-', SUBSTRING(JobName, STRPOS(JobName, '_') + 5, 2)) AS FinancialPeriod,
'Foreign Currency Valuation Run' AS ActivityName,
CAST(JobStartDate || JobStartTime AS TIMESTAMP) AS EventTime,
CAST(JobEndDate || JobEndTime AS TIMESTAMP) AS EndTime,
JobCreatedByUser AS ResponsibleUser,
'[Configure based on your system]' AS CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
SECONDS_BETWEEN(CAST(JobStartDate || JobStartTime AS TIMESTAMP), CAST(JobEndDate || JobEndTime AS TIMESTAMP)) AS ProcessingTime
FROM I_BatchJob
WHERE JobName LIKE 'FAGL_FCV%' AND JobStatus = 'F'
AND JobEndDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
-- This activity often requires a custom view on a custom table or an add-on like SAP Account Substantiation and Automation.
-- The following is a placeholder for such a custom view.
SELECT
CONCAT(FiscalYear, '-', LPAD(FiscalPeriod, 2, '0')) AS FinancialPeriod,
'Account Reconciliation Started' AS ActivityName,
CAST(ChangedAt AS TIMESTAMP) AS EventTime,
NULL AS EndTime,
ChangedBy AS ResponsibleUser,
CompanyCode,
GLAccountNumber,
ReconciliationID AS DocumentNumber,
'In Progress' AS ReconciliationStatus,
PlannedCompletionDate AS TargetCompletionDate,
NULL AS ProcessingTime
FROM Z_I_ACCOUNTRECONCILIATION -- Placeholder for your custom reconciliation status view
WHERE Status = 'IN_PROGRESS' AND OldStatus = 'NEW'
AND ChangeDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(FiscalYear, '-', LPAD(FiscalPeriod, 2, '0')) AS FinancialPeriod,
'Adjusting Journal Entry Posted' AS ActivityName,
CAST(CreationDateTime AS TIMESTAMP) AS EventTime,
CAST(CreationDateTime AS TIMESTAMP) AS EndTime,
CreatedByUser AS ResponsibleUser,
CompanyCode,
GLAccountNumber,
AccountingDocument AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
0 AS ProcessingTime
FROM I_JournalEntryItem
WHERE DocumentType IN ('[Adjustment Doc Type 1]', '[Adjustment Doc Type 2]') -- e.g., 'AJ'
AND PostingDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
-- This activity often requires a custom view on a custom table or an add-on product.
-- The following is a placeholder for such a custom view.
SELECT
CONCAT(FiscalYear, '-', LPAD(FiscalPeriod, 2, '0')) AS FinancialPeriod,
'Account Reconciliation Approved' AS ActivityName,
CAST(ChangedAt AS TIMESTAMP) AS EventTime,
CAST(ChangedAt AS TIMESTAMP) AS EndTime,
ApprovedBy AS ResponsibleUser,
CompanyCode,
GLAccountNumber,
ReconciliationID AS DocumentNumber,
'Approved' AS ReconciliationStatus,
PlannedCompletionDate AS TargetCompletionDate,
NULL AS ProcessingTime
FROM Z_I_ACCOUNTRECONCILIATION -- Placeholder for your custom reconciliation status view
WHERE Status = 'APPROVED'
AND ChangeDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(FiscalYear, '-', LPAD(FiscalPeriod, 2, '0')) AS FinancialPeriod,
'Consolidation Tasks Executed' AS ActivityName,
CAST(TaskExecutionUTCTimestamp AS TIMESTAMP) AS EventTime,
CAST(TaskCompletionUTCTimestamp AS TIMESTAMP) AS EndTime,
ExecutedByUser AS ResponsibleUser,
ConsolidationUnitCompanyCode AS CompanyCode, -- Assuming mapping exists
NULL AS GlAccountNumber,
DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
SECONDS_BETWEEN(CAST(TaskExecutionUTCTimestamp AS TIMESTAMP), CAST(TaskCompletionUTCTimestamp AS TIMESTAMP)) AS ProcessingTime
FROM I_ConsolidationTaskLog
WHERE ConsolidationTaskStatus = 'S' -- Successful
AND TaskExecutionUTCDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(SUBSTRING(JobName, STRPOS(JobName, '_') + 1, 4), '-', SUBSTRING(JobName, STRPOS(JobName, '_') + 5, 2)) AS FinancialPeriod,
'Trial Balance Prepared' AS ActivityName,
CAST(JobStartDate || JobStartTime AS TIMESTAMP) AS EventTime,
CAST(JobEndDate || JobEndTime AS TIMESTAMP) AS EndTime,
JobCreatedByUser AS ResponsibleUser,
'[Configure based on your system]' AS CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
SECONDS_BETWEEN(CAST(JobStartDate || JobStartTime AS TIMESTAMP), CAST(JobEndDate || JobEndTime AS TIMESTAMP)) AS ProcessingTime
FROM I_BatchJob
WHERE JobName LIKE '[Trial Balance Job Prefix]%' AND JobStatus = 'F' -- Example: FAGL_TRIAL_BALANCE_RUN
AND JobEndDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(SUBSTRING(JobName, STRPOS(JobName, '_') + 1, 4), '-', SUBSTRING(JobName, STRPOS(JobName, '_') + 5, 2)) AS FinancialPeriod,
'Financial Statements Generated' AS ActivityName,
CAST(JobStartDate || JobStartTime AS TIMESTAMP) AS EventTime,
CAST(JobEndDate || JobEndTime AS TIMESTAMP) AS EndTime,
JobCreatedByUser AS ResponsibleUser,
'[Configure based on your system]' AS CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
SECONDS_BETWEEN(CAST(JobStartDate || JobStartTime AS TIMESTAMP), CAST(JobEndDate || JobEndTime AS TIMESTAMP)) AS ProcessingTime
FROM I_BatchJob
WHERE JobName LIKE '[Fin Statement Job Prefix]%' AND JobStatus = 'F'
AND JobEndDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
-- Approval is often a manual step. This requires a custom solution to capture.
-- The following is a placeholder for such a custom view.
SELECT
CONCAT(ApprovalYear, '-', LPAD(ApprovalPeriod, 2, '0')) AS FinancialPeriod,
'Financial Statements Approved' AS ActivityName,
CAST(ApprovalTimestamp AS TIMESTAMP) AS EventTime,
CAST(ApprovalTimestamp AS TIMESTAMP) AS EndTime,
ApproverUser AS ResponsibleUser,
CompanyCode,
NULL AS GlAccountNumber,
FinancialStatementVersion AS DocumentNumber,
'Approved' AS ReconciliationStatus,
NULL AS TargetCompletionDate,
0 AS ProcessingTime
FROM Z_I_FINSTATEMENTAPPROVAL -- Placeholder for custom approval tracking view
WHERE ApprovalDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(CAST(LastChangeDate AS DATE FORMAT 'YYYY'), '-', CAST(LastChangeDate AS DATE FORMAT 'MM')) AS FinancialPeriod,
'Period Closed For Posting' AS ActivityName,
CAST(LastChangeDateTime AS TIMESTAMP) AS EventTime,
CAST(LastChangeDateTime AS TIMESTAMP) AS EndTime,
LastChangedByUser AS ResponsibleUser,
CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
0 AS ProcessingTime
FROM I_FinPostingPeriodControl -- Proxy, see note on 'Period Opened'
WHERE PostingPeriodStatus = 'C' -- 'C' for Closed
AND LastChangeDate BETWEEN '[Start Date]' AND '[End Date]'; Adımlar
- Gerekli uygulama tablolarını içeren SAP HANA şemasına doğrudan salt okunur erişiminiz olduğunu doğrulayın. ACDOCA, TBTCO, CDHDR ve CDPOS tablolarının şema sahibini belirleyin. Sorgudaki şema yer tutucusunu onaylanmış şema adıyla değiştirin.
- Mali yılı, mali dönemi, şirket kodu kapsamını ve veri çıkarma tarih aralığını doğrulayın. Tam kapanış döngüsünü kapsayan, genellikle üç ila altı aylık bir tarih aralığı kullanın ve tarih parametrelerini sisteminize uygun değerlerle değiştirin.
- Kayıt dönemi yapılandırma değişiklikleri, toplu iş tamamlanması, mutabakat durumu değişiklikleri, konsolidasyon çalıştırması, rapor oluşturma ve onay kayıtları için yerel alan eşlemelerini doğrulayın. Sorguda, her SAP S/4HANA kurulumunda bulunacağı garanti olmayan kaynak nesneler için açıklayıcı yer tutucular kullanılır. Çalıştırmadan önce bu yer tutucuları sisteminizdeki onaylı View veya tablolarla değiştirin.
- Sorguyu salt okunur veritabanı kimlik bilgileriyle çalıştırın. Sorgu, gerekli her etkinlik için açıkça bir olay satırı oluşturur ve olay sırasından ek olaylar çıkarımı yapmaz.
- Döndürülen sütunları inceleyin. FinancialPeriod vaka kimliğidir, ActivityName etkinlik adıdır ve EventTime gerekli olay zaman damgasıdır. Kaynak kayıtta bulunduğunda EndTime, ResponsibleUser, CompanyCode, GlAccountNumber, DocumentNumber, ReconciliationStatus ve TargetCompletionDate alanları da eklenir.
- Belirli bir dönemde kaynak kaydı bulunmayabilecek etkinlikler de dahil olmak üzere, gerekli tüm etkinliklerin sonuçlarda bulunduğunu doğrulayın. Eksik etkinlik türleri için sorgu, ActivityName değeri Activity Coverage Validation olan bir doğrulama satırı döndürür. Hedef içe aktarma yalnızca iş etkinliklerini kabul ediyorsa ProcessMind’e yüklemeden önce bu satırı kaldırın veya ayrı olarak ele alın.
- Örnek olayları SAP uygulama kayıtları ve iş günlükleriyle karşılaştırın. Yevmiye kaydı olaylarının ACDOCA kayıtlarıyla, iş olaylarının TBTCO kayıtlarıyla, değişiklik olaylarının ise CDHDR ve CDPOS kayıtlarıyla veya yapılandırılmış mutabakat ve onay kaynaklarıyla eşleştiğini doğrulayın.
- Sonuçları UTF-8 CSV veya ProcessMind’in desteklediği başka bir tablo biçiminde dışa aktarın. FinancialPeriod, ActivityName ve EventTime sütun adlarını aynen koruyun. FinancialPeriod ve EventTime alanlarına göre sıralayın ve açıkça çıkarılan her olay için bir satır bulundurun.
- Event Logu ProcessMind’e yükleyin; FinancialPeriod alanını vaka kimliği, ActivityName alanını etkinlik ve EventTime alanını başlangıç zaman damgası olarak yapılandırın. Varsa EndTime alanını bitiş zaman damgası olarak eşleyin, kalan sütunları da olay veya vaka öznitelikleri olarak eşleyin.
Önemli kaynak eşleme notu: SAP S/4HANA’da her mutabakat aracı, konsolidasyon izleyicisi, rapor arşivi, onay iş akışı veya kayıt dönemi yapılandırması için geçerli tek bir evrensel tablo yapısı yoktur. Sorgudaki her [Your table name] ve [Your column name] yer tutucusunu sisteminizde doğrulanmış bir nesne ve sütunla değiştirin. Yer tutucuları çalıştırılabilir SQL olarak değerlendirmeyin.
Yapılandırma
- Veritabanı erişimi: ACDOCA, TBTCO, CDHDR, CDPOS ve kayıt dönemi denetimi, mutabakat, konsolidasyon, raporlama ve onaylar için yapılandırılmış kaynak nesnelerinde SELECT yetkisi olan salt okunur bir SAP HANA veritabanı kullanıcısı kullanın.
- Şema yapılandırması: [Your SAP schema] yer tutucusunu uygulama nesnelerini içeren gerçek şemayla değiştirin. Nesnelerin tablo, calculation view veya onaylı raporlama View’ı olup olmadığını doğrulayın.
- Tarih aralığı: Genellikle üç ila altı ay süren tam kapanış döngüsünü çıkarın. Dönem açılış ve kapanış etkinliklerini, geç kayıtları, ters kayıtları, onayları ve kapanış sonrası düzeltmeleri dahil edin.
- Mali dönem: Şirket kodunun kullandığı mali yıla ve mali döneme göre filtre uygulayın. Mali yıl varyantı farklıysa takvim yılı dönemlerini varsaymayın.
- Şirket kodu: Süreç belirli tüzel kişilerle sınırlıysa şirket kodu filtresi uygulayın. Kapsam ayrı bir kuruluş eşlemesinde tutuluyorsa [Configure based on your system] değerini kullanın.
- Belge türleri: Yevmiye kaydı verilerini tahakkuk, karşılık, düzeltme, değerleme, mahsup ve diğer kapanış kayıtlarında kullanılan belge türleriyle sınırlandırın. Bu filtreleri etkinleştirmeden önce yerel belge türü yapılandırmasını doğrulayın.
- İş durumu: Tamamlanma etkinlikleri için yalnızca tamamlanmış veya başarıyla bitmiş işleri dahil edin. Durum koşulu uygulamadan önce yerel TBTCO durum değerlerini doğrulayın.
- Değişiklik belgeleri: Yerel yapılandırmayı doğruladıktan sonra CDHDR ve CDPOS tablolarına ilgili nesne sınıfı ve değişiklik göstergelerine göre filtre uygulayın. Değişiklik belgeleri tek başına her iş etkinliğini belirlemeyebilir.
- Mutabakat ve onay kaynakları: Mutabakat durumu geçişleri, hazırlayan işlemleri, onaylar, hedef tarihler ve dijital onay için doğrulanmış kaynak nesnelerini yapılandırın. Bu kaynaklar, kullanılan SAP bileşenlerine ve eklentilere göre değişir.
- Performans: Mali yıl, mali dönem, şirket kodu, kayıt tarihi ve olay zaman damgası için koşulları sınırlandırın. Filtreleri her UNION ALL dalında uygulayın, ACDOCA üzerinde kısıtsız taramalardan kaçının ve sorguyu onaylı raporlama saatlerinde çalıştırın.
- Veri türleri: Zaman damgalarını ortak bir saat dilimine ve veri türüne dönüştürün. Boş dizeleri NULL değerine çevirin; şirket kodları, hesap numaraları ve belge numaralarındaki baştaki sıfırları koruyun.
- Ön koşullar: Gerekli SAP bileşenlerinin, mutabakat araçlarının, konsolidasyon işlevlerinin, iş günlüğü kaydının, değişiklik belgesi etkinleştirmesinin ve rapor ya da iş akışı denetim günlüklerinin kullanılabilir ve dolu olduğunu doğrulayın.
- Güvenlik ve uyumluluk: En az ayrıcalık ilkesini uygulayın, finansal ve kullanıcı verilerini koruyun, veri çıkarma amacını belgeleyin ve kuruluşunuzun SAP ve veritabanı denetim gerekliliklerine uyun.
Örnek sorgu sql
WITH
params AS (
SELECT
TO_DATE('[Start date YYYY-MM-DD]') AS start_date,
TO_DATE('[End date YYYY-MM-DD]') AS end_date,
'[Fiscal year]' AS fiscal_year_filter,
'[Fiscal period]' AS fiscal_period_filter,
'[Company code filter]' AS company_code_filter
FROM DUMMY
),
base_events AS (
SELECT
TO_NVARCHAR(a.RYEAR) || '-' || LPAD(TO_NVARCHAR(a.POPER), 2, '0') AS FinancialPeriod,
'Accruals And Provisions Posted' AS ActivityName,
CAST(a.BUDAT AS TIMESTAMP) AS EventTime,
CAST(NULL AS TIMESTAMP) AS EndTime,
CAST(a.USNAM AS NVARCHAR(80)) AS ResponsibleUser,
CAST(a.RBUKRS AS NVARCHAR(20)) AS CompanyCode,
CAST(a.RACCT AS NVARCHAR(40)) AS GlAccountNumber,
CAST(a.BELNR AS NVARCHAR(40)) AS DocumentNumber,
CAST(NULL AS NVARCHAR(40)) AS ReconciliationStatus,
CAST(NULL AS DATE) AS TargetCompletionDate
FROM [Your SAP schema].ACDOCA a
CROSS JOIN params p
WHERE a.BUDAT >= p.start_date
AND a.BUDAT < ADD_DAYS(p.end_date, 1)
AND (p.fiscal_year_filter = '[Fiscal year]' OR TO_NVARCHAR(a.RYEAR) = p.fiscal_year_filter)
AND (p.fiscal_period_filter = '[Fiscal period]' OR TO_NVARCHAR(a.POPER) = p.fiscal_period_filter)
AND (p.company_code_filter = '[Company code filter]' OR TO_NVARCHAR(a.RBUKRS) = p.company_code_filter)
AND a.BLART IN ('[Accrual document type]', '[Provision document type]')
UNION ALL
SELECT
TO_NVARCHAR(a.RYEAR) || '-' || LPAD(TO_NVARCHAR(a.POPER), 2, '0'),
'Adjusting Journal Entry Posted',
CAST(a.BUDAT AS TIMESTAMP),
CAST(NULL AS TIMESTAMP),
CAST(a.USNAM AS NVARCHAR(80)),
CAST(a.RBUKRS AS NVARCHAR(20)),
CAST(a.RACCT AS NVARCHAR(40)),
CAST(a.BELNR AS NVARCHAR(40)),
CAST(NULL AS NVARCHAR(40)),
CAST(NULL AS DATE)
FROM [Your SAP schema].ACDOCA a
CROSS JOIN params p
WHERE a.BUDAT >= p.start_date
AND a.BUDAT < ADD_DAYS(p.end_date, 1)
AND (p.fiscal_year_filter = '[Fiscal year]' OR TO_NVARCHAR(a.RYEAR) = p.fiscal_year_filter)
AND (p.fiscal_period_filter = '[Fiscal period]' OR TO_NVARCHAR(a.POPER) = p.fiscal_period_filter)
AND (p.company_code_filter = '[Company code filter]' OR TO_NVARCHAR(a.RBUKRS) = p.company_code_filter)
AND a.BLART IN ('[Adjusting journal entry document type]')
UNION ALL
SELECT
TO_NVARCHAR(a.RYEAR) || '-' || LPAD(TO_NVARCHAR(a.POPER), 2, '0'),
'Foreign Currency Valuation Run',
CAST(a.BUDAT AS TIMESTAMP),
CAST(NULL AS TIMESTAMP),
CAST(a.USNAM AS NVARCHAR(80)),
CAST(a.RBUKRS AS NVARCHAR(20)),
CAST(a.RACCT AS NVARCHAR(40)),
CAST(a.BELNR AS NVARCHAR(40)),
CAST(NULL AS NVARCHAR(40)),
CAST(NULL AS DATE)
FROM [Your SAP schema].ACDOCA a
CROSS JOIN params p
WHERE a.BUDAT >= p.start_date
AND a.BUDAT < ADD_DAYS(p.end_date, 1)
AND (p.fiscal_year_filter = '[Fiscal year]' OR TO_NVARCHAR(a.RYEAR) = p.fiscal_year_filter)
AND (p.fiscal_period_filter = '[Fiscal period]' OR TO_NVARCHAR(a.POPER) = p.fiscal_period_filter)
AND (p.company_code_filter = '[Company code filter]' OR TO_NVARCHAR(a.RBUKRS) = p.company_code_filter)
AND a.BLART IN ('[Foreign currency valuation document type]')
UNION ALL
SELECT
TO_NVARCHAR(a.RYEAR) || '-' || LPAD(TO_NVARCHAR(a.POPER), 2, '0'),
'Automated Clearing Run Executed',
CAST(a.BUDAT AS TIMESTAMP),
CAST(NULL AS TIMESTAMP),
CAST(a.USNAM AS NVARCHAR(80)),
CAST(a.RBUKRS AS NVARCHAR(20)),
CAST(a.RACCT AS NVARCHAR(40)),
CAST(a.BELNR AS NVARCHAR(40)),
CAST(NULL AS NVARCHAR(40)),
CAST(NULL AS DATE)
FROM [Your SAP schema].ACDOCA a
CROSS JOIN params p
WHERE a.BUDAT >= p.start_date
AND a.BUDAT < ADD_DAYS(p.end_date, 1)
AND (p.fiscal_year_filter = '[Fiscal year]' OR TO_NVARCHAR(a.RYEAR) = p.fiscal_year_filter)
AND (p.fiscal_period_filter = '[Fiscal period]' OR TO_NVARCHAR(a.POPER) = p.fiscal_period_filter)
AND (p.company_code_filter = '[Company code filter]' OR TO_NVARCHAR(a.RBUKRS) = p.company_code_filter)
AND a.BLART IN ('[Automated clearing document type]')
UNION ALL
SELECT
CAST(j.[Financial period column] AS NVARCHAR(20)),
'Subledger Data Transfer Completed',
CAST(j.[Job end timestamp column] AS TIMESTAMP),
CAST(j.[Job end timestamp column] AS TIMESTAMP),
CAST(j.[Job user column] AS NVARCHAR(80)),
CAST(j.[Company code column] AS NVARCHAR(20)),
CAST(NULL AS NVARCHAR(40)),
CAST(j.[Job name column] AS NVARCHAR(40)),
CAST(NULL AS NVARCHAR(40)),
CAST(NULL AS DATE)
FROM [Your SAP schema].TBTCO j
CROSS JOIN params p
WHERE j.[Job end timestamp column] >= p.start_date
AND j.[Job end timestamp column] < ADD_DAYS(p.end_date, 1)
AND j.[Job status column] = '[Successful job status]'
AND j.[Job name column] IN ('[AR transfer job]', '[AP transfer job]', '[Asset Accounting transfer job]')
UNION ALL
SELECT
CAST(j.[Financial period column] AS NVARCHAR(20)),
'Intercompany Reconciliation Started',
CAST(j.[Job start timestamp column] AS TIMESTAMP),
CAST(j.[Job end timestamp column] AS TIMESTAMP),
CAST(j.[Job user column] AS NVARCHAR(80)),
CAST(j.[Company code column] AS NVARCHAR(20)),
CAST(NULL AS NVARCHAR(40)),
CAST(j.[Job name column] AS NVARCHAR(40)),
CAST(NULL AS NVARCHAR(40)),
CAST(NULL AS DATE)
FROM [Your SAP schema].TBTCO j
CROSS JOIN params p
WHERE j.[Job start timestamp column] >= p.start_date
AND j.[Job start timestamp column] < ADD_DAYS(p.end_date, 1)
AND j.[Job name column] IN ('[Intercompany reconciliation job]')
UNION ALL
SELECT
CAST(r.[Financial period column] AS NVARCHAR(20)),
'Intercompany Reconciliation Started',
CAST(r.[Status change timestamp column] AS TIMESTAMP),
CAST(NULL AS TIMESTAMP),
CAST(r.[Responsible user column] AS NVARCHAR(80)),
CAST(r.[Company code column] AS NVARCHAR(20)),
CAST(NULL AS NVARCHAR(40)),
CAST(r.[Reconciliation case column] AS NVARCHAR(40)),
CAST(r.[Status column] AS NVARCHAR(40)),
CAST(r.[Target completion date column] AS DATE)
FROM [Your table name for intercompany reconciliation] r
CROSS JOIN params p
WHERE r.[Status change timestamp column] >= p.start_date
AND r.[Status change timestamp column] < ADD_DAYS(p.end_date, 1)
AND r.[Status column] IN ('Started', 'In Progress')
UNION ALL
SELECT
CAST(r.[Financial period column] AS NVARCHAR(20)),
'Account Reconciliation Started',
CAST(r.[Status change timestamp column] AS TIMESTAMP),
CAST(NULL AS TIMESTAMP),
CAST(r.[Responsible user column] AS NVARCHAR(80)),
CAST(r.[Company code column] AS NVARCHAR(20)),
CAST(r.[GL account column] AS NVARCHAR(40)),
CAST(r.[Reconciliation case column] AS NVARCHAR(40)),
CAST(r.[Status column] AS NVARCHAR(40)),
CAST(r.[Target completion date column] AS DATE)
FROM [Your table name for account reconciliation] r
CROSS JOIN params p
WHERE r.[Status change timestamp column] >= p.start_date
AND r.[Status change timestamp column] < ADD_DAYS(p.end_date, 1)
AND r.[Status column] IN ('In Progress')
UNION ALL
SELECT
CAST(r.[Financial period column] AS NVARCHAR(20)),
'Account Reconciliation Approved',
CAST(r.[Status change timestamp column] AS TIMESTAMP),
CAST(NULL AS TIMESTAMP),
CAST(r.[Approver user column] AS NVARCHAR(80)),
CAST(r.[Company code column] AS NVARCHAR(20)),
CAST(r.[GL account column] AS NVARCHAR(40)),
CAST(r.[Reconciliation case column] AS NVARCHAR(40)),
CAST(r.[Status column] AS NVARCHAR(40)),
CAST(r.[Target completion date column] AS DATE)
FROM [Your table name for account reconciliation] r
CROSS JOIN params p
WHERE r.[Status change timestamp column] >= p.start_date
AND r.[Status change timestamp column] < ADD_DAYS(p.end_date, 1)
AND r.[Status column] = 'Approved'
UNION ALL
SELECT
CAST(c.[Financial period column] AS NVARCHAR(20)),
'Consolidation Tasks Executed',
CAST(c.[Execution start timestamp column] AS TIMESTAMP),
CAST(c.[Execution end timestamp column] AS TIMESTAMP),
CAST(c.[Responsible user column] AS NVARCHAR(80)),
CAST(c.[Company code column] AS NVARCHAR(20)),
CAST(NULL AS NVARCHAR(40)),
CAST(c.[Task identifier column] AS NVARCHAR(40)),
CAST(c.[Status column] AS NVARCHAR(40)),
CAST(c.[Target completion date column] AS DATE)
FROM [Your table name for consolidation execution] c
CROSS JOIN params p
WHERE c.[Execution start timestamp column] >= p.start_date
AND c.[Execution start timestamp column] < ADD_DAYS(p.end_date, 1)
AND c.[Status column] IN ('Completed', 'Successful')
UNION ALL
SELECT
CAST(t.[Financial period column] AS NVARCHAR(20)),
'Trial Balance Prepared',
CAST(t.[Report saved timestamp column] AS TIMESTAMP),
CAST(t.[Report saved timestamp column] AS TIMESTAMP),
CAST(t.[Responsible user column] AS NVARCHAR(80)),
CAST(t.[Company code column] AS NVARCHAR(20)),
CAST(NULL AS NVARCHAR(40)),
CAST(t.[Report identifier column] AS NVARCHAR(40)),
CAST(t.[Status column] AS NVARCHAR(40)),
CAST(t.[Target completion date column] AS DATE)
FROM [Your table name for trial balance output] t
CROSS JOIN params p
WHERE t.[Report saved timestamp column] >= p.start_date
AND t.[Report saved timestamp column] < ADD_DAYS(p.end_date, 1)
AND t.[Status column] IN ('Saved', 'Completed')
UNION ALL
SELECT
CAST(f.[Financial period column] AS NVARCHAR(20)),
'Financial Statements Generated',
CAST(f.[Generation timestamp column] AS TIMESTAMP),
CAST(f.[Generation timestamp column] AS TIMESTAMP),
CAST(f.[Responsible user column] AS NVARCHAR(80)),
CAST(f.[Company code column] AS NVARCHAR(20)),
CAST(NULL AS NVARCHAR(40)),
CAST(f.[Report identifier column] AS NVARCHAR(40)),
CAST(f.[Status column] AS NVARCHAR(40)),
CAST(f.[Target completion date column] AS DATE)
FROM [Your table name for financial statement output] f
CROSS JOIN params p
WHERE f.[Generation timestamp column] >= p.start_date
AND f.[Generation timestamp column] < ADD_DAYS(p.end_date, 1)
AND f.[Status column] IN ('Generated', 'Saved', 'Completed')
UNION ALL
SELECT
CAST(f.[Financial period column] AS NVARCHAR(20)),
'Financial Statements Approved',
CAST(f.[Approval timestamp column] AS TIMESTAMP),
CAST(f.[Approval timestamp column] AS TIMESTAMP),
CAST(f.[Approver user column] AS NVARCHAR(80)),
CAST(f.[Company code column] AS NVARCHAR(20)),
CAST(NULL AS NVARCHAR(40)),
CAST(f.[Report identifier column] AS NVARCHAR(40)),
CAST(f.[Status column] AS NVARCHAR(40)),
CAST(f.[Target completion date column] AS DATE)
FROM [Your table name for financial statement approval] f
CROSS JOIN params p
WHERE f.[Approval timestamp column] >= p.start_date
AND f.[Approval timestamp column] < ADD_DAYS(p.end_date, 1)
AND f.[Status column] = 'Approved'
UNION ALL
SELECT
CAST(x.[Financial period column] AS NVARCHAR(20)),
'Period Opened For Posting',
CAST(x.[Change timestamp column] AS TIMESTAMP),
CAST(x.[Change timestamp column] AS TIMESTAMP),
CAST(x.[Changed by column] AS NVARCHAR(80)),
CAST(x.[Company code column] AS NVARCHAR(20)),
CAST(NULL AS NVARCHAR(40)),
CAST(x.[Change document number column] AS NVARCHAR(40)),
CAST(x.[New status column] AS NVARCHAR(40)),
CAST(NULL AS DATE)
FROM [Your table name for posting period changes] x
CROSS JOIN params p
WHERE x.[Change timestamp column] >= p.start_date
AND x.[Change timestamp column] < ADD_DAYS(p.end_date, 1)
AND x.[New status column] = 'Open'
UNION ALL
SELECT
CAST(x.[Financial period column] AS NVARCHAR(20)),
'Period Closed For Posting',
CAST(x.[Change timestamp column] AS TIMESTAMP),
CAST(x.[Change timestamp column] AS TIMESTAMP),
CAST(x.[Changed by column] AS NVARCHAR(80)),
CAST(x.[Company code column] AS NVARCHAR(20)),
CAST(NULL AS NVARCHAR(40)),
CAST(x.[Change document number column] AS NVARCHAR(40)),
CAST(x.[New status column] AS NVARCHAR(40)),
CAST(NULL AS DATE)
FROM [Your table name for posting period changes] x
CROSS JOIN params p
WHERE x.[Change timestamp column] >= p.start_date
AND x.[Change timestamp column] < ADD_DAYS(p.end_date, 1)
AND x.[New status column] = 'Closed'
),
activity_list AS (
SELECT 'Period Opened For Posting' AS ActivityName FROM DUMMY
UNION ALL SELECT 'Subledger Data Transfer Completed' FROM DUMMY
UNION ALL SELECT 'Intercompany Reconciliation Started' FROM DUMMY
UNION ALL SELECT 'Accruals And Provisions Posted' FROM DUMMY
UNION ALL SELECT 'Automated Clearing Run Executed' FROM DUMMY
UNION ALL SELECT 'Foreign Currency Valuation Run' FROM DUMMY
UNION ALL SELECT 'Account Reconciliation Started' FROM DUMMY
UNION ALL SELECT 'Adjusting Journal Entry Posted' FROM DUMMY
UNION ALL SELECT 'Account Reconciliation Approved' FROM DUMMY
UNION ALL SELECT 'Consolidation Tasks Executed' FROM DUMMY
UNION ALL SELECT 'Trial Balance Prepared' FROM DUMMY
UNION ALL SELECT 'Financial Statements Generated' FROM DUMMY
UNION ALL SELECT 'Financial Statements Approved' FROM DUMMY
UNION ALL SELECT 'Period Closed For Posting' FROM DUMMY
),
missing_activities AS (
SELECT
CAST(NULL AS NVARCHAR(20)) AS FinancialPeriod,
'Activity Coverage Validation' AS ActivityName,
CAST(NULL AS TIMESTAMP) AS EventTime,
CAST(NULL AS TIMESTAMP) AS EndTime,
CAST(NULL AS NVARCHAR(80)) AS ResponsibleUser,
CAST(NULL AS NVARCHAR(20)) AS CompanyCode,
CAST(NULL AS NVARCHAR(40)) AS GlAccountNumber,
CAST(NULL AS NVARCHAR(40)) AS DocumentNumber,
CAST('Missing activity: ' || al.ActivityName AS NVARCHAR(40)) AS ReconciliationStatus,
CAST(NULL AS DATE) AS TargetCompletionDate
FROM activity_list al
LEFT JOIN base_events b ON b.ActivityName = al.ActivityName
WHERE b.ActivityName IS NULL
)
SELECT
FinancialPeriod,
ActivityName,
EventTime,
EndTime,
ResponsibleUser,
CompanyCode,
GlAccountNumber,
DocumentNumber,
ReconciliationStatus,
TargetCompletionDate
FROM base_events
UNION ALL
SELECT
FinancialPeriod,
ActivityName,
EventTime,
EndTime,
ResponsibleUser,
CompanyCode,
GlAccountNumber,
DocumentNumber,
ReconciliationStatus,
TargetCompletionDate
FROM missing_activities
ORDER BY FinancialPeriod, EventTime, ActivityName Başlamaya hazır mısınız?
Bu Veri Templateinden yararlanarak kuruluşunuzun verimliliğini ve uyumluluğunu artırın. Kayıttan Raporlamaya sürecinizi bugün iyileştirmeye başlayın.
Kayıttan Raporlamaya kapanış ve mutabakat sürecinizi bugün iyileştirin
Verimsizlikleri ortaya çıkarın ve kapanış çevrim sürenizi %30'a kadar kısaltın.
Kredi kartı gerekmez. Dakikalar içinde başlayın.