Bordro işlemleri Veri Templateiniz
Bordro işlemleri Veri Templateiniz
- Bordro analizi için stratejik veri alanları
- Süreç keşfi için temel kilometre taşları
- Sisteme özel veri çıkarma yönergeleri
Bordro işlemleri öznitelikleri
| Ad | Açıklama | ||
|---|---|---|---|
| Aktivite Activity | Bordro sürecinde gerçekleşen belirli görev veya olay. | ||
| Açıklama Bu öznitelik, 'Puantaj gönderildi', 'Bordro simülasyonu çalıştırıldı' veya 'Ödeme gerçekleştirildi' gibi yürütülen süreç adımının adını belirtir. Süreç haritasının temelini oluşturur ve analistlerin bordro döngüsündeki işlem sırasını görselleştirmesini sağlar. Bu öznitelik için veriler Workflow günlükleri (SWWLOGHIST), Infotype değişiklik günlükleri (CDHDR/CDPOS) ve belirli bordro durumu tabloları gibi çeşitli kaynaklardan alınır. Teknik olay kodlarının iş birimlerinin anlayacağı etkinlik adlarına dönüştürülmesi için veri çıkarımı sırasında tutarlı adlandırma kuralları uygulanır. Neden önemli? Süreç grafiğindeki düğümleri tanımlar; süreç akışlarının, döngülerin ve varyantların görselleştirilmesini sağlar. Nereden alınır? SWWLOGHIST (Workflow), CDHDR (Değişiklik Belgeleri) veya PA03 (Kontrol Kaydı) durum değişikliklerinden elde edilir. Örnekler Puantaş gönderildiBrüt ücret hesaplandıDenetim istisnası işaretlendiÖdeme yapıldı | |||
| Bordro kaydı PayrollRecord | Çalışan ve ücret dönemini birleştiren benzersiz tanımlayıcı. | ||
| Açıklama Bordro kaydı, Process Mining analizinde merkezi vaka tanımlayıcısı olarak kullanılır. Belirli bir ücret döneminde belirli bir çalışan için bordro işlemlerinin tek bir döngüsünü temsil eder ve ilk puantaj gönderiminden son vergi bildirimine kadar tüm etkinlikleri birbirine bağlar. SAP SuccessFactors Employee Central Payroll’da bu kayıt genellikle Personel Numarası (PERNR), Bordro Yılı (PABRJ) ve Bordro Dönemi (PABRP) birleştirilerek oluşturulur. Birden fazla çalıştırmayı ayırt etmek için sıra numarası (SEQNR) da eklenebilir. Bu ayrıntı düzeyi, her ödeme döngüsünün ayrı bir örnek olarak analiz edilmesini sağlar; böylece çevrim süresi doğru ölçülür ve hatalar izlenir. Neden önemli? Vaka kimliği olarak kullanılır ve düzenlenen her ücret ödemesinin uçtan uca süreç akışını yeniden oluşturmak için ilgili tüm olayları bir araya getirir. Nereden alınır? SAP Cluster B2 (Zaman Değerlendirme Sonuçları) veya PC_PAYRESULT tablolarındaki verilerden oluşturulur (PERNR, PABRJ, PABRP, SEQNR). Örnekler 10023499-2023-1088291022-2024-01-SEQ01US-10293-2023-52 | |||
| Olay zaman damgası EventTimestamp | Etkinliğin gerçekleştiği kesin tarih ve saat. | ||
| Açıklama Bu öznitelik, olayın gerçekleştiği kesin anı tarih ve saat bilgileriyle kaydeder. Çevrim süreleri, teslim süreleri ve süreç aşamaları arasındaki işlem hızları dahil, zamana dayalı tüm metriklerin hesaplanması için temel oluşturur. SAP ECP’de bu bilgi, değişiklik belgelerindeki Neden önemli? Olaylar arasındaki süreyi hesaplamayı sağlar; performans darboğazlarını ve SLA ihlallerini belirlemek için gereklidir. Nereden alınır? CDHDR-UDATE/UTIME, SWWLOGHIST-WI_CD/WI_CT veya belirli denetim günlüğü zaman damgaları. Örnekler 2023-10-25T08:30:00Z2023-10-26T14:15:22Z2023-11-01T09:00:00Z | |||
| Kaynak sistem SourceSystem | Olay verilerinin geldiği sistem. | ||
| Açıklama Bu öznitelik, verilerin çıkarıldığı SAP SuccessFactors Employee Central Payroll örneğini veya bağlı alt sistemi belirtir. Birden fazla bordro sisteminin ya da karma yapıların bulunduğu karmaşık ortamlarda veri kökeninin ve izlenebilirliğin korunmasını sağlar. Farklı bölgelerdeki kurulumlardan gelen verileri analiz ederken veya eski sistemlerle taşınan sistemlerin performansını karşılaştırırken özellikle yararlıdır. Genellikle veri çıkarma kurulumu sırasında tanımlanan sabit bir metin değeridir. Neden önemli? Birden fazla sistemin bulunduğu ortamlarda verileri bölümlere ayırmayı ve sorunların kaynağını belirleyerek veri kalitesi sorunlarını gidermeyi sağlar. Nereden alınır? SAP kurulumundaki veya veri çıkarma yapılandırmasındaki sistem kimliği (SID). Örnekler SAP_ECP_NASAP_ECP_EMEASuccessFactors_Core | |||
| Son veri güncellemesi LastDataUpdate | En son veri çıkarımının zaman damgası. | ||
| Açıklama Bu öznitelik, veri kaydının Process Mining veri modelinde en son ne zaman yenilendiğini gösterir. Analistlerin verilerin güncelliğini anlamasına ve içgörülerin güncel bilgilere dayanmasına yardımcı olur. Süreç akışı analizinde doğrudan kullanılmasa da veri yönetişimi ve doğrulama açısından önemlidir. Dashboardun bordro sistemindeki en son durumu yansıttığını doğrulamaya yardımcı olur. Neden önemli? Kullanıcıların verilerdeki gecikmeden haberdar olmasını ve raporlanan metriklerin güncelliğini doğrulamasını sağlar. Nereden alınır? Çalışma sırasında ETL / veri çıkarma betiği tarafından oluşturulur. Örnekler 2023-11-05T00:00:00Z2023-11-05T12:00:00Z | |||
| Bordro alanı PayrollArea | Çalışanın bağlı olduğu bordro grubunu belirtir. | ||
| Açıklama Bordro alanı, aynı bordro çalıştırmasında birlikte işleme alınan çalışanları; genellikle ödeme sıklığına (ör. aylık veya iki haftada bir) ya da kuruluş yapısına göre gruplandırır. Bu öznitelik, farklı çalışan gruplarının süreç performansını karşılaştırmak için analizleri bölümlere ayırmada önemlidir. SAP’de bu alan, teknik Neden önemli? Farklı grupların (ör. saatlik ücretli ve maaşlı çalışanlar) bordro döngüsü performansını karşılaştırmayı sağlar. Nereden alınır? PA0001 tablosu (Kurumsal Atama), ABKRS alanı. Örnekler ABD iki haftada birAlmanya aylıkÜst düzey yönetici bordrosu | |||
| Bordro uzmanı PayrollSpecialist | Kaydı işleyen kişinin kullanıcı kimliği veya adı. | ||
| Açıklama Bu öznitelik, elle yapılan adımları veya onayları yürütmekten sorumlu bordro yöneticisinin ya da uzmanının kimliğini kaydeder. İş yükü dağılımını ve bireysel verimliliği analiz etmeyi sağlayan 'Uzman İşlem Hacmi ve İş Yükü' Dashboardunun temel özniteliğidir. Sistem günlüklerindeki Neden önemli? İş yükünü dengelemek ve süreçteki insan kaynaklı darboğazları belirlemek için gereklidir. Nereden alınır? CDHDR’de kaydedilen sistem alanları (SY-UNAME) veya Workflow aktör kimliği. Örnekler JSMITHKMILLERSYSTEM | |||
| Brüt ücret tutarı GrossPayAmount | Kayıt için hesaplanan toplam brüt ücret. | ||
| Açıklama Bu öznitelik, kesintilerden önceki brüt ücretin toplam parasal değerini gösterir. Finansal doğrulamanın temel metriklerinden biridir; yüksek tutarlı ödemelerin daha sıkı denetim veya daha uzun onay süreleriyle ilişkisini incelemek için kullanılır. Bordro sonuçları tablosundan (RT), genellikle toplam brüt ücreti gösteren belirli ücret türlerinden (ör. /101) alınır. Hesaplamanın temel tutarını sağlayarak 'Yan Hak ve Vergi Hesaplama Doğruluğu' analizini destekler. Neden önemli? Ödeme tutarına göre süreç davranışını analiz etmeyi sağlar (ör. yüksek tutarlı ödemelerin onaylanması daha mı uzun sürüyor?). Nereden alınır? Bordro Sonuçları Tablosu (RT), /101 veya benzeri ücret türü. Örnekler 5000.002500.5010500.00 | |||
| Çalışan türü EmployeeType | Çalışanın sınıflandırması (ör. kadrolu, yüklenici). | ||
| Açıklama Bu öznitelik, çalışanları aktif çalışan, emekli veya yüklenici gibi istihdam ilişkilerine göre sınıflandırır. Bordro işlemlerinin karmaşıklığı çalışan türüne göre değişebilir; bazı gruplar daha fazla elle müdahale veya özel uyumluluk denetimi gerektirebilir. SAP’deki Çalışan Grubu ( Neden önemli? Süreç farklılıklarının veya gecikmelerin belirli istihdam kategorilerine özgü olup olmadığını belirlemeye yardımcı olur. Nereden alınır? PA0001 tablosu, PERSG (Grup) ve PERSK (Alt Grup) alanları. Örnekler Aktif çalışanStajyerEmekliSaatlik ücretli yüklenici | |||
| Maliyet merkezi CostCenter | Çalışanla ilişkili maliyet merkezi. | ||
| Açıklama Maliyet merkezi, çalışanın maliyetlerinin aktarıldığı finans departmanını veya birimini belirtir. 'Puantaj Onayındaki Darboğazlar' Dashboardunda departman için gösterge olarak kullanılır ve bordro döngüsünü hangi kuruluş birimlerinin geciktirdiğini belirlemeye yardımcı olur. Kurumsal Atama infotype’ında (PA0001) Neden önemli? Gecikmelere veya yeniden çalışmaya neden olan departmanları belirlemek için kuruluş yapısında ayrıntıya inmeyi sağlar. Nereden alınır? PA0001 tablosu, KOSTL alanı. Örnekler CC-1000 FinansCC-2000 BTCC-3000 Satış | |||
| Otomatik mi IsAutomated | Etkinliğin bir sistem kullanıcısı tarafından gerçekleştirilip gerçekleştirilmediğini belirten işaret. | ||
| Açıklama Bu Boole özniteliği, belirli bir süreç adımının arka plan işi/sistem kullanıcısı tarafından mı yoksa bir kişi tarafından mı yürütüldüğünü belirtir. Temassız işlem oranını hesaplayan 'Banka Transferi Otomasyon İzleyicisi' için önemlidir. Genellikle kullanıcı kimliği, bilinen sistem hesaplarının listesiyle (ör. 'BATCH', 'SAP_WORKFLOW') karşılaştırılarak belirlenir. Neden önemli? Otomasyon oranlarını ölçmeye ve elle yapılan işleri azaltma fırsatlarını belirlemeye yardımcı olur. Nereden alınır? Kullanıcı kimliğinden elde edilir (ör. Kullanıcı ['BATCH', 'SYSTEM'] listesindeyse true). Örnekler truefalse | |||
| Ücret dönemi PayPeriod | Mali yıl içindeki belirli dönem numarası. | ||
| Açıklama Bu öznitelik, bordro döneminin sıra numarasını belirtir (ör. ocak ayı veya iki haftalık ilk döngü için 01). Analistlerin zaman içindeki performans eğilimlerini izlemesine ve işlem iş yükündeki mevsimsel değişimleri belirlemesine yardımcı olur.
Neden önemli? Eğilim analizini ve yılın belirli dönemlerinde ortaya çıkan mevsimsel darboğazların belirlenmesini sağlar. Nereden alınır? PA0001 tablosu veya Bordro Sonuçları Kümesi (RGDIR), PABRP alanı. Örnekler 01122652 | |||
| Ücret döngüsü sıklığı PayCycleFrequency | Çalıştırmanın düzenli mi yoksa dönem dışı mı olduğunu belirtir. | ||
| Açıklama Bu öznitelik, planlı standart bordro çalıştırmaları ile düzeltme veya anında ödeme için kullanılan özel 'dönem dışı' çalıştırmaları birbirinden ayırır. Dönem dışı çalıştırmaların sayısının yüksek olması, süreç verimsizliğinin önemli bir göstergesidir ve 'Dönem Dışı Ödeme Hacmi Analizi' Dashboardunda izlenir. Bordro kümesi dizinindeki Dönem Dışı Nedeni ( Neden önemli? 'Dönem Dışı Ödeme Oranı' KPI’ını ölçmek ve standart dışı işlemleri azaltmaya yönelik çalışmaları belirlemek için önemlidir. Nereden alınır? RGDIR tablosu (Küme Dizini), OCRSN veya PAYTY alanı. Örnekler DüzenliDüzeltme APrim ödemesiİşten ayrılma | |||
| Denetim istisnası işareti AuditExceptionFlag | Denetim istisnası oluşup oluşmadığını belirten işaret. | ||
| Açıklama Bu öznitelik, bordro simülasyonu veya hesaplaması sırasında doğrulama kurallarının istisna ya da uyarı oluşturduğu vakaları işaretler. 'Denetim İstisnası Sıklığı' KPI’ının temel girdisidir. Veriler genellikle bordro günlüğünden veya belirli hata mesajı tablolarından (FEHLER) alınır. true değeri, süreç akışında istisna yönetimi adımının bulunduğunu gösterir. Neden önemli? Veri kalitesi sorunlarını ve elle müdahale ihtiyacını ortaya çıkarır. Nereden alınır? Bordro günlüğündeki hata mesajlarının veya belirli durum kodlarının varlığından elde edilir. Örnekler truefalse | |||
| SLA işlem son tarihi SLAProcessingDeadline | Bordro çalıştırmasının tamamlanması için hedef zaman damgası. | ||
| Açıklama Bu öznitelik, ödemenin zamanında yapılmasını sağlamak için bordronun tamamlanması gereken iç veya dış son tarihi belirtir. Gerçek 'Ödeme gerçekleştirildi' zaman damgasıyla karşılaştırılarak 'SLA Uyumluluk Oranı' KPI’ının hesaplanmasında kullanılır. SAP tablolarında her zaman standart bir alan olarak bulunmasa da genellikle özel bir kontrol tablosunda tutulur veya bordro takvimine göre belirlenir (ör. ödeme tarihinden 2 gün önce). Bu veri modeli için çoğunlukla ödeme tarihinden belirli bir tampon süre çıkarılarak hesaplanır. Neden önemli? Zamanında tamamlanmayı ve SLA’ya uyumu değerlendirmek için ölçüt sağlar. Nereden alınır? Ödeme tarihinden (T549S) yapılandırılmış işlem günleri çıkarılarak elde edilir. Örnekler 2023-10-28T17:00:00Z2023-11-28T17:00:00Z | |||
| Tüzel kişilik LegalEntity | Çalışanın şirket kodu veya tüzel kişiliği. | ||
| Açıklama Bu öznitelik, bordro kaydıyla ilişkili tüzel kişiliği (Şirket Kodu) belirtir. Farklı bağlı ortaklıklar veya şirket tüzel kişilikleri arasındaki bordro performansını finansal raporlama ve analiz için kullanmayı sağlar. Kurumsal Atama infotype’ındaki (PA0001) Neden önemli? Şirketler arası kıyaslamayı ve finansal dağılım analizini destekler. Nereden alınır? PA0001 tablosu, BUKRS alanı. Örnekler US01DE011000 | |||
| Vergi yetki alanı TaxJurisdiction | Çalışan için geçerli vergi bölgesi veya yetkili kurum. | ||
| Açıklama Bu öznitelik, bordro kaydının tabi olduğu vergi kurumunu veya bölgesini (ör. eyalet, il, kanton) belirtir. Coğrafi bölgelerdeki uyumluluk sorunlarını belirlemek için 'Denetim İstisnaları ve Uyumluluk Riski' Dashboardunda kullanılır. SAP ABD Bordrosu’nda bu alan Neden önemli? Uyumluluk risklerini ve denetim istisnalarını mevzuat bölgelerine göre bölümlere ayırmayı sağlar. Nereden alınır? PA0001 veya PA0207/PA0208 tablosu, TXJCD alanı. Örnekler CANYTXNRW | |||
| Yeniden çalışma sayısı ReworkCount | Düzeltmenin kaç kez yapıldığı. | ||
| Açıklama Bu hesaplanan metrik, vaka geçmişinde 'Veri düzeltmesi yapıldı' etkinliğinin kaç kez yer aldığını sayar. Süreç verimsizliğini doğrudan ölçer ve 'Elle Düzeltme ve Yeniden Çalışma Oranları' Dashboardunu destekler. Yeniden çalışma sayısının yüksek olması, süregelen veri kalitesi sorunlarına veya ilk doğrulamayı geçemeyen karmaşık vakalara işaret eder. Neden önemli? Hata düzeltmeye harcanan emeği ölçer ve veri kalitesi çalışmalarının gerekçelendirilmesine yardımcı olur. Nereden alınır? Her CaseId için 'Veri düzeltmesi yapıldı' etkinlikleri sayılarak hesaplanır. Örnekler 013 | |||
Bordro işlemleri etkinlikleri
| Aktivite | Açıklama | ||
|---|---|---|---|
| Banka havalesi dosyası oluşturuldu | Ön Veri Ortamı Değişimi (pre-DME) veya nihai DME dosyasının oluşturulmasıdır. Bu dosya, bankaya gönderilecek ödeme talimatlarını içerir. | ||
| Neden önemli? Banka Havalesi Otomasyon İzleyicisini takip eder. Dosya oluşturma hataları süreci durdurabilir. Nereden alınır? DME / Ödeme Ortamı Workbench (PMW) çalıştırma günlükleri; genellikle TemSe’de veya belirli ödeme çalıştırma tablolarında (ReguH/ReguP) saklanır. Kaydedin Ödeme çalıştırması (F110/RPCIPE) çıktı oluşturduğunda kaydedilir Olay türü explicit | |||
| Bordro kaydı onaylandı | Bir çalışan veya ücret grubu için bordro sonuçlarının resmen onaylanmasıdır. PCC içindeki 'Monitoring' veya 'Sign Off' adımında gerçekleşir. | ||
| Neden önemli? Hesaplama ve doğrulama aşamasının bittiğini, ödeme için onay verildiğini gösterir. Uzman İşlem Hacmi analizinde önemlidir. Nereden alınır? Onay veya Teyit adımına ait Payroll Control Center Adım Örneği günlükleri (PYC_D_STEP_INST). Kaydedin PCC onay adımının durumu COMPLETED olarak değiştiğinde kaydedilir Olay türü explicit | |||
| Bordro simülasyonu çalıştırıldı | Sonuçları veritabanına kaydetmeden hataları belirlemek için bordro sürücüsünün test amaçlı çalıştırılmasıdır. PCC doğrulama aşamasının önemli bir adımıdır. | ||
| Neden önemli? İlk Seferde Hesaplama Oranını hesaplamak için gereklidir. Simülasyonların tekrarlanması veri kalitesi sorunlarına işaret eder. Nereden alınır? Adım türünün Simulation olduğu Payroll Control Center Adım Örneği günlükleri (PYC_D_STEP_INST). Kaydedin PCC simülasyon adımının durumu COMPLETED olarak değiştiğinde kaydedilir Olay türü explicit | |||
| Bordro süreci başlatıldı | Payroll Control Center (PCC) içinde bir bordro süreci örneğinin oluşturulmasıdır. Belirli bir bordro alanı için bordro döngüsünün resmî başlangıcını gösterir. | ||
| Neden önemli? Uçtan Uca Bordro Döngüsü Süresinin başlangıç noktasını belirler. İşlenecek çalışanların kapsamını tanımlar. Nereden alınır? Yeni bir süreç kimliğinin oluşturulmasını izleyen Payroll Control Center tabloları (ör. PYC_D_PY_PROC_INST). Kaydedin PCC süreç örneği oluşturulduğunda kaydedilir Olay türü explicit | |||
| Brüt ücret hesaplandı | Brüt bordro şeması hesaplamasının başarıyla yürütülmesidir. Standart işlemde bu, bordro sürücüsünün PCL2 kümesine yazmasıyla gerçekleşir. | ||
| Neden önemli? Zaman ve ücret verilerinin başarıyla birleştirildiğini gösteren önemli bir aşamadır. Buradaki gecikmeler, Brütten Nete İşleme Verimliliğini etkiler. Nereden alınır? PCL2 kümesi (Bordro Sonuçları), özellikle 'For-Period' için dizin tablosundaki (RGDIR) zaman damgası. Kaydedin Bordro kümesine yeni bir sıra numarası yazıldığında kaydedilir Olay türü explicit | |||
| Ödeme yapıldı | Ödeme sürecinin tamamlanmasıdır. Genellikle banka onayıyla veya F110 ödeme çalıştırmasının tamamlanmasıyla doğrulanır. | ||
| Neden önemli? SLA Uyumluluk Oranının temel bitiş zaman damgasıdır. Çalışana zamanında ödeme yapılıp yapılmadığını belirler. Nereden alınır? Ödeme çalıştırma tablolarındaki (REGUH) çalıştırma tarihi ve saati veya Valör Tarihinden çıkarılan bilgi. Kaydedin Ödeme çalıştırmasının durumu Posted/Complete olarak ayarlandığında kaydedilir Olay türü explicit | |||
| Puantaş gönderildi | Çalışanın veya yöneticinin ücret dönemi için zaman verilerini gönderdiği olaydır. Bu bilgi, ECP’ye bağlı Employee Central modülündeki iş akışı talep günlüklerinden alınır. | ||
| Neden önemli? Veri biriktirme aşamasının başlangıcını gösterir. Buradaki gecikmeler sonraki adımlara yansıyarak bordro işleme süresini daraltır. Nereden alınır? Employee Central iş akışı talep tabloları (WfRequest); Puantaş veya İzin kategorilerine göre filtrelenir. Kaydedin İş akışı durumu SUBMITTED olarak değiştiğinde kaydedilir Olay türü explicit | |||
| Puantaş onaylandı | Bir yönetici veya yöneticinin zaman verilerini resmen onaylamasıdır. Bu durum değişikliği, verilerin bordro motoruna aktarılmaya hazır olduğunu doğrular. | ||
| Neden önemli? Puantaş Onay Süresi KPI’ını hesaplar. Buradaki darboğazlar, yönetici gecikmelerine veya karmaşık onay hiyerarşilerine işaret eder. Nereden alınır? Employee Central iş akışı talep tabloları (WfRequest); COMPLETED veya APPROVED durumuna göre filtrelenir. Kaydedin İş akışı durumu APPROVED olarak değiştiğinde kaydedilir Olay türü explicit | |||
| Vergi bildirimi tamamlandı | Vergi bildirimi dosyalarının oluşturulması (ör. ABD’de PU19) veya üçüncü taraf vergi bildirim hizmeti sağlayıcısına aktarılmasıdır. | ||
| Neden önemli? Mevzuata uyumluluğu sağlar. Süreçteki son uyumluluk adımını izler. Nereden alınır? Dosyanın başarıyla oluşturulduğunu gösteren Tax Reporter Log Manager veya B2A (Business to Administration) Manager günlükleri. Kaydedin Tax Reporter çalıştırması başarıyla tamamlandığında kaydedilir Olay türü explicit | |||
| Denetim istisnası işaretlendi | Payroll Control Center ilke kontrollerinin doğrulama uyarısı oluşturmasıdır. Bu uyarılar, veri tutarsızlıklarını veya uyumluluk risklerini belirler. | ||
| Neden önemli? Denetim İstisnası Sıklığı ve Uyumluluk Riski Dashboardlarını doğrudan destekler. Yüksek hacim, önceki aşamalardaki veri kalitesi sorunlarına işaret eder. Nereden alınır? Belirli hata kodlarını çalışan kaydıyla ilişkilendiren Payroll Control Center Uyarı tabloları (PYC_D_ALERT). Kaydedin PCC Uyarı tablosunda yeni bir kayıt oluşturulduğunda kaydedilir Olay türü explicit | |||
| Teşvik verileri içe aktarıldı | Prim veya komisyon gibi standart dışı ücret verilerinin bordro sistemine alınmasıdır. Genellikle verilerin Infotype 0015 veya 2010'a yüklenmesini içerir. | ||
| Neden önemli? Geç yapılan içe aktarımlar, brüt ücretin doğru hesaplanmasını engeller. Bu adımın analizi, Teşvik Verisi Entegrasyon Süresini iyileştirmeye yardımcı olur. Nereden alınır? Infotype 0015 (Ek Ödemeler) veya 2010 (Çalışan Ücret Bilgileri) kayıtlarının oluşturulduğunu gösteren Denetim Günlüğü (PCL4 veya eşdeğeri). Kaydedin Infotype oluşturma zaman damgalarını içe aktarma işi günlükleriyle karşılaştırın Olay türü inferred | |||
| Ücret pusulası yayımlandı | Ücret bildiriminin Self-Service (ESS) üzerinden çalışanın erişimine açılmasıdır. | ||
| Neden önemli? Ücret Pusulası Teslim SLA Performansını ölçer. Buradaki gecikmeler destek masasına talepler gelmesine yol açar. Nereden alınır? Ücret pusulası mashup hizmeti günlüklerindeki 'Print Date' veya erişilebilirlik tarihi yapılandırmasından çıkarılır. Kaydedin Ödeme Tarihi + sistem yapılandırmasındaki gecikmeye göre hesaplayın Olay türü inferred | |||
| Veri düzeltmesi yapıldı | Denetim istisnasına yanıt olarak ana verilerde veya zaman verilerinde yapılan değişikliklerdir. Bordro uyarısını gidermek için gereken yeniden çalışmayı ifade eder. | ||
| Neden önemli? Manuel Düzeltme ve Yeniden Çalışma Oranlarını izler. Süreç verimsizliğine en çok katkıda bulunan etkinliktir. Nereden alınır? Uyarı kapatılmadan önce aynı çalışan için PCC Uyarı zaman damgalarıyla sonraki Denetim Günlüğü (PCL4) değişiklikleri birleştirilerek belirlenir. Kaydedin PCC uyarısı etkinken yapılan ana veri güncellemelerini belirleyin Olay türü inferred | |||
| Yan hak kesintileri uygulandı | Yan hak kurallarının işlendiği hesaplama şemasındaki belirli adımdır. Ana çalıştırmanın bir parçası olsa da bu adımı ayrı incelemek yapılandırma hatalarını belirlemeye yardımcı olur. | ||
| Neden önemli? Yan Hak ve Vergi Hesaplama Doğruluğu analizini destekler. Karmaşık kesinti kurallarındaki tutarsızlıkları gidermede yararlıdır. Nereden alınır? Bordro sonuçlarında V0 ayrımının bulunmasından veya ayrıntılı günlük kaydı etkinse belirli günlük girdilerinden çıkarılır. Ayrıntılı günlük kaydı üretim ortamlarında nadirdir. Kaydedin Brüt ücretin hesaplandığı zamanla örtüşür, ancak analiz açısından farklı bir kavramdır Olay türü inferred | |||
Veri çıkarma rehberleri
Adımlar
- Veri çıkarma için hedef bordro alanını ve dönem parametrelerini belirleyin. Verileri öncelikle Payroll Control Center (PCC) tablolarından (PYC_*) ve bordro küme dizininden (HRPY_RGDIR) alacaksınız.
- SAP SuccessFactors Employee Central Payroll (ECP) arka uç şemasına bağlı SQL istemcinizi veya SAP HANA Studio’yu açın.
- Sorgu bölümünde verilen veri çıkarma betiğini çalıştırın. Bu betik, ana veri tablolarındaki, bordro sonuçlarındaki ve PCC denetim günlüklerindeki verileri bir araya getirir.
- 'Zaman çizelgesi gönderildi' ve 'Zaman çizelgesi onaylandı' etkinliklerini eşleyin. ECP bu verileri genellikle Employee Central’dan alır. Bu nedenle PA2001 tablosundaki oluşturulma ve son değiştirilme zaman damgalarını ya da varsa PTREQ_HEADER gibi özel zaman arayüzü tablolarını kullanın.
- Hedef ödeme döneminde oluşturulan kayıtları bulmak için Infotype 0015 (Ek ödemeler) ve 2010 (Çalışan ücret bilgileri) verilerini sorgulayarak 'Teşvik verileri içe aktarıldı' etkinliğini çıkarın.
- 'Bordro süreci başlatıldı', 'Bordro simülasyonu çalıştırıldı', 'Bordro kaydı onaylandı' ve 'Ücret pusulası yayımlandı' etkinliklerini kaydetmek için PYC_D_PYP (Süreç örnekleri) ve PYC_D_BINST (Adım örnekleri) tablolarındaki PCC süreç adımlarını alın.
- 'Denetim istisnası işaretlendi' etkinliklerini belirlemek için PYC_D_ALERT tablosunu sorgulayın. Bu kayıtlar, belirli çalışanları PCC kontrol adımlarında bulunan doğrulama hatalarıyla ilişkilendirir.
- Etkin bordro dönemi içinde SAP Değişiklik Belgesi Başlığı tablosunu (CDHDR) bordroyla ilgili Infotype tablolarıyla (ör. 0008, 0015, 2001) birleştirerek 'Veri düzeltmesi yapıldı' etkinliklerini oluşturun.
- 'Brüt ücret hesaplandı' etkinliğinin tam zamanını belirlemek için HRPY_RGDIR tablosunu kullanın. Şema çalıştırılırken aynı anda gerçekleştiği için aynı zaman damgasını kullanarak 'Yan hak kesintileri uygulandı' etkinliğini oluşturun.
- 'Banka havale dosyası oluşturuldu' ve 'Ödeme gerçekleştirildi' etkinliklerini kaydetmek için REGUH (Mutabakat verileri) ve REGUT (DME yönetimi) tablolarındaki finans verilerini ilişkilendirin.
- Vaka kimliğinin benzersiz olmasını sağlamak için 'PayrollRecord' sütununu kesin olarak [EmployeeID]-[Period]-[Year] biçimine dönüştürün.
- Son veri setini CSV dosyası olarak dışa aktarın. Sütun başlıklarının sözleşmede tanımlanan özniteliklerle eşleştiğinden emin olun ve dosyayı ProcessMind’e yükleyin.
Yapılandırma
- Zaman aralığı: Veri çıkarma işlemini, geriye dönük 6 ila 12 aylık hareketli bir dönemi kapsayacak şekilde yapılandırın. Bordro süreçleri döngüsel olduğu için bu aralık, normal ve dönem dışı çalıştırmalardaki farklılıkları görmek için yeterli çeşitlilik sunar.
- Bordro alanı (ABKRS): Analizin benzer süreç çevrimlerini karşılaştırmasını sağlamak için belirli Bordro Alanlarına (ör. US Monthly, DE Weekly) göre filtre uygulayın.
- Dil: Etkinlik ve Süreç Adımı açıklamalarının sistemin birincil dilinde (ör. SPRAS = 'E') çıkarıldığından emin olun.
- PCC süreç kimlikleri: İlgili adımları filtrelemek için PCC yapılandırmanızda 'İzleme', 'Üretim' ve 'Dönem Dışı' süreçlerinde kullanılan belirli Süreç Tanımı kimliklerini (PYP_ID) belirleyin.
- Para birimi: Küresel bordro operasyonlarına ait verileri çıkarıyorsanız finansal tutarları (GrossPayAmount) tek bir para birimine dönüştürün.
- Yetkilendirme: Veritabanı kullanıcısının İnsan Kaynakları (PA/PY) tablolarına, özellikle Küme Dizini (HRPY_RGDIR) ve PCC Tablolarına (PYC_*) okuma erişimi olmalıdır.
Örnek sorgu sql
/* Activity 1: Time Sheet Submitted */
SELECT
CONCAT(T.PERNR, CONCAT('-', T.PABRJ, T.PABRP)) AS PayrollRecord,
'Time Sheet Submitted' AS Activity,
T.BEGDA AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
T.ABKRS AS PayrollArea,
'Permanent' AS EmployeeType,
T.PABRP AS PayPeriod,
CASE WHEN T.PABRP LIKE '9%' THEN 'Off-Cycle' ELSE 'Regular' END AS PayCycleFrequency,
0.00 AS GrossPayAmount,
T.UNAME AS PayrollSpecialist,
O.KOSTL AS CostCenter,
'True' AS IsAutomated
FROM PA2001 AS T
LEFT JOIN PA0001 AS O ON T.PERNR = O.PERNR AND O.ENDDA = '99991231'
WHERE T.AEDTM BETWEEN '[START_DATE]' AND '[END_DATE]'
UNION ALL
/* Activity 2: Time Sheet Approved */
SELECT
CONCAT(T.PERNR, CONCAT('-', T.PABRJ, T.PABRP)) AS PayrollRecord,
'Time Sheet Approved' AS Activity,
T.AEDTM AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
T.ABKRS AS PayrollArea,
'Permanent' AS EmployeeType,
T.PABRP AS PayPeriod,
CASE WHEN T.PABRP LIKE '9%' THEN 'Off-Cycle' ELSE 'Regular' END AS PayCycleFrequency,
0.00 AS GrossPayAmount,
T.UNAME AS PayrollSpecialist,
O.KOSTL AS CostCenter,
'False' AS IsAutomated
FROM PA2001 AS T
LEFT JOIN PA0001 AS O ON T.PERNR = O.PERNR AND O.ENDDA = '99991231'
WHERE T.AEDTM BETWEEN '[START_DATE]' AND '[END_DATE]'
UNION ALL
/* Activity 3: Incentive Data Imported */
SELECT
CONCAT(I.PERNR, CONCAT('-', I.PABRJ, I.PABRP)) AS PayrollRecord,
'Incentive Data Imported' AS Activity,
I.AEDTM AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
I.ABKRS AS PayrollArea,
'Permanent' AS EmployeeType,
I.PABRP AS PayPeriod,
'Regular' AS PayCycleFrequency,
I.BETRG AS GrossPayAmount,
I.UNAME AS PayrollSpecialist,
O.KOSTL AS CostCenter,
'True' AS IsAutomated
FROM PA0015 AS I
LEFT JOIN PA0001 AS O ON I.PERNR = O.PERNR AND O.ENDDA = '99991231'
WHERE I.AEDTM BETWEEN '[START_DATE]' AND '[END_DATE]'
UNION ALL
/* Activity 4: Payroll Process Initialized */
SELECT
CONCAT('N/A', CONCAT('-', P.PABRJ, P.PABRP)) AS PayrollRecord,
'Payroll Process Initialized' AS Activity,
P.CREATED_TS AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
'ALL' AS PayrollArea,
NULL AS EmployeeType,
P.PABRP AS PayPeriod,
'Regular' AS PayCycleFrequency,
0.00 AS GrossPayAmount,
P.CREATED_BY AS PayrollSpecialist,
NULL AS CostCenter,
'False' AS IsAutomated
FROM PYC_D_PYP AS P
WHERE P.CREATED_TS BETWEEN '[START_DATE]' AND '[END_DATE]'
UNION ALL
/* Activity 5: Payroll Simulation Executed */
SELECT
CONCAT('N/A', CONCAT('-', S.PABRJ, S.PABRP)) AS PayrollRecord,
'Payroll Simulation Executed' AS Activity,
S.END_TS AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
'ALL' AS PayrollArea,
NULL AS EmployeeType,
S.PABRP AS PayPeriod,
'Regular' AS PayCycleFrequency,
0.00 AS GrossPayAmount,
S.EXEC_USER AS PayrollSpecialist,
NULL AS CostCenter,
'True' AS IsAutomated
FROM PYC_D_BINST AS S
JOIN PYC_D_STEP AS D ON S.STEP_ID = D.ID
WHERE D.NAME LIKE '%Simulate%' AND S.END_TS BETWEEN '[START_DATE]' AND '[END_DATE]'
UNION ALL
/* Activity 6: Audit Exception Flagged */
SELECT
CONCAT(A.RO_ID, CONCAT('-', P.PABRJ, P.PABRP)) AS PayrollRecord,
'Audit Exception Flagged' AS Activity,
A.CREATED_TS AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
P.ABKRS AS PayrollArea,
'Permanent' AS EmployeeType,
P.PABRP AS PayPeriod,
'Regular' AS PayCycleFrequency,
0.00 AS GrossPayAmount,
'SYSTEM' AS PayrollSpecialist,
NULL AS CostCenter,
'True' AS IsAutomated
FROM PYC_D_ALERT AS A
JOIN PYC_D_PYP AS P ON A.PYP_ID = P.ID
WHERE A.CREATED_TS BETWEEN '[START_DATE]' AND '[END_DATE]'
UNION ALL
/* Activity 7: Data Correction Performed */
SELECT
CONCAT(C.OBJECTID, CONCAT('-', P.PABRJ, P.PABRP)) AS PayrollRecord,
'Data Correction Performed' AS Activity,
TO_TIMESTAMP(CONCAT(C.UDATE, C.UTIME)) AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
P.ABKRS AS PayrollArea,
'Permanent' AS EmployeeType,
P.PABRP AS PayPeriod,
'Regular' AS PayCycleFrequency,
0.00 AS GrossPayAmount,
C.USERNAME AS PayrollSpecialist,
NULL AS CostCenter,
'False' AS IsAutomated
FROM CDHDR AS C
JOIN HRPY_RGDIR AS P ON C.OBJECTID = P.PERNR
WHERE C.TCODE IN ('PA30', 'PA40') AND C.UDATE BETWEEN '[START_DATE]' AND '[END_DATE]'
UNION ALL
/* Activity 8: Gross Pay Calculated */
SELECT
CONCAT(R.PERNR, CONCAT('-', R.PABRJ, R.PABRP)) AS PayrollRecord,
'Gross Pay Calculated' AS Activity,
TO_TIMESTAMP(CONCAT(R.RUNDT, R.RUNTM)) AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
R.ABKRS AS PayrollArea,
'Permanent' AS EmployeeType,
R.PABRP AS PayPeriod,
CASE WHEN R.PABRP LIKE '9%' THEN 'Off-Cycle' ELSE 'Regular' END AS PayCycleFrequency,
0.00 AS GrossPayAmount,
R.UNAME AS PayrollSpecialist,
O.KOSTL AS CostCenter,
'True' AS IsAutomated
FROM HRPY_RGDIR AS R
LEFT JOIN PA0001 AS O ON R.PERNR = O.PERNR AND O.ENDDA = '99991231'
WHERE R.RUNDT BETWEEN '[START_DATE]' AND '[END_DATE]'
UNION ALL
/* Activity 9: Benefit Deductions Applied */
SELECT
CONCAT(R.PERNR, CONCAT('-', R.PABRJ, R.PABRP)) AS PayrollRecord,
'Benefit Deductions Applied' AS Activity,
ADD_SECONDS(TO_TIMESTAMP(CONCAT(R.RUNDT, R.RUNTM)), 1) AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
R.ABKRS AS PayrollArea,
'Permanent' AS EmployeeType,
R.PABRP AS PayPeriod,
CASE WHEN R.PABRP LIKE '9%' THEN 'Off-Cycle' ELSE 'Regular' END AS PayCycleFrequency,
0.00 AS GrossPayAmount,
R.UNAME AS PayrollSpecialist,
O.KOSTL AS CostCenter,
'True' AS IsAutomated
FROM HRPY_RGDIR AS R
LEFT JOIN PA0001 AS O ON R.PERNR = O.PERNR AND O.ENDDA = '99991231'
WHERE R.RUNDT BETWEEN '[START_DATE]' AND '[END_DATE]'
UNION ALL
/* Activity 10: Payroll Record Approved */
SELECT
CONCAT('N/A', CONCAT('-', S.PABRJ, S.PABRP)) AS PayrollRecord,
'Payroll Record Approved' AS Activity,
S.END_TS AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
'ALL' AS PayrollArea,
NULL AS EmployeeType,
S.PABRP AS PayPeriod,
'Regular' AS PayCycleFrequency,
0.00 AS GrossPayAmount,
S.EXEC_USER AS PayrollSpecialist,
NULL AS CostCenter,
'False' AS IsAutomated
FROM PYC_D_BINST AS S
JOIN PYC_D_STEP AS D ON S.STEP_ID = D.ID
WHERE D.NAME LIKE '%Check%' AND S.STATUS = 'OK' AND S.END_TS BETWEEN '[START_DATE]' AND '[END_DATE]'
UNION ALL
/* Activity 11: Bank Transfer File Generated */
SELECT
CONCAT(P.PERNR, CONCAT('-', P.PABRJ, P.PABRP)) AS PayrollRecord,
'Bank Transfer File Generated' AS Activity,
TO_TIMESTAMP(CONCAT(T.TSDAT, T.TSTIM)) AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
P.ABKRS AS PayrollArea,
'Permanent' AS EmployeeType,
P.PABRP AS PayPeriod,
'Regular' AS PayCycleFrequency,
0.00 AS GrossPayAmount,
T.USRID AS PayrollSpecialist,
O.KOSTL AS CostCenter,
'True' AS IsAutomated
FROM REGUT AS T
JOIN REGUH AS H ON T.LAUFD = H.LAUFD AND T.LAUFI = H.LAUFI
JOIN HRPY_RGDIR AS P ON H.PERNR = P.PERNR
LEFT JOIN PA0001 AS O ON P.PERNR = O.PERNR AND O.ENDDA = '99991231'
WHERE T.TSDAT BETWEEN '[START_DATE]' AND '[END_DATE]'
UNION ALL
/* Activity 12: Payment Executed */
SELECT
CONCAT(P.PERNR, CONCAT('-', P.PABRJ, P.PABRP)) AS PayrollRecord,
'Payment Executed' AS Activity,
TO_TIMESTAMP(CONCAT(H.LAUFD, '120000')) AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
P.ABKRS AS PayrollArea,
'Permanent' AS EmployeeType,
P.PABRP AS PayPeriod,
'Regular' AS PayCycleFrequency,
H.RBETR AS GrossPayAmount,
H.ZNME1 AS PayrollSpecialist,
O.KOSTL AS CostCenter,
'True' AS IsAutomated
FROM REGUH AS H
JOIN HRPY_RGDIR AS P ON H.PERNR = P.PERNR
LEFT JOIN PA0001 AS O ON P.PERNR = O.PERNR AND O.ENDDA = '99991231'
WHERE H.LAUFD BETWEEN '[START_DATE]' AND '[END_DATE]'
UNION ALL
/* Activity 13: Pay Slip Published */
SELECT
CONCAT('N/A', CONCAT('-', S.PABRJ, S.PABRP)) AS PayrollRecord,
'Pay Slip Published' AS Activity,
S.END_TS AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
'ALL' AS PayrollArea,
NULL AS EmployeeType,
S.PABRP AS PayPeriod,
'Regular' AS PayCycleFrequency,
0.00 AS GrossPayAmount,
S.EXEC_USER AS PayrollSpecialist,
NULL AS CostCenter,
'True' AS IsAutomated
FROM PYC_D_BINST AS S
JOIN PYC_D_STEP AS D ON S.STEP_ID = D.ID
WHERE D.NAME LIKE '%Remuneration%' AND S.END_TS BETWEEN '[START_DATE]' AND '[END_DATE]'
UNION ALL
/* Activity 14: Tax Filing Completed */
SELECT
CONCAT('N/A', CONCAT('-', S.PABRJ, S.PABRP)) AS PayrollRecord,
'Tax Filing Completed' AS Activity,
S.END_TS AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
'ALL' AS PayrollArea,
NULL AS EmployeeType,
S.PABRP AS PayPeriod,
'Regular' AS PayCycleFrequency,
0.00 AS GrossPayAmount,
S.EXEC_USER AS PayrollSpecialist,
NULL AS CostCenter,
'True' AS IsAutomated
FROM PYC_D_BINST AS S
JOIN PYC_D_STEP AS D ON S.STEP_ID = D.ID
WHERE D.NAME LIKE '%Tax%' AND S.END_TS BETWEEN '[START_DATE]' AND '[END_DATE]' Adımlar
- ABAP Editor’a erişin: SAP GUI üzerinden SAP SuccessFactors Employee Central Payroll (ECP) sisteminizde oturum açın. SE38 işlem koduna (ABAP Editor) gidin.
- Program oluşturun: Yeni program için
Z_PROCESSMINING_PAYROLL_EXTgibi bir ad girin ve Oluştur düğmesine tıklayın. Tür olarak Yürütülebilir program seçin ve test amacıyla Yerel Nesne (Paket $TMP) olarak Kaydet seçeneğine tıklayın. - Kodu uygulayın: Aşağıdaki Sorgu bölümünde verilen ABAP kodunun tamamını kopyalayıp düzenleyiciye yapıştırın ve varsayılan kod varsa değiştirin.
- Kontrol edin ve etkinleştirin: Sözdizimini doğrulamak için Kontrol düğmesine (Ctrl+F2) tıklayın. Durumda hata görünmüyorsa Etkinleştir düğmesine (Ctrl+F3) tıklayın.
- Veri çıkarmayı çalıştırın: Raporu çalıştırmak için Doğrudan işleme (F8) tuşuna basın.
- Seçimi yapılandırın: Seçim ekranında
Payroll Area(ör. US, 99) ve geçerli birDate Range(ör. son 3 ay) girin. İsterseniz test için belirliPersonnel Numbers(PERNR) değerlerine göre filtre uygulayın. - Veri çıkarmayı çalıştırın: Raporu çalıştırın. Sistem, olay günlüğünü oluşturmak için HRPY_RGDIR, CATSDB, PA0015 ve REGUH tablolarını işler.
- Çıktıyı inceleyin: Rapor, sonuçları doğrulama amacıyla doğrudan ekranda tablo görünümünde göstermek için
cl_demo_outputkullanır. - Verileri dışa aktarın: Sonuç tablosuna sağ tıklayın, Spreadsheet seçeneğini belirleyin ve dosyayı CSV veya Excel biçiminde kaydedin.
- ProcessMind için biçimlendirin: Dışa aktardığınız dosyayı açın.
EventTimestampsütunununYYYY-MM-DD HH:MM:SSbiçiminde olduğundan emin olun.PayrollRecordsütununun vakayı benzersiz olarak tanımladığını doğrulayın (genellikle PERNR-SEQNR). - Yükleyin: Temizlenmiş CSV dosyasını ProcessMind’e aktarın; sütunları sırasıyla Case ID, Activity, Timestamp ve Attributes ile eşleyin.
Yapılandırma
- Tarih aralığı: ABAP çalışma ortamında bellek zaman aşımını önlemek için verileri 3 ila 6 aylık parçalar hâlinde çıkarmanız önerilir.
- Bordro alanı: Bu önemli bir filtredir (Tablo T549A). Süreç tutarlılığını sağlamak için her seferinde tek bir bordro alanından veri çıkarın (ör. Aylık veya İki Haftada Bir).
- Yapılandırma tablosu: Betik, temel kaynak olarak
HRPY_RGDIR(Bordro Dizini) tablosunu okur. Kullanıcınızın bu tablo içinS_TABU_DISyetkisi olduğundan emin olun. - Zaman verisi kaynağı: Betik, zaman çizelgesi verilerinin
CATSDBtablosunda bulunduğunu varsayar. CATS kullanmadan doğrudanIT2001veyaIT2010ile bağlantı kuran üçüncü taraf bir zaman takip sistemi kullanıyorsanız zaman çizelgesi etkinlikleri boş dönebilir ve betiğin uyarlanması gerekebilir. - Ödeme verileri: Betik, bordro çalıştırmalarını REGUH (Mutabakat verileri) üzerinden ödeme çalıştırmalarıyla ilişkilendirir. Ödeme etkinliklerini görebilmek için seçilen dönemde
F110ödeme çalıştırmasının yapıldığından emin olun. - Performans: Yüksek hacimli sistemlerde (100 binin üzerinde çalışan)
SELECT *mantığını imleç tabanlı veri alımıyla değiştirin veya arka plan modunda (F9) çalıştırın.
Örnek sorgu abap
REPORT Z_PROCESSMINING_PAYROLL_EXT.
TABLES: pernr, hrpy_rgdir, catsdb, pa0015, reguh.
TYPES: BEGIN OF ty_event_log,
payroll_record TYPE string,
activity TYPE string,
event_timestamp TYPE string,
source_system TYPE string,
last_data_update TYPE string,
payroll_area TYPE abkrs,
employee_type TYPE persg,
pay_period TYPE pabrj,
pay_cycle_freq TYPE string,
gross_pay_amount TYPE string,
payroll_specialist TYPE usnam,
cost_center TYPE kostl,
is_automated TYPE string,
END OF ty_event_log.
DATA: gt_output TYPE TABLE OF ty_event_log,
gs_output TYPE ty_event_log,
gt_rgdir TYPE TABLE OF hrpy_rgdir,
gs_rgdir TYPE hrpy_rgdir,
gt_cats TYPE TABLE OF catsdb,
gs_cats TYPE catsdb,
gt_p0015 TYPE TABLE OF pa0015,
gs_p0015 TYPE pa0015,
gt_reguh TYPE TABLE OF reguh,
gs_reguh TYPE reguh,
gv_tstamp TYPE timestamp,
gv_date TYPE d,
gv_time TYPE t,
gv_pernr TYPE pernr_d.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: s_pernr FOR pernr-pernr,
s_date FOR sy-datum OBLIGATORY.
PARAMETERS: p_abkrs TYPE abkrs OBLIGATORY DEFAULT '99'.
SELECTION-SCREEN END OF BLOCK b1.
START-OF-SELECTION.
" 1. Fetch Payroll Directory (The Core Process Driver)
SELECT * FROM hrpy_rgdir INTO TABLE gt_rgdir
WHERE pernr IN s_pernr
AND fpper LIKE '%'
AND cdate IN s_date.
IF gt_rgdir IS INITIAL.
WRITE: / 'No payroll results found for selection.'.
EXIT.
ENDIF.
SORT gt_rgdir BY pernr seqnr.
" Loop through Payroll Directory to build events
LOOP AT gt_rgdir INTO gs_rgdir.
CLEAR gs_output.
CONCATENATE gs_rgdir-pernr '-' gs_rgdir-seqnr INTO gs_output-payroll_record.
gs_output-source_system = 'SAP_ECP'.
gs_output-last_data_update = sy-datum.
gs_output-payroll_area = p_abkrs.
gs_output-pay_period = gs_rgdir-fpper.
gs_output-payroll_specialist = gs_rgdir-uname.
" --- Activity: Payroll Process Initialized ---
" Derived from the run date start
gs_output-activity = 'Payroll Process Initialized'.
CONCATENATE gs_rgdir-cdate gs_rgdir-ctime INTO gs_output-event_timestamp SEPARATED BY space.
gs_output-is_automated = 'TRUE'.
APPEND gs_output TO gt_output.
" --- Activity: Payroll Simulation Executed ---
IF gs_rgdir-srtza = 'S'. " S = Simulation
gs_output-activity = 'Payroll Simulation Executed'.
CONCATENATE gs_rgdir-cdate gs_rgdir-ctime INTO gs_output-event_timestamp SEPARATED BY space.
gs_output-is_automated = 'TRUE'.
APPEND gs_output TO gt_output.
ENDIF.
" --- Activity: Audit Exception Flagged ---
IF gs_rgdir-void IS NOT INITIAL. " Void indicator means rejected/exception
gs_output-activity = 'Audit Exception Flagged'.
CONCATENATE gs_rgdir-cdate gs_rgdir-ctime INTO gs_output-event_timestamp SEPARATED BY space.
gs_output-is_automated = 'TRUE'.
APPEND gs_output TO gt_output.
" --- Activity: Data Correction Performed ---
" Inferred: If voided, a correction usually follows immediately
gs_output-activity = 'Data Correction Performed'.
" Add 1 hour to simulate reaction time
DATA: lv_corr_time TYPE t.
lv_corr_time = gs_rgdir-ctime + 3600.
CONCATENATE gs_rgdir-cdate lv_corr_time INTO gs_output-event_timestamp SEPARATED BY space.
gs_output-is_automated = 'FALSE'.
APPEND gs_output TO gt_output.
ENDIF.
" --- Activity: Gross Pay Calculated ---
IF gs_rgdir-srtza = 'A'. " A = Actual Result
gs_output-activity = 'Gross Pay Calculated'.
CONCATENATE gs_rgdir-cdate gs_rgdir-ctime INTO gs_output-event_timestamp SEPARATED BY space.
gs_output-gross_pay_amount = '1000.00'. " Placeholder: Cluster read required for actual amount
gs_output-is_automated = 'TRUE'.
APPEND gs_output TO gt_output.
" --- Activity: Benefit Deductions Applied ---
" Logically occurs immediately after gross calc
gs_output-activity = 'Benefit Deductions Applied'.
gs_output-is_automated = 'TRUE'.
APPEND gs_output TO gt_output.
" --- Activity: Payroll Record Approved ---
" Inferred from successful write of 'A' record
gs_output-activity = 'Payroll Record Approved'.
DATA: lv_appr_time TYPE t.
lv_appr_time = gs_rgdir-ctime + 60. " +1 minute
CONCATENATE gs_rgdir-cdate lv_appr_time INTO gs_output-event_timestamp SEPARATED BY space.
gs_output-is_automated = 'FALSE'.
APPEND gs_output TO gt_output.
" --- Activity: Pay Slip Published ---
" Available via ESS usually next day
gs_output-activity = 'Pay Slip Published'.
DATA: lv_slip_date TYPE d.
lv_slip_date = gs_rgdir-cdate + 1.
CONCATENATE lv_slip_date '080000' INTO gs_output-event_timestamp SEPARATED BY space.
gs_output-is_automated = 'TRUE'.
APPEND gs_output TO gt_output.
" --- Activity: Tax Filing Completed ---
" End of period logic
gs_output-activity = 'Tax Filing Completed'.
DATA: lv_tax_date TYPE d.
lv_tax_date = gs_rgdir-paydt.
CONCATENATE lv_tax_date '235959' INTO gs_output-event_timestamp SEPARATED BY space.
gs_output-is_automated = 'TRUE'.
APPEND gs_output TO gt_output.
ENDIF.
ENDLOOP.
" 2. Fetch Time Sheet Data (CATSDB)
" Linking to Payroll Record loosely via Period/Date
SELECT * FROM catsdb INTO TABLE gt_cats
WHERE pernr IN s_pernr
AND workdate IN s_date.
LOOP AT gt_cats INTO gs_cats.
CLEAR gs_output.
CONCATENATE gs_cats-pernr '-00000' INTO gs_output-payroll_record. " Generic mapping
gs_output-payroll_area = p_abkrs.
gs_output-source_system = 'SAP_ECP'.
" --- Activity: Time Sheet Submitted ---
IF gs_cats-status = '20' OR gs_cats-status = '30'.
gs_output-activity = 'Time Sheet Submitted'.
CONCATENATE gs_cats-laudate gs_cats-lautime INTO gs_output-event_timestamp SEPARATED BY space.
gs_output-is_automated = 'FALSE'.
APPEND gs_output TO gt_output.
ENDIF.
" --- Activity: Time Sheet Approved ---
IF gs_cats-status = '30'. " 30 = Approved
gs_output-activity = 'Time Sheet Approved'.
CONCATENATE gs_cats-apdat gs_cats-aptime INTO gs_output-event_timestamp SEPARATED BY space.
gs_output-is_automated = 'FALSE'.
APPEND gs_output TO gt_output.
ENDIF.
ENDLOOP.
" 3. Fetch Incentive Data (Infotype 0015)
SELECT * FROM pa0015 INTO TABLE gt_p0015
WHERE pernr IN s_pernr
AND begda IN s_date.
LOOP AT gt_p0015 INTO gs_p0015.
CLEAR gs_output.
CONCATENATE gs_p0015-pernr '-00000' INTO gs_output-payroll_record.
gs_output-source_system = 'SAP_ECP'.
gs_output-payroll_area = p_abkrs.
" --- Activity: Incentive Data Imported ---
gs_output-activity = 'Incentive Data Imported'.
CONCATENATE gs_p0015-aedtm '120000' INTO gs_output-event_timestamp SEPARATED BY space.
gs_output-is_automated = 'FALSE'.
APPEND gs_output TO gt_output.
ENDLOOP.
" 4. Fetch Payment Data (REGUH)
SELECT * FROM reguh INTO TABLE gt_reguh
WHERE zaldt IN s_date.
LOOP AT gt_reguh INTO gs_reguh.
" Filter for our PERNRs roughly (REGUH does not always have PERNR directly indexable easily in all views)
" For simulation, we map broadly or require join logic. Here assuming simple extraction.
CLEAR gs_output.
CONCATENATE gs_reguh-pernr '-99999' INTO gs_output-payroll_record.
gs_output-source_system = 'SAP_ECP'.
gs_output-payroll_area = p_abkrs.
" --- Activity: Bank Transfer File Generated ---
gs_output-activity = 'Bank Transfer File Generated'.
CONCATENATE gs_reguh-laufd gs_reguh-cpzut INTO gs_output-event_timestamp SEPARATED BY space.
gs_output-is_automated = 'TRUE'.
APPEND gs_output TO gt_output.
" --- Activity: Payment Executed ---
gs_output-activity = 'Payment Executed'.
CONCATENATE gs_reguh-zaldt '100000' INTO gs_output-event_timestamp SEPARATED BY space.
gs_output-is_automated = 'TRUE'.
APPEND gs_output TO gt_output.
ENDLOOP.
" Output Display
cl_demo_output=>display( gt_output ). Başlamaya hazır mısınız?
Bu Templatei veri çıkarma sürecinizde kullanarak daha verimli bir bordro sürecine doğru ilk adımı atın. Yapılandırılmış yaklaşımımız, ham verilerden hızla uygulanabilir içgörülere ulaşmanıza yardımcı olur.
Bordro işlemlerinizin performansını şimdi iyileştirin
Bordro çevrim sürelerini bugün %30 azaltan şirketlere katılın.
Kredi kartı gerekmez. Kurulum dakikalar içinde tamamlanır.