Thursday, 12 February 2026

Examples of Loading Seniority Hours using Oracle HCM HDL

 

✅ Oracle HCM HDL: Load Seniority Hours (Create / Update / Delete) – Worker.dat Examples

For hourly paid workers, many organizations calculate seniority in hours instead of days. To support accurate seniority calculations in Oracle Fusion HCM, you can load seniority hours using HCM Data Loader (HDL).

In this post, you’ll learn how to create, update, and delete Seniority Hours using HDL with both:

  • Source Keys (SourceSystemOwner + SourceSystemId)

  • User Keys (AssignmentNumber + FromDate)


⭐ What are Seniority Hours in Oracle HCM?

Seniority Hours represent the number of hours worked that contribute to a worker’s length of service calculation.

This is mainly used for:

  • Hourly paid workers

  • Union or bargaining unit employees

  • Time & Labor based seniority

  • Payroll-driven seniority hours


๐Ÿ“Œ Sources of Seniority Hours Data

You can obtain seniority hours from:

  • Oracle Time and Labor (OTL)

  • Oracle Global Payroll

  • A third-party time system

  • External payroll system


✅ Important Prerequisites (Must Read)

Before loading seniority hours:

1) Assignment must exist

The assignment must already exist in Oracle HCM.

2) Assignment must be active

The assignment must be active as of the FromDate of the seniority hours.

3) Worker must be hourly paid

The worker must be paid hourly for the entire period you are loading hours.


๐Ÿ” How to Verify Loaded Seniority Hours

After loading, you can verify data from:

Option 1: UI Page

Manage Seniority Dates page (worker level)

Option 2: Database Query

For multiple workers:
✅ Query table: PER_SENIORITY_HOURS


๐Ÿงพ HDL Object Used

Seniority Hours are loaded using the HDL component:

SeniorityHour (Worker.dat)


๐Ÿ“‚ File Name

๐Ÿ“Œ File Name:
Worker.dat


๐Ÿ”ฅ Examples of Loading Seniority Hours (HDL)


1) Create Seniority Hours Using Source Keys

METADATA|SeniorityHour|AssignmentId(SourceSystemId)|ToDate|FromDate|Hours
|SourceSystemOwner|SourceSystemId MERGE|SeniorityHour|1031101972|2001/01/01|2000/01/01|500|VISION|UT00214

๐Ÿ“Œ Notes:

  • SourceSystemOwner + SourceSystemId uniquely identify the record

  • This is best for integrations from external systems


2) Create Seniority Hours Using User Keys

The user keys for SeniorityHour are:

AssignmentNumber + FromDate

METADATA|SeniorityHour|AssignmentNumber|ToDate|FromDate|Hours MERGE|SeniorityHour|E00214|2001/01/01|2000/01/01|500

✏️ Updating Seniority Hours


3) Update Seniority Hours Using Source Keys

METADATA|SeniorityHour|AssignmentId(SourceSystemId)|ToDate|FromDate|Hours
|SourceSystemOwner|SourceSystemId MERGE|SeniorityHour|1031101972|2001/01/01|2000/01/01|600|VISION|UT00214

๐Ÿ“Œ The update happens because the same SourceSystemOwner + SourceSystemId exists.


4) Update Seniority Hours Using User Keys

METADATA|SeniorityHour|AssignmentNumber|ToDate|FromDate|Hours MERGE|SeniorityHour|E00214|2001/01/01|2000/01/01|600

๐Ÿ“Œ Oracle identifies the record using:

  • AssignmentNumber

  • FromDate


๐Ÿ—‘️ Deleting Seniority Hours


5) Delete Seniority Hours Using Source Keys

METADATA|SeniorityHour|AssignmentId(SourceSystemId)|SourceSystemOwner|SourceSystemId DELETE|SeniorityHour|1031101972|VISION|UT00214

6) Delete Seniority Hours Using User Keys

METADATA|SeniorityHour|AssignmentNumber|ToDate|FromDate|Hours DELETE|SeniorityHour|E00214|2001/01/01|2000/01/01|500

✏️ Updating Seniority Hours


✅ Example 1: Load Seniority Hours for Multiple Periods (Same Assignment)

Use this when you want to load hours month-wise / week-wise.

METADATA|SeniorityHour|AssignmentNumber|FromDate|ToDate|Hours MERGE|SeniorityHour|E00214|2024/01/01|2024/01/31|168 MERGE|SeniorityHour|E00214|2024/02/01|2024/02/29|160 MERGE|SeniorityHour|E00214|2024/03/01|2024/03/31|176


✅ Example 2: Load Seniority Hours for Multiple Assignments

(Same Worker)

Use this when a worker has multiple hourly assignments.

METADATA|SeniorityHour|AssignmentNumber|FromDate|ToDate|Hours MERGE|SeniorityHour|E00214-1|2024/01/01|2024/01/31|160 MERGE|SeniorityHour|E00214-2|2024/01/01|2024/01/31|80


⚠️ Common HDL Errors and Fixes

❌ Error: Assignment not active for FromDate

✅ Fix: Ensure assignment is active as of the FromDate.


❌ Error: Worker not hourly paid

✅ Fix: Seniority Hours should only be loaded for hourly paid workers.


❌ Error: Duplicate user key record

✅ Fix: Ensure you don’t load the same AssignmentNumber + FromDate twice.


❌ Error: Invalid AssignmentNumber

✅ Fix: Verify assignment number from Person Management.


๐Ÿง  Best Practice Tips (Recommended)

✅ Always load seniority hours in clean date ranges (monthly or yearly)
✅ Keep FromDate and ToDate consistent (avoid overlapping ranges)
✅ Prefer user keys unless your integration requires source keys
✅ Use unique SourceSystemId values if using source keys


๐Ÿ”— Internal Links 



❓ FAQ 

Q1. What is Seniority Hours in Oracle HCM?

Seniority hours represent the number of hours used to calculate service length for hourly paid workers.


Q2. Which HDL object is used for loading seniority hours?

The HDL object is SeniorityHour in Worker.dat.


Q3. Can we load seniority hours using AssignmentNumber?

Yes. You can load seniority hours using user keys: AssignmentNumber + FromDate.


Q4. Can we update seniority hours using HDL?

Yes. Use MERGE with the same user key or source key values.


Q5. Can we delete seniority hours using HDL?

Yes. Use DELETE operation using either:

  • SourceSystemOwner + SourceSystemId
    or

  • AssignmentNumber + FromDate


Q6. How can I verify loaded seniority hours?

You can verify via:

  • Manage Seniority Dates page

  • Querying PER_SENIORITY_HOURS table


✅ Flow Diagram 


Seniority Hours in Oracle Fusion HCM





๐Ÿ’ฌ Feedback & Comments

If this Seniority Hours HDL post helped you, please drop a comment below ๐Ÿ™Œ

For troubleshooting, share:

  • Your assignment number (mask it if needed)

  • FromDate and ToDate

  • Your HDL error message

  • Whether worker is hourly paid

I’ll respond with the fix as quickly as possible.


No comments:

Post a Comment

Examples of Loading Seniority Hours using Oracle HCM HDL

  ✅ Oracle HCM HDL: Load Seniority Hours (Create / Update / Delete) – Worker.dat Examples For hourly paid workers, many organizations calcu...