Oracle Fusion HCM

Tuesday, 23 June 2026

Oracle HCM Technical Online Training | HDL, HCM Extracts & BI Reports| Real-Time Project Scenarios

 

Oracle HCM Technical Online Training – Learn HDL, HCM Extracts, BI Reports & Real-Time Project Scenarios

Become an Oracle HCM Technical Expert with Real-Time Training

Are you looking to build a career in Oracle Fusion HCM Technical? Whether you're a fresher, functional consultant, HR professional, or experienced Oracle consultant wanting to transition into technical development, this training program is designed to provide practical, real-world skills.

Our Oracle HCM Technical Online Training focuses on hands-on learning with real-time implementation scenarios, industry best practices, and job-oriented exercises.


What You Will Learn

1. HCM Data Loader (HDL)

Learn end-to-end HDL development including.

2. HCM Extracts

Master Oracle HCM Extracts from basic to advanced level

3. BI Publisher Reports

Develop professional Oracle HCM Reports


Real-Time Project Scenarios Covered

During the training, you'll work on practical scenarios such as:

✅ Employee Data Migration

✅ Payroll Data Conversion

✅ HDL Error Resolution

✅ Worker Conversion Projects

✅ Payroll Balance Migration

✅ Costing Configuration

✅ BI Report Development

✅ HCM Extract Interface Development

✅ Production Support Activities


Training Highlights

Live Online Sessions

  • Interactive Sessions

  • Practical Demonstrations

  • Hands-On Exercises

Real-Time Examples

Learn using actual implementation scenarios instead of only theoretical concepts.

Interview Preparation

  • Technical Interview Questions

  • Scenario-Based Questions

  • Resume Guidance

Support On

Get assistance for:

  • HDL Development

  • Conversion Activities etc.


Interested in Learning?

If you are interested in joining the Oracle HCM Technical Training Program, please fill out the registration form.

Registration Form - Link 

After registration, you will be contacted with training schedule, batch details, and course information.


Why Learn from Us?

✔ Real-Time Project Experience

✔ Practical Hands-On Sessions

✔ Implementation Scenarios

✔ Job-Oriented Training

✔ Resume Preparation

✔ Interview Guidance

✔ Post-Training Support

✔ Flexible Timings

✔ Affordable Fees


Final Thoughts

Oracle Fusion HCM Technical skills are in high demand across implementation partners, consulting firms, and support organizations. With focused training on HDL, HCM Extracts, BI Reports, and real-time project scenarios, you can significantly enhance your career opportunities and become a confident Oracle HCM Technical Consultant.

Register today and start your Oracle HCM Technical journey Tomorrow!

Monday, 22 June 2026

Oracle HCM Data Loader (HDL) Example: Loading Payroll Costing Using CostAllocationV3

 

Oracle HCM Data Loader (HDL) Example: Loading Payroll Costing Using CostAllocationV3

Introduction

Oracle Fusion HCM Payroll Costing enables organizations to allocate payroll expenses to General Ledger (GL) accounts for accurate financial reporting and accounting. Using HCM Data Loader (HDL), payroll costing can be loaded in bulk, making implementation and data migration activities significantly easier.

In this article, we'll walk through a complete HDL example for loading Payroll Costing, including:

  • Payroll Costing Overview

  • Cost Allocation Components

  • Mock HDL Templates

  • Payroll Costing Hierarchy

  • Validation Checklist

  • Troubleshooting Guide

  • Best Practices


What is Payroll Costing in Oracle HCM?

Payroll Costing determines how payroll expenses are distributed to accounting segments and eventually transferred to the General Ledger.

Costing can be configured at various levels:

  1. Payroll Level

  2. Department Level

  3. Position Level

  4. Element Eligibility Level

  5. Person Level

The Payroll Level is generally used for segments that rarely change across employees such as:

  • Company

  • Business Unit

  • Fund

  • Line of Business


Why Configure Costing at Payroll Level?

Organizations often maintain multiple payrolls such as:

  • Weekly Payroll

  • Biweekly Payroll

  • Monthly Payroll

Instead of assigning identical costing information to every employee, Payroll Level Costing allows common accounting segments to be configured once and inherited by all workers within that payroll.

