Oracle Fusion HCM : HR Data Migration
Showing posts with label HR Data Migration. Show all posts
Showing posts with label HR Data Migration. Show all posts

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

🧑‍💼 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.

Featured post

Oracle Fusion Global Bank & Bank Branch Mapping by Country (65+ Countries) | Complete Reference Guide

  Introduction One of the most common challenges during Oracle Fusion HCM implementations is configuring employee bank accounts , supplier...