Oracle Fusion HCM

Thursday, 1 January 2026

You Can’t Delete a Person Contact Relationship Because the Person Is a Benefit Dependent or Beneficiary

You Can’t Delete a Person Contact Relationship Because the Person Is a Benefit Dependent or Beneficiary

Overview

While managing Person Contact Relationships in Oracle Fusion HCM, you may encounter an error when trying to delete or end date a contact using HDL or the UI.

This issue typically occurs when the contact is linked to Benefits as a dependent or beneficiary. In this blog, we’ll explain the error, why it happens, and the exact steps to resolve it.


Error Message

You may see one of the following error messages:

You cannot delete the contact because the person is designated as a benefit dependent or beneficiary, or an attempt was made to process the benefit designation

OR

Error removing a duplicate beneficiary/contact


Why This Error Occurs

Oracle Fusion HCM restricts the deletion or end dating of a Person Contact Relationship when the person is:

  • Added as a benefit dependent

  • Designated as a beneficiary in one or more benefit plans

  • Actively covered under a benefits plan

  • Associated with a processed or backed-out life event

This validation ensures data integrity for benefits processing and payroll calculations.


Resolution Steps

Follow the steps below in sequence to resolve the issue.


✅ Step 1: Check if the Contact Is Added as a Beneficiary

  • Navigate to the employee’s Benefits section

  • Verify whether the dependent/contact is added as a beneficiary

  • If yes, remove the beneficiary designation


✅ Step 2: Check if the Dependent Is Elected in Any Benefit Plan

  • Review all benefit plans where the contact may be elected as:

    • Primary beneficiary

    • Secondary beneficiary

  • If the dependent is elected in any plan, remove the election


✅ Step 3: Check If the Dependent Is Covered in Any Plan

If the dependent is actively covered:

  1. Identify the life event associated with the coverage

  2. Void or back out the life event

  3. Run the ESS job:

Purge Backed-Out or Voided Life Event Data

This step is mandatory to fully remove benefit-related dependencies.


Final Step: Delete or End Date the Person Contact Relationship

Once all benefit dependencies are cleared:

  • You can now delete or end date the Person Contact Relationship

  • This can be done using:

    • HDL

    • Fusion UI

The system will no longer block the action.


Important Notes

  • Benefits dependencies always take precedence over contact maintenance

  • HDL and UI both follow the same benefit validation rules

  • Always confirm with functional/benefits teams before removing dependent data

  • Perform these steps in lower environments first


Best Practices

  • Review benefit dependencies before deleting contacts

  • Maintain audit records when removing beneficiaries

  • Purge voided life events to avoid residual data issues

  • Use consistent effective dates during benefit cleanup


Conclusion

If you’re unable to delete or end date a Person Contact Relationship in Oracle Fusion HCM, the most common reason is that the person is linked as a benefit dependent or beneficiary.

By removing beneficiary elections, clearing dependent coverage, and purging backed-out life events, you can successfully delete or end date the contact using HDL or the UI.

๐Ÿ’ฌ Have you faced similar benefit-related HDL issues? Share them in the comments.

Wednesday, 1 October 2025

HDL Template for Benefit Participant Enrollment (Oracle Fusion HCM)

 

HDL Template for Benefit Participant Enrollment (Oracle Fusion HCM)

Introduction

Oracle Fusion HCM allows Benefit enrollments to be loaded in bulk using HCM Data Loader (HDL). This is especially useful during New Hire loads, Open Enrollment, Life Events, or mass corrections.

In this blog, we will walk through a complete end-to-end process to load Benefit Participant Enrollment using the ParticipantEnrollment.dat file, along with a related CompensationObject section.


When to Use ParticipantEnrollment.dat

You should use ParticipantEnrollment.dat when you need to:

  • Enroll an employee into a Benefits Program

  • Assign Plans, Options, and Coverage

  • Process enrollments triggered by Life Events (New Hire, Marriage, etc.)

  • Perform initial benefit enrollment for new hires