Benefits

✔ Simplifies costing setup

✔ Reduces maintenance effort

✔ Supports General Ledger integration

✔ Improves payroll accounting accuracy

✔ Supports suspense and default accounts


Business Scenario

A fictional organization, GlobalTech Solutions, maintains a monthly payroll named:

GlobalTech Monthly Payroll

The Payroll team wants to:

  • Cost all payroll expenses to a predefined cost account.

  • Configure Default Account.

  • Configure Suspense Account.

  • Transfer payroll costing to General Ledger.


Payroll Costing Structure

Cost Account

SegmentDescriptionValue
Segment1Company2001
Segment2Cost Center3001
Segment3Fund4001
Segment4Department5001
Segment5Business Unit6001
Segment6Program7001
Segment7Natural Account8001
Segment8Project9001

Suspense Account

All segments:

0000.0000.0000.0000.0000.0000.0000.0000

Default Account

All segments:

0000.0000.0000.0000.0000.0000.0000.0000


Step 1: Create Cost Allocation Record

CostAllocationV3.dat

METADATA|CostAllocationV3|EffectiveEndDate|EffectiveStartDate|SourceType
|PayrollCode|LegislativeDataGroupName MERGE|CostAllocationV3|4712/12/31|2025/01/01|PAY|GlobalTech Monthly Payroll
|GlobalTech US LDG

Explanation

FieldDescription
SourceTypePAY = Payroll Level Costing
PayrollCodePayroll Name
LDGLegislative Data Group
EffectiveStartDateCosting Effective Date

Step 2: Load Payroll Costing Accounts

CostAllocationAccountV3.dat

METADATA|CostAllocationAccountV3|SourceType|PayrollCode|LegislativeDataGroupName
|EffectiveDate|SourceSubType|Proportion|SubTypeSequence|ConcatenatedSegment
|Segment1|Segment2|Segment3|Segment4|Segment5|Segment6|Segment7|Segment8 MERGE|CostAllocationAccountV3|PAY|GlobalTech Monthly Payroll|GlobalTech US LDG
|2025/01/01|COST|1|1||2001|3001|4001|5001|6001|7001|8001|9001 MERGE|CostAllocationAccountV3|PAY|GlobalTech Monthly Payroll|GlobalTech US LDG
|2025/01/01|SUSP|1|1|0000.0000.0000.0000.0000.0000.0000.0000|||||||| MERGE|CostAllocationAccountV3|PAY|GlobalTech Monthly Payroll|GlobalTech US LDG
|2025/01/01|DFLT|1|1|0000.0000.0000.0000.0000.0000.0000.0000||||||||

Understanding Source Sub Types

COST

Primary payroll expense account.

Used to charge payroll expenses.

Example:

2001.3001.4001.5001.6001.7001.8001.9001

SUSP (Suspense Account)

Used when payroll costing cannot determine a valid account combination.

Example:

0000.0000.0000.0000.0000.0000.0000.0000

DFLT (Default Account)

Used when account information is missing during payroll costing.

Example:

0000.0000.0000.0000.0000.0000.0000.0000

Payroll Costing Flow

Payroll costing process flow diagram




HDL Upload Steps

Step 1

Create CostAllocationV3.dat

Step 2

Create CostAllocationAccountV3.dat

Step 3

Zip HDL files

Payroll_Costing.zip

Step 4

Navigate to:

My Client Groups
→ Data Exchange
→ Import and Load Data

Step 5

Upload ZIP file.

Step 6

Submit HDL Process.

Step 7

Verify Status:

Completed Successfully

Validation Checklist

Before Upload

  • Cost Allocation Key Flexfield configured

  • Payroll exists

  • LDG exists

  • Accounting segments validated

  • Suspense account defined

  • Default account defined

After Upload

  • HDL completed successfully

  • Cost Allocation created

  • Cost Accounts loaded

  • Payroll Costing verified

  • GL Transfer validated


Common HDL Errors

Error: Payroll Not Found

Cause:

Incorrect Payroll Code.

Solution:

Verify Payroll Name exactly matches Oracle Payroll.


Error: LDG Not Found

Cause:

Invalid Legislative Data Group.

Solution:

Validate LDG configuration.


