Showing posts with label HCM Loader. Show all posts
Showing posts with label HCM Loader. Show all posts

Tuesday, 6 January 2026

HCM Conversion Strategy in Oracle Fusion HCM – Best Practices for Successful Data Migration

 

Conversion Strategy for HCM Conversions in Oracle Fusion HCM

Description

Learn the best practices and strategies for successful HCM conversions in Oracle Fusion HCM. This blog covers HDL, data cleansing, mapping, testing, and migration techniques for seamless employee data transition.


Introduction

Data conversion is a critical part of Oracle Fusion HCM implementation. Accurate and efficient conversion ensures that historical and current employee data is migrated seamlessly from legacy systems to Fusion HCM. Poorly executed conversions lead to errors, failed HDL loads, and downstream payroll or reporting issues.

This blog provides a comprehensive HCM conversion strategy, including HDL usage, data cleansing, mapping, testing, and best practices.


Step 1: Data Assessment and Inventory

Before starting a conversion, perform a detailed data assessment:

  • Identify all legacy HR objects (Employee, Assignment, Compensation, Payroll, etc.)

  • Determine data quality and completeness

  • Check for duplicate records or missing information

  • Document object relationships and dependencies

Tip: Maintain a data dictionary for each object to streamline mapping.


Step 2: Data Cleansing

Clean your legacy data to avoid errors during HDL loads:

  • Remove duplicate employees and assignments

  • Correct invalid dates (hire, termination, assignment start/end)

  • Standardize codes for Job, Position, Department, Legal Employer

  • Validate mandatory fields required by Fusion HCM

Data quality at this stage significantly reduces load errors.


Step 3: Data Mapping

Map legacy system fields to Fusion HCM objects:

  • Worker → Worker.dat

  • WorkRelationship → WorkRelationship.dat

  • WorkTerms → WorkTerms.dat

  • Assignment → Assignment.dat

  • Payroll & Compensation → respective HDL objects

Mapping Tips:

  • Maintain source system codes for reference

  • Handle value conversions (e.g., department codes, job codes)

  • Document default values for missing fields


Step 4: HDL Load Design

Design HDL files carefully for conversions:

  • Use incremental or batch loads based on data volume

  • Split files object-wise (Worker, WorkRelationship, WorkTerms, Assignment)

  • Maintain consistent SourceSystemOwner

  • Use MERGE for existing employees, CREATE for new ones

Tip: Maintain clear file naming (e.g., Worker_0001_to_5000.dat).


Step 5: Load Sequencing

Proper sequencing avoids dependency errors:

  1. Worker.dat → create or merge employees

  2. WorkRelationship.dat → create or end-date relationships

  3. WorkTerms.dat → create or update terms

  4. Assignment.dat → create or update assignments

  5. Payroll, Compensation, and Benefits → load after core HR data


Step 6: Validation and Testing

Test all HDL loads in lower environments:

  • Validate successful load of all employees and assignments

  • Check for duplicate records and missing dependencies

  • Verify effective dates and assignment categories

  • Test edge cases like rehires, global transfers, multiple assignments

Tip: Use sample audit reports to cross-check conversion accuracy.


Step 7: Go-Live Strategy

  • Schedule staged loads during off-peak hours

  • Maintain backup of legacy data before final load

  • Monitor ESS requests and capture logs for failures

  • Communicate with HR and Payroll teams for verification

Post go-live, perform parallel verification before decommissioning legacy systems.


Common Challenges and Solutions

ChallengeSolution
Data inconsistencyPre-cleanse and validate legacy data
Missing dependenciesCorrect sequencing of HDL objects
Large volume load failuresSplit files, incremental loads, schedule ESS jobs off-peak
Incorrect mappingsMaintain mapping documents and value conversion tables

Best Practices for HCM Conversions

  • Document all steps and mappings for repeatability

  • Use incremental HDL loads for testing and full loads for go-live

  • Pre-validate and cleanse data before conversion

  • Maintain audit logs and ESS request IDs

  • Include functional and technical consultants in validation

  • Run mock conversions to simulate real data loads


HCM Conversion strategy workflow

HCM Conversion strategy workflow



Conclusion

A well-planned HCM conversion strategy is key to a successful Fusion HCM implementation. Focus on data quality, mapping accuracy, HDL sequencing, and thorough validation to minimize errors and ensure seamless migration.