Prerequisites

Before loading the file, ensure the following:

  1. Employee already exists in the system (Person record created)

  2. Date of Birth (DOB) is populated for the employee - Required for age-based eligibility, dependent validation, and certain benefit plans.

  3. Payroll is assigned to the employee - Payroll effective date aligns with hire/enrollment date

  4. Salary is assigned - Salary record is active as of the benefit enrollment date (Required for benefit plans that calculate rates, premiums, or coverage based on salary)

  5. Benefits Program, Plan, and Options are already configured

  6. Life Event (e.g., New Hire) exists and is active

  7. Dates align with the employee’s hire date and benefit eligibility

  8. HDL access is available


File Name

ParticipantEnrollment.dat

HDL File Structure Overview

This file consists of two main sections:

  1. ParticipantEnrollment – Defines the employee and life event

  2. CompensationObject – Assigns benefit program, plan, option, and coverage

Both sections are mandatory for successful enrollment.


Section 1: ParticipantEnrollment

Purpose

This section identifies who is being enrolled and why (Life Event).

Metadata Definition

METADATA|ParticipantEnrollment|PersonNumber|ParticipantLastName|
ParticipantFirstName|BenefitRelationship|LifeEvent|
LifeEventOccuredDate|EffectiveDate

Sample Data

MERGE|ParticipantEnrollment|7628|XXTEST|Adam|DFLT|New Hire|
2026/01/12|2026/01/12

๐Ÿ”น Tip: LifeEventOccuredDate and EffectiveDate should normally match the hire date for New Hire enrollments.


Section 2: CompensationObject

Purpose

This section assigns the Benefit Program, Plan, Option, and Coverage.

Metadata Definition

METADATA|CompensationObject|Program|OriginalEnrollmentDate|
PersonNumber|LineNumber|Plan|Option|Coverage|Rate

Sample Data

MERGE|CompensationObject|Choice Program (Core)|2026/01/12|7628|1|
Medical PPO|Participant Only|1000|

Field Explanation

๐Ÿ”น Tip: Program, Plan, and Option values must exactly match the configuration in Fusion.


Complete Sample ParticipantEnrollment.dat File

METADATA|ParticipantEnrollment|PersonNumber|ParticipantLastName|
ParticipantFirstName|BenefitRelationship|LifeEvent|
LifeEventOccuredDate|EffectiveDate MERGE|ParticipantEnrollment|7628|XXTEST|Adam|DFLT|New Hire|
2026/01/12|2026/01/12 METADATA|CompensationObject|Program|OriginalEnrollmentDate|PersonNumber
|LineNumber|Plan|Option|Coverage|Rate MERGE|CompensationObject|Choice Program (Core)|2026/01/12|7628|1|
Medical PPO|Participant Plus One|1000|

HDL Load Steps

  1. Navigate to Data Exchange → HCM Data Loader

  2. Upload ParticipantEnrollment.dat

  3. Submit the Load

  4. Monitor the process:

    • Load File

    • Import and Load

    • Completion status should be Succeeded


Validation After Load

After successful load:

  1. Navigate to Benefit Administration 

  2. Search for the employee

  3. Verify:

    • Program enrollment

    • Plan and option selection

    • Coverage details

    • Effective dates


Common Errors & Troubleshooting

                       Common Errors Participant Load





Key Takeaways

  • ParticipantEnrollment.dat is essential for benefit enrollments via HDL

  • Both ParticipantEnrollment and CompensationObject sections are required

  • Dates, names, and configurations must match Fusion setup exactly

  • Always validate enrollment post-load


Conclusion

HDL provides a powerful and efficient way to manage bulk Benefit enrollments in Oracle Fusion HCM. With a correctly structured ParticipantEnrollment.dat file, you can seamlessly enroll employees into benefit programs triggered by life events such as New Hire.

This end-to-end template can be reused and extended for other plans and options as needed.