Error: Invalid Segment Combination

Cause:

GL account combination not valid.

Solution:

Validate accounting flexfield combinations.


Error: Cost Allocation Already Exists

Cause:

Duplicate costing record.

Solution:

Use MERGE instead of CREATE.


Best Practices

  • Always configure Suspense Account.

  • Always configure Default Account.

  • Validate account combinations before migration.

  • Test in lower environments first.

  • Reconcile payroll costing with Finance team.

  • Maintain version-controlled HDL templates.

  • Document all segment mappings.


Frequently Asked Questions (FAQ)

Can Payroll Costing be loaded using HDL?

Yes. Oracle supports payroll costing using CostAllocationV3 and CostAllocationAccountV3 business objects.

Why should I configure Suspense Accounts?

Suspense Accounts prevent payroll costing failures when valid costing information is unavailable.

Can multiple payrolls have different costing accounts?

Yes. Each payroll can have its own costing configuration.

What is SourceType PAY?

PAY indicates Payroll Level Costing.

What is the difference between COST, DFLT, and SUSP?

  • COST = Primary Cost Account

  • DFLT = Default Account

  • SUSP = Suspense Account

Can payroll costing be updated later?

Yes. Use HDL MERGE statements to update costing records.

Wednesday, 17 June 2026

Oracle HCM Data Loader (HDL) – Load Multiple Assignments for a Worker in Oracle Fusion HCM

Oracle HDL Multiple Assignment Load for Worker

Organizations often require employees to perform multiple jobs simultaneously. Oracle Fusion HCM supports Multiple Assignments, allowing a worker to hold more than one active assignment within the same legal employer or across different business functions.

Using HCM Data Loader (HDL), organizations can efficiently load primary and secondary assignments during implementation, mergers, acquisitions, or workforce restructuring projects.



🔹 What is Multiple Assignment?

A Multiple Assignment worker has:

  • One Person Record
  • One Work Relationship
  • Multiple Work Terms
  • Multiple Assignments

Example:

EmployeeAssignment
Adam Baro                HR Analyst (Primary)
Adam Baro                Project Coordinator (Secondary)

The employee receives separate assignment records while maintaining a single worker profile.


🔹 Business Scenario

Vision Corporation hires Adam Baro as a full-time employee.

Primary Assignment

  • HR Analyst
  • Effective Date: 01-Jan-2018
  • Primary Assignment = Yes

Secondary Assignment

  • Project Coordinator
  • Effective Date: 01-May-2021
  • Primary Assignment = No

Both assignments exist under the same work relationship.


🔹 HDL Components Used

The HDL file contains the following business objects:

HDL ComponentPurpose
WorkerCreates person record
PersonNameWorker name details
PersonNationalIdentifierSSN/National ID
WorkRelationshipEmployment relationship
WorkTermsTerms of employment
AssignmentWorker assignments

🔹 Multiple Assignment HDL Structure

Worker
   |
   +-- PersonName
   |
   +-- PersonNationalIdentifier
   |
   +-- WorkRelationship
            |
            +-- WorkTerms 1
            |      |
            |      +-- Assignment 1 (Primary)
            |
            +-- WorkTerms 2
                   |
                   +-- Assignment 2 (Secondary)


🔹 HDL Sample 

Worker

METADATA|Worker|SourceSystemOwner|SourceSystemId|EffectiveStartDate|EffectiveEndDate
|PersonNumber|ActionCode|StartDate|DateOfBirth MERGE|Worker|XXTEST|XXTEST_PER1|2018/01/01|4712/12/31|XXTEST1|HIRE|2018/01/01
|1975/01/01

Person Name

METADATA|PersonName|SourceSystemOwner|SourceSystemId|PersonId(SourceSystemId)
|EffectiveStartDate|EffectiveEndDate|LegislationCode|NameType|FirstName
|MiddleNames|LastName|Title MERGE|PersonName|XXTEST|XXTEST_PERNAME1|XXTEST_PER1|2018/01/01|4712/12/31|US
|GLOBAL|Adam||Baro|MR.

National Identifier

