Kayıttan Raporlamaya - Dönem Kapanışı ve Mutabakat Veri Templateiniz
Kayıttan Raporlamaya - Dönem Kapanışı ve Mutabakat Veri Templateiniz
- Toplanması önerilen öznitelikler
- İzlenecek temel faaliyetler
- Veri çıkarma yönlendirmesi
Kayıttan Raporlamaya - Dönem kapanışı ve mutabakat öznitelikleri
| Ad | Açıklama | ||
|---|---|---|---|
| Mali dönem FinancialPeriod | Genellikle mali yıl ile kayıt döneminin birleştirilmesiyle oluşturulan, finansal raporlama döngüsüne ait benzersiz tanımlayıcıdır. | ||
| Açıklama Mali Dönem, belirli bir raporlama döngüsündeki hesap kapatma ve mutabakatla ilgili tüm faaliyetleri gruplandıran birincil vaka tanımlayıcısıdır. Örneğin Aralık 2023 için '2023-12' kullanılabilir. Bu sayede her bir dönem için dönem kapatma sürecinin baştan sona ayrıntılı biçimde analiz edilmesi mümkün olur. Analizde her kapanışın uçtan uca çevrim süresini izlemeyi, farklı dönemlerdeki performansı karşılaştırmayı ve eğilimleri veya anormallikleri belirlemeyi sağlar. Her mali dönem benzersiz bir vaka olarak tanımlandığında, kapanış sürecinin zaman içindeki verimliliği, darboğazları ve farklılıkları görselleştirilebilir ve ölçülebilir. Neden önemli? Analizin çerçevesini oluşturan temel vaka tanımlayıcısıdır. Kapanış çevrim sürelerinin, iş yüklerinin ve süreç uyumluluğunun dönemler arasında karşılaştırılmasını sağlar. Nereden alınır? Bu öznitelik genellikle finans belgelerinin başlıklarındaki Mali Yıl (GJAHR) ile Kayıt Döneminin (MONAT) birleştirilmesiyle, örneğin BKPF tablosundan türetilir. Örnekler 2023-122024-032023-Q4 | |||
| Faaliyet ActivityName | Dönem kapatma sürecinde gerçekleştirilen belirli iş olayının veya görevin adı. | ||
| Açıklama Bu öznitelik, Kayıttan Raporlamaya döngüsünde gerçekleştirilen 'Düzeltme yevmiye kaydı kaydedildi' veya 'Finansal tablolar oluşturuldu' gibi farklı adımları kaydeder. Dönem kapatmayı oluşturan olayların sırasını göstererek süreç haritasının temelini oluşturur. Faaliyetlerin analiz edilmesi Process Mining için temel bir adımdır. Süreç akışını görselleştirmeye, görevlerin sırasını belirlemeye, süreç farklılıklarını keşfetmeye ve her adımın sıklığı ile süresini ölçmeye yardımcı olur. Bu, darboğazları, standart dışı süreç yollarını ve standardizasyon ya da otomasyon fırsatlarını belirlemek için gereklidir. Neden önemli? Bu öznitelik, dönem kapatmadaki görev sırasını görselleştirmek ve analiz etmek için süreç haritasının oluşturulmasında zorunludur. Nereden alınır? SAP işlem kodları (TCODE), belge türleri (BLART) veya belirli program çalıştırmalarının (ör. yabancı para değerlemesi için FAGL_FCV) birleşiminden türetilir. Örnekler Düzeltme yevmiye kaydı kaydedildiHesap mutabakatı başlatıldıKayıt dönemi kapatıldı | |||
| Kaynak sistem SourceSystem | Verilerin çıkarıldığı kaynak sistemin tanımlayıcısı. | ||
| Açıklama Bu öznitelik, olay verilerinin kaynağını, örneğin belirli SAP ECC örneğinin adını veya kimliğini belirtir. Birden fazla ERP veya finans sistemi bulunan kuruluşlarda bu alan, farklı kaynaklardan gelen verileri ayırt etmek için gereklidir. Tek sistemli ortamlarda bile veri yönetişimi, denetim ve sorun giderme için önemli bir üst veri parçasıdır. Verilerin kaynağını doğrular; bu da analize duyulan güvenin oluşturulması ve veri soyunun açıkça izlenmesi için gereklidir. Neden önemli? Yönetişim amacıyla verilerin kaynağını doğrulayarak gerekli veri soyunu sağlar. Birden fazla sistem bulunan ortamlarda süreçleri ayırt etmek için gereklidir. Nereden alınır? Genellikle veri çıkarma sırasında eklenen statik bir değerdir ve belirli SAP istemcisini ve sistem kimliğini belirtir (ör. T000 tablosundan). Örnekler ECC_PROD_100SAP_E74_200ECC_FINANCE | |||
| Olay zamanı EventTime | Bir faaliyetin veya olayın gerçekleştiği zamanı gösteren zaman damgası. | ||
| Açıklama Olay Zamanı, süreçteki her faaliyet için kesin tarih ve saati sağlar ve analizin kronolojik temelini oluşturur. Genellikle belgenin oluşturulma tarihi ile saatinin birleştirilmesiyle elde edilir. Olayların doğru sıraya konularak süreç akışının yeniden oluşturulması için bu zaman damgası gereklidir. Faaliyetler arasındaki çevrim süreleri, bekleme süreleri ve toplam dönem kapatma süresi dahil olmak üzere süreye dayalı tüm metrikleri hesaplamak için kullanılır. Zaman damgalarının analiz edilmesi, gecikmelerin belirlenmesine ve işin zamana göre dağılımının anlaşılmasına yardımcı olur. Neden önemli? Zorunlu bir öznitelik olarak olayların kronolojik sırasını sağlar. Bu sıra, çevrim sürelerinin hesaplanması ve süreç darboğazlarının keşfedilmesi için gereklidir. Nereden alınır? Finans belgeleri için genellikle BKPF tablosundaki belge giriş tarihi (CPUDT) ve giriş saatinden (CPUTM) alınır. Örnekler 2023-12-28T14:30:15Z2024-01-02T09:05:00Z2024-01-05T17:21:45Z | |||
| Son veri güncellemesi LastDataUpdate | Verilerin kaynak sistemden en son yenilendiği veya çıkarıldığı zamanı gösteren zaman damgası. | ||
| Açıklama Bu öznitelik, analiz edilen verilerin güncelliğini gösterir. Veri hattının en son çalıştığı tarih ve saati göstererek süreç içgörülerinin ne kadar güncel olduğu hakkında bilgi sağlar. Özellikle gerçek zamanlı ilerlemeyi izleyen Dashboardlar için bu zaman damgası, kullanıcıların en güncel bilgileri mi yoksa önceki güne ait verileri mi görüntülediğini anlaması açısından büyük önem taşır. Kullanıcı beklentilerini yönetir ve analizi doğru yorumlamak için gereklidir. Neden önemli? Analizlerin ve Dashboardların zamanında ve ilgili olmasını sağlamak için büyük önem taşıyan veri güncelliği hakkında kullanıcıları bilgilendirir. Nereden alınır? Bu 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 muhasebe belgesinin benzersiz tanımlayıcısı. | ||
| Açıklama Muhasebe Belgesi Numarası, SAP içindeki finansal kayıtların birincil anahtarıdır. Her yevmiye kaydına, faturaya veya ödeme belgesine benzersiz bir numara atanır. Belge numarası genellikle üst düzey süreç analizinde kullanılmasa da ayrıntıya inme olanağı sağlar. Analistler, bir Process Mining Dashboardundan belge numarasını kullanarak olağan dışı durumları, örneğin yüksek tutarlı bir düzeltme kaydını veya geciken bir mutabakat kalemini ayrıntılı incelemek üzere doğrudan SAP içindeki ilgili işleme gidebilir. Böylece içgörü ile kaynak işlem arasında doğrudan bağlantı kurulur. Neden önemli? Kaynak SAP işlemine doğrudan bağlantı sağlayarak süreç görünümünden belirli muhasebe kayıtlarına ayrıntılı inceleme yapılmasına olanak tanır. Nereden alınır? Birincil anahtar olarak BKPF tablosunda (BELNR) bulunur. Örnekler 100000456719000001233000008901 | |||
| Belge türü BLART | Farklı muhasebe belgesi türlerini sınıflandıran kod. | ||
| Açıklama Belge Türü, SAP'de satıcı faturaları (KR), müşteri ödemeleri (DZ) ve büyük defter kayıtları (SA) gibi çeşitli iş işlemlerini birbirinden ayırmak için kullanılır. Belge numarası aralığı gibi özellikleri de kontrol eder. Dönem sonu kapanış analizinde belge türü güçlü bir filtredir. Tahakkuk, karşılık veya ters kayıt gibi belirli faaliyet türlerini ayırmak için kullanılabilir. Bu, kapanışla ilgili farklı işlemlerin hacminin ve finansal etkisinin analiz edilmesine ve süreç modelinde belirli faaliyetlerin tanımlanmasına yardımcı olur. Neden önemli? İşlemlerin sınıflandırılmasına ve filtrelenmesine yardımcı olur. Böylece tahakkuk, ters kayıt veya şirketler arası kayıt gibi belirli faaliyetler ayrıştırılıp analiz edilebilir. Nereden alınır? Belge başlığı tablosu BKPF'de (BLART) bulunur. Örnekler SAABKR | |||
| Büyük defter hesabı HKONT | Bir kalemin kaydedildiği büyük defter hesap numarası. | ||
| Açıklama Genel Muhasebe (GL) Hesabı, finans alanında 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, etkinlikleri GL hesabına göre analiz etmek Account Reconciliation Bottlenecks ve Adjusting Entries Volume Analysis Dashboardları için gereklidir. Hangi hesapların mutabakatının daha zor olduğunu, hangilerinin daha fazla düzeltme gerektirdiğini ve önemli yanlış beyan riskinin nerede daha yüksek olabileceğini belirlemeye yardımcı olur. Bu odaklanma, ekiplerin sorunlu hesaplara öncelik vermesini sağlar. Neden önemli? Mutabakatların ve düzeltme kayıtlarının hedefli biçimde analiz edilmesini sağlar. Gecikmelere yol açan veya sık sık düzeltme gerektiren sorunlu hesapların belirlenmesine yardımcı olur. Nereden alınır? Finans belgesi kalem tablosu BSEG'de (HKONT) bulunur. Örnekler 113100400500750000 | |||
| Şirket kodu BUKRS | Finansal tabloların oluşturulduğu tüzel kişiyi temsil eden organizasyon birimi. | ||
| Açıklama Şirket Kodu, SAP Financials içindeki temel organizasyon birimidir. Kendi dengeli defterlerine sahip bağımsız bir şirketi temsil eder. Tüm finansal işlemler şirket kodu düzeyinde kaydedilir. Process Mining'de Şirket Koduna göre filtreleme, bir şirket içindeki farklı tüzel kişilerin dönem kapatma süreçlerini karşılaştırmak için gereklidir. Bu sayede yüksek performans gösteren tüzel kişilerdeki iyi uygulamalar belirlenebilir; gecikme, yüksek düzeltme hacmi veya süreç sapmaları yaşayan tüzel kişiler ortaya çıkarılabilir. Analizi bölümlere ayırmak için temel bir boyuttur. Neden önemli? Farklı tüzel kişilerde dönem kapatma performansının ve uyumluluğunun karşılaştırılmasını sağlar. Bu, grup düzeyinde finansal analiz için gereklidir. Nereden alınır? Bu alan SAP'deki neredeyse tüm finans belgesi tablolarında, özellikle BKPF (Başlık) ve BSEG (Kalem) tablolarında bulunur. Örnekler 10002000US01DE01 | |||
| Sorumlu kullanıcı USNAM | İşlemi oluşturan veya çalıştıran kişinin SAP kullanıcı kimliği. | ||
| Açıklama Bu alan, bir belgeyi kaydeden, rapor çalıştıran veya kapanışla ilgili bir programı yürüten kullanıcıyı kaydeder. Belirli bir etkinlikten sorumlu kişiyi gösterir. Kullanıcı bazında analiz yapmak, iş yükü dağılımını anlamak, eğitim ihtiyaçlarını belirlemek ve süreç sapmalarını incelemek için büyük önem taşır. Kullanıcı başına etkinlikleri gösteren Dashboardlar, aşırı iş yükü taşıyan ekip üyelerini veya standart dışı prosedürleri izleyen kişileri ortaya çıkarabilir. Ayrıca finans ekibinde performans yönetimine ve kaynak tahsisine yardımcı olur. Neden önemli? İş yükü dağılımının ve ekip performansının analiz edilmesini, 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) bulunur. Toplu işler için TBTCO'da (SDLUNAME) yer alabilir. Örnekler JSMITHRDOEFIN_ADMIN | |||
| Yerel para birimindeki 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 gösterir. İşlemin genel muhasebe üzerindeki etkisini ölçen temel nicel göstergedir. Tutarı analiz etmek, sorunlara öncelik vermek ve finansal riski anlamak için gereklidir. Örneğin Adjusting Entries Volume Analysis Dashboardu, düşük tutarlı çok sayıda düzeltme ile yüksek tutarlı az sayıda düzeltmeyi ayırt edebildiğinde çok daha faydalı olur. Böylece dikkat, finansal açıdan önemli işlemlere yönlendirilebilir. Neden önemli? İşlemlerin finansal etkisini ölçer ve yüksek tutarlı düzeltme kayıtlarını belirlemek gibi önemlilik düzeyine dayalı analiz yapılmasını sağlar. Nereden alınır? Belge kalem tablosu BSEG'de (DMBTR) bulunur. Örnekler 1500.75-25000.00123456.00 | |||
| Yevmiye kaydı türü JournalEntryType | 'Standart', 'Düzeltme', 'Tahakkuk' veya 'Ters kayıt' gibi yevmiye kayıtlarının sınıflandırması. | ||
| Açıklama Bu, finansal belgeleri kapanış sürecindeki iş amacına göre sınıflandıran türetilmiş bir özniteliktir. Genellikle Belge Türü (BLART), Ters Kayıt Nedeni (STGRD) veya kullanılan belirli GL hesaplarının birleşimine göre belirlenir. Bu sınıflandırma, Adjusting Entries Volume Analysis Dashboardu ve ilgili KPI’lar için temel oluşturur. Düzeltme veya tahakkuk kayıtlarını açıkça belirleyen analistler, bunların hacmini ve değerini ölçebilir, zaman içindeki eğilimleri izleyebilir ve neden gerekli olduklarını inceleyebilir. Böylece rutin operasyonel kayıtlar dönem sonu düzeltmelerinden ayrılabilir. Neden önemli? Kayıtları hedefli analiz için sınıflandırır. Süreç sağlığını gösteren düzeltme ve tahakkuk gibi temel kayıt türlerinin izlenmesini ve ölçülmesini sağlar. Nereden alınır? Bu, türetilmiş bir alandır. Mantık, genellikle BKPF'deki Belge Türü (BLART) gibi alanlar kullanılarak iş kurallarına göre tanımlanmalıdır. Örnekler DüzeltmeTahakkukTers KayıtStandart | |||
| Departman Department | Faaliyetten veya işlemden sorumlu işlevsel departman ya da maliyet merkezi. | ||
| Açıklama Bu öznitelik, bir işlemle ilişkili Finance, Sales veya Logistics gibi iş departmanını gösterir. Genellikle bir kayda bağlı Cost Center ana verisinden veya kullanıcının ana verilerinden türetilir. Departman bazında analiz yapmak, Close Team Workload Distribution Dashboardunu destekler. Farklı işlevlerin 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. Kapanış sürecini etkileyen ve temel finans ekibinin dışında kalan alanları ortaya çıkarabilir. Neden önemli? Farklı işlevlerdeki iş yükünün ve süreç uyumunun analiz edilmesine 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 (KOSTL) alanından veya sorumlu kullanıcının İK ana verilerinden türetilir. Birden fazla tablonun birleştirilmesi gerekebilir. Örnekler Kurumsal FinansBorçlar MuhasebesiFP&A | |||
| Hedef tamamlanma tarihi TargetCompletionDate | Bir faaliyet veya tüm dönem kapatma süreci için planlanan son tarih ya da tamamlanması gereken tarih. | ||
| Açıklama Hedef Tamamlanma Tarihi, dönem kapanışı sürecinin ölçüldüğü takvimi gösterir. Belirli kilometre taşlarının veya kapanışın tamamının bitirilmesi gereken son tarihtir. Bu öznitelik, performans veya uyumlulukla ilgili her türlü analiz için gereklidir. On-Time Period Close Rate KPI’ını hesaplamak ve Close Compliance & Overdue Tasks Dashboardunu oluşturmak için kullanılır. Sistem, gerçek olay zamanını bu hedef tarihle karşılaştırarak görevlerin planlandığı gibi ilerleyip ilerlemediğini, gecikip gecikmediğini veya gecikme riski taşıyıp taşımadığını belirleyebilir. Böylece kapanış süreci proaktif biçimde yönetilebilir. Neden önemli? Kapanış faaliyetlerinin zamanında tamamlanıp tamamlanmadığını ölçmek için bir temel sağlayarak uyumluluk ve performans izlemeyi mümkün kılar ve zamanında teslimat KPI'larını destekler. Nereden alınır? Bu bilgi genellikle ayrı bir takvimde, kapanış cockpit aracında (SAP Financial Closing cockpit gibi) veya bir elektronik tabloda tutulan ana verilerdir. İşlemsel verilerin parçası değildir. Örnekler 2023-12-29T23:59:59Z2024-01-03T17:00:00Z2024-01-02T12:00:00Z | |||
| Mali Yıl GJAHR | İşlemin kaydedildiği mali yıl. | ||
| Açıklama Mali Yıl, finansal verileri düzenlemek için temel bir unsurdur. Financial Period case ID'sinin önemli bir bileşenidir ve tüm işlemler için gerekli bağlamı sağlar. Mali Yıl çoğu zaman case ID'nin bir parçası olsa da ayrı bir öznitelik olarak tutulması, uzun vadeli trend analizleri için faydalıdır. Kapanış döngüsü sürelerini, düzeltme hacimlerini veya diğer KPI'ları yıllar bazında karşılaştırmanıza yardımcı olur. Böylece performansın birden fazla yıl içinde iyileşip iyileşmediğini veya gerileyip gerilemediğini belirleyebilirsiniz. Neden önemli? Gerekli zaman bağlamını sağlar ve kapanış sürecinin performansını yıllar bazında karşılaştırmanıza imkan verir. Nereden alınır? Belge başlığı tablosu BKPF'de (GJAHR) bulunur. Örnekler 202320242022 | |||
| Mutabakat durumu ReconciliationStatus | 'Açık', 'İnceleniyor' veya 'Onaylandı' gibi bir hesap mutabakatının mevcut durumu. | ||
| Açıklama Bu öznitelik, bir hesap mutabakatının iş akışında ilerlerken bulunduğu durumu izler. Mutabakatın başlatıldığını, incelemeye gönderildiğini, onaylandığını veya reddedildiğini gösterir. Mutabakat etkinliklerinin ilerlemesini gerçek zamanlı izlemek için temel bir özniteliktir. Hangi mutabakatların ne kadar süredir beklediğini belirlemeye yardımcı olarak Account Reconciliation Cycle Time gibi KPI’ları destekler. Onay sürecini görünür kılar ve mutabakat darboğazlarını ve ekip iş yükünü izleyen Dashboardlar için gereklidir. Neden önemli? Mutabakat iş akışını görünür kılar, ilerlemenin izlenmesini, darboğazların belirlenmesini ve inceleme ile onay sürelerinin ölçülmesini sağlar. Nereden alınır? Bu bilgi genellikle ayrı bir mutabakat aracında, örneğin BlackLine tarafından sunulan SAP Account Substantiation and Automation çözümünde veya özel bir durum alanında bulunur. Genellikle BKPF/BSEG'de standart bir alan değildir. Örnekler BaşlatılmadıDevam EdiyorOnaylandıReddedildi | |||
| Otomatik mi IsAutomated | Bir faaliyetin insan kullanıcısı mı yoksa otomatik bir sistem tarafından mı gerçekleştirildiğini gösteren işaret. | ||
| Açıklama Bu boolean öznitelik, manuel görevlerle sistem tarafından otomatik olarak yürütülen görevleri birbirinden ayırır. Örneğin yabancı para değerlemesi için planlanmış bir batch işi veya yinelenen kayıtları oluşturan bir bot bu kapsama girer. Bu bilgi çoğu zaman işlemle ilişkilendirilmiş kullanıcı adı, örneğin 'BATCHUSER', incelenerek belirlenir. Otomasyon düzeyini anlamak, verimlilik artışı fırsatlarını belirlemek için önemlidir. Bu özniteliğin analizi, sürecin hangi bölümlerinin manuel olduğunu ve otomasyona uygun olabileceğini görselleştirmenize yardımcı olur. Ayrıca sistem tarafından oluşturulan faaliyetleri hariç tutarak insan iş yükünü daha doğru değerlendirmenizi sağlar. Neden önemli? Manuel faaliyetlerle sistem tarafından yürütülen faaliyetleri ayırır. Bu sayede otomasyon fırsatlarını belirlemek ve manuel iş yükünü doğru ölçmek kolaylaşır. Nereden alınır? Bu, türetilmiş bir özniteliktir. Mantık genellikle User Name (USNAM) alanına dayanır. Bilinen sistem veya batch kullanıcı kimliklerinden oluşan bir liste, otomatik görevi gösterir. Örnekler truefalse | |||
| Ters kayıt nedeni ReversalReason | Bir finans belgesinin neden tersine çevrildiğini belirten kod. | ||
| Açıklama SAP'de bir belge tersine çevrildiğinde, işlemin amacını açıklamak için bir neden kodu atanabilir. Örneğin 'Cari dönemde ters kayıt' veya 'Hatalı kayıt'. Bu öznitelik, yeniden çalışmanın neden gerçekleştiğine dair önemli bağlam sağlar. Ters kayıt nedenlerinin analiz edilmesi, hatalı veri girişi veya yanlış tarih gibi hata örüntülerinin belirlenmesine yardımcı olur. Bu içgörü, hata ve sonrasındaki ters kayıtların sayısını azaltmak, daha verimli bir kapanış sağlamak için önleyici tedbirlerin uygulanmasına, eğitimin iyileştirilmesine veya sistem kontrollerinin geliştirilmesine yardımcı olabilir. Neden önemli? Hataların ve yeniden çalışmanın temel nedenleri hakkında doğrudan içgörü sağlar. Süreç iyileştirme ve hata önleme fırsatlarının belirlenmesine yardımcı olur. Nereden alınır? Belge başlığı tablosu BKPF'de (STGRD) bulunur. Örnekler 010205 | |||
| Ticari ortak VBUND | Şirketler arası bir işleme dahil olan grup şirketinin tanımlayıcısı. | ||
| Açıklama Trading Partner ID, şirketler arası bir işleme katılan diğer şirket kodunu belirlemek için kullanılır. İlişkili tüzel kişiler arasındaki hesapların mutabakatı için gereklidir. Bu öznitelik, Intercompany Reconciliation Flow Dashboardunu ve Intercompany Recon. Cycle Time KPI’ını doğrudan destekler. Trading Partner bulunan işlemler filtrelendiğinde analiz, dönem kapanışı sırasında çoğu zaman önemli bir sorun oluşturan şirketler arası mutabakat sürecinin verimliliğine ve zamanında tamamlanmasına odaklanabilir. Neden önemli? Şirketler arası işlemleri belirgin biçimde tanımlar ve genellikle karmaşık ve zaman alan şirketler arası mutabakat sürecine odaklanan analiz yapılmasını sağlar. Nereden alınır? Belge kalem tablosu BSEG'de (VBUND) bulunur. Örnekler 1000US013000 | |||
| Vadesi geçti mi IsOverdue | Bir faaliyetin planlanan hedef tarihinden sonra tamamlanıp tamamlanmadığını gösteren hesaplanmış işaret. | ||
| Açıklama Bu boolean öznitelik, bir etkinliğin gerçek tamamlanma zamanını (EventTime) planlanan son tarihiyle (TargetCompletionDate) karşılaştırır. Olay zamanı hedeften sonraysa işaret true olarak ayarlanır. Bu öznitelik, Close Compliance & Overdue Tasks Dashboardunu ve On-Time Period Close Rate KPI’ını doğrudan destekler. Takvim sapmalarını açık ve anlık biçimde göstererek yöneticilerin geciken görevleri hızla belirlemesine, genel zaman çizelgesi üzerindeki etkisini anlamasına ve ekiplerin son tarihlere uymasını sağlamasına yardımcı olur. Neden önemli? Takvimlere uyulmadığını açıkça gösterir. Geciken görevleri hızla belirlemenize ve zamanında performansı ölçmenize yardımcı olur. Nereden alınır? Bu, EventTime ile TargetCompletionDate karşılaştırılarak Process Mining aracında hesaplanan bir özniteliktir. Örnekler truefalse | |||
| Yeniden çalışma mı IsRework | Ters kayıt veya reddedilmiş mutabakat gibi yeniden çalışmayı ifade eden faaliyetleri belirleyen hesaplanmış işaret. | ||
| Açıklama Bu boolean öznitelik, süreçte verimsiz döngülere veya düzeltmelere işaret eden olayları ya da olay dizilerini belirler. Örneğin, aynı hesapta Reconciliation Reviewed etkinliğinin ardından başka bir Adjusting Journal Entry Posted etkinliği gerçekleşirse bu durum yeniden çalışma olarak işaretlenebilir. Bu öznitelik, süreç israfını ölçmek için gereklidir ve Reconciliation Rework Instances Dashboardunu ve Reconciliation Rework Rate KPI’ını destekler. Ekipler yeniden çalışmayı ayırarak temel nedenleri inceleyebilir, çevrim süresi üzerindeki etkisini ölçebilir ve ilk seferde doğru sonuç alma hedefiyle yürütülen süreç iyileştirmelerinin etkisini izleyebilir. Neden önemli? Düzeltme veya tekrar niteliğindeki faaliyetleri işaretleyerek süreç verimsizliğini ölçer. Böylece boşa harcanan çabayı ölçmenize ve azaltmanıza yardımcı olur. Nereden alınır? Bu, hesaplanmış bir özniteliktir. Mantık, belirli faaliyet dizilerine, örneğin döngülere, veya özniteliklere, örneğin ReversalReason alanının null olmamasına, göre Process Mining aracında tanımlanır. Örnekler truefalse | |||
Kayıttan Raporlamaya - Dönem kapanışı ve mutabakat faaliyetleri
| Aktivite | Açıklama | ||
|---|---|---|---|
| Düzeltme yevmiye kaydı kaydedildi | Düzeltme yevmiye kaydı, dönem için ilk işlem süreci tamamlandıktan sonra hesap bakiyelerini düzeltmek amacıyla kaydedilir. Bu olay, SAP'de standart bir finans belgesi kaydı olarak tutulur. | ||
| Neden önemli? Bu veri, Düzeltme Kayıtları Hacim Analizi için gereklidir. Düzeltme hacminin yüksek olması, üst süreçlerdeki doğruluk sorunlarına işaret eder ve süreç iyileştirme çalışmalarında önemli bir hedef oluşturur. 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ü (BKPF-BLART) veya 13-16 arasındaki özel kapanış dönemlerinde kaydedilmiş olmaları üzerinden belirlenir. Yakalayın BKPF'yi özel dönemlerde kaydedilmiş veya düzeltme belge türlerine sahip belgeleri bulacak şekilde filtreleyin. Olay türü explicit | |||
| Finansal tablolar oluşturuldu | Kâr ve Zarar Tablosu ile Bilançonun oluşturulması gibi resmi finansal tabloların oluşturulduğu zamanı ifade eder. Bu faaliyet genellikle belirli bir raporlama programının çalıştırılması izlenerek kaydedilir. | ||
| Neden önemli? Bu, veri işleme sürecinin sonunu ve nihai inceleme ile onay aşamasının başlangıcını belirleyen önemli bir kilometre taşıdır. Bu olaydan onaya kadar geçen süre, önemli bir KPI'dır. Nereden alınır? Finansal tablo oluşturma programının, çoğunlukla F.01 işleminin çalıştırılmasını kaydeden STAD gibi sistem denetim günlüklerinden çıkarımsal olarak belirlenir. Yakalayın Finansal tablo işlemi F.01'in çalıştırılmasını izleyen sistem günlüklerinden (STAD) alınır. Olay türü inferred | |||
| Hesap mutabakatı başlatıldı | Dönem için bir dizi büyük defter hesabının mutabakat sürecinin başlangıcını ifade eder. Standart SAP ECC'de bu, ayrı bir olay olarak bulunmaz ve genellikle ilk kez önemli bir raporun çalıştırılması gibi ilişkili faaliyetlerden çıkarımsal olarak belirlenir. | ||
| Neden önemli? Bu faaliyet, tüm mutabakat aşamasının süresini ölçmek için önemli bir kilometre taşı oluşturur. Mutabakatın ne zaman başladığını anlamak, Hesap Mutabakatı Çevrim Süresi KPI'ı için gereklidir. Nereden alınır? Bu olay açıkça günlüğe kaydedilmez. FAGLB03 veya FS10N gibi bakiye görüntüleme raporlarının ilk çalıştırılmasını belirlemek için sistem denetim günlüğü (STAD işlemi) gibi diğer veri kaynaklarından çıkarım yapılmalıdır. Yakalayın Sistem günlüklerinde ilgili rapor işlemlerinin (ör. FAGLB03) ilk çalıştırılmasından çıkarım yapın. Olay türü inferred | |||
| Kayıt dönemi kapatıldı | Daha fazla operasyonel yevmiye kaydını engelleyen bir kayıt döneminin resmi olarak kapatılmasını ifade eder. Bu, kapatılan döneme ait finansal verilerin bütünlüğünü korur ve açık bir yapılandırma değişikliğidir. | ||
| Neden önemli? Bu, dönem kapatma sürecinin kesin bitiş olayıdır. Toplam Dönem Kapatma Çevrim Süresinin doğru hesaplanması ve zamanında tamamlanma performansının ölçülmesi için gereklidir. Nereden alınır? OB52 işlemi üzerinden dönemlerin kapatılması kaydedilir. Bu değişiklikler, T001B yapılandırma tablosuna ait değişiklik belgeleri (CDHDR ve CDPOS tabloları) analiz edilerek bulunabilir. Yakalayın T001B tablosu için değişiklik belgelerinden (CDHDR/CDPOS) çıkarılır. Olay türü explicit | |||
| Kayıt için dönem açıldı | Bu, bir mali dönemin resmi başlangıcını belirtir ve işlemlerin büyük deftere kaydedilmesine olanak tanır. Yetkili bir kullanıcının, bir veya daha fazla şirket kodunda belirli bir dönemi kayıt işlemlerine açmak için yaptığı açık bir yapılandırma değişikliğidir. | ||
| Neden önemli? Bu faaliyet, dönem kapatma süreci vakası için kesin başlangıç olayını oluşturur. Bu noktadan itibaren geçen sürenin analiz edilmesi, mali dönemin tüm yaşam döngüsünün anlaşılmasına yardımcı olur. Nereden alınır? OB52 işlemi üzerinden kayıt dönemlerinde yapılan değişiklikler günlüğe kaydedilir. Bu değişiklikler, temel yapılandırma tablosu T001B için değişiklik belgeleri, genellikle CDHDR ve CDPOS tabloları analiz edilerek çıkarılabilir. Yakalayın T001B tablosu için değişiklik belgelerinden (CDHDR/CDPOS) çıkarılır. Olay türü explicit | |||
| Yabancı para değerleme çalıştırıldı | Bu, yabancı para cinsinden kaydedilmiş açık kalemlerin ve bakiyelerin dönem sonu kurları kullanılarak yeniden değerlenmesi için bir programın çalıştırılmasını ifade eder. Genellikle dönem sonu kapanış adımlarının bir parçası olarak toplu iş şeklinde çalıştırılır. | ||
| Neden önemli? Çok uluslu kuruluşlarda doğru finansal raporlama yapılması için bu adım büyük önem taşır. Zamanlamasının ve süresinin analiz edilmesi, otomasyon ve performans iyileştirme fırsatlarının belirlenmesine yardımcı olur. Nereden alınır? FAGL_FCV veya F.05 gibi yabancı para değerleme programlarının çalıştırma günlüklerinden alınır. TBTCO ve TBTCP gibi tablolardaki toplu iş ayrıntıları, çalıştırma zaman damgalarını sağlar. Yakalayın FAGL_FC_VALUATION veya SAPF100 programına ait toplu iş günlüklerinden (TBTCO tablosu) alınır. Olay türü explicit | |||
| GR/IR mahsuplaştırma çalışması çalıştırıldı | Mal girişi/Fatura girişi hesabı için otomatik mahsuplaştırma programının çalıştırılmasıdır. Bu program, karşılık gelen mal girişleri ile fatura girişlerini eşleştirir ve kalemleri birbirine karşı mahsuplaştırır. | ||
| Neden önemli? GR/IR hesabı, mutabakat sorunlarının sık görülen kaynaklarından biridir. Bu faaliyetin izlenmesi, otomatik adımın doğru çalışmasını sağlar ve manuel takip gerektiren istisnaların hacminin ölçülmesine yardımcı olur. Nereden alınır? Çalıştırma, toplu iş günlüklerinde (SM37 işlemi) tutulur. Program genellikle F.13 işlemi üzerinden çalıştırılan SAPF124'tür. TBTCO gibi iş günlüğü tabloları gerekli zaman damgalarını sağlar. Yakalayın SAPF124 mahsuplaştırma programına ait toplu iş günlüklerinden (TBTCO tablosu) alınır. Olay türü explicit | |||
| Mizan raporu oluşturuldu | Mizanı oluşturmak için bir raporun çalıştırılmasını belirtir. 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 raporlamadan önce önemli bir kalite kontrol noktasıdır. Bu raporun tekrar tekrar çalıştırılması, temel veri sorunlarının tespit edilip düzeltildiğini ve bunun gecikmelere yol açabileceğini gösterebilir. Nereden alınır? S_ALR_87012277 veya F.01 gibi mizan raporlama işlemlerinin çalıştırılmasını kaydedebilen STAD işlemi gibi sistem denetim günlüklerinden çıkarımsal olarak belirlenir. Yakalayın Raporlama işlem kodlarının çalıştırılmasını izleyen sistem günlüklerinden (STAD) alınır. Olay türü inferred | |||
| Mutabakat incelendi | Belirli bir hesabın veya hesap grubunun mutabakatının incelendiğini ve onaylandığını belirtir. Standart SAP ECC'de bu, açıkça günlüğe kaydedilen bir olay değildir ve genellikle çevrim dışı kontroller veya özel çözümlerle yönetilir. | ||
| Neden önemli? İncelemelerin zamanlamasını izlemek, kapanış sürecinin kontrol ve gözetim aşamalarındaki darboğazları anlamak için önemlidir. Yönetimin uygun olmamasından veya yeniden çalışmadan kaynaklanan gecikmeleri ortaya çıkarabilir. Nereden alınır? Bu bilgi, standart ECC tablolarında bulunmaz. Özel bir Z tablosundaki durum alanı, basit bir Workflow veya uzmanlaşmış üçüncü taraf mutabakat aracıyla entegrasyon gibi özel bir çözüm gerekir. Yakalayın Uygulanmışsa, özel bir Workflow veya Z tablosundaki durum değişikliğini kaydedin. Olay türü inferred | |||
| Şirketler arası belge mahsuplaştırıldı | Bu faaliyet, iki farklı şirket kodu arasındaki açık bir kalemin mahsuplaştırılmasını belirtir. Şirketler arası işlemin sonuçlandırıldığını veya mutabık hale getirildiğini gösterir. SAP'de genellikle bir mahsup belgesi olarak açık bir finansal kayıtla tutulur. | ||
| Neden önemli? Şirketler arası kalemlerin mahsuplaştırılmasındaki gecikmeler, kapanış sürecinde sık görülen bir darboğazdır. Bu faaliyetin izlenmesi, şirketler arası mutabakat çevrim süresinin ölçülmesi ve iyileştirilmesi için büyük önem taşır. Nereden alınır? BKPF ve BSEG'deki finans belgelerinden belirlenir. Bir mahsup belgesi, açık kalemlere bağlanarak bunları kapatır ve mahsup tarihi (BSEG-AUGDT) olayın zaman damgası olarak kullanılır. Şirketler arası işlemler, ticari ortak alanlarına göre belirlenir. Yakalayın Ticari ortakları bulunan kalemleri içeren mahsup belgelerini BKPF/BSEG'de belirleyin. Olay türü explicit | |||
| Tahakkuk veya karşılık kaydedildi | Bu, genellikle dönemin sonuna doğru kaydedilen tahakkuk, ertelenmiş gelir veya gider ya da karşılık için bir yevmiye kaydının oluşturulmasını ifade eder. SAP'de ayrı bir olay türü olarak bulunmaz, özelliklerine göre belirli yevmiye kayıtları tespit edilerek çıkarımsal olarak belirlenir. | ||
| Neden önemli? Bu kayıtları ayırmak, tahminlerin yönetildiği alt sürecin analiz edilmesine yardımcı olur. Tahakkuklarda yüksek işlem hacmi veya sık yapılan düzeltmeler, süreç iyileştirme fırsatlarına işaret edebilir. Nereden alınır? Finans belgesi tabloları BKPF ve BSEG'den çıkarımsal olarak belirlenir. Kayıtlar, belirli bir belge türüne (BKPF-BLART), benzersiz bir büyük defter hesabına (BSEG-HKONT) veya başlık metnindeki anahtar kelimelere (BKPF-BKTXT) göre filtrelenerek tespit edilebilir. Yakalayın BKPF/BSEG tablolarını belge türüne, belirli büyük defter hesaplarına veya metin alanlarına göre filtreleyin. Olay türü inferred | |||
| Ters kayıt kaydedildi | Bu faaliyet, genellikle bir hatayı düzeltmek amacıyla daha önce kaydedilmiş bir yevmiye kaydını tersine çeviren belgenin kaydedilmesini kapsar. SAP, ters kayıt belgesi ile özgün belge arasında açık bir bağlantı oluşturur. | ||
| Neden önemli? Ters kayıtların sayısının yüksek olması, veri girişi doğruluğunda veya süreç kontrollerinde olası sorunlara işaret eder. Bu olayların izlenmesi, ilk seferde doğru işlem oranlarının ölçülmesine ve iyileştirme gerektiren alanların belirlenmesine yardımcı olur. Nereden alınır? Ters kayıt belgeleri BKPF tablosunda bulunur. Genellikle FB08 işlemiyle oluşturulur ve BKPF-STBLG alanında tersine çevrilen belge numarasına referans içerir. Yakalayın BKPF-STBLG alanının dolu olduğu veya ters kayıt T kodlarıyla oluşturulan belgeleri belirleyin. Olay türü explicit | |||
Veri Çıkarma Rehberleri
Adımlar
- SAP Query aracına erişin: SAP ECC sisteminize giriş yapın.
SQVIişlem koduna, yani QuickViewer'a, gidin. 2. Yeni bir Query oluşturun: Query'niz için örneğinZ_R2R_PERIOD_CLOSEgibi bir ad girin ve 'Create' seçeneğine tıklayın. Açılan pencerede 'Record to Report Period Close Extraction' gibi açıklayıcı bir başlık girin. 'Data source' için 'Table join' seçeneğini belirleyin. 3. Tablo birleştirmelerini tanımlayın: Birincil tablo olarakBKPFyi, yani Accounting Document Header'ı, ekleyin. ArdındanBSEGtablosunu, yani Accounting Document Segment'ı, ekleyin. SAP birleştirme koşullarını (MANDT, BUKRS, BELNR, GJAHR) otomatik olarak önerecektir. Bu koşulları doğrulayın ve kabul edin. Dönem açma ve kapama faaliyetleri içinCDHDRileCDPOStablolarını birleştiren ayrı bir Query gerekir. 4. Çıktı alanlarını seçin (List Fields): 'List fld. select.' sekmesine gidin. Event Log için gereken alanları mevcut tablolardan seçin. Bunlar arasındaBKPF-BUKRS,BKPF-BELNR,BKPF-GJAHR,BKPF-MONAT,BKPF-CPUDT,BKPF-CPUTM,BKPF-USNAM,BKPF-BLART,BSEG-HKONT,BSEG-DMBTRve ihtiyaca göre diğer alanlar bulunur. 5. Girdi parametrelerini tanımlayın (Selection Fields): 'Selection fields' sekmesine gidin. Çalıştırma sırasında verileri filtrelemek için kullanılacak alanları seçin. En önemli alanlarBKPF-BUKRS(Şirket Kodu) veBKPF-GJAHR(Mali Yıl) alanlarıdır. AyrıcaBKPF-MONAT(Kaydetme Dönemi) veBKPF-BLART(Belge Türü) alanlarını da ekleyebilirsiniz. 6. Her faaliyet için varyant oluşturun: SQVI farklı veri seçimlerini, örneğin SQL UNION işlemini, birleştiremediği için Query'yi birden fazla kez çalıştırmanız gerekir. Her faaliyet için, örneğin 'Tahakkuk veya Karşılık Kaydedildi', Query'yi çalıştırın ve seçim ekranına tahakkuklarla ilgili belge türleri listesi gibi faaliyete özgü filtre değerlerini girin. Bu seçim ölçütlerini varyant olarak kaydedin. Her çıkarılabilir faaliyet için bu işlemi tekrarlayın. 7. Çalıştırın ve verileri çıkarın: Oluşturduğunuz her varyant için Query'yi çalıştırın. Query, ilgili faaliyete özgü filtrelerle çalışacaktır. 8. Sonuçları dışa aktarın: Sonuç ekranında verileri yerel bir dosyaya aktarın. En yaygın biçim 'Spreadsheet'tir. 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 elektronik tablo programında açın veya bir betik aracı kullanın. Tüm dosyalardaki verileri tek bir ana dosyada manuel olarak birleştirin. 10. Sabit ve hesaplanmış sütunlar ekleyin: Birleştirilmiş dosyaya SAP tablolarından doğrudan çıkarılmayan sütunları ekleyin. Bunlar arasındaActivityName, verinin hangi varyanttan geldiğine göre manuel olarak ayarlanır,FinancialPeriod, Mali Yıl ile Dönem birleştirilerek oluşturulur,EventTime, tarih ve saat alanları birleştirilerek oluşturulur,SourceSystemveLastDataUpdatebulunur. 11. Yükleme için biçimlendirin: Son dosyanın, Process Mining aracınızın gerektirdiği doğru sütun başlıklarıyla CSV veya Excel biçiminde kaydedildiğinden emin olun. Yüklemeden önce veri türlerini ve biçimlendirmeyi doğrulayın.
Yapılandırma
- Veri kaynağı: SAP Query'de (SQVI) Table Join. Temel tablolar BKPF, BSEG, CDHDR ve CDPOS'tur. * Tarih aralığı: Örüntüleri belirlemek için en az 3 ila 6 tam mali döneme ait verileri çıkarmanız önerilir.
BKPF-GJAHR(Mali Yıl) veBKPF-MONAT(Dönem) alanlarında filtre kullanın. * Şirket Kodu filtresi: Veri hacmini sınırlamak ve analizi belirli tüzel kişiliklere odaklamak için her zamanBKPF-BUKRS(Şirket Kodu) alanında filtre kullanın. Tüm şirket kodlarını aynı anda çıkarmanız önerilmez. * Belge Türü filtresi: Tahakkuk, düzeltme veya ters kayıt gibi belirli faaliyetleri ayırmak içinBKPF-BLART(Belge Türü) alanında filtre kullanın. Kuruluşunuz için geçerli belge türlerini belirlemeniz gerekir. * Ön koşullar: Veri çıkarmayı çalıştıran kullanıcınınSQVIişlemini kullanma ve ilgili finans tablolarını görüntüleme yetkisi olmalıdır, örneğin S_TABU_DIS yetkilendirme nesnesi. * Performans değerlendirmeleri: BKPF ve BSEG tablolarını birleştirmek kaynak tüketebilir. Veri çıkarmayı yoğun olmayan saatlerde çalıştırın. Çok geniş tarih aralıkları kullanmaktan veya Şirket Kodu filtresini boş bırakmaktan kaçının. Aksi halde bellek sorunları veya zaman aşımı yaşanabilir.
a Örnek sorgu sql
/*
LOGICAL REPRESENTATION FOR SAP QUERY (SQVI)
This is not a single executable script. Due to limitations in SQVI, you must create a base query joining BKPF and BSEG, then run it multiple times using different selection screen variants to extract each activity below. The results must be combined manually.
A separate query joining CDHDR and CDPOS is needed for period open/close activities.
*/
-- Activity 1: Period Opened For Posting
-- Required Query: Join CDHDR and CDPOS in SQVI.
SELECT
CONCAT(T001B.VONJ1, T001B.POPER) AS FinancialPeriod,
'Period Opened For Posting' AS ActivityName,
TO_TIMESTAMP(CONCAT(CDHDR.UDATE, CDHDR.UTIME), 'YYYYMMDDHH24MISS') AS EventTime,
'[SAP ECC SID]' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
T001B.BUKRS AS BUKRS,
NULL AS BELNR,
CDHDR.USERNAME AS USNAM,
NULL AS HKONT,
NULL AS BLART,
NULL AS DMBTR,
NULL AS JournalEntryType
FROM CDHDR
JOIN CDPOS ON CDHDR.CHANGENR = CDPOS.CHANGENR
JOIN T001B ON SUBSTRING(CDPOS.TABKEY, 4, 4) = T001B.BUKRS
WHERE CDHDR.OBJECTCLAS = 'DEBI_BUKRS' AND CDPOS.TABNAME = 'T001B' AND CDPOS.FNAME = 'OFPER' AND CDPOS.VALUE_NEW > CDPOS.VALUE_OLD;
UNION ALL
-- Activity 2: Accrual Or Provision Posted
SELECT
CONCAT(BKPF.GJAHR, BKPF.MONAT) AS FinancialPeriod,
'Accrual Or Provision Posted' AS ActivityName,
TO_TIMESTAMP(CONCAT(BKPF.CPUDT, BKPF.CPUTM), 'YYYYMMDDHH24MISS') AS EventTime,
'[SAP ECC SID]' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
BKPF.BUKRS AS BUKRS,
BKPF.BELNR AS BELNR,
BKPF.USNAM AS USNAM,
BSEG.HKONT AS HKONT,
BKPF.BLART AS BLART,
BSEG.DMBTR AS DMBTR,
'Accrual' AS JournalEntryType
FROM BKPF
JOIN BSEG ON BKPF.BUKRS = BSEG.BUKRS AND BKPF.BELNR = BSEG.BELNR AND BKPF.GJAHR = BSEG.GJAHR
WHERE BKPF.BLART IN ('SA', '[Your Accrual Doc Type]'); -- Filter by document types used for accruals
UNION ALL
-- Activity 3: Intercompany Document Cleared
SELECT
CONCAT(BKPF.GJAHR, BKPF.MONAT) AS FinancialPeriod,
'Intercompany Document Cleared' AS ActivityName,
TO_TIMESTAMP(CONCAT(BKPF.CPUDT, BKPF.CPUTM), 'YYYYMMDDHH24MISS') AS EventTime,
'[SAP ECC SID]' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
BKPF.BUKRS AS BUKRS,
BKPF.AUGBL AS BELNR, -- The clearing document number
BKPF.USNAM AS USNAM,
BSEG.HKONT AS HKONT,
BKPF.BLART AS BLART,
BSEG.DMBTR AS DMBTR,
'Clearing' AS JournalEntryType
FROM BKPF
JOIN BSEG ON BKPF.BUKRS = BSEG.BUKRS AND BKPF.BELNR = BSEG.BELNR AND BKPF.GJAHR = BSEG.GJAHR
WHERE BSEG.AUGBL IS NOT NULL AND BSEG.VBUND IS NOT NULL; -- Identify cleared items with an intercompany trading partner
UNION ALL
-- Activity 4: Foreign Currency Valuation Run
SELECT
CONCAT(BKPF.GJAHR, BKPF.MONAT) AS FinancialPeriod,
'Foreign Currency Valuation Run' AS ActivityName,
TO_TIMESTAMP(CONCAT(BKPF.CPUDT, BKPF.CPUTM), 'YYYYMMDDHH24MISS') AS EventTime,
'[SAP ECC SID]' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
BKPF.BUKRS AS BUKRS,
BKPF.BELNR AS BELNR,
BKPF.USNAM AS USNAM,
BSEG.HKONT AS HKONT,
BKPF.BLART AS BLART,
BSEG.DMBTR AS DMBTR,
'Valuation' AS JournalEntryType
FROM BKPF
JOIN BSEG ON BKPF.BUKRS = BSEG.BUKRS AND BKPF.BELNR = BSEG.BELNR AND BKPF.GJAHR = BSEG.GJAHR
WHERE BKPF.TCODE IN ('FAGL_FCV', 'FBB1'); -- Filter by FCV transaction code
UNION ALL
-- Activity 5: GR/IR Clearing Run Executed
SELECT
CONCAT(BKPF.GJAHR, BKPF.MONAT) AS FinancialPeriod,
'GR/IR Clearing Run Executed' AS ActivityName,
TO_TIMESTAMP(CONCAT(BKPF.CPUDT, BKPF.CPUTM), 'YYYYMMDDHH24MISS') AS EventTime,
'[SAP ECC SID]' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
BKPF.BUKRS AS BUKRS,
BKPF.BELNR AS BELNR,
BKPF.USNAM AS USNAM,
BSEG.HKONT AS HKONT,
BKPF.BLART AS BLART,
BSEG.DMBTR AS DMBTR,
'Clearing' AS JournalEntryType
FROM BKPF
JOIN BSEG ON BKPF.BUKRS = BSEG.BUKRS AND BKPF.BELNR = BSEG.BELNR AND BKPF.GJAHR = BSEG.GJAHR
WHERE BKPF.TCODE IN ('F.13', 'F13E'); -- Filter by automated clearing transaction codes
UNION ALL
-- Activity 6: Account Reconciliation Started (Proxy)
-- This is a proxy. It takes the earliest adjusting journal entry timestamp for the period.
SELECT
A.FinancialPeriod,
'Account Reconciliation Started' AS ActivityName,
MIN(A.EventTime) AS EventTime,
'[SAP ECC SID]' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
A.BUKRS,
NULL AS BELNR,
NULL AS USNAM,
NULL AS HKONT,
NULL AS BLART,
NULL AS DMBTR,
NULL AS JournalEntryType
FROM (
SELECT CONCAT(BKPF.GJAHR, BKPF.MONAT) AS FinancialPeriod,
TO_TIMESTAMP(CONCAT(BKPF.CPUDT, BKPF.CPUTM), 'YYYYMMDDHH24MISS') AS EventTime,
BKPF.BUKRS
FROM BKPF
WHERE BKPF.BLART IN ('AB', '[Your Adjusting Doc Type]')
) AS A
GROUP BY A.FinancialPeriod, A.BUKRS;
UNION ALL
-- Activity 7: Adjusting Journal Entry Posted
SELECT
CONCAT(BKPF.GJAHR, BKPF.MONAT) AS FinancialPeriod,
'Adjusting Journal Entry Posted' AS ActivityName,
TO_TIMESTAMP(CONCAT(BKPF.CPUDT, BKPF.CPUTM), 'YYYYMMDDHH24MISS') AS EventTime,
'[SAP ECC SID]' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
BKPF.BUKRS AS BUKRS,
BKPF.BELNR AS BELNR,
BKPF.USNAM AS USNAM,
BSEG.HKONT AS HKONT,
BKPF.BLART AS BLART,
BSEG.DMBTR AS DMBTR,
'Adjusting' AS JournalEntryType
FROM BKPF
JOIN BSEG ON BKPF.BUKRS = BSEG.BUKRS AND BKPF.BELNR = BSEG.BELNR AND BKPF.GJAHR = BSEG.GJAHR
WHERE BKPF.BLART IN ('AB', '[Your Adjusting Doc Type]'); -- Filter by document types for adjustments
UNION ALL
-- Activity 8: Reversal Entry Posted
SELECT
CONCAT(BKPF.GJAHR, BKPF.MONAT) AS FinancialPeriod,
'Reversal Entry Posted' AS ActivityName,
TO_TIMESTAMP(CONCAT(BKPF.CPUDT, BKPF.CPUTM), 'YYYYMMDDHH24MISS') AS EventTime,
'[SAP ECC SID]' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
BKPF.BUKRS AS BUKRS,
BKPF.BELNR AS BELNR,
BKPF.USNAM AS USNAM,
BSEG.HKONT AS HKONT,
BKPF.BLART AS BLART,
BSEG.DMBTR AS DMBTR,
'Reversal' AS JournalEntryType
FROM BKPF
JOIN BSEG ON BKPF.BUKRS = BSEG.BUKRS AND BKPF.BELNR = BSEG.BELNR AND BKPF.GJAHR = BSEG.GJAHR
WHERE BKPF.STBLG IS NOT NULL; -- STBLG (Reversed Document Number) is populated for reversals
UNION ALL
-- Activity 9: Period Closed For Posting
-- Required Query: Join CDHDR and CDPOS in SQVI.
SELECT
CONCAT(T001B.VONJ1, T001B.POPER) AS FinancialPeriod,
'Period Closed For Posting' AS ActivityName,
TO_TIMESTAMP(CONCAT(CDHDR.UDATE, CDHDR.UTIME), 'YYYYMMDDHH24MISS') AS EventTime,
'[SAP ECC SID]' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
T001B.BUKRS AS BUKRS,
NULL AS BELNR,
CDHDR.USERNAME AS USNAM,
NULL AS HKONT,
NULL AS BLART,
NULL AS DMBTR,
NULL AS JournalEntryType
FROM CDHDR
JOIN CDPOS ON CDHDR.CHANGENR = CDPOS.CHANGENR
JOIN T001B ON SUBSTRING(CDPOS.TABKEY, 4, 4) = T001B.BUKRS
WHERE CDHDR.OBJECTCLAS = 'DEBI_BUKRS' AND CDPOS.TABNAME = 'T001B' AND CDPOS.FNAME = 'OFPER' AND CDPOS.VALUE_NEW < CDPOS.VALUE_OLD;
/*
-- Activities Not Extractable via this Method
-- The following activities are not data postings and cannot be reliably extracted by querying finance tables BKPF/BSEG.
-- Extraction would require analyzing application logs (SLG1), system logs (STAT), or custom-built logging solutions.
-- Activity: Trial Balance Report Generated
-- Activity: Financial Statements Generated
-- Activity: Reconciliation Reviewed
*/ Adımlar
- Program kapsamını ve tasarımını belirleyin: Gerekli 12 faaliyetin her birini belirlemek için kullanılacak mantığı tanımlayın. SAP ECC ortamınızdaki dönem sonu kapanış faaliyetleriyle ilişkili belge türlerini, büyük defter hesaplarını ve program adlarını doğrulamak için iş süreci sahiplerine ve SAP fonksiyonel analistlerine danışın.
- ABAP programı oluşturun:
SE38işlemini, yani ABAP Editor'ı, kullanarak yeni bir çalıştırılabilir program oluşturun. ÖrneğinZ_PM_R2R_EXTRACTIONadını kullanabilirsiniz. Açıklayıcı bir başlık girin ve program türünü 'Executable 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 Kaydetme Dönemi (MONAT) dahil olmak üzere veri çıkarma kapsamını belirlemesini sağlar. Bu adım veri hacmini kontrol etmek için önemlidir. - Veri yapılarını tanımlayın: Nihai Event Log verilerini tutacak bir dahili tablo yapısı tanımlayın. Bu yapı, gerekli ve önerilen tüm öznitelikleri içermelidir:
FinancialPeriod,ActivityName,EventTime,SourceSystem,LastDataUpdate,BUKRS,BELNR,USNAM,HKONT,BLART,DMBTRveJournalEntryType. - Veri çıkarma mantığını uygulayın: 12 faaliyetin her biri için veri seçen temel ABAP mantığını yazın. Her faaliyet için ilgili SAP tablolarını, örneğin BKPF, BSEG, TBTCO ve CDHDR, sorgulayın ve sonuçları bir ara dahili tabloya doldurun. Bir şablon olarak ilgili ABAP Query bölümünde verilen mantığı kullanın.
- Çıkarımsal faaliyetleri belirleyin: 'Hesap Mutabakatı Başlatıldı' veya 'Mutabakat İncelendi' gibi standart SAP'de açıkça kaydedilmeyen faaliyetler için üzerinde anlaşılmış çıkarım mantığını uygulayın. Bu işlem, belirli bir raporun ilk kez çalıştırılıp çalıştırılmadığını kontrol etmeyi veya varsa özel 'Z tablolarını' sorgulamayı gerektirebilir.
- Olay verilerini birleştirin: Tüm münferit faaliyetlerin verilerini çıkardıktan sonra her ara tablodaki kayıtları nihai birleştirilmiş dahili tabloya ekleyin.
EventTimealanının belge kaydetme tarihi ve saati veya iş başlangıç tarihi ve saati gibi ilgili kaynak alandan doğru biçimde doldurulduğundan emin olun. - Verileri standartlaştırın ve biçimlendirin: Çıktıdan önce temel alanları standartlaştırın. Mali yıl ile dönemi birleştirerek
FinancialPeriodtanımlayıcısını oluşturun.SourceSystemveLastDataUpdateiçin sabit değerler belirleyin. Zaman damgalarının tutarlı bir biçimde olduğundan emin olun. - Çıktı işlevini geliştirin: Nihai dahili tabloyu dışa aktarmak için programa işlev ekleyin. En yaygın yöntem, verileri SAP Application Server'da CSV veya sekmeyle ayrılmış bir dosyaya yazmak (
OPEN DATASET) ya da kullanıcının dosyayı doğrudan yerel makinesine indirmesine izin vermektir (GUI_DOWNLOAD). - Test edin ve doğrulayın: Programı birden fazla şirket kodunu ve dönemi kapsayan temsili bir Veri Seti ile ayrıntılı biçimde test edin. Verilerin doğruluğunu ve eksiksizliğini kontrol etmek için doğrulama adımlarını kullanın. Fonksiyonel uzmanlardan gelen geri bildirimlere göre seçim mantığını iyileştirin.
- Çalıştırmayı planlayın (İsteğe bağlı): Doğrulama tamamlandıktan sonra program,
SM36işlemi üzerinden arka plan işi olarak planlanabilir. Böylece Event Log manuel müdahale olmadan otomatik ve periyodik olarak çıkarılabilir.
Yapılandırma
- Seçim ölçütleri: Programda verileri filtrelemek için bir seçim ekranı bulunmalıdır. Temel filtreler şunlardır:
Company Code (BUKRS): Kapsamı ilgili tüzel kişiliklerle sınırlamak için zorunludur.Fiscal Year (GJAHR): Çıkarma işleminin temel yılını belirlemek için zorunludur.Posting Period (MONAT): Belirli mali dönemleri seçmek için zorunludur.
- Faaliyete özgü yapılandırma: Birçok seçim, SAP yapılandırmanıza bağlıdır. Bu seçimler program içinde parametre veya sabit olarak yapılandırılabilmelidir:
Accrual/Provision Document Types: Tahakkuk ve karşılık kayıtlarını belirlemek için kullanılan belge türleri (BLART) listesi.Adjusting Entry Document Types: Düzeltme yevmiye kayıtlarını belirlemek için kullanılan belge türleri listesi.Background Job/Program Names: Yabancı Para Değerlemesi, örneğinFAGL_FCV, GR/IR Clearing, örneğinSAPF124, Mizan raporları ve Finansal Tablo oluşturma, örneğinRFBILA00, için kullanılan programların teknik adları.
- Tarih aralığı: Birincil seçim mali yıl ve döneme göre yapılsa da temel mantık olayların tam tarih ve saatini dikkate almalıdır. İlk analiz için son 3 ila 6 tamamlanmış mali döneme ait verilerin çıkarılması önerilir.
- Performans: Büyük SAP ortamlarında program performansı önemlidir. Özellikle
BKPFveBSEGgibi tablolarda veritabanı seçimlerinin dizin alanlarını kullandığından emin olun. 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ı, sorgulanan tüm tablolara (
BKPF,BSEG,TBTCO,TBTCP,CDHDR,CDPOS) erişme ve geliştirme içinSE38, planlama ve izleme içinSM37veSM36gibi işlemleri yürütme yetkisine sahip olmalıdır.
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
- Ön koşulları hazırlayın: Temel SAP ECC veritabanına salt okunur erişim bilgilerini edinin. Genellikle
SAPSR3veya veritabanı yöneticinizin belirttiği benzer bir ad olan doğru veritabanı şemasını belirleyin. - Sistem yapılandırmasını belirleyin: Analiz etmeniz gereken Şirket Kodlarını (BUKRS) ve mali dönemleri SAP Finance ekibinizle netleştirin. Özellikle sisteminizde 'Tahakkuk veya Karşılık Kaydedildi', 'Düzeltme Yevmiye Kaydı Kaydedildi' ve 'Şirketler Arası' işlemleri için kullanılan Belge Türlerini (BLART) belirleyin.
- Program ve iş adlarını doğrulayın: Yabancı Para Değerlemesi, örneğin
FAGL_FCV, GR/IR Clearing, örneğinSAPF124, Mizan raporları, örneğinRFBILA00, ve Finansal Tabloların oluşturulması, örneğinRFBILA00, gibi temel batch işleri için program adlarını doğrulayın. Bu bilgileriSM37işleminde planlanmış işleri kontrol ederek bulabilirsiniz. - SQL Query'yi özelleştirin: Sağlanan SQL Query'yi bir metin düzenleyiciye veya SQL istemcisine kopyalayın.
{{start_date}},{{end_date}}ve{{company_codes}}yer tutucularını analiziniz için geçerli değerlerle değiştirin. Önceki adımlarda topladığınız 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 DBeaver, SQL Server Management Studio veya Oracle SQL Developer gibi standart bir SQL istemcisiyle bağlanın.
- Query'yi çalıştırın: Özelleştirilmiş SQL Query'yi veritabanında çalıştırın. Tarih aralığına ve finans tablolarınızın boyutuna bağlı olarak Query'nin tamamlanması uzun sürebilir.
- İlk sonuçları inceleyin: Query tamamlandığında çıktıyı hızlıca gözden geçirin. Satır sayısının makul olup olmadığını kontrol edin, tüm sütunların bulunduğundan emin olun ve sonuçlarda farklı
ActivityNamedeğerlerinin yer aldığını doğrulayın. - Verileri dışa aktarın: Sonuç kümesinin tamamını SQL istemcinizden CSV dosyasına aktarın. Karakter sorunlarını önlemek için dosyanın UTF-8 kodlamasıyla kaydedildiğinden emin olun.
- Yüklemeye hazırlayın: Process Mining aracına yüklemeden önce CSV dosyasındaki sütun başlıklarının gerekli öznitelik adlarıyla, örneğin
FinancialPeriod,ActivityName,EventTimeve diğerleriyle, tam olarak eşleştiğini doğrulayın. AyrıcaEventTimesütunununYYYY-MM-DD HH:MI:SSgibi tutarlı bir zaman damgası biçiminde olduğunu kontrol edin.
Yapılandırma
- Veritabanı kimlik bilgileri: Temel SAP finans ve sistem tablolarına erişebilen salt okunur bir veritabanı kullanıcısı gereklidir. Buna
BKPF,BSEG,TBTCO,CDHDRveCDPOSgibi tablolar dahildir. - Tarih aralığı: Anlamlı süreç farklılıklarını yakalamak için en az 3 ila 6 tam mali döneme ait verileri çıkarmanızı öneririz. Daha geniş tarih aralıklarının Query çalışma süresini önemli ölçüde artıracağını unutmayın.
- Şirket Kodları (
BUKRS): Her zaman belirli bir şirket kodu listesinde filtre kullanın. Büyük bir sistemde Query'yi tüm şirket kodları için çalıştırmak uygulanabilir değildir ve büyük olasılıkla performans sorunlarına yol açar. - Belge Türleri (
BLART): Tahakkuk ve düzeltme gibi yevmiye kaydı türlerinin belirlenmesi tamamen kuruluşunuzun SAP yapılandırmasına bağlıdır. Faaliyetlerin doğru sınıflandırılması için Query'ninWHEREkoşullarında doğru belge türü kodlarını sağlamanız gerekir. - Program ve iş adları: Query, otomatik kapanış adımları için yaygın program adlarını kullanır. Sisteminizde özel sarmalayıcı programlar veya farklı iş adları bulunabilir. Bunları
SM37işleminde doğrulayın ve Query'yi buna göre güncelleyin. - Performans değerlendirmeleri: Bu Query, özellikle
BSEGveCDPOSolmak üzere çok büyük tablolara erişir. Sistem performansını etkilememek için veri çıkarmayı mesai dışı saatlerde çalıştırmanız önemle önerilir. Dar tarih ve şirket kodu filtreleri uygulamak, çalışma 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'
; Başlamaya hazır mısınız?
Süreç mining yolculuğunuza hızlı bir başlangıç yapmak ve finansal kapanış operasyonlarınız hakkında çok değerli içgörüler elde etmek için bu veri Templateinden yararlanın. Kayıttan Raporlamaya sürecinizi bugün optimize etmeye başlayın!
Kayıttan Raporlamaya Kapanışını Optimize Edin, Çevrim Süresini Şimdi Azaltın
Darboğazları ortadan kaldırın ve Kayıttan Raporlamaya kapanış çevrim sürenizi %30 azaltın.
Kredi kartı gerekmez. 14 günlük ücretsiz denemenizi başlatın.