If you want, I can also help with:

  • Open Enrollment HDL

  • Multiple plans in one file

  • Retro or correction enrollments

  • Error-handling scenarios

Tuesday, 2 July 2024

How to sort data in rtf template

 How to sort data in rtf template


Sort the data in Data model is the recommended approach.
But if you want to sort the data in rtf template then you have to use below xml tag code.

<?sort:fieldname?><?fieldname?>  

this will sort the data in ascending order be default as it is not mentioned.

if user want to sort the data in descending order then use below code

<?sort:fieldname;'descending'?><?fieldname?>  

Prenotification Status of Personal Payment Method in Oracle HCM

 

Prenotification Status of Personal Payment Method in Oracle HCM


Prenote Status is not stored directly in table, you can find the corresponding details in pay_bank_account_prenotes table.

Prenote status you have to use below logic.

CASE
WHEN pay_bank_account_prenotes.PRENOTE_DATE=TO_DATE('31/12/4712','DD/MM/YYYY') THEN 'ORA_R'
WHEN pay_bank_account_prenotes.PRENOTE_DATE=TO_DATE('01/01/0001','DD/MM/YYYY') THEN 'ORA_SK'
WHEN NVL((pay_bank_account_prenotes.PRENOTE_DATE),TO_DATE('31/12/4712','DD/MM/YYYY'))=TO_DATE('31/12/4712','DD/MM/YYYY') THEN 'ORA_N_S'
WHEN TRUNC(pay_bank_account_prenotes.PRENOTE_DATE+NVL(OrganizationPaymentMethodDEO.VALIDATION_DAYS,0)) <= TRUNC(SYSDATE) THEN 'ORA_C'
ELSE 'ORA_S'
END AS PRENOTE_STATUS



Monday, 1 July 2024

Step-by-Step Guide to Customize Oracle Seeded Job Offer Letter Template

Step-by-Step Guide to Customize Oracle Seeded Job Offer Letter Template

Introduction 

Customizing a Job Offer Letter Template in Oracle Recruiting is an essential task for HR and Talent Management teams to ensure candidate communications are personalized, branded, and compliant. Oracle provides seeded job offer templates, but they often require customization to meet organizational needs.

In this blog, we’ll walk you through the complete process to customize Oracle seeded Job Offer Letter templates, from downloading the template to uploading and activating it in the Recruiting Content Library.

Click here for step by step video to create job offer letter template customization

Sunday, 30 June 2024

HDL Template for Salary Data In Fusion HCM


How to Load Worker Salary in Oracle Fusion HCM Using HDL (Salary.dat)

Learn how to create or update worker salary in Oracle Fusion HCM using HDL Salary.dat. Step-by-step guide with sample template, required fields, salary basis, action codes, approval flag, and common error fixes.

Oracle Fusion HCM allows you to load or update worker salary using HCM Data Loader (HDL).
This is useful when you need to migrate salary data during:

  • New implementation (initial data load)

  • Bulk salary updates

  • Salary corrections

  • Salary changes during hiring

In this blog, you will learn:

✅ Salary HDL file name and structure
✅ Required attributes
✅ Salary basis and approval flag
✅ Sample Salary.dat template
✅ Common errors and troubleshooting

You can see step by step video to load Salary data using this Click Here


๐Ÿ“Œ HDL File Used

To load salary data, use:

✅ Salary.dat


✅ Prerequisites (Very Important)

Before loading salary using HDL, make sure:

1) Worker & Assignment already exist

Salary is always tied to an assignment.

So these must exist first:

  • Worker record

  • AssignmentNumber


2) Salary Basis must exist

SalaryBasisName should already be configured.

Example:

  • US1 Annual Salary

  • Monthly Salary

  • Hourly Rate

Navigation:
My Client Groups → Salary → Salary Basis


3) Worker must have valid payroll / employment info

Salary often fails if assignment is missing:

  • legislation code

  • grade

  • payroll details (in some setups)


✅ Salary.dat Template (Sample)

