Showing posts with label HDL. Show all posts
Showing posts with label HDL. Show all posts

Wednesday, April 29, 2026

HCM Data Loader: the silent UTF-8 BOM issue that drops your first row

 The UTF-8 BOM encoding issue that silently drops or corrupts your first data row

After spending time investigating why the first record in a transformation input file was consistently being dropped or flagged as invalid during transaction loading in Oracle Retail Merchandising System (RMS), the root cause turned out to be something surprisingly subtle — a file encoding mismatch.


What is the issue?

When you prepare a .dat file for loading into Oracle Fusion HCM, the file must be encoded as plain UTF-8. However, many text editors and export tools save files as UTF-8 BOM (Byte Order Mark) by default — and this makes all the difference.

A BOM is a special invisible sequence of bytes (EF BB BF in hex) added at the very beginning of the file. The Oracle data conversion tool does not expect these extra bytes, so when it tries to read the first field of the first record, it encounters garbage characters instead of your actual data.

What happens next depends on the data type of your first field:
If the first field is a number → the record is rejected with "INVALID NUMBER".
If the first field is a varchar2 (text) → the junk BOM characters get silently appended to the field value, causing it to fail business validations later.

A real example

Let's say you have a deps1.dat file for loading department data. The first field is DEPT (a number). Your file looks like this in a text editor:
# What you THINK the file starts with:
1001|MENSWEAR|10|USD|...

# What UTF-8 BOM ACTUALLY saves at the start:
EF BB BF 1001|MENSWEAR|10|USD|...

# The tool reads the first field as:
1001 ← invisible BOM chars + "1001" = NOT a valid number

If your Fusion payroll file is failing to process only the first line, it is likely due to a Byte Order Mark (BOM) or a header formatting error that makes the first record unrecognizable to Oracle HCM.

Open the file in Notepad++ and navigate to View>Encoding, change it from UTF-8 BOM to UTF-8. Submit the UTF-8 file for the file load success.

Tuesday, April 21, 2026

Balance Adjustments Load in Oracle Fusion HCM Payroll

 This guide provides a comprehensive walkthrough for creating and executing a Balance Adjustment using the HCM Data Loader (HDL) in Oracle Fusion HCM Payroll.

1. HDL File Construction

To perform a balance adjustment via HDL, you must prepare two specific .dat files. These files define the metadata and the actual data values to be adjusted.

A. BalanceAdjustmentHeader.dat

This file establishes the batch and the group parameters for the adjustment.

METADATA|BalanceAdjustmentHeader|BatchName|LegislativeDataGroupName
MERGE|BalanceAdjustmentHeader|BalanceAdjustmentsFITtoSITBatch_09092025_V1|US Legislative Data Group
METADATA|BalanceAdjustmentGroup|BatchName|EffectiveDate|LegislativeDataGroupName|ConsolidationSetName
|PayrollName|PrepayFlag|BalanceAdjCostFlag
MERGE|BalanceAdjustmentGroup|BalanceAdjustmentsFITtoSITBatch_09092025_V1|2025/07/10|US Legislative Data Group
|US Consolidation Group|Biweekly|Y|N

B. BalanceAdjustmentLine.dat

This file defines the specific lines of the adjustment, including assignment details and the input values being modified.

Line Metadata: Defines the assignment number (E10020), the element name (Adjust Resident State), and the Tax Reporting Unit 

METADATA|BalanceAdjustmentLine|BatchName|EffectiveDate|BatchLineSequence|LegislativeDataGroupName|ConsolidationSetName|PayrollName|AssignmentNumber|ElementName|TaxReportingUnitName

MERGE|BalanceAdjustmentLine|BalanceAdjustmentsFITtoSITBatch_09092025_V1|2025/07/10|1|US Legislative Data Group|US Consolidation Group|Biweekly|E10020|Adjust Resident State|Good Samaritan Hospital