METADATA|PersonNationalIdentifier|SourceSystemOwner|SourceSystemId
|PersonId(SourceSystemId)|LegislationCode|IssueDate|ExpirationDate
|NationalIdentifierType|NationalIdentifierNumber|PrimaryFlag MERGE|PersonNationalIdentifier|XXTEST|XXTEST_NID1|XXTEST_PER1|US||
|SSN|456-23-4167|Y

Work Relationship

METADATA|WorkRelationship|SourceSystemOwner|SourceSystemId|PersonId(SourceSystemId)
|LegalEmployerName|DateStart|EnterpriseSeniorityDate|LegalEmployerSeniorityDate
|ActualTerminationDate|Comments|LastWorkingDate|NotifiedTerminationDate
|PrimaryFlag|ProjectedTerminationDate|RehireAuthorizerPersonId
|RehireAuthorizor|RehireReason|WorkerNumber|WorkerType|OnMilitaryServiceFlag
|RehireRecommendationFlag MERGE|WorkRelationship|XXTEST|XXTEST_PDSERVICE1|XXTEST_PER1|US1 Legal Entity
|2018/01/01|||||||Y|||||XXTEST1|E|N|Y

Primary WorkTerms

METADATA|WorkTerms|ActionCode|SourceSystemOwner|SourceSystemId|EffectiveStartDate
|EffectiveEndDate|EffectiveSequence|EffectiveLatestChange|AssignmentName
|AssignmentNumber|AssignmentStatusTypeCode|AssignmentType|BusinessUnitShortCode
|PositionOverrideFlag|PrimaryWorkTermsFlag|PeriodOfServiceId(SourceSystemId)
|PersonId(SourceSystemId)|LegalEmployerName|SystemPersonType MERGE|WorkTerms|HIRE|XXTEST|XXTEST_WRKTERM1|2018/01/01|4712/12/31|1|Y|
|XXTEST_WRKTERM1|ACTIVE_PROCESS|ET|US1 Business Unit|Y|Y|XXTEST_PDSERVICE1
|XXTEST_PER1|US1 Legal Entity|EMP

Secondary WorkTerms

MERGE|WorkTerms|HIRE|XXTEST|XXTEST_WRKTERM2|2021/05/01|4712/12/31|2|Y|
|XXTEST_WRKTERM2|ACTIVE_PROCESS|ET|US1 Business Unit|Y|N|XXTEST_PDSERVICE1
|XXTEST_PER1|US1 Legal Entity|EMP

Primary Assignment

METADATA|Assignment|ActionCode|SourceSystemOwner|SourceSystemId|EffectiveStartDate
|EffectiveEndDate|EffectiveSequence|EffectiveLatestChange|AssignmentName
|AssignmentNumber|AssignmentStatusTypeCode|AssignmentType|BusinessUnitShortCode
|PositionOverrideFlag|PrimaryAssignmentFlag|PrimaryFlag|SystemPersonType
|LegalEmployerName|JobId(SourceSystemId)|LocationId(SourceSystemId)
|OrganizationId(SourceSystemId)|PositionId(SourceSystemId)|GradeId(SourceSystemId)
|PeriodOfServiceId(SourceSystemId)|PersonId(SourceSystemId)|PersonTypeCode
|ManagerFlag|LabourUnionMemberFlag|WorkTermsAssignmentId(SourceSystemId)
|AssignmentCategory|Frequency|HourlySalariedCode|NormalHours|NoticePeriod
|ProbationPeriod|ProbationUnit|ReasonCode MERGE|Assignment|HIRE|XXTEST|XXTEST_ASSIGN1|2018/01/01|4712/12/31|1|Y
|E-XXTEST1|XXTEST_ASSIGN1|ACTIVE_PROCESS|E|US1 Business Unit|Y|Y|Y|EMP
|US1 Legal Entity|XXTEST_JOB1|XXTEST_LOC65XXTEST_DEPT1||XXTEST_GRADE01
|XXTEST_PDSERVICE1|XXTEST_PER1|Employee|Y|N|XXTEST_WRKTERM1|FR|W|S|40|0|||NEWHIRE

Secondary Assignment