Use the below sample:

METADATA|Salary|AssignmentNumber|DateFrom|DateTo|SalaryAmount|SalaryBasisName|ActionCode|SalaryApproved

MERGE|Salary|ORACLE_ASG12|1991/01/01||10000|US1 Annual Salary|HIRE|Y



✅ Field Explanation (Salary HDL)

1) AssignmentNumber

This is the unique assignment number of the worker.

Example:

ORACLE_ASG12

2) DateFrom / DateTo

  • DateFrom = salary effective start date

  • DateTo = keep blank unless you want to end-date salary

Example:

1991/01/01

3) SalaryAmount

Salary amount to load.

Example:

10000

4) SalaryBasisName

This must match exactly with configured Salary Basis.

Example:

US1 Annual Salary

5) ActionCode

Defines why salary is being loaded.

Common values:

  • HIRE

  • SALARY_CHANGE

  • PROMOTION

  • TRANSFER

Example:

HIRE

6) SalaryApproved

Salary approval flag.

Values:

  • Y = approved

  • N = not approved

Example:

Y

✅ Step-by-Step: Load Salary Using HDL

Step 1: Create Salary.dat file

Create a .dat file and add metadata + merge line.


Step 2: Create .zip file

Create a zip file:

Example:

Salary.zip

Inside zip:

Salary.dat

Step 3: Upload in HDL

Navigate to:

My Client Groups → Data Exchange → HCM Data Loader

Steps:

  1. Import and Load Data

  2. Upload Salary.zip

  3. Submit


Step 4: Monitor HDL Status

Check:

  • Import Status

  • Load Status

  • Completed Successfully / Error


Step 5: Validate Salary in UI

Navigate to:

My Client Groups → Person Management → Search Worker → Salary

Confirm:

  • Salary Amount

  • Salary Basis

  • Effective date


⭐ Example: Load Salary for Multiple Workers

METADATA|Salary|AssignmentNumber|DateFrom|DateTo|SalaryAmount|SalaryBasisName|ActionCode|SalaryApproved MERGE|Salary|ORACLE_ASG12|1991/01/01||10000|US1 Annual Salary|HIRE|Y MERGE|Salary|ORACLE_ASG13|1991/01/01||12000|US1 Annual Salary|HIRE|Y MERGE|Salary|ORACLE_ASG14|1991/01/01||15000|US1 Annual Salary|HIRE|Y

๐Ÿ”ฅ Common HDL Errors & Fixes

❌ 1) Salary basis not found

Error:
SalaryBasisName is invalid

✅ Fix:

  • Verify Salary Basis exists

  • Match exact name (case-sensitive)


❌ 2) Assignment number not found

Error:
AssignmentNumber doesn’t exist

✅ Fix:

  • Confirm assignment is created successfully

  • Load worker/assignment first


❌ 3) Salary overlaps existing salary

Error:
Overlapping salary records

✅ Fix:

  • End-date previous salary using DateTo

  • Or use correct DateFrom


❌ 4) Salary not approved

Error:
Salary not visible in UI

✅ Fix:

  • Set SalaryApproved = Y

  • Ensure approvals not required in workflow


๐Ÿ”— Internal Links 



⭐ FAQs 

Q1. Which file is used to load salary using HDL?

Salary is loaded using Salary.dat in Oracle Fusion HCM.

Q2. What is required before loading salary using HDL?

Worker and Assignment must exist, and Salary Basis must be configured.

Q3. Can we update salary using MERGE?

Yes, MERGE can create or update salary records depending on the effective date.

Q4. What is SalaryApproved in Salary.dat?

SalaryApproved is a flag that indicates whether the salary record is approved (Y) or not approved (N).

Q5. What is the most common reason salary HDL fails?

The most common reasons are invalid SalaryBasisName and incorrect AssignmentNumber.

Sunday, 14 January 2024

Avoid/Ignore if we have empty tag in XML.

 Ignore the Empty Tag in XML or avoid blank rows in For loop BIP Report.


