Templat data pencatatan hingga pelaporan, penutupan periode dan rekonsiliasi
Templat data pencatatan hingga pelaporan, penutupan periode dan rekonsiliasi
- Atribut yang disarankan untuk dikumpulkan
- Aktivitas utama yang perlu dilacak
- Panduan ekstraksi
Atribut pencatatan hingga pelaporan, penutupan periode dan rekonsiliasi
| Nama | Deskripsi | ||
|---|---|---|---|
| Periode keuangan FinancialPeriod | Pengenal unik untuk siklus pelaporan keuangan, biasanya menggabungkan tahun fiskal dan periode pembukuan. | ||
| Deskripsi Periode keuangan menjadi pengenal utama kasus yang mengelompokkan semua aktivitas penutupan dan rekonsiliasi akun untuk siklus pelaporan tertentu, misalnya '2023-12' untuk Desember 2023. Dengan begitu, Anda dapat menganalisis seluruh proses penutupan periode dari awal hingga akhir untuk setiap periode. Dalam analisis, periode ini membantu melacak waktu siklus penutupan dari awal hingga akhir, membandingkan kinerja antarperiode, serta menemukan tren atau anomali. Dengan menjadikan setiap periode keuangan sebagai kasus unik, Anda dapat melihat dan mengukur efisiensi, hambatan, serta variasi dalam proses penutupan dari waktu ke waktu. Mengapa ini penting Ini merupakan pengenal utama kasus yang menjadi dasar analisis. Anda dapat membandingkan waktu siklus penutupan, beban kerja, dan kepatuhan proses antarperiode. Sumber data Atribut ini biasanya diperoleh dengan menggabungkan Tahun Fiskal (GJAHR) dan Periode Pembukuan (MONAT) dari header dokumen keuangan, misalnya dari tabel BKPF. Contoh 2023-122024-032023-Q4 | |||
| Aktivitas ActivityName | Nama peristiwa bisnis atau tugas tertentu yang dilakukan selama proses penutupan periode. | ||
| Deskripsi Atribut ini mencatat langkah-langkah dalam siklus Record to Report, seperti 'Jurnal penyesuaian dibukukan' atau 'Laporan keuangan dibuat'. Atribut ini menjadi dasar peta proses karena menunjukkan urutan peristiwa dalam penutupan periode. Analisis aktivitas merupakan bagian penting dari process mining. Analisis ini membantu memvisualisasikan alur proses, melihat urutan tugas, menemukan variasi proses, serta mengukur frekuensi dan durasi setiap langkah. Dengan begitu, Anda dapat menemukan hambatan, jalur proses yang tidak standar, dan peluang untuk melakukan standardisasi atau otomatisasi. Mengapa ini penting Atribut ini wajib untuk membuat peta proses dan memvisualisasikan serta menganalisis urutan tugas dalam penutupan periode. Sumber data Atribut ini diperoleh dari kombinasi kode transaksi SAP (TCODE), jenis dokumen (BLART), atau eksekusi program tertentu (misalnya, FAGL_FCV untuk valuasi mata uang asing). Contoh Jurnal penyesuaian dibukukanRekonsiliasi akun dimulaiPeriode ditutup untuk pembukuan | |||
| Pembaruan data terakhir LastDataUpdate | Stempel waktu saat data terakhir kali diperbarui atau diambil dari sistem sumber. | ||
| Deskripsi Atribut ini menunjukkan seberapa baru data yang dianalisis. Atribut ini mencantumkan tanggal dan waktu terakhir kali pipeline data dijalankan, sehingga Anda tahu kapan insight proses diperbarui. Untuk dashboard, terutama yang memantau progres secara real-time, stempel waktu ini membantu pengguna mengetahui apakah informasi yang dilihat merupakan data terkini atau data dari hari sebelumnya. Dengan begitu, pengguna dapat memahami konteks dan menafsirkan analisis dengan tepat. Mengapa ini penting Memberi tahu pengguna seberapa baru data yang digunakan. Ini penting agar analisis dan dashboard tetap tepat waktu dan relevan. Sumber data Stempel waktu ini dibuat dan ditambahkan oleh alat ekstraksi data atau ETL setelah setiap proses pemuatan data selesai. Contoh 2024-05-21T04:00:00Z2024-05-20T04:00:00Z2024-05-19T04:00:00Z | |||
| Sistem sumber SourceSystem | Pengenal sistem sumber tempat data diambil. | ||
| Deskripsi Atribut ini menunjukkan asal data peristiwa, seperti nama atau ID instans SAP ECC tertentu. Di organisasi yang menggunakan beberapa ERP atau sistem keuangan, kolom ini penting untuk membedakan data dari tiap sumber. Meski hanya menggunakan satu sistem, atribut ini tetap menjadi metadata penting untuk tata kelola data, audit, dan pemecahan masalah. Atribut ini memastikan asal data dapat ditelusuri, sehingga analisis lebih tepercaya dan alur data jelas. Mengapa ini penting Menunjukkan asal data untuk mendukung tata kelola dan pelacakan alur data. Atribut ini juga penting untuk membedakan proses di lingkungan dengan beberapa sistem. Sumber data Biasanya, nilai statis ini ditambahkan saat ekstraksi data untuk menunjukkan klien SAP dan ID sistem tertentu (misalnya, dari tabel T000). Contoh ECC_PROD_100SAP_E74_200ECC_FINANCE | |||
| Waktu peristiwa EventTime | Stempel waktu yang menunjukkan kapan aktivitas atau peristiwa terjadi. | ||
| Deskripsi Waktu peristiwa memberikan tanggal dan waktu yang tepat untuk setiap aktivitas dalam proses, sehingga analisis dapat disusun secara kronologis. Biasanya, waktu ini menggabungkan tanggal dan waktu pembuatan dokumen. Stempel waktu ini penting untuk mengurutkan peristiwa dengan benar dan merekonstruksi alur proses. Data ini digunakan untuk menghitung semua metrik durasi, termasuk waktu siklus antaraktivitas, waktu tunggu, dan total durasi penutupan periode. Analisis stempel waktu membantu menemukan keterlambatan dan memahami sebaran pekerjaan dari sisi waktu. Mengapa ini penting Atribut wajib ini menunjukkan urutan kronologis peristiwa, yang diperlukan untuk menghitung waktu siklus dan menemukan hambatan proses. Sumber data Biasanya, data ini diambil dari tanggal entri dokumen (CPUDT) dan waktu entri (CPUTM) di tabel BKPF untuk dokumen keuangan. Contoh 2023-12-28T14:30:15Z2024-01-02T09:05:00Z2024-01-05T17:21:45Z | |||
| Akun GL HKONT | Nomor akun buku besar tempat pos baris dibukukan. | ||
| Deskripsi Akun buku besar (GL) merupakan elemen utama data induk keuangan untuk mengelompokkan transaksi. Setiap pembukuan keuangan menggunakan satu atau beberapa akun GL. Dalam penutupan periode, analisis aktivitas berdasarkan akun GL penting untuk dashboard 'Hambatan Rekonsiliasi Akun' dan 'Analisis Volume Entri Penyesuaian'. Analisis ini membantu menemukan akun yang paling sulit direkonsiliasi, paling sering memerlukan penyesuaian, atau memiliki risiko salah saji material tertinggi. Dengan begitu, tim dapat memprioritaskan akun yang bermasalah. Mengapa ini penting Mendukung analisis terarah atas rekonsiliasi dan entri penyesuaian, serta membantu menemukan akun bermasalah yang menyebabkan keterlambatan atau sering memerlukan koreksi. Sumber data Tersedia di tabel pos baris dokumen keuangan, BSEG (HKONT). Contoh 113100400500750000 | |||
| Jenis dokumen BLART | Kode untuk mengelompokkan berbagai jenis dokumen akuntansi. | ||
| Deskripsi SAP menggunakan jenis dokumen untuk membedakan berbagai transaksi bisnis, seperti faktur pemasok (KR), pembayaran pelanggan (DZ), dan pembukuan buku besar (SA). Jenis dokumen juga mengatur properti seperti rentang nomor dokumen. Untuk analisis penutupan akhir periode, jenis dokumen berguna sebagai filter. Anda dapat menggunakannya untuk memisahkan aktivitas tertentu, seperti akrual, provisi, atau entri pembalik. Dengan begitu, Anda dapat menganalisis volume dan dampak keuangan berbagai transaksi terkait penutupan, serta menentukan aktivitas tertentu dalam model proses. Mengapa ini penting Membantu mengelompokkan dan memfilter transaksi agar Anda dapat memisahkan serta menganalisis aktivitas tertentu, seperti akrual, pembalikan, atau pembukuan antarperusahaan. Sumber data Tersedia di tabel header dokumen, BKPF (BLART). Contoh SAABKR | |||
| Jenis jurnal JournalEntryType | Pengelompokan jurnal, seperti 'Standar', 'Penyesuaian', 'Akrual', atau 'Pembalikan'. | ||
| Deskripsi Atribut turunan ini mengelompokkan dokumen keuangan berdasarkan tujuan bisnisnya dalam proses penutupan. Penentuannya sering menggunakan kombinasi Jenis Dokumen (BLART), Alasan Pembalikan (STGRD), atau akun GL tertentu. Pengelompokan ini penting untuk dashboard 'Analisis Volume Entri Penyesuaian' dan KPI terkait. Dengan mengenali entri penyesuaian atau akrual secara jelas, analis dapat mengukur jumlah dan nilainya, melacak tren dari waktu ke waktu, serta menyelidiki alasan entri tersebut diperlukan. Pengelompokan ini membedakan pembukuan operasional rutin dari penyesuaian akhir periode. Mengapa ini penting Mengelompokkan pembukuan untuk analisis terarah. Anda dapat melacak dan mengukur jenis entri penting, seperti penyesuaian dan akrual, yang menunjukkan kondisi proses. Sumber data Kolom ini merupakan atribut turunan. Logikanya perlu ditentukan berdasarkan aturan bisnis, biasanya dengan menggunakan kolom seperti Jenis Dokumen (BLART) dari BKPF. Contoh PenyesuaianAkrualPembalikanStandar | |||
| Jumlah dalam mata uang lokal DMBTR | Nilai keuangan suatu pos transaksi dalam mata uang lokal kode perusahaan. | ||
| Deskripsi Atribut ini menunjukkan nilai uang yang terkait dengan pembukuan keuangan. Nilai ini menjadi ukuran kuantitatif utama untuk mengetahui dampak transaksi terhadap buku besar. Analisis jumlah penting untuk menentukan prioritas masalah dan memahami risiko keuangan. Misalnya, dashboard 'Analisis Volume Entri Penyesuaian' akan lebih berguna jika dapat membedakan banyak penyesuaian bernilai rendah dari sedikit penyesuaian bernilai tinggi. Dengan begitu, perhatian dapat difokuskan pada transaksi yang berdampak material secara keuangan. Mengapa ini penting Mengukur dampak keuangan transaksi dan mendukung analisis berdasarkan materialitas, misalnya untuk menemukan entri penyesuaian bernilai tinggi. Sumber data Tersedia di tabel pos baris dokumen, BSEG (DMBTR). Contoh 1500.75-25000.00123456.00 | |||
| Kode perusahaan BUKRS | Unit organisasi yang mewakili badan hukum dan menjadi dasar pembuatan laporan keuangan. | ||
| Deskripsi Kode perusahaan merupakan unit organisasi utama di SAP Financials. Kode ini mewakili perusahaan independen dengan pembukuan seimbangnya sendiri. Semua transaksi keuangan dibukukan pada tingkat kode perusahaan. Dalam process mining, filter berdasarkan kode perusahaan penting untuk membandingkan proses penutupan periode antarentitas hukum dalam satu grup. Anda dapat menemukan praktik terbaik di entitas berkinerja tinggi dan mengidentifikasi entitas yang mengalami keterlambatan, banyak penyesuaian, atau penyimpangan proses. Kode perusahaan menjadi dimensi penting untuk membagi analisis. Mengapa ini penting Memungkinkan Anda membandingkan kinerja penutupan periode dan kepatuhan antarentitas hukum. Ini penting untuk analisis keuangan tingkat grup. Sumber data Kolom ini tersedia di hampir semua tabel dokumen keuangan SAP, terutama BKPF (Header) dan BSEG (Pos Baris). Contoh 10002000US01DE01 | |||
| Nomor dokumen BELNR | Pengenal unik untuk dokumen akuntansi dalam satu tahun fiskal dan kode perusahaan. | ||
| Deskripsi Nomor Dokumen Akuntansi merupakan kunci utama untuk pembukuan keuangan di SAP. Setiap jurnal, faktur, atau dokumen pembayaran memiliki nomor unik. Nomor dokumen biasanya tidak digunakan untuk analisis proses tingkat tinggi, tetapi sangat berguna untuk menelusuri detail. Dari dashboard process mining, analis dapat menggunakan nomor ini untuk membuka transaksi terkait langsung di SAP dan menyelidiki anomali, seperti entri penyesuaian bernilai besar atau pos rekonsiliasi yang terlambat. Nomor ini menghubungkan insight langsung ke transaksi sumber. Mengapa ini penting Menghubungkan analisis proses langsung ke transaksi sumber di SAP, sehingga Anda dapat menelusuri detail entri akuntansi tertentu. Sumber data Tersedia di tabel BKPF (BELNR) sebagai kunci utama. Contoh 100000456719000001233000008901 | |||
| Pengguna yang bertanggung jawab USNAM | ID pengguna SAP yang membuat atau menjalankan transaksi. | ||
| Deskripsi Kolom ini mencatat pengguna yang membukukan dokumen, menjalankan laporan, atau menjalankan program terkait penutupan. Kolom ini menunjukkan siapa yang bertanggung jawab atas suatu aktivitas. Analisis berdasarkan pengguna penting untuk memahami pembagian beban kerja, menemukan kebutuhan pelatihan, dan menyelidiki penyimpangan proses. Dashboard yang menampilkan aktivitas per pengguna dapat menunjukkan anggota tim yang kelebihan beban atau pengguna yang mengikuti prosedur tidak standar. Data ini juga membantu pengelolaan kinerja dan alokasi sumber daya dalam tim keuangan. Mengapa ini penting Mendukung analisis pembagian beban kerja dan kinerja tim, serta membantu menemukan penyimpangan proses yang terkait dengan pengguna tertentu. Sumber data Tersedia di tabel BKPF (USNAM) untuk pembuatan dokumen. Untuk batch job, kolom ini tersedia di TBTCO (SDLUNAME). Contoh JSMITHRDOEFIN_ADMIN | |||
| Alasan pembalikan ReversalReason | Kode yang menunjukkan alasan dokumen keuangan dibalik. | ||
| Deskripsi Saat dokumen dibalik di SAP, kode alasan dapat ditetapkan untuk menjelaskan tujuan pembalikan, misalnya 'Pembalikan pada periode berjalan' atau 'Entri salah'. Atribut ini memberi konteks penting tentang penyebab pengerjaan ulang. Analisis alasan pembalikan membantu menemukan pola kesalahan, seperti entri data yang keliru atau tanggal yang salah. Temuan ini dapat digunakan untuk menerapkan langkah pencegahan, meningkatkan pelatihan, atau memperkuat kontrol sistem agar kesalahan dan pembalikan berikutnya berkurang, sehingga proses penutupan lebih efisien. Mengapa ini penting Memberi gambaran langsung tentang akar penyebab kesalahan dan pengerjaan ulang, serta membantu menemukan peluang untuk memperbaiki proses dan mencegah kesalahan. Sumber data Tersedia di tabel header dokumen, BKPF (STGRD). Contoh 010205 | |||
| Departemen Department | Departemen fungsional atau pusat biaya yang bertanggung jawab atas aktivitas atau transaksi. | ||
| Deskripsi Atribut ini menunjukkan departemen bisnis, seperti 'Keuangan', 'Penjualan', atau 'Logistik', yang terkait dengan transaksi. Informasi ini sering diperoleh dari data induk Pusat Biaya yang terhubung ke pembukuan atau dari data induk pengguna. Analisis berdasarkan departemen mendukung dashboard 'Pembagian Beban Kerja Tim Penutupan'. Analisis ini membantu memahami kontribusi tiap fungsi bisnis terhadap beban kerja akhir periode, terutama transaksi yang dimulai oleh departemen lain dan mungkin memerlukan penyesuaian atau rekonsiliasi. Anda juga dapat melihat area di luar tim keuangan inti yang berdampak pada proses penutupan. Mengapa ini penting Membantu menganalisis beban kerja dan kepatuhan proses di berbagai fungsi bisnis, serta menunjukkan dampak tiap departemen terhadap efisiensi penutupan keuangan. Sumber data Sering diperoleh dari Pusat Biaya (KOSTL) di BSEG atau dari data induk SDM pengguna yang bertanggung jawab. Proses ini mungkin memerlukan penggabungan beberapa tabel. Contoh Keuangan korporatUtang usahaFP&A | |||
| Diotomatisasi IsAutomated | Penanda yang menunjukkan apakah aktivitas dilakukan oleh pengguna atau sistem otomatis. | ||
| Deskripsi Atribut boolean ini membedakan tugas manual dari tugas yang dijalankan otomatis oleh sistem, seperti pekerjaan batch terjadwal untuk valuasi mata uang asing atau bot yang membukukan jurnal berulang. Status ini sering ditentukan dengan menganalisis nama pengguna yang terkait dengan transaksi, misalnya 'BATCHUSER'. Memahami tingkat otomatisasi membantu Anda menemukan peluang untuk meningkatkan efisiensi. Analisis atribut ini menunjukkan bagian proses yang masih manual dan berpotensi diotomatisasi. Informasi ini juga membantu mengukur beban kerja manusia dengan lebih akurat karena aktivitas yang dibuat sistem dapat dikecualikan. Mengapa ini penting Membedakan aktivitas manual dan aktivitas yang dijalankan sistem. Informasi ini penting untuk menemukan peluang otomatisasi dan mengukur beban kerja manual secara akurat. Sumber data Atribut ini diturunkan dari data lain. Logikanya biasanya menggunakan User Name (USNAM). Daftar ID pengguna sistem atau batch yang diketahui menandai tugas sebagai otomatis. Contoh truefalse | |||
| Merupakan pengerjaan ulang IsRework | Penanda hasil perhitungan untuk mengidentifikasi aktivitas yang menunjukkan pengerjaan ulang, seperti pembalikan atau rekonsiliasi yang ditolak. | ||
| Deskripsi Atribut boolean ini menandai kejadian atau rangkaian kejadian yang menunjukkan pengulangan atau koreksi yang tidak efisien dalam proses. Contohnya, aktivitas 'Rekonsiliasi ditinjau' yang diikuti dengan 'Jurnal penyesuaian dibukukan' lagi pada akun yang sama dapat ditandai sebagai pengerjaan ulang. Atribut ini penting untuk mengukur pemborosan proses dan mendukung dashboard 'Kasus Pengerjaan Ulang Rekonsiliasi' serta KPI 'Tingkat Pengerjaan Ulang Rekonsiliasi'. Dengan memisahkan aktivitas pengerjaan ulang, tim dapat menyelidiki penyebabnya, mengukur dampaknya terhadap waktu siklus, dan memantau efektivitas upaya perbaikan proses agar pekerjaan benar sejak awal. Mengapa ini penting Mengukur ketidakefisienan proses dengan menandai aktivitas yang berupa koreksi atau pengulangan. Informasi ini membantu mengukur dan mengurangi upaya yang terbuang. Sumber data Atribut ini dihitung di alat process mining berdasarkan rangkaian aktivitas tertentu, misalnya pengulangan, atau atribut tertentu, misalnya ReversalReason tidak bernilai null. Contoh truefalse | |||
| Mitra dagang VBUND | Pengenal perusahaan afiliasi dalam grup yang terlibat dalam transaksi antarperusahaan. | ||
| Deskripsi ID Mitra Dagang digunakan untuk mengenali kode perusahaan lain yang terlibat dalam transaksi antarperusahaan. Informasi ini penting untuk merekonsiliasi akun antarentitas hukum yang berelasi. Atribut ini mendukung dashboard 'Alur Rekonsiliasi Antarperusahaan' dan KPI 'Waktu Siklus Rekonsiliasi Antarperusahaan'. Dengan memfilter transaksi yang memiliki Mitra Dagang, analisis dapat berfokus pada efisiensi dan ketepatan waktu proses rekonsiliasi antarperusahaan, yang sering menjadi kendala utama saat penutupan periode. Mengapa ini penting Mengidentifikasi transaksi antarperusahaan secara khusus, sehingga Anda dapat menganalisis proses rekonsiliasi antarperusahaan yang sering kali rumit dan memakan waktu. Sumber data Tersedia di tabel pos baris dokumen, BSEG (VBUND). Contoh 1000US013000 | |||
| Status rekonsiliasi ReconciliationStatus | Status terkini rekonsiliasi akun, seperti 'Terbuka', 'Sedang ditinjau', atau 'Disetujui'. | ||
| Deskripsi Atribut ini melacak status rekonsiliasi akun sepanjang alur kerjanya. Status ini menunjukkan apakah rekonsiliasi sudah dimulai, diajukan untuk ditinjau, disetujui, atau ditolak. Atribut ini penting untuk memantau progres aktivitas rekonsiliasi secara real-time. Anda dapat mengetahui rekonsiliasi yang tertahan dan berapa lama, serta mendukung KPI seperti 'Waktu Siklus Rekonsiliasi Akun'. Atribut ini memperlihatkan proses persetujuan dan penting untuk dashboard yang memantau hambatan rekonsiliasi serta beban kerja tim. Mengapa ini penting Memperlihatkan alur kerja rekonsiliasi, sehingga Anda dapat melacak progres, menemukan hambatan, serta mengukur waktu peninjauan dan persetujuan. Sumber data Informasi ini biasanya tersimpan di alat rekonsiliasi terpisah, misalnya SAP Account Substantiation and Automation by BlackLine, atau di kolom status khusus. Informasi ini biasanya bukan kolom standar di BKPF/BSEG. Contoh Belum dimulaiSedang berlangsungDisetujuiDitolak | |||
| Tahun fiskal GJAHR | Tahun fiskal saat transaksi dibukukan. | ||
| Deskripsi Tahun fiskal menjadi dasar untuk mengelompokkan data keuangan. Tahun ini juga merupakan bagian penting dari ID kasus Financial Period dan memberi konteks untuk semua transaksi. Tahun fiskal sering menjadi bagian dari ID kasus, tetapi menyimpannya sebagai atribut terpisah berguna untuk analisis tren jangka panjang. Anda dapat membandingkan waktu siklus penutupan, volume penyesuaian, atau KPI lainnya dari tahun ke tahun. Perbandingan ini membantu menemukan peningkatan atau penurunan kinerja selama beberapa tahun. Mengapa ini penting Memberikan konteks waktu yang penting dan memungkinkan perbandingan kinerja proses penutupan dari tahun ke tahun. Sumber data Tersedia di tabel header dokumen BKPF (GJAHR). Contoh 202320242022 | |||
| Tanggal target penyelesaian TargetCompletionDate | Batas waktu yang direncanakan untuk suatu aktivitas atau seluruh proses penutupan periode. | ||
| Deskripsi Tanggal target penyelesaian menunjukkan jadwal yang menjadi acuan pengukuran proses penutupan periode. Tanggal ini menjadi batas waktu penyelesaian tonggak tertentu atau seluruh proses penutupan. Atribut ini penting untuk analisis kinerja maupun kepatuhan. Sistem menggunakannya untuk menghitung KPI 'Tingkat Penutupan Periode Tepat Waktu' dan mengisi dashboard 'Kepatuhan Penutupan dan Tugas Terlambat'. Dengan membandingkan waktu kejadian aktual dengan tanggal target, sistem dapat menentukan apakah tugas berjalan sesuai jadwal, terlambat, atau berisiko terlambat. Informasi ini membantu Anda mengelola proses penutupan secara proaktif. Mengapa ini penting Mendukung pemantauan kepatuhan dan kinerja dengan menyediakan acuan untuk mengukur ketepatan waktu penyelesaian aktivitas penutupan serta KPI pengiriman tepat waktu. Sumber data Data induk ini biasanya dikelola di kalender terpisah, alat closing cockpit seperti SAP Financial Closing cockpit, atau spreadsheet. Data ini bukan bagian dari data transaksi. Contoh 2023-12-29T23:59:59Z2024-01-03T17:00:00Z2024-01-02T12:00:00Z | |||
| Terlambat IsOverdue | Penanda hasil perhitungan yang menunjukkan apakah aktivitas selesai setelah tanggal target yang direncanakan. | ||
| Deskripsi Atribut boolean ini membandingkan waktu penyelesaian aktual suatu aktivitas (EventTime) dengan batas waktu yang direncanakan (TargetCompletionDate). Jika waktu kejadian melewati tanggal target, penanda ini bernilai true. Atribut ini mendukung dashboard 'Kepatuhan Penutupan dan Tugas Terlambat' serta KPI 'Tingkat Penutupan Periode Tepat Waktu'. Atribut ini langsung menunjukkan penyimpangan jadwal sehingga manajer dapat segera menemukan tugas yang terlambat, memahami dampaknya terhadap jadwal keseluruhan, dan meminta tim memenuhi tenggat. Mengapa ini penting Menunjukkan dengan jelas ketidakpatuhan terhadap jadwal. Anda dapat segera menemukan tugas yang terlambat dan mengukur kinerja ketepatan waktu. Sumber data Atribut ini dihitung di alat process mining dengan membandingkan EventTime dan TargetCompletionDate. Contoh truefalse | |||
Aktivitas pencatatan hingga pelaporan, penutupan periode dan rekonsiliasi
| Aktivitas | Deskripsi | ||
|---|---|---|---|
| Jurnal penyesuaian dibukukan | Jurnal penyesuaian dibukukan untuk mengoreksi saldo akun setelah pemrosesan transaksi awal periode selesai. SAP mencatat peristiwa ini sebagai pembukuan dokumen keuangan standar. | ||
| Mengapa ini penting Data ini penting untuk Analisis Volume Entri Penyesuaian. Volume penyesuaian yang tinggi dapat menunjukkan masalah akurasi pada proses sebelumnya dan menjadi sasaran utama inisiatif perbaikan proses. Sumber data Tersedia di tabel BKPF dan BSEG. Entri ini biasanya dikenali dari jenis dokumen tertentu (BKPF-BLART) yang dikhususkan untuk penyesuaian, atau karena dibukukan pada periode penutupan khusus, seperti periode 13 hingga 16. Pengumpulan data Filter BKPF untuk dokumen yang dibukukan pada periode khusus atau menggunakan jenis dokumen penyesuaian. Jenis peristiwa explicit | |||
| Laporan keuangan dibuat | Menandai waktu pembuatan laporan keuangan resmi, seperti laporan laba rugi dan neraca. Aktivitas ini biasanya dicatat dengan memantau eksekusi program pelaporan tertentu. | ||
| Mengapa ini penting Ini merupakan tonggak penting yang menandai berakhirnya pemrosesan data dan dimulainya tahap peninjauan serta persetujuan akhir. Waktu dari peristiwa ini hingga persetujuan menjadi KPI penting. Sumber data Disimpulkan dari log audit sistem, seperti STAD, yang mencatat eksekusi program pembuatan laporan keuangan, biasanya melalui transaksi F.01. Pengumpulan data Dari log sistem (STAD) yang mencatat eksekusi transaksi laporan keuangan F.01. Jenis peristiwa inferred | |||
| Periode dibuka untuk pencatatan | Ini menandai dimulainya periode keuangan secara resmi, sehingga transaksi dapat dibukukan ke buku besar. Pengguna yang berwenang melakukan perubahan konfigurasi ini secara eksplisit untuk membuka periode tertentu agar transaksi dapat dibukukan di satu atau beberapa kode perusahaan. | ||
| Mengapa ini penting Aktivitas ini menjadi peristiwa awal yang pasti untuk kasus proses penutupan periode. Dengan menganalisis waktu sejak titik ini, Anda dapat memahami seluruh siklus periode keuangan. Sumber data Perubahan periode pembukuan melalui transaksi OB52 dicatat. Perubahan ini dapat diambil dengan menganalisis dokumen perubahan untuk tabel konfigurasi T001B, biasanya menggunakan tabel CDHDR dan CDPOS. Pengumpulan data Ambil dari dokumen perubahan (CDHDR/CDPOS) untuk tabel T001B. Jenis peristiwa explicit | |||
| Periode ditutup untuk pembukuan | Menandai penutupan resmi periode pembukuan, yang mencegah entri jurnal operasional berikutnya. Langkah ini menjaga keutuhan data keuangan untuk periode yang ditutup dan dilakukan melalui perubahan konfigurasi eksplisit. | ||
| Mengapa ini penting Ini merupakan peristiwa akhir yang pasti untuk proses penutupan periode. Data ini penting untuk menghitung total Waktu Siklus Penutupan Periode secara akurat dan mengukur ketepatan waktu. Sumber data Penutupan periode melalui transaksi OB52 tercatat. Perubahan ini dapat ditemukan dengan menganalisis dokumen perubahan (tabel CDHDR dan CDPOS) untuk tabel konfigurasi T001B. Pengumpulan data Ambil dari dokumen perubahan (CDHDR/CDPOS) untuk tabel T001B. Jenis peristiwa explicit | |||
| Proses valuasi mata uang asing dijalankan | Ini mencatat pelaksanaan program untuk menilai kembali pos terbuka dan saldo dalam mata uang asing menggunakan kurs akhir periode. Program ini biasanya dijalankan sebagai batch job dalam rangkaian langkah penutupan akhir periode. | ||
| Mengapa ini penting Langkah ini penting untuk memastikan pelaporan keuangan yang akurat di organisasi multinasional. Dengan menganalisis waktu dan durasinya, Anda dapat menemukan peluang untuk otomatisasi dan peningkatan kinerja. Sumber data Diambil dari log eksekusi program valuasi mata uang asing, seperti FAGL_FCV atau F.05. Detail batch job dari tabel seperti TBTCO dan TBTCP menyediakan stempel waktu eksekusi. Pengumpulan data Dari log batch job (tabel TBTCO) untuk program FAGL_FC_VALUATION atau SAPF100. Jenis peristiwa explicit | |||
| Rekonsiliasi akun dimulai | Menandai dimulainya proses rekonsiliasi untuk sekumpulan akun GL dalam suatu periode. Di SAP ECC standar, peristiwa ini tidak dicatat secara terpisah dan biasanya disimpulkan dari aktivitas terkait, seperti saat laporan utama dijalankan untuk pertama kalinya. | ||
| Mengapa ini penting Aktivitas ini menetapkan tonggak penting untuk mengukur durasi seluruh tahap rekonsiliasi. Mengetahui kapan rekonsiliasi dimulai penting untuk KPI Waktu Siklus Rekonsiliasi Akun. Sumber data Peristiwa ini tidak dicatat secara eksplisit. Peristiwa ini harus disimpulkan dari sumber data lain, seperti log audit sistem (transaksi STAD) untuk eksekusi pertama laporan tampilan saldo seperti FAGLB03 atau FS10N. Pengumpulan data Simpulkan dari eksekusi pertama transaksi laporan terkait (misalnya, FAGLB03) di log sistem. Jenis peristiwa inferred | |||
| Akrual atau provisi dibukukan | Ini mencatat pembukuan jurnal akrual, penangguhan, atau provisi, yang biasanya dilakukan menjelang akhir periode. SAP tidak mencatatnya sebagai jenis peristiwa tersendiri. Peristiwa ini disimpulkan dengan mengenali jurnal tertentu berdasarkan karakteristiknya. | ||
| Mengapa ini penting Dengan memisahkan entri ini, Anda dapat menganalisis subproses pengelolaan estimasi. Volume akrual yang tinggi atau penyesuaian yang sering dapat menunjukkan area yang perlu diperbaiki. Sumber data Disimpulkan dari tabel dokumen keuangan BKPF dan BSEG. Entri dapat dikenali dengan memfilter jenis dokumen tertentu (BKPF-BLART), akun GL tertentu (BSEG-HKONT), atau kata kunci pada teks header (BKPF-BKTXT). Pengumpulan data Filter tabel BKPF/BSEG berdasarkan jenis dokumen, akun GL tertentu, atau kolom teks. Jenis peristiwa inferred | |||
| Dokumen antarperusahaan diselesaikan | Aktivitas ini menandai penyelesaian pos terbuka antara dua kode perusahaan yang berbeda. Artinya, transaksi antarperusahaan telah dilunasi atau direkonsiliasi. SAP mencatatnya sebagai pembukuan keuangan eksplisit, biasanya berupa dokumen penyelesaian. | ||
| Mengapa ini penting Keterlambatan menyelesaikan pos antarperusahaan sering menjadi hambatan dalam proses penutupan. Pantau aktivitas ini untuk mengukur dan memperbaiki waktu siklus rekonsiliasi antarperusahaan. Sumber data Diidentifikasi dari dokumen keuangan di BKPF dan BSEG. Dokumen penyelesaian menghubungkan dan menutup pos terbuka. Tanggal penyelesaiannya (BSEG-AUGDT) digunakan sebagai stempel waktu peristiwa. Transaksi antarperusahaan dikenali melalui kolom mitra dagang. Pengumpulan data Identifikasi dokumen penyelesaian di BKPF/BSEG yang melibatkan pos dengan mitra dagang. Jenis peristiwa explicit | |||
| Entri pembalik dibukukan | Aktivitas ini mencatat pembukuan dokumen yang membalik jurnal yang sudah dibukukan, sering kali untuk memperbaiki kesalahan. SAP membuat tautan eksplisit antara dokumen pembalik dan dokumen aslinya. | ||
| Mengapa ini penting Jumlah pembalikan yang tinggi dapat menunjukkan masalah akurasi entri data atau kontrol proses. Pantau peristiwa ini untuk mengukur tingkat benar sejak awal dan menemukan area yang perlu diperbaiki. Sumber data Dokumen pembalik tersedia di tabel BKPF. Dokumen ini sering dibuat menggunakan transaksi FB08 dan mencantumkan nomor dokumen yang dibalik di kolom BKPF-STBLG. Pengumpulan data Identifikasi dokumen yang kolom BKPF-STBLG-nya terisi atau yang dibuat melalui kode transaksi pembalikan. Jenis peristiwa explicit | |||
| Laporan neraca saldo dibuat | Menandai eksekusi laporan untuk membuat neraca saldo. Langkah ini penting untuk memastikan total debit sama dengan total kredit sebelum laporan keuangan resmi dibuat. | ||
| Mengapa ini penting Ini merupakan pemeriksaan kualitas penting sebelum pelaporan akhir. Jika laporan ini dijalankan berulang kali, mungkin ada masalah pada data dasar yang ditemukan dan diperbaiki, sehingga berpotensi menimbulkan keterlambatan. Sumber data Disimpulkan dari log audit sistem, seperti transaksi STAD, yang dapat mencatat eksekusi transaksi pelaporan neraca saldo seperti S_ALR_87012277 atau F.01. Pengumpulan data Dari log sistem (STAD) yang mencatat eksekusi kode transaksi pelaporan. Jenis peristiwa inferred | |||
| Proses penyelesaian GR/IR dijalankan | Ini mencatat pelaksanaan program penyelesaian otomatis untuk akun Goods Receipt/Invoice Receipt. Program ini mencocokkan penerimaan barang dengan penerimaan faktur yang sesuai, lalu menyelesaikan pos-pos tersebut. | ||
| Mengapa ini penting Akun GR/IR sering menjadi sumber masalah rekonsiliasi. Pantau aktivitas ini untuk memastikan langkah otomatis berjalan dengan benar dan mengukur jumlah pengecualian yang perlu ditindaklanjuti secara manual. Sumber data Eksekusi tercatat di log batch job (transaksi SM37). Program yang digunakan biasanya SAPF124, dijalankan melalui transaksi F.13. Tabel log job seperti TBTCO menyediakan stempel waktu yang diperlukan. Pengumpulan data Dari log batch job (tabel TBTCO) untuk program penyelesaian SAPF124. Jenis peristiwa explicit | |||
| Rekonsiliasi ditinjau | Menunjukkan bahwa rekonsiliasi untuk akun atau kelompok akun tertentu telah ditinjau dan dikonfirmasi. Di SAP ECC standar, peristiwa ini tidak dicatat secara eksplisit dan sering dikelola melalui kontrol di luar sistem atau solusi khusus. | ||
| Mengapa ini penting Pantau waktu peninjauan untuk memahami hambatan pada tahap kontrol dan pengawasan dalam proses penutupan. Data ini dapat menunjukkan keterlambatan akibat ketersediaan manajemen atau pengerjaan ulang. Sumber data Informasi ini tidak tersedia di tabel ECC standar. Anda memerlukan solusi khusus, seperti kolom status di tabel Z khusus, workflow sederhana, atau integrasi dengan alat rekonsiliasi pihak ketiga. Pengumpulan data Catat perubahan status dari workflow khusus atau tabel Z jika diterapkan. Jenis peristiwa inferred | |||
Panduan ekstraksi
Langkah
- Buka alat SAP Query: Masuk ke sistem SAP ECC Anda. Buka kode transaksi
SQVI(QuickViewer). 2. Buat kueri baru: Masukkan nama kueri, misalnyaZ_R2R_PERIOD_CLOSE, lalu klik 'Create'. Di jendela pop-up, masukkan judul yang menjelaskan kueri, seperti 'Ekstraksi Penutupan Periode Pencatatan hingga Pelaporan'. Untuk 'Data source', pilih 'Table join'. 3. Tentukan gabungan tabel: Tambahkan tabel utamaBKPF(Accounting Document Header), lalu tambahkan tabelBSEG(Accounting Document Segment). SAP akan mengusulkan kondisi gabungan secara otomatis (MANDT, BUKRS, BELNR, GJAHR). Periksa lalu terima kondisi tersebut. Untuk aktivitas pembukaan dan penutupan periode, Anda perlu membuat kueri terpisah yang menggabungkanCDHDRdanCDPOS. 4. Pilih kolom keluaran (List Fields): Buka tab 'List fld. select.'. Pilih kolom yang diperlukan untuk log peristiwa dari tabel yang tersedia. Kolom ini mencakupBKPF-BUKRS,BKPF-BELNR,BKPF-GJAHR,BKPF-MONAT,BKPF-CPUDT,BKPF-CPUTM,BKPF-USNAM,BKPF-BLART,BSEG-HKONT,BSEG-DMBTR, dan kolom lain sesuai kebutuhan. 5. Tentukan parameter masukan (Selection Fields): Buka tab 'Selection fields'. Pilih kolom yang akan digunakan untuk memfilter data saat kueri dijalankan. Kolom terpenting adalahBKPF-BUKRS(Company Code) danBKPF-GJAHR(Fiscal Year). Anda juga dapat menambahkanBKPF-MONAT(Posting Period) danBKPF-BLART(Document Type). 6. Buat varian untuk setiap aktivitas: Karena SQVI tidak dapat menggabungkan pilihan data yang berbeda seperti SQL UNION, Anda harus menjalankan kueri beberapa kali. Untuk setiap aktivitas, misalnya 'Akrual atau provisi dibukukan', jalankan kueri dan masukkan nilai filter tertentu di layar pemilihan, seperti daftar jenis dokumen yang terkait dengan akrual. Simpan kriteria pemilihan ini sebagai varian. Ulangi untuk setiap aktivitas yang dapat diekstrak. 7. Jalankan kueri dan ekstrak data: Jalankan kueri untuk setiap varian yang dibuat. Kueri akan menggunakan filter khusus untuk aktivitas tersebut. 8. Ekspor hasil: Di layar hasil, ekspor data ke file lokal. Format yang paling umum adalah 'Spreadsheet'. Ulangi ekspor untuk setiap varian. 9. Gabungkan dan ubah data: Buka file hasil ekspor di program spreadsheet atau gunakan alat skrip. Gabungkan data dari semua file secara manual ke dalam satu file utama. 10. Tambahkan kolom tetap dan hasil perhitungan: Di file gabungan, tambahkan kolom yang tidak diekstrak langsung dari tabel SAP. Kolom ini mencakupActivityName(isi secara manual berdasarkan varian asal data),FinancialPeriod(gabungkan Tahun Fiskal dan Periode),EventTime(gabungkan kolom tanggal dan waktu),SourceSystem, danLastDataUpdate. 11. Siapkan file untuk diunggah: Simpan file akhir dalam format CSV atau Excel dengan header kolom yang sesuai dengan kebutuhan alat process mining Anda. Periksa jenis dan format data sebelum mengunggah.
Konfigurasi
- Sumber data: Table Join di SAP Query (SQVI). Tabel utama: BKPF, BSEG, CDHDR, dan CDPOS. * Rentang tanggal: Sebaiknya ekstrak data untuk sedikitnya 3 hingga 6 periode keuangan penuh agar pola dapat terlihat. Atur filter pada
BKPF-GJAHR(Fiscal Year) danBKPF-MONAT(Period). * Filter kode perusahaan: Selalu filter berdasarkanBKPF-BUKRS(Company Code) untuk membatasi volume data dan memusatkan analisis pada entitas hukum tertentu. Sebaiknya jangan mengekstrak semua kode perusahaan sekaligus. * Filter jenis dokumen: Gunakan filterBKPF-BLART(Document Type) untuk memisahkan aktivitas tertentu, seperti akrual, penyesuaian, atau pembalikan. Cari tahu jenis dokumen yang digunakan di organisasi Anda. * Prasyarat: Pengguna yang menjalankan ekstraksi harus memiliki otorisasi untuk menggunakan transaksiSQVIdan akses untuk menampilkan tabel keuangan terkait, misalnya objek otorisasi S_TABU_DIS. * Pertimbangan kinerja: Menggabungkan BKPF dan BSEG dapat menggunakan banyak sumber daya. Jalankan ekstraksi di luar jam sibuk. Hindari rentang tanggal yang terlalu panjang atau membiarkan filter Company Code tanpa batas, karena dapat menyebabkan masalah memori atau waktu tunggu habis.
Contoh kueri 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
*/ Langkah
- Tentukan cakupan dan rancangan program: Tetapkan logika khusus untuk mengidentifikasi masing-masing dari 12 aktivitas yang diperlukan. Konsultasikan dengan pemilik proses bisnis dan analis fungsional SAP untuk memastikan jenis dokumen, akun buku besar, dan nama program yang terkait dengan aktivitas penutupan akhir periode di lingkungan SAP ECC Anda.
- Buat program ABAP: Gunakan transaksi
SE38(ABAP Editor) untuk membuat program baru yang dapat dijalankan, misalnyaZ_PM_R2R_EXTRACTION. Masukkan judul yang menjelaskan program dan pilih jenis program 'Executable Program'. - Tentukan layar pemilihan: Di dalam program, buat layar pemilihan menggunakan
PARAMETERSdanSELECT-OPTIONS. Pengguna dapat menentukan cakupan ekstraksi, termasuk Company Code (BUKRS), Fiscal Year (GJAHR), dan Posting Period (MONAT). Langkah ini penting untuk mengendalikan volume data. - Deklarasikan struktur data: Tentukan struktur tabel internal untuk menampung data akhir log peristiwa. Struktur ini harus mencakup semua atribut wajib dan yang disarankan:
FinancialPeriod,ActivityName,EventTime,SourceSystem,LastDataUpdate,BUKRS,BELNR,USNAM,HKONT,BLART,DMBTR, danJournalEntryType. - Terapkan logika ekstraksi data: Tulis logika ABAP utama untuk memilih data bagi masing-masing dari 12 aktivitas. Untuk setiap aktivitas, kueri tabel SAP yang relevan, misalnya BKPF, BSEG, TBTCO, dan CDHDR, lalu isi tabel internal sementara. Gunakan logika pada bagian kueri ABAP yang menyertai panduan ini sebagai templat.
- Identifikasi aktivitas yang disimpulkan: Untuk aktivitas yang tidak dicatat secara eksplisit di SAP standar, seperti 'Rekonsiliasi akun dimulai' atau 'Rekonsiliasi ditinjau', terapkan logika inferensi yang telah disepakati. Caranya dapat mencakup pemeriksaan eksekusi pertama laporan tertentu atau kueri ke 'Z-tables' khusus jika tersedia.
- Gabungkan data kejadian: Setelah mengekstrak data untuk setiap aktivitas, tambahkan catatan dari setiap tabel internal sementara ke tabel internal gabungan akhir. Pastikan kolom
EventTimediisi dengan benar dari kolom sumber yang relevan, seperti tanggal/waktu pembukuan dokumen atau tanggal/waktu mulai pekerjaan. - Seragamkan dan format data: Sebelum menghasilkan keluaran, seragamkan kolom utama. Gabungkan tahun fiskal dan periode menjadi ID
FinancialPeriod. Tetapkan nilai tetap untukSourceSystemdanLastDataUpdate. Pastikan format stempel waktu konsisten. - Kembangkan fungsi keluaran: Tambahkan fungsi untuk mengekspor tabel internal akhir. Cara yang paling umum adalah menulis data ke file CSV atau tab-delimited di SAP Application Server menggunakan
OPEN DATASET, atau mengizinkan pengguna mengunduhnya langsung ke komputer lokal dengan function moduleGUI_DOWNLOAD. - Uji dan validasi: Uji program secara menyeluruh dengan data yang mewakili beberapa kode perusahaan dan periode. Ikuti langkah validasi untuk memastikan data akurat dan lengkap. Sempurnakan logika pemilihan berdasarkan masukan dari pakar fungsional.
- Jadwalkan eksekusi (opsional): Setelah divalidasi, program dapat dijadwalkan sebagai pekerjaan latar belakang melalui transaksi
SM36. Dengan begitu, log peristiwa dapat diekstrak secara berkala tanpa intervensi manual.
Konfigurasi
- Kriteria pemilihan: Program harus menyediakan layar pemilihan untuk memfilter data. Filter utama mencakup:
Company Code (BUKRS): Wajib diisi untuk membatasi cakupan ke entitas hukum yang relevan.Fiscal Year (GJAHR): Wajib diisi untuk menentukan tahun utama ekstraksi.Posting Period (MONAT): Wajib diisi untuk memilih periode keuangan tertentu.
- Konfigurasi khusus aktivitas: Banyak pilihan bergantung pada konfigurasi SAP Anda. Atur pilihan ini sebagai parameter atau konstanta dalam program:
Accrual/Provision Document Types: Daftar jenis dokumen (BLART) untuk mengidentifikasi pembukuan akrual dan provisi.Adjusting Entry Document Types: Daftar jenis dokumen untuk mengidentifikasi jurnal penyesuaian.Background Job/Program Names: Nama teknis program yang digunakan untuk Valuasi Mata Uang Asing, misalnyaFAGL_FCV, Pembersihan GR/IR, misalnyaSAPF124, laporan Neraca Saldo, dan pembuatan Laporan Keuangan, misalnyaRFBILA00.
- Rentang tanggal: Meski pilihan utama menggunakan tahun fiskal dan periode, logika di baliknya harus mempertimbangkan tanggal dan waktu lengkap setiap kejadian. Untuk analisis awal, sebaiknya ekstrak data dari 3 hingga 6 periode keuangan terakhir yang telah selesai.
- Kinerja: Kinerja program sangat penting untuk lingkungan SAP yang besar. Pastikan pemilihan data dari basis data menggunakan kolom indeks, terutama pada tabel seperti
BKPFdanBSEG. Hindari memilih semua kolom (SELECT *) dan, jika perlu, proses data dalam paket yang mudah dikelola. - Otorisasi: Pengguna atau akun layanan yang menjalankan program harus memiliki otorisasi untuk mengakses semua tabel yang dikueri (
BKPF,BSEG,TBTCO,TBTCP,CDHDR,CDPOS) dan menjalankan transaksi sepertiSE38(untuk pengembangan) sertaSM37/SM36(untuk penjadwalan dan pemantauan).
Contoh kueri 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. Langkah
- Siapkan prasyarat: Dapatkan kredensial akses hanya-baca ke basis data SAP ECC. Cari tahu skema basis data yang benar. Biasanya namanya
SAPSR3atau nama serupa yang diberikan administrator basis data Anda. - Cari tahu konfigurasi sistem: Konsultasikan dengan tim SAP Finance untuk menentukan
Company Codes(BUKRS) dan periode keuangan yang perlu dianalisis. Pastikan Anda mengetahuiDocument Types(BLART) yang digunakan di sistem untuk transaksi 'Akrual atau provisi dibukukan', 'Jurnal penyesuaian dibukukan', dan 'Antarperusahaan'. - Verifikasi nama program dan pekerjaan: Pastikan nama program untuk pekerjaan batch utama, seperti Valuasi Mata Uang Asing, misalnya
FAGL_FCV, Pembersihan GR/IR, misalnyaSAPF124, laporan Neraca Saldo, misalnyaRFBILA00, dan pembuatan Laporan Keuangan, misalnyaRFBILA00. Cari nama tersebut dengan memeriksa pekerjaan terjadwal di transaksiSM37. - Sesuaikan kueri SQL: Salin kueri SQL yang disediakan ke editor teks atau klien SQL. Ganti variabel penampung
{{start_date}},{{end_date}}, dan{{company_codes}}dengan nilai yang sesuai untuk analisis Anda. Perbarui daftar jenis dokumen dan nama program berdasarkan informasi yang dikumpulkan pada langkah sebelumnya. - Hubungkan ke basis data: Gunakan klien SQL standar, seperti DBeaver, SQL Server Management Studio, atau Oracle SQL Developer, untuk terhubung ke basis data SAP dengan kredensial yang Anda peroleh.
- Jalankan kueri: Jalankan kueri SQL yang telah disesuaikan pada basis data. Waktu yang dibutuhkan dapat cukup lama, bergantung pada rentang tanggal dan ukuran tabel keuangan Anda.
- Periksa hasil awal: Setelah kueri selesai, periksa hasilnya secara singkat. Pastikan jumlah baris masuk akal, semua kolom tersedia, dan hasilnya mencakup beberapa nilai
ActivityName. - Ekspor data: Ekspor seluruh hasil dari klien SQL ke file CSV. Simpan file dengan pengodean UTF-8 agar karakter tidak bermasalah.
- Siapkan file untuk diunggah: Sebelum mengunggah ke alat process mining, pastikan header kolom di file CSV sama persis dengan nama atribut yang diwajibkan (
FinancialPeriod,ActivityName,EventTime, dan seterusnya). Pastikan juga kolomEventTimemenggunakan format stempel waktu yang konsisten, sepertiYYYY-MM-DD HH:MI:SS.
Konfigurasi
- Kredensial basis data: Anda memerlukan pengguna basis data hanya-baca yang dapat mengakses tabel inti keuangan dan sistem SAP, termasuk
BKPF,BSEG,TBTCO,CDHDR, danCDPOS. - Rentang tanggal: Sebaiknya ekstrak data untuk sedikitnya 3 hingga 6 periode keuangan penuh agar variasi proses dapat terlihat. Perlu diingat, rentang tanggal yang lebih panjang akan sangat menambah waktu eksekusi kueri.
- Company Codes (
BUKRS): Selalu filter berdasarkan daftar kode perusahaan tertentu. Menjalankan kueri untuk semua kode perusahaan di sistem besar tidak praktis dan kemungkinan akan menimbulkan masalah kinerja. - Document Types (
BLART): Identifikasi jenis jurnal, seperti akrual dan penyesuaian, sepenuhnya bergantung pada konfigurasi SAP organisasi Anda. Untuk mengelompokkan aktivitas dengan akurat, masukkan kode jenis dokumen yang benar ke dalam klausaWHEREkueri. - Nama program dan pekerjaan: Kueri ini menggunakan nama program umum untuk langkah penutupan otomatis. Sistem Anda mungkin menggunakan program pembungkus khusus atau nama pekerjaan yang berbeda. Verifikasi nama tersebut di transaksi
SM37, lalu sesuaikan kueri. - Pertimbangan kinerja: Kueri ini mengakses tabel yang sangat besar, terutama
BSEGdanCDPOS. Sebaiknya jalankan ekstraksi di luar jam kerja agar kinerja sistem tidak terganggu. Batasi rentang tanggal dan kode perusahaan untuk mengendalikan waktu eksekusi.
Contoh kueri 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'
; Siap memulai?
Gunakan templat data ini untuk memulai process mining dan mendapatkan wawasan penting tentang operasional penutupan keuangan Anda. Mulai optimalkan proses pencatatan hingga pelaporan hari ini.
Optimalkan penutupan pencatatan hingga pelaporan, kurangi waktu siklus sekarang
Hilangkan hambatan dan pangkas waktu siklus penutupan pencatatan hingga pelaporan sebesar 30%.
Tidak perlu kartu kredit. Mulai uji coba gratis selama 14 hari.