Bordro İşleme Veri Template'iniz
Bordro İşleme Veri Template'iniz
- Bordro analizi için stratejik veri alanları
- Süreç keşfi için temel kilometre taşları
- Sisteme özgü çıkarma rehberliği
Bordro İşleme Öznitelikleri
| Ad | Açıklama | ||
|---|---|---|---|
| Aktivite Activity | Bordro sürecinde meydana gelen belirli görev veya event. | ||
| Açıklama Bu öznitelik, 'Zaman Çizelgesi Gönderildi', 'Bordro Simülasyonu Gerçekleştirildi' veya 'Ödeme Gerçekleştirildi' gibi yürütülen süreç adımının adını yakalar. Süreç haritasının temelini oluşturur ve analistlerin bordro döngüsü sırasında gerçekleştirilen işlem sırasını görselleştirmesine olanak tanır. Bu öznitelik için veriler, Workflow log'ları (SWWLOGHIST), Infotype değişiklik log'ları (CDHDR/CDPOS) ve belirli bordro durumu tabloları dahil olmak üzere çeşitli log'lardan toplanır. Teknik event kodlarının iş açısından okunabilir etkinlik adlarına çevrilmesini sağlamak için çıkarma 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 (İş Akışı), CDHDR (Değişiklik Belgeleri) veya PA03 (Kontrol Kaydı) durum değişikliklerinden türetilmiştir. Örnekler Zaman Çizelgesi GönderildiBrüt Ödeme HesaplandıDenetim İstisnası İşaretlendiÖdeme Gerçekleştirildi | |||
| Bordro Kaydı PayrollRecord | Çalışanı ve ödeme dönemini birleştiren benzersiz tanımlayıcı. | ||
| Açıklama Bordro Kaydı, Process Mining analizi için merkezi vaka tanımlayıcısı görevi görür. Belirli bir ödeme dönemi içinde belirli bir çalışan için bordro işleminin tek bir iterasyonunu temsil eder ve ilk zaman çizelgesi gönderiminden son vergi beyanına kadar tüm faaliyetleri birbirine bağlar. SAP SuccessFactors Employee Central Payroll'da bu, genellikle Personel Numarası (PERNR) ile Bordro Yılı (PABRJ) ve Bordro Dönemi (PABRP)'nin, birden fazla çalıştırmayı ayırt etmek için potansiyel olarak bir sıra numarası (SEQNR) ile birleştirilmesiyle oluşturulur. Bu ayrıntı düzeyi, her ödeme döngüsünün ayrı bir örnek olarak analiz edilmesini sağlayarak, hassas döngü süresi ölçümü ve hata takibi için olanak tanır. Neden önemli Her bir maaş için uçtan uca süreç yolunu yeniden oluşturmak üzere tüm ilgili olayları gruplandıran Vaka Kimliği olarak hizmet eder. Nereden alınır SAP Küme B2 (Zaman Değerlendirme Sonuçları) veya PC_PAYRESULT tablolarından (PERNR, PABRJ, PABRP, SEQNR) oluşturulmuştur. Örnekler 10023499-2023-1088291022-2024-01-SEQ01US-10293-2023-52 | |||
| Olay Zaman Damgası EventTimestamp | Aktivitenin gerçekleştiği kesin tarih ve saat. | ||
| Açıklama Bu öznitelik, bir eventin gerçekleştiği kesin anı, hem tarihi hem de saati kaydederek tutar. Döngü süreleri, teslim süreleri ve farklı süreç aşamaları arasındaki verim oranları dahil olmak üzere tüm zaman tabanlı metrikleri hesaplamak için temeldir. SAP ECP'de bu, değişiklik belgelerindeki Neden önemli Performans darboğazlarını ve SLA ihlallerini belirlemek için hayati öneme sahip olan olaylar arasındaki sürenin hesaplanmasına olanak tanır. 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 | event verilerinin kaynaklandığı sistem. | ||
| Açıklama Bu öznitelik, verilerin çıkarıldığı belirli SAP SuccessFactors Employee Central Payroll örneğini veya bağlı alt sistemini tanımlar. Birden fazla bordro sistemi veya hibrit kurulum içeren karmaşık ortamlarda, bu alan veri soy ağacını ve izlenebilirliği sağlar. Farklı bölgesel kurulumlardaki verileri analiz ederken veya eski ve taşınmış sistemler arasındaki performansı karşılaştırırken özellikle kullanışlıdır. Genellikle veri çıkarma kurulumu sırasında yapılandırılan statik bir dizgedir. Neden önemli Çoklu sistem ortamlarında veri segmentasyonuna olanak tanır ve kökeni belirleyerek veri kalitesi sorunlarını gidermeye yardımcı olur. Nereden alınır SAP kurulumundan veya çıkarma yapılandırmasından Sistem Kimliği (SID). Örnekler SAP_ECP_NASAP_ECP_EMEASuccessFactors_Core | |||
| Son Veri Güncellemesi LastDataUpdate | En son veri çıkarma işleminin 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 mevcut bilgilere dayalı olmasını sağlamasına yardımcı olur. Doğrudan süreç akışı analizi için kullanılmasa da, veri yönetimi ve doğrulaması için kritik öneme sahiptir ve dashboard'un bordro sisteminin en son durumunu yansıttığını doğrular. Neden önemli Kullanıcıların veri gecikmesinden haberdar olmasını sağlar ve raporlanan metriklerin güncelliğini doğrulamaya yardımcı olur. Nereden alınır Çalışma zamanında ETL / ayıklama betiği tarafından oluşturulur. Örnekler 2023-11-05T00:00:00Z2023-11-05T12:00:00Z | |||
| Bordro Alanı PayrollArea | Bir çalışanın ait olduğu belirli bordro grubunu tanımlar. | ||
| Açıklama Bordro Alanı, genellikle ödeme sıklığına (örn. aylık veya iki haftalık) veya organizasyonel yapıya göre aynı bordro çalıştırmasında birlikte işlenen çalışanları gruplandırır. Bu öznitelik, farklı çalışan popülasyonları arasındaki performansı karşılaştırmak için süreç analizini segmentlere ayırmak için kritiktir. SAP'de, bu Neden önemli Farklı gruplar (örn. Saatlik vs. Maaşlı) arasında bordro döngüsü performansının karşılaştırılmasına olanak tanır. Nereden alınır PA0001 Tablosu (Organizasyonel Atama), ABKRS alanı. Örnekler ABD İki Haftada BirDE AylıkYönetici Bordrosu | |||
| Bordro Uzmanı PayrollSpecialist | Kaydı işleyen kişinin kullanıcı kimliği veya adı. | ||
| Açıklama Bu öznitelik, manuel adımları veya onayları yürütmekten sorumlu bordro yöneticisinin veya uzmanının kimliğini yakalar. İş yükü dağılımının ve bireysel verimliliğin analiz edilmesini sağlayan 'Uzman Verimliliği ve İş Yükü' dashboard'u için temel özniteliktir. Sistem log'larındaki Neden önemli İş yükü dengeleme ve süreçteki insan kaynaklı darboğazları belirleme için esastır. Nereden alınır CDHDR'da loglanan sistem alanları (SY-UNAME) veya Workflow Aktör Kimliği. Örnekler JSMITHKMILLERSİSTEM | |||
| Brüt Ödeme Tutarı GrossPayAmount | Kayıt için hesaplanan toplam brüt ödeme. | ||
| Açıklama Bu öznitelik, kesintiler öncesi brüt ödemenin toplam parasal değerini temsil eder. Finansal doğrulama için temel bir metriktir ve yüksek değerli ödemeleri artırılmış denetim incelemesi veya onay bekleme süreleri ile ilişkilendirmek için kullanılır. Bordro sonuçları tablosundan (RT), genellikle toplam brütü temsil eden belirli ücret türleri altında (örn. /101) çıkarılır. Hesaplama tabanını sağlayarak 'Avantaj ve Vergi Hesaplama Doğruluğu' analizini destekler. Neden önemli Ödeme değerine göre süreç davranışının analizine olanak tanır (örn. daha büyük ödemelerin onaylanması daha mı uzun sürer?). Nereden alınır Bordro Sonuçları Tablosu (RT), Ücret Türü /101 veya benzeri. Örnekler 5000.002500.5010500.00 | |||
| Çalışan Tipi EmployeeType | Çalışanın sınıflandırılması (örn. Sürekli, Sözleşmeli). | ||
| Açıklama Bu öznitelik, çalışanları aktif, emekli veya taşeron gibi istihdam ilişkilerine göre kategorize eder. Bordro işleme karmaşıklığındaki farklılıklar genellikle çalışan türüyle ilişkilidir ve belirli gruplar daha fazla manuel müdahale veya özel uyumluluk kontrolleri gerektirir. Teknik olarak SAP'deki Çalışan Grubu ( Neden önemli Süreç varyasyonlarının veya gecikmelerinin 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 Sözleşmeli | |||
| Maliyet Merkezi CostCenter | Çalışanla ilişkili maliyet merkezi. | ||
| Açıklama Maliyet Merkezi, çalışanın maliyetlerinin tahsis edildiği finansal departmanı veya birimi temsil eder. 'Zaman Çizelgesi Onay Bottleneck'leri' dashboard'unda departman için bir proxy görevi görür ve hangi organizasyonel birimlerin bordro döngüsünü geciktirdiğini belirlemeye yardımcı olur. Organizasyonel Atama infotyp'inde (PA0001) Neden önemli Gecikmelere veya yeniden işe neden olan belirli departmanları belirlemek için organizasyonel detaylandırmaya olanak tanır. Nereden alınır PA0001 Tablosu, KOSTL alanı. Örnekler CC-1000 FinansCC-2000 BTCC-3000 Satış | |||
| Ödeme Dönemi PayPeriod | Mali yıl içindeki belirli dönem numarası. | ||
| Açıklama Bu öznitelik, bordro döneminin sıra numarasını (örn. Ocak için 01 veya ilk iki haftalık döngü) belirtir. Analistlerin zaman içindeki performans eğilimlerini izlemesine ve işleme iş yüklerindeki mevsimselliği belirlemesine olanak tanır.
Neden önemli Trend analizini ve yılın belirli zamanlarındaki mevsimsel darboğazların belirlenmesini sağlar. Nereden alınır PA0001 Tablosu veya Bordro Sonuçları Kümesi (RGDIR), PABRP alanı. Örnekler 01122652 | |||
| Ödeme Döngüsü Sıklığı PayCycleFrequency | Çalıştırmanın düzenli mi yoksa ara dönem mi olduğunu gösterir. | ||
| Açıklama Bu öznitelik, standart programlı bordro çalıştırmaları ile düzeltmeler veya anında ödemeler için kullanılan ad-hoc 'döngü dışı' çalıştırmaları birbirinden ayırır. Yüksek hacimli döngü dışı çalıştırmalar, süreç verimsizliğinin temel bir göstergesidir ve 'Döngü Dışı Ödeme Hacmi Analizi' dashboard'u tarafından izlenir. Bordro kümesi dizinindeki Döngü Dışı Nedeni ( Neden önemli 'Ara Dönem Ödeme Oranı' KPI'ını ölçmek ve standart dışı işlemlerde azaltmaları hedeflemek için kritiktir. Nereden alınır RGDIR Tablosu (Küme Dizini), OCRSN veya PAYTY alanı. Örnekler NormalDüzeltme ABonus ÖdemesiFesih | |||
| Otomatikleştirildi mi? IsAutomated | Aktivitenin bir sistem kullanıcısı tarafından yapılıp yapılmadığını belirten bayrak. | ||
| Açıklama Bu Boolean öznitelik, belirli bir süreç adımının bir arka plan işi/sistem kullanıcısı tarafından mı yoksa bir insan tarafından mı yürütüldüğünü tanımlar. Temassız işlem yüzdesini hesaplamak için 'Banka Transfer Otomasyon Monitörü' için çok önemlidir. Genellikle Kullanıcı Kimliğinin bilinen sistem hesapları listesiyle (örn. 'BATCH', 'SAP_WORKFLOW') karşılaştırılarak türetilir. Neden önemli Otomasyon oranlarını ölçmeye ve manuel çabayı azaltma fırsatlarını belirlemeye yardımcı olur. Nereden alınır Kullanıcı Kimliğinden türetilmiştir (örn. Kullanıcı ['BATCH', 'SYSTEM'] içinde ise doğru). Örnekler truefalse | |||
| Denetim İstisnası Bayrağı AuditExceptionFlag | Bir denetim istisnasının meydana gelip gelmediğini gösteren bayrak. | ||
| Açıklama Bu öznitelik, bordro simülasyonu veya hesaplaması sırasında doğrulama kurallarının bir istisna veya uyarıyı tetiklediği durumları işaretler. 'Denetim İstisna Sıklığı' KPI'si için birincil girdidir. Veriler genellikle bordro log'undan veya belirli hata mesajı tablolarından (FEHLER) alınır. Doğru bir değer, süreç akışının bir istisna işleme yolu içerdiğini gösterir. Neden önemli Veri kalitesi sorunlarını ve manuel müdahale ihtiyacını vurgular. Nereden alınır Bordro günlüğündeki hata mesajlarının veya belirli durum kodlarının varlığından türetilmiştir. Örnekler truefalse | |||
| Döngü Süresi (Gün) CycleTimeDays | Bordro sürecinin gün cinsinden toplam süresi. | ||
| Açıklama Bu hesaplanmış öznitelik, sürecin başlangıcından (örn. Zaman Çizelgesi Gönderildi) bitişine (örn. Ödeme Gerçekleştirildi) kadar geçen süreyi ölçer. Süreç hızına üst düzey bir bakış sunar ve 'Uçtan Uca Bordro Döngüsü Süresi' dashboard'unda kullanılır. Verilen bir vaka için maksimum ve minimum zaman damgaları arasındaki fark olarak hesaplanır. Neden önemli Genel süreç verimliliğini ve hızını değerlendirmek için birincil ölçüttür. Nereden alınır Hesaplandı: Durumun Bitiş Saati - Başlangıç Saati. Örnekler 5.52.010.1 | |||
| SLA İşleme Son Tarihi SLAProcessingDeadline | Bordro çalıştırmasını tamamlamak için hedef zaman damgası. | ||
| Açıklama Bu öznitelik, zamanında ödemeyi sağlamak için bordroyu sonuçlandırmaya yönelik dahili veya harici son tarihi temsil eder. Gerçek 'Ödeme Gerçekleştirildi' zaman damgasıyla karşılaştırılarak 'SLA Uyumluluk Oranı' KPI'sini hesaplamak için kullanılır. SAP tablolarında her zaman standart bir alan olmasa da, genellikle özel bir kontrol tablosunda tutulur veya bordro takvimine göre kavramsal olarak tanımlanır (örn. Ödeme Tarihinden 2 gün önce). Bu veri modeli için genellikle Ödeme Tarihinden belirli bir tampon süresi çıkarılarak türetilir. Neden önemli Zamanında tamamlanma ve SLA uyumluluğunu değerlendirmek için kıyaslama noktası sağlar. Nereden alınır Ödeme Tarihi (T549S) eksi yapılandırılmış işleme günlerinden türetilmiştir. Örnekler 2023-10-28T17:00:00Z2023-11-28T17:00:00Z | |||
| Vergi Yargı Alanı TaxJurisdiction | Çalışana uygulanan vergi bölgesi veya yetkilisi. | ||
| Açıklama Bu öznitelik, bordro kaydını yöneten belirli vergi dairesini veya bölgeyi (örn. Eyalet, İl, Kanton) tanımlar. Coğrafi olarak uyumluluk sorunlarını belirlemek için 'Denetim İstisnası ve Uyumluluk Riski' dashboard'u için hayati önem taşır. SAP ABD Bordrosu'nda bu, Neden önemli Uyumluluk risklerinin ve denetim istisnalarının düzenleyici bölgeye göre segmentasyonunu sağlar. Nereden alınır PA0001 veya PA0207/PA0208 Tablosu, TXJCD alanı. Örnekler CANYTXNRW | |||
| Yasal Varlık LegalEntity | Çalışanın şirket kodu veya yasal tüzel kişiliği. | ||
| Açıklama Bu öznitelik, bordro kaydıyla ilişkili yasal tüzel kişiliği (Şirket Kodu) tanımlar. Farklı bağlı kuruluşlar veya kurumsal varlıklar arasında finansal raporlama ve bordro performans analizi sağlar. Organizasyonel Atama infotyp'inde (PA0001) Neden önemli Şirketler arası kıyaslama ve finansal tahsis analizini destekler. Nereden alınır PA0001 Tablosu, BUKRS alanı. Örnekler US01DE011000 | |||
| Yeniden İşleme Sayısı ReworkCount | Bir düzeltmenin kaç kez yapıldığı. | ||
| Açıklama Bu hesaplanmış metrik, 'Veri Düzeltmesi Gerçekleştirildi' aktivitesinin vaka geçmişinde görünme sayısını sayar. Süreç verimsizliğinin doğrudan bir ölçüsüdür ve 'Manuel Düzeltme ve Yeniden İşleme Oranları' dashboard'unu destekler. Yüksek yeniden işleme sayıları, sürekli veri kalitesi sorunlarını veya ilk geçiş doğrulamasını geçemeyen karmaşık durumları gösterir. Neden önemli Hata düzeltmesine kaybedilen çabayı nicelleştirir ve veri kalitesi girişimlerini haklı çıkarmaya yardımcı olur. Nereden alınır CaseId başına 'Veri Düzeltme Gerçekleştirildi' aktivitelerinin sayılmasıyla hesaplanır. Örnekler 013 | |||
Bordro İşleme Faaliyetleri
| Aktivite | Açıklama | ||
|---|---|---|---|
| Banka Transfer Dosyası Oluşturuldu | Ön Veri Ortam Değişimi (pre-DME) veya nihai DME dosyasının oluşturulması. Bu, banka için ödeme talimatlarını oluşturur. | ||
| Neden önemli Banka Transfer Otomasyon Monitörünü takip eder. Başarısız dosya oluşturmaları kritik süreç duraklamalarıdır. Nereden alınır DME / Ödeme Ortamı Çalışma Tezgahı (PMW) yürütmesinden alınan günlükler, genellikle TemSe'de veya belirli ödeme çalıştırma tablolarında (ReguH/ReguP) saklanır. Yakala Ödeme çalıştırması (F110/RPCIPE) çıktı oluşturduğunda kaydedilir Event tipi explicit | |||
| Bordro Kaydı Onaylandı | Bir çalışan veya ödeme grubu için bordro sonuçlarının resmi onayı. Bu, PCC 'İzleme' veya 'Onaylama' adımında gerçekleşir. | ||
| Neden önemli Hesaplama/doğrulama aşamasının sonunu ve ödeme için serbest bırakmayı işaretler. Uzman Verimlilik analizi için kritiktir. Nereden alınır Onay veya Onaylama adımı için Bordro Kontrol Merkezi Adım Örneği log'ları (PYC_D_STEP_INST). Yakala PCC Onay Adımı durumu TAMAMLANDI olarak değiştiğinde kaydedilir Event tipi explicit | |||
| Bordro Simülasyonu Gerçekleştirildi | Sonuçları veritabanına kaydetmeden hataları belirlemek için bordro sürücüsünün bir deneme çalıştırması. Bu, PCC doğrulama aşamasında önemli bir adımdır. | ||
| Neden önemli İlk Geçiş Hesaplama Oranını hesaplamak için esastır. Tekrarlanan simülasyonlar veri kalitesi sorunlarını gösterir. Nereden alınır Adım türünün Simulation'a karşılık geldiği Bordro Kontrol Merkezi Adım Örneği log'ları (PYC_D_STEP_INST). Yakala PCC Simülasyon Adımı durumu TAMAMLANDI olarak değiştiğinde kaydedilir Event tipi explicit | |||
| Bordro Süreci Başlatıldı | Bordro Kontrol Merkezi (PCC) içinde bir bordro süreci örneğinin oluşturulması. Bu, belirli bir bordro alanı için bordro döngüsünün resmi başlangıcını işaret eder. | ||
| Neden önemli Genel Uçtan Uca Bordro Döngüsü Süresi için temel çizgiyi belirler. İşlenecek çalışanların kapsamını tanımlar. Nereden alınır Yeni bir süreç kimliğinin oluşturulmasını izleyen Bordro Kontrol Merkezi tabloları (örn. PYC_D_PY_PROC_INST). Yakala PCC Süreç Örneği oluşturulduğunda kaydedilir Event tipi explicit | |||
| Brüt Ödeme Hesaplandı | Brüt bordro şeması hesaplamasının başarılı bir şekilde yürütülmesi. Standart işlemede bu, bordro sürücüsü PCL2 kümesine yazarken gerçekleşir. | ||
| Neden önemli Zaman ve oran verilerinin başarıyla birleştirildiğini gösteren önemli bir kilometre taşı. Buradaki gecikmeler Brüt-Net İşleme Verimliliğini etkiler. Nereden alınır PCL2 Kümesi (Bordro Sonuçları), özellikle 'Dönem İçin' dizin tablosu (RGDIR) zaman damgası. Yakala Bordro kümesine yeni bir sıra numarası yazıldığında kaydedilir Event tipi explicit | |||
| Ödeme Gerçekleştirildi | Ödeme sürecinin tamamlanması, genellikle banka tarafından veya F110 ödeme çalıştırmasının tamamlanmasıyla doğrulanır. | ||
| Neden önemli SLA Uyumluluk Oranı için birincil bitiş zaman damgası. Çalışanın zamanında ödenip ödenmediğini belirler. Nereden alınır Ödeme Çalıştırma tabloları (REGUH) Çalıştırma Tarih ve Saati veya Değer Tarihinden çıkarılan bilgi. Yakala Ödeme Çalıştırma durumu Gönderildi/Tamamlandı olarak ayarlandığında kaydedilir Event tipi explicit | |||
| Vergi Beyanı Tamamlandı | Vergi raporlama dosyalarının (örn. ABD'de PU19) oluşturulması veya üçüncü taraf bir vergi beyannamesi sağlayıcısına aktarılması. | ||
| Neden önemli Yasal uyumluluğu sağlar. Dizideki son uyumluluk adımını izler. Nereden alınır Başarılı dosya oluşturmayı gösteren Vergi Raporlama Log Yöneticisi veya B2A (İşletmeden Yönetime) Yöneticisi log'ları. Yakala Vergi Raporlayıcı çalıştırması başarıyla tamamlandığında kaydedilir Event tipi explicit | |||
| Zaman Çizelgesi Gönderildi | Bir çalışanın veya yöneticinin ödeme dönemi için zaman verilerini gönderdiği olay. Bu, ECP'ye bağlı Employee Central modülündeki workflow istek log'larından alınır. | ||
| Neden önemli veri biriktirme aşamasının başlangıcını işaretler. Buradaki gecikmeler aşağı yönlü etkiler yaratarak bordro işleme süresinin kısalmasına neden olur. Nereden alınır Zaman Çizelgesi veya İzin kategorileri için filtrelenmiş Employee Central İş Akışı İsteği tabloları (WfRequest). Yakala İş akışı durumu GÖNDERİLDİ olarak değiştiğinde kaydedilir Event tipi explicit | |||
| Zaman Çizelgesi Onaylandı | Bir yönetici veya yönetici tarafından zaman verilerinin resmi onayı. Bu durum değişikliği, verilerin bordro motoruna aktarılması için doğrulanmasını sağlar. | ||
| Neden önemli Zaman Çizelgesi Onay Bekleme Süresi KPI'ını hesaplar. Buradaki darboğazlar, yönetimsel gecikmeleri veya karmaşık onay hiyerarşilerini gösterir. Nereden alınır Durum TAMAMLANDI veya ONAYLANDI olarak filtrelenmiş Employee Central İş Akışı İsteği tabloları (WfRequest). Yakala İş akışı durumu ONAYLANDI olarak değiştiğinde kaydedilir Event tipi explicit | |||
| Denetim İstisnası İşaretlendi | Bordro Kontrol Merkezi politika kontrolleri tarafından bir doğrulama uyarısının oluşturulması. Bu uyarılar, veri tutarsızlıklarını veya uyumluluk risklerini tanımlar. | ||
| Neden önemli Doğrudan Denetim İstisnası Sıklığı ve Uyumluluk Riski panolarını destekler. Yüksek hacimler, üst akış veri kalitesi sorunlarını gösterir. Nereden alınır Bordro Kontrol Merkezi Uyarı tabloları (PYC_D_ALERT), belirli hata kodlarını çalışan kaydına bağlar. Yakala PCC Uyarı tablosuna yeni bir giriş oluşturulduğunda kaydedilir Event tipi explicit | |||
| Maaş Bordrosu Yayımlandı | Ücret beyanının Self-Service (ESS) aracılığıyla çalışana sunulması eylemi. | ||
| Neden önemli Maaş Bordrosu Teslim SLA Performansını Ölçer. Buradaki gecikmeler destek masası talepleri oluşturur. Nereden alınır Maaş Bordrosu mashup hizmeti günlüklerindeki 'Yazdırma Tarihi' veya erişilebilirlik tarihi yapılandırmasından çıkarılmıştır. Yakala Ödeme Tarihi + Sistem Yapılandırma gecikmesine göre hesaplayın Event tipi inferred | |||
| Teşvik Verileri İçe Aktarıldı | İkramiyeler veya komisyonlar gibi standart dışı ödeme verilerinin bordro sistemine alınması. Genellikle verileri Infotype 0015 veya 2010'a yüklemeyi içerir. | ||
| Neden önemli Geciken içe aktarımlar, doğru brüt ödeme hesaplamalarını engeller. Bunu analiz etmek, Teşvik Verileri Entegrasyon Lider Süresini optimize etmeye 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). Yakala Infotype oluşturma zaman damgalarını içe aktarma iş günlükleriyle karşılaştırın Event tipi inferred | |||
| Veri Düzeltme Gerçekleştirildi | Bir denetim istisnasına yanıt olarak ana verilerde veya zaman verilerinde yapılan değişiklikler. Bu, bir bordro uyarısını gidermek için gereken yeniden işi temsil eder. | ||
| Neden önemli Manuel Düzeltme ve Yeniden İşleme Oranlarını takip eder. Bu, süreç verimsizliğine katkıda bulunan birincil faaliyettir. Nereden alınır PCC Uyarısı zaman damgalarını, uyarı kapanmadan önce aynı çalışan için sonraki Denetim Günlüğü değişiklikleri (PCL4) ile birleştirerek çıkarılmıştır. Yakala Bir PCC uyarısı aktifken meydana gelen ana veri güncellemelerini belirleyin Event tipi inferred | |||
| Yan Hak Kesintileri Uygulandı | Hesaplama şeması içinde fayda mantığının işlendiği belirli adım. Ana çalıştırmanın bir parçası olsa da, bunu izole etmek yapılandırma hatalarını belirlemeye yardımcı olur. | ||
| Neden önemli Avantaj ve Vergi Hesaplama Doğruluğu analizini destekler. Karmaşık kesinti mantığı tutarsızlıklarını gidermek için faydalıdır. Nereden alınır Bordro sonuçlarındaki V0 ayrımının varlığından veya ayrıntılı günlük kaydı etkinse belirli günlük girişlerinden (üretimde nadir) çıkarılmıştır. Yakala Hesaplanan Brüt Ücret ile çakışır ancak analiz için kavramsal olarak farklıdır Event tipi inferred | |||
Veri Çekim Kılavuzları
Adımlar
- Ayıklama için hedef bordro alanını ve dönem parametrelerini belirleyin. Verileri öncelikle Bordro Kontrol Merkezi (PCC) tablolarından (PYC_*) ve bordro küme dizininden (HRPY_RGDIR) çıkaracaksınız.
- SAP SuccessFactors Employee Central Payroll (ECP) arka uç şemasına bağlı SQL istemcinizi veya SAP HANA Studio'nuzu başlatın.
- Sorgu bölümünde sağlanan veri ayıklama betiğini yürütün. Bu betik, ana veri tablolarından, bordro sonuçlarından ve PCC denetim günlüklerinden verileri toplar.
- 'Zaman Çizelgesi Gönderildi' ve 'Zaman Çizelgesi Onaylandı' aktivitelerini eşleştirin. ECP genellikle bu verileri Employee Central'dan aldığından, PA2001 tablosundaki oluşturma ve son değiştirme zaman damgalarını veya mevcutsa PTREQ_HEADER gibi özel zaman arayüz tablolarını kullanın.
- Hedef ödeme dönemi içinde oluşturulan kayıtlar için 0015 (Ek Ödemeler) ve 2010 (Çalışan Ücret Bilgileri) Infotiplerini sorgulayarak 'Teşvik Verileri İçe Aktarıldı'yı ayıklayın.
- 'Bordro Süreci Başlatıldı', 'Bordro Simülasyonu Yürütüldü', 'Bordro Kaydı Onaylandı' ve 'Maaş Bordrosu Yayınlandı'yı yakalamak için PYC_D_PYP (Süreç Örnekleri) ve PYC_D_BINST (Adım Örnekleri) tablolarından PCC süreç adımlarını alın.
- 'Denetim İstisnası İşaretlendi' olaylarını belirlemek için PYC_D_ALERT tablosunu sorgulayın. Bu kayıtlar, belirli çalışanları PCC kontrol adımları sırasında bulunan doğrulama hatalarına bağlar.
- Aktif bordro penceresi sırasında SAP Değişiklik Belgesi Başlık tablosu (CDHDR) ile bordro ile ilgili Infotipleri (e.g., 0008, 0015, 2001) birleştirerek 'Veri Düzeltmesi Gerçekleştirildi' olaylarını oluşturun.
- 'Brüt Ücret Hesaplandı'nın tam anını belirlemek için HRPY_RGDIR tablosunu kullanın. Şema çalışması sırasında eş zamanlı olarak meydana geldikleri için aynı zaman damgasını kullanarak 'Yan Hak Kesintileri Uygulandı' için türetilmiş bir olay oluşturun.
- 'Banka Transfer Dosyası Oluşturuldu' ve 'Ödeme Yürütüldü' olaylarını yakalamak için REGUH (Mutabakat Verileri) ve REGUT (DME Yönetimi) tablolarındaki finans verilerini bağlayın.
- Vaka kimliği benzersizliğini sağlamak için 'PayrollRecord' sütununu kesinlikle [ÇalışanKimliği]-[Dönem]-[Yıl] formatına dönüştürün.
- Nihai veri kümesini CSV dosyası olarak dışa aktarın, başlıkların sözleşmede tanımlanan özniteliklerle eşleştiğinden emin olun ve ProcessMind'e yükleyin.
Konfigürasyon
- Zaman Çerçevesi: Ayıklamayı son 6 ila 12 aylık bir hareketli pencereyi kapsayacak şekilde yapılandırın. Bordro süreçleri döngüseldir ve bu aralık, düzenli ve ara dönem çalıştırmalarındaki yeterli çeşitliliği yakalar.
- Bordro Alanı (ABKRS): Analizin benzer süreç döngülerini karşılaştırdığından emin olmak için belirli Bordro Alanlarına göre filtreleyin (örn. ABD Aylık, DE Haftalık).
- Dil: Aktiviteler ve Süreç Adımları için açıklamaların birincil sistem dilinde (örn. 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 'Ara Dönem' için kullanılan belirli Süreç Tanımı Kimliklerini (PYP_ID) belirleyin.
- Para Birimi: Küresel bordro operasyonları için veri çıkarıyorsanız, finansal tutarları (Brüt Ödeme Tutarı) tek bir para birimine normalleştirin.
- Yetkilendirme: Veritabanı kullanıcısının İnsan Kaynakları (PA/PY) tablolarına ve özellikle Küme Dizini (HRPY_RGDIR) ile PCC Tablolarına (PYC_*) okuma erişimi olması gerekir.
a Örnek Sorgu config
/* 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 Düzenleyiciye Erişin: SAP GUI aracılığıyla SAP SuccessFactors Employee Central Payroll (ECP) sisteminize giriş yapın. SE38 (ABAP Düzenleyici) işlem koduna gidin.
- Program Oluşturun: Yeni program için
Z_PROCESSMINING_PAYROLL_EXTgibi bir ad girin ve Oluştur'a tıklayın. Tür olarak Yürütülebilir program'ı seçin ve test amaçlı olarak Yerel Nesne (Paket $TMP) olarak Kaydedin. - Kodu Uygulayın: Aşağıdaki Sorgu bölümünde sağlanan ABAP kodunun tamamını kopyalayın ve düzenleyiciye yapıştırarak mevcut varsayılan kodu değiştirin.
- Kontrol Edin ve Etkinleştirin: Sözdizimini doğrulamak için Kontrol Et düğmesine (Ctrl+F2) tıklayın. Durum hatasız olduğunda, Etkinleştir'e (Ctrl+F3) tıklayın.
- Ayıklamayı Yürütün: Raporu çalıştırmak için Doğrudan İşleme'ye (F8) basın.
- Seçimi Yapılandırın: Seçim ekranında,
Bordro Alanını (örn. ABD, 99), geçerli birTarih Aralığını (örn. son 3 ay) girin ve isteğe bağlı olarak test için belirliPersonel Numaralarına(PERNR) göre filtreleyin. - Ayıklamayı Çalıştırın: Raporu yürütün. Sistem, olay günlüğünü oluşturmak için HRPY_RGDIR, CATSDB, PA0015 ve REGUH tablolarını işleyecektir.
- Çıktıyı İnceleyin: Rapor, sonuçları anında doğrulama için doğrudan ekranda bir tablo görünümünde görüntülemek üzere
cl_demo_output'u kullanır. - Verileri Dışa Aktarın: Sonuçlar tablosuna sağ tıklayın, Elektronik Tablo'yu seçin ve dosyayı CSV veya Excel formatında kaydedin.
- ProcessMind için Biçimlendirin: Dışa aktarılan dosyayı açın.
EventTimestampsütunununYYYY-AA-GG SS:DD:SSolarak biçimlendirildiğinden emin olun.PayrollRecordsütununun durumu benzersiz şekilde tanımladığını doğrulayın (genellikle PERNR-SEQNR). - Yükleyin: Temizlenmiş CSV dosyasını ProcessMind'e aktarın, sütunları Vaka Kimliği, Aktivite, Zaman Damgası ve Özniteliklerle uygun şekilde eşleştirin.
Konfigürasyon
- Tarih Aralığı: ABAP çalışma ortamında bellek zaman aşımlarını önlemek için verilerin 3 ila 6 aylık parçalar halinde çıkarılması önerilir.
- Bordro Alanı: Bu kritik bir filtredir (Tablo T549A). Süreç tutarlılığını sağlamak için her zaman bir bordro alanı aynı anda çıkarılmalıdır (örn. Aylık vs. İki Haftalık).
- Yapılandırma Tablosu: Betik, birincil sürücü olarak
HRPY_RGDIR'ı (Bordro Dizini) okur. Kullanıcınızın bu tablo içinS_TABU_DISyetkisine sahip olduğundan emin olun. - Zaman Veri Kaynağı: Betik, Zaman Çizelgesi verilerinin
CATSDB'de bulunduğunu varsayar. CATS olmadan doğrudanIT2001veyaIT2010ile arayüz oluşturan üçüncü taraf bir zaman saati kullanıyorsanız, Zaman Çizelgesi aktiviteleri boş dönebilir ve betik uyarlaması gerektirebilir. - Ödeme Verileri: Betik, bordro çalıştırmalarını
REGUH(Mutabakat Verileri) aracılığıyla ödeme çalıştırmalarına bağlar. Ödeme olaylarını görmek için seçilen dönem içinF110ödeme çalıştırmasının yürütüldüğünden emin olun. - Performans: Yüksek hacimli sistemler için (100 binden fazla çalışan),
SELECT *mantığını imleç tabanlı bir getirme ile değiştirin veya arka plan modunda (F9) çalıştırın.
a Ö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 ).