If we have blank row of data in For Loop in BIP Reports like in below example:

<?xml version="1.0" encoding="utf-8" standalone="no" ?>
  <Basket>
    <Fruit>
        <Type>Apple</Type>
        <Number>2</Number>
    </Fruit>
    <Fruit />
    <Fruit>
        <Type>Orange</Type>
        <Number>5</Number>
    </Fruit>
</Basket>


If you look second occurrence the tag <Fruit> is empty.

Now if we create BIP Report that will loop through each Fruit.





BI Report will look like this because second occurrence is empty. 









We have to tweak RTF template design to solve this issue and then write the for loop accordingly.





use the for loop shown in above example to solve the issue.

BIP Report looks like 











Wednesday, 1 November 2023

Frequently asked questions with answer

Frequently asked questions with answer

Q) <?split-by-page-break:?> not working in rtf for page break?
-> If split by page break is not working or working only for first page/record in loop then try below code instead of <?split-by-page-break:?>

Use <xsl:attribute name="break-before">page</xsl:attribute> 



Q) How to derive the prenotification status of personal payment method?
->   Use below code to derive the prenotification status

CASE
WHEN Prenote.PRENOTE_DATE=TO_DATE('31/12/4712','DD/MM/YYYY') THEN 'ORA_R'
WHEN Prenote.PRENOTE_DATE=TO_DATE('01/01/0001','DD/MM/YYYY') THEN 'ORA_SK'
WHEN NVL((Prenote.PRENOTE_DATE),TO_DATE('31/12/4712','DD/MM/YYYY'))=TO_DATE('31/12/4712','DD/MM/YYYY') THEN 'ORA_N_S'
WHEN TRUNC(Prenote.PRENOTE_DATE+NVL(OrganizationPaymentMethodDEO.VALIDATION_DAYS,0)) <= TRUNC(SYSDATE) THEN 'ORA_C'
ELSE 'ORA_S'
END AS PRENOTE_STATUS


Q) How to make sysdate as default parameter in BIP Report?
-> Create the date parameter with default value as "{$SYSDATE()$}"


Q) Bursting Parameters in Oracle Fusion ?
-> 
SELECT papf.person_number KEY,
:P1 TEMPLATE,
'en-US' LOCALE,
'pdf' OUTPUT_FORMAT,
'EMAIL' DEL_CHANNEL,
'psuzal@gmail.com' PARAMETER1,
'psuzal@gmail.com' PARAMETER2,
'psuzal@gmail.com' PARAMETER3,
'SUBJECT: EMPLOYEE BURSTING TEST' PARAMETER4,
'BODY:ATTACHED EMP LIST' PARAMETER5,
'true' PARAMETER6,
'psuzal@gmail.com' PARAMETER7,
'psuzal@gmail.com' PARAMETER8
FROM    per_all_people_f papf


Significance of parameters - 

PARAMETER1: Email address
PARAMETER2: cc
PARAMETER3: From
PARAMETER4: Subject
PARAMETER5: Message body
PARAMETER6: Attachment value ('true' or 'false'). If your output format is PDF, you must set this parameter to "true" to attach the PDF to the e-mail.
PARAMETER7: Reply-To
PARAMETER8: Bcc
(PARAMETER 9-10 are not used)


Q) How to customize seeded report in oracle fusion?
-> If you want to customize seeded report then follow below steps:
1. Instead of "Analytics" in your instance link use "xmlpserv"
2. Navigate the report path which you want to customize.
3. Select the report and click on More
4. Click Customize 
5. Report will open in edit mode then click on Save.
6. It will create same folder structure in Custom folder then you can customize the seeded report.

Q) How to update the any offer letter template used by seeded functionality?
-> Follow the below steps to edit any offer letter used by seeded functionality.
1. Go to Setup and Maitainence
2. Select Recruiting and Candidate Experience (left hand side setup: select that dropdown)