MERGE|Assignment|HIRE|XXTEST|XXTEST_ASSIGN2|2021/05/01|4712/12/31|2|Y
|E-XXTEST2|XXTEST_ASSIGN2|ACTIVE_PROCESS|E|US1 Business Unit|Y|N|N|EMP
|US1 Legal Entity|XXTEST_JOB1|XXTEST_LOC65XXTEST_DEPT1||XXTEST_GRADE01
|XXTEST_PDSERVICE1|XXTEST_PER1|Employee|Y|N|XXTEST_WRKTERM2|FR|W|S|40|0|
||NEWHIRE

🔹 Understanding Primary Flags

FieldPrimary AssignmentSecondary Assignment
PrimaryAssignmentFlagYN
PrimaryFlagYN
PrimaryWorkTermsFlagYN

Only one assignment can be primary.


🔹 Common Use Cases

Multiple Job Roles

Employee works as:

  • HR Analyst
  • Payroll Specialist

Project-Based Assignment

Employee receives temporary assignment on project.

Academic Institutions

Faculty member also serves as:

  • Professor
  • Department Coordinator

🔹 HDL Load Process

Worker HDL Process



🔹 Validation Checklist

Before Loading

✔ Worker does not already exist

✔ Legal Employer exists

✔ Business Unit exists

✔ Department exists

✔ Job exists

✔ Grade exists

✔ Location exists

✔ Source Keys are unique

✔ Work Terms references are correct


After Loading

✔ Worker created successfully

✔ Work Relationship created

✔ Primary Work Terms created

✔ Secondary Work Terms created

✔ Primary Assignment visible

✔ Secondary Assignment visible

✔ Assignment flags validated


🔹 Common HDL Errors

Q1 - Assignment Not Created

Cause: Incorrect WorkTermsAssignmentId

Resolution: Verify Work Terms source key.


Q2 - Multiple Primary Assignments

Cause: PrimaryAssignmentFlag = Y on multiple assignments

Resolution:Only one assignment should be primary.


Q3 - Invalid Department

Cause: Department Source Key Missing

Resolution: Load department before assignment.


Q4 - Invalid Job

Cause: Job not available

Resolution: Load workforce structures first.


🔹 Best Practices

Load Workforce Structures First

  • Jobs
  • Grades
  • Locations
  • Departments

Maintain Effective Dating

Ensure assignment dates follow business requirements.

Validate Primary Assignment Logic

Only one primary assignment should exist.


🔹 Frequently Asked Questions (FAQ)

What is a multiple assignment worker in Oracle Fusion HCM?

A multiple assignment worker is an employee who holds more than one active assignment under the same work relationship.


Can a worker have multiple work terms?

Yes. Oracle Fusion supports multiple work terms associated with a single work relationship.


Can both assignments be primary?

No. Only one assignment can have PrimaryAssignmentFlag = Y.


Can secondary assignments have different departments?

Yes. Secondary assignments can belong to different departments, jobs, grades, or locations.


Can HDL load multiple assignments in one file?

Yes. Multiple Work Terms and Assignment records can be loaded in a single HDL file.


What assignment type is used for employees?

Employee assignments typically use:

AssignmentType = E


Can payroll be attached to multiple assignments?

Yes, depending on payroll and enterprise configuration.

Saturday, 21 March 2026

🧾 Element Eligibility Costing in Oracle HCM Using HDL (Complete Guide with Example)

Element Eligibility Costing in Oracle HCM | HDL Step-by-Step Guide

📌 Overview

Element Eligibility Costing in Oracle HCM Cloud allows organizations to define how payroll costs are distributed to accounting segments at the element level.

Using HCM Data Loader (HDL), you can:

  • Assign costing to element eligibility
  • Define cost and offset accounts
  • Distribute costs across earning elements
  • Transfer costing to General Ledger

This is critical when payroll results impact:
✔ Net Pay
✔ Employer Liabilities
✔ Financial Reporting


🎯 When to Use Element Eligibility Costing?

Use this method when:

  • Costs must be controlled at element level
  • You want distributed costing
  • Employer liabilities need tracking (e.g., pension, insurance)
  • Finance requires GL integration

⚙️ Prerequisites

Before loading costing via HDL, ensure:

  • ✔ Cost Allocation Key Flexfield is configured
  • ✔ Element eligibility is created
  • ✔ Distribution Group is defined
  • ✔ Earning elements (Regular, Overtime) exist
  • ✔ Payroll setup is complete

