Kayıttan Raporlamaya - Dönem Kapatma ve Mutabakat Veri Templateiniz
Kayıttan Raporlamaya - Dönem Kapatma ve Mutabakat Veri Templateiniz
- Toplanması önerilen öznitelikler
- Süreç analizi için izlenecek temel aktiviteler
- Adım adım veri çıkarma yönergeleri
Kayıttan Raporlamaya - Dönem kapanışı ve mutabakat öznitelikleri
| Ad | Açıklama | ||
|---|---|---|---|
| Mali dönem FinancialPeriod | Aralık 2023 için '2023-12' gibi, finansal raporlama döngüsünü tanımlayan ve dönem sonu kapanış sürecinde vaka olarak kullanılan benzersiz bir tanımlayıcıdır. | ||
| Açıklama Mali dönem, belirli bir zaman aralığına, genellikle bir takvim ayına veya mali döneme ait defter kapanışı faaliyetlerini gruplandıran temel vaka tanımlayıcısıdır. Her mali dönem, dönem sonu sürecinin tek bir tam çalıştırmasını temsil eder. Process Mining analizinde bu öznitelik, bir dönemin başlatılmasından nihai raporlamaya kadar tüm yaşam döngüsünü izlemeyi sağlar. Farklı dönemlerdeki ç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. Her dönemi bir vaka olarak ele alan analistler, zaman içindeki performansı ölçebilir ve sistemik darboğazları belirleyebilir. Neden önemli? Bu, analizin çerçevesini oluşturan temel vaka tanımlayıcısıdır. Dönem kapanış performansını zaman içinde karşılaştırmayı ve eğilimleri ya da tekrarlanan 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ının birleştirilmesiyle türetilir. Örnekler 2023-122024-032024-Q1 | |||
| Başlangıç zamanı EventTime | Belirli bir faaliyetin ne zaman başladığını veya sistemde kaydedildiğini gösteren zaman damgasıdır. | ||
| Açıklama Olay zamanı, bir faaliyetin gerçekleştiği kesin tarih ve saati kaydeder. Finansal kayıtlar için bu genellikle belgenin oluşturulma zamanı (CPUTM) veya kayıt tarihi (BUDAT) olur. Durum değişiklikleri ya da görevler için değişikliğin günlüğe kaydedildiği zaman damgasıdır. Bu öznitelik, faaliyetlerin kronolojik olarak sıralanması için gereklidir ve zamana dayalı tüm analizlerin temelini oluşturur. Faaliyetler arasındaki çevrim sürelerini, belirli görevlerin süresini ve uçtan uca toplam süreç süresini hesaplamak için kullanılır. Average Period Close Cycle Time ve Avg Reconciliation Approval Time gibi KPI'ları doğrudan destekler. Neden önemli? Bu zorunlu zaman damgası, olayların kronolojik olarak sıralanmasını sağlar ve tüm süre ile performans hesaplamalarının temelidir. Nereden alınır? BKPF gibi tablolardaki Oluşturma Tarihi (CPUDT) ve Oluşturma Zamanı (CPUTM) alanları veya çeşitli durum tablolarındaki değişiklik tarihi alanları, örneğin CDHDR ve CDPOS, gibi zaman damgası alanlarından alınır. Örnekler 2023-12-28T09:15:30Z2024-01-02T14:00:12Z2024-01-05T11:21:00Z | |||
| Faaliyet ActivityName | 'Düzeltme yevmiye kaydı kaydedildi' veya 'Kayıt dönemi kapatıldı' gibi, dönem kapanış sürecinde gerçekleştirilen belirli bir iş adımının ya da görevin adıdır. | ||
| Açıklama Bu öznitelik, uçtan uca dönem kapanışı ve mutabakat sürecindeki tek bir olayı veya görevi temsil eder. Etkinlikler, gerçekleştirilen işin sırasını gösteren süreç haritasının yapı taşlarıdır. Genellikle SAP S/4HANA içindeki işlem kodları, belge türleri veya durum değişikliklerinin birleşiminden türetilir. Etkinlikleri analiz etmek Process Mining için temel bir adımdır. Süreç akışını görselleştirmeye, standart prosedürden sapmaları belirlemeye, etkinliklerin çok uzun sürdüğü darboğazları keşfetmeye ve görevlerin sıklığını ve sırasını anlamaya yardımcı olur. Bu, Period Close Variant Analysis ve Current Period Close Status gibi Dashboardlar için gereklidir. Neden önemli? Süreçteki adımları tanımlar, süreç haritasının temelini oluşturur ve süreç akışının, sapmaların ve darboğazların analiz edilmesini sağlar. Nereden alınır? Transaction Code (TCODE), Document Type (BLART) veya finansal kapanış görevleriyle ilgili tablolardaki durum alanları gibi çeşitli kaynaklardan, örneğin SAP Financial Closing cockpit'ten, türetilir. Örnekler Dönem kayıt işlemlerine açıldıHesap mutabakatı başlatıldıFinansal tablolar oluşturulduŞirketler arası mutabakat başladı | |||
| Belge numarası DocumentNumber | Yevmiye kaydı gibi bir finansal belgenin benzersiz tanımlayıcısıdır. | ||
| Açıklama Belge numarası, SAP tarafından her finansal kayda atanan benzersiz anahtardır. Kapanış sürecindeki faaliyetleri oluşturan münferit işlemleri izlemek ve denetlemek için temel referans görevi görür. Tek başına vaka kimliği olmasa da kaynak sisteme önemli bir bağlantı sağlar. Analistler, temel neden analizi için Belge numarasını kullanarak Process Mining görünümünden SAP S/4HANA içindeki belirli işlem ayrıntılarına inebilir. Özellikle belirli düzeltme yevmiye kayıtlarını veya mutabakat kayıtlarını incelerken faydalıdır. Neden önemli? SAP'teki temel işleme doğrudan referans sağlar. Süreç modelinden ayrıntılara inmeyi ve denetlenebilirliği kolaylaştırır. Nereden alınır? Finansal belge başlık tablosu BKPF'de BELNR alanında ve BSEG veya ACDOCA gibi kalem tablolarında bulunur. Örnekler 100000045190000001300000023 | |||
| Bitiş zamanı EndTime | Bir faaliyetin ne zaman tamamlandığını gösteren zaman damgasıdır. | ||
| Açıklama End Time, bir görevin tamamlandığı zamanı gösterir. Bazı durumlarda sistemde kaydedilen anlık olaylar için Start Time ile aynı olabilir. Ölçülebilir süreye sahip etkinliklerde ise tamamlanma zaman damgasını ifade eder. Bu öznitelik, Start Time ile birlikte her etkinliğin Neden önemli? Faaliyet sürelerinin, yani Processing Time değerlerinin, hesaplanmasını sağlar. 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ı faaliyetlerde Başlangıç zamanı ile aynı olabilir. Diğerlerinde uygulama tablolarındaki veya değişiklik günlüklerindeki ayrı bir 'tamamlanma tarihi' ya da 'değişiklik tarihi' alanından, CDHDR ve CDPOS gibi tablolardan, alınabilir. Örnekler 2023-12-28T09:16:10Z2024-01-02T17:30:00Z2024-01-05T11:21:00Z | |||
| Büyük Defter hesap numarası GlAccountNumber | Büyük Defter'deki belirli bir hesabın tanımlayıcısıdır. | ||
| Açıklama Genel Muhasebe (GL) Hesap Numarası, nakit, borçlar muhasebesi veya gelir gibi finansal işlemleri kaydetmek için kullanılan münferit hesapları belirler. Mutabakatlar ve düzeltme kayıtları gibi birçok dönem sonu etkinliği doğrudan belirli GL hesaplarıyla ilişkilidir. Bu öznitelik, ayrıntılı finansal süreç analizi için gereklidir. Adjusting Journal Entry Analysis Dashboardu, hesap bazındaki düzeltme hacmini göstermek için bu özniteliği kullanır ve sorunlu alanların belirlenmesine yardımcı olur. Avg GL Account Reconciliation Time KPI’ı da belirli hesaplarla ilişkili gecikmeleri tespit etmek için bu özniteliğe dayanır. Neden önemli? Süreç faaliyetlerini belirli finansal hesaplarla ilişkilendirir. Sorunların temel nedenlerini bulmak için mutabakatların ve yevmiye kayıtlarının ayrıntılı şekilde analiz edilmesini sağlar. Nereden alınır? Finansal belge kalem tablolarında, özellikle BSEG tablosunda HKONT alanında veya S/4HANA evrensel yevmiye tablosu ACDOCA'da bulunur. Örnekler 113100004000000073000000 | |||
| Hedef tamamlanma tarihi TargetCompletionDate | Finansal tabloların oluşturulması gibi önemli bir faaliyetin tamamlanması için planlanan veya belirlenen son tarihtir. | ||
| Açıklama Hedef Tamamlanma Tarihi, dönem kapanışı sürecindeki belirli bir kilometre taşı için iç veya dış son tarihi gösterir. Bir görevin tamamlanmasının beklendiği tarihtir. Bu öznitelik, takvime uyumu ve son tarihlere göre performansı ölçmek için gereklidir. Neden önemli? Son tarihlere göre performans analizini sağlar; önemli kapanış faaliyetlerinin zamanında tamamlanma oranlarını ölçmeye ve iyileştirmeye yardımcı olur. Nereden alınır? Bu veri genellikle SAP Financial Closing cockpit gibi bir görev yönetimi veya planlama sisteminde bulunur. Kapanış görev listeleri burada planlanan bitiş tarihleriyle tanımlanır. Örnekler 2024-01-05T23:59:59Z2024-04-04T23:59:59Z2024-07-05T23:59:59Z | |||
| Mutabakat durumu ReconciliationStatus | 'Açık', 'Devam Ediyor' veya 'Onaylandı' gibi bir hesap mutabakatı faaliyetinin durumudur. | ||
| 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ı veya reddedildiğini gösterir. Durum değişiklikleri süreçteki temel olaylardır. Bu öznitelik, Reconciliation Rework Analysis Dashboardu için temel oluşturur. Durumların sırasını analiz ederek Approved durumunun ardından başka düzeltmeler yapıldığı ve yeniden çalışmaya işaret eden durumlar belirlenebilir. Ayrıca herhangi bir önceki ret veya yeniden açma olmadan onaylanan mutabakatları göstererek First-Pass Reconciliation Rate KPI’ını destekler. Neden önemli? Mutabakat görevlerinin ilerlemesini ve sonucunu izler; yeniden çalışmayı belirlemeyi, onay oranlarını ölçmeyi ve darboğazları analiz etmeyi sağlar. 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 organizasyonu içindeki bir tüzel kişiliğin veya şirketin benzersiz tanımlayıcısıdır. | ||
| Açıklama Şirket Kodu, bir kuruluş içindeki bağımsız muhasebe birimini ifade eder. Bu birim için eksiksiz ve kendi içinde bağımsız bir hesap seti oluşturulabilir. Dönem sonu kapanış etkinliklerinin tamamı Şirket Kodu düzeyinde gerçekleştirilir. Bu, finansal analiz için temel bir organizasyon boyutudur. Process Mining içinde dönem kapanışı sürecini farklı tüzel kişiler arasında karşılaştırmayı sağlar. Period Close Variant Analysis Dashboardu, kapanış prosedürlerindeki tutarsızlıkları belirlemek ve standardizasyonu teşvik etmek için Şirket Kodunu kullanır. Neden önemli? Önemli bir organizasyon bağlamı sağlar. Farklı tüzel kişiliklerdeki süreçleri karşılaştırarak farklılıkları ve iyi uygulamaları belirlemeye yardımcı olur. Nereden alınır? SAP içindeki neredeyse tüm finansal tablolarda, özellikle BKPF başlık tablosunda BUKRS alanında bulunur. Örnekler 10001710US01DE01 | |||
| Sorumlu kullanıcı ResponsibleUser | Faaliyeti gerçekleştiren veya görevden sorumlu kişinin kullanıcı kimliğidir. | ||
| Açıklama Bu öznitelik, yevmiye kaydı giren veya bir mutabakatı onaylayan çalışan gibi belirli bir görevi gerçekleştiren çalışanı belirler. 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 ihtiyaçlarını anlamak için büyük önem taşır. Resource Allocation Efficiency Dashboardu, etkinliklerin kullanıcı bazındaki işlem sürelerini görselleştirmek için bu özniteliği doğrudan kullanır. Ayrıca çok sayıda kullanıcı tarafından gerçekleştirilen, yüksek oranda tekrarlanan görevleri ortaya çıkararak otomasyon adaylarını belirlemeye yardımcı olabilir. Neden önemli? Süreç faaliyetlerini bunları gerçekleştiren kişilerle ilişkilendirir; iş yükü analizini, kaynak optimizasyonunu ve performans yönetimini mümkün kılar. Nereden alınır? Genellikle BKPF gibi belge başlığı tablolarında, USNAM Kullanıcı Adı alanında, veya CDHDR gibi değişiklik belgesi tablolarında, USERNAME alanında, bulunur. Örnekler ABROWNCSMITHDJOHNSON | |||
| Belge para birimi DocumentCurrency | Finansal belgedeki tutarlar için kullanılan para birimi kodudur. | ||
| Açıklama Bu öznitelik, işlemin USD, EUR veya JPY gibi hangi para biriminde kaydedildiğini belirtir. Çok uluslu kuruluşlarda para birimine göre analiz yapmak önemli olabilir. Parasal değerlerin doğru yorumlanmasını sağlar ve toplu analiz için tek bir raporlama para birimine dönüştürme işlemi için gereklidir. Bu bağlam olmadan Neden önemli? Parasal değerlerin doğru yorumlanması için gerekli bağlamı sağlar. Bu, özellikle birden fazla para biriminin kullanıldığı ortamlarda önemlidir. Nereden alınır? Finansal belge başlık tablosunda BKPF (WAERS alanı) içinde bulunur. Örnekler USDEURJPY | |||
| Belge tutarı DocumentAmount | Belge para birimindeki finansal kaydın toplam değeridir. | ||
| Açıklama Bu öznitelik, bir finansal belgeyle ilişkili parasal değeri temsil eder. Dönem sonu düzeltmeleri için bu değer, kaydedilen tahakkuk veya düzeltme tutarı olabilir. Tutarı analiz etmek, önemlilik değerlendirmeleri için faydalıdır. Analistlerin daha yüksek finansal risk taşıyabilecek yüksek değerli düzeltme kayıtlarını önceliklendirmesini sağlar. Süreç haritasını belirli bir eşiğin üzerindeki işlemlere odaklanacak şekilde filtrelemek ve görünümü en önemli faaliyetlerle sınırlamak için kullanılabilir. Neden önemli? Analize finansal bir boyut ekler ve sorunların parasal etkisine ve önemliliğine göre önceliklendirilmesini sağlar. Nereden alınır? Bu değer genellikle BSEG veya ACDOCA gibi kalem tablolarından, WRBTR Belge para birimindeki tutar alanından, toplanmalıdır. Örnekler 15000.00250.75-500.00 | |||
| Dönem Kapanış Çevrim Süresi PeriodCloseCycleTime | Bir finansal dönemin ilk etkinlikten son etkinliğe kadar tamamlanması için geçen toplam süre. | ||
| Açıklama Bu metrik, tek bir vaka (Finansal Dönem) için dönem kapatma sürecinin uçtan uca süresini gösterir. İlgili dönemdeki son etkinliğin zaman damgası ile ilk etkinliğin zaman damgası arasındaki fark alınarak hesaplanır. Bu, temel performans göstergelerinden biridir. 'Period Close Cycle Time Overview' Dashboardını ve 'Average Period Close Cycle Time' KPI’ını doğrudan destekler. Kapatma sürecinin genel verimliliğini ve hızını üst düzeyde ölçmenizi, zaman içindeki sonuçları karşılaştırmanızı ve farklı şirket kodları arasında kıyaslama yapmanızı sağlar. Neden önemli? Genel süreç süresini gösteren birincil KPI'dır. Verimlilik iyileştirmelerini zaman içinde üst düzeyde izlemenizi sağlar. Nereden alınır? Vaka düzeyinde hesaplanır: Her Örnekler P5D10H30MP7D2HP6D | |||
| Gerçek Tamamlanma Tarihi ActualCompletionDate | Önemli bir etkinliğin veya tüm dönem kapanışının tamamlandığı gerçek tarih. | ||
| Açıklama Bu öznitelik, önemli bir kilometre taşının gerçek tamamlanma tarihini kaydeder. Finansal tablolar için verilen son onayın veya kayıt döneminin kapatılmasının zaman damgasını ifade eder.
Neden önemli? Kilometre taşlarının gerçek zamanlamasını gösterir. Bu bilgi, planlanan son tarihlere göre performansı ölçmek ve gecikmeleri analiz etmek için gereklidir. Nereden alınır? Bir dizideki son etkinliğin EventTime değerinden alınır. Örneğin 'Financial Statements Approved' veya 'Period Closed For Posting' etkinlikleri kullanılabilir. Örnekler 2024-01-06T10:00:00Z2024-04-05T17:00:00Z2024-07-04T11:00:00Z | |||
| İşlem kodu TransactionCode | Faaliyeti yürütmek için kullanılan SAP işlem kodudur (T-code). | ||
| Açıklama İşlem kodu, SAP'te belirli bir işlevi veya programı başlatmak için kullanılan bir kısayoldur. Örneğin FB01 belge kaydetmek, FAGLB03 ise Büyük Defter hesap bakiyelerini görüntülemek için kullanılır. T-code, gerçekleştirilen faaliyetin net bir teknik göstergesini sunar. Bu öznitelik, süreç modeli için faaliyet tanımlarının oluşturulmasına yardımcı olur. Manuel ve otomatik faaliyetleri ayırt etmek ve bir görevin sistemde tam olarak nasıl gerçekleştirildiğini anlamak için güvenilir bir yöntemdir. T-code'ları analiz etmek, çalışanların kullandığı standart dışı veya verimsiz yöntemleri ortaya çıkarabilir. Neden önemli? Bir faaliyetin nasıl gerçekleştirildiğine dair teknik ve sistem düzeyinde görünüm sunar. Manuel ve otomatik adımları ve standart dışı prosedürleri belirlemek için faydalıdır. Nereden alınır? Finansal belge başlık tablosu BKPF'de TCODE alanında veya değişiklik belgesi günlüklerinde bulunur. Örnekler FB01FAGL_FCVF.13 | |||
| Kaynak sistem SourceSystemId | Verilerin çıkarıldığı belirli SAP S/4HANA örneğinin veya istemcisinin tanımlayıcısıdır. | ||
| Açıklama Bu öznitelik, verilerin kaynak sistemini belirtir. Farklı bölgeler veya iş birimleri için birden fazla SAP örneğinin bulunduğu ortamlarda bu alan, veri kaynaklarını ayırt etmek için gereklidir. Öncelikle veri yönetişimi, denetim ve veri bütünlüğünü sağlamak için kullanılır. Analizde, farklı kaynak sistemlerindeki süreçleri tek bir Process Mining modelinde birleştirildiklerinde karşılaştırmak için filtre olarak kullanılabilir. Neden önemli? Özellikle birden fazla sistemin bulunduğu ortamlarda verilerin kaynağının net olmasını sağlayarak temel veri soyu ve bağlam bilgisi sunar. Nereden alınır? Genellikle veri çıkarma sırasında eklenen meta verilerdir. SAP içindeki sistem kimliğinden (SY-SYSID) veya istemciden (SY-MANDT) alınır. Örnekler S4H_PROD_100S4H_QAS_200ECC_LEGACY_001 | |||
| Mutabakat Yeniden İşleme mi IsReconciliationRework | Bir mutabakat etkinliğinin ardından ret veya ek düzeltmeler gelmesi durumunda true olan boolean işareti. | ||
| Açıklama Bu hesaplanan öznitelik, mutabakat alt sürecindeki yeniden çalışmaları belirler. Mantık, bir mutabakatın reddedildiği, gönderildikten sonra yeniden açıldığı veya bir GL hesabı için mutabakat tamamlanmış görünmesine rağmen düzeltme kayıtlarının yapıldığı etkinlikleri ya da vakaları işaretler. Bu işaret, özellikle 'Reconciliation Rework Analysis' Dashboardına ve 'Reconciliation Rework Rate' KPI’ına veri sağlamak için tasarlanmıştır. Karmaşık süreç dizilerini, yeniden çalışmanın kapsamını ölçen basit ve ölçülebilir bir özniteliğe dönüştürür. Böylece ekipler ilk seferde doğru sonuç alma oranını artırmaya odaklanabilir. Neden önemli? Süreç verimsizliğinin önemli bir türü olan yeniden işlemeyi doğrudan ölçer. Böylece mutabakat kalitesine yönelik hedefli analiz ve iyileştirme çalışmalarını destekler. Nereden alınır? Etkinlik dizisine göre hesaplanır. Örneğin aynı dönem içinde aynı GL Account için 'Reconciliation Approved' etkinliğinin ardından 'Adjusting Journal Entry Posted' gelirse işaret true olarak ayarlanı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 boolean işareti. | ||
| Açıklama Bu işaret, insan kullanıcının manuel olarak gerçekleştirdiği görevlerle sistemin otomatik olarak yürüttüğü görevleri birbirinden ayırır. Örneğin para birimi değerlemesi için zamanlanmış bir toplu iş veya otomatik mahsuplaşma çalıştırmaları bu kapsamdadır. Genellikle Bu öznitelik, kapanış sürecindeki otomasyon düzeyini anlamak için önemlidir. Yüksek hacimli manuel görevleri görünür kılarak daha fazla otomasyon fırsatını belirlemenize yardımcı olur. Ayrıca kök neden analizinde darboğazların manuel mi yoksa otomatik adımlarda mı oluştuğunu görmek için kullanılır. Neden önemli? İnsan ve sistem etkinliklerini birbirinden ayırır. Böylece otomasyon fırsatlarını belirlemenizi ve her iki tür etkinliğin verimliliğini analiz etmenizi sağlar. Nereden alınır? Bu, genellikle 'ResponsibleUser' alanına uygulanan bir kurala göre türetilen bir özniteliktir. Örneğin 'BATCHUSER' gibi sistem veya toplu iş kullanıcı kimlikleri kontrol edilir ya da Transaction Code kullanılır. Örnekler truefalse | |||
| Son veri güncellemesi LastDataUpdate | Verilerin kaynak sistemden en son yenilendiğini veya çıkarıldığını gösteren zaman damgasıdır. | ||
| Açıklama Bu öznitelik, en son veri çıkarma işleminin tarih ve saatini kaydeder. Process Mining aracında analiz edilen verilerin güncelliği hakkında bilgi sağlar. Temel amacı veri yönetişimi ve kullanıcı farkındalığıdır. Pano görüntüleyicileri analizin ne kadar güncel olduğunu görebilir. Bu durum, Current Period Close Status gibi gerçeğe yakın zamanlı izleme Dashboardları için özellikle önemlidir. Kullanıcıların bugün, dün veya geçen haftaya ait verileri görüntüleyip görüntülemediğini anlamasına yardımcı olur. Neden önemli? Kullanıcıları verilerin güncelliği hakkında bilgilendirir 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 yürütme 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üdür; standart kayıtları, tahakkukları ve düzeltmeleri birbirinden ayırır. | ||
| Açıklama Yevmiye Kayıt Türü veya SAP terminolojisindeki Belge Türü, muhasebe belgelerini sınıflandıran bir anahtardır. Bir belgenin hangi hesap türlerine kaydedilebileceğini kontrol eder ve satıcı faturası (KR), genel muhasebe kaydı (SA) veya müşteri ödemesi (DZ) gibi farklı iş işlemlerini ayırt etmek için kullanılır. Dönem kapanışı bağlamında bu öznitelik, belirli etkinlik türlerini ayırmak için gereklidir. Örneğin analistlerin Adjusting Journal Entry Analysis Dashboardunu ve Adjusting Journal Entries Count KPI’ını desteklemek üzere düzeltme yevmiye kayıtlarına odaklanmasını sağlar. Ayrıca Manual Postings Ratio hesaplamasına yardımcı olur. Neden önemli? Finansal işlemleri kategorilere ayırır ve analizin, sorunsuz bir dönem kapanışı için önemli olan manuel düzeltmeler gibi belirli kayıt türlerine odaklanmasını sağlar. Nereden alınır? Finansal belge başlık tablosu BKPF'de BLART alanında bulunan standart bir alandır. Örnekler SAKRAB | |||
| Zamanında mı IsOnTime | Bir kilometre taşı hedef tarihinde veya daha önce tamamlandıysa true olan boolean işareti. | ||
| Açıklama Bu öznitelik, zaman planına uyumu basit bir ikili sonuç olarak gösterir. Belirli bir kilometre taşı, örneğin finansal tabloların onayı için 'Financial Statement On-Time Rate' KPI'ının temel hesaplamasıdır. Tarih karşılaştırmalarını net bir 'zamanında' veya 'gecikmiş' durumuna dönüştürerek performans takibini kolaylaştırır. Dashboard ve raporlarda kolayca görselleştirilebilir. Kapanışı hızlandırmaya yönelik girişimlerin etkisini ölçmenize yardımcı olur. Neden önemli? Son tarihe uyum analizini net bir başarı veya başarısızlık sonucuna indirger. Böylece zamanında tamamlanma performansını kolayca izlemenizi ve raporlamanızı sağlar. Nereden alınır? Hesaplanan alan: Örnekler truefalse | |||
Kayıttan Raporlamaya - Dönem kapanışı ve mutabakat faaliyetleri
| Aktivite | Açıklama | ||
|---|---|---|---|
| Dönem kayıt işlemlerine açıldı | Bu aktivite, işlem kaydı için kayıt dönemlerinin açıldığı finansal dönemin başlangıcını gösterir. SAP'de finans yöneticisi tarafından gerçekleştirilen ve günlüğe kaydedilen açık bir yapılandırma değişikliğidir. Yeni dönem için yevmiye kayıtlarının oluşturulmasına imkan verir. | ||
| Neden önemli? Bu aktivite, dönem sonu kapanış sürecinin birincil başlangıç olayıdır. Toplam çevrim süresini doğru şekilde ölçmenizi sağlar ve süreç analizi için net bir başlangıç noktası sunar. Nereden alınır? Bu olay, genellikle OB52 işlemi üzerinden gerçekleştirilen T001B kayıt dönemi kontrol tablosundaki değişiklikleri kaydeden değişiklik belgelerinden, CDHDR ve CDPOS tablolarından alınır. Yakalayın Belirli mali yıl ve döneme ilişkin T001B tablosundaki değişiklik günlüklerini filtreleyin. Olay türü explicit | |||
| Düzeltme yevmiye kaydı kaydedildi | İlk mutabakatlar tamamlandıktan sonra, genellikle inceleme sırasında bulunan tutarsızlıkları düzeltmek için yapılan düzeltici yevmiye kaydını ifade eder. Bu, Büyük Defter'e 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 düzeyinin düşük olduğunu gösterir. Bu kayıtları analiz etmek, hataların temel nedenlerini belirlemek ve yeniden çalışmayı azaltmak için önemlidir. Nereden alınır? ACDOCA ve BKPF tablolarına açık belgeler olarak kaydedilir. Belirli belge türleri, kapanış döngüsünün sonlarına ait kayıt tarihleri veya belirli metin açıklamalarıyla tanımlanabilir. Yakalayın BKPF içindeki yevmiye kayıtlarını, belge türü ve mutabakat faaliyetlerine göre kayıt tarihi birleşimine dayanarak filtreleyin. Olay türü explicit | |||
| Finansal tablolar oluşturuldu | Bu faaliyet, Bilanço ve Gelir Tablosu gibi resmi finansal tabloların oluşturulmasını gösterir. Dönem sonu muhasebe ve konsolidasyon süreçlerinin tamamlandığı noktayı ifade eder. | ||
| Neden önemli? Bu, Kayıttan Raporlamaya döngüsünde önemli bir kilometre taşıdır. Zamanlaması, raporlama son tarihlerini karşılamak ve paydaşlara zamanında bilgi sağlamak açısından önemlidir. Nereden alınır? En iyi şekilde, açık bir görev olarak yer aldığı SAP Financial Closing Cockpit gibi bir finansal kapanış yönetim aracından alınır. Aksi durumda rapor oluşturma günlüklerinden veya dosya oluşturma zaman damgalarından çıkarım yapılmalıdır. Yakalayın Bir kapanış aracındaki '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şlatıldı | Büyük Defter hesap bakiyelerini destekleyen kanıtların toplanması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 ilk hazırlayan kullanıcının işlemi günlüğe kaydedildiğinde çıkarım yapılır. | ||
| Neden önemli? Bu, bilanço bakiyelerinin doğrulanması için gereken süreyi ve çabayı anlamada önemli bir kilometre taşıdır. Hangi hesapların veya departmanların mutabakatlarına geç başladığını belirlemeye yardımcı olur. Nereden alınır? Bu olay genellikle BlackLine tarafından sunulan SAP Account Substantiation and Automation gibi özel bir mutabakat aracından veya diğer üçüncü taraf sistemlerden alınır. Durum değişikliği zaman damgalarından çıkarım yapılır. Yakalayın Belirli bir Büyük Defter hesabı mutabakatında durumun 'Başlatılmadı' durumundan ilk kez değiştiği zaman damgasını izleyin. Olay türü inferred | |||
| Hesap mutabakatı onaylandı | Bu faaliyet, bir Büyük Defter hesabı mutabakatının nihai onayını gösterir. Bakiyenin desteklendiğini ve sorunların çözüldüğünü doğrular. Mutabakat aracındaki durum 'Onaylandı' olarak değiştiğinde çıkarım yapılır. | ||
| Neden önemli? Bu kilometre taşı, ö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? SAP Account Substantiation and Automation gibi bir mutabakat yönetim sisteminden, nihai onay durumunun zaman damgası izlenerek alınır. Yakalayın Bir mutabakatın durum alanının nihai 'Onaylandı' durumuna güncellendiği zaman damgasını belirleyin. Olay türü inferred | |||
| Kayıt dönemi kapatıldı | Bu, döngünün son faaliyetidir. Kayıt dönemi, başka işlem yapılmasını önlemek için resmi olarak kapatılır. Bu işlem, kesinleştirilmiş finansal raporlardaki verilerin bütünlüğünü sağlar. | ||
| Neden önemli? Bu faaliyet, süreç için kesin bitiş olayıdır. Toplam dönem kapanış döngüsü süresini hesaplamak ve süreç tamamlama eğilimlerini analiz etmek için gereklidir. Nereden alınır? Dönem açılışına benzer şekilde bu olay, OB52 işlemi üzerinden kayıt dönemi kontrol tablosu T001B'deki güncellemeleri günlüğe kaydeden değişiklik belgelerinden, CDHDR ve CDPOS tablolarından alınır. Yakalayın İlgili mali yıl ve dönemin kapanışını belirlemek için T001B tablosuna ait değişiklik günlüklerini filtreleyin. Olay türü explicit | |||
| Şirketler arası mutabakat başladı | Bu aktivite, aynı şirketler grubu içindeki farklı şirket kodları arasındaki işlemleri eşleştirme ve mutabakat sürecinin başlangıcını gösterir. Süreç genellikle bir mutabakat işinin çalıştırılmasıyla veya SAP'nin ICMR aracında yeni bir mutabakat vakası oluşturulmasıyla başlatılır. | ||
| Neden önemli? Şirketler arası mutabakat çoğu zaman karmaşık ve zaman alıcıdır. Süresini ve akışını analiz etmek, grup kapanışını akıcı hale getirmek ve konsolide finansalların doğruluğunu sağlamak için ö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. Yakalayın Belirli 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 veri aktarımı tamamlandı | Bu aktivite, Alacaklar Muhasebesi, Borçlar Muhasebesi ve Varlık Muhasebesi gibi alt defterlerden özetlenmiş verileri Büyük Defter'e aktaran toplu işlerin tamamlanmasını gösterir. Böylece kapanış prosedürleri başlamadan önce temel operasyonel işlemlerin tamamı GL'ye yansıtılır. | ||
| Neden önemli? Alt defter kapanışlarındaki gecikmeler genel süreç için önemli bir darboğaz oluşturabilir. Bu aktiviteyi izlemek, kaynak sistemlerden veri toplama ve entegrasyon süreçlerindeki verimsizlikleri belirlemenize yardımcı olur. Nereden alınır? Defter mutabakatı ve veri aktarımından sorumlu belirli toplu işlerin başarıyla tamamlandığını gösteren durumdan çıkarılır. İş günlüklerini TBTCO ve TBTCP tablolarında bulabilirsiniz. Yakalayın SAP iş genel görünümünde, SM37 işleminde ilgili toplu işlerin tamamlanma zaman damgalarını belirleyin ve izleyin. Olay türü explicit | |||
| Finansal tablolar onaylandı | Finansal tablolar yayımlanmadan önce yetkili yönetim tarafından verilen nihai onayı ifade eder. Bu genellikle çevrim dışı bir süreçtir, ancak resmi bir dijital onay adımı varsa yakalanabilir. | ||
| Neden önemli? Bu, nihai kalite ve kontrol noktasıdır. Zamanlamasını izlemek, raporlama son tarihlerine uyumu ve yönetim inceleme döngüsünün genel verimliliğini anlamak için gereklidir. Nereden alınır? Bu olay, tablo onayı için bir Workflow veya durum alanı varsa, örneğin SAP Financial Closing Cockpit ya da bir belge yönetim sistemi içinde yakalanır. Yakalayın Finansal tablo paketinin nihai onayını gösteren veri alanını ve zaman damgasını belirleyin. Olay türü inferred | |||
| Konsolidasyon görevleri yürütüldü | SAP Group Reporting içindeki konsolidasyon faaliyetlerinin, örneğin para birimi çevirisi, yeniden sınıflandırma ve şirketler arası kârların eliminasyonu, yürütülmesini ifade eder. Bu görevler genellikle konsolidasyon monitöründe yönetilir ve günlüğe kaydedilir. | ||
| Neden önemli? Birden fazla tüzel kişiliğe sahip kuruluşlarda konsolidasyon süreci, kritik bir yol adımıdır. Bu görevleri izlemek, grup kapanışını kolaylaştırmaya ve konsolide raporlamanın zamanında tamamlanmasını sağlamaya 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 bulunur. Yakalayın Görev yürütme günlüklerini Group Reporting konsolidasyon monitörünün temel tablolarından çıkarın. Olay türü explicit | |||
| Mizan hazırlandı | İnceleme için bir mizanın oluşturulup kaydedildiğini gösterir. Nihai finansal tablolar oluşturulmadan önce önemli bir kontrol noktasıdır. Bu olayın yakalanması genellikle rapor çıktısının kaydedildiği prosedürlere dayanır. | ||
| Neden önemli? Mizan hazırlığı önemli bir kalite kontrol noktasıdır. Zamanlamasını analiz etmek, nihai raporlamaya hazır olma durumunu anlamaya yardımcı olur ve önceki faaliyetlerdeki gecikmeleri ortaya çıkarabilir. Nereden alınır? Bu genellikle açık bir olay değildir. Varyantlar kullanıcı ve tarih bilgileriyle kaydediliyorsa belirli bir raporlama işleminin yürütülmesinden çıkarım yapılabilir. Süreç, SAP Financial Closing Cockpit gibi bir araçta yönetiliyorsa aynı yöntem kullanılabilir. Yakalayın Rapor yürütme günlükleri veya kapanış kokpiti görev listeleri gibi güvenilir bir günlük mekanizmasının bulunup bulunmadığını belirlemek için sistem analizi gerekir. Olay türü inferred | |||
| Otomatik mahsuplaşma çalıştırması yürütüldü | SAP içindeki otomatik mahsuplaşma programlarının, örneğin GR/IR (Mal Girişi/Fatura Girişi) mahsuplaşma çalıştırmasının yürütülmesini ifade eder. Bu işler, belirli Büyük Defter hesaplarındaki açık kalemleri eşleştirip kapatarak manuel mutabakat ihtiyacını azaltır. | ||
| Neden önemli? Bu faaliyet, mutabakat sürecindeki otomasyon düzeyini gösterir. Bu çalıştırmalardaki hatalar veya istisnalar, önemli miktarda manuel çalışmaya ve gecikmelere yol açabilir. Nereden alınır? Otomatik mahsuplaşma için F.13 veya F.13E gibi belirli batch işlerinin yürütme günlüklerinden alınır. TBTCO ve TBTCP iş günlüğü tabloları yürütme ayrıntılarını içerir. Yakalayın 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 | |||
| Tahakkuklar ve karşılıklar kaydedildi | Bu olay, tahakkuk esaslı muhasebe kapsamında doğru finansal raporlama için gerekli tahakkuk, ertelenmiş gelir ve giderler ile diğer karşılıklar için manuel yevmiye kayıtlarının oluşturulmasını yakalar. Bunlar, Büyük Defter'e kaydedilen açık işlemlerdir. | ||
| Neden önemli? Bu kayıtları izlemek, manuel düzeltmelerin hacmini ve zamanlamasını analiz etmeye yardımcı olur. Yüksek hacim, otomasyon veya önceki süreçlerde iyileştirme fırsatlarına işaret edebilir. Nereden alınır? ACDOCA evrensel yevmiye tablosuna ve BKPF başlık tablosuna açık yevmiye kayıtları olarak kaydedilir. Bu kayıtlar, tahakkuklar için yapılandırılmış belirli belge türleriyle tanımlanabilir. Yakalayın BKPF tablosundaki belgeleri belge türüne, örneğin 'SA' veya özel türlere, ve dönem içindeki kayıt tarihine göre filtreleyin. Olay türü explicit | |||
| Yabancı para değerleme çalıştırması | Bu, dönem sonu döviz kurlarını temel alarak yabancı para cinsinden açık kalemleri ve bakiyeleri yeniden değerlemek için ay sonunda yürütülen standart bir prosedürdür. Bu programın çalıştırılması, ortaya çıkan değerleme farklarını kaydeder. | ||
| Neden önemli? Muhasebe standartlarına uyumluluğu sağlar ve finansal durumun doğru şekilde yansıtılmasına yardımcı olur. Bu faaliyeti izlemek, tüm para birimi değerlemelerinin zamanında yapılmasını sağlamaya yardımcı olur. Nereden alınır? Yabancı para değerleme programının, örneğin FAGL_FCV, yürütme günlüklerinden alınır. İş ayrıntıları TBTCO ve TBTCP tablolarında saklanır. Yakalayın FAGL_FCV işlemiyle veya temelindeki programla ilişkili 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: SAP HANA Studio veya ADT içeren Eclipse kullanarak SAP S/4HANA sisteminize giriş yapın. ABAP Development Tools ile sorguda belirtilen I_JournalEntryItem, I_BatchJob ve I_ConsolidationTaskLog gibi standart CDS View'ların mevcut olup olmadığını arayın ve doğrulayın. Account Reconciliation gibi süreçlerde, durum değişikliklerini yakalamak için Z_I_ACCOUNTRECONCILIATION gibi özel CDS View'lar oluşturmanız gerekebilir.
- CDS View'ları OData üzerinden kullanıma açın: SAP backend'inde
SEGWişlemini, Gateway Service Builder'ı kullanarak yeni bir proje oluşturmak için çalıştırın. 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ış kullanıma açan bir OData servisi oluşturmak için çalışma zamanı nesnelerini üretin. - OData servisini 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 servisi bulun ve ekleyin. Böylece servis etkinleşir ve sorgulanabilir hale gelir. - Veri bağlantısını kurun: Seçtiğiniz veri çıkarma aracından, örneğin Python, Power BI veya özel bir ETL platformundan, yeni oluşturulan OData servisine bağlantı kurun. CDS View'lara erişim yetkisi olan uygun kimlik bilgilerine ve servis URL'sine ihtiyacınız olacaktır.
- Sorguyu uyarlayın ve çalıştırın: Sağlanan SQL sorgusunu kopyalayın. Tarih aralıkları, şirket kodları ve özel CDS View ya da batch job adları için yer tutucu değerleri SAP ortamınıza uygun şekilde değiştirin. Sorguyu OData servis uç noktasında çalıştırın. OData farklı bir söz dizimi ($filter, $select) kullandığından, UNION ALL sorgusundaki mantığı her aktivite için ayrı bir API çağrısı dizisine dönüştürmeniz gerekebilir.
- Aktivite verilerini birleştirin: OData genellikle karmaşık UNION ALL sorgularını tek çağrıda doğrudan desteklemez. Bu nedenle sorgudaki her aktivite bloğu için ayrı bir istek gönderin. Tüm isteklerden dönen sonuçları istemci aracınızdaki tek bir veri setinde veya tabloda birleştirin.
- Verileri dönüştürün ve temizleyin: Birleştirilmiş verileri inceleyin.
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 işleyin. - Event Log olarak dışa aktarın: Son ve birleştirilmiş veri setini CSV dosyası olarak dışa aktarın. Sütun başlıklarının gerekli özniteliklerle eşleştiğinden emin olun:
FinancialPeriod,ActivityName,EventTime,EndTime,ResponsibleUservb. Bu dosya artık ProcessMind'e yüklenmeye hazırdır.
Yapılandırma
- CDS View'lar: Sorgu, standart ve özel CDS View'ların birleşimine 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 durumlarını yakalamak için çoğu zaman gereklidir. - Tarih aralığı: Veri hacmini yönetmek için çıkarma işlemine özel bir 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: Filtreleme, performans ve uygun sonuçlar için önemlidir. Her zaman
CompanyCodealanına göre filtre uygulayın. Diğer önemli filtreler arasındaLedger(örneğin, ana defter için '0L'),FiscalYearve normal kayıtları, tahakkukları ve düzeltmeleri ayırt etmek için belirliDocumentTypedeğerleri bulunur. - Ön koşullar: Veri çıkarma işlemini çalıştıran kullanıcının, belirtilen CDS View'lara erişmek ve OData servislerini çalıştırmak için SAP yetkileri olmalıdır (örneğin
S_SERVICE,S_RFCyetki nesneleri). SAP Gateway servisleri yapılandırılmış ve etkinleştirilmiş olmalıdır. - Performans:
I_JournalEntryItemüzerinde sorgu çalıştırmak yoğun kaynak kullanabilir. Özellikle tarihler, şirket kodları ve defterler için her zaman seçici filtreler uygulayın. Veri çıkarmayı yoğun olmayan saatlerde çalıştırmayı veya sürekli izleme için artımlı yükleme stratejisi kullanmayı değerlendirin.
a Ö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 okuma erişiminizin olduğunu doğrulayın ve ACDOCA, TBTCO, CDHDR ve CDPOS için ş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 kapatma 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 yürütmesi, rapor oluşturma ve onay kayıtları için yerel alan eşlemelerini doğrulayın. Sorgu, her SAP S/4HANA kurulumunda bulunması garanti olmayan kaynak nesneler için açıklayıcı yer tutucular kullanır. Yürütmeden önce bu yer tutucuları sisteminizdeki onaylanmış görünümler veya tablolarla değiştirin.
- Sorguyu yalnızca okuma yetkisine sahip veritabanı kimlik bilgileriyle yürütün. Sorgu, gerekli her etkinlik için açıkça bir olay satırı oluşturur ve olay sırasından ek olaylar çıkarmaz.
- Döndürülen sütunları inceleyin. FinancialPeriod vaka kimliğidir, ActivityName olay etkinliğidir ve EventTime gerekli olay zaman damgasıdır. Kaynak kayıtta bulunduğunda EndTime, ResponsibleUser, CompanyCode, GlAccountNumber, DocumentNumber, ReconciliationStatus ve TargetCompletionDate de dahil edilir.
- Belirli bir dönemde kaynak kaydı bulunmayabilecek etkinlikler dahil olmak üzere gerekli her etkinliğin sonuçlarda yer aldığını 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ş olaylarını gerektiriyorsa ProcessMind’e yüklemeden önce bu satırı kaldırın veya ayrı olarak işleyin.
- Ö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 ve değişiklik olaylarının CDHDR ve CDPOS kayıtlarıyla veya yapılandırılmış mutabakat ve onay kaynaklarıyla eşleştiğini doğrulayın.
- Sonucu UTF-8 CSV veya ProcessMind tarafından desteklenen başka bir tablo biçiminde dışa aktarın. FinancialPeriod, ActivityName ve EventTime sütun adlarını tam olarak koruyun. FinancialPeriod ve EventTime alanlarına göre sıralayın ve açıkça çıkarılan her olay için bir satır bırakın.
- Event Logu ProcessMind’e yükleyin ve FinancialPeriod alanını vaka kimliği, ActivityName alanını etkinlik, EventTime alanını başlangıç zaman damgası olarak yapılandırın. Kullanılabildiğinde 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, her mutabakat aracı, konsolidasyon monitörü, rapor arşivi, onay iş akışı veya kayıt dönemi yapılandırması için tek bir evrensel tablo yapısı sunmaz. Sorgudaki her [Your table name] ve [Your column name] yer tutucusunu sisteminizde doğrulanmış bir nesne ve sütunla değiştirin. Yer tutucuyu çalıştırılabilir SQL olarak değerlendirmeyin.
Yapılandırma
- Veritabanı erişimi: ACDOCA, TBTCO, CDHDR, CDPOS ve kayıt dönemi kontrolü, mutabakat, konsolidasyon, raporlama ve onaylar için yapılandırılmış kaynak nesnelerinde SELECT yetkisine sahip, yalnızca okuma amaçlı bir SAP HANA veritabanı kullanıcısı kullanın.
- Şema yapılandırması: [Your SAP schema] ifadesini uygulama nesnelerini içeren gerçek şemayla değiştirin. Nesnelerin tablo, hesaplama görünümü veya onaylanmış raporlama görünümü olup olmadığını doğrulayın.
- Tarih aralığı: Genellikle üç ila altı aylık tam kapatma döngüsünü çıkarın. Açılış ve kapanış etkinliklerini, geç kayıtları, ters kayıtları, onayları ve kapanış sonrası düzeltmeleri dahil edin.
- Finansal dönem: Şirket kodunun kullandığı mali yıl 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ç seçili tüzel kişilerle sınırlıysa şirket kodu filtresi uygulayın. Kapsam ayrı bir organizasyon eşlemesinde tutuluyorsa [Configure based on your system] ifadesini kullanın.
- Belge türleri: Yevmiye kaydı çıkarımını tahakkuklar, karşılıklar, düzeltmeler, değerleme, mahsuplaşma ve diğer kapanış kayıtları için 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 kayıtlarını ilgili nesne sınıfı ve değişiklik göstergelerine göre filtreleyin. Değişiklik belgeleri tek başına her iş etkinliğini belirlemeyebilir.
- Mutabakat ve onay kaynakları: Mutabakat durumu geçişleri, hazırlayan kullanıcı işlemleri, onaylar, hedef tarihler ve dijital imza 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ı üzerindeki koşulları sınırlandırın. Filtreleri her UNION ALL dalına uygulayın, ACDOCA üzerinde sınırsız taramalardan kaçının ve sorguyu onaylanmış bir raporlama penceresinde çalıştırın.
- Veri türleri: Zaman damgalarını ortak bir saat diline ve veri türüne dönüştürün. Boş dizeleri NULL değerine dönüştürün ve şirket kodları, hesap numaraları ile 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üğü kayıtlarının, değişiklik belgesi etkinleştirmesinin ve rapor veya 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 ile veritabanı denetim gerekliliklerine uyun.
a Ö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 daha yüksek verimlilik ve uyumluluk elde etmesini sağlayın. Kayıttan Raporlamaya sürecinizi bugün dönüştürmeye başlayın.
Kayıttan Raporlamaya kapanış ve mutabakatınızı bugün optimize edin
Verimsizlikleri ortaya çıkarın ve kapanış çevrim sürenizi %30'a kadar azaltın.
Kredi kartı gerekmez. Dakikalar içinde başlayın.