Kayda Alma ve Raporlama - Dönem Sonu Kapanışı ve Mutabakatı Veri Şablonunuz
Kayda Alma ve Raporlama - Dönem Sonu Kapanışı ve Mutabakatı Veri Şablonunuz
- Toplanması Önerilen Nitelikler
- Takip Edilmesi Gereken Temel Aktiviteler
- Veri Çekim Rehberliği
Record to Report - Dönem Kapanışı ve Mutabakat Öznitelikleri
| Ad | Açıklama | ||
|---|---|---|---|
| Finansal 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 tanımlayıcısı olarak hizmet eder (ö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 kapsamlı bir analizine olanak tanır. 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 sağlar. 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 Analizi çerçeveleyen temel vaka 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 olanak tanır. 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 iş Event'inin 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 omurgasını oluşturur. Faaliyetleri analiz etmek Process Mining için temeldir. 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 kritik öneme sahiptir. Neden önemli 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 olanak tanır. 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ı YapıldıHesap 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 kritik öneme sahiptir. Tek sistemli bir ortamda bile, veri yönetişimi, denetim ve sorun giderme için önemli bir metadata parçası olarak hizmet eder. Verinin kaynağını doğrular, bu da analize güven oluşturmak ve veri geçmişinin (data lineage) açık olmasını sağlamak için esastır. Neden önemli Veri yönetimi için verinin kaynağını doğrulayan temel veri geçmişi (data lineage) sağlar ve çoklu sistem ortamlarında süreçleri ayırt etmek için kritik öneme sahiptir. 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 event'in ne zaman gerçekleştiğini gösteren zaman damgası. | ||
| Açıklama Event Time, süreçteki her bir faaliyet için kesin 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ı, süreç akışını yeniden yapılandırmak için Event'leri doğru sıralamak için hayati öneme sahiptir. 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 Zorunlu bir öznitelik olarak, event'lerin kronolojik sırasını sağlar; 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ı. | ||
| 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ç içgörülerinin ne kadar yeni olduğu hakkında bağlam sağlar. Dashboard'lar için, özellikle gerçek zamanlı ilerlemeyi izleyenler için, bu 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 hayati öneme sahiptir. Kullanıcı beklentilerini yönetir ve analizi doğru yorumlamak için kritik öneme sahiptir. Neden önemli Kullanıcılara verinin güncelliği hakkında bilgi verir; bu, analizlerin ve Dashboard'ların zamanında ve alakalı olmasını sağlamak için kritik öneme sahiptir. Nereden alınır Bu timestamp, 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 anahtardır. 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 paha biçilmezdir. 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, içgörüden kaynak işleme doğrudan bir bağlantı sağlar. Neden önemli SAP'deki kaynak işleme doğrudan bir bağlantı sağlar, bu da süreç görünümünden belirli muhasebe kayıtlarına detaylı inceleme (drill-down) analizine olanak tanır. 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ü güçlü 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 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 mümkün kılar. 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 esastır. 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 sağlar. Neden önemli Mutabakatların ve düzeltme kayıtlarının hedefe yönelik analizini sağlar, 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 esastır. 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 olanak tanır. Analizi segmentlere ayırmak için önemli bir boyuttur. Neden önemli Farklı tüzel kişilikler arasında dönem kapanış performansı ve uyumluluğunun karşılaştırılmasına olanak tanır, bu da grup düzeyindeki finansal analiz için kritik öneme sahiptir. 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 kritik öneme sahiptir. 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 İş yükü dağılımının, ekip performansının analizini ve belirli kişilere bağlı süreç sapmalarının belirlenmesini sağlar. 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 Biriminde 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 kritik öneme sahiptir. Ö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 İşlemlerin finansal etkisini nicelendirir, bu da yüksek değerli düzeltme kayıtlarını belirleme gibi önemlilik (materiality) bazlı analize olanak tanır. Nereden alınır Belge satır öğesi tablosu BSEG'de (DMBTR) mevcuttur. Örnekler 1500.75-25000.00123456.00 | |||
| Yevmiye Kaydı Tipi 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 temeldir. 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 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ü sağlar. 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'ını 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 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 | |||
| Dönem Kapanış Döngü Süresi PeriodCloseCycleTime | Tek bir finansal dönem için dönem kapanış sürecinin başlangıcından bitişine kadar geçen toplam süre. | ||
| Açıklama Bu hesaplanmış metrik, bir finansal dönem için tüm dönem kapanışının uçtan uca süresini ölçer. Tipik olarak, o dönem içindeki ilk ve son kaydedilen faaliyetler arasındaki zaman farkı olarak hesaplanır. Bu, Record to Report süreci için birincil Temel Performans Göstergesi (KPI)'dir. Kapanışın genel verimliliğinin üst düzey bir ölçümünü sağlar. Bu metriği zaman içinde görselleştiren Dashboard'lar, kapanışı hızlandırmak gibi stratejik hedeflere doğru ilerlemeyi izlemek için esastır. Neden önemli Bu, finansal kapanışın genel verimliliğini ve hızını ölçen, kapanış döngülerini kısaltma stratejik hedeflerini doğrudan destekleyen kritik bir KPI'dır. Nereden alınır Bu, her Finansal Dönem (CaseId) için maksimum ve minimum EventTime arasındaki fark alınarak Process Mining aracı içinde hesaplanan bir metriktir. Örnekler 5 gün 4 saat 30 dakika6.2 gün120.5 saat | |||
| 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 kilometre taşlarının veya nihai kapanışın tamamlanması gereken son tarihtir. Bu öznitelik, herhangi bir performans veya uyumlulukla ilgili analiz için esastır. 'Zamanında Dönem Kapanış Oranı' KPI'ını hesaplamak ve 'Kapanış Uyumluluğu ve Gecikmiş Görevler' Dashboard'ını güçlendirmek 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 sağlar. Neden önemli Kapanış etkinliklerinin zamanında tamamlanıp tamamlanmadığını ölçmek için bir temel sağlayarak uyumluluk ve performans izlemeyi mümkün kılar, 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ğinin önemli bir bileşenidir ve tüm işlemler için temel bağlamı sağlar. Genellikle vaka kimliğinin 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 olanak tanır, bu da birden fazla yıl boyunca performanstaki iyileşmeleri veya bozulmaları belirlemeye yardımcı olur. Neden önemli Önemli zamansal bağlam sağlar ve kapanış sürecinin yıllar arası performans karşılaştırmalarına olanak tanır. 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 sağlar ve mutabakat darboğazlarını ve ekip iş yükünü izleyen Dashboard'lar için kritik öneme sahiptir. Neden önemli Mutabakat Workflow'una görünürlük sağlayarak ilerlemenin takibini, darboğazların belirlenmesini ve inceleme ile onay sürelerinin ölçülmesini mümkün kılar. 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 anahtardır. 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 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 kritik öneme sahiptir. 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 içgörü; ö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 Hataların ve tekrar işlerinin temel nedenlerine doğrudan içgörü 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 esastır. Bu öznitelik, 'Şirketler Arası Mutabakat Akışı' Dashboard'ını 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 Ş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 olanak tanır. 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'ını ve 'Zamanında Dönem Kapanış Oranı' KPI'ını doğrudan destekler. Zaman çizelgesi sapmalarının açık ve anlık bir sinyalini sağlar, yöneticilerin gecikmiş görevleri hızla belirlemesine, genel zaman çizelgesi üzerindeki etkiyi anlamasına ve ekipleri son teslim tarihlerine uymaktan sorumlu tutmasına olanak tanır. Neden önemli Zaman çizelgelerine uyumsuzluğun net bir göstergesini sunar, bu da gecikmiş görevlerin hızla belirlenmesine ve zamanında performansın ölçülmesine olanak tanır. 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 esastır ve 'Mutabakat Tekrar İşleri Örnekleri' Dashboard'ını 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 Düzeltme veya tekrar eden faaliyetleri işaretleyerek süreç verimsizliğini nicelendirir, 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 özniteliklere (örn. ReversalReason boş değilse) göre tanımlanır. Örnekler truefalse | |||
Record to Report - 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 olanak tanır. 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 Bu aktivite, dönem kapanış süreci vakası için kesin başlangıç Event'i olarak hizmet eder. Bu noktadan itibaren geçen süreyi analiz etmek, finansal dönemin tam yaşam 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ü sağlar ve açık bir konfigürasyon değişikliğidir. | ||
| Neden önemli 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 kritik öneme sahiptir. 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ı Yapıldı | 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 Bu, Düzeltme Kayıtları Hacim Analizi için çok önemlidir. 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 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 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 esastır. 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ıştırması | 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 Bu, çok uluslu kuruluşlarda doğru finansal raporlamayı sağlamak için kritik 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 timestamp'lerini sağlar. Yakala FAGL_FC_VALUATION veya SAPF100 programı için toplu iş log'larından (TBTCO tablosu) alınır. Event tipi explicit | |||
| GR/IR Temizleme Çalıştırması Gerçekleştirildi | 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 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ı sağlar ve manuel takip gerektiren istisna hacmini nicelendirmeye 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 timestamp'leri sağlar. Yakala SAPF124 temizleme programı için toplu iş log'larından (TBTCO tablosu) alınır. Event tipi explicit | |||
| İptal Kaydı Yapıldı | 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 Yüksek sayıda tersine çevirme, veri giriş doğruluğu veya süreç kontrolleriyle ilgili potansiyel sorunlara işaret eder. Bu event'leri 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 | |||
| 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 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 İ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 Ş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 kritik öneme sahiptir. 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 timestamp'i olarak hizmet eder. Ş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ı Yapıldı | 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 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 | |||
Veri Çekim 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 'Kayıttan 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 kritik öneme sahiptir. - 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 öznitelikleri 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.
EventTimealanı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. Timestamp'lerin 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 kapsamlı bir şekilde test edin. Veri doğruluğunu ve eksiksizliğini sağlamak 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 (İsteğe Bağlı): Doğrulandıktan sonra, program
SM36işlemi aracılığıyla bir arka plan işi olarak çalıştırılmak üzere planlanabilir. Bu, event log'unun manuel müdahale olmaksızın otomatik, periyodik olarak çekilmesine olanak tanır.
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 event'lerin 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ı kritiktir. 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ış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ı
ActivityNamedeğ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,EventTimesütunununYYYY-MM-DD HH:MI:SSgibi tutarlı bir timestamp 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ı sağlamalı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'
;