🏗️ Costing Architecture Explained

🔹 Key Components

  • CostInfoV3 → Defines costing behavior
  • CostAllocationV3 → Creates costing structure
  • CostAllocationAccountV3 → Defines accounts

📊 Example Scenario 

A company wants to:

  • Cost Employer Pension Expense
  • Distribute cost across Pensionable Wages
  • Send results to General Ledger

📁 HDL File 1: Cost Info

METADATA|CostInfoV3|EffectiveEndDate|EffectiveStartDate|SourceType
|ElementEligibilityName|ElementCode|LinkInputName|LegislativeDataGroupName
|CostableType|CostedFlag|TransferToGlFlag
MERGE|CostInfoV3|4712/12/31|2020/01/01|EL|EMP_PENSION_EXP_ELIG|EMP_PENSION_EXP
||CORP_US_LDG|F||N
MERGE|CostInfoV3|4712/12/31|2020/01/01|LIV|EMP_PENSION_EXP_ELIG|EMP_PENSION_EXP
|Pay Value|CORP_US_LDG||Y|Y

📁 HDL File 2: Cost Allocation

METADATA|CostAllocationV3|EffectiveEndDate|EffectiveStartDate|SourceType
|ElementEligibilityName|ElementCode|LegislativeDataGroupName
MERGE|CostAllocationV3|4712/12/31|2020/01/01|EL|EMP_PENSION_EXP_ELIG
|EMP_PENSION_EXP|CORP_US_LDG

📁 HDL File 3: Cost Allocation Accounts

🔹 Cost Account (Expense)

METADATA|CostAllocationAccountV3|SourceType|ElementEligibilityName|
ElementCode|LegislativeDataGroupName|EffectiveDate|SourceSubType|Proportion
|SubTypeSequence|Segment3|Segment4|Segment5
MERGE|CostAllocationAccountV3|EL|EMP_PENSION_EXP_ELIG|EMP_PENSION_EXP
|CORP_US_LDG|2020/01/01|COST|1|1|6000|1100|2000

🔹 Offset Account (Liability)

METADATA|CostAllocationAccountV3|SourceType|ElementEligibilityName|
ElementCode|LegislativeDataGroupName|EffectiveDate|SourceSubType|Proportion
|SubTypeSequence|ConcatenatedSegment
MERGE|CostAllocationAccountV3|EL|EMP_PENSION_EXP_ELIG|EMP_PENSION_EXP|
CORP_US_LDG|2020/01/01|BAL|1|1|01.100.2150

🔄 Costing Flow (Simplified)

Costing flow in Oracle HCM
Costing flow in Oracle HCM



🔗 Internal Links 


❗ Key Notes

  • Higher-level costing overrides element-level values
  • Distributed costing generates multiple costing lines
  • Always validate segments before loading
  • Costed input value (e.g., Pay Value) is mandatory


❓ FAQ Section

1. What is element eligibility costing?

It defines how payroll costs are assigned at the element level.

2. What is distributed costing?

It spreads costs across multiple elements using a distribution group.

3. Can costing be overridden?

Yes, higher-level costing overrides lower levels.

4. What is CostInfoV3?

It defines costing behavior and flags like costing and GL transfer.

5. Is Pay Value required?

Yes, it is the most common costed input value.


💬 Feedback Section (Add in Blog)

Did this guide help you?
👍 Yes | 👎 No

💡 Suggestions:

  • More HDL examples
  • Video tutorial
  • Real-time project scenarios


🧑‍💼 Oracle HCM: Load Contingent Worker Using HDL (Complete Guide with Example)

 

Oracle Worker.dat HDL Template with Example | Oracle Fusion HCM Guide

📌 Overview

In Oracle HCM Cloud, contingent workers (contractors, freelancers, temporary staff) are managed as non-payroll resources. These workers are:

  • Identified with “C” (Contingent Worker type)
  • Not processed through payroll
  • Can submit expenses
  • Can be converted into employees

Using HCM Data Loader (HDL), you can efficiently load contingent worker data in bulk.


🎯 When to Use Contingent Worker HDL Load?