3. Select Functional Area as "Recruiting and candidate experience management" and click on "recruiting content library" task.






4. Search for content item.
5. Download the template and modify the template.
6. Zip the updated template 
7. Upload the same template for respective Content Item with option "Create New Version".
8. Save and activate.

In this way you can update/modify any offer letter template which uses seeded functionality.

Q) Can we change the preview offer letter HTML format to any other format in oracle fusion HCM?
-> As of now Oracle not given any other format to preview the offer letter other that HTML format.
You can only preview in HTML format. You can download offer letter so that it will get download in pdf format.



Thursday, 19 January 2023

HDL Template to load BLOB/CLOB files for Talent Profile

HDL Template to load BLOB/CLOB files for Talent Profile 


File Name - TalentPofile.dat


You can see step by step video to load Talent Profile data using this Link


Please find the below sample template :

Add ItemClob1File  Column in profile item metadata and clob files are placed in "ClobFiles" Folder.


METADATA|TalentProfile|SourceSystemOwner|SourceSystemId|Description|Summary|ProfileTypeCode|ProfileCode|ProfileStatusCode|ProfileUsageCode|PersonId

MERGE|TalentProfile|XXTEST|XXTEST_TALENT2|||PERSON|PERSON_TALENT|A|P|100000609812368


METADATA|ProfileItem|SourceSystemOwner|SourceSystemId|ProfileId(SourceSystemId)|ContentType|ContentItem|SectionName|CountryCountryCode|DateFrom|DateTo|RatingModelCode1|RatingModelCode2|RatingModelCode3|RatingLevelCode1|RatingLevelCode2|RatingLevelCode3|ItemClob1File  

MERGE|ProfileItem|XXTEST|XXTEST_TALENTPROF2|XXTEST_TALENT2|LANGUAGE|Hindi|PERSON_LANGUAGE||2021/07/26||LANGUAGE|LANGUAGE|LANGUAGE|HIGH|HIGH|HIGH|


HDL Template to Absence Entry of Worker


✅ Oracle HCM HDL: Load Worker Absence Entry (PersonAbsenceEntry.dat) – Template + Examples

Absence management is one of the most common business requirements in Oracle Fusion HCM. If you need to load absence entries for employees in bulk (Sick leave, Earned leave, Casual leave, etc.), Oracle provides the HDL object:

๐Ÿ‘‰ PersonAbsenceEntry (and its child object PersonAbsenceEntryDetail)

This post provides a complete HDL template with real working examples, along with prerequisites, common issues, and FAQ.


⭐ What is PersonAbsenceEntry in Oracle HDL?

PersonAbsenceEntry is an HDL business object used to create or update worker absence entries in Oracle Fusion HCM.

It supports:

  • Absence Type (Sick, Annual Leave, etc.)

  • Absence dates and time

  • Absence status + approval status

  • Assignment-level detail (via PersonAbsenceEntryDetail)


✅ Prerequisites (Important)

Before loading absence entry using HDL, verify:

1) Worker must exist

The PersonNumber must be valid.

2) Absence Plan must be enrolled first

If the worker is not enrolled in the absence plan, the absence entry load may fail.

✅ Example errors:

  • Plan not enrolled

  • Absence type not eligible

  • No accrual available

3) Absence Type must exist

Absence Type should be configured in:
Absence Administration → Absence Types

4) Employer / Legal Entity should match worker

Use correct employer name.


๐Ÿ“‚ HDL File Name

๐Ÿ“Œ File Name:
PersonAbsenceEntry.dat


๐Ÿงพ HDL Sample Template: PersonAbsenceEntry

This is the main absence entry record.

METADATA|PersonAbsenceEntry|Employer|PersonNumber|AbsenceType|AbsenceReason|AbsenceStatus|ApprovalStatus|StartDatetime|EndDatetime|StartDate|StartTime|EndDate|EndTime|SourceSystemOwner|SourceSystemId