Mastering these steps not only improves conversion success but also builds trust with clients and HR teams.

Local Transfer vs Global Transfer in Oracle Fusion HCM HDL – Technical Differences, Use Cases, and Best Practices

 

Local Transfer vs Global Transfer (HDL)


Description

Understand the difference between Local and Global Transfers in Oracle Fusion HCM HDL. Learn object-level changes, effective dating rules, HDL sequencing, and common errors with a clear technical comparison.


Introduction

Employee transfers are common in enterprise organizations, but in Oracle Fusion HCM, not all transfers are the same. From an HDL (HCM Data Loader) perspective, Local Transfers and Global Transfers behave very differently and impact different Core HR objects.

Misunderstanding this difference often leads to:

  • Assignment failures

  • WorkRelationship errors

  • Incorrect legal employer data

This blog provides a complete technical comparison of Local vs Global Transfers using HDL, including object structure, effective dating rules, HDL sequencing, and real project guidance.



High-Level Difference

Local Vs Global Transfer Comparison Flow 




Local Transfer – Technical Overview

What Is a Local Transfer?

A Local Transfer occurs when an employee moves within the same Legal Employer, such as:

  • Department change

  • Job or position change

  • Location or manager change

The WorkRelationship remains unchanged.


Local Transfer – Data Model Impact

Worker
 └─ WorkRelationship (Same LE)
     └─ WorkTerms (Same)
         └─ Assignment (Updated)

Local Transfer – HDL Approach

  • Use MERGE on Assignment

  • No need to create new WorkRelationship or WorkTerms

  • Effective date reflects the transfer date

Objects Used

  • Worker (optional)

  • Assignment (MERGE)


Common Local Transfer Errors

  • Incorrect effective start date

  • Using CREATE instead of MERGE

  • Overwriting historical assignment data


Global Transfer – Technical Overview

What Is a Global Transfer?

A Global Transfer occurs when an employee moves from one Legal Employer to another, often across countries.

This requires creation of a new WorkRelationship.


Global Transfer – Data Model Impact

Worker
 ├─ WorkRelationship (Old LE) → End-dated
 └─ WorkRelationship (New LE)
     └─ WorkTerms
         └─ Assignment

Global Transfer – HDL Approach

  • End-date old WorkRelationship

  • Create new WorkRelationship

  • Create new WorkTerms

  • Create new Assignment

Objects Used

  • Worker (MERGE – optional)

  • WorkRelationship (MERGE + CREATE)

  • WorkTerms (CREATE)

  • Assignment (CREATE)


Effective Dating Comparison

RuleLocal TransferGlobal Transfer
WorkRelationshipNo changeEnd-date old, create new
WorkTermsNo changeStart with new WR
Assignment Start DateTransfer dateSame as new WR
Historical DataPreservedPreserved

HDL Sequencing Comparison

Local Transfer

  1. Assignment.dat (MERGE)

Global Transfer

  1. WorkRelationship.dat (End-date old)

  2. WorkRelationship.dat (Create new)

  3. WorkTerms.dat (Create)

  4. Assignment.dat (Create)


How to Decide: Local vs Global Transfer

Ask these questions:

  1. Is the Legal Employer changing?

  2. Is the payroll or country changing?

  3. Is a new WorkRelationship required?

If the answer to #1 is YES, it is a Global Transfer.


Common Mistakes to Avoid

❌ Treating Global Transfer as Local Transfer
❌ Reusing Assignment across Legal Employers
❌ Missing WorkTerms during Global Transfer
❌ Incorrect effective dating across objects


Best Practices

  • Always confirm Legal Employer change first

  • Use incremental HDL loads

  • Keep separate files for each object

  • Test transfer scenarios in lower environments

  • Validate results in Person Management UI


Conclusion

Understanding the technical difference between Local and Global Transfers in HDL is essential for accurate data management in Oracle Fusion HCM. While Local Transfers are assignment-level changes, Global Transfers require precise handling of WorkRelationship, WorkTerms, and Assignment objects.

Mastering this distinction is a key skill for senior Fusion HCM Technical Consultants.



Thursday, 19 January 2023

HDL Template to Disability of Worker

 HDL Template to Person Disability


Please find the below sample template :


File Name- PersonDisability.dat