METADATA|BalanceAdjustmentValue|BatchName|EffectiveDate|BatchLineSequence|LegislativeDataGroupName|ConsolidationSetName|PayrollName|ElementName|InputValueName|EntryValue

MERGE|BalanceAdjustmentValue|BalanceAdjustmentsFITtoSITBatch_09092025_V1|2025/07/10|1|US Legislative Data Group|US Consolidation Group|Biweekly|Adjust Resident State|State|15


2. Importing the HDL Files

Once your .dat files are zipped, follow these steps to load them into the system:

Login to Fusion Applications.

Navigate to My Client Groups > Data Exchange.



Select Import and Load Data under the HCM Data Loader section.

Click Import File and choose Local File as the source.



Upload the BalanceAdjustmentHeader zip file first and click Submit.

Wait for the Header process to complete fully before submitting the BalanceAdjustmentLine zip file.




3. Executing the Balance Adjustment Flow

After the data is successfully loaded into the stage tables, you must run the payroll flow to apply the adjustments to the worker balances.

Navigation & Submission

Navigate to My Client Groups > Payroll > Submit a Flow.

Search for the flow Adjust Multiple Balances.

Enter a unique Payroll Flow name (e.g., Adjust Multiple Balances E10020).

Select the Batch Name that corresponds to your HDL load (e.g., BalanceAdjustmentsFITtoSITBatch_09092025_V1).




Set the Reason (e.g., Corrective Action) and click Submit.

Monitor the Payroll Checklist until the "Adjust Multiple Balances" task shows a status of Completed. Once finished, navigate to the worker's records to verify that the balances have been updated correctly.








Thursday, April 17, 2025

How to Automatically Submit HDL Files from HCM Extracts with Payroll Flows

Navigate to My Client Groups > Data Exchange

Click Extract Definitions.

Click on “+” icon to create the extract

 



Create the Auto Load parameter, for the HCM Data Loader end-to-end flow to work.



Click Design, create Root Data Groups, and add the necessary Data Groups based on your requirements. In this example, I am updating the FTE value to 1 for an employee.



Add the necessary attributes, including AssignmentId, PersonId, EffectiveStartDate, EffectiveEndDate, EffectiveSequence, EffectiveLatestChange, and any other required fields based on your data structure.



To update Assignment FTE, you need to retrieve WorkRelationship, WorkTerms, Assignment, and WorkMeasure. These entities ensure that employee assignment details are correctly mapped for data extraction and updates.



After entering all the required Data Groups, the extract can be validated to ensure accuracy. Once validation is successful, you can proceed with formula generation and compilation to finalize the setup.



Since this is a changes-only extract, one attribute must be designated as the Key attribute to uniquely identify each record. Additionally, for each record, the necessary columns should be selected and marked as change attributes to ensure that only modified data is extracted and processed.


Click Done, then submit the extract. Once processed, the system will generate XML data for review and further actions.


Create an eText Template to format the extracted data in HDL format for Assignment Work Measure FTE. Ensure the necessary attributes are mapped correctly to generate the required output.




Copy globalReportsDataModel to custom path. Create reports upload those 2 reports.





Navigate to Extract Definitions and define two delivery options as we have two different reports.



    


The above 2 delivery options to verify the data whether there are any issues.

Submit the extract to verify these reports. 

 

 

 Verify the results on Extract run successful.


Download and verify those Worker and Salary files.

Now, define delivery methods as Data Load Interface to submit HDL through the extract. Set up one delivery method for the Worker HDL file and another for the Salary HDL file to ensure accurate data processing.





Validate the extract if you have navigated to the Design area. If not, proceed to the next step without validation.

To automate the HCM Extract process with Data Load, create a Payroll Flow that seamlessly integrates extraction and loading. Define the flow with necessary parameters, ensuring smooth execution of HDL submissions within the payroll cycle.

Navigate to Refine Extracts, Click on Actions and create.

 

In the Activities section, select HCM Extract and Preparations to configure the extraction process.