Use HDL when:

  • Migrating contractor data from legacy systems
  • Hiring bulk contingent workforce
  • Integrating third-party vendor workers
  • Managing project-based workforce

🎯 Employee Vs Contingent Worker Comparison

Employee Vs Contingent Worer



🔹 Prerequisites 

Before you start:

  1. Work structure must be loaded

    Click here for a sample Work Structure

  2. You must have a Source Key defined. In earlier blogs, we created “XXTEST” as our source key.

  3. Download the object templates from your instance:

Navigator → My Client Group → Data Exchange → View Business Objects

🎯 When to Use Contingent Worker HDL Load?🧩 Key HDL Components for Contingent Worker

To successfully load a contingent worker, you must include:

ComponentPurpose
WorkerCore person record
PersonNameWorker name details
PersonEmailEmail information
PersonNationalIdentifierID (SSN, PAN, etc.)
PersonLegislativeDataGender, marital status
WorkRelationshipEmployment relationship
WorkTermsTerms of work
AssignmentJob assignment

📄 Sample HDL File For Contingent Worker

Below is a ready-to-use HDL template for loading a contingent worker:

METADATA|Worker|SourceSystemOwner|SourceSystemId|EffectiveStartDate
|EffectiveEndDate|PersonNumber|ActionCode|StartDate|DateOfBirth MERGE|Worker|XXTEST|XXTEST_PER2|2018/01/01|4712/12/31|XXTEST2|HIRE
|2018/01/01|1975/01/01

METADATA|PersonName|SourceSystemOwner|SourceSystemId|PersonId(SourceSystemId)
|EffectiveStartDate|EffectiveEndDate|LegislationCode|NameType|FirstName
|MiddleNames|LastName|Title
MERGE|PersonName|XXTEST|XXTEST_PERNAME2|XXTEST_PER2|2018/01/01
|4712/12/31|US|GLOBAL|AdamCWK||Baro|MR.

METADATA|PersonNationalIdentifier|SourceSystemOwner|SourceSystemId
|PersonId(SourceSystemId)|LegislationCode|IssueDate|ExpirationDate
|NationalIdentifierType|NationalIdentifierNumber|PrimaryFlag MERGE|PersonNationalIdentifier|XXTEST|XXTEST_NID2|XXTEST_PER2|US
|||SSN|456-24-4167|Y

METADATA|PersonEmail|SourceSystemOwner|SourceSystemId|
PersonId(SourceSystemId)|DateFrom|DateTo|EmailType|EmailAddress
|PrimaryFlag MERGE|PersonEmail|XXTEST|XXTEST_EMAIL2|XXTEST_PER2|2018/01/01|
4712/12/31|W1|AdamCWK.baro@ha.com|Y
METADATA|PersonLegislativeData|SourceSystemOwner|SourceSystemId
|EffectiveStartDate|EffectiveEndDate|PersonId(SourceSystemId)|
LegislationCode|MaritalStatus|MaritalStatusDate|Sex MERGE|PersonLegislativeData|XXTEST|XXTEST_LEG2|2018/01/01|4712/12/31
|XXTEST_PER2|US|M|1998/05/12|M

METADATA|WorkRelationship|SourceSystemOwner|SourceSystemId
|PersonId(SourceSystemId)|LegalEmployerName|DateStart|
EnterpriseSeniorityDate|LegalEmployerSeniorityDate|ActualTerminationDate
|Comments|LastWorkingDate|NotifiedTerminationDate|PrimaryFlag|
ProjectedTerminationDate|RehireAuthorizerPersonId|RehireAuthorizor
|RehireReason|WorkerNumber|WorkerType|OnMilitaryServiceFlag|
RehireRecommendationFlag MERGE|WorkRelationship|XXTEST|XXTEST_PDSERVICE2|XXTEST_PER2|
US1 Legal Entity|2018/01/01|||||||Y|||||XXTEST2|C|N|Y
METADATA|WorkTerms|ActionCode|SourceSystemOwner|SourceSystemId
|EffectiveStartDate|EffectiveEndDate|EffectiveSequence|
EffectiveLatestChange|AssignmentName|AssignmentNumber|
AssignmentStatusTypeCode|AssignmentType|BusinessUnitShortCode|
PositionOverrideFlag|PrimaryWorkTermsFlag|PeriodOfServiceId(SourceSystemId)
|PersonId(SourceSystemId)|LegalEmployerName|SystemPersonType|
ProposedUserPersonType
MERGE|WorkTerms|HIRE|XXTEST|XXTEST_WRKTERM2|2018/01/01|4712/12/31
|1|Y||XXTEST_WRKTERM2|ACTIVE_PROCESS|CT|US1 Business Unit|Y|Y|
XXTEST_PDSERVICE2|XXTEST_PER2|US1 Legal Entity||Contingent Worker