METADATA|PersonDisability|SourceSystemOwner|SourceSystemId|EffectiveStartDate|EffectiveEndDate|LegislationCode|PersonId|PersonNumber|SelfDisclosedType|Category|QuotaFTE|Status

MERGE|PersonDisability|XXTEST|XXTEST_DIS21|2021/07/07|4712/12/31|US|100000609337422|XXTEST21|ORA_PER_YES_US|NA|1|A


 

Wednesday, 18 January 2023

HDL Template for Worker Extra Information of Worker (EIT)

HDL Template for Worker Extra Information of Worker (EIT).

For this use Worker.dat

Please find the below sample template :

Sample file for Worker EIT.

METADATA|WorkerExtraInfo|PersonNumber|EffectiveStartDate|EffectiveEndDate|InformationType|PeiInformationCategory|CategoryCode|FLEX:PER_PERSON_EIT_EFF|EFF_CATEGORY_CODE|_CASTE(PER_PERSON_EIT_EFF=HRX_IN_MISCELLANEOUS)|_COMMUNITY(PER_PERSON_EIT_EFF=HRX_IN_MISCELLANEOUS)|_EX_SERVICE_PERSON(PER_PERSON_EIT_EFF=HRX_IN_MISCELLANEOUS)|_HEIGHT(PER_PERSON_EIT_EFF=HRX_IN_MISCELLANEOUS)|_PAN_APPLIED(PER_PERSON_EIT_EFF=HRX_IN_MISCELLANEOUS)|_PAN_REFERENCE_NUMBER(PER_PERSON_EIT_EFF=HRX_IN_MISCELLANEOUS)|_RESIDENTIAL_STATUS(PER_PERSON_EIT_EFF=HRX_IN_MISCELLANEOUS)|_RESIDENTIAL_STATUS_Display(PER_PERSON_EIT_EFF=HRX_IN_MISCELLANEOUS)|_WEIGHT(PER_PERSON_EIT_EFF=HRX_IN_MISCELLANEOUS)


MERGE|WorkerExtraInfo|PS5|2010/11/02||HRX_IN_MISCELLANEOUS|HRX_IN_MISCELLANEOUS|PER_EIT|HRX_IN_MISCELLANEOUS|PER_EIT|Test123|Backward|||||||

Wednesday, 28 December 2022

HDL Template for Global Temporary Transfer of Worker

For this use Worker.dat


Please find the below sample template :

METADATA|WorkRelationship|PersonNumber|LegalEmployerName|DateStart|ActualTerminationDate|PrimaryFlag|WorkerNumber|WorkerType|RehireRecommendationFlag|OnMilitaryServiceFlag|ActionCode|ReasonCode|DateOfDeath

MERGE|WorkRelationship|XXTEST9|US1 Legal Entity|2018/01/01||Y|XXTEST9|E|Y|N|GLB_TEMP_ASG||

MERGE|WorkRelationship|XXTEST9|UK Legal Entity|2019/01/01||N|XXTEST9|E|Y|N|GLB_TEMP_ASG||



METADATA|WorkTerms|ActionCode|PersonNumber|LegalEmployerName|DateStart|WorkerType|AssignmentNumber|EffectiveStartDate|EffectiveEndDate|EffectiveLatestChange|EffectiveSequence|AssignmentType|PersonTypeCode|AssignmentStatusTypeCode|BusinessUnitShortCode|PrimaryWorkTermsFlag|SystemPersonType|ReasonCode

MERGE|WorkTerms|GLB_TEMP_ASG|XXTEST9|US1 Legal Entity|2018/01/01|E|XXTEST_WRKTERM9|2019/01/01|4712/12/31|Y|1|ET|Employee|SUSPEND_PROCESS|US1 Business Unit|Y|EMP|

MERGE|WorkTerms|GLB_TEMP_ASG|XXTEST9|UK Legal Entity|2019/01/01|E|XXTEST_WRKTERM9-2|2019/01/01|4712/12/31|Y|1|ET|Employee|ACTIVE_PROCESS|UK Business Unit|Y|EMP|


METADATA|Assignment|ActionCode|PersonNumber|LegalEmployerName|DateStart|WorkerType|AssignmentNumber|WorkTermsNumber|EffectiveStartDate|EffectiveEndDate|EffectiveLatestChange|EffectiveSequence|AssignmentType|PersonTypeCode|AssignmentStatusTypeCode|BusinessUnitShortCode|GradeCode|JobCode|LocationCode|DepartmentName|ManagerFlag|LabourUnionMemberFlag|ReasonCode

