Muhasebe Kayıtlarından Raporlamaya - Dönem Kapanışı ve Mutabakat Veri Template'inuz
Muhasebe Kayıtlarından Raporlamaya - Dönem Kapanışı ve Mutabakat Veri Template'inuz
- Önerilen Öznitelikler
- İzlenecek Temel Etkinlikler
- Veri Çekim Kılavuzu
Muhasebe Kayıtlarından Raporlamaya - Dönem Kapanışı ve Mutabakat Öznitelikleri
| Ad | Açıklama | ||
|---|---|---|---|
| Mali Dönem FinancialPeriod | Genellikle mali yılı ve defter kayıt dönemini birleştiren finansal raporlama döngüsü için benzersiz bir tanımlayıcı. | ||
| Açıklama Finansal Dönem, o belirli raporlama döngüsü için hesapların kapanışı ve mutabakatıyla ilgili tüm faaliyetleri gruplayan birincil vaka (case) tanımlayıcısı olarak olarak kullanılır (örneğin, Aralık 2023 için '2023-12'). Bu, her bir dönem için tüm dönem kapanış sürecinin baştan sona detaylı bir analizine sunar. Analizde, her kapanış için uçtan uca döngü süresini izlemeyi, farklı dönemlerdeki performansı karşılaştırmayı ve eğilimleri veya anormallikleri belirlemeyi sunar. Her finansal dönemi benzersiz bir vaka olarak tanımlayarak, kapanış sürecindeki verimliliği, darboğazları ve varyasyonları zaman içinde görselleştirmek ve ölçmek mümkündür. Neden Önemli?dir? Analizi çerçeveleyen temel vaka (case) tanımlayıcısıdır; kapanış döngü süreleri, iş yükleri ve süreç uyumluluğunun dönemler arası karşılaştırılmasına sunar. Nereden Alınır?? Bu öznitelik genellikle finansal belge başlıklarından, örneğin BKPF tablosundan Mali Yıl (GJAHR) ve Deftere Kayıt Dönemi (MONAT) birleştirilerek türetilir. Örnekler::::::: 2023-122024-032023-Ç4 | |||
| Aktivite ActivityName | Dönem kapanış süreci sırasında gerçekleştirilen belirli bir iş olayının veya görevinin adı. | ||
| Açıklama Bu öznitelik, Record to Report döngüsü içinde gerçekleştirilen 'Düzeltme Yevmiye Kaydı Yapıldı' veya 'Finansal Tablolar Oluşturuldu' gibi belirgin adımları kaydeder. Dönem kapanışını oluşturan Event dizisini göstererek süreç haritasının temelini oluşturur. Faaliyetleri analiz etmek Process Mining için büyük önem taşır. Süreç akışını görselleştirmeye, görev dizisini belirlemeye, süreç varyasyonlarını keşfetmeye ve her adımın sıklığını ve süresini ölçmeye yardımcı olur. Bu, darboğazları, standart dışı süreç yollarını ve standartlaştırma veya otomasyon fırsatlarını tespit etmek için büyük önem taşır. Neden Önemli?dir? Bu öznitelik, süreç haritasını oluşturmak için zorunludur ve dönem kapanışındaki görev dizisinin görselleştirilmesine ve analiz edilmesine sunar. Nereden Alınır?? Bu, SAP işlem kodları (TCODE), belge türleri (BLART) veya belirli program yürütmelerinin (örn. FAGL_FCV Yabancı Para Değerlemesi için) bir kombinasyonundan türetilir. Örnekler::::::: Düzeltme Yevmiye Kaydı GönderildiHesap Mutabakatı BaşlatıldıDeftere Kayıt İçin Dönem Kapandı | |||
| Kaynak Sistem SourceSystem | Verilerin çıkarıldığı kaynak sistemin tanımlayıcısı. | ||
| Açıklama Bu öznitelik, Event verisinin kaynağını, örneğin belirli SAP ECC örnek adını veya kimliğini belirtir. Birden fazla ERP veya finansal sistemi olan kuruluşlarda, bu alan farklı kaynaklardan gelen verileri ayırt etmek için büyük önem taşır. Tek sistemli bir ortamda bile, veri yönetişimi, denetim ve sorun giderme için önemli bir metadata parçası olarak olarak kullanılır. Verinin kaynağını doğrular, bu da analize güven oluşturmak ve veri geçmişinin (veri izlenebilirliği) açık olmasını güçlüak için gereklidir. Neden Önemli?dir? Veri yönetimi için verinin kaynağını doğrulayan temel veri geçmişi (veri izlenebilirliği) sunar ve çoklu sistem ortamlarında süreçleri ayırt etmek için büyük önem taşır. Nereden Alınır?? Bu, tipik olarak veri çıkarma sürecinde eklenen statik bir değer olup, belirli SAP istemcisini ve sistem kimliğini (örn. T000 tablosundan) tanımlar. Örnekler::::::: ECC_PROD_100SAP_E74_200ECC_FINANCE | |||
| Olay Zamanı EventTime | Bir aktivitenin veya olayın ne zaman gerçekleştiğini gösteren zaman damgası (zaman damgası)dır. | ||
| Açıklama Event Time, süreçteki her bir faaliyet için tam tarih ve saati sağlayarak analiz için kronolojik temel görevi görür. Genellikle belge oluşturma tarihi ve saatinin birleşimidir. Bu zaman damgası (zaman damgası), süreç akışını yeniden yapılandırmak için Event'leri doğru sıralamak için büyük önem taşır. Faaliyetler arasındaki döngü süreleri, bekleme süreleri ve genel dönem kapanış süresi dahil olmak üzere tüm süreye dayalı metrikleri hesaplamak için kullanılır. Zaman damgalarını analiz etmek, gecikmeleri belirlemeye ve işin zamansal dağılımını anlamaya yardımcı olur. Neden Önemli?dir? Zorunlu bir öznitelik olarak, olayların kronolojik sırasını sunar; bu da döngü sürelerini hesaplamak ve süreç darboğazlarını keşfetmek için gereklidir. Nereden Alınır?? Bu, finansal belgeler için BKPF tablosundaki belge giriş tarihi (CPUDT) ve giriş saati (CPUTM) verilerinden elde edilir. Örnekler::::::: 2023-12-28T14:30:15Z2024-01-02T09:05:00Z2024-01-05T17:21:45Z | |||
| Son Veri Güncellemesi LastDataUpdate | Verilerin kaynak sistemden en son ne zaman yenilendiğini veya çıkarıldığını gösteren zaman damgası (zaman damgası)dır. | ||
| Açıklama Bu öznitelik, analiz edilen verinin güncelliğini gösterir. Veri hattının en son ne zaman çalıştığını tarih ve saat olarak gösterir, süreç stratejik bilgilerinin ne kadar yeni olduğu hakkında bağlam sunar. Dashboard'lar için, özellikle gerçek zamanlı ilerlemeyi izleyenler için, bu zaman damgası (zaman damgası), kullanıcıların en güncel bilgilere mi yoksa önceki bir güne ait verilere mi baktıklarını anlamaları için büyük önem taşır. Kullanıcı beklentilerini yönetir ve analizi doğru yorumlamak için büyük önem taşır. Neden Önemli?dir? Kullanıcılara verinin güncelliği hakkında bilgi verir; bu, analizlerin ve Panellerin zamanında ve alakalı olmasını güçlüak için büyük önem taşır. Nereden Alınır?? Bu zaman damgası (zaman damgası), her veri yükleme sürecinin sonunda veri çıkarma veya ETL aracı tarafından oluşturulur ve 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 bir muhasebe belgesi için benzersiz tanımlayıcı. | ||
| Açıklama Muhasebe Belge Numarası, SAP'deki finansal kayıtlar için birincil temel rol oynar. Her yevmiye kaydı, fatura veya ödeme belgesine benzersiz bir numara atanır. Genellikle üst düzey süreç analizi için kullanılmasa da, belge numarası detaylı inceleme (drill-down) yetenekleri için büyük önem taşır. Bir Process Mining Dashboard'undan analistler, büyük bir düzeltme kaydı veya gecikmiş bir mutabakat kalemi gibi anormalliklerin detaylı incelenmesi için SAP'deki belirli işleme doğrudan geri dönmek üzere belge numarasını kullanabilirler. Bu, önemli bilgiden kaynak işleme doğrudan bir bağlantı sunar. Neden Önemli?dir? SAP'deki kaynak işleme doğrudan bir bağlantı sunar, bu da süreç görünümünden belirli muhasebe kayıtlarına detaylı inceleme (drill-down) analizine sunar. Nereden Alınır?? BKPF tablosunda (BELNR) birincil anahtar olarak bulunur. Örnekler::::::: 100000456719000001233000008901 | |||
| Belge Türü BLART | Farklı muhasebe belgesi türlerini sınıflandıran bir kod. | ||
| Açıklama Belge Türü, SAP'de satıcı faturaları (KR), müşteri ödemeleri (DZ) ve genel muhasebe kayıtları (SA) gibi çeşitli iş işlemlerini ayırt etmek için kullanılır. Ayrıca belge numarası aralığı gibi özellikleri de kontrol eder. Dönem sonu kapanış analizi için belge türü etkili bir filtredir. Tahakkuklar, karşılıklar veya iptal kayıtları gibi belirli faaliyet türlerini izole etmek için kullanılabilir. Bu, kapanışla ilgili farklı işlemlerin hacmini ve finansal etkisini analiz etmeye yardımcı olur ve süreç modelinde belirli faaliyetleri tanımlamak için kullanılabilir. Neden Önemli?dir? Transaction'ları sınıflandırmaya ve filtrelemeye yardımcı olur, tahakkuklar, tersine çevirmeler veya şirketler arası kayıtlar gibi belirli etkinlikleri izole etmeyi ve analiz etmeyi sunar. Nereden Alınır?? Belge başlık tablosu BKPF'de (BLART) bulunur. Örnekler::::::: SAABKR | |||
| GL Hesabı HKONT | Bir kalem kaydının yapıldığı Genel Muhasebe hesap numarası. | ||
| Açıklama Genel Muhasebe (GL) Hesabı, finansta işlemleri sınıflandıran temel bir ana veri öğesidir. Her finansal kayıt bir veya daha fazla GL hesabına atanır. Dönem kapanışı bağlamında, GL hesabına göre faaliyetlerin analizi 'Hesap Mutabakatı Darboğazları' ve 'Düzeltme Kayıtları Hacim Analizi' Dashboard'ları için gereklidir. Hangi hesapların mutabakatının en zor olduğunu, hangilerinin en çok düzeltme gerektirdiğini ve önemli yanlış beyan riskinin en yüksek nerede olabileceğini belirlemeye yardımcı olur. Bu odaklanma, ekiplerin sorunlu hesaplar üzerindeki çabalarını önceliklendirmesini sunar. Neden Önemli?dir? Mutabakatların ve düzeltme kayıtlarının hedefe yönelik analizini sunar, gecikmelere neden olan veya sık düzeltmeler gerektiren sorunlu hesapları belirlemeye yardımcı olur. Nereden Alınır?? Finansal belge satır öğesi tablosu BSEG'de (HKONT) mevcuttur. Örnekler::::::: 113100400500750000 | |||
| Şirket Kodu BUKRS | Finansal tabloların oluşturulduğu bir tüzel kişiliği temsil eden organizasyonel birim. | ||
| Açıklama Şirket Kodu, SAP Finansallarında temel bir organizasyon birimidir. Kendi dengeli defterleri olan bağımsız bir şirketi temsil eder. Tüm finansal işlemler şirket kodu düzeyinde deftere kaydedilir. Process Mining'de, Şirket Kodu'na göre filtreleme, bir şirket içindeki farklı tüzel kişilikler arasında dönem kapanış sürecini karşılaştırmak için gereklidir. Bu, yüksek performanslı tüzel kişiliklerde en iyi uygulamaları belirlemeye ve gecikmeler, yüksek düzeltme hacimleri veya süreç sapmaları ile mücadele eden tüzel kişilikleri tespit etmeye sunar. Analizi segmentlere ayırmak için önemli bir boyuttur. Neden Önemli?dir? Farklı tüzel kişilikler arasında dönem kapanış performansı ve uyumluluğunun karşılaştırılmasına sunar, bu da grup düzeyindeki finansal analiz için büyük önem taşır. Nereden Alınır?? Bu alan, SAP'deki hemen hemen tüm finansal belge tablolarında, öncelikli olarak BKPF (Başlık) ve BSEG (Kalem) tablolarında mevcuttur. Örnekler::::::: 10002000US01DE01 | |||
| Sorumlu Kullanıcı USNAM | İşlemi oluşturan veya yürüten kişinin SAP kullanıcı kimliği. | ||
| Açıklama Bu alan, bir belgeyi kaydeden, bir raporu çalıştıran veya kapanışla ilgili bir programı yürüten kullanıcıyı yakalar. Belirli bir faaliyetten sorumlu kişiyi tanımlar. Kullanıcıya göre analiz, iş yükü dağılımını anlamak, eğitim ihtiyaçlarını belirlemek ve süreç sapmalarını araştırmak için büyük önem taşır. Kullanıcı başına faaliyetleri gösteren Dashboard'lar, aşırı yüklenmiş ekip üyelerini veya standart dışı prosedürleri takip eden kişileri vurgulayabilir. Ayrıca finans ekibi içindeki performans yönetimi ve kaynak tahsisi için de yardımcı olur. Neden Önemli?dir? İş yükü dağılımının, ekip performansının analizini ve belirli kişilere bağlı süreç sapmalarının belirlenmesini sunar. Nereden Alınır?? Belge oluşturma için BKPF tablosunda (USNAM) mevcuttur. Toplu işler için TBTCO'da (SDLUNAME) bulunabilir. Örnekler::::::: JSMITHRDOEFIN_ADMIN | |||
| Yerel Para Birimiyle Tutar DMBTR | Bir işlem kaleminin, şirket kodunun yerel para birimi cinsinden ifade edilen finansal değeri. | ||
| Açıklama Bu öznitelik, bir finansal kayıtla ilişkili parasal değeri temsil eder. Bir işlemin genel muhasebe üzerindeki etkisinin temel nicel ölçüsüdür. Tutarı analiz etmek, sorunları önceliklendirmek ve finansal riski anlamak için büyük önem taşır. Örneğin, 'Düzeltme Kayıtları Hacim Analizi' Dashboard'u, yüksek hacimli düşük değerli düzeltmeler ile düşük hacimli yüksek değerli düzeltmeleri ayırt edebildiğinde çok daha güçlü hale gelir. Finansal olarak önemli olan işlemlere dikkat çekmeye yardımcı olur. Neden Önemli?dir? İşlemlerin finansal etkisini ölçülmesini sağlar, bu da yüksek değerli düzeltme kayıtlarını belirleme gibi önemlilik (materiality) bazlı analize sunar. Nereden Alınır?? Belge satır öğesi tablosu BSEG'de (DMBTR) mevcuttur. Örnekler::::::: 1500.75-25000.00123456.00 | |||
| Yevmiye Kaydı Türü JournalEntryType | Yevmiye kayıtlarının 'Standart', 'Düzeltme', 'Tahakkuk' veya 'Tersine Çevirme' gibi bir sınıflandırması. | ||
| Açıklama Bu, kapanış süreci içindeki iş amacına göre finansal belgeleri kategorize eden türetilmiş bir özniteliktir. Genellikle Belge Türü (BLART), İptal Nedeni (STGRD) veya kullanılan belirli GL hesaplarının birleşimiyle belirlenir. Bu sınıflandırma, 'Düzeltme Kayıtları Hacim Analizi' Dashboard'u ve ilgili KPI'lar için büyük önem taşır. Düzeltme veya tahakkuk kayıtlarını açıkça belirleyerek analistler, bunların hacmini ve değerini ölçebilir, zaman içindeki eğilimleri takip edebilir ve gerekliliklerinin temel nedenlerini araştırabilir. Bu, rutin operasyonel kayıtları dönem sonu ayarlamalarından ayırmaya yardımcı olur. Neden Önemli?dir? Hedefe yönelik analiz için kayıtları sınıflandırır, süreç sağlığının göstergeleri olan düzeltmeler ve tahakkuklar gibi temel giriş türlerinin takibini ve ölçümünü sunar. Nereden Alınır?? Bu, türetilmiş bir alandır. Mantığın, genellikle BKPF'deki Belge Türü (BLART) gibi alanlar kullanılarak iş kurallarına göre tanımlanması gerekir. Örnekler::::::: DüzeltmeTahakkukİptal/Geri AlmaStandart | |||
| Bölüm Department | Faaliyet veya işlemden sorumlu fonksiyonel departman veya maliyet merkezi. | ||
| Açıklama Bu öznitelik, bir işlemle ilişkili 'Finans', 'Satış' veya 'Lojistik' gibi iş departmanını tanımlar. Bu genellikle bir kayda bağlı Maliyet Merkezi ana verilerinden veya kullanıcının ana verilerinden türetilir. Departmana göre analiz, 'Kapanış Ekibi İş Yükü Dağılımı' Dashboard'u destekler. Farklı iş fonksiyonlarının dönem sonu iş yüküne nasıl katkıda bulunduğunu, özellikle daha sonra düzeltme veya mutabakat gerektirebilecek işlemleri başlatma açısından anlamaya yardımcı olur. Bu, ana finans ekibinin dışında kalan ve kapanış sürecini etkileyen alanları vurgulayabilir. Neden Önemli?dir? Farklı iş fonksiyonları arasındaki iş yükü dağılımını ve süreç uyumunu analiz etmeye yardımcı olur, çeşitli departmanların finansal kapanışın verimliliğini nasıl etkilediğini ortaya çıkarır. Nereden Alınır?? Genellikle BSEG'deki Maliyet Merkezi'nden (KOSTL) veya sorumlu kullanıcının İK ana verilerinden türetilir. Bu, birden fazla tablonun birleştirilmesini gerektirebilir. Örnekler::::::: Kurumsal FinansSatıcı ÖdemeleriFP&A | |||
| Hedef Tamamlama Tarihi TargetCompletionDate | Bir faaliyet veya tüm dönem kapanışı için planlanan son tarih veya bitiş tarihi. | ||
| Açıklama Hedef Tamamlanma Tarihi, dönem kapanış sürecinin ölçüldüğü zaman çizelgesini temsil eder. Belirli dönüm noktaları.nın veya nihai kapanışın tamamlanması gereken son tarihtir. Bu öznitelik, herhangi bir performans veya uyumlulukla ilgili analiz için gereklidir. 'Zamanında Dönem Kapanış Oranı' KPI'ını hesaplamak ve 'Kapanış Uyumluluğu ve Gecikmiş Görevler' Dashboard'u güçlüak için kullanılır. Gerçek Event zamanını bu hedef tarihle karşılaştırarak sistem, görevlerin zamanında, gecikmiş veya geç kalma riski altında olup olmadığını belirleyebilir, böylece kapanış sürecinin proaktif yönetimini sunar. Neden Önemli?dir? Kapanış etkinliklerinin zamanında tamamlanıp tamamlanmadığını ölçmek için bir temel sağlayarak uyumluluk ve performans izlemeyi sunar, zamanında teslim KPI'larını destekler. Nereden Alınır?? Bu genellikle ayrı bir takvimde, bir kapanış yönetim aracında (SAP Financial Closing cockpit gibi) veya bir elektronik tabloda tutulan ana veridir. İşlem verilerinin bir parçası değildir. Örnekler::::::: 2023-12-29T23:59:59Z2024-01-03T17:00:00Z2024-01-02T12:00:00Z | |||
| Mali Yıl GJAHR | İşlemin deftere kaydedildiği mali yıl. | ||
| Açıklama Mali Yıl, finansal verileri organize etmek için temel bir unsurdur. Finansal Dönem Vaka Kimliği (Case ID)nin önemli bir bileşenidir ve tüm işlemler için temel bağlamı sunar. Genellikle Vaka Kimliği (Case ID)nin bir parçası olsa da, Mali Yıl'ın ayrı bir öznitelik olarak bulunması uzun vadeli eğilim analizi için faydalıdır. Kapanış döngü sürelerinin, düzeltme hacimlerinin veya diğer KPI'ların yıllar arası karşılaştırmalarına sunar, bu da birden fazla yıl boyunca performanstaki iyileşmeleri veya bozulmaları belirlemeye yardımcı olur. Neden Önemli?dir? Önemli zamansal bağlam sunar ve kapanış sürecinin yıllar arası performans karşılaştırmalarına sunar. Nereden Alınır?? Belge başlık tablosu BKPF'de (GJAHR) mevcuttur. Örnekler::::::: 202320242022 | |||
| Mutabakat Durumu ReconciliationStatus | Bir hesap mutabakatının mevcut durumu, örneğin 'Açık', 'İncelemede' veya 'Onaylandı' gibi. | ||
| Açıklama Bu öznitelik, bir hesap mutabakatının Workflow'u boyunca ilerlerken durumunu izler. Bir mutabakatın başlatılıp başlatılmadığını, incelemeye gönderilip gönderilmediğini, onaylanıp onaylanmadığını veya reddedilip reddedilmediğini gösterir. Bu, mutabakat faaliyetlerinin ilerlemesini gerçek zamanlı olarak izlemek için önemli bir özniteliktir. Hangi mutabakatların ne kadar süredir takılı kaldığını belirlemeye yardımcı olur ve 'Hesap Mutabakat Döngü Süresi' gibi KPI'ları destekler. Onay sürecine görünürlük sunar ve mutabakat darboğazlarını ve ekip iş yükünü izleyen Dashboard'lar için büyük önem taşır. Neden Önemli?dir? Mutabakat Workflow'una görünürlük sağlayarak ilerlemenin takibini, darboğazların belirlenmesini ve inceleme ile onay sürelerinin ölçülmesini sunar. Nereden Alınır?? Bu bilgi genellikle ayrı bir mutabakat aracında (örneğin, BlackLine tarafından SAP Hesap Doğrulama ve Otomasyonu) veya özel bir durum alanında bulunur. Tipik olarak BKPF/BSEG'de standart bir alan değildir. Örnekler::::::: BaşlatılmadıDevam EdiyorOnaylandıReddedildi | |||
| Otomatikleştirildi mi? IsAutomated | Bir etkinliğin insan bir kullanıcı tarafından mı yoksa otomatik bir sistem tarafından mı gerçekleştirildiğini gösteren bir bayrak. | ||
| Açıklama Bu boolean öznitelik, manuel görevler ile sistem tarafından otomatik olarak yürütülen görevleri ayırt eder; örneğin yabancı para değerlemesi için zamanlanmış bir toplu iş veya tekrarlayan kayıtlar yapan bir bot gibi. Bu genellikle işlemle ilişkili kullanıcı adının (örn. 'BATCHUSER') analiz edilmesiyle belirlenir. Otomasyon seviyesini anlamak, verimlilik kazanımları için fırsatları belirlemede temel rol oynar. Bu özniteliği analiz etmek, sürecin hangi kısımlarının manuel olduğunu ve potansiyel olarak otomasyona uygun olduğunu görselleştirmeye yardımcı olur. Ayrıca, sistem tarafından oluşturulan faaliyetleri hariç tutarak insan iş yükünü doğru bir şekilde değerlendirmeye yardımcı olur. Neden Önemli?dir? Manuel ve sistem odaklı etkinlikleri ayırır, bu da otomasyon fırsatlarını belirlemek ve manuel iş yüklerini doğru bir şekilde ölçmek için büyük önem taşır. Nereden Alınır?? Bu, türetilmiş bir özniteliktir. Mantık, genellikle Kullanıcı Adı'na (USNAM) dayanır; burada bilinen sistem veya toplu iş kullanıcı kimliklerinin bir listesi otomatik bir görevi gösterir. Örnekler::::::: truefalse | |||
| Ters Kayıt Nedeni ReversalReason | Bir finansal belgenin neden tersine çevrildiğini gösteren bir kod. | ||
| Açıklama SAP'de bir belge ters kayıt yapıldığında, ters kaydın amacını açıklamak için bir neden kodu atanabilir, örneğin 'Cari dönemde ters kayıt' veya 'Hatalı giriş'. Bu öznitelik, neden yeniden işlemelerin (rework) gerçekleştiğine dair kritik bir bağlam sunar. Ters kayıt nedenlerini analiz etmek, yanlış veri girişi veya yanlış tarihler gibi hatalardaki kalıpları belirlemeye yardımcı olur. Bu önemli bilgi; önleyici tedbirler uygulamak, eğitimleri iyileştirmek veya sistem kontrollerini geliştirmek için kullanılarak hata sayısını ve sonraki ters kayıtları azaltabilir, bu da daha verimli bir kapanışa yol açar. Neden Önemli?dir? Hataların ve tekrar işlerinin temel nedenlerine doğrudan önemli bilgi sunarak süreç iyileştirme ve hata önleme fırsatlarını belirlemeye yardımcı olur. Nereden Alınır?? Belge başlık tablosu BKPF'de (STGRD) bulunur. Örnekler::::::: 010205 | |||
| Ticaret Ortağı VBUND | Şirketler arası bir işleme dahil olan bağlı grup şirketinin tanımlayıcısı. | ||
| Açıklama Ticari Ortak Kimliği, şirketler arası bir işleme katılan diğer şirket kodunu tanımlamak için kullanılır. Bu, ilgili tüzel kişiler arasındaki hesapların mutabakatı için gereklidir. Bu öznitelik, 'Şirketler Arası Mutabakat Akışı' Dashboard'u ve 'Şirketler Arası Mutabakat Döngü Süresi' KPI'ını doğrudan destekler. Bir Ticari Ortağın bulunduğu işlemler için filtreleme yaparak analiz, genellikle dönem kapanışı sırasında önemli bir sorun olan şirketler arası mutabakat sürecinin verimliliğine ve zamanında tamamlanmasına özel olarak odaklanabilir. Neden Önemli?dir? Şirketler arası işlemleri özel olarak tanımlar, bu da genellikle karmaşık ve zaman alıcı olan şirketler arası mutabakat sürecine odaklanmış analiz yapılmasına sunar. Nereden Alınır?? Belge satır öğesi tablosu BSEG'de (VBUND) bulunur. Örnekler::::::: 1000US013000 | |||
| Vadesi Geçti mi? IsOverdue | Bir etkinliğin planlanan hedef tarihinden sonra tamamlanıp tamamlanmadığını gösteren hesaplanmış bir bayrak. | ||
| Açıklama Bu boolean öznitelik, bir faaliyetin gerçek tamamlama süresini ((EventTime)) planlanan son tarihiyle (TargetCompletionDate) karşılaştırır. Eğer Event zamanı hedeften daha geçse, bayrak doğru olarak ayarlanır. Bu öznitelik, 'Kapanış Uyumluluğu ve Gecikmiş Görevler' Dashboard'u ve 'Zamanında Dönem Kapanış Oranı' KPI'ını doğrudan destekler. Zaman çizelgesi sapmalarının açık ve anlık bir sinyalini sunar, yöneticilerin gecikmiş görevleri hızla belirlemesine, genel zaman çizelgesi üzerindeki etkiyi anlamasına ve ekipleri son teslim tarihlerine uymaktan sorumlu tutmasına sunar. Neden Önemli?dir? Zaman çizelgelerine uyumsuzluğun net bir göstergesini sunar, bu da gecikmiş görevlerin hızla belirlenmesine ve zamanında performansın ölçülmesine sunar. Nereden Alınır?? Bu, Process Mining aracında (EventTime) ile TargetCompletionDate karşılaştırılarak hesaplanan bir özniteliktir. Örnekler::::::: truefalse | |||
| Yeniden İşleme mi? IsRework | Bir tersine çevirme veya reddedilen bir mutabakat gibi yeniden işleme işaret eden etkinlikleri tanımlayan hesaplanmış bir bayrak. | ||
| Açıklama Bu boolean öznitelik, süreçteki verimsiz döngüleri veya düzeltmeleri gösteren Event'leri veya Event dizilerini işaretler. Örneğin, aynı hesapta bir 'Mutabakat İncelendi' faaliyetini takip eden başka bir 'Düzeltme Yevmiye Kaydı Yapıldı' faaliyeti tekrar işi olarak işaretlenebilir. Bu öznitelik, süreç israfını nicelendirmek için gereklidir ve 'Mutabakat Tekrar İşleri Örnekler:::::::i' Dashboard'u ve 'Mutabakat Tekrar İşi Oranı' KPI'ını destekler. Tekrar işlerini izole ederek ekipler, temel nedenleri araştırabilir, döngü süresi üzerindeki etkiyi ölçebilir ve ilk seferde doğru yapmayı hedefleyen süreç iyileştirme girişimlerinin etkinliğini takip edebilir. Neden Önemli?dir? Düzeltme veya tekrar eden faaliyetleri işaretleyerek süreç verimsizliğini ölçülmesini sağlar, bu da boşa harcanan çabayı ölçmeye ve azaltmaya yardımcı olur. Nereden Alınır?? Bu, hesaplanmış bir özniteliktir. Mantık, Process Mining aracında belirli aktivite dizilerine (örn. döngüler) veya öznitelikler.e (örn. ReversalReason boş değilse) göre tanımlanır. Örnekler::::::: truefalse | |||
Muhasebe Kayıtlarından Raporlamaya - Dönem Kapanışı ve Mutabakat Faaliyetleri
| Aktivite | Açıklama | ||
|---|---|---|---|
| Deftere Kayıt İçin Dönem Açıldı | Bu, bir mali dönemin resmi başlangıcını işaret eder ve işlemlerin genel muhasebeye kaydedilmesine sunar. Bu, yetkili bir kullanıcı tarafından, bir veya daha fazla şirket kodunda belirli bir dönemi kayıtlar için açmak amacıyla yapılan açık bir konfigürasyon değişikliğidir. | ||
| Neden Önemli?dir? Bu aktivite, dönem kapanış süreci vakası için kesin başlangıç Event'i olarak olarak kullanılır. Bu noktadan itibaren geçen süreyi analiz etmek, finansal dönemin tam süreç döngüsünü anlamaya yardımcı olur. Nereden Alınır?? OB52 işlemi aracılığıyla defter kayıt dönemlerinde yapılan değişiklikler loglanır. 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. Yakala T001B tablosu için değişiklik belgelerinden (CDHDR/CDPOS) çekin. Event tipi explicit | |||
| Deftere Kayıt İçin Dönem Kapandı | Deftere kayıt döneminin resmi kapanışını temsil eder ve sonraki operasyonel yevmiye kayıtlarını engeller. Bu, kapanan dönemin finansal veri bütünlüğünü sunar ve açık bir konfigürasyon değişikliğidir. | ||
| Neden Önemli?dir? Bu, dönem kapanış sürecinin kesin nihai Event'idir. Toplam Dönem Kapanış Döngü Süresi'ni doğru bir şekilde hesaplamak ve zamanında tamamlama performansını ölçmek için büyük önem taşır. Nereden Alınır?? Dönemlerin OB52 işlemi aracılığıyla kapanışı kaydedilir. Bu değişiklikler, T001B konfigürasyon tablosu için değişiklik belgeleri (CDHDR ve CDPOS tabloları) analiz edilerek bulunabilir. Yakala T001B tablosu için değişiklik belgelerinden (CDHDR/CDPOS) çekin. Event tipi explicit | |||
| Düzeltme Yevmiye Kaydı Gönderildi | Dönem için ilk işlem kaydı tamamlandıktan sonra hesap bakiyelerini düzeltmek için bir düzeltme yevmiye kaydı yapılır. Bu event, SAP'de standart bir finansal belge kaydı olarak yakalanır. | ||
| Neden Önemli?dir? Bu, Düzeltme Kayıtları Hacim Analizi için büyük önem taşır. Yüksek sayıda düzeltme kaydı, üst süreçlerin doğruluğunda sorunlar olduğunu gösterir ve süreç iyileştirme çalışmaları için temel bir hedeftir. 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üyle (BKPF-BLART) veya 13 ila 16 gibi özel kapanış dönemlerinde kaydedilerek tanımlanır. Yakala BKPF'yi özel dönemlerde veya düzeltme belge türleriyle kaydedilen belgeler için filtreleyin. Event tipi explicit | |||
| Finansal Tablolar Oluşturuldu | Bu, Kar ve Zarar Tablosu ve Bilanço gibi resmi finansal tabloların oluşturulduğu zaman noktasını temsil eder. Bu aktivite genellikle belirli bir raporlama programının yürütülmesinin izlenmesiyle yakalanır. | ||
| Neden Önemli?dir? Bu, veri işlemenin sonunu ve nihai inceleme ve onay aşamasının başlangıcını işaretleyen önemli bir kilometre taşıdır. Bu Event'ten onaya kadar geçen süre önemli bir KPI'dır. Nereden Alınır?? STAD gibi, finansal tablo oluşturma programının yürütülmesini kaydeden sistem denetim log'larından çıkarım yapılır, en yaygın olarak F.01 transaction'ı. Yakala Finansal tablo transaction'ı F.01'in yürütülmesini izleyen sistem log'larından (STAD) alınır. Event tipi inferred | |||
| Hesap Mutabakatı Başlatıldı | Dönem için bir dizi GL hesabı için mutabakat sürecinin başlangıcını temsil eder. Standart SAP ECC'de bu ayrı bir Event değildir ve genellikle önemli bir raporun ilk kez çalıştırılması gibi ilgili faaliyetlerden çıkarılır. | ||
| Neden Önemli?dir? Bu aktivite, tüm mutabakat aşamasının süresini ölçmek için önemli bir kilometre taşı belirler. Mutabakatın ne zaman başladığını anlamak, Hesap Mutabakat Döngü Süresi KPI'ı için gereklidir. Nereden Alınır?? Bu Event açıkça kaydedilmemiştir. FAGLB03 veya FS10N gibi bir bakiye görüntüleme raporunun ilk yürütülmesi için sistem denetim günlüğü (STAD işlemi) gibi diğer veri kaynaklarından çıkarılmalıdır. Yakala Sistem log'larında ilgili rapor transaction'larının (örn. FAGLB03) ilk çalıştırılmasından çıkarım yapın. Event tipi inferred | |||
| Yabancı Para Değerleme Çalışanştırıldı | Bu, yabancı para birimlerinde kaydedilmiş açık kalemleri ve bakiyeleri dönem sonu kur oranlarını kullanarak yeniden değerleme programının yürütülmesini temsil eder. Bu genellikle dönem sonu kapanış adımlarının bir parçası olarak toplu iş (batch job) şeklinde çalıştırılır. | ||
| Neden Önemli?dir? Bu, çok uluslu kuruluşlarda doğru finansal raporlamayı güçlüak için temel bir adımdır. Zamanlamasını ve süresini analiz etmek, otomasyon ve performans optimizasyonu fırsatlarını belirlemeye yardımcı olur. Nereden Alınır?? FAGL_FCV veya F.05 gibi yabancı para değerleme programının yürütme log'larından alınır. TBTCO ve TBTCP gibi tablolardaki toplu iş ayrıntıları, yürütme zaman damgası (zaman damgası)'lerini sunar. Yakala FAGL_FC_VALUATION veya SAPF100 programı için toplu iş log'larından (TBTCO tablosu) alınır. Event tipi explicit | |||
| GR/IR Mahsup Çalışanştırması Yürütüldü | Malzeme Girişi/Fatura Girişi hesabının otomatik mahsuplaşma programının yürütülmesi. Bu program, karşılık gelen malzeme girişlerini ve fatura girişlerini eşleştirir ve kalemleri birbirine karşı mahsuplaştırır. | ||
| Neden Önemli?dir? GR/IR hesabı sıkça mutabakat sorunlarının kaynağıdır. Bu aktiviteyi izlemek, otomatik adımın doğru çalışmasını sunar ve manuel takip gerektiren istisna hacmini ölçmeye yardımcı olur. Nereden Alınır?? Yürütme, toplu iş log'larında (SM37 işlemi) yakalanır. Program genellikle SAPF124'tür ve F.13 işlemi aracılığıyla yürütülür. TBTCO gibi iş log tabloları gerekli zaman damgası (zaman damgası)'leri sunar. Yakala SAPF124 temizleme programı için toplu iş log'larından (TBTCO tablosu) alınır. Event tipi explicit | |||
| Mizan Raporu Oluşturuldu | Mizan oluşturmak için bir raporun yürütülmesini işaretler. Bu, resmi finansal tablolar oluşturulmadan önce toplam borçların toplam alacaklara eşit olduğunu doğrulamak için önemli bir adımdır. | ||
| Neden Önemli?dir? Bu, nihai raporlama öncesindeki kritik bir kalite kontrol aşamasıdır. Raporun tekrar tekrar çalıştırılması, temel veri sorunlarının tespit edilip düzeltildiğine işaret edebilir ve bu durum gecikmelere yol açabilir. Nereden Alınır?? STAD işlemi gibi, S_ALR_87012277 veya F.01 gibi mizan raporlama transaction'larının yürütülmesini kaydedebilen sistem denetim log'larından çıkarım yapılır. Yakala Raporlama transaction kodlarının yürütülmesini izleyen sistem log'larından (STAD) alınır. Event tipi inferred | |||
| Mutabakat İncelendi | Belirli bir hesap veya hesap grubu için bir mutabakatın incelendiğini ve onaylandığını gösterir. Standart SAP ECC'de bu, açıkça loglanan bir event değildir ve genellikle çevrimdışı kontroller veya özel çözümler aracılığıyla yönetilir. | ||
| Neden Önemli?dir? İncelemelerin zamanlamasını takip etmek, kapanış sürecinin kontrol ve denetim aşamalarındaki darboğazları anlamak için önemlidir. Yönetimin uygunluğu veya yeniden işleme (rework) nedeniyle oluşan gecikmeleri vurgulayabilir. Nereden Alınır?? Bu bilgi standart ECC tablolarında mevcut değildir. Özel bir Z-tablosundaki bir durum alanı, basit bir Workflow veya özel bir üçüncü taraf mutabakat aracıyla entegrasyon gibi özel bir çözüm gerektirir. Yakala Özel bir workflow veya Z-table uygulanmışsa durum değişikliğini yakalayın. Event tipi inferred | |||
| Şirketler Arası Belge Mahsuplaştırıldı | Bu aktivite, iki farklı şirket kodu arasındaki açık bir kalemin mahsuplaştırılmasını işaret eder, bu da şirketler arası bir işlemin çözümlendiğini veya mutabakata bağlandığını gösterir. Bu, SAP'de açık bir finansal kayıt olarak (genellikle bir mahsuplaşma belgesi) kaydedilir. | ||
| Neden Önemli?dir? Şirketler arası kalemlerin temizlenmesindeki gecikmeler, kapanış sürecinde yaygın bir darboğazdır. Bu etkinliği izlemek, şirketler arası mutabakat döngü süresini ölçmek ve iyileştirmek için büyük önem taşır. Nereden Alınır?? BKPF ve BSEG'deki finansal belgelerden belirlenir. Bir temizleme belgesi, açık kalemleri bağlar ve kapatır, temizleme tarihi (BSEG-AUGDT) event zaman damgası (zaman damgası)'i olarak olarak kullanılır. Şirketler arası transaction'lar, işlem ortağı alanlarıyla tanımlanır. Yakala BKPF/BSEG'de işlem ortakları olan kalemleri içeren temizleme belgelerini belirleyin. Event tipi explicit | |||
| Tahakkuk Veya Karşılık Kaydı Gönderildi | Bu, genellikle bir dönemin sonuna doğru kaydedilen bir tahakkuk, erteleme veya karşılık için yapılan muhasebe kaydını temsil eder. Bu, SAP'de ayrı bir Event türü değildir, ancak belirli muhasebe kayıtlarının niteliklerine göre belirlenir. | ||
| Neden Önemli?dir? Bu kayıtları ayırmak, tahminlerin yönetimi için alt süreç analizine yardımcı olur. Tahakkuklara yönelik yüksek hacimli veya sık ayarlamalar, süreç iyileştirme alanlarını işaret edebilir. Nereden Alınır?? BKPF ve BSEG finans belge tablolarından çıkarılır. Kayıtlar, belirli bir belge türü (BKPF-BLART), benzersiz bir GL hesabı (BSEG-HKONT) veya başlık metnindeki anahtar kelimeler (BKPF-BKTXT) filtrelenerek tanımlanabilir. Yakala BKPF/BSEG tablolarını belge türüne, belirli GL hesaplarına veya metin alanlarına göre filtreleyin. Event tipi inferred | |||
| Ters Kayıt Gönderildi | Bu aktivite, daha önce kaydedilmiş bir yevmiye kaydını tersine çeviren bir belgenin deftere kaydedilmesini yakalar, genellikle bir hatayı düzeltmek için yapılır. SAP, iptal belgesi ile orijinal belge arasında açık bir bağlantı oluşturur. | ||
| Neden Önemli?dir? Yüksek sayıda tersine çevirme, veri giriş doğruluğu veya süreç kontrolleriyle ilgili potansiyel sorunlara işaret eder. Bu olayları izlemek, ilk seferde doğru oranlarını ölçmeye ve iyileştirme gerektiren alanları belirlemeye yardımcı olur. Nereden Alınır?? İptal belgeleri BKPF tablosunda bulunur. Genellikle FB08 işlemiyle oluşturulur ve BKPF-STBLG alanında iptal edilen belge numarasına bir referans içerir. Yakala BKPF-STBLG'nin doldurulduğu veya ters çevirme T-kodları aracılığıyla oluşturulan belgeleri belirleyin. Event tipi explicit | |||
Veri Çıkarma Kılavuzları
Adımlar
- SAP Sorgu Aracına Erişin: SAP ECC sisteminize giriş yapın.
SQVI(QuickViewer) işlem koduna gidin. 2. Yeni Sorgu Oluşturun: Sorgunuz içinZ_R2R_PERIOD_CLOSEgibi bir ad girin ve 'Oluştur'a tıklayın. Açılır pencerede 'Muhasebe Kayıtlarından Raporlamaya Dönem Kapanışı Çekimi' gibi açıklayıcı bir başlık sağlayın. 'Veri kaynağı' için 'Tablo birleştirme'yi seçin. 3. Tablo Birleştirmelerini Tanımlayın: Birincil tabloBKPF(Muhasebe Belgesi Başlığı) ekleyin. ArdındanBSEG(Muhasebe Belgesi Segmenti) tablosunu ekleyin. SAP, birleştirme koşullarını (MANDT, BUKRS, BELNR, GJAHR) otomatik olarak önerecektir, bunları doğrulamalı ve kabul etmelisiniz. Dönem açılış ve kapanış etkinlikleri içinCDHDRveCDPOS'u birleştiren ayrı bir sorguya ihtiyacınız olacaktır. 4. Çıktı Alanlarını (Liste Alanları) Seçin: 'List fld. select.' sekmesine gidin. Mevcut tablolardan event log için gerekli alanları seçin. Bu,BKPF-BUKRS,BKPF-BELNR,BKPF-GJAHR,BKPF-MONAT,BKPF-CPUDT,BKPF-CPUTM,BKPF-USNAM,BKPF-BLART,BSEG-HKONT,BSEG-DMBTRve ihtiyaca göre diğerlerini içerir. 5. Giriş Parametrelerini (Seçim Alanları) Tanımlayın: 'Selection fields' sekmesine gidin. Yürütme sırasında verileri filtrelemek için kullanılacak alanları seçin. En önemli alanlarBKPF-BUKRS(Şirket Kodu) veBKPF-GJAHR(Mali Yıl) dır. AyrıcaBKPF-MONAT(Defter Kayıt Dönemi) veBKPF-BLART(Belge Türü) ekleyebilirsiniz. 6. Her Etkinlik İçin Varyantlar Oluşturun: SQVI farklı veri seçimlerini (bir SQL UNION gibi) birleştiremediği için sorguyu birden çok kez çalıştırmanız gerekir. Her etkinlik için (örn. 'Tahakkuk Veya Karşılık Kaydı Yapıldı'), sorguyu çalıştırın ve seçim ekranına tahakkuklarla ilgili belge türleri listesi gibi belirli filtre değerleri girin. Bu seçim kriterleri setini bir varyant olarak kaydedin. Bu işlemi her çekilebilir etkinlik için tekrarlayın. 7. Verileri Yürütün ve Çekin: Oluşturduğunuz her varyant için sorguyu yürütün. Bu, sorguyu o etkinlik için belirli filtrelerle çalıştıracaktır. 8. Sonuçları Dışa Aktarın: Sonuç ekranında verileri yerel bir dosyaya dışa aktarın. En yaygın format 'E-Tablo'dur. Her varyant için dışa aktarma işlemini tekrarlayın. 9. Verileri Birleştirin ve Dönüştürün: Dışa aktarılan dosyaları bir e-tablo programında açın veya bir scripting aracı kullanın. Tüm dosyalardaki verileri manuel olarak tek bir ana dosyada birleştirin. 10. Sabit ve Hesaplanmış Sütunlar Ekleyin: Birleştirilmiş dosyaya, SAP tablolarından doğrudan çekilmeyen sütunları ekleyin. Bu,(ActivityName)(verinin hangi varyanttan geldiğine göre manuel olarak ayarlayın),FinancialPeriod(Mali Yıl ve Dönemi birleştirerek),(EventTime)(tarih ve saat alanlarını birleştirerek),SourceSystemveLastDataUpdate'i içerir. 11. Yükleme İçin Formatlayın: Nihai dosyanın, process mining aracınız için gerekli sütun başlıklarıyla tam olarak eşleşen CSV veya Excel formatında kaydedildiğinden emin olun. Yüklemeden önce veri türlerini ve formatlamayı doğrulayın.
Konfigürasyon
- Veri Kaynağı: SAP Query'de (SQVI) Tablo Birleştirme. Ana tablolar BKPF, BSEG, CDHDR ve CDPOS'tur. * Tarih Aralığı: Desenleri belirlemek için en az 3 ila 6 tam finansal dönemlik veri çekilmesi önerilir. Filtreyi
BKPF-GJAHR(Mali Yıl) veBKPF-MONAT(Dönem) üzerine ayarlayın. * Şirket Kodu Filtresi: Veri hacmini sınırlamak ve analizi belirli tüzel kişiliklere odaklamak için her zamanBKPF-BUKRS(Şirket Kodu) ile filtreleyin. Tüm şirket kodları için tek seferde çekim yapılması önerilmez. * Belge Türü Filtresi: Tahakkuklar, düzeltmeler veya tersine çevirmeler gibi belirli etkinlikleri izole etmek içinBKPF-BLART(Belge Türü) üzerinde filtreler kullanın. Kuruluşunuz için ilgili belge türlerini edinmeniz gerekecektir. * Önkoşullar: Çekimi yapan kullanıcınınSQVIişlemini kullanma ve ilgili finansal tablolara (örn. yetkilendirme objesi S_TABU_DIS) görüntüleme erişim yetkisi olmalıdır. * Performans Hususları: BKPF ve BSEG'yi birleştirmek kaynak yoğun olabilir. Çekimi yoğun olmayan saatlerde çalıştırın. Çok geniş tarih aralıkları kullanmaktan veya Şirket Kodu filtresini açık bırakmaktan kaçının, çünkü bu durum bellek sorunlarına veya zaman aşımlarına yol açabilir.
a Örnek Sorgu config
/*
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 Kapsamı ve Tasarımı: Gerekli 12 etkinliğin her birini tanımlamak için özel mantığı tanımlayın. Kendi SAP ECC ortamınızdaki dönem sonu kapanış etkinlikleriyle ilişkili belge türlerini, G/L hesaplarını ve program adlarını onaylamak için iş süreci sahipleri ve SAP fonksiyonel analistleriyle danışın.
- ABAP Programı Oluşturun:
SE38(ABAP Editor) işlemini kullanarak, örneğinZ_PM_R2R_EXTRACTIONadında yeni bir yürütülebilir program oluşturun. Açıklayıcı bir başlık sağlayın ve program türünü 'Yürütülebilir Program' olarak ayarlayın. - Seçim Ekranını Tanımlayın: Programda,
PARAMETERSveSELECT-OPTIONSkullanarak bir seçim ekranı tanımlayın. Bu ekran, kullanıcıların Şirket Kodu (BUKRS), Mali Yıl (GJAHR) ve Defter Kayıt Dönemi (MONAT) dahil olmak üzere çekim kapsamını belirtmelerini sağlayacaktır. Bu, veri hacmini kontrol etmek için büyük önem taşır. - Veri Yapılarını Bildirin: Nihai event log verilerini tutacak bir iç tablo yapısı tanımlayın. Bu yapı, tüm gerekli ve önerilen nitelikleri içermelidir:
FinancialPeriod,(ActivityName),(EventTime),SourceSystem,LastDataUpdate,BUKRS,BELNR,USNAM,HKONT,BLART,DMBTRveJournalEntryType. - Veri Çekim Mantığını Uygulayın: 12 etkinliğin her biri için veri seçmek üzere temel ABAP mantığını yazın. Her etkinlik için ilgili SAP tablolarını (örn. BKPF, BSEG, TBTCO, CDHDR) sorgulayın ve ara bir iç tabloyu doldurun. Ekteki ABAP sorgu bölümünde sağlanan mantığı şablon olarak kullanın.
- Çıkarılan Etkinlikleri Belirleyin: Standart SAP'de açıkça kaydedilmeyen 'Hesap Mutabakatı Başlatıldı' veya 'Mutabakat İncelendi' gibi etkinlikler için üzerinde anlaşılan çıkarım mantığını uygulayın. Bu, belirli bir raporun ilk çalıştırılmasını kontrol etmeyi veya mevcutsa özel 'Z-tablolarını' sorgulamayı içerebilir.
- Event Verilerini Konsolide Edin: Tüm bireysel etkinlikler için veri çekildikten sonra, her ara tablodan kayıtları nihai konsolide iç tabloya ekleyin.
(EventTime)alanının belge kaydı tarihi/saati veya işin başlangıç tarihi/saati gibi ilgili kaynak alandan doğru şekilde doldurulduğundan emin olun. - Verileri Standardize Edin ve Formatlayın: Çıktıdan önce temel alanları standardize edin. Mali yılı ve dönemi
FinancialPeriodtanımlayıcısında birleştirin.SourceSystemveLastDataUpdateiçin statik değerler ayarlayın. Zaman damgalarıin tutarlı bir formatta olduğundan emin olun. - Çıktı Fonksiyonelliği Geliştirin: Nihai iç tabloyu dışa aktarmak için programa fonksiyonellik ekleyin. En yaygın yöntem, verileri SAP Uygulama Sunucusunda bir CSV veya tab ile ayrılmış dosyaya yazmak (
OPEN DATASETkullanarak) veya kullanıcının doğrudan yerel makinesine indirmesine izin vermektir (GUI_DOWNLOADfonksiyon modülünü kullanarak). - Test Edin ve Doğrulayın: Programı, birden çok şirket kodunu ve dönemi kapsayan temsili bir veri setiyle detaylı bir şekilde test edin. Veri doğruluğunu ve eksiksizliğini güçlüak için doğrulama adımlarını kullanın. Fonksiyonel uzmanlardan gelen geri bildirimlere dayanarak seçim mantığını iyileştirin.
- Yürütmeyi Planlayın (Opsiyonel): Doğrulandıktan sonra, program
SM36işlemi aracılığıyla bir arka plan işi olarak çalıştırılmak üzere planlanabilir. Bu, event lognun manuel müdahale olmaksızın otomatik, periyodik olarak çekilmesine sunar.
Konfigürasyon
- Selection Criteria: Programın verileri filtrelemek için bir seçim ekranı olmalıdır. Başlıca filtreler şunlardır:
Şirket Kodu (BUKRS): İlgili tüzel kişiliklerle kapsamı sınırlamak için zorunludur.Mali Yıl (GJAHR): Çekim için ana yılı tanımlamak amacıyla zorunludur.Defter Kayıt Dönemi (MONAT): Belirli finansal dönemleri seçmek için zorunludur.
- Etkinliğe Özel Konfigürasyon: Birçok seçim, sizin özel SAP konfigürasyonunuza bağlıdır. Bunlar, program içinde parametre veya sabit olarak yapılandırılabilir olmalıdır:
Tahakkuk/Karşılık Belge Türleri: Tahakkuk ve karşılık kayıtlarını tanımlamak için kullanılan belge türlerinin (BLART) bir listesi.Düzeltme Kayıt Belge Türleri: Düzeltme yevmiye kayıtlarını tanımlamak için kullanılan belge türlerinin bir listesi.Arka Plan İşi/Program Adları: Yabancı Para Değerlemesi (örn.FAGL_FCV), GR/IR Mahsuplaşması (örn.SAPF124), Mizan raporları ve Finansal Tablo oluşturma (örn.RFBILA00) için kullanılan programların teknik adları.
- Tarih Aralığı: Birincil seçim mali yıl ve döneme göre olsa da, temel mantık olayların tam tarihini ve saatini göz önünde bulundurmalıdır. İlk analiz için, son tamamlanmış 3 ila 6 finansal dönemin verilerinin çekilmesi önerilir.
- Performans: Büyük SAP ortamları için programın performansı büyük önem taşır. Veritabanı seçimlerinin, özellikle
BKPFveBSEGgibi tablolarda index alanlarını kullanmasını sağlayın. Tüm alanları seçmekten (SELECT *) kaçının ve gerekirse verileri yönetilebilir paketler halinde işleyin. - Yetkilendirmeler: Bu programı çalıştıran kullanıcı veya servis hesabının, sorgulanan tüm tablolara (
BKPF,BSEG,TBTCO,TBTCP,CDHDR,CDPOS) erişim veSE38(geliştirme için) veSM37/SM36(planlama ve izleme için) gibi işlemleri yürütme yetkisine sahip olması gerekir.
a Ö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
- Önkoşulları Toplayın: Temel SAP ECC veritabanına salt okunur erişim kimlik bilgilerini edinin. Veritabanı yöneticiniz tarafından sağlanan tipik olarak
SAPSR3veya benzeri bir ada sahip doğru veritabanı şemasını belirleyin. - Sistem Konfigürasyonunu Belirleyin: Analiz etmeniz gereken belirli
Şirket Kodlarını(BUKRS) ve finansal dönemleri belirlemek için SAP Finans ekibinizle danışın. En önemlisi, sisteminizdeki 'Tahakkuk Veya Karşılık Kaydı Yapıldı', 'Düzeltme Yevmiye Kaydı Yapıldı' ve 'Şirketler Arası' işlemler için kullanılan belirliBelge Türlerini(BLART) belirleyin. - Program ve İş Adlarını Doğrulayın: Yabancı Para Değerlemesi (örn.
FAGL_FCV), GR/IR Mahsuplaşması (örn.SAPF124), Mizan raporları (örn.RFBILA00) ve Finansal Tablolar oluşturma (örn.RFBILA00) gibi ana toplu işlerin program adlarını onaylayın. BunlarSM37işleminde planlanmış işler kontrol edilerek bulunabilir. - SQL Sorgusunu Özelleştirin: Sağlanan SQL sorgusunu bir metin düzenleyiciye veya SQL istemcisine kopyalayın.
{{start_date}},{{end_date}}ve{{company_codes}}placeholder değişkenlerini analiziniz için gerçek değerlerle değiştirin. Önceki adımlarda toplanan bilgilere göre belge türleri ve program adları listelerini güncelleyin. - Veritabanına Bağlanın: Edindiğiniz kimlik bilgilerini kullanarak SAP veritabanına bağlanmak için DBeaver, SQL Server Management Studio veya Oracle SQL Developer gibi standart bir SQL istemci aracı kullanın.
- Sorguyu Çalışanştırın: Özelleştirilmiş SQL sorgusunu veritabanına karşı çalıştırın. Tarih aralığına ve finans tablolarınızın boyutuna bağlı olarak, bu sorgunun tamamlanması önemli miktarda zaman alabilir.
- İlk Sonuçları İnceleyin: Sorgu tamamlandıktan sonra, çıktıyı hızlıca gözden geçirin. Makul sayıda satır olup olmadığını kontrol edin, tüm sütunların mevcut olduğundan emin olun ve farklı
(ActivityName)değerlerinin sonuçlara dahil edildiğini doğrulayın. - Veriyi Dışa Aktarın: Tam sonuç setini SQL istemcinizden bir CSV dosyasına dışa aktarın. Karakter sorunlarını önlemek için dosyanın UTF-8 kodlamasıyla kaydedildiğinden emin olun.
- Yüklemeye Hazırlanın: Bir process mining aracına yüklemeden önce, CSV dosyasındaki sütun başlıklarının gerekli öznitelik adlarıyla (
FinancialPeriod,(ActivityName),(EventTime), vb.) tam olarak eşleştiğini onaylayın. Ayrıca,(EventTime)sütunununYYYY-MM-DD HH:MI:SSgibi tutarlı bir zaman damgası (zaman damgası) formatında olduğunu doğrulayın.
Konfigürasyon
- Veritabanı Kimlik Bilgileri: Temel SAP finans ve sistem tablolarına erişimi olan salt okunur bir veritabanı kullanıcısı gereklidir. Bu,
BKPF,BSEG,TBTCO,CDHDRveCDPOSgibi tabloları içerir. - Tarih Aralığı: Anlamlı süreç varyasyonlarını yakalamak için en az 3 ila 6 tam finansal dönem için veri çekmenizi öneririz. Daha büyük tarih aralıklarının sorgu yürütme süresini önemli ölçüde artıracağını unutmayın.
- Şirket Kodları (
BUKRS): Her zaman belirli bir şirket kodu listesine göre filtreleyin. Büyük bir sistemde tüm şirket kodları için sorguyu çalıştırmak mümkün değildir ve muhtemelen performans sorunlarına neden olacaktır. - Belge Türleri (
BLART): Tahakkuklar ve düzeltmeler gibi yevmiye kaydı türlerinin belirlenmesi, tamamen kuruluşunuzun özel SAP konfigürasyonuna bağlıdır. Doğru etkinlik sınıflandırması için sorgununWHEREcümlelerinde doğru belge türü kodlarını güçlüalısınız. - Program ve İş Adları: Sorgu, otomatik kapanış adımları için ortak program adlarını kullanır. Sisteminiz özel sarıcı programlar veya farklı iş adları kullanabilir. Bunları
SM37işleminde doğrulayın ve sorguyu buna göre güncelleyin. - Performans Hususları: Bu sorgu, özellikle
BSEGveCDPOSolmak üzere çok büyük tablolara erişir. Sistem performansını etkilememek için bu çekimi iş dışı saatlerde çalıştırmanız şiddetle tavsiye edilir. Dar tarih ve şirket kodu filtreleri uygulamak, yürütme süresini yönetmenin en etkili yoludur.
a Ö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'
;