MERGE|PersonAbsenceEntry|US3 Legal Entity|XXTEST2|Sick||SUBMITTED|APPROVED||2021/07/12 08:00:00|2021/07/12|08:00|2021/07/12|16:30|XXTEST|XXTEST2_SICK1



๐Ÿ” Explanation of Key Fields

  • AbsenceType: Example: Sick, Annual Leave, etc.

  • AbsenceStatus: Usually SUBMITTED

  • ApprovalStatus: APPROVED / PENDING

  • StartDatetime / EndDatetime: Used for date+time entry

  • StartDate / EndDate: Used for date only entries

  • SourceSystemOwner / SourceSystemId: Must be unique per absence record


๐Ÿงพ HDL Sample Template: PersonAbsenceEntryDetail 

This object is used when you want to load daily/time details and connect absence to assignment.

METADATA|PersonAbsenceEntryDetail|AbsenceDate|Employer|PersonNumber|AbsenceType|AssignmentNumber|AbsenceStartDate|AbsenceStartTime|RowSeq|StartTime|EndTime|SourceSystemOwner|SourceSystemId

MERGE|PersonAbsenceEntryDetail|2021/07/12|US3 Legal Entity|XXTEST2|Sick|XXTEST_ASSIGN2-1|2021/07/12|08:00|1|06:00|16:30|XXTEST|XXTEST2_SICK1



⭐ Why PersonAbsenceEntryDetail is required?

You should use PersonAbsenceEntryDetail when:

✅ Absence is hourly
✅ Absence spans multiple dates
✅ You need assignment-level mapping
✅ You want exact daily breakdown


๐Ÿง  Recommended HDL Zip Structure

Your zip should look like this:

AbsenceEntryLoad.zip └── PersonAbsenceEntry.dat

Upload from:

Data Exchange → HCM Data Loader → Import and Load


⚠️ Common Errors and Fixes

❌ Error: Worker is not enrolled in absence plan

✅ Fix: Enroll the worker first in the plan.


❌ Error: Invalid Absence Type

✅ Fix: Verify Absence Type spelling and configuration.


❌ Error: SourceSystemId already exists

✅ Fix: Use unique SourceSystemId for each absence entry.


❌ Error: AssignmentNumber invalid

✅ Fix: Confirm assignment number from Person Management.


๐Ÿ”— Internal Links 



๐Ÿ’ฌ Feedback & Comments

If this absence entry HDL template helped you, drop your feedback in the comment section ๐Ÿ™Œ

If you face any issue, share:

  • HDL error message

  • Absence Type name

  • Whether plan enrollment exists

  • Your sample Worker.dat snippet (remove sensitive data)


❓ FAQ

Q1. Can we load absence entries using HDL in Oracle HCM?

Yes. You can load worker absences using the HDL objects PersonAbsenceEntry and PersonAbsenceEntryDetail.


Q2. Is absence plan enrollment required before loading absence entry?

Yes. In most cases, the worker must be enrolled in the absence plan first.


Q3. Which file is used to load absence entry in HDL?

The commonly used HDL file is PersonAbsenceEntry.dat.


Q4. What is the purpose of PersonAbsenceEntryDetail?

It provides daily/hourly absence details and connects the absence entry to assignment.


Q5. Can we load hourly absences using HDL?

Yes. Hourly absences are supported by providing StartTime and EndTime in PersonAbsenceEntryDetail.


Q6. What should be the AbsenceStatus and ApprovalStatus?

Typically:

  • AbsenceStatus = SUBMITTED

  • ApprovalStatus = APPROVED (or PENDING depending on workflow)

HDL Template to Accrual Plan Enrollment of Worker

HDL Template to Accrual Plan Enrollment of Worker

Please find the below sample template :

File Name - PersonAccrualPlanEnrollment.dat


METADATA|PersonAccrualPlanEnrollment|PersonNumber|WorkTermAsgNum|PlanName|EnrtStDt|SourceSystemId|SourceSystemOwner