MERGE|Assignment|GLB_TEMP_ASG|XXTEST9|US1 Legal Entity|2018/01/01|E|XXTEST_ASSIGN9|XXTEST_WRKTERM9|2019/01/01|4712/12/31|Y|1|E|Employee|SUSPEND_PROCESS|US1 Business Unit|XXTEST_GRADE1|XXTEST_CFO|XXTEST_LOC12|XXTEST Department1|Y|N|

MERGE|Assignment|GLB_TEMP_ASG|XXTEST9|UK Legal Entity|2019/01/01|E|XXTEST_ASSIGN9-2|XXTEST_WRKTERM9-2|2019/01/01|4712/12/31|Y|1|E|Employee|ACTIVE_PROCESS|UK Business Unit|XXTEST_GRADE1|ADM|XXTEST_LOC12|XXTEST Department1|Y|N|

 

Friday, 23 April 2021

Sample Template for eText BIP Report

 Sample Template for eText BIP Report 

You can see step by step video to develop eText BIP Report using this Link


Please find the attached templates:

1) eText Template -

You can see step by step video to develop eText BIP Report using this Link

<TEMPLATE TYPE>

DELIMITER_BASED

<OUTPUT CHARACTER SET>

iso-8859-1

<CASE CONVERSION>

UPPER

<NEW RECORD CHARACTER>

Carriage Return

 

<LEVEL>

DATA_DS

<MAXIMUMLENGTH>

<FORMAT>

<DATA>

<COMMENTS>

<NEW RECORD>

TableHeader

20

Alpha

'Person Id'

 

1

Alpha

'|'

 

20

Alpha

'Title'

 

1

Alpha

'|'

 

20

Alpha

'First Name'

 

1

Alpha

'|'

 

20

Alpha

'Last Name'

 

 

<LEVEL>

G_1

<MAXIMUMLENGTH>

<FORMAT>

<DATA>

<COMMENTS>

<NEW RECORD>

CLRDAta

20

Alpha

PERSON_ID

 

1

Alpha

'|'

 

20

Alpha

TITLE

 

1

Alpha

'|'

 

20

Alpha

FIRST_NAME

 

1

 

'|'

 

20

Alpha

LAST_NAME

 

<END LEVEL>

G_1

 

<END LEVEL>

DATA_DS

 

2) Fixed Position eText Template  - 

You can see step by step video to develop Fixed Position eText BIP Report using this Link

<TEMPLATE TYPE>

FIXED_POSITION_BASED

<OUTPUT CHARACTER SET>

iso-8859-1

<CASE CONVERSION>

UPPER

<NEW RECORD CHARACTER>

Carriage Return

 

<LEVEL>

DATA_DS

<POSITION>

<LENGTH>

<FORMAT>

<PAD>

<DATA>

<COMMENTS>

<NEW RECORD>

TABLE_HEADER

1

15

Alpha

R, ' '

'Person Id'

 

16

3

Alpha

R, ' '

'|'

 

19

15

Alpha

R, ' '

'Title'

 

35

3

Alpha

R, ' '

'|'

 

39

50

Alpha

R, ' '

'First Name'

 

90

3

Alpha

R, ' '

'|'

 

94

20

Alpha

R, ' '

'Last Name'

 

<LEVEL>

G_1

<POSITION>

<LENGTH>

<FORMAT>

<PAD>

<DATA>

<COMMENTS>

<NEW RECORD>

TABLE_HEADER

1

15

Alpha

R, ' '

PERSON_ID

 

16

3

Alpha

R, ' '

'|'

 

19

15

Alpha

R, ' '

TITLE

 

35

3

Alpha

R, ' '

'|'

 

39

50

Alpha

R, ' '

FIRST_NAME

 

90

3

Alpha

R, ' '

'|'

 

94

20

Alpha

R, ' '

LAST_NAME

 

<END LEVEL>

G_1

<END LEVEL>

DATA_DS

 

Note - For any doubts or additional information, please reach out in the comment section.

The values {attributes} are not valid for the attribute BankAccountId

Error While Loading PersonalPaymentMethod Using HCM Data Loader Introduction Oracle Fusion HCM HCM Data Loader (HDL) is commonly used to lo...