Kayıttan Raporlamaya - dönem sonu kapanışı ve mutabakat için Veri Templateiniz
Kayıttan Raporlamaya - dönem sonu kapanışı ve mutabakat için Veri Templateiniz
- Toplanması önerilen öznitelikler
- Takip edilecek temel etkinlikler
- Veri çıkarma yönergeleri
Kayıttan Raporlamaya - dönem sonu kapanışı ve mutabakat öznitelikleri
| Ad | Açıklama | ||
|---|---|---|---|
| Mali dönem FinancialPeriod | Genellikle mali yıl ile kayıt döneminin birleştirilmesiyle oluşturulan, finansal raporlama döngüsüne ait benzersiz tanımlayıcı. | ||
| Açıklama Mali dönem, vaka için birincil tanımlayıcıdır. Aralık 2023 için '2023-12' gibi, belirli bir raporlama döngüsünde hesapların kapatılması ve mutabakatıyla ilgili tüm etkinlikleri bir araya getirir. Böylece her bir dönemin başından sonuna kadar olan dönem sonu kapatma süreci bütün olarak analiz edilebilir. Analizlerde her kapanışın uçtan uca çevrim süresini izlemeyi, farklı dönemlerdeki performansı karşılaştırmayı ve eğilimleri ya da olağan dışı durumları belirlemeyi sağlar. Her mali dönem benzersiz bir vaka olarak tanımlandığında, kapanış sürecinin verimliliğini, darboğazlarını ve zaman içindeki farklılıklarını görselleştirmek ve ölçmek mümkün olur. Neden önemli? Analizin çerçevesini belirleyen temel vaka tanımlayıcısıdır. Kapanış çevrim sürelerini, iş yüklerini ve süreç uyumluluğunu dönemler arasında karşılaştırmayı sağlar. Nereden alınır? Genellikle finansal belge başlıklarındaki Mali Yıl (GJAHR) ve Kayıt Dönemi (MONAT) alanları birleştirilerek elde edilir; örneğin BKPF tablosundan alınabilir. Örnekler 2023-122024-032023-4. çeyrek | |||
| Aktivite ActivityName | Dönem sonu kapatma sürecinde gerçekleştirilen belirli iş olayının veya görevin adı. | ||
| Açıklama Bu öznitelik, Kayıttan Raporlamaya döngüsünde gerçekleştirilen Düzeltme yevmiye kaydı yapıldı veya Finansal tablolar oluşturuldu gibi belirli adımları kaydeder. Olayların sırasını göstererek dönem sonu kapatma sürecini oluşturan adımları ortaya koyar ve süreç haritasının temelini oluşturur. Etkinlikleri analiz etmek, Process Mining için temel bir adımdır. Süreç akışını görselleştirmeye, görevlerin sırasını belirlemeye, süreç farklılıklarını keşfetmeye ve her adımın sıklığını ve süresini ölçmeye yardımcı olur. Darboğazları, standart dışı süreç yollarını ve standartlaştırma ya da otomasyon fırsatlarını belirlemek açısından önemlidir. Neden önemli? Dönem sonu kapatmadaki görev sırasını görselleştirmek ve analiz etmek için süreç haritası oluşturulurken bu öznitelik zorunludur. Nereden alınır? SAP işlem kodlarının (TCODE), belge türlerinin (BLART) veya belirli programların çalıştırılmasının (ör. yabancı para değerlemesi için FAGL_FCV) bir araya getirilmesiyle elde edilir. Örnekler Düzeltme yevmiye kaydı yapıldıHesap mutabakatı başladıDönem kayıt işlemlerine kapatıldı | |||
| Kaynak sistem SourceSystem | Verilerin çıkarıldığı kaynak sistemin tanımlayıcısı. | ||
| Açıklama Bu öznitelik, belirli SAP ECC örneğinin adı veya kimliği gibi olay verilerinin kaynağını belirtir. Birden fazla ERP veya finans sistemi kullanan kuruluşlarda, farklı kaynaklardan gelen verileri ayırt etmek için bu alan önemlidir. Tek sistemli ortamlarda bile veri yönetişimi, denetim ve sorun giderme için önemli bir üst veri öğesidir. Verinin nereden geldiğini doğrular. Bu bilgi, analize duyulan güveni oluşturmak ve veri soy ağacını açıkça izleyebilmek için gereklidir. Neden önemli? Veri yönetişimi için verinin kaynağını doğrulayarak veri soy ağacını ortaya koyar. Birden fazla sistemin bulunduğu ortamlarda süreçleri ayırt etmek için önemlidir. Nereden alınır? Genellikle veri çıkarma sırasında eklenen sabit bir değerdir ve belirli SAP istemcisini ve sistem kimliğini belirtir (ör. T000 tablosundan alınır). Örnekler ECC_PROD_100SAP_E74_200ECC_FINANCE | |||
| Olay zamanı EventTime | Bir etkinliğin veya olayın ne zaman gerçekleştiğini gösteren zaman damgası. | ||
| Açıklama Olay zamanı, süreçteki her etkinliğin kesin tarih ve saatini verir ve analiz için kronolojik temel oluşturur. Genellikle belgenin oluşturulma tarihiyle saatinin birleştirilmesiyle elde edilir. Olayları doğru sıraya koyup süreç akışını yeniden oluşturmak için bu zaman damgası gereklidir. Etkinlikler arasındaki çevrim süreleri, bekleme süreleri ve toplam dönem sonu kapatma süresi dahil, süreye dayalı tüm metrikleri hesaplamak için kullanılır. Zaman damgalarını analiz etmek, gecikmeleri belirlemeye ve işin zamana nasıl dağıldığını anlamaya yardımcı olur. Neden önemli? Zorunlu bir öznitelik olarak olayların kronolojik sırasını verir. Çevrim sürelerini hesaplamak ve süreç darboğazlarını belirlemek için bu sıra gereklidir. Nereden alınır? Finans belgeleri için genellikle BKPF tablosundaki belge giriş tarihi (CPUDT) ve giriş saati (CPUTM) alanlarından alınır. Örnekler 2023-12-28T14:30:15Z2024-01-02T09:05:00Z2024-01-05T17:21:45Z | |||
| Son veri güncellemesi LastDataUpdate | Verilerin kaynak sistemden en son yenilendiği veya çıkarıldığı zamanın zaman damgası. | ||
| Açıklama Bu öznitelik, analiz edilen verilerin ne kadar güncel olduğunu gösterir. Veri hattının en son çalıştığı tarih ve saati belirterek süreç içgörülerinin ne kadar yeni olduğuna dair bilgi verir. Özellikle anlık ilerlemeyi izleyen Dashboardlarda bu zaman damgası, kullanıcıların güncel bilgileri mi yoksa önceki güne ait verileri mi gördüğünü anlaması açısından önemlidir. Beklentileri doğru belirlemeye ve analizi doğru yorumlamaya yardımcı olur. Neden önemli? Verilerin güncelliği hakkında bilgi verir. Analizlerin ve Dashboardların zamanında ve konuyla ilgili olmasını sağlamak için önemlidir. Nereden alınır? Bu zaman damgası, her veri yükleme işleminin sonunda veri çıkarma veya ETL aracı tarafından oluşturulup eklenir. Örnekler 2024-05-21T04:00:00Z2024-05-20T04:00:00Z2024-05-19T04:00:00Z | |||
| Belge numarası BELNR | Bir mali yıl ve şirket kodu içindeki muhasebe belgesinin benzersiz tanımlayıcısı. | ||
| Açıklama Muhasebe belge numarası, SAP’deki finansal kayıtların birincil anahtarıdır. Her yevmiye kaydına, faturaya veya ödeme belgesine benzersiz bir numara atanır. Belge numarası üst düzey süreç analizlerinde genellikle kullanılmasa da ayrıntıya inmek için çok değerlidir. Analistler, Process Mining Dashboardundan belge numarasını kullanarak SAP’deki ilgili işleme doğrudan ulaşabilir ve yüksek tutarlı bir düzeltme kaydı ya da gecikmiş bir mutabakat kalemi gibi olağan dışı durumları ayrıntılı inceleyebilir. İçgörüyle kaynak işlem arasında doğrudan bağlantı kurar. Neden önemli? SAP’deki kaynak işleme doğrudan bağlantı sağlar. Böylece süreç görünümünden belirli muhasebe kayıtlarına inerek ayrıntılı analiz yapabilirsiniz. Nereden alınır? Birincil anahtar olarak BKPF tablosunda (BELNR) bulunur. Örnekler 100000456719000001233000008901 | |||
| Belge türü BLART | Farklı muhasebe belgesi türlerini sınıflandıran kod. | ||
| Açıklama SAP’de belge türü; tedarikçi faturaları (KR), müşteri ödemeleri (DZ) ve büyük defter kayıtları (SA) gibi farklı iş işlemlerini ayırt etmek için kullanılır. Belge numarası aralığı gibi özellikleri de denetler. Dönem sonu kapatma analizinde belge türü, etkili bir filtre olarak kullanılabilir. Tahakkuk, karşılık veya ters kayıt gibi belirli etkinlik türlerini ayırmaya yardımcı olur. Böylece kapanışla ilgili farklı işlemlerin hacmi ve finansal etkisi analiz edilebilir; süreç modelinde belirli etkinlikler tanımlanabilir. Neden önemli? İşlemleri sınıflandırıp filtrelemeye yardımcı olur. Böylece tahakkuk, ters kayıt veya şirketler arası kayıt gibi belirli etkinlikleri ayırıp analiz edebilirsiniz. Nereden alınır? Belge başlıkları tablosu BKPF’de (BLART) bulunur. Örnekler SAABKR | |||
| Büyük defter hesabı HKONT | Bir kalemin kaydedildiği büyük defter hesabının numarası. | ||
| Açıklama Büyük defter hesabı (GL), işlemleri sınıflandıran temel bir finans ana verisidir. Her finansal kayıt bir veya daha fazla büyük defter hesabına atanır. Dönem sonu kapatma sürecinde, etkinlikleri büyük defter hesabına göre analiz etmek Hesap Mutabakatı Darboğazları ve Düzeltme Kayıtları Hacim Analizi Dashboardları için önemlidir. Hangi hesapların mutabakatının daha zor olduğunu, hangilerinde daha çok düzeltme gerektiğini ve önemli yanlış beyan riskinin nerede yüksek olabileceğini gösterir. Böylece ekipler sorunlu hesaplara öncelik verebilir. Neden önemli? Mutabakatları ve düzeltme kayıtlarını hedefli biçimde analiz etmeyi sağlar. Gecikmelere veya sık düzeltmelere yol açan sorunlu hesapları belirlemeye yardımcı olur. Nereden alınır? Finansal belge kalemleri tablosu BSEG’de (HKONT) bulunur. Örnekler 113100400500750000 | |||
| Şirket kodu BUKRS | Finansal tabloların oluşturulduğu tüzel kişiliği temsil eden organizasyon birimi. | ||
| Açıklama Şirket kodu, SAP Financials içindeki temel organizasyon birimlerinden biridir. Kendi dengeli hesap defterlerine sahip bağımsız bir şirketi temsil eder. Tüm finansal işlemler şirket kodu düzeyinde kaydedilir. Process Mining çalışmalarında şirket koduna göre filtreleme, farklı tüzel kişiliklerdeki dönem sonu kapatma süreçlerini karşılaştırmak için gereklidir. Böylece performansı yüksek şirketlerdeki iyi uygulamalar belirlenebilir; gecikme, çok sayıda düzeltme kaydı veya süreç sapması yaşayan şirketler ortaya çıkarılabilir. Analizi bölümlere ayırmak için önemli bir boyuttur. Neden önemli? Farklı tüzel kişiliklerin dönem sonu kapatma performansını ve uyumluluğunu karşılaştırmayı sağlar. Grup düzeyinde finansal analiz için önemlidir. Nereden alınır? Bu alan, SAP’deki finansal belge tablolarının neredeyse tamamında, özellikle BKPF (Başlık) ve BSEG (Kalem) tablolarında bulunur. Örnekler 10002000US01DE01 | |||
| Sorumlu kullanıcı USNAM | İşlemi oluşturan veya çalıştıran kişinin SAP kullanıcı kimliği. | ||
| Açıklama Bu alan, belgeyi kaydeden, raporu çalıştıran veya kapanışla ilgili bir programı yürüten kullanıcıyı gösterir. Belirli bir etkinlikten sorumlu kişiyi belirler. Kullanıcıya göre analiz yapmak, iş yükünün dağılımını anlamak, eğitim ihtiyaçlarını belirlemek ve süreç sapmalarını incelemek açısından önemlidir. Kullanıcı başına etkinlikleri gösteren Dashboardlar, iş yükü fazla olan ekip üyelerini veya standart dışı yöntemler izleyen kişileri ortaya çıkarabilir. Ayrıca finans ekibinde performans yönetimine ve kaynak dağılımına yardımcı olur. Neden önemli? İş yükü dağılımını ve ekip performansını analiz etmeyi, belirli kişilerle ilişkili süreç sapmalarını belirlemeyi sağlar. Nereden alınır? Belge oluşturma bilgisi BKPF tablosunda (USNAM) bulunur. Toplu işler için TBTCO tablosundaki (SDLUNAME) alandan alınabilir. Örnekler JSMITHRDOEFIN_ADMIN | |||
| Yerel para birimindeki tutar DMBTR | Şirket kodunun yerel para birimiyle ifade edilen finansal işlem kaleminin değeri. | ||
| Açıklama Bu öznitelik, finansal bir kaydın parasal değerini gösterir. İşlemin büyük defter üzerindeki etkisini ölçen temel nicel göstergedir. Sorunlara öncelik vermek ve finansal riski anlamak için tutarı analiz etmek önemlidir. Örneğin Düzeltme Kayıtları Hacim Analizi Dashboardu, düşük tutarlı çok sayıda düzeltmeyle yüksek tutarlı az sayıda düzeltmeyi ayırt edebildiğinde daha fazla bilgi sağlar. Finansal açıdan önemli işlemlere odaklanmaya yardımcı olur. Neden önemli? İşlemlerin finansal etkisini ölçer. Yüksek tutarlı düzeltme kayıtlarını belirlemek gibi önemlilik düzeyine dayalı analizler yapılmasını sağlar. Nereden alınır? Belge kalemleri tablosu BSEG’de (DMBTR) bulunur. Örnekler 1500.75-25000.00123456.00 | |||
| Yevmiye kaydı türü JournalEntryType | Yevmiye kayıtlarını Standart, Düzeltme, Tahakkuk veya Ters kayıt gibi sınıflara ayıran tür. | ||
| Açıklama Bu, finans belgelerini kapanış sürecindeki iş amaçlarına göre sınıflandıran türetilmiş bir özniteliktir. Genellikle Belge Türü (BLART), Ters Kayıt Nedeni (STGRD) veya kullanılan belirli büyük defter hesapları birlikte değerlendirilerek belirlenir. Bu sınıflandırma, Düzeltme Kayıtları Hacim Analizi Dashboardu ve ilgili KPI’lar için temel oluşturur. Düzeltme veya tahakkuk kayıtları açıkça belirlendiğinde analistler bunların hacmini ve değerini ölçebilir, zaman içindeki eğilimleri izleyebilir ve neden gerekli olduklarını araştırabilir. Rutin operasyonel kayıtları dönem sonu düzeltmelerinden ayırmaya yardımcı olur. Neden önemli? Kayıtları hedefli analiz için sınıflandırır. Süreç sağlığını gösteren düzeltme ve tahakkuk gibi önemli kayıt türlerinin izlenmesini ve ölçülmesini sağlar. Nereden alınır? Bu, türetilmiş bir alandır. Genellikle BKPF’deki Belge Türü (BLART) gibi alanlardan yararlanılarak iş kurallarına göre mantığı tanımlanmalıdır. Örnekler DüzeltmeTahakkukTers kayıtStandart | |||
| Departman Department | Etkinlik veya işlemden sorumlu işlevsel departman ya da maliyet merkezi. | ||
| Açıklama Bu öznitelik, bir işlemle ilişkili Finans, Satış veya Lojistik gibi iş departmanını belirler. Genellikle kayda bağlı Maliyet Merkezi ana verilerinden veya kullanıcının ana verilerinden elde edilir. Departmana göre analiz, Kapanış Ekibi İş Yükü Dağılımı Dashboardunu destekler. Farklı iş birimlerinin dönem sonu iş yüküne nasıl katkıda bulunduğunu, özellikle de daha sonra düzeltme veya mutabakat gerektirebilecek işlemleri başlatma açısından anlamaya yardımcı olur. Finans ekibinin dışındaki birimlerin kapanış sürecini nasıl etkilediğini ortaya çıkarabilir. Neden önemli? Farklı iş birimlerindeki iş yükünü ve süreç kurallarına uyumu analiz etmeye yardımcı olur. Böylece çeşitli departmanların finansal kapanış verimliliğini nasıl etkilediği görülebilir. Nereden alınır? Genellikle BSEG’deki Maliyet Merkezi (KOSTL) alanından veya sorumlu kullanıcının İK ana verilerinden elde edilir. Birden fazla tabloyu birleştirmek gerekebilir. Örnekler Kurumsal finansBorçlar muhasebesiFinansal planlama ve analiz | |||
| Gecikti mi IsOverdue | Bir etkinliğin planlanan hedef tarihten sonra tamamlanıp tamamlanmadığını gösteren hesaplanmış işaret. | ||
| Açıklama Bu mantıksal öznitelik, bir etkinliğin gerçekleşen tamamlanma zamanını (EventTime) planlanan son tarihiyle (TargetCompletionDate) karşılaştırır. Olay zamanı hedef tarihten sonraysa işaret true değerini alır. Bu öznitelik, kapanış uyumluluğu ve geciken görevler Dashboardunu ve zamanında dönem sonu kapanış oranı KPI’ını doğrudan destekler. Takvimden sapmaları açıkça göstererek yöneticilerin geciken görevleri hızla belirlemesine, genel zaman çizelgesine etkisini anlamasına ve ekiplerin son tarihlere uymasını sağlamasına yardımcı olur. Neden önemli? Takvime uyulmadığını açıkça gösterir; geciken görevleri hızla belirlemenize ve zamanında performansı ölçmenize yardımcı olur. Nereden alınır? Hesaplanmış bir özniteliktir. Process Mining aracı, EventTime ile TargetCompletionDate değerlerini karşılaştırarak hesaplar. Örnekler truefalse | |||
| Hedef tamamlanma tarihi TargetCompletionDate | Bir etkinlik veya tüm dönem sonu kapanışı için planlanan son tarih. | ||
| Açıklama Hedef tamamlanma tarihi, dönem sonu kapanış sürecinin ölçüldüğü takvimi belirtir. Belirli kilometre taşlarının veya kapanışın tamamlanması gereken son tarihi gösterir. Bu öznitelik, performans ve uyumluluk analizleri için gereklidir. Zamanında dönem sonu kapanış oranı KPI’ını hesaplamak ve kapanış uyumluluğu ve geciken görevler Dashboardunu oluşturmak için kullanılır. Sistem, gerçekleşen olay zamanını hedef tarihle karşılaştırarak görevlerin planlandığı gibi ilerleyip ilerlemediğini, gecikip gecikmediğini veya gecikme riski taşıyıp taşımadığını belirler. Böylece kapanış sürecini önceden yönetebilirsiniz. Neden önemli? Kapanış etkinliklerinin zamanında tamamlanıp tamamlanmadığını ölçmek için bir referans noktası sunar, uyumluluk ve performans takibini destekler ve zamanında teslimat KPI’larının hesaplanmasına yardımcı olur. Nereden alınır? Bu bilgi genellikle ayrı bir takvimde, SAP Financial Closing cockpit gibi bir kapanış yönetimi aracında veya elektronik tabloda tutulan ana verilerdir. İşlem verilerinin parçası değildir. Örnekler 2023-12-29T23:59:59Z2024-01-03T17:00:00Z2024-01-02T12:00:00Z | |||
| Mali yıl GJAHR | İşlemin kaydedildiği mali yıl. | ||
| Açıklama Mali yıl, finansal verileri düzenlemenin temel unsurlarından biridir. Finansal dönem vaka kimliğinin önemli bir bileşenidir ve tüm işlemler için gerekli bağlamı sağlar. Mali yıl genellikle vaka kimliğinin bir parçası olsa da ayrı bir öznitelik olarak tutulması, uzun vadeli eğilim analizlerinde yarar sağlar. Kapanış çevrim sürelerini, düzeltme hacimlerini ve diğer KPI’ları yıllar arasında karşılaştırarak performanstaki iyileşmeleri veya düşüşleri belirlemenize yardımcı olur. Neden önemli? Gerekli zaman bağlamını sağlar ve kapanış sürecinin performansını yıllar arasında karşılaştırmanıza imkân verir. Nereden alınır? Belge başlık tablosu BKPF’de (GJAHR) bulunur. Örnekler 202320242022 | |||
| Mutabakat durumu ReconciliationStatus | Bir hesap mutabakatının Açık, İncelemede veya Onaylandı gibi mevcut durumu. | ||
| Açıklama Bu öznitelik, hesap mutabakatının iş akışı boyunca hangi durumda olduğunu izler. Mutabakatın başlatıldığını, incelemeye gönderildiğini, onaylandığını veya reddedildiğini gösterir. Mutabakat etkinliklerinin ilerleyişini anlık izlemek için önemli bir özniteliktir. Hangi mutabakatların ne kadar süredir beklediğini belirlemeye yardımcı olur ve Hesap Mutabakatı Çevrim Süresi gibi KPI’ları destekler. Onay sürecini görünür kılar; mutabakat darboğazlarını ve ekip iş yükünü izleyen Dashboardlar için önemlidir. Neden önemli? Mutabakat iş akışını görünür kılar. İlerlemeyi izlemeyi, darboğazları belirlemeyi ve inceleme ile onay sürelerini ölçmeyi sağlar. Nereden alınır? Bu bilgi genellikle ayrı bir mutabakat aracında (ör. BlackLine tarafından sunulan SAP Account Substantiation and Automation) veya özel bir durum alanında tutulur. BKPF/BSEG tablolarında standart bir alan olarak bulunması beklenmez. Örnekler BaşlanmadıDevam ediyorOnaylandıReddedildi | |||
| Otomatik mi IsAutomated | Bir etkinliğin kullanıcı tarafından mı yoksa otomatik bir sistem tarafından mı gerçekleştirildiğini gösteren işaret. | ||
| Açıklama Bu mantıksal öznitelik, manuel görevlerle sistemin otomatik olarak yürüttüğü görevleri birbirinden ayırır. Örneğin yabancı para değerlemesi için zamanlanmış bir toplu iş veya yinelenen kayıtları oluşturan bir bot otomatik görevlerdir. Bu ayrım çoğunlukla işlemle ilişkili kullanıcı adı incelenerek yapılır (ör. 'BATCHUSER'). Otomasyon düzeyini anlamak, verimliliği artırma fırsatlarını belirlemeye yardımcı olur. Bu özniteliği inceleyerek sürecin hangi bölümlerinin manuel olduğunu ve otomasyona uygun olabileceğini görebilirsiniz. Sistem tarafından oluşturulan etkinlikleri hariç tutarak çalışanların iş yükünü de daha doğru ölçebilirsiniz. Neden önemli? Manuel etkinliklerle sistemin yürüttüğü etkinlikleri ayırır. Bu ayrım, otomasyon fırsatlarını belirlemek ve manuel iş yükünü doğru ölçmek için önemlidir. Nereden alınır? Türetilmiş bir özniteliktir. Mantık genellikle User Name (USNAM) alanına dayanır. Bilinen sistem veya toplu iş kullanıcı kimliklerinin listesi, görevin otomatik olup olmadığını gösterir. Örnekler truefalse | |||
| Ters kayıt nedeni ReversalReason | Bir finans belgesinin neden ters kaydedildiğini belirten kod. | ||
| Açıklama SAP’de bir belge ters kaydedildiğinde, işlemin nedenini açıklamak için Dönem içinde ters kayıt veya Hatalı kayıt gibi bir neden kodu atanabilir. Bu öznitelik, yeniden çalışmanın nedenlerine ilişkin önemli bilgiler verir. Ters kayıt nedenlerini analiz etmek, hatalı veri girişi veya yanlış tarih gibi hata örüntülerini belirlemeye yardımcı olur. Bu bilgiler; hata sayısını ve ardından yapılan ters kayıtları azaltmak, kapanış sürecini daha verimli hâle getirmek için önleyici tedbirler almada, eğitimleri iyileştirmede veya sistem kontrollerini geliştirmede kullanılabilir. Neden önemli? Hataların ve yeniden çalışmanın temel nedenlerini doğrudan gösterir. Süreç iyileştirme ve hataları önleme fırsatlarını belirlemeye yardımcı olur. Nereden alınır? Belge başlıkları tablosu BKPF’de (STGRD) bulunur. Örnekler 010205 | |||
| Ticaret ortağı VBUND | Şirketler arası işleme katılan grup şirketinin tanımlayıcısı. | ||
| Açıklama Ticaret ortağı kimliği, şirketler arası işleme katılan diğer şirket kodunu belirlemek için kullanılır. İlişkili tüzel kişilikler arasındaki hesap mutabakatı için gereklidir. Bu öznitelik, Şirketler Arası Mutabakat Akışı Dashboardunu ve Şirketler Arası Mutabakat Çevrim Süresi KPI’ını doğrudan destekler. Ticaret ortağı bulunan işlemler filtrelendiğinde analiz, dönem sonu kapatmada sıkça sorun yaratan şirketler arası mutabakat sürecinin verimliliğine ve zamanında tamamlanmasına odaklanabilir. Neden önemli? Şirketler arası işlemleri belirgin biçimde ayırt eder. Böylece çoğu zaman karmaşık ve uzun süren şirketler arası mutabakat sürecine odaklanan analizler yapılabilir. Nereden alınır? Belge kalemleri tablosu BSEG’de (VBUND) bulunur. Örnekler 1000US013000 | |||
| Yeniden çalışma mı IsRework | Ters kayıt veya reddedilen mutabakat gibi yeniden çalışmayı gösteren etkinlikleri belirleyen hesaplanmış bir işaret. | ||
| Açıklama Bu mantıksal öznitelik, süreçteki verimsiz döngülere veya düzeltmelere işaret eden olayları ya da olay dizilerini belirler. Örneğin, aynı hesapta 'Mutabakat incelendi' etkinliğinin ardından başka bir 'Düzeltme yevmiye kaydı oluşturuldu' etkinliği gelmesi yeniden çalışma olarak işaretlenebilir. Bu öznitelik, süreçteki kayıpları ölçmenize yardımcı olur ve mutabakat yeniden çalışma örnekleri Dashboardunu ve mutabakat yeniden çalışma oranı KPI’ını destekler. Ekipler yeniden çalışmayı ayrı inceleyerek temel nedenleri araştırabilir, çevrim süresine etkisini ölçebilir ve işi ilk seferde doğru yapmayı amaçlayan iyileştirme çalışmalarının sonuçlarını takip edebilir. Neden önemli? Düzeltme veya tekrar niteliğindeki etkinlikleri işaretleyerek süreçteki verimsizliği ölçer, boşa harcanan emeği belirlemeye ve azaltmaya yardımcı olur. Nereden alınır? Hesaplanmış bir özniteliktir. Mantığı, Process Mining aracında belirli etkinlik dizilerine (ör. döngüler) veya özniteliklere (ör. ReversalReason değerinin boş olmaması) göre tanımlanır. Örnekler truefalse | |||
Kayıttan Raporlamaya - dönem sonu kapanışı ve mutabakat etkinlikleri
| Aktivite | Açıklama | ||
|---|---|---|---|
| Dönem kayıt işlemlerine kapatıldı | Kayıt döneminin resmen kapatılmasını ifade eder ve yeni operasyonel yevmiye kayıtlarının yapılmasını engeller. Böylece kapatılan döneme ait finansal verilerin bütünlüğü korunur. Bu, açık bir yapılandırma değişikliğidir. | ||
| Neden önemli? Bu, dönem sonu kapatma sürecinin kesin bitiş olayıdır. Toplam Dönem Sonu Kapatma Çevrim Süresini doğru hesaplamak ve zamanında tamamlama performansını ölçmek için gereklidir. Nereden alınır? OB52 işlemi üzerinden dönemlerin kapatılması kaydedilir. T001B yapılandırma tablosuna ait değişiklik belgeleri (CDHDR ve CDPOS tabloları) analiz edilerek bu değişiklikler bulunabilir. Kaydedin T001B tablosuna ait değişiklik belgelerinden (CDHDR/CDPOS) çıkarılır. Olay türü explicit | |||
| Düzeltme yevmiye kaydı yapıldı | Döneme ait ilk işlem kayıtları tamamlandıktan sonra hesap bakiyelerini düzeltmek için bir düzeltme yevmiye kaydı yapılır. Bu olay, SAP’de standart bir finans belgesi kaydı olarak tutulur. | ||
| Neden önemli? Bu etkinlik, Düzeltme Kayıtları Hacim Analizi için gereklidir. Düzeltme kayıtlarının çok olması, önceki süreçlerde doğruluk sorunlarına işaret eder ve süreç iyileştirme çalışmalarında ele alınması gereken önemli bir konudur. Nereden alınır? BKPF ve BSEG tablolarında bulunur. Bu kayıtlar genellikle düzeltmeler için ayrılmış belirli bir belge türüne (BKPF-BLART) veya 13-16 gibi özel kapanış dönemlerinde yapılmış olmasına göre belirlenir. Kaydedin BKPF tablosunu özel dönemlerde kaydedilen veya düzeltme belge türüne sahip belgeler için filtreleyin. Olay türü explicit | |||
| Finansal tablolar oluşturuldu | Kâr ve Zarar Tablosu ile Bilanço gibi resmî finansal tabloların oluşturulduğu zamanı ifade eder. Bu etkinlik genellikle belirli bir raporlama programının çalıştırılması izlenerek kaydedilir. | ||
| Neden önemli? Bu önemli kilometre taşı, veri işlemenin sona erdiğini ve son inceleme ve onay aşamasının başladığını gösterir. Bu olaydan onaya kadar geçen süre önemli bir KPI’dır. Nereden alınır? Finansal tablo oluşturma programının, çoğunlukla F.01 işleminin çalıştırılmasını kaydeden STAD gibi sistem denetim günlüklerinden çıkarım yapılır. Kaydedin F.01 finansal tablo işleminin çalıştırılmasını izleyen sistem günlüklerinden (STAD) alınır. Olay türü inferred | |||
| Hesap mutabakatı başladı | Dönem için bir grup büyük defter hesabının mutabakat sürecinin başlangıcını ifade eder. Standart SAP ECC’de bu, ayrı bir olay olarak bulunmaz; genellikle önemli bir raporun ilk kez çalıştırılması gibi ilişkili etkinliklerden çıkarım yapılır. | ||
| Neden önemli? Bu etkinlik, mutabakat aşamasının tamamının süresini ölçmek için önemli bir kilometre taşı oluşturur. Hesap Mutabakatı Çevrim Süresi KPI’ı için mutabakatın ne zaman başladığını bilmek gerekir. Nereden alınır? Bu olay açıkça günlüğe kaydedilmez. FAGLB03 veya FS10N gibi bakiye görüntüleme raporlarının ilk çalıştırılışını gösteren sistem denetim günlüğü (STAD işlemi) gibi başka veri kaynaklarından çıkarım yapılmalıdır. Kaydedin İlgili rapor işlemlerinin (ör. FAGLB03) sistem günlüklerindeki ilk çalıştırılışından çıkarım yapın. Olay türü inferred | |||
| Kayıt döneminin açılması | Bu işlem, bir mali dönemin resmen başlamasını ve işlemlerin büyük deftere kaydedilmesini sağlar. Yetkili bir kullanıcının, bir veya daha fazla şirket kodunda belirli bir dönemde kayıt yapılmasına izin vermek için gerçekleştirdiği açık bir yapılandırma değişikliğidir. | ||
| Neden önemli? Bu etkinlik, dönem sonu kapatma sürecindeki vaka için kesin başlangıç olayıdır. Bu noktadan itibaren geçen süreyi analiz etmek, mali dönemin tüm yaşam döngüsünü anlamaya yardımcı olur. Nereden alınır? OB52 işlemi üzerinden kayıt dönemlerinde yapılan değişiklikler günlüğe kaydedilir. Bu değişiklikler, genellikle CDHDR ve CDPOS tabloları kullanılarak, temel yapılandırma tablosu T001B için değişiklik belgeleri analiz edilerek çıkarılabilir. Kaydedin T001B tablosuna ait değişiklik belgelerinden (CDHDR/CDPOS) çıkarılır. Olay türü explicit | |||
| Yabancı para değerleme çalıştırıldı | Bu etkinlik, yabancı para birimlerinde kaydedilmiş açık kalemleri ve bakiyeleri dönem sonu kurlarıyla yeniden değerleyen bir programın çalıştırılmasını ifade eder. Genellikle dönem sonu kapanış adımlarının bir parçası olarak toplu iş şeklinde çalıştırılır. | ||
| Neden önemli? Çok uluslu kuruluşlarda finansal raporlamanın doğruluğunu sağlamak için bu adım önemlidir. Zamanlamasını ve süresini analiz etmek, otomasyon ve performans iyileştirme fırsatlarını belirlemeye yardımcı olur. Nereden alınır? FAGL_FCV veya F.05 gibi yabancı para değerleme programlarının çalıştırma günlüklerinden alınır. TBTCO ve TBTCP gibi tablolardaki toplu iş ayrıntıları, çalıştırma zaman damgalarını sağlar. Kaydedin FAGL_FC_VALUATION veya SAPF100 programına ait toplu iş günlüklerinden (TBTCO tablosu) alınır. Olay türü explicit | |||
| GR/IR kapatma çalıştırıldı | Mal girişi/fatura girişi hesabı için otomatik kapatma programının çalıştırılmasıdır. Program, ilgili mal girişleriyle fatura girişlerini eşleştirir ve kalemleri birbirine karşı kapatır. | ||
| Neden önemli? GR/IR hesabı, mutabakat sorunlarının sık görüldüğü alanlardan biridir. Bu etkinliği izlemek, otomatik adımın doğru çalıştığını doğrular ve elle takip edilmesi gereken istisnaların hacmini ölçmeye yardımcı olur. Nereden alınır? Çalıştırma, toplu iş günlüklerinde (SM37 işlemi) kaydedilir. Program genellikle F.13 işlemi üzerinden çalıştırılan SAPF124'tür. TBTCO gibi iş günlüğü tabloları gerekli zaman damgalarını sağlar. Kaydedin SAPF124 kapatma programına ait toplu iş günlüklerinden (TBTCO tablosu) alınır. Olay türü explicit | |||
| Mizan raporu oluşturuldu | Mizan raporunun oluşturulması için çalıştırıldığını gösterir. Resmî finansal tablolar hazırlanmadan önce borç toplamının alacak toplamına eşit olduğunu doğrulamak için önemli bir adımdır. | ||
| Neden önemli? Nihai raporlamadan önce önemli bir kalite kontrol adımıdır. Raporun tekrar tekrar çalıştırılması, temel verilerde sorunlar bulunduğunu ve bunların düzeltildiğini gösterebilir; bu da gecikmelere yol açabilir. Nereden alınır? S_ALR_87012277 veya F.01 gibi mizan raporu işlemlerinin çalıştırılmasını kaydedebilen STAD işlemi gibi sistem denetim günlüklerinden çıkarım yapılır. Kaydedin Raporlama işlem kodlarının çalıştırılmasını izleyen sistem günlüklerinden (STAD) alınır. Olay türü inferred | |||
| Mutabakat incelendi | Belirli bir hesap veya hesap grubuna ait mutabakatın incelenip onaylandığını gösterir. Standart SAP ECC’de bu olay açıkça günlüğe kaydedilmez; genellikle çevrimdışı kontrollerle veya özel çözümlerle yönetilir. | ||
| Neden önemli? İncelemelerin zamanlamasını izlemek, kapanış sürecinin kontrol ve gözetim aşamalarındaki darboğazları anlamak açısından önemlidir. Yönetimin müsait olmamasından veya yeniden çalışmadan kaynaklanan gecikmeleri ortaya çıkarabilir. Nereden alınır? Bu bilgi standart ECC tablolarında bulunmaz. Özel bir Z tablosundaki durum alanı, basit bir iş akışı veya özel bir üçüncü taraf mutabakat aracıyla entegrasyon gibi özel bir çözüm gerekir. Kaydedin Uygulanmışsa özel iş akışındaki veya Z tablosundaki durum değişikliğini kaydedin. Olay türü inferred | |||
| Şirketler arası belge kapatıldı | Bu etkinlik, iki farklı şirket kodu arasındaki açık kalemin kapatıldığını gösterir. Böylece şirketler arası işlemin sonuçlandırıldığı veya mutabakata bağlandığı anlaşılır. SAP’de bu işlem, genellikle kapatma belgesi olarak açık bir finansal kayıt şeklinde tutulur. | ||
| Neden önemli? Şirketler arası kalemlerin kapatılmasındaki gecikmeler, kapanış sürecinde sık görülen bir darboğazdır. Bu etkinliği izlemek, şirketler arası mutabakat çevrim süresini ölçmek ve iyileştirmek açısından büyük önem taşır. Nereden alınır? BKPF ve BSEG’deki finans belgelerinden belirlenir. Kapatma belgesi, açık kalemlerle bağlantı kurup bunları kapatır; kapatma tarihi (BSEG-AUGDT) olayın zaman damgası olarak kullanılır. Şirketler arası işlemler, ticaret ortağı alanlarından belirlenir. Kaydedin Ticaret ortaklarıyla ilişkili kalemleri içeren BKPF/BSEG kapatma belgelerini belirleyin. Olay türü explicit | |||
| Tahakkuk veya karşılık kaydedildi | Bu etkinlik, genellikle dönemin sonuna doğru kaydedilen tahakkuk, erteleme veya karşılık yevmiye kaydını ifade eder. SAP’de ayrı bir olay türü olarak bulunmaz; özelliklerine göre belirli yevmiye kayıtları belirlenerek çıkarım yapılır. | ||
| Neden önemli? Bu kayıtları ayrı incelemek, tahminlerin yönetimine yönelik alt sürecin analiz edilmesine yardımcı olur. Tahakkukların yüksek hacimde olması veya sık sık düzeltilmesi, süreçte iyileştirme yapılabilecek alanlara işaret edebilir. Nereden alınır? Finans belgelerinin bulunduğu BKPF ve BSEG tablolarından çıkarım yapılır. Kayıtlar; belirli bir belge türüne (BKPF-BLART), benzersiz bir büyük defter hesabına (BSEG-HKONT) veya başlık metnindeki anahtar sözcüklere (BKPF-BKTXT) göre filtrelenerek belirlenebilir. Kaydedin BKPF/BSEG tablolarını belge türüne, belirli büyük defter hesaplarına veya metin alanlarına göre filtreleyin. Olay türü inferred | |||
| Ters kayıt yapıldı | Bu etkinlik, genellikle bir hatayı düzeltmek amacıyla daha önce kaydedilmiş bir yevmiye kaydını tersine çeviren belgenin kaydedilmesini ifade eder. SAP, ters kayıt belgesiyle asıl belge arasında açık bir bağlantı oluşturur. | ||
| Neden önemli? Ters kayıtların çok olması, veri girişinin doğruluğunda veya süreç kontrollerinde sorun olabileceğini gösterir. Bu olayları izlemek, ilk seferde doğru işlem oranını ölçmeye ve iyileştirme gereken alanları belirlemeye yardımcı olur. Nereden alınır? Ters kayıt belgeleri BKPF tablosunda bulunur. Genellikle FB08 işlemiyle oluşturulur ve BKPF-STBLG alanında tersine çevrilen belge numarasına referans içerir. Kaydedin BKPF-STBLG alanı dolu olan veya ters kayıt işlem kodlarıyla oluşturulan belgeleri belirleyin. Olay türü explicit | |||
Veri çıkarma rehberleri
Adımlar
- SAP Query aracına erişin: SAP ECC sisteminize giriş yapın.
SQVI(QuickViewer) işlem koduna gidin. 2. Yeni sorgu oluşturun: Sorgunuz için örneğinZ_R2R_PERIOD_CLOSEadını girin ve 'Oluştur' seçeneğine tıklayın. Açılan pencerede 'Kayıttan Raporlamaya dönem sonu kapanışı veri çıkarma' gibi açıklayıcı bir başlık girin. 'Veri kaynağı' olarak 'Tablo birleştirme' seçeneğini belirleyin. 3. Tabloları birleştirin: Önce ana tabloBKPF(Muhasebe belgesi başlığı) tablosunu ekleyin. ArdındanBSEG(Muhasebe belgesi kalemi) tablosunu ekleyin. SAP, birleştirme koşullarını (MANDT, BUKRS, BELNR, GJAHR) otomatik olarak önerir. Bunları kontrol edip kabul edin. Dönem açılış ve kapanış etkinlikleri içinCDHDRileCDPOStablolarını birleştiren ayrı bir sorgu gerekir. 4. Çıktı alanlarını seçin (Liste alanları): 'Liste alanı seçimi' sekmesine gidin. Event Log için gereken alanları mevcut tablolardan seçin. BunlaraBKPF-BUKRS,BKPF-BELNR,BKPF-GJAHR,BKPF-MONAT,BKPF-CPUDT,BKPF-CPUTM,BKPF-USNAM,BKPF-BLART,BSEG-HKONT,BSEG-DMBTRve gerektiğinde diğer alanlar dahildir. 5. Giriş parametrelerini tanımlayın (Seçim alanları): 'Seçim alanları' sekmesine gidin. Sorgu çalışırken verileri filtrelemek için kullanılacak alanları seçin. En önemli alanlarBKPF-BUKRS(Şirket kodu) veBKPF-GJAHR(Mali yıl) alanlarıdır.BKPF-MONAT(Kayıt dönemi) veBKPF-BLART(Belge türü) alanlarını da ekleyebilirsiniz. 6. Her etkinlik için varyant oluşturun: SQVI, SQL UNION gibi farklı veri seçimlerini birleştiremediğinden sorguyu birden çok kez çalıştırmanız gerekir. Her etkinlik için (ör. 'Tahakkuk veya karşılık kaydedildi') sorguyu çalıştırın ve seçim ekranında tahakkuklarla ilgili belge türlerinin listesi gibi filtre değerlerini girin. Bu seçim ölçütlerini varyant olarak kaydedin. Çıkarılabilir her etkinlik için bu işlemi tekrarlayın. 7. Sorguyu çalıştırıp verileri çıkarın: Sorguyu oluşturduğunuz her varyant için çalıştırın. Böylece ilgili etkinliğe özgü filtreler uygulanır. 8. Sonuçları dışa aktarın: Sonuç ekranında verileri yerel bir dosyaya aktarın. En yaygın biçim 'Elektronik tablo’dur. Her varyant için dışa aktarma işlemini tekrarlayın. 9. Verileri birleştirip dönüştürün: Dışa aktarılan dosyaları bir elektronik tablo programında açın veya bir betik aracı kullanın. Tüm dosyalardaki verileri tek bir ana dosyada birleştirin. 10. Sabit ve hesaplanmış sütunlar ekleyin: Birleştirilmiş dosyaya SAP tablolarından doğrudan alınmayan sütunları ekleyin. Bunlar arasındaActivityName(verinin hangi varyanttan geldiğine göre elle belirleyin),FinancialPeriod(mali yıl ile dönemi birleştirerek oluşturun),EventTime(tarih ve saat alanlarını birleştirerek oluşturun),SourceSystemveLastDataUpdatebulunur. 11. Yükleme için biçimlendirin: Son dosyayı, süreç aracınızın gerektirdiği doğru sütun başlıklarıyla CSV veya Excel biçiminde kaydedin. Yüklemeden önce veri türlerini ve biçimlendirmeyi kontrol edin.
Yapılandırma
- Veri kaynağı: SAP Query’de (SQVI) tablo birleştirme. Temel tablolar BKPF, BSEG, CDHDR ve CDPOS’tur. * Tarih aralığı: Örüntüleri belirlemek için en az 3 ila 6 tam mali döneme ait verileri çıkarmanız önerilir.
BKPF-GJAHR(Mali yıl) veBKPF-MONAT(Dönem) alanlarına filtre uygulayın. * Şirket kodu filtresi: Veri hacmini sınırlamak ve analizi belirli tüzel kişiliklere odaklamak için her zamanBKPF-BUKRS(Şirket kodu) alanına filtre uygulayın. Tüm şirket kodlarını tek seferde çıkarmanız önerilmez. * Belge türü filtresi: Tahakkuk, düzeltme veya ters kayıt gibi belirli etkinlikleri ayırmak içinBKPF-BLART(Belge türü) alanına filtre uygulayın. Kuruluşunuzda kullanılan belge türlerini belirlemeniz gerekir. * Ön koşullar: Veri çıkarma işlemini yapan kullanıcınınSQVIişlem kodunu kullanma ve ilgili finans tablolarını görüntüleme yetkisi olmalıdır (ör. S_TABU_DIS yetkilendirme nesnesi). * Performans: BKPF ve BSEG tablolarını birleştirmek sistem kaynaklarını yoğun kullanabilir. Veri çıkarma işlemini yoğun olmayan saatlerde çalıştırın. Bellek sorunlarına veya zaman aşımına yol açabileceğinden geniş tarih aralıkları kullanmaktan ve şirket kodu filtresini boş bırakmaktan kaçının.
Örnek sorgu sql
/*
LOGICAL REPRESENTATION FOR SAP QUERY (SQVI)
This is not a single executable script. Due to limitations in SQVI, you must create a base query joining BKPF and BSEG, then run it multiple times using different selection screen variants to extract each activity below. The results must be combined manually.
A separate query joining CDHDR and CDPOS is needed for period open/close activities.
*/
-- Activity 1: Period Opened For Posting
-- Required Query: Join CDHDR and CDPOS in SQVI.
SELECT
CONCAT(T001B.VONJ1, T001B.POPER) AS FinancialPeriod,
'Period Opened For Posting' AS ActivityName,
TO_TIMESTAMP(CONCAT(CDHDR.UDATE, CDHDR.UTIME), 'YYYYMMDDHH24MISS') AS EventTime,
'[SAP ECC SID]' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
T001B.BUKRS AS BUKRS,
NULL AS BELNR,
CDHDR.USERNAME AS USNAM,
NULL AS HKONT,
NULL AS BLART,
NULL AS DMBTR,
NULL AS JournalEntryType
FROM CDHDR
JOIN CDPOS ON CDHDR.CHANGENR = CDPOS.CHANGENR
JOIN T001B ON SUBSTRING(CDPOS.TABKEY, 4, 4) = T001B.BUKRS
WHERE CDHDR.OBJECTCLAS = 'DEBI_BUKRS' AND CDPOS.TABNAME = 'T001B' AND CDPOS.FNAME = 'OFPER' AND CDPOS.VALUE_NEW > CDPOS.VALUE_OLD;
UNION ALL
-- Activity 2: Accrual Or Provision Posted
SELECT
CONCAT(BKPF.GJAHR, BKPF.MONAT) AS FinancialPeriod,
'Accrual Or Provision Posted' AS ActivityName,
TO_TIMESTAMP(CONCAT(BKPF.CPUDT, BKPF.CPUTM), 'YYYYMMDDHH24MISS') AS EventTime,
'[SAP ECC SID]' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
BKPF.BUKRS AS BUKRS,
BKPF.BELNR AS BELNR,
BKPF.USNAM AS USNAM,
BSEG.HKONT AS HKONT,
BKPF.BLART AS BLART,
BSEG.DMBTR AS DMBTR,
'Accrual' AS JournalEntryType
FROM BKPF
JOIN BSEG ON BKPF.BUKRS = BSEG.BUKRS AND BKPF.BELNR = BSEG.BELNR AND BKPF.GJAHR = BSEG.GJAHR
WHERE BKPF.BLART IN ('SA', '[Your Accrual Doc Type]'); -- Filter by document types used for accruals
UNION ALL
-- Activity 3: Intercompany Document Cleared
SELECT
CONCAT(BKPF.GJAHR, BKPF.MONAT) AS FinancialPeriod,
'Intercompany Document Cleared' AS ActivityName,
TO_TIMESTAMP(CONCAT(BKPF.CPUDT, BKPF.CPUTM), 'YYYYMMDDHH24MISS') AS EventTime,
'[SAP ECC SID]' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
BKPF.BUKRS AS BUKRS,
BKPF.AUGBL AS BELNR, -- The clearing document number
BKPF.USNAM AS USNAM,
BSEG.HKONT AS HKONT,
BKPF.BLART AS BLART,
BSEG.DMBTR AS DMBTR,
'Clearing' AS JournalEntryType
FROM BKPF
JOIN BSEG ON BKPF.BUKRS = BSEG.BUKRS AND BKPF.BELNR = BSEG.BELNR AND BKPF.GJAHR = BSEG.GJAHR
WHERE BSEG.AUGBL IS NOT NULL AND BSEG.VBUND IS NOT NULL; -- Identify cleared items with an intercompany trading partner
UNION ALL
-- Activity 4: Foreign Currency Valuation Run
SELECT
CONCAT(BKPF.GJAHR, BKPF.MONAT) AS FinancialPeriod,
'Foreign Currency Valuation Run' AS ActivityName,
TO_TIMESTAMP(CONCAT(BKPF.CPUDT, BKPF.CPUTM), 'YYYYMMDDHH24MISS') AS EventTime,
'[SAP ECC SID]' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
BKPF.BUKRS AS BUKRS,
BKPF.BELNR AS BELNR,
BKPF.USNAM AS USNAM,
BSEG.HKONT AS HKONT,
BKPF.BLART AS BLART,
BSEG.DMBTR AS DMBTR,
'Valuation' AS JournalEntryType
FROM BKPF
JOIN BSEG ON BKPF.BUKRS = BSEG.BUKRS AND BKPF.BELNR = BSEG.BELNR AND BKPF.GJAHR = BSEG.GJAHR
WHERE BKPF.TCODE IN ('FAGL_FCV', 'FBB1'); -- Filter by FCV transaction code
UNION ALL
-- Activity 5: GR/IR Clearing Run Executed
SELECT
CONCAT(BKPF.GJAHR, BKPF.MONAT) AS FinancialPeriod,
'GR/IR Clearing Run Executed' AS ActivityName,
TO_TIMESTAMP(CONCAT(BKPF.CPUDT, BKPF.CPUTM), 'YYYYMMDDHH24MISS') AS EventTime,
'[SAP ECC SID]' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
BKPF.BUKRS AS BUKRS,
BKPF.BELNR AS BELNR,
BKPF.USNAM AS USNAM,
BSEG.HKONT AS HKONT,
BKPF.BLART AS BLART,
BSEG.DMBTR AS DMBTR,
'Clearing' AS JournalEntryType
FROM BKPF
JOIN BSEG ON BKPF.BUKRS = BSEG.BUKRS AND BKPF.BELNR = BSEG.BELNR AND BKPF.GJAHR = BSEG.GJAHR
WHERE BKPF.TCODE IN ('F.13', 'F13E'); -- Filter by automated clearing transaction codes
UNION ALL
-- Activity 6: Account Reconciliation Started (Proxy)
-- This is a proxy. It takes the earliest adjusting journal entry timestamp for the period.
SELECT
A.FinancialPeriod,
'Account Reconciliation Started' AS ActivityName,
MIN(A.EventTime) AS EventTime,
'[SAP ECC SID]' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
A.BUKRS,
NULL AS BELNR,
NULL AS USNAM,
NULL AS HKONT,
NULL AS BLART,
NULL AS DMBTR,
NULL AS JournalEntryType
FROM (
SELECT CONCAT(BKPF.GJAHR, BKPF.MONAT) AS FinancialPeriod,
TO_TIMESTAMP(CONCAT(BKPF.CPUDT, BKPF.CPUTM), 'YYYYMMDDHH24MISS') AS EventTime,
BKPF.BUKRS
FROM BKPF
WHERE BKPF.BLART IN ('AB', '[Your Adjusting Doc Type]')
) AS A
GROUP BY A.FinancialPeriod, A.BUKRS;
UNION ALL
-- Activity 7: Adjusting Journal Entry Posted
SELECT
CONCAT(BKPF.GJAHR, BKPF.MONAT) AS FinancialPeriod,
'Adjusting Journal Entry Posted' AS ActivityName,
TO_TIMESTAMP(CONCAT(BKPF.CPUDT, BKPF.CPUTM), 'YYYYMMDDHH24MISS') AS EventTime,
'[SAP ECC SID]' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
BKPF.BUKRS AS BUKRS,
BKPF.BELNR AS BELNR,
BKPF.USNAM AS USNAM,
BSEG.HKONT AS HKONT,
BKPF.BLART AS BLART,
BSEG.DMBTR AS DMBTR,
'Adjusting' AS JournalEntryType
FROM BKPF
JOIN BSEG ON BKPF.BUKRS = BSEG.BUKRS AND BKPF.BELNR = BSEG.BELNR AND BKPF.GJAHR = BSEG.GJAHR
WHERE BKPF.BLART IN ('AB', '[Your Adjusting Doc Type]'); -- Filter by document types for adjustments
UNION ALL
-- Activity 8: Reversal Entry Posted
SELECT
CONCAT(BKPF.GJAHR, BKPF.MONAT) AS FinancialPeriod,
'Reversal Entry Posted' AS ActivityName,
TO_TIMESTAMP(CONCAT(BKPF.CPUDT, BKPF.CPUTM), 'YYYYMMDDHH24MISS') AS EventTime,
'[SAP ECC SID]' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
BKPF.BUKRS AS BUKRS,
BKPF.BELNR AS BELNR,
BKPF.USNAM AS USNAM,
BSEG.HKONT AS HKONT,
BKPF.BLART AS BLART,
BSEG.DMBTR AS DMBTR,
'Reversal' AS JournalEntryType
FROM BKPF
JOIN BSEG ON BKPF.BUKRS = BSEG.BUKRS AND BKPF.BELNR = BSEG.BELNR AND BKPF.GJAHR = BSEG.GJAHR
WHERE BKPF.STBLG IS NOT NULL; -- STBLG (Reversed Document Number) is populated for reversals
UNION ALL
-- Activity 9: Period Closed For Posting
-- Required Query: Join CDHDR and CDPOS in SQVI.
SELECT
CONCAT(T001B.VONJ1, T001B.POPER) AS FinancialPeriod,
'Period Closed For Posting' AS ActivityName,
TO_TIMESTAMP(CONCAT(CDHDR.UDATE, CDHDR.UTIME), 'YYYYMMDDHH24MISS') AS EventTime,
'[SAP ECC SID]' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
T001B.BUKRS AS BUKRS,
NULL AS BELNR,
CDHDR.USERNAME AS USNAM,
NULL AS HKONT,
NULL AS BLART,
NULL AS DMBTR,
NULL AS JournalEntryType
FROM CDHDR
JOIN CDPOS ON CDHDR.CHANGENR = CDPOS.CHANGENR
JOIN T001B ON SUBSTRING(CDPOS.TABKEY, 4, 4) = T001B.BUKRS
WHERE CDHDR.OBJECTCLAS = 'DEBI_BUKRS' AND CDPOS.TABNAME = 'T001B' AND CDPOS.FNAME = 'OFPER' AND CDPOS.VALUE_NEW < CDPOS.VALUE_OLD;
/*
-- Activities Not Extractable via this Method
-- The following activities are not data postings and cannot be reliably extracted by querying finance tables BKPF/BSEG.
-- Extraction would require analyzing application logs (SLG1), system logs (STAT), or custom-built logging solutions.
-- Activity: Trial Balance Report Generated
-- Activity: Financial Statements Generated
-- Activity: Reconciliation Reviewed
*/ Adımlar
- Programın kapsamını ve tasarımını belirleyin: Gerekli 12 etkinliğin her birini belirleyecek mantığı tanımlayın. SAP ECC ortamınızda dönem sonu kapanış etkinlikleriyle ilişkili belge türlerini, büyük defter hesaplarını ve program adlarını doğrulamak için iş süreci sahiplerine ve SAP işlevsel analistlerine danışın.
- ABAP programı oluşturun:
SE38(ABAP Editor) işlem kodunu kullanarak yeni bir çalıştırılabilir program oluşturun; örneğinZ_PM_R2R_EXTRACTION. Açıklayıcı bir başlık girin ve program türünü 'Çalıştırılabilir program' olarak ayarlayın. - Seçim ekranını tanımlayın: Programda
PARAMETERSveSELECT-OPTIONSkullanarak bir seçim ekranı oluşturun. Bu ekranda kullanıcılar çıkarma kapsamını; şirket kodu (BUKRS), mali yıl (GJAHR) ve kayıt dönemi (MONAT) bilgilerini belirtebilir. Bu, veri hacmini denetlemek için önemlidir. - Veri yapılarını tanımlayın: Son Event Log verilerini tutacak bir dahili tablo yapısı tanımlayın. Bu yapıda gerekli ve önerilen tüm öznitelikler bulunmalıdır:
FinancialPeriod,ActivityName,EventTime,SourceSystem,LastDataUpdate,BUKRS,BELNR,USNAM,HKONT,BLART,DMBTRveJournalEntryType. - Veri çıkarma mantığını uygulayın: Gerekli 12 etkinliğin her biri için veri seçecek temel ABAP mantığını yazın. Her etkinlik için ilgili SAP tablolarını (ör. BKPF, BSEG, TBTCO, CDHDR) sorgulayın ve sonuçları bir ara dahili tabloya aktarın. Ekteki ABAP sorgusu bölümündeki mantığı şablon olarak kullanın.
- Çıkarımla belirlenen etkinlikleri tanımlayın: 'Hesap mutabakatı başlatıldı' veya 'Mutabakat incelendi' gibi SAP’de standart olarak kaydedilmeyen etkinlikler için üzerinde anlaşılmış çıkarım mantığını uygulayın. Belirli bir raporun ilk çalıştırmasını kontrol etmeniz veya varsa özel 'Z tablolarını' sorgulamanız gerekebilir.
- Olay verilerini birleştirin: Tüm etkinliklerin verilerini çıkardıktan sonra her ara tablodaki kayıtları son birleştirilmiş dahili tabloya ekleyin.
EventTimealanının belge kayıt tarihi ve saati ya da iş başlangıç tarihi ve saati gibi ilgili kaynak alanından doğru biçimde doldurulduğundan emin olun. - Verileri standartlaştırıp biçimlendirin: Çıktıyı oluşturmadan önce temel alanları standartlaştırın. Mali yıl ile dönemi birleştirerek
FinancialPeriodkimliğini oluşturun.SourceSystemveLastDataUpdatealanlarına sabit değerler atayın. Zaman damgalarının tutarlı bir biçimde olduğundan emin olun. - Çıktı işlevini geliştirin: Son dahili tabloyu dışa aktarmak için programa işlev ekleyin. En yaygın yöntem, verileri SAP Application Server üzerinde CSV veya sekmeyle ayrılmış dosyaya yazmak (
OPEN DATASET) ya da kullanıcının dosyayı doğrudan kendi bilgisayarına indirmesini sağlamaktır (GUI_DOWNLOADişlev modülünü kullanarak). - Test edip doğrulayın: Programı birden çok şirket kodunu ve dönemi kapsayan temsili bir Veri Setiyle kapsamlı biçimde test edin. Verilerin doğruluğunu ve eksiksizliğini kontrol etmek için doğrulama adımlarını uygulayın. İşlevsel uzmanlardan gelen geri bildirimlere göre seçim mantığını iyileştirin.
- Çalıştırmayı zamanlayın (isteğe bağlı): Doğrulama tamamlandıktan sonra programı
SM36işlem koduyla arka plan işi olarak zamanlayabilirsiniz. Böylece Event Log düzenli aralıklarla, elle müdahale gerekmeden otomatik olarak çıkarılır.
Yapılandırma
- Seçim ölçütleri: Programda verileri filtrelemek için bir seçim ekranı bulunmalıdır. Temel filtreler şunlardır:
Şirket kodu (BUKRS): Kapsamı ilgili tüzel kişiliklerle sınırlamak için zorunludur.Mali yıl (GJAHR): Veri çıkarılacak ana yılı belirlemek için zorunludur.Kayıt dönemi (MONAT): Belirli mali dönemleri seçmek için zorunludur.
- Etkinliğe özel yapılandırma: Birçok seçim, SAP sisteminizin yapılandırmasına bağlıdır. Bunları programda parametre veya sabit olarak yapılandırabilirsiniz:
Tahakkuk/karşılık belge türleri: Tahakkuk ve karşılık kayıtlarını belirlemek için kullanılan belge türlerinin (BLART) listesi.Düzeltme kaydı belge türleri: Düzeltme yevmiye kayıtlarını belirlemek için kullanılan belge türlerinin listesi.Arka plan işi/program adları: Yabancı para değerlemesi (ör.FAGL_FCV), GR/IR mahsuplaştırması (ör.SAPF124), mizan raporları ve finansal tablo oluşturma (ör.RFBILA00) için kullanılan programların teknik adları.
- Tarih aralığı: Temel seçim mali yıl ve döneme göre yapılsa da mantık, olayların tam tarih ve saatini dikkate almalıdır. İlk analiz için son 3 ila 6 tamamlanmış mali döneme ait verilerin çıkarılması önerilir.
- Performans: Büyük SAP ortamlarında program performansı önemlidir. Veritabanı seçimlerinde, özellikle
BKPFveBSEGgibi tablolarda dizin alanlarının kullanıldığından emin olun. Tüm alanları seçmekten (SELECT *) kaçının ve gerekirse verileri yönetilebilir paketler hâlinde işleyin. - Yetkilendirmeler: Programı çalıştıran kullanıcının veya hizmet hesabının sorgulanan tüm tablolara (
BKPF,BSEG,TBTCO,TBTCP,CDHDR,CDPOS) erişme veSE38(geliştirme),SM37/SM36(zamanlama ve izleme) gibi işlem kodlarını kullanma yetkisi olmalıdır.
Örnek sorgu abap
REPORT Z_PM_R2R_EXTRACTION.
" ====================================================================
" DATA DECLARATIONS
" ====================================================================
TYPES: BEGIN OF ty_event_log,
FinancialPeriod TYPE string,
ActivityName TYPE string,
EventTime TYPE timestamp,
SourceSystem TYPE string,
LastDataUpdate TYPE timestamp,
BUKRS TYPE bukrs,
BELNR TYPE belnr_d,
USNAM TYPE usnam,
HKONT TYPE hkont,
BLART TYPE blart,
DMBTR TYPE dmbtr,
JournalEntryType TYPE string,
END OF ty_event_log.
DATA: lt_final_log TYPE STANDARD TABLE OF ty_event_log,
ls_log_entry LIKE LINE OF lt_final_log.
DATA: lv_source_system TYPE string VALUE 'SAP ECC'.
GET TIME STAMP FIELD ls_log_entry-LastDataUpdate.
" ====================================================================
" SELECTION SCREEN
" ====================================================================
SELECT-OPTIONS: s_bukrs FOR ls_log_entry-bukrs OBLIGATORY,
s_gjahr FOR bkpf-gjahr OBLIGATORY,
s_monat FOR bkpf-monat OBLIGATORY.
PARAMETERS: p_accrl TYPE blart DEFAULT 'SA', " Example Doc Type for Accruals
p_adjst TYPE blart DEFAULT 'AJ', " Example Doc Type for Adjustments
p_fcv TYPE btcjob DEFAULT 'FAGL_FCV*', " Program for FC Valuation
p_grir TYPE btcjob DEFAULT 'SAPF124*', " Program for GR/IR Clearing
p_fs TYPE btcjob DEFAULT 'RFBILA00'. " Program for Fin. Statements
" ====================================================================
" MAIN LOGIC
" ====================================================================
START-OF-SELECTION.
" --- 1. Period Opened For Posting ---
" Note: This is complex. This example queries change documents for posting period config (T001B).
SELECT h~objectid, h~udate, h~utime, h~username
INTO TABLE @DATA(lt_period_open)
FROM cdhdr AS h
WHERE h~objectclas = 'V_T001B' AND h~change_ind = 'U'.
LOOP AT lt_period_open INTO DATA(ls_period_open).
" Further logic needed to parse OBJECTID and check CDPOS for opening a period.
" This is a simplified placeholder for a complex logic.
ls_log_entry-ActivityName = 'Period Opened For Posting'.
" Populate other fields... append to lt_final_log
ENDLOOP.
" --- 2. Accrual Or Provision Posted ---
SELECT h~bukrs, h~belnr, h~gjahr, h~monat, h~blart, h~usnam, h~cputm, h~cpudt, i~hkont, i~dmbtr
FROM bkpf AS h JOIN bseg AS i ON h~belnr = i~belnr AND h~bukrs = i~bukrs AND h~gjahr = i~gjahr
INTO CORRESPONDING FIELDS OF TABLE @DATA(lt_accrual)
WHERE h~bukrs IN @s_bukrs AND h~gjahr IN @s_gjahr AND h~monat IN @s_monat AND h~blart = @p_accrl.
LOOP AT lt_accrual INTO DATA(ls_accrual).
CLEAR ls_log_entry.
CONVERT DATE ls_accrual-cpudt TIME ls_accrual-cputm INTO TIME STAMP ls_log_entry-EventTime TIME ZONE sy-zonlo.
CONCATENATE ls_accrual-gjahr ls_accrual-monat INTO ls_log_entry-FinancialPeriod.
ls_log_entry-ActivityName = 'Accrual Or Provision Posted'.
ls_log_entry-BUKRS = ls_accrual-bukrs.
ls_log_entry-BELNR = ls_accrual-belnr.
ls_log_entry-USNAM = ls_accrual-usnam.
ls_log_entry-HKONT = ls_accrual-hkont.
ls_log_entry-BLART = ls_accrual-blart.
ls_log_entry-DMBTR = ls_accrual-dmbtr.
ls_log_entry-JournalEntryType = 'Accrual'.
GET TIME STAMP FIELD ls_log_entry-LastDataUpdate.
ls_log_entry-SourceSystem = lv_source_system.
APPEND ls_log_entry TO lt_final_log.
ENDLOOP.
" --- 3. Intercompany Document Cleared ---
SELECT h~bukrs, h~belnr, h~gjahr, h~monat, h~blart, h~usnam, h~cputm, h~cpudt, i~hkont, i~dmbtr
FROM bkpf AS h JOIN bseg AS i ON h~belnr = i~belnr AND h~bukrs = i~bukrs AND h~gjahr = i~gjahr
INTO CORRESPONDING FIELDS OF TABLE @DATA(lt_ic_clear)
WHERE h~bukrs IN @s_bukrs AND h~gjahr IN @s_gjahr AND h~monat IN @s_monat
AND h~blart = 'AB' AND i~vbund <> space.
LOOP AT lt_ic_clear INTO DATA(ls_ic_clear).
" Populate ls_log_entry and append to lt_final_log, setting ActivityName = 'Intercompany Document Cleared'
ENDLOOP.
" --- 4. Foreign Currency Valuation Run ---
SELECT j~jobname, j~sdlstrtda, j~sdlstrttm, j~sdluname
INTO TABLE @DATA(lt_fcv_jobs)
FROM tbtco AS j
WHERE j~jobname LIKE @p_fcv AND j~status = 'F'. " F = Finished
LOOP AT lt_fcv_jobs INTO DATA(ls_fcv_job).
" Populate ls_log_entry, deriving FinancialPeriod from date, setting ActivityName = 'Foreign Currency Valuation Run'
ENDLOOP.
" --- 5. GR/IR Clearing Run Executed ---
SELECT j~jobname, j~sdlstrtda, j~sdlstrttm, j~sdluname
INTO TABLE @DATA(lt_grir_jobs)
FROM tbtco AS j
WHERE j~jobname LIKE @p_grir AND j~status = 'F'.
LOOP AT lt_grir_jobs INTO DATA(ls_grir_job).
" Populate ls_log_entry, deriving FinancialPeriod from date, setting ActivityName = 'GR/IR Clearing Run Executed'
ENDLOOP.
" --- 6. Account Reconciliation Started (Inferred) ---
" Note: Inferring this by first run of a report, e.g., FAGLB03. Requires custom logging or complex logic.
" Placeholder: Query a custom log table if available.
" SELECT ... FROM zreco_log ...
" --- 7. Adjusting Journal Entry Posted ---
SELECT h~bukrs, h~belnr, h~gjahr, h~monat, h~blart, h~usnam, h~cputm, h~cpudt, i~hkont, i~dmbtr
FROM bkpf AS h JOIN bseg AS i ON h~belnr = i~belnr AND h~bukrs = i~bukrs AND h~gjahr = i~gjahr
INTO CORRESPONDING FIELDS OF TABLE @DATA(lt_adjust)
WHERE h~bukrs IN @s_bukrs AND h~gjahr IN @s_gjahr AND h~monat IN @s_monat AND h~blart = @p_adjst.
LOOP AT lt_adjust INTO DATA(ls_adjust).
" Populate ls_log_entry and append, setting ActivityName = 'Adjusting Journal Entry Posted', JournalEntryType = 'Adjusting'
ENDLOOP.
" --- 8. Reversal Entry Posted ---
SELECT h~bukrs, h~belnr, h~gjahr, h~monat, h~blart, h~usnam, h~cputm, h~cpudt, i~hkont, i~dmbtr
FROM bkpf AS h JOIN bseg AS i ON h~belnr = i~belnr AND h~bukrs = i~bukrs AND h~gjahr = i~gjahr
INTO CORRESPONDING FIELDS OF TABLE @DATA(lt_reversal)
WHERE h~bukrs IN @s_bukrs AND h~gjahr IN @s_gjahr AND h~monat IN @s_monat AND h~stblg <> space.
LOOP AT lt_reversal INTO DATA(ls_reversal).
" Populate ls_log_entry and append, setting ActivityName = 'Reversal Entry Posted', JournalEntryType = 'Reversal'
ENDLOOP.
" --- 9. Trial Balance Report Generated (Inferred from Job) ---
" Similar to other jobs, query TBTCO for Trial Balance report programs.
" SELECT ... FROM tbtco ... WHERE jobname LIKE '[Your Trial Balance Program]'.
" --- 10. Financial Statements Generated ---
SELECT j~jobname, j~sdlstrtda, j~sdlstrttm, j~sdluname
INTO TABLE @DATA(lt_fs_jobs)
FROM tbtco AS j
WHERE j~jobname LIKE @p_fs AND j~status = 'F'.
LOOP AT lt_fs_jobs INTO DATA(ls_fs_job).
" Populate ls_log_entry, deriving FinancialPeriod from date, setting ActivityName = 'Financial Statements Generated'
ENDLOOP.
" --- 11. Reconciliation Reviewed (Inferred) ---
" Note: This activity is almost always managed outside of SAP or in a custom solution.
" Placeholder: Query a custom approval/log table if available.
" SELECT ... FROM zreco_approval ...
" --- 12. Period Closed For Posting ---
" Note: Similar to 'Period Opened', this is very complex. Query change documents for T001B.
SELECT h~objectid, h~udate, h~utime, h~username
INTO TABLE @DATA(lt_period_close)
FROM cdhdr AS h
WHERE h~objectclas = 'V_T001B' AND h~change_ind = 'U'.
LOOP AT lt_period_close INTO DATA(ls_period_close).
" Further logic needed to parse OBJECTID and check CDPOS for closing a period.
ls_log_entry-ActivityName = 'Period Closed For Posting'.
" Populate other fields... append to lt_final_log
ENDLOOP.
" ... Code to display or download the lt_final_log internal table ...
ENDFORMS. Adımlar
- Ön koşulları sağlayın: Temel SAP ECC veritabanı için salt okunur erişim bilgilerini alın. Genellikle
SAPSR3olan veya veritabanı yöneticinizin bildirdiği doğru veritabanı şemasını belirleyin. - Sistem yapılandırmasını belirleyin: Analiz etmeniz gereken
Şirket Kodlarını(BUKRS) ve mali dönemleri öğrenmek için SAP Finans ekibinize danışın. Ayrıca sisteminizde 'Tahakkuk veya karşılık kaydedildi', 'Düzeltme yevmiye kaydı oluşturuldu' ve 'Şirketler arası' işlemler için kullanılanBelge Türlerini(BLART) belirleyin. - Program ve iş adlarını doğrulayın: Yabancı para değerlemesi (ör.
FAGL_FCV), GR/IR mahsuplaştırması (ör.SAPF124), mizan raporları (ör.RFBILA00) ve finansal tablo oluşturma (ör.RFBILA00) gibi önemli toplu işler için program adlarını doğrulayın. Bu adlarıSM37işlem kodundaki zamanlanmış işleri inceleyerek bulabilirsiniz. - SQL sorgusunu özelleştirin: Sağlanan SQL sorgusunu bir metin düzenleyiciye veya SQL istemcisine kopyalayın.
{{start_date}},{{end_date}}ve{{company_codes}}yer tutucularını analizinizde kullanacağınız gerçek değerlerle değiştirin. Önceki adımlarda edindiğiniz bilgilere göre belge türü ve program adı listelerini güncelleyin. - Veritabanına bağlanın: Aldığınız erişim bilgilerini kullanarak SAP veritabanına DBeaver, SQL Server Management Studio veya Oracle SQL Developer gibi standart bir SQL istemcisiyle bağlanın.
- Sorguyu çalıştırın: Özelleştirilmiş SQL sorgusunu veritabanında çalıştırın. Tarih aralığına ve finans tablolarınızın boyutuna bağlı olarak sorgunun tamamlanması uzun sürebilir.
- İlk sonuçları inceleyin: Sorgu tamamlandığında çıktıyı kısaca kontrol edin. Satır sayısının makul olduğuna, tüm sütunların bulunduğuna ve sonuçlarda farklı
ActivityNamedeğerlerinin yer aldığına bakın. - Verileri dışa aktarın: Sonuç kümesinin tamamını SQL istemcinizden CSV dosyasına aktarın. Karakter sorunlarını önlemek için dosyayı UTF-8 kodlamasıyla kaydedin.
- Yüklemeye hazırlanın: Süreç aracınıza yüklemeden önce CSV dosyasındaki sütun başlıklarının gerekli öznitelik adlarıyla (
FinancialPeriod,ActivityName,EventTimevb.) tam olarak eşleştiğini doğrulayın.EventTimesütunununYYYY-MM-DD HH:MI:SSgibi tutarlı bir zaman damgası biçiminde olduğundan da emin olun.
Yapılandırma
- Veritabanı erişim bilgileri: Temel SAP finans ve sistem tablolarına erişebilen, salt okunur bir veritabanı kullanıcısı gerekir. Bu tablolar arasında
BKPF,BSEG,TBTCO,CDHDRveCDPOSbulunur. - Tarih aralığı: Anlamlı süreç farklılıklarını görebilmek için en az 3 ila 6 tam mali döneme ait verileri çıkarmanızı öneririz. Tarih aralığı genişledikçe sorgunun çalışma süresinin önemli ölçüde uzayacağını göz önünde bulundurun.
- Şirket kodları (
BUKRS): Her zaman belirli bir şirket kodu listesine göre filtre uygulayın. Büyük bir sistemde sorguyu tüm şirket kodları için çalıştırmak uygulanabilir değildir ve büyük olasılıkla performans sorunlarına yol açar. - Belge türleri (
BLART): Tahakkuk ve düzeltme gibi yevmiye kaydı türlerini belirlemek, tamamen kuruluşunuzun SAP yapılandırmasına bağlıdır. Etkinlikleri doğru sınıflandırmak için sorgununWHEREkoşullarına doğru belge türü kodlarını eklemeniz gerekir. - Program ve iş adları: Sorguda otomatik kapanış adımları için yaygın program adları kullanılır. Sisteminizde özel sarmalayıcı programlar veya farklı iş adları olabilir. Bunları
SM37işlem kodunda doğrulayın ve sorguyu buna göre güncelleyin. - Performans: Bu sorgu, özellikle
BSEGveCDPOSolmak üzere çok büyük tablolara erişir. Sistem performansını etkilememek için veri çıkarma işlemini mesai saatleri dışında çalıştırmanız önemle önerilir. Çalışma süresini yönetmenin en etkili yolu, tarih aralığını ve şirket kodu filtrelerini dar tutmaktır.
Örnek sorgu sql
SELECT
CONCAT(CAST(b.GJAHR AS VARCHAR(4)), '-', RIGHT(CONCAT('00', b.MONAT), 2)) AS FinancialPeriod,
'Period Opened For Posting' AS ActivityName,
c.UDATE + c.UTIME AS EventTime,
'SAP_ECC' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
p.TABKEY AS CompanyCode,
NULL AS DocumentNumber,
c.USERNAME AS ResponsibleUser,
NULL AS GLAccount,
NULL AS DocumentType,
NULL AS AmountInLocalCurrency,
NULL AS JournalEntryType
FROM CDHDR c
JOIN CDPOS p ON c.OBJECTCLAS = p.OBJECTCLAS AND c.OBJECTID = p.OBJECTID AND c.CHANGENR = p.CHANGENR
WHERE c.OBJECTCLAS = 'V_T001B'
AND p.TABNAME = 'T001B'
AND p.FNAME = 'FRPE1'
AND c.UDATE BETWEEN '{{start_date}}' AND '{{end_date}}'
UNION ALL
SELECT
CONCAT(CAST(b.GJAHR AS VARCHAR(4)), '-', RIGHT(CONCAT('00', b.MONAT), 2)) AS FinancialPeriod,
'Period Closed For Posting' AS ActivityName,
c.UDATE + c.UTIME AS EventTime,
'SAP_ECC' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
p.TABKEY AS CompanyCode,
NULL AS DocumentNumber,
c.USERNAME AS ResponsibleUser,
NULL AS GLAccount,
NULL AS DocumentType,
NULL AS AmountInLocalCurrency,
NULL AS JournalEntryType
FROM CDHDR c
JOIN CDPOS p ON c.OBJECTCLAS = p.OBJECTCLAS AND c.OBJECTID = p.OBJECTID AND c.CHANGENR = p.CHANGENR
WHERE c.OBJECTCLAS = 'V_T001B'
AND p.TABNAME = 'T001B'
AND p.FNAME = 'TOPE1'
AND c.UDATE BETWEEN '{{start_date}}' AND '{{end_date}}'
UNION ALL
SELECT
CONCAT(CAST(h.GJAHR AS VARCHAR(4)), '-', RIGHT(CONCAT('00', h.MONAT), 2)) AS FinancialPeriod,
'Accrual Or Provision Posted' AS ActivityName,
h.CPUDT + h.CPUTM AS EventTime,
'SAP_ECC' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
h.BUKRS AS CompanyCode,
h.BELNR AS DocumentNumber,
h.USNAM AS ResponsibleUser,
d.HKONT AS GLAccount,
h.BLART AS DocumentType,
d.DMBTR AS AmountInLocalCurrency,
'Accrual' AS JournalEntryType
FROM BKPF h
JOIN BSEG d ON h.MANDT = d.MANDT AND h.BUKRS = d.BUKRS AND h.BELNR = d.BELNR AND h.GJAHR = d.GJAHR
WHERE h.BUDAT BETWEEN '{{start_date}}' AND '{{end_date}}'
AND h.BUKRS IN ({{company_codes}})
AND h.BLART IN ('SA', '[Your Accrual Doc Type]')
UNION ALL
SELECT
CONCAT(CAST(h.GJAHR AS VARCHAR(4)), '-', RIGHT(CONCAT('00', h.MONAT), 2)) AS FinancialPeriod,
'Intercompany Document Cleared' AS ActivityName,
h.AUGDT AS EventTime, -- Clearing Date
'SAP_ECC' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
h.BUKRS AS CompanyCode,
h.BELNR AS DocumentNumber,
h.USNAM AS ResponsibleUser,
d.HKONT AS GLAccount,
h.BLART AS DocumentType,
d.DMBTR AS AmountInLocalCurrency,
'Clearing' AS JournalEntryType
FROM BKPF h
JOIN BSEG d ON h.MANDT = d.MANDT AND h.BUKRS = d.BUKRS AND h.BELNR = d.BELNR AND h.GJAHR = d.GJAHR
WHERE h.AUGDT BETWEEN '{{start_date}}' AND '{{end_date}}'
AND h.BUKRS IN ({{company_codes}})
AND h.BLART IN ('[Your Intercompany Doc Type]')
AND h.AUGBL IS NOT NULL
UNION ALL
SELECT
CONCAT(CAST(YEAR(j.SDLSTRTDT) AS VARCHAR(4)), '-', RIGHT(CONCAT('00', MONTH(j.SDLSTRTDT)), 2)) AS FinancialPeriod,
'Foreign Currency Valuation Run' AS ActivityName,
j.SDLSTRTDT + j.SDLSTRTTM AS EventTime,
'SAP_ECC' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
NULL AS CompanyCode,
j.JOBNAME AS DocumentNumber,
j.SDLUNAME AS ResponsibleUser,
NULL AS GLAccount,
NULL AS DocumentType,
NULL AS AmountInLocalCurrency,
NULL AS JournalEntryType
FROM TBTCO j
JOIN TBTCP p ON j.JOBNAME = p.JOBNAME AND j.JOBCOUNT = p.JOBCOUNT
WHERE p.PROGNAME = 'FAGL_FCV' OR p.PROGNAME = 'SAPF100'
AND j.SDLSTRTDT BETWEEN '{{start_date}}' AND '{{end_date}}'
AND j.STATUS = 'F' -- Finished
UNION ALL
SELECT
CONCAT(CAST(YEAR(j.SDLSTRTDT) AS VARCHAR(4)), '-', RIGHT(CONCAT('00', MONTH(j.SDLSTRTDT)), 2)) AS FinancialPeriod,
'GR/IR Clearing Run Executed' AS ActivityName,
j.SDLSTRTDT + j.SDLSTRTTM AS EventTime,
'SAP_ECC' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
NULL AS CompanyCode,
j.JOBNAME AS DocumentNumber,
j.SDLUNAME AS ResponsibleUser,
NULL AS GLAccount,
NULL AS DocumentType,
NULL AS AmountInLocalCurrency,
NULL AS JournalEntryType
FROM TBTCO j
JOIN TBTCP p ON j.JOBNAME = p.JOBNAME AND j.JOBCOUNT = p.JOBCOUNT
WHERE p.PROGNAME = 'SAPF124' -- Program for F.13
AND j.SDLSTRTDT BETWEEN '{{start_date}}' AND '{{end_date}}'
AND j.STATUS = 'F'
UNION ALL
SELECT
CONCAT(CAST(YEAR(j.SDLSTRTDT) AS VARCHAR(4)), '-', RIGHT(CONCAT('00', MONTH(j.SDLSTRTDT)), 2)) AS FinancialPeriod,
'Account Reconciliation Started' AS ActivityName, -- Proxy event
j.SDLSTRTDT + j.SDLSTRTTM AS EventTime,
'SAP_ECC' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
NULL AS CompanyCode,
j.JOBNAME AS DocumentNumber,
j.SDLUNAME AS ResponsibleUser,
NULL AS GLAccount,
NULL AS DocumentType,
NULL AS AmountInLocalCurrency,
NULL AS JournalEntryType
FROM TBTCO j
JOIN TBTCP p ON j.JOBNAME = p.JOBNAME AND j.JOBCOUNT = p.JOBCOUNT
WHERE p.PROGNAME IN ('FAGLL03', 'FBL3N') -- Common reconciliation reports
AND j.SDLSTRTDT BETWEEN '{{start_date}}' AND '{{end_date}}'
AND j.STATUS = 'F'
UNION ALL
SELECT
CONCAT(CAST(h.GJAHR AS VARCHAR(4)), '-', RIGHT(CONCAT('00', h.MONAT), 2)) AS FinancialPeriod,
'Adjusting Journal Entry Posted' AS ActivityName,
h.CPUDT + h.CPUTM AS EventTime,
'SAP_ECC' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
h.BUKRS AS CompanyCode,
h.BELNR AS DocumentNumber,
h.USNAM AS ResponsibleUser,
d.HKONT AS GLAccount,
h.BLART AS DocumentType,
d.DMBTR AS AmountInLocalCurrency,
'Adjusting' AS JournalEntryType
FROM BKPF h
JOIN BSEG d ON h.MANDT = d.MANDT AND h.BUKRS = d.BUKRS AND h.BELNR = d.BELNR AND h.GJAHR = d.GJAHR
WHERE h.BUDAT BETWEEN '{{start_date}}' AND '{{end_date}}'
AND h.BUKRS IN ({{company_codes}})
AND h.BLART IN ('[Your Adjusting Doc Type]')
UNION ALL
SELECT
CONCAT(CAST(h.GJAHR AS VARCHAR(4)), '-', RIGHT(CONCAT('00', h.MONAT), 2)) AS FinancialPeriod,
'Reversal Entry Posted' AS ActivityName,
h.CPUDT + h.CPUTM AS EventTime,
'SAP_ECC' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
h.BUKRS AS CompanyCode,
h.BELNR AS DocumentNumber,
h.USNAM AS ResponsibleUser,
d.HKONT AS GLAccount,
h.BLART AS DocumentType,
d.DMBTR AS AmountInLocalCurrency,
'Reversal' AS JournalEntryType
FROM BKPF h
JOIN BSEG d ON h.MANDT = d.MANDT AND h.BUKRS = d.BUKRS AND h.BELNR = d.BELNR AND h.GJAHR = d.GJAHR
WHERE h.BUDAT BETWEEN '{{start_date}}' AND '{{end_date}}'
AND h.BUKRS IN ({{company_codes}})
AND h.STBLG IS NOT NULL -- STBLG links to the reversed document
UNION ALL
SELECT
CONCAT(CAST(YEAR(j.SDLSTRTDT) AS VARCHAR(4)), '-', RIGHT(CONCAT('00', MONTH(j.SDLSTRTDT)), 2)) AS FinancialPeriod,
'Trial Balance Report Generated' AS ActivityName,
j.SDLSTRTDT + j.SDLSTRTTM AS EventTime,
'SAP_ECC' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
NULL AS CompanyCode,
j.JOBNAME AS DocumentNumber,
j.SDLUNAME AS ResponsibleUser,
NULL AS GLAccount,
NULL AS DocumentType,
NULL AS AmountInLocalCurrency,
NULL AS JournalEntryType
FROM TBTCO j
JOIN TBTCP p ON j.JOBNAME = p.JOBNAME AND j.JOBCOUNT = p.JOBCOUNT
WHERE p.PROGNAME IN ('RFSSLD00', 'S_ALR_87012310')
AND j.SDLSTRTDT BETWEEN '{{start_date}}' AND '{{end_date}}'
AND j.STATUS = 'F'
UNION ALL
SELECT
CONCAT(CAST(YEAR(j.SDLSTRTDT) AS VARCHAR(4)), '-', RIGHT(CONCAT('00', MONTH(j.SDLSTRTDT)), 2)) AS FinancialPeriod,
'Financial Statements Generated' AS ActivityName,
j.SDLSTRTDT + j.SDLSTRTTM AS EventTime,
'SAP_ECC' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
NULL AS CompanyCode,
j.JOBNAME AS DocumentNumber,
j.SDLUNAME AS ResponsibleUser,
NULL AS GLAccount,
NULL AS DocumentType,
NULL AS AmountInLocalCurrency,
NULL AS JournalEntryType
FROM TBTCO j
JOIN TBTCP p ON j.JOBNAME = p.JOBNAME AND j.JOBCOUNT = p.JOBCOUNT
WHERE p.PROGNAME = 'RFBILA00' -- Program for F.01
AND j.SDLSTRTDT BETWEEN '{{start_date}}' AND '{{end_date}}'
AND j.STATUS = 'F'
-- UNION ALL
-- Note: 'Reconciliation Reviewed' is typically not a standard, logged event in SAP ECC.
-- This activity often happens offline or in a custom tool.
-- The following is a placeholder to be adapted if a custom (Z-table) log exists.
-- SELECT
-- CONCAT(CAST(YEAR(z.REVIEW_DATE) AS VARCHAR(4)), '-', RIGHT(CONCAT('00', MONTH(z.REVIEW_DATE)), 2)) AS FinancialPeriod,
-- 'Reconciliation Reviewed' AS ActivityName,
-- z.REVIEW_DATE AS EventTime,
-- 'SAP_ECC' AS SourceSystem,
-- CURRENT_TIMESTAMP AS LastDataUpdate,
-- z.BUKRS AS CompanyCode,
-- z.HKONT AS DocumentNumber, -- Using GL Account as a proxy identifier
-- z.REVIEWER_USER AS ResponsibleUser,
-- z.HKONT AS GLAccount,
-- NULL AS DocumentType,
-- NULL AS AmountInLocalCurrency,
-- NULL AS JournalEntryType
-- FROM ZRECON_LOG z -- Replace with your custom table for reconciliation status
-- WHERE z.REVIEW_DATE BETWEEN '{{start_date}}' AND '{{end_date}}'
-- AND z.STATUS = 'Reviewed'
; Başlamaya hazır mısınız?
Process Mining çalışmalarınıza bu veri Templateiyle başlayın ve finansal kapanış operasyonlarınız hakkında değerli içgörüler edinin. Kayıttan Raporlamaya sürecinizi bugün iyileştirmeye başlayın!
Kayıttan Raporlamaya kapanışını iyileştirin, çevrim süresini şimdi kısaltın
Darboğazları ortadan kaldırın ve Kayıttan Raporlamaya kapanış çevrim sürenizi %30 kısaltın.
Kredi kartı gerekmez. 14 günlük ücretsiz denemenizi başlatın.