The list of tasks will be displayed on the left side under Available Tasks. Select the extract you created, run the Data Loader Process, and then click Next to proceed.



 

 

 

Ensure that all processes are arranged in the correct sequence, then click Next to proceed.



 

 

 

Adjust the sequence if needed to ensure proper alignment, then click Next to continue.



Here, we will select and add extract parameters. Default or calculated type of values we can configure here.






 You can add the three parameters using Select and Add, as they are available as Extract Parameters. Ensure they are correctly mapped for accurate data processing.

 Configure the Task Parameters:

Click Next to navigate to the Task Parameters page.

Select the MAB FTE Update HCM extract record.


 

3.     Update the Effective Date parameter, setting the Basis Value to Effective Date. This task parameter will now accept the value of the Effective Date parameter from the payroll flow.


 

4.     Update the Auto Load parameter, ensuring the Parameter Basis is Bind to Flow and setting the Basis Value to Auto Load. This task parameter will now accept the value of the Auto Load parameter from the payroll flow.

 



 

 

 

 

5.     Update the Process Configuration Group parameter, ensuring the Parameter Basis is Bind to Flow and setting the Basis Value to Process Configuration Group. This task parameter will now accept the value of the Process Configuration Group parameter from the payroll flow.

 



 

6.       Update the Start Date parameter, ensuring the Parameter Basis is Bind to Flow and setting the Basis Value to Start Date. This task parameter will now accept the value of the Start Date parameter from the payroll flow.

 



 

7.       Select the Run HCM Data Loader task in the Tasks table. 

          Click Next to navigate to the Review page and click Submit.

          Search for your new payroll flow task and click Edit.

          In the Tasks panel, click Go to Task on the Run HCM Data Loader task.

          Edit the Extract Process Flow Name parameter ensuring the Parameter Basis is Bind to Flow Task and setting the Basis Value to MAB FTE Update, Submit, Payroll Process.

 

          Click on Submit and Open the flow definition, Go to Review the details and submit.


      Payroll flow is created now. We can submit from Payroll à Submit a Flow in the Data Exchange area. Click on Submit a Flow.



     Search for the Payroll flow that we created i.e. MAB FTE Update Inbound Extract

 



Click on the flow, enter parameters and click on Submit.


Monitor the flow and verify for successful run.




Click on Run HCM Data Loader task to see the file submission to Import and Load area.




On the successful file Import and Load, we can see the task as Completed.


Source: Initiate HCM Data Loader for HCM Extract Generated Files

Monday, April 14, 2025

How do you Delete Loaded Assigned Payroll Data ?

 SELECT 'METADATA|AssignedPayroll|AssignedPayrollId|EffectiveStartDate|AssignmentId|LegislativeDataGroupId|PayrollId|PayrollTermId|SourceSystemId|SourceSystemOwner' HEADER, 1 DELETE_ASGPAYROLL
  FROM DUAL