MERGE|PersonAccrualPlanEnrollment|XXTEST22|XXTEST_WRKTERM22|Sick|2021/01/01|XXTEST_SICK1|XXTEST

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 to Change Hire Date of Worker


✅ HDL Template to Change Hire Date of Worker in Oracle Fusion HCM (Worker.dat)

Changing an employee’s Hire Date (Start Date) is a common requirement in Oracle Fusion HCM, especially when correcting wrong employee joining dates loaded from legacy systems or during data migration.

In this blog, you will learn how to change Hire Date of a worker using HDL (HCM Data Loader) with Worker.dat file.


๐Ÿ”ฅ What is Hire Date in Oracle Fusion HCM?

In Oracle Fusion HCM, the hire date is stored at the Work Relationship level.
That’s why to change Hire Date using HDL, you must update the WorkRelationship component inside Worker.dat.


๐Ÿ“Œ HDL File Used

✅ Worker.dat


⚠️ Important Note Before Updating Hire Date

Before you change hire date, ensure:

  • Worker already exists in Fusion HCM

  • You know correct identifiers like PersonId or PersonNumber

  • Hire date change may impact:

    • Payroll

    • Absence

    • Seniority

    • Benefits eligibility

    • Assignment start dates

So always validate in lower environment first.


✅ HDL Template to Change Hire Date of Worker (Worker.dat)

Use below template exactly:

SET PURGE_FUTURE_CHANGES N


METADATA|WorkRelationship|SourceSystemOwner|SourceSystemId|

PersonId(SourceSystemId)|LegalEmployerName|NewStartDate

MERGE|WorkRelationship|XXTEST|XXTEST_HIREDATE1|100009|India Legal Entity|

2002/02/10



๐Ÿงพ Explanation of Fields (Worker.dat)

ColumnMeaning
SourceSystemOwnerYour source system name (ex: XXTEST)
SourceSystemIdUnique record identifier for this HDL row
PersonId(SourceSystemId)PersonId of the worker (can be PersonNumber too in other templates)
LegalEmployerNameMust match worker’s legal employer
NewStartDateThe corrected hire date you want to set

⭐ Why We Use SET PURGE_FUTURE_CHANGES N

This line controls whether future-dated changes should be purged.

✅ Recommended:

SET PURGE_FUTURE_CHANGES N

Because:

  • It keeps future-dated transactions safe

  • Prevents accidental loss of future assignment updates


๐Ÿงญ Step-by-Step: How to Load HDL to Change Hire Date

Step 1: Prepare Worker.dat file

  • Copy the template

  • Replace with your employee values

Step 2: Create ZIP

Zip the file as:

Worker.zip └── Worker.dat

Step 3: Upload in HCM Data Loader

Navigation:

My Client Groups → Data Exchange → HCM Data Loader

  1. Click Import and Load

  2. Upload the ZIP file

  3. Submit the process

Step 4: Validate Results

After load:

  • Check Import and Load Status

  • Review logs if errors occur


✅ How to Verify Hire Date is Updated

Go to:

Person Management → Search Worker → Employment → Work Relationship

Check:

  • Start Date / Hire Date updated correctly


❗ Common Errors and Fixes

1) Legal Employer Name Invalid

Error: LegalEmployerName not found
✅ Fix: Use exact legal employer name from Fusion setup.


2) PersonId Incorrect

Error: PersonId(SourceSystemId) not found
✅ Fix:

  • Use correct PersonId

  • Or use PersonNumber based mapping (if your environment supports)


3) Future Changes Conflict

Error: Cannot update because of future-dated changes
✅ Fix:

  • Review future-dated transactions

  • Keep SET PURGE_FUTURE_CHANGES N


๐Ÿ”— Internal Links 


Featured post

Oracle Fusion HCM: US Tax Withholding Information Using HCM Data Loader (HDL)

  Overview of US Tax Withholding Information in Oracle Fusion HCM In Oracle Fusion HCM, Tax Withholding calculation cards store informatio...