METADATA|Assignment|ActionCode|SourceSystemOwner|SourceSystemId
|EffectiveStartDate|EffectiveEndDate|EffectiveSequence|
EffectiveLatestChange|AssignmentName|AssignmentNumber|
AssignmentStatusTypeCode|AssignmentType|BusinessUnitShortCode|
PositionOverrideFlag|PrimaryAssignmentFlag|PrimaryFlag|
SystemPersonType|LegalEmployerName|JobId(SourceSystemId)|
LocationCode|OrganizationId(SourceSystemId)|PositionId(SourceSystemId)
|GradeId(SourceSystemId)|PeriodOfServiceId(SourceSystemId)|
PersonId(SourceSystemId)|PersonTypeCode|ManagerFlag|
LabourUnionMemberFlag|WorkTermsAssignmentId(SourceSystemId)|
AssignmentCategory|Frequency|HourlySalariedCode|NormalHours|NoticePeriod
|ProbationPeriod|ProbationUnit|ReasonCode|WorkerType
MERGE|Assignment|HIRE|XXTEST|XXTEST_ASSIGN2|2018/01/01|
4712/12/31|1|Y|E-XXTEST2|XXTEST_ASSIGN2|ACTIVE_PROCESS|C|
US1 Business Unit|Y|Y|Y|CWK|US1 Legal Entity|XXTEST_JOB1|ComUSHQ|
XXTEST_DEPT1||XXTEST_GRADE01|XXTEST_PDSERVICE1|XXTEST_PER2||Y|N
|XXTEST_WRKTERM2|FR|W|S|40|0|||NEWHIRE|C



🔹 Steps to Load Worker.dat in Oracle Fusion

  1. Save all HDL objects as Worker.dat

  2. Create a zip file containing Worker.dat and all other HDL files

  3. Navigate to:

Navigator → My Client Group → Data Exchange → Import and LoadImport

  1. Upload the zip file

  2. Refresh page to verify load status

  3. Once successfully loaded, confirm work structure is updated correctly

🎥 Step-by-step video guide is available here


⚠️ Important Considerations

  • WorkerType must be “C” (Contingent Worker)
  • AssignmentType must be “C” or “CT”
  • No payroll setup required
  • Ensure Legal Employer & Business Unit exist
  • Use unique SourceSystemId

🔗 Internal Links 

👉 Payroll Related Blogs:

👉 HDL Guides:


❓ FAQ Section 

1. What is a contingent worker in Oracle HCM?

A contingent worker is a non-payroll worker such as a contractor or freelancer managed in Oracle HCM.


2. What is WorkerType “C” in HDL?

WorkerType “C” represents a Contingent Worker.


3. Can contingent workers be converted to employees?

Yes, Oracle HCM provides conversion flows to convert contingent workers into employees.


4. Do contingent workers run through payroll?

No, contingent workers are non-payroll resources.


5. What is AssignmentType for contingent workers?

AssignmentType is usually C (Contingent) or CT (Contingent Terms).


6. Is WorkTerms mandatory for contingent workers?

Yes, WorkTerms define the structure of assignment and must be included.


7. Can we load contingent workers using HSDL?

Yes, but HDL is preferred for bulk and complex loads.


8. What happens if WorkerType is incorrect?

The load will fail or create incorrect worker classification.

Oracle HCM Technical Online Training | HDL, HCM Extracts & BI Reports| Real-Time Project Scenarios

  Oracle HCM Technical Online Training – Learn HDL, HCM Extracts, BI Reports & Real-Time Project Scenarios Become an Oracle HCM Technica...