UNION ALL
SELECT 'DELETE|AssignedPayroll'
   ||'|'||
       papd.ASSIGNED_PAYROLL_ID
   ||'|'||
       to_char(papd.start_date,'RRRR/MM/DD')
   ||'|'||    
   paam.assignment_id
   ||'|'||    
   papd.LEGISLATIVE_DATA_GROUP_ID
   ||'|'||    
   papd.Payroll_Id
   ||'|'||    
   papd.Payroll_Term_Id
   ||'|'||    
       hikm.source_system_id
   ||'|'||    
       hikm.source_system_owner HEADER, 2 DELETE_ASGPAYROLL
  FROM pay_assigned_payrolls_dn papd
  ,pay_payroll_terms ppt
  ,pay_pay_relationships_dn prrd
  ,pay_all_payrolls_f papf_pay
  ,pay_rel_groups_dn prgd
  ,pay_rel_groups_f prgf
  ,per_all_people_f papf
  ,per_person_names_f ppnf
  ,per_all_assignments_m paam 
  ,hrc_integration_key_map hikm
 WHERE papd.payroll_term_id = ppt.payroll_term_id
   AND ppt.payroll_relationship_id = prrd.payroll_relationship_id
   AND papd.payroll_id = papf_pay.payroll_id
   AND prrd.person_id = papf.person_id
   AND prrd.payroll_relationship_id = prgd.payroll_relationship_id
   AND prgd.relationship_group_id = prgf.relationship_group_id
   AND prgd.assignment_id = paam.assignment_id
   AND paam.effective_latest_change = 'Y'
   AND prgd.group_type = 'A'
   AND ppnf.person_id = papf.person_id
   AND ppnf.name_type = 'GLOBAL'
   AND TRUNC(SYSDATE) BETWEEN papf.effective_start_date AND papf.effective_end_date
   AND TRUNC(SYSDATE) BETWEEN ppnf.effective_start_date AND ppnf.effective_end_date
   AND TRUNC(SYSDATE) BETWEEN prgf.effective_start_date AND prgf.effective_end_date
   AND TRUNC(SYSDATE) BETWEEN paam.effective_start_date AND paam.effective_end_date
   AND hikm.surrogate_id = papd.ASSIGNED_PAYROLL_ID   
   AND papf.person_number = NVL(:P_PERSON_NUMBER,papf.person_number)
 ORDER BY 2

Talent Profiles Explained: Types, Features, and Data Migration in Fusion HCM

What is Talent Profile and what are types?

In Talent, when we go through the system we see different profile types. However, all those profile types are categorized as two i.e. Person profile type and Model profile type.

The Person Profile Types maintains the definition of the person talent profile necessary for tracking employee’s skills, qualities, and qualifications.

The Model Profile Types maintain the definition of the workforce structures necessary for tracking targeted and required skills, qualities, and qualifications.

However, both are loaded through one single .dat file.

Talent Profile:

A Talent Profile is a structured representation of an individual’s or a workforce’s skills, qualifications, and attributes within a talent management system. It helps organizations track and manage employee capabilities effectively.

Types of Talent Profiles:

a). Person Profile Types:
These profiles focus on individual employees.
They maintain detailed definitions of each employee’s skills, qualities, and qualifications.
Useful for tracking personal development, performance evaluations, and career progression.

b). Model Profile Types:
These profiles are more about the organizational structure.
They define the skills and qualifications required for specific roles or job families within the workforce. Helpful for workforce planning, recruitment, and identifying skill gaps across the organization.



The Person Profile Type in your talent management system is designed to streamline the creation and management of individual employee profiles. Here’s a breakdown of the key features and functionalities:




To modify the person profile type, navigate through:
  • My Client Group → Profiles → Profile Types → Person.
  • Click on Edit to access the settings and to make necessary changes. We can also get to see the content sections available under Person Profile.
Model Profile Types are essential for defining workforce structures within your talent management system. Here’s a closer look at each type: Job, Position, Organization and Prerequisite etc.




To modify the person profile type, navigate through:
  • My Client Group → Profiles → Profile Types → Job/Position/Organization/Prerequisite.
  • Click on Edit to access the settings and to make necessary changes. We can also get to see the content sections available under each Profile.



Talent Profile - .Dat file Structure


Talent Profile à  It is specific profile type, whether it is Person, Job or Position.

Profile Item à The content type sections of Profile type such as Qualifications, Memberships or Competencies etc.

Profile Keyword à It is only appropriate for Person based profiles. This is to capture key words for areas of expertise and areas of interest of person-based profiles.

Profile Relation à This is specifically for Job or Position based profile types.

Talent Model Profile Additional Data à To capture the additional information about model profile types. For example, for a job along with capturing the profile information in Profile Item, this is where we specify or upload additional responsibilities or qualifications.

Talent Profile Attachments à To store or capture attachments for talent profile.

UI Fields Mapping to HDL Fields:



Once we get all required mappings to Talent Profile, we can now prepare HDL accordingly to load the data into Fusion Applications.