Bordro işlemleri veri şablonunuz
Bordro işlemleri veri şablonunuz
- Bordro analizi için optimize edilmiş veri alanları
- Yaşam döngüsünü haritalamak için ayrıntılı etkinlik takibi
- Oracle HCM Cloud bordrosu için ayrıntılı veri çıkarma yönergeleri
Bordro işlemleri öznitelikleri
| Ad | Açıklama | ||
|---|---|---|---|
| Bordro kaydı PayrollRecord | Belirli bir ödeme döneminde çalışanı tanımlayan benzersiz kimlik. | ||
| Açıklama Bordro kaydı, Process Mining analizinde merkezi vaka tanımlayıcısı olarak kullanılır. Çalışan atama kimliği ile bordro dönemi kimliğini birleştiren bir birleştirme veya benzersiz anahtardır. Bu öznitelik, ilk puantaj gönderiminden son banka havalesine ve vergi bildirimine kadar belirli bir döngüde tek bir çalışana ödeme yapılmasıyla ilgili tüm etkinlikleri bir araya getirir. Böylece aynı çalışanın ocak ve şubat aylarında aldığı ödemeler ayrı ayrı analiz edilebilir. Neden önemli? Vaka kimliği olarak görev yapar ve farklı olayları analiz için tek bir süreç örneğinde birleştirir. Nereden alınır? Oracle HCM’de PAY_ASSIGNMENT_ACTIONS tablosundan veya Person Number ile Payroll Period Name değerlerinin birleştirilmesiyle oluşturulur. Örnekler EMP1001-2023-M01EMP5992-2023-W42300000018273645US-NY-A123-JAN23 | |||
| Etkinlik adı ActivityName | Bordro döngüsünde gerçekleştirilen belirli bir adım veya olay. | ||
| Açıklama Bu öznitelik, bordro sürecinde gerçekleşen olayın adını içerir. Örnekler arasında Puantaj gönderildi, Bordro hesaplaması başlatıldı ve Ödeme gerçekleştirildi yer alır. Süreç keşfi ve varyant analizi için temel boyuttur. Oracle HCM Cloud’da genellikle bordro işlem tablolarındaki Action Type veya Action Status değerlerinden elde edilir. Neden önemli? Sürecin ne olduğunu tanımlar ve süreç haritasının yeniden oluşturulmasını sağlar. Nereden alınır? PAY_PAYROLL_ACTIONS tablosundaki ACTION_TYPE kodundan veya denetim izlerindeki durum değişikliklerinden elde edilir. Örnekler Bordro hesaplaması başlatıldıPuantaj onaylandıBanka havalesi oluşturulduDenetim istisnası işaretlendi | |||
| Kaynak sistem SourceSystem | Olayın kaynaklandığı sistemin adı. | ||
| Açıklama Veri noktasını oluşturan yazılımı veya modülü belirtir. Bu süreçte temel değer Oracle HCM Cloud Payroll’dur. Karmaşık sistem ortamlarında bu alan, temel bordro motorunu, zaman ve iş gücü modülünü ya da harici bir banka arayüzünü ayırt etmek için kullanılabilir. Neden önemli? Özellikle zaman takibi veya bankacılık alt sistemlerinden veri alınırken verinin kaynağını izlemeye yardımcı olur. Nereden alınır? Veri çıkarımı sırasında sabit olarak atanır veya arayüz kimliklerinden türetilir. Örnekler Oracle HCM Cloud bordroOracle Time and LaborHarici banka arayüzü | |||
| Olay zaman damgası EventTimestamp | Etkinliğin gerçekleştiği kesin tarih ve saat. | ||
| Açıklama Bir etkinliğin gerçekleştiği kesin anı kaydeder. Süreleri ve çevrim zamanlarını hesaplamak, darboğazları belirlemek için önemlidir. Otomatik adımlarda sistemin işlemi gerçekleştirdiği zamanı gösterir. Onay gibi manuel adımlarda ise işlem günlüğüne kaydedilen kullanıcı eyleminin zaman damgasıdır. Neden önemli? Olayları kronolojik sıraya koymak ve zamana dayalı tüm KPI’ları hesaplamak için gereklidir. Nereden alınır? PAY_ACTION_INFORMATION gibi ilgili işlem tablolarındaki CREATION_DATE veya ACTION_DATE sütunları. Örnekler 2023-10-01T08:30:00Z2023-10-01T14:15:22Z2023-10-05T09:00:00Z | |||
| Son veri güncellemesi LastDataUpdate | Kaydın kaynak veritabanında en son değiştirildiği zaman damgası. | ||
| Açıklama Analizde kullanılan verilerin ne kadar güncel olduğunu gösterir. Olay zaman damgasından farklı olarak, veritabanındaki satırın bir ETL işlemi veya sistem güncellemesi tarafından en son ne zaman değiştirildiğini belirtir. Verilerin güncelliğini doğrulamak ve veri çıkarımındaki gecikmeleri incelemek için kullanılır. Neden önemli? Analistlerin gerçek zamanlı mı yoksa güncelliğini yitirmiş verileri mi incelediğini anlamasını sağlar. Nereden alınır? Neredeyse tüm Oracle HCM tablolarında bulunan LAST_UPDATE_DATE sütunu. Örnekler 2023-10-02T12:00:00Z2023-10-06T01:00:00Z | |||
| Bordro dönemi adı PayrollPeriodName | Bordro çalıştırmasının kapsadığı zaman aralığının adı. | ||
| Açıklama Aylık Ocak 2024 veya Haftalık 42. dönem gibi belirli bir döngüyü tanımlar. SLA son tarihine uyumluluk izleyicisi için gereklidir. Tek tek çalışan vakalarını toplu raporlama için ilgili bordro çalıştırmalarında gruplamaya yardımcı olur. Neden önemli? Toplu işlem düzeyinde analiz ve SLA takibi için temel bilgidir. Nereden alınır? PAY_TIME_PERIODS tablosu veya Bordro Tanımındaki Zaman Dönemi Adı. Örnekler 2023 Aylık 102023 Haftalık 42Aralık 2023 ikramiye bordrosu | |||
| Brüt ücret tutarı GrossPayAmount | Dönem için hesaplanan toplam brüt ücret. | ||
| Açıklama Döngü sırasında hesaplanan brüt ücretin parasal değerini gösterir. Vergi ve yan hak hesaplama doğruluğu ile teşvik entegrasyonu analizlerinde kullanılır. Analistlerin yüksek tutarlı ödemeleri işlem süresi veya hata oranlarıyla karşılaştırmasını sağlar. Neden önemli? Process Mining analizine finansal bağlam kazandırır. Nereden alınır? Brüt ücret bakiyesi için toplulaştırılmış PAY_RUN_RESULT_VALUES tablosu. Örnekler 5000.002350.5010000.00 | |||
| Departman adı DepartmentName | Çalışanın görev yaptığı organizasyon birimi. | ||
| Açıklama Bordro kaydıyla ilişkili çalışandan sorumlu departmanı belirtir. Bu bilgi, Zaman çizelgesi onay verimliliği Dashboardı için önemlidir. Analistler verileri departmana göre ayırarak hangi iş birimlerinin zaman çizelgelerini sürekli geç onayladığını ve bunun genel bordro sürecini nasıl geciktirdiğini belirleyebilir. Neden önemli? Yönetici onaylarından kaynaklanan gecikmelerin temel nedenlerini analiz etmeyi sağlar. Nereden alınır? Bordro çalıştırıldığı sırada geçerli olan çalışan atama kaydından türetilir. Örnekler Kuzey Amerika satışlarıMühendislikİnsan kaynaklarıLojistik | |||
| Elle düzeltme yapıldı mı IsManualCorrection | Etkinliğe elle müdahale edilip edilmediğini belirten işaret. | ||
| Açıklama Veri düzeltildi veya Bordro kaydı düzeltildi gibi etkinliklerde true değerini alan bir boole işaretidir. Elle veri düzeltme oranı ve ilk seferde doğru bordro oranı KPI’larını hesaplamak için kullanılır. Neden önemli? Otomatik işleme ile elle yeniden çalışmayı birbirinden ayırır. Nereden alınır? Etkinlik adından veya düzeltme belirten belirli işlem türlerinden (ör. QuickPay, bakiye düzeltmesi) türetilir. Örnekler truefalse | |||
| İşlemi gerçekleştiren kullanıcı ProcessingUser | Etkinliği gerçekleştiren kişinin kullanıcı kimliği veya adı. | ||
| Açıklama Etkinliği başlatan bordro uzmanının, yöneticinin veya sistem hesabının kimliğini kaydeder. Bordro uzmanlarının iş yükü dağılımı Dashboardını destekler. Bordro ekibindeki kaynak darboğazlarını ve eğitim ihtiyaçlarını belirlemeye yardımcı olur. Neden önemli? Kaynak verimliliğini analiz etmeyi ve iş yükünü dengelemeyi sağlar. Nereden alınır? İşlem tablolarındaki CREATED_BY veya LAST_UPDATED_BY sütunları. Örnekler sistem yöneticisij.smithbordro_toplu_işlem_kullanıcısım.doe | |||
| Ödeme grubu PayGroup | Bordro işlemleri için çalışanların mantıksal gruplandırması. | ||
| Açıklama Çalışanın bağlı olduğu belirli bordro tanımını gösterir (ör. Haftalık üretim, Aylık kurumsal). Bu öznitelik neredeyse tüm Dashboardlar için temel bilgidir ve farklı bordro döngüleriyle sıklıklarının performansını karşılaştırmayı sağlar. Neden önemli? Bordro takvimini belirleyen temel yapılandırma nesnesidir. Nereden alınır? PAY_ALL_PAYROLLS_F tablosu (Bordro adı). Örnekler ABD ayda iki kezBirleşik Krallık aylıkHaftalık sendika bordrosu | |||
| SLA işlem son tarihi SlaProcessingDeadline | Ödemenin yapılması gereken hedef tarih ve saat. | ||
| Açıklama Bordro ödemesi için sözleşmede veya mevzuatta belirtilen son tarihi kaydeder. Bu öznitelik, Ödeme yapıldı zaman damgasıyla karşılaştırılır. SLA işlem son tarihine uyum KPI’ını hesaplamak ve risk altındaki ödeme gruplarını belirlemek için kullanılır. Neden önemli? Sürecin zamanında tamamlanıp tamamlanmadığını değerlendirmek için temel ölçüttür. Nereden alınır? Genellikle Bordro Tanımında yapılandırılmış bir alan (DFF) olarak bulunur veya Çek tarihi eksi X gün şeklinde hesaplanır. Örnekler 2023-10-28T17:00:00Z2023-11-30T17:00:00Z | |||
| Yasal veri grubu LegislativeDataGroup | Bordro verilerini ülkeye veya mevzuat ortamına göre bölümlere ayırır. | ||
| Açıklama Oracle HCM Cloud’da Yasal Veri Grubu (LDG), bordro ve ilgili verileri bölümlere ayırır. Genellikle bir ülkenin veya belirli bir bölgenin mevzuatına karşılık gelir. Bu öznitelik, süreç analizini ülkeye göre filtrelemek (ör. ABD bordrosu ve Birleşik Krallık bordrosu) için önemlidir ve çoğunlukla genel Ülke özniteliğiyle eşleştirilir. Neden önemli? Uyumluluk kuralları ve süreç akışları, yargı bölgesine göre büyük farklılıklar gösterebilir. Nereden alınır? PAY_ALL_PAYROLLS_F tablosu, Yasal Veri Grubu tanımlarıyla birleştirilir. Örnekler ABD yasal veri grubuBirleşik Krallık LDGFransa bordrosu | |||
| Çalışan türü EmployeeType | Çalışanın sınıflandırması (ör. maaşlı, saatlik ücretli, sözleşmeli). | ||
| Açıklama Çalışan kaydını sınıflandırır. Farklı çalışan türleri için farklı işlem kuralları veya öncelikler geçerli olabileceğinden, dijital ücret pusulası yayımlama gecikmesi Dashboardı için önemlidir. İş gücünün farklı kesimleri arasındaki süreç performansını karşılaştırmak üzere analizi filtrelemeye yardımcı olur. Neden önemli? Farklı çalışan türleri çoğunlukla farklı süreç varyantlarını izler. Nereden alınır? PER_ALL_ASSIGNMENTS_M içindeki atama kategorisi veya istihdam koşulları. Örnekler Tam zamanlı maaşlıYarı zamanlı saatlik ücretliSözleşmeli çalışanÜst düzey yönetici | |||
| Denetim istisnası türü AuditExceptionType | Denetim sırasında işaretlenen hata veya uyarının kategorisi. | ||
| Açıklama Denetim istisnası işaretlendi etkinliği sırasında bulunan sorunu (ör. Net ücret negatif, Vergi kimliği eksik) sınıflandırır. Bu öznitelik, yaygın veri kalitesi sorunlarını belirleyerek denetim istisnası ve düzeltme analizi Dashboardını destekler. Neden önemli? Yeniden çalışma döngülerinin temel nedenlerini analiz etmek için önemlidir. Nereden alınır? Bordro süreç günlüklerindeki veya istisna raporlarındaki Message ya da Error Code sütunları. Örnekler Net ücret negatifSSN eksikBanka bilgileri geçersizFazla mesai sınırı aşıldı | |||
| Geriye dönük değişiklik işareti RetroactiveChangeFlag | Bordro çalıştırmasının geriye dönük ödemeler içerip içermediğini belirtir. | ||
| Açıklama Bu kayıtta Retropay öğeleri işleniyorsa true değerini alan bir boole göstergesidir. Süreç yolu varyantı karşılaştırmasında uzun işlem sürelerini veya denetim istisnalarını açıklamaya yardımcı olur. Geriye dönük değişiklikler, önceki dönemleri kapsayan karmaşık yeniden hesaplamaları tetikleyebilir. Neden önemli? Doğası gereği daha uzun işlem süresi gerektiren karmaşık vakaları belirler. Nereden alınır? PAY_ELEMENT_ENTRIES içindeki Retropay öğesi kayıtlarının varlığı. Örnekler truefalse | |||
| Önizleme yineleme sayısı PreviewIterationCount | Sonuçlar kesinleştirilmeden önce kaç kez önizlendiği. | ||
| Açıklama Aynı vaka için Bordro sonucu önizlendi etkinliği her gerçekleştiğinde artan bir sayaçtır. Bordro önizleme yineleme izleyicisi Dashboardının doğrudan ölçütüdür; onay öncesindeki yeniden çalışma veya kararsızlık düzeyini gösterir. Neden önemli? Doğrulama aşamasının verimliliğini ölçer. Nereden alınır? Veri dönüştürme sırasında, her Vaka kimliği için belirli etkinliklerin gerçekleşme sayısı hesaplanarak elde edilir. Örnekler 1350 | |||
| SLA durumu SlaStatus | SLA uyumunun kategorik durumu (karşılandı/kaçırıldı). | ||
| Açıklama Ödeme yapıldı zaman damgası ile SLA işlem son tarihi karşılaştırılarak belirlenir. Değerler Zamanında, Risk altında veya İhlal edildi olabilir. Vakaları performans gruplarına ayırarak SLA son tarihine uyumluluk izleyicisi için raporlamayı kolaylaştırır. Neden önemli? Karmaşık zaman karşılaştırmalarını uygulanabilir kategorilere dönüştürür. Nereden alınır? Olay zaman damgası ile SLA son tarihini karşılaştıran hesaplama mantığı. Örnekler Karşılandıİhlal edildiİhlal riski yakın | |||
| Vergi yargı bölgesi TaxJurisdiction | Vergi beyannamesi için geçerli eyalet, il veya yerel bölge. | ||
| Açıklama Bordro kaydıyla ilişkili temel vergi makamını belirtir (ör. Kaliforniya için CA, New York için NY). Vergi uyumluluğu işlem süresi Dashboardını destekler. Belirli bölgelerde vergi hesaplama ve beyan süreçlerinin daha karmaşık veya yavaş olup olmadığını belirlemeye yardımcı olur. Neden önemli? Performansı mevzuatın karmaşıklığına göre gruplandırır. Nereden alınır? Çalışanın vergi kartından veya iş yeri adreslerinden türetilir. Örnekler CA-KaliforniyaNY-New YorkTX-TeksasFederal-ABD | |||
Bordro işlemleri etkinlikleri
| Aktivite | Açıklama | ||
|---|---|---|---|
| Banka havalesi oluşturuldu | EFT (Elektronik Fon Transferi) dosyasının veya benzer bir ödeme çıktısının oluşturulmasıdır. Bu teknik adımda bankaya gönderilecek talimat dosyası hazırlanır. | ||
| Neden önemli? Ödeme dosyası oluşturma çevrim süresini ölçer. Buradaki gecikmeler, bankaların işlem kabulü için belirlediği son saatlerin kaçırılmasına yol açabilir. Nereden alınır? ACTION_TYPE değeri M (Magnetic Tape), E (EFT) veya C (Check Writer) olan PAY_PAYROLL_ACTIONS kayıtlarını sorgulayın. Kaydedin EFT/Check işlemi tamamlandığında kaydedilir Olay türü explicit | |||
| Bordro hesaplaması başlatıldı | Belirli bir bordro tanımı ve dönemi için ana bordro çalıştırma sürecinin başlatılmasıdır. Bu adım, veri toplama aşamasından işleme aşamasına geçişi gösterir. | ||
| Neden önemli? Yoğun işlem döneminin başlangıcını belirler. Teknik bordro çalıştırmasının toplam çevrim süresini hesaplamak için kullanılır. Nereden alınır? ACTION_TYPE değeri R (Run) veya Q (QuickPay), ACTION_STATUS değeri ise started olan PAY_PAYROLL_ACTIONS tablosunu sorgulayın. Başlangıç durumu, oluşturulma tarihinden de çıkarılabilir. Kaydedin PAY_PAYROLL_ACTIONS kaydı eklendiğinde kaydedilir Olay türü explicit | |||
| Bordro hesaplaması çalıştırıldı | Brütten nete hesaplamalar da dahil olmak üzere Calculate Payroll işleminin başarıyla tamamlanmasıdır. Bu olay, çalışana ait kazançların, kesintilerin ve vergilerin hesaplandığını gösterir. | ||
| Neden önemli? Verilerin doğrulamaya hazır olduğunu gösteren önemli bir aşamadır. Bu adımın uzun sürmesi, sistem performansıyla ilgili sorunlara veya karmaşık hızlı formüllere işaret edebilir. Nereden alınır? ACTION_TYPE değeri R veya Q olan ve ACTION_STATUS değeri C (Complete) olarak değişen PAY_PAYROLL_REL_ACTIONS kayıtlarını PAY_PAYROLL_ACTIONS tablosuyla birleştirerek sorgulayın. Kaydedin Payroll Run işlem durumu Complete olarak güncellendiğinde kaydedilir Olay türü explicit | |||
| Ödeme gerçekleştirildi | Ödemenin işlendiğine dair son onaydır. Oracle’da bu olay, ödeme akışının tamamlanmasına veya Cash Management içindeki mutabakat işlemine karşılık gelir. | ||
| Neden önemli? SLA uyumluluğunu ölçmek için kullanılan temel zaman damgasıdır. Çalışanlara zamanında ödeme yapılıp yapılmadığını belirlemeye yarar. Nereden alınır? Banka havalesi işleminin Effective Date değerinden veya Cash Management mutabakat günlüklerinden (CE_STATEMENT_LINES) çıkarılabilir. Kaydedin Ödeme işleminin geçerlilik tarihi veya mutabakat olayı üzerinden kaydedilir Olay türü explicit | |||
| Ön ödemeler hesaplandı | Net ücretin çalışanın seçtiği ödeme yöntemlerine (çek, EFT vb.) dağıtıldığı Prepayments işleminin çalıştırılmasıdır. Hesaplanan tutarların gerçekten ödenebileceğini doğrular. | ||
| Neden önemli? Hesaplama ile ödeme arasındaki bağlantı adımıdır. Buradaki hatalar genellikle eksik banka bilgilerine veya geçersiz ödeme yöntemlerine işaret eder. Nereden alınır? ACTION_TYPE değeri P (Prepayments) ve durumu Complete olan PAY_PAYROLL_ACTIONS kayıtlarını sorgulayın. Kaydedin Prepayments işlemi tamamlandığında kaydedilir Olay türü explicit | |||
| Arşiv sonuçları oluşturuldu | Archive Periodic Payroll Results işleminin tamamlanmasıdır. Bu anlık görüntü, raporlama ve bordro pusulası oluşturma için verileri sabitler. | ||
| Neden önemli? Bordro pusulaları ve yasal raporlar oluşturmak için gereken teknik bir ön koşuldur. Verilerin kesinleştirildiğini doğrular. Nereden alınır? ACTION_TYPE değeri X (Archive) ve durumu Complete olan PAY_PAYROLL_ACTIONS kayıtlarını sorgulayın. Kaydedin Archive işlemi tamamlandığında kaydedilir Olay türü explicit | |||
| Bordro çalıştırması onaylandı | Payroll Dashboard içindeki bordro kayıtlarının veya akışının resmî olarak onaylanmasıdır. Bu işlem genellikle doğrulama raporları incelendikten ve banka dosyaları oluşturulmadan önce gerçekleşir. | ||
| Neden önemli? Yönetimin resmî onayını gösterir. Hesaplama ile onay arasındaki süre, doğrulama aşamasının uzunluğunu belirtir. Nereden alınır? Belirli bir Payroll Flow Pattern içindeki durum değişikliklerini veya görevlerin tamamlanmasını görmek için PAY_REQ_FLOW_INSTANCES tablosunu sorgulayın. Kaydedin Flow Instance durumu Completed/Approved olarak değiştiğinde kaydedilir Olay türü explicit | |||
| Bordro kaydı düzeltildi | İlk bordro çalıştırmasından sonra, kesinleştirmeden önce öğe girişlerine veya atama verilerine manuel güncellemeler uygulanmasıdır. Bu etkinlik, hataları veya istisnaları gidermek için gereken yeniden çalışmayı gösterir. | ||
| Neden önemli? Süreç verimsizliğine ve veri kalitesi sorunlarına işaret eder. Bu etkinliği azaltmak, ilk çalıştırmada bordro doğruluğu oranını artırmanın anahtarıdır. Nereden alınır? İlk Payroll Run tarihi ile Prepayments tarihi arasında Last Update Date değeri bulunan PAY_ELEMENT_ENTRIES_F güncellemeleri belirlenerek çıkarılır. Kaydedin Öğe girişi güncellemelerinin zaman damgalarını bordro çalıştırma zaman damgalarıyla karşılaştırın Olay türü inferred | |||
| Bordro pusulası yayımlandı | Bordro pusulasının Self Service’te çalışan tarafından görüntülenebilir hâle geldiği andır. Bu adım, Archiver işleminden ve muhtemelen belirli bir Generate Payslip işleminden sonra gerçekleşir. | ||
| Neden önemli? Çalışan memnuniyetini etkiler. Ödeme ile bordro pusulasının erişime açılması arasındaki uzun gecikmeler destek taleplerine yol açar. Nereden alınır? Documents of Record tablosunu (HR_DOCUMENTS_OF_RECORD) veya PAY_PAYROLL_ACTIONS içindeki Generate Payslip işleminin tamamlanmasını sorgulayın. Kaydedin Bordro pusulası PDF’si oluşturma işlemi tamamlandığında kaydedilir Olay türü explicit | |||
| Denetim istisnası işaretlendi | Bordro hesaplama veya doğrulama aşamasında bir hata ya da uyarı mesajının kaydedilmesidir. İnsan müdahalesi gerektiren belirli doğrulama hatalarını gösterir. | ||
| Neden önemli? Veri kalitesi sorunlarını belirlemek için gereklidir. İstisnaların çok sayıda olması manuel iş yükünü ve SLA ihlali riskini artırır. Nereden alınır? Belirli PAY_PAYROLL_REL_ACTION_ID ile ilişkili PAY_MESSAGE_LINES tablosunu sorgulayın. Bu tabloda çalıştırmalar sırasında oluşan hata ve uyarılar tutulur. Kaydedin PAY_MESSAGE_LINES tablosuna kayıt eklendiğinde kaydedilir Olay türü explicit | |||
| Maliyetler aktarıldı | Bordro maliyet sonuçlarının Genel Muhasebe defterine aktarılmasıdır. Bu adım, bordro döngüsünün mali muhasebe açısından kapatılmasını temsil eder. | ||
| Neden önemli? Mali uyumluluğu ve iş gücü maliyetlerinin doğru kaydedilmesini sağlar. Gecikmeler, Finans ekibinin hesapları kapatmasını engeller. Nereden alınır? ACTION_TYPE değeri T (Transfer to GL) ve durumu Complete olan PAY_PAYROLL_ACTIONS kayıtlarını sorgulayın. Kaydedin Transfer to GL işlemi tamamlandığında kaydedilir Olay türü explicit | |||
| Puantaj gönderildi | Çalışanın veya yöneticinin zaman ve iş gücü verilerini işlenmek üzere gönderdiği ilk olaydır. Oracle HCM’de bu olay, Time and Labor modülünde puantaj durumu Submitted olarak değiştiğinde kaydedilir. | ||
| Neden önemli? Ham verilerin olası bordro akışına girdiğini gösterir. Buradaki gecikmeler sonraki adımları da etkileyerek bordro uzmanlarının hesaplamaları doğrulaması için kalan süreyi kısaltır. Nereden alınır? Durumun SUBMITTED olarak değiştiği HWM_TM_REC_GRP_DTLS tablosunu veya HXT_TIMECARDS görünümünü sorgulayın. Gönderim zaman damgasını kullanın. Kaydedin Time and Labor’da durum SUBMITTED olarak değiştiğinde kaydedilir Olay türü explicit | |||
| Puantaj onaylandı | Gönderilen zaman verilerinin yönetici tarafından incelenip onaylandığını gösterir. Bu durum değişikliği, verilerin bordro öğesi girişlerine aktarılmasını başlatır. | ||
| Neden önemli? Yönetici onay süresini ölçmek için önemlidir. Buradaki gecikmeler, sonraki dönemlerde geriye dönük ücret düzeltmelerinin başlıca nedenlerinden biridir. Nereden alınır? Durumun APPROVED olarak değiştiği HWM_TM_REC_GRP_DTLS tablosunu veya HXT_TIMECARDS görünümünü sorgulayın. Onay zaman damgasını gönderim zaman damgasıyla karşılaştırın. Kaydedin Time and Labor’da durum APPROVED olarak değiştiğinde kaydedilir Olay türü explicit | |||
| QuickPay çalıştırıldı | Genellikle düzeltmeleri doğrulamak için kullanılan, tek bir kişi için bordro çalıştırmasıdır (QuickPay). Payroll Result Previewed etkinliğinin göstergesi olarak kullanılır. | ||
| Neden önemli? Kişi başına sık QuickPay çalıştırılması, bordro işlemlerinde sistematik bir yaklaşım yerine deneme yanılma yöntemine işaret eder. Nereden alınır? ACTION_TYPE değeri Q (QuickPay) olan PAY_PAYROLL_ACTIONS kayıtlarını sorgulayın. Her çalışan için bordro dönemi başına düşen kayıt sayısını hesaplayın. Kaydedin PAY_PAYROLL_ACTIONS tablosuna QuickPay işlemi kaydedildiğinde kaydedilir Olay türü explicit | |||
| Teşvik verileri içe aktarıldı | Prim veya komisyon gibi değişken ücretler için toplu yükleyici ya da HDL içe aktarımı üzerinden öğe girişlerinin oluşturulmasıdır. Bu adım, harici ücret verilerinin bordro çalıştırmasına aktarılmasını temsil eder. | ||
| Neden önemli? Değişken ücret verilerinin aktarım hızını izler. Geç yapılan aktarımlar çoğu zaman ek bordro çalıştırmalarına veya manuel düzeltmelere yol açar. Nereden alınır? İçe aktarma işleminin tamamlandığını görmek için PAY_BATCH_HEADERS tablosunu sorgulayın veya belirli bir kaynak sistem referansıyla PAY_ELEMENT_ENTRIES_F kayıtlarının oluşturulmasını izleyin. Kaydedin Toplu öğe girişi işlemi başarıyla tamamlandığında kaydedilir Olay türü explicit | |||
| Vergi bildirimi tamamlandı | Yasal vergi dosyalarının (ör. Third Party Quarterly Tax File) oluşturulmasıdır. Bu adım, ödeme dönemi için mevzuata uyumu sağlar. | ||
| Neden önemli? Vergi uyumluluğu işlem süresi KPI’ı için önemlidir. Bu adımın başarısız olması cezalara yol açabilir. Nereden alınır? Vergi raporlamasıyla ilgili belirli yasama veri grubu işlemleri için PAY_PAYROLL_ACTIONS tablosunu sorgulayın (ör. US Third Party Tax Filing). Kaydedin Belirli bir vergi raporlama akışı tamamlandığında kaydedilir Olay türü explicit | |||
Veri çıkarma rehberleri
Adımlar
Data Exchange’e erişin: Human Capital Management Integration Specialist rolüne sahip bir kullanıcıyla Oracle HCM Cloud’a giriş yapın. My Client Groups > Data Exchange > Extract Definitions yolunu izleyin.
Yeni bir veri çıkarımı oluşturun: Yeni bir veri çıkarımı oluşturmak için '+' simgesine tıklayın. Adını 'ProcessMind_Payroll_Extract' koyun. Geçmiş bordro işlem verilerine erişmek için tüketici olarak 'Payroll', kategori olarak 'HR Archive' seçin.
Veri gruplarını tanımlayın: User Entity
PAY_PAYROLL_REL_UE(Payroll Relationship) temelinde bir Root Data Group oluşturun. Böylece veri çıkarımı çalışanın bordro ilişkisine bağlanır.PAY_ACTION_INFORMATION_UE,PAY_ELEMENT_ENTRY_UEve (zaman ve iş gücü için)HWM_MEASURE_DAY_V_UEiçin alt veri grupları oluşturun.Veri çıkarımı kayıtlarını yapılandırın: Hiyerarşik verileri düzleştirmek için veri gruplarında kayıtları tanımlayın. Her etkinlik türü için belirli kayıtlar oluşturmanız gerekir; örneğin, 'Time Card' olaylarını filtreleyen bir kayıt ve 'Run Results' için başka bir kayıt.
FastFormula veya BIP ile SQL mantığını uygulayın: Hiyerarşik bordro verilerini doğrusal bir olay günlüğüne dönüştürmek karmaşık olduğundan, en uygun yöntem 'Extract Delivery Option' ile BI Publisher raporu çağırmaktır. Böylece aşağıdaki 'Query' bölümündeki SQL’i veri modeli olarak kullanabilirsiniz. Bu yöntem, birleşik bir olay günlüğü oluşturmak için yerleşik grafik arayüzdeki filtrelerden daha uygundur.
BI Publisher veri modeli oluşturun: Tools > Reports and Analytics > Browse Catalog yolunu izleyin. Yeni bir Data Model oluşturun. Aşağıdaki SQL sorgusunu yapıştırın.
bind_start_datevebind_end_dateiçin parametre tanımlayın.Veri çıkarımını BIP’ye bağlayın: Extract Definition içindeki 'Delivery' sekmesinde bir teslimat seçeneği oluşturun. Çıktı türü olarak 'PDF' veya 'XML' seçin (ProcessMind CSV kullanır, ancak BIP çıktısını dönüştürmeniz gerekir). Önceki adımda oluşturduğunuz BI Publisher raporunu seçin.
Parametreleri tanımlayın: BI Publisher sorgusuna dinamik olarak aktarılacak başlangıç ve bitiş tarihleri için Extract Execution Tree’ye parametre ekleyin.
Doğrulayın ve gönderin: Hata olup olmadığını kontrol etmek için veri çıkarımı tanımını doğrulayın. 'Submit Extract' seçeneğine tıklayın. Parametreleri girin (örneğin, son 90 gün).
Süreci izleyin: 'View Extract Results' bölümüne gidin. Durum 'Succeeded' olana kadar bekleyin.
Çıktıyı indirin: Oluşturulan XML/CSV dosyasını indirin. Dosyayı açıp PayrollRecord, ActivityName, EventTimestamp gibi gerekli sütunların bulunduğunu doğrulayın.
ProcessMind için biçimlendirin: Çıktı XML ise başlıkların 'Attributes to include' gereksinimleriyle eşleştiğinden emin olarak düz bir CSV dosyasına dönüştürün. Ortaya çıkan dosyayı ProcessMind’e yükleyin.
Yapılandırma
- Veri çıkarma modu: Yalnızca değişiklikler veya tam veri çıkarımı. İlk yükleme için tam veri çıkarımını kullanın. Günlük güncellemeler için Son Güncelleme Tarihine göre 'Changes Only' seçeneğini yapılandırın.
- Yasal veri grubu (LDG): Örneğiniz birden fazla ülkeyi destekliyorsa LDG’ye göre filtreleme yapmanız önemle önerilir; bordro tanımları ülkenin mevzuatına göre değişir.
- Tarih aralığı: Process Mining’in tüm çevrim sürelerini yakalaması için
bind_start_datevebind_end_datedeğerlerini en az 3-6 ayı kapsayacak şekilde ayarlayın. - Parça boyutu: Yüksek hacimli bordrolarda (10 binin üzerinde çalışan) zaman aşımı hatalarını önlemek için Extract Definition içindeki parça boyutunu 2000 olarak ayarlayın.
- Geçerlilik tarihleri: Bordro tablolarında kayıtların geçerliliği tarihe bağlıdır. Sorgu mantığı, kaydın doğru geçmiş sürümünü almak için
effective_start_dateveeffective_end_datedeğerlerini açıkça dikkate alır. - Güvenlik: Sorguyu çalıştıran kullanıcının, analiz kapsamındaki tüm bordroları ve departmanları görüntülemesine izin veren veri güvenliği profilleri olmalıdır.
Örnek sorgu sql
/* Oracle HCM Cloud Payroll Extraction for ProcessMind */
/* Aggregating 16 specific activities into a unified Event Log */
SELECT
/* Attributes */
rel.person_number || '-' || ppa.payroll_action_id AS PayrollRecord,
'Time Card Submitted' AS ActivityName,
TO_CHAR(htr.creation_date, 'YYYY-MM-DD HH24:MI:SS') AS EventTimestamp,
'Oracle HCM Time and Labor' AS SourceSystem,
TO_CHAR(htr.last_update_date, 'YYYY-MM-DD HH24:MI:SS') AS LastDataUpdate,
pap.name AS PayrollPeriodName,
org.name AS DepartmentName,
NULL AS GrossPayAmount
FROM hwm_tm_rec htr
JOIN hwm_tm_rec_grp htrg ON htr.tm_rec_grp_id = htrg.tm_rec_grp_id
JOIN per_all_people_f rel ON htrg.person_id = rel.person_id
LEFT JOIN pay_all_payrolls_f pap ON htrg.payroll_id = pap.payroll_id
LEFT JOIN per_departments org ON rel.attribute1 = org.organization_id /* Adjust mapping */
WHERE htr.latest_version_flag = 'Y'
AND htr.tm_rec_status = 'SUBMITTED'
AND htr.creation_date BETWEEN :bind_start_date AND :bind_end_date
UNION ALL
SELECT
rel.person_number || '-' || ppa.payroll_action_id,
'Time Card Approved',
TO_CHAR(htr.last_update_date, 'YYYY-MM-DD HH24:MI:SS'),
'Oracle HCM Time and Labor',
TO_CHAR(htr.last_update_date, 'YYYY-MM-DD HH24:MI:SS'),
pap.name,
org.name,
NULL
FROM hwm_tm_rec htr
JOIN hwm_tm_rec_grp htrg ON htr.tm_rec_grp_id = htrg.tm_rec_grp_id
JOIN per_all_people_f rel ON htrg.person_id = rel.person_id
LEFT JOIN pay_all_payrolls_f pap ON htrg.payroll_id = pap.payroll_id
LEFT JOIN per_departments org ON rel.attribute1 = org.organization_id
WHERE htr.latest_version_flag = 'Y'
AND htr.tm_rec_status = 'APPROVED'
AND htr.last_update_date BETWEEN :bind_start_date AND :bind_end_date
UNION ALL
SELECT
rel.person_number || '-' || pee.element_entry_id,
'Incentive Data Imported',
TO_CHAR(pee.creation_date, 'YYYY-MM-DD HH24:MI:SS'),
'Oracle HCM Payroll',
TO_CHAR(pee.last_update_date, 'YYYY-MM-DD HH24:MI:SS'),
NULL,
org.name,
NULL
FROM pay_element_entries_f pee
JOIN pay_element_types_f pet ON pee.element_type_id = pet.element_type_id
JOIN per_all_assignments_m asg ON pee.assignment_id = asg.assignment_id
JOIN per_all_people_f rel ON asg.person_id = rel.person_id
LEFT JOIN per_departments org ON asg.organization_id = org.organization_id
WHERE pet.classification_name IN ('Supplemental Earnings', 'Voluntary Deductions')
AND pee.creator_type IN ('H', 'F') /* HDL or Flat File */
AND pee.creation_date BETWEEN :bind_start_date AND :bind_end_date
UNION ALL
SELECT
rel.person_number || '-' || ppa.payroll_action_id,
'Payroll Calculation Started',
TO_CHAR(ppa.creation_date, 'YYYY-MM-DD HH24:MI:SS'),
'Oracle HCM Payroll',
TO_CHAR(ppa.last_update_date, 'YYYY-MM-DD HH24:MI:SS'),
pap.name,
org.name,
NULL
FROM pay_payroll_actions ppa
JOIN pay_all_payrolls_f pap ON ppa.payroll_id = pap.payroll_id
JOIN pay_payroll_rel_actions pra ON ppa.payroll_action_id = pra.payroll_action_id
JOIN per_all_people_f rel ON pra.payroll_relationship_id = rel.person_id /* Simplified Join */
LEFT JOIN per_departments org ON rel.attribute1 = org.organization_id
WHERE ppa.action_type IN ('R', 'Q') /* Run or QuickPay */
AND ppa.creation_date BETWEEN :bind_start_date AND :bind_end_date
UNION ALL
SELECT
rel.person_number || '-' || ppa.payroll_action_id,
'Payroll Calculation Executed',
TO_CHAR(pra.action_sequence_date, 'YYYY-MM-DD HH24:MI:SS'),
'Oracle HCM Payroll',
TO_CHAR(pra.last_update_date, 'YYYY-MM-DD HH24:MI:SS'),
pap.name,
org.name,
(SELECT SUM(prrv.result_value) FROM pay_run_result_values prrv JOIN pay_run_results prr ON prrv.run_result_id = prr.run_result_id WHERE prr.payroll_rel_action_id = pra.payroll_rel_action_id) AS GrossPayAmount
FROM pay_payroll_rel_actions pra
JOIN pay_payroll_actions ppa ON pra.payroll_action_id = ppa.payroll_action_id
JOIN pay_all_payrolls_f pap ON ppa.payroll_id = pap.payroll_id
JOIN per_all_people_f rel ON pra.payroll_relationship_id = rel.person_id
LEFT JOIN per_departments org ON rel.attribute1 = org.organization_id
WHERE ppa.action_type IN ('R', 'Q')
AND pra.action_status = 'C'
AND pra.action_sequence_date BETWEEN :bind_start_date AND :bind_end_date
UNION ALL
SELECT
rel.person_number || '-' || ppa.payroll_action_id,
'Audit Exception Flagged',
TO_CHAR(pml.creation_date, 'YYYY-MM-DD HH24:MI:SS'),
'Oracle HCM Payroll',
TO_CHAR(pml.last_update_date, 'YYYY-MM-DD HH24:MI:SS'),
pap.name,
org.name,
NULL
FROM pay_message_lines pml
JOIN pay_payroll_rel_actions pra ON pml.source_id = pra.payroll_rel_action_id
JOIN pay_payroll_actions ppa ON pra.payroll_action_id = ppa.payroll_action_id
JOIN pay_all_payrolls_f pap ON ppa.payroll_id = pap.payroll_id
JOIN per_all_people_f rel ON pra.payroll_relationship_id = rel.person_id
LEFT JOIN per_departments org ON rel.attribute1 = org.organization_id
WHERE pml.message_level IN ('F', 'E') /* Fatal or Error */
AND pml.creation_date BETWEEN :bind_start_date AND :bind_end_date
UNION ALL
SELECT
rel.person_number || '-' || ppa.payroll_action_id,
'Payroll Record Corrected',
TO_CHAR(pee.last_update_date, 'YYYY-MM-DD HH24:MI:SS'),
'Oracle HCM Payroll',
TO_CHAR(pee.last_update_date, 'YYYY-MM-DD HH24:MI:SS'),
pap.name,
org.name,
NULL
FROM pay_element_entries_f pee
JOIN pay_payroll_rel_actions pra ON pee.creator_id = pra.payroll_rel_action_id
JOIN pay_payroll_actions ppa ON pra.payroll_action_id = ppa.payroll_action_id
JOIN pay_all_payrolls_f pap ON ppa.payroll_id = pap.payroll_id
JOIN per_all_people_f rel ON pra.payroll_relationship_id = rel.person_id
LEFT JOIN per_departments org ON rel.attribute1 = org.organization_id
WHERE pee.last_update_date > pee.creation_date
AND pee.last_update_date BETWEEN :bind_start_date AND :bind_end_date
UNION ALL
SELECT
rel.person_number || '-' || ppa.payroll_action_id,
'QuickPay Executed',
TO_CHAR(pra.action_sequence_date, 'YYYY-MM-DD HH24:MI:SS'),
'Oracle HCM Payroll',
TO_CHAR(pra.last_update_date, 'YYYY-MM-DD HH24:MI:SS'),
pap.name,
org.name,
NULL
FROM pay_payroll_rel_actions pra
JOIN pay_payroll_actions ppa ON pra.payroll_action_id = ppa.payroll_action_id
JOIN pay_all_payrolls_f pap ON ppa.payroll_id = pap.payroll_id
JOIN per_all_people_f rel ON pra.payroll_relationship_id = rel.person_id
LEFT JOIN per_departments org ON rel.attribute1 = org.organization_id
WHERE ppa.action_type = 'Q'
AND pra.action_status = 'C'
AND pra.action_sequence_date BETWEEN :bind_start_date AND :bind_end_date
UNION ALL
SELECT
rel.person_number || '-' || ppa.payroll_action_id,
'Prepayments Calculated',
TO_CHAR(pra.action_sequence_date, 'YYYY-MM-DD HH24:MI:SS'),
'Oracle HCM Payroll',
TO_CHAR(pra.last_update_date, 'YYYY-MM-DD HH24:MI:SS'),
pap.name,
org.name,
NULL
FROM pay_payroll_rel_actions pra
JOIN pay_payroll_actions ppa ON pra.payroll_action_id = ppa.payroll_action_id
JOIN pay_all_payrolls_f pap ON ppa.payroll_id = pap.payroll_id
JOIN per_all_people_f rel ON pra.payroll_relationship_id = rel.person_id
LEFT JOIN per_departments org ON rel.attribute1 = org.organization_id
WHERE ppa.action_type = 'P' /* Distribution */
AND pra.action_status = 'C'
AND pra.action_sequence_date BETWEEN :bind_start_date AND :bind_end_date
UNION ALL
SELECT
rel.person_number || '-' || ppa.payroll_action_id,
'Payroll Run Approved',
TO_CHAR(pfi.action_date, 'YYYY-MM-DD HH24:MI:SS'),
'Oracle HCM Payroll',
TO_CHAR(pfi.last_update_date, 'YYYY-MM-DD HH24:MI:SS'),
pap.name,
org.name,
NULL
FROM pay_flow_instances pfi
JOIN pay_payroll_actions ppa ON pfi.payroll_action_id = ppa.payroll_action_id
JOIN pay_all_payrolls_f pap ON ppa.payroll_id = pap.payroll_id
JOIN pay_payroll_rel_actions pra ON ppa.payroll_action_id = pra.payroll_action_id
JOIN per_all_people_f rel ON pra.payroll_relationship_id = rel.person_id
LEFT JOIN per_departments org ON rel.attribute1 = org.organization_id
WHERE pfi.status = 'COMPLETED'
AND pfi.instance_name LIKE '%Approval%'
AND pfi.action_date BETWEEN :bind_start_date AND :bind_end_date
UNION ALL
SELECT
rel.person_number || '-' || ppa.payroll_action_id,
'Archive Results Generated',
TO_CHAR(pra.action_sequence_date, 'YYYY-MM-DD HH24:MI:SS'),
'Oracle HCM Payroll',
TO_CHAR(pra.last_update_date, 'YYYY-MM-DD HH24:MI:SS'),
pap.name,
org.name,
NULL
FROM pay_payroll_rel_actions pra
JOIN pay_payroll_actions ppa ON pra.payroll_action_id = ppa.payroll_action_id
JOIN pay_all_payrolls_f pap ON ppa.payroll_id = pap.payroll_id
JOIN per_all_people_f rel ON pra.payroll_relationship_id = rel.person_id
LEFT JOIN per_departments org ON rel.attribute1 = org.organization_id
WHERE ppa.action_type = 'X' /* Archive */
AND pra.action_status = 'C'
AND pra.action_sequence_date BETWEEN :bind_start_date AND :bind_end_date
UNION ALL
SELECT
rel.person_number || '-' || ppa.payroll_action_id,
'Bank Transfer Generated',
TO_CHAR(pra.action_sequence_date, 'YYYY-MM-DD HH24:MI:SS'),
'Oracle HCM Payroll',
TO_CHAR(pra.last_update_date, 'YYYY-MM-DD HH24:MI:SS'),
pap.name,
org.name,
(SELECT SUM(ppp.value) FROM pay_pre_payments ppp WHERE ppp.payroll_action_id = ppa.payroll_action_id) AS GrossPayAmount
FROM pay_payroll_rel_actions pra
JOIN pay_payroll_actions ppa ON pra.payroll_action_id = ppa.payroll_action_id
JOIN pay_all_payrolls_f pap ON ppa.payroll_id = pap.payroll_id
JOIN per_all_people_f rel ON pra.payroll_relationship_id = rel.person_id
LEFT JOIN per_departments org ON rel.attribute1 = org.organization_id
WHERE ppa.action_type IN ('M', 'E') /* Mag Tape or EFT */
AND pra.action_status = 'C'
AND pra.action_sequence_date BETWEEN :bind_start_date AND :bind_end_date
UNION ALL
SELECT
rel.person_number || '-' || ppa.payroll_action_id,
'Payment Executed',
TO_CHAR(ppp.base_currency_value, 'YYYY-MM-DD HH24:MI:SS'),
'Oracle HCM Payroll',
TO_CHAR(ppa.last_update_date, 'YYYY-MM-DD HH24:MI:SS'),
pap.name,
org.name,
ppp.value AS GrossPayAmount
FROM pay_pre_payments ppp
JOIN pay_payroll_actions ppa ON ppp.payroll_action_id = ppa.payroll_action_id
JOIN pay_all_payrolls_f pap ON ppa.payroll_id = pap.payroll_id
JOIN pay_payroll_rel_actions pra ON ppa.payroll_action_id = pra.payroll_action_id
JOIN per_all_people_f rel ON pra.payroll_relationship_id = rel.person_id
LEFT JOIN per_departments org ON rel.attribute1 = org.organization_id
WHERE ppa.action_type IN ('H', 'E', 'M') /* Check or EFT */
AND ppa.effective_date BETWEEN :bind_start_date AND :bind_end_date
UNION ALL
SELECT
rel.person_number || '-' || ppa.payroll_action_id,
'Pay Slip Published',
TO_CHAR(pra.action_sequence_date, 'YYYY-MM-DD HH24:MI:SS'),
'Oracle HCM Payroll',
TO_CHAR(pra.last_update_date, 'YYYY-MM-DD HH24:MI:SS'),
pap.name,
org.name,
NULL
FROM pay_payroll_rel_actions pra
JOIN pay_payroll_actions ppa ON pra.payroll_action_id = ppa.payroll_action_id
JOIN pay_all_payrolls_f pap ON ppa.payroll_id = pap.payroll_id
JOIN per_all_people_f rel ON pra.payroll_relationship_id = rel.person_id
LEFT JOIN per_departments org ON rel.attribute1 = org.organization_id
WHERE ppa.action_type = 'G' /* Generate Payslip */
AND pra.action_status = 'C'
AND pra.action_sequence_date BETWEEN :bind_start_date AND :bind_end_date
UNION ALL
SELECT
rel.person_number || '-' || ppa.payroll_action_id,
'Costing Transferred',
TO_CHAR(pra.action_sequence_date, 'YYYY-MM-DD HH24:MI:SS'),
'Oracle HCM Payroll',
TO_CHAR(pra.last_update_date, 'YYYY-MM-DD HH24:MI:SS'),
pap.name,
org.name,
NULL
FROM pay_payroll_rel_actions pra
JOIN pay_payroll_actions ppa ON pra.payroll_action_id = ppa.payroll_action_id
JOIN pay_all_payrolls_f pap ON ppa.payroll_id = pap.payroll_id
JOIN per_all_people_f rel ON pra.payroll_relationship_id = rel.person_id
LEFT JOIN per_departments org ON rel.attribute1 = org.organization_id
WHERE ppa.action_type = 'T' /* Transfer to GL */
AND pra.action_status = 'C'
AND pra.action_sequence_date BETWEEN :bind_start_date AND :bind_end_date
UNION ALL
SELECT
rel.person_number || '-' || ppa.payroll_action_id,
'Tax Filing Completed',
TO_CHAR(pra.action_sequence_date, 'YYYY-MM-DD HH24:MI:SS'),
'Oracle HCM Payroll',
TO_CHAR(pra.last_update_date, 'YYYY-MM-DD HH24:MI:SS'),
pap.name,
org.name,
NULL
FROM pay_payroll_rel_actions pra
JOIN pay_payroll_actions ppa ON pra.payroll_action_id = ppa.payroll_action_id
JOIN pay_all_payrolls_f pap ON ppa.payroll_id = pap.payroll_id
JOIN per_all_people_f rel ON pra.payroll_relationship_id = rel.person_id
LEFT JOIN per_departments org ON rel.attribute1 = org.organization_id
WHERE ppa.report_category IN ('Tax', 'Regulatory') /* Customize based on local requirements */
AND pra.action_status = 'C'
AND pra.action_sequence_date BETWEEN :bind_start_date AND :bind_end_date Adımlar
- Oracle BI Publisher’a giriş yapın: Oracle Cloud ortamına erişin ve Tools > Reports and Analytics yolunu izleyin. BI Publisher arayüzünü açmak için Browse Catalog seçeneğine tıklayın.
- Bir veri modeli oluşturun: Sol üstteki New seçeneğine tıklayın ve Data Model'i seçin. SQL veri çıkarma mantığınız bu modelde yer alır.
- Bir SQL veri seti oluşturun: Diagram sekmesinde New Data Set simgesine tıklayın ve SQL Query seçeneğini seçin.
- Veri kaynağını yapılandırın: Veri setine bir ad verin (ör.
ProcessMind_Payroll_Extract). Veri kaynağı olarakApplicationDB_HCM'yi (veya kullandığınız HCM Application Database bağlantısını) seçin. Türü Standard SQL olarak bırakın. - Sorguyu girin: Aşağıdaki Query bölümünde verilen SQL betiğinin tamamını kopyalayıp SQL Query metin kutusuna yapıştırın. Markdown biçimlendirmesi eklemeyin.
- Parametreleri tanımlayın: Sorguda
:p_start_dateve:p_end_datebağlama değişkenleri kullanılır. Veri çıkarma aralığını filtrelemek için (ör.ppa.EFFECTIVE_DATEtemelinde) Data Model’in Parameters sekmesinde bu iki parametreyi Date türünde oluşturun. - Veri yapısını doğrulayın: TAMAM seçeneğine tıklayın. Data Model düzenleyicisinde Veri sekmesine geçin. Örnek tarihleri (ör.
2023-01-01ile2023-03-31) girin ve Görünüm seçeneğine tıklayın. ÇıktıdaPayrollRecord,ActivityNameveEventTimestampsütunlarının bulunduğunu doğrulayın. - Veri modelini kaydedin: Modeli paylaşılan bir klasöre kaydedin (ör.
/Shared Folders/Custom/ProcessMining). - Dışa aktarma raporu oluşturun: Create Report seçeneğine tıklayın ve az önce kaydettiğiniz Data Model’i seçin. Tüm sütunları içeren basit bir tablo düzeni oluşturmak için Report Wizard'ı kullanın. 'Show Grand Totals' seçeneğinin işaretini kaldırın.
- CSV olarak dışa aktarın: Raporu Report Viewer’da görüntüleyin. Actions menüsüne (dişli simgesi) tıklayın ve Export > Veri > CSV yolunu izleyin.
- Dönüştürün: CSV dosyasını açın. Tarih biçimleri otomatik ayarlanmamışsa ISO 8601 (
YYYY-MM-DD HH:MM:SS) biçiminde olduklarından emin olun. SQL doğru yapıştırıldıysa başka bir düzenleme gerekmez. - Yükleyin: Oluşturduğunuz CSV dosyasını ProcessMind’e aktarın ve sütunları Veri Gereksinimleri’nde tanımlandığı şekilde eşleyin.
Yapılandırma
- Veri kaynağı bağlantısı:
PAY_vePER_şemalarına okuma erişimi olanApplicationDB_HCMveya eşdeğer JNDI veri kaynağını kullanın. - Tarih aralığı: Tüm bordro döngülerini yakalamak için önerilen veri çıkarma aralığı 3-6 aydır. Dinamik yüklemeyi kontrol etmek için
:p_start_dateve:p_end_dateparametrelerini kullanın. - Yasal veri grubu (LDG): Sorgu varsayılan olarak tüm LDG’lerden veri çıkarır. Birden fazla ülkede çalışıyorsanız verileri bölümlere ayırmak için
AND ppa.LEGISLATIVE_DATA_GROUP_ID = [Your_LDG_ID]filtresini eklemeyi değerlendirin. - Performans: Sorgu, yüksek hacimli tablolara (
PAY_RUN_RESULTS,PAY_ASSIGNMENT_ACTIONS) erişir. BI Publisher’da zaman aşımını önlemek için tarih aralığının çok geniş olmadığından (ör. 1 yıldan fazla) emin olun. - Güvenlik: Raporu çalıştıran kullanıcının hedef bordro tanımları için Data Access Set izinleri olmalıdır.
Örnek sorgu sql
SELECT
TO_CHAR(papf.PERSON_NUMBER) || '-' || ptp.PERIOD_NAME AS PayrollRecord,
'Time Card Submitted' AS ActivityName,
peef.CREATION_DATE AS EventTimestamp,
'Oracle HCM' AS SourceSystem,
peef.LAST_UPDATE_DATE AS LastDataUpdate,
pld.NAME AS LegislativeDataGroup,
org.NAME AS DepartmentName,
peef.LAST_UPDATED_BY AS ProcessingUser,
NULL AS GrossPayAmount,
ptp.PERIOD_NAME AS PayrollPeriodName,
NULL AS SlaProcessingDeadline,
'N' AS IsManualCorrection,
pg.PAYROLL_NAME AS PayGroup,
NULL AS ProcessDurationDays
FROM PAY_ELEMENT_ENTRIES_F peef
JOIN PER_ALL_ASSIGNMENTS_M paam ON peef.ASSIGNMENT_ID = paam.ASSIGNMENT_ID
AND peef.EFFECTIVE_START_DATE BETWEEN paam.EFFECTIVE_START_DATE AND paam.EFFECTIVE_END_DATE
JOIN PER_ALL_PEOPLE_F papf ON paam.PERSON_ID = papf.PERSON_ID
AND peef.EFFECTIVE_START_DATE BETWEEN papf.EFFECTIVE_START_DATE AND papf.EFFECTIVE_END_DATE
JOIN PAY_PAY_RELATIONSHIPS_DN pprd ON paam.PAYROLL_RELATIONSHIP_ID = pprd.PAYROLL_RELATIONSHIP_ID
JOIN PER_TIME_PERIODS ptp ON pprd.PAYROLL_ID = ptp.PAYROLL_ID
AND peef.EFFECTIVE_START_DATE BETWEEN ptp.START_DATE AND ptp.END_DATE
LEFT JOIN PER_LEGISLATIVE_DATA_GROUPS_VL pld ON pprd.LEGISLATIVE_DATA_GROUP_ID = pld.LEGISLATIVE_DATA_GROUP_ID
LEFT JOIN HR_ORGANIZATION_UNITS_F_TL org ON paam.ORGANIZATION_ID = org.ORGANIZATION_ID AND org.LANGUAGE = USERENV('LANG')
LEFT JOIN PAY_ALL_PAYROLLS_F pg ON pprd.PAYROLL_ID = pg.PAYROLL_ID
WHERE peef.CREATOR_TYPE = 'H'
AND peef.CREATION_DATE BETWEEN :p_start_date AND :p_end_date
UNION ALL
SELECT
TO_CHAR(papf.PERSON_NUMBER) || '-' || ptp.PERIOD_NAME AS PayrollRecord,
'Time Card Approved' AS ActivityName,
peef.EFFECTIVE_START_DATE AS EventTimestamp,
'Oracle HCM' AS SourceSystem,
peef.LAST_UPDATE_DATE AS LastDataUpdate,
pld.NAME,
org.NAME,
peef.LAST_UPDATED_BY,
NULL,
ptp.PERIOD_NAME,
NULL,
'N',
pg.PAYROLL_NAME,
NULL
FROM PAY_ELEMENT_ENTRIES_F peef
JOIN PER_ALL_ASSIGNMENTS_M paam ON peef.ASSIGNMENT_ID = paam.ASSIGNMENT_ID
AND peef.EFFECTIVE_START_DATE BETWEEN paam.EFFECTIVE_START_DATE AND paam.EFFECTIVE_END_DATE
JOIN PER_ALL_PEOPLE_F papf ON paam.PERSON_ID = papf.PERSON_ID
AND peef.EFFECTIVE_START_DATE BETWEEN papf.EFFECTIVE_START_DATE AND papf.EFFECTIVE_END_DATE
JOIN PAY_PAY_RELATIONSHIPS_DN pprd ON paam.PAYROLL_RELATIONSHIP_ID = pprd.PAYROLL_RELATIONSHIP_ID
JOIN PER_TIME_PERIODS ptp ON pprd.PAYROLL_ID = ptp.PAYROLL_ID
AND peef.EFFECTIVE_START_DATE BETWEEN ptp.START_DATE AND ptp.END_DATE
LEFT JOIN PER_LEGISLATIVE_DATA_GROUPS_VL pld ON pprd.LEGISLATIVE_DATA_GROUP_ID = pld.LEGISLATIVE_DATA_GROUP_ID
LEFT JOIN HR_ORGANIZATION_UNITS_F_TL org ON paam.ORGANIZATION_ID = org.ORGANIZATION_ID AND org.LANGUAGE = USERENV('LANG')
LEFT JOIN PAY_ALL_PAYROLLS_F pg ON pprd.PAYROLL_ID = pg.PAYROLL_ID
WHERE peef.CREATOR_TYPE = 'H'
AND peef.EFFECTIVE_START_DATE BETWEEN :p_start_date AND :p_end_date
UNION ALL
SELECT
TO_CHAR(papf.PERSON_NUMBER) || '-' || ptp.PERIOD_NAME AS PayrollRecord,
'Incentive Data Imported' AS ActivityName,
peef.CREATION_DATE AS EventTimestamp,
'Oracle HCM' AS SourceSystem,
peef.LAST_UPDATE_DATE AS LastDataUpdate,
pld.NAME,
org.NAME,
peef.LAST_UPDATED_BY,
NULL,
ptp.PERIOD_NAME,
NULL,
'N',
pg.PAYROLL_NAME,
NULL
FROM PAY_ELEMENT_ENTRIES_F peef
JOIN PER_ALL_ASSIGNMENTS_M paam ON peef.ASSIGNMENT_ID = paam.ASSIGNMENT_ID
AND peef.EFFECTIVE_START_DATE BETWEEN paam.EFFECTIVE_START_DATE AND paam.EFFECTIVE_END_DATE
JOIN PER_ALL_PEOPLE_F papf ON paam.PERSON_ID = papf.PERSON_ID
AND peef.EFFECTIVE_START_DATE BETWEEN papf.EFFECTIVE_START_DATE AND papf.EFFECTIVE_END_DATE
JOIN PAY_PAY_RELATIONSHIPS_DN pprd ON paam.PAYROLL_RELATIONSHIP_ID = pprd.PAYROLL_RELATIONSHIP_ID
JOIN PER_TIME_PERIODS ptp ON pprd.PAYROLL_ID = ptp.PAYROLL_ID
AND peef.EFFECTIVE_START_DATE BETWEEN ptp.START_DATE AND ptp.END_DATE
LEFT JOIN PER_LEGISLATIVE_DATA_GROUPS_VL pld ON pprd.LEGISLATIVE_DATA_GROUP_ID = pld.LEGISLATIVE_DATA_GROUP_ID
LEFT JOIN HR_ORGANIZATION_UNITS_F_TL org ON paam.ORGANIZATION_ID = org.ORGANIZATION_ID AND org.LANGUAGE = USERENV('LANG')
LEFT JOIN PAY_ALL_PAYROLLS_F pg ON pprd.PAYROLL_ID = pg.PAYROLL_ID
WHERE peef.CREATOR_TYPE IN ('B', 'F')
AND peef.CREATION_DATE BETWEEN :p_start_date AND :p_end_date
UNION ALL
SELECT
TO_CHAR(papf.PERSON_NUMBER) || '-' || ptp.PERIOD_NAME AS PayrollRecord,
CASE
WHEN ppa.ACTION_TYPE = 'R' AND paa.ACTION_STATUS = 'C' THEN 'Payroll Calculation Executed'
WHEN ppa.ACTION_TYPE = 'R' THEN 'Payroll Calculation Started'
WHEN ppa.ACTION_TYPE = 'Q' THEN 'QuickPay Executed'
WHEN ppa.ACTION_TYPE IN ('P', 'U') THEN 'Prepayments Calculated'
WHEN ppa.ACTION_TYPE = 'X' THEN 'Archive Results Generated'
WHEN ppa.ACTION_TYPE = 'M' THEN 'Bank Transfer Generated'
WHEN ppa.ACTION_TYPE IN ('Z', 'E') THEN 'Payment Executed'
WHEN ppa.ACTION_TYPE = 'T' THEN 'Costing Transferred'
ELSE 'Payroll Process Action'
END AS ActivityName,
ppa.CREATION_DATE AS EventTimestamp,
'Oracle HCM' AS SourceSystem,
paa.LAST_UPDATE_DATE AS LastDataUpdate,
pld.NAME,
org.NAME,
ppa.LAST_UPDATED_BY,
NULL,
ptp.PERIOD_NAME,
ptp.REGULAR_PAYMENT_DATE AS SlaProcessingDeadline,
'N',
pg.PAYROLL_NAME,
NULL
FROM PAY_PAYROLL_ACTIONS ppa
JOIN PAY_ASSIGNMENT_ACTIONS paa ON ppa.PAYROLL_ACTION_ID = paa.PAYROLL_ACTION_ID
JOIN PER_ALL_ASSIGNMENTS_M paam ON paa.ASSIGNMENT_ID = paam.ASSIGNMENT_ID
AND ppa.EFFECTIVE_DATE BETWEEN paam.EFFECTIVE_START_DATE AND paam.EFFECTIVE_END_DATE
JOIN PER_ALL_PEOPLE_F papf ON paam.PERSON_ID = papf.PERSON_ID
AND ppa.EFFECTIVE_DATE BETWEEN papf.EFFECTIVE_START_DATE AND papf.EFFECTIVE_END_DATE
JOIN PER_TIME_PERIODS ptp ON ppa.PAYROLL_ID = ptp.PAYROLL_ID
AND ppa.DATE_EARNED BETWEEN ptp.START_DATE AND ptp.END_DATE
LEFT JOIN PER_LEGISLATIVE_DATA_GROUPS_VL pld ON ppa.LEGISLATIVE_DATA_GROUP_ID = pld.LEGISLATIVE_DATA_GROUP_ID
LEFT JOIN HR_ORGANIZATION_UNITS_F_TL org ON paam.ORGANIZATION_ID = org.ORGANIZATION_ID AND org.LANGUAGE = USERENV('LANG')
LEFT JOIN PAY_ALL_PAYROLLS_F pg ON ppa.PAYROLL_ID = pg.PAYROLL_ID
WHERE ppa.ACTION_TYPE IN ('R', 'Q', 'P', 'U', 'X', 'M', 'Z', 'E', 'T')
AND ppa.EFFECTIVE_DATE BETWEEN :p_start_date AND :p_end_date
UNION ALL
SELECT
TO_CHAR(papf.PERSON_NUMBER) || '-' || ptp.PERIOD_NAME AS PayrollRecord,
'Audit Exception Flagged' AS ActivityName,
pml.CREATION_DATE AS EventTimestamp,
'Oracle HCM' AS SourceSystem,
pml.LAST_UPDATE_DATE AS LastDataUpdate,
pld.NAME,
org.NAME,
pml.LAST_UPDATED_BY,
NULL,
ptp.PERIOD_NAME,
NULL,
'Y',
pg.PAYROLL_NAME,
NULL
FROM PAY_MESSAGE_LINES pml
JOIN PAY_PAYROLL_ACTIONS ppa ON pml.PAYROLL_ACTION_ID = ppa.PAYROLL_ACTION_ID
LEFT JOIN PAY_ASSIGNMENT_ACTIONS paa ON ppa.PAYROLL_ACTION_ID = paa.PAYROLL_ACTION_ID
JOIN PER_ALL_ASSIGNMENTS_M paam ON paa.ASSIGNMENT_ID = paam.ASSIGNMENT_ID
AND ppa.EFFECTIVE_DATE BETWEEN paam.EFFECTIVE_START_DATE AND paam.EFFECTIVE_END_DATE
JOIN PER_ALL_PEOPLE_F papf ON paam.PERSON_ID = papf.PERSON_ID
AND ppa.EFFECTIVE_DATE BETWEEN papf.EFFECTIVE_START_DATE AND papf.EFFECTIVE_END_DATE
JOIN PER_TIME_PERIODS ptp ON ppa.PAYROLL_ID = ptp.PAYROLL_ID
AND ppa.DATE_EARNED BETWEEN ptp.START_DATE AND ptp.END_DATE
LEFT JOIN PER_LEGISLATIVE_DATA_GROUPS_VL pld ON ppa.LEGISLATIVE_DATA_GROUP_ID = pld.LEGISLATIVE_DATA_GROUP_ID
LEFT JOIN HR_ORGANIZATION_UNITS_F_TL org ON paam.ORGANIZATION_ID = org.ORGANIZATION_ID AND org.LANGUAGE = USERENV('LANG')
LEFT JOIN PAY_ALL_PAYROLLS_F pg ON ppa.PAYROLL_ID = pg.PAYROLL_ID
WHERE pml.MESSAGE_LEVEL IN ('E', 'W')
AND pml.CREATION_DATE BETWEEN :p_start_date AND :p_end_date
UNION ALL
SELECT
TO_CHAR(papf.PERSON_NUMBER) || '-' || ptp.PERIOD_NAME AS PayrollRecord,
'Payroll Record Corrected' AS ActivityName,
peef.LAST_UPDATE_DATE AS EventTimestamp,
'Oracle HCM' AS SourceSystem,
peef.LAST_UPDATE_DATE AS LastDataUpdate,
pld.NAME,
org.NAME,
peef.LAST_UPDATED_BY,
NULL,
ptp.PERIOD_NAME,
NULL,
'Y',
pg.PAYROLL_NAME,
NULL
FROM PAY_ELEMENT_ENTRIES_F peef
JOIN PER_ALL_ASSIGNMENTS_M paam ON peef.ASSIGNMENT_ID = paam.ASSIGNMENT_ID
AND peef.EFFECTIVE_START_DATE BETWEEN paam.EFFECTIVE_START_DATE AND paam.EFFECTIVE_END_DATE
JOIN PER_ALL_PEOPLE_F papf ON paam.PERSON_ID = papf.PERSON_ID
AND peef.EFFECTIVE_START_DATE BETWEEN papf.EFFECTIVE_START_DATE AND papf.EFFECTIVE_END_DATE
JOIN PAY_PAY_RELATIONSHIPS_DN pprd ON paam.PAYROLL_RELATIONSHIP_ID = pprd.PAYROLL_RELATIONSHIP_ID
JOIN PER_TIME_PERIODS ptp ON pprd.PAYROLL_ID = ptp.PAYROLL_ID
AND peef.EFFECTIVE_START_DATE BETWEEN ptp.START_DATE AND ptp.END_DATE
LEFT JOIN PER_LEGISLATIVE_DATA_GROUPS_VL pld ON pprd.LEGISLATIVE_DATA_GROUP_ID = pld.LEGISLATIVE_DATA_GROUP_ID
LEFT JOIN HR_ORGANIZATION_UNITS_F_TL org ON paam.ORGANIZATION_ID = org.ORGANIZATION_ID AND org.LANGUAGE = USERENV('LANG')
LEFT JOIN PAY_ALL_PAYROLLS_F pg ON pprd.PAYROLL_ID = pg.PAYROLL_ID
WHERE peef.LAST_UPDATE_DATE > peef.CREATION_DATE
AND peef.LAST_UPDATE_DATE BETWEEN :p_start_date AND :p_end_date
UNION ALL
SELECT
TO_CHAR(papf.PERSON_NUMBER) || '-' || ptp.PERIOD_NAME AS PayrollRecord,
'Payroll Run Approved' AS ActivityName,
ppa.LAST_UPDATE_DATE AS EventTimestamp,
'Oracle HCM' AS SourceSystem,
ppa.LAST_UPDATE_DATE AS LastDataUpdate,
pld.NAME,
org.NAME,
ppa.LAST_UPDATED_BY,
NULL,
ptp.PERIOD_NAME,
NULL,
'N',
pg.PAYROLL_NAME,
NULL
FROM PAY_PAYROLL_ACTIONS ppa
JOIN PAY_ASSIGNMENT_ACTIONS paa ON ppa.PAYROLL_ACTION_ID = paa.PAYROLL_ACTION_ID
JOIN PER_ALL_ASSIGNMENTS_M paam ON paa.ASSIGNMENT_ID = paam.ASSIGNMENT_ID
AND ppa.EFFECTIVE_DATE BETWEEN paam.EFFECTIVE_START_DATE AND paam.EFFECTIVE_END_DATE
JOIN PER_ALL_PEOPLE_F papf ON paam.PERSON_ID = papf.PERSON_ID
AND ppa.EFFECTIVE_DATE BETWEEN papf.EFFECTIVE_START_DATE AND papf.EFFECTIVE_END_DATE
JOIN PER_TIME_PERIODS ptp ON ppa.PAYROLL_ID = ptp.PAYROLL_ID
AND ppa.DATE_EARNED BETWEEN ptp.START_DATE AND ptp.END_DATE
LEFT JOIN PER_LEGISLATIVE_DATA_GROUPS_VL pld ON ppa.LEGISLATIVE_DATA_GROUP_ID = pld.LEGISLATIVE_DATA_GROUP_ID
LEFT JOIN HR_ORGANIZATION_UNITS_F_TL org ON paam.ORGANIZATION_ID = org.ORGANIZATION_ID AND org.LANGUAGE = USERENV('LANG')
LEFT JOIN PAY_ALL_PAYROLLS_F pg ON ppa.PAYROLL_ID = pg.PAYROLL_ID
WHERE ppa.ACTION_TYPE = 'R'
AND paa.ACTION_STATUS = 'C'
AND ppa.EFFECTIVE_DATE BETWEEN :p_start_date AND :p_end_date
UNION ALL
SELECT
TO_CHAR(papf.PERSON_NUMBER) || '-' || ptp.PERIOD_NAME AS PayrollRecord,
'Pay Slip Published' AS ActivityName,
(ppa.CREATION_DATE + 1) AS EventTimestamp,
'Oracle HCM' AS SourceSystem,
ppa.LAST_UPDATE_DATE AS LastDataUpdate,
pld.NAME,
org.NAME,
ppa.LAST_UPDATED_BY,
NULL,
ptp.PERIOD_NAME,
NULL,
'N',
pg.PAYROLL_NAME,
NULL
FROM PAY_PAYROLL_ACTIONS ppa
JOIN PAY_ASSIGNMENT_ACTIONS paa ON ppa.PAYROLL_ACTION_ID = paa.PAYROLL_ACTION_ID
JOIN PER_ALL_ASSIGNMENTS_M paam ON paa.ASSIGNMENT_ID = paam.ASSIGNMENT_ID
AND ppa.EFFECTIVE_DATE BETWEEN paam.EFFECTIVE_START_DATE AND paam.EFFECTIVE_END_DATE
JOIN PER_ALL_PEOPLE_F papf ON paam.PERSON_ID = papf.PERSON_ID
AND ppa.EFFECTIVE_DATE BETWEEN papf.EFFECTIVE_START_DATE AND papf.EFFECTIVE_END_DATE
JOIN PER_TIME_PERIODS ptp ON ppa.PAYROLL_ID = ptp.PAYROLL_ID
AND ppa.DATE_EARNED BETWEEN ptp.START_DATE AND ptp.END_DATE
LEFT JOIN PER_LEGISLATIVE_DATA_GROUPS_VL pld ON ppa.LEGISLATIVE_DATA_GROUP_ID = pld.LEGISLATIVE_DATA_GROUP_ID
LEFT JOIN HR_ORGANIZATION_UNITS_F_TL org ON paam.ORGANIZATION_ID = org.ORGANIZATION_ID AND org.LANGUAGE = USERENV('LANG')
LEFT JOIN PAY_ALL_PAYROLLS_F pg ON ppa.PAYROLL_ID = pg.PAYROLL_ID
WHERE ppa.ACTION_TYPE = 'X'
AND ppa.EFFECTIVE_DATE BETWEEN :p_start_date AND :p_end_date
UNION ALL
SELECT
TO_CHAR(papf.PERSON_NUMBER) || '-' || ptp.PERIOD_NAME AS PayrollRecord,
'Tax Filing Completed' AS ActivityName,
ppa.CREATION_DATE AS EventTimestamp,
'Oracle HCM' AS SourceSystem,
ppa.LAST_UPDATE_DATE AS LastDataUpdate,
pld.NAME,
org.NAME,
ppa.LAST_UPDATED_BY,
NULL,
ptp.PERIOD_NAME,
NULL,
'N',
pg.PAYROLL_NAME,
NULL
FROM PAY_PAYROLL_ACTIONS ppa
JOIN PAY_ASSIGNMENT_ACTIONS paa ON ppa.PAYROLL_ACTION_ID = paa.PAYROLL_ACTION_ID
JOIN PER_ALL_ASSIGNMENTS_M paam ON paa.ASSIGNMENT_ID = paam.ASSIGNMENT_ID
AND ppa.EFFECTIVE_DATE BETWEEN paam.EFFECTIVE_START_DATE AND paam.EFFECTIVE_END_DATE
JOIN PER_ALL_PEOPLE_F papf ON paam.PERSON_ID = papf.PERSON_ID
AND ppa.EFFECTIVE_DATE BETWEEN papf.EFFECTIVE_START_DATE AND papf.EFFECTIVE_END_DATE
JOIN PER_TIME_PERIODS ptp ON ppa.PAYROLL_ID = ptp.PAYROLL_ID
AND ppa.DATE_EARNED BETWEEN ptp.START_DATE AND ptp.END_DATE
LEFT JOIN PER_LEGISLATIVE_DATA_GROUPS_VL pld ON ppa.LEGISLATIVE_DATA_GROUP_ID = pld.LEGISLATIVE_DATA_GROUP_ID
LEFT JOIN HR_ORGANIZATION_UNITS_F_TL org ON paam.ORGANIZATION_ID = org.ORGANIZATION_ID AND org.LANGUAGE = USERENV('LANG')
LEFT JOIN PAY_ALL_PAYROLLS_F pg ON ppa.PAYROLL_ID = pg.PAYROLL_ID
WHERE ppa.ACTION_TYPE = 'Z'
AND ppa.CREATION_DATE BETWEEN :p_start_date AND :p_end_date Başlamaya hazır mısınız?
Döngülerinizin tamamını görünür kılmak için bu veri şablonundan yararlanarak bordro operasyonlarınızı dönüştürün. Verimliliği artırma ve doğru raporlama yolunda bugün ilk adımı atın.
Oracle HCM’de bordro işlemlerinizi bugün iyileştirin
Bordro çevrim süresini %30 azaltın ve darboğazları ortadan kaldırın.
Kredi kartı gerekmez. Kurulum birkaç dakika sürer.