✅ Post Conversion Best Practices in Oracle HCM Cloud – ESS Jobs After HDL
When you complete a data conversion or perform incremental updates using HDL (HCM Data Loader) in Oracle HCM Cloud, the work is not finished yet. HDL Post Conversion Processes.
A successful HDL load updates core tables, but several dependent tables and search indexes still need to be refreshed for:
-
Correct reporting
-
Accurate person search results
-
Manager hierarchy visibility
-
Role provisioning and LDAP synchronization
-
Seniority date creation
This article covers the most important post conversion ESS processes, when to run them, and the best scheduling strategy.
📌 Why Post Conversion ESS Processes Are Required?
After bulk HDL loads, Oracle HCM Cloud may not automatically:
-
Update manager hierarchy tables
-
Rebuild person keyword search indexes
-
Synchronize person data to consuming applications
-
Push role/user requests to LDAP
-
Generate default seniority date records
Running the right ESS processes at the right time avoids:
❌ Missing managers in hierarchy
❌ People not appearing in search
❌ Incorrect reporting
❌ Delayed user provisioning
❌ Seniority records not created
✅ Post Conversion ESS Processes (Complete List)
⚡ Auto-Triggered Processes After Worker HDL Load
By default, Oracle triggers these after Worker.dat finishes:
✅ Refresh Manager Hierarchy
✅ Update Person Search Keywords
How to disable auto-trigger?
You can disable one or both using a SET instruction in Worker.dat.
This is helpful when:
-
You are running multiple worker batches
-
You want to run these processes only once at the end
📅 When to Run Post Conversion ESS Programs?
This is a debated topic, but below is a practical schedule that works for most conversions.
🔍 Deep Dive: How to Run Each ESS Process
1) Synchronize Person Records
This job is resource intensive because it publishes events to SOA.
Recommended Run Time
✅ After hours
✅ After bulk HDL worker loads
Parameters
-
From Date
-
To Date
-
After Batch Load (Yes/No/Blank)
How to run (Daily)
-
From Date = System Date
-
To Date = System Date
-
After Batch Load = No
How to run (Specific Period)
Example:
-
From Date = 12-Aug-2019
-
To Date = 18-Aug-2019
⚠️ Important Note
-
Maximum date range should be 7 days
-
First run can accept more than 7 days
-
Subsequent runs with >7 days may end in Warning and publish no events
2) Refresh Manager Hierarchy
Oracle stores manager hierarchy in a denormalized table:
📌 PER_MANAGER_HRCHY_DN
HDL updates do not always refresh this automatically unless auto-trigger is enabled.
Parameter
-
Updated Within the Last N Days
-
Use 1 day for daily schedule
-
Leave blank for initial full refresh
-
3) Update Person Search Keywords
This process populates the keyword table:
📌 PER_KEYWORDS
Parameters
-
Batch Id
-
Name
-
After Batch Load (Yes/No/Blank)
Best Ways to Run
✅ For a specific HDL batch
-
Enter Batch Id only
-
Leave other parameters blank
✅ For one person
-
Enter Name only
-
Leave others blank
✅ Delta/Incremental mode
-
After Batch Load = Yes
-
Works only when delta size < 20K
⚠️ For delta > 20K
Run with no parameters (All People)
4) Optimize Person Search Keywords Index
This improves performance of keyword search.
Recommended Scheduling
✅ Daily during maintenance window
✅ Run after “Update Person Search Keywords”
Parameters
-
Maximum Optimization Time (default 180 minutes)
-
Optimization Level
-
Full Optimization (default)
-
Rebuild Index
-
5) Autoprovision Roles for All Users
This job evaluates ALL users against auto role provisioning rules.
⚠️ It is heavy and can generate many LDAP requests.
Best Practice
❌ Do not schedule daily
✅ Run manually only when provisioning rules change
Parameter
-
Process Generated Role Requests (Yes/No)
✅ Recommended: No (defer processing)
6) Send Pending LDAP Requests
This job sends pending user/role requests to LDAP.
Best Practice
✅ Run after bulk HDL worker loads
✅ Schedule daily for ongoing requests + future dated processing
Parameters
-
User Type (All/Party/Person)
-
Batch Size
-
Use A (auto calculate)
-
7) Send Personal Data for Multiple Users to LDAP
This job ensures LDAP personal data matches HCM:
-
First Name
-
Last Name
-
Email
-
Manager
When required?
✅ After bulk updates via HDL or Spreadsheet loaders
✅ Recommended once after conversion
8) Synchronize Person Assignments from Position
Required if:
-
You are using Position Management
-
You load assignments with PositionOverrideFlag = Y
-
You want manager or attributes synchronized from position
Parameters
-
Past Period in Days (default 30)
-
Run at Enterprise Level (Yes/No)
-
Legal Employer
9) Calculate Seniority Dates
📌 Important:
You cannot create V3 seniority records using HDL.
HDL supports only updates.
So after loading Worker.dat, you must run:
✅ Calculate Seniority Dates
Parameters
-
Person Number (optional list)
-
Past Period in Days (default 1)
-
Include Terminated Work Relationships
-
Legal Employer
-
Union
-
Selected Seniority Date Rules
⚙️ Performance Tip: Chunk Size for Calculate Seniority Dates
The Past Period in Days controls how many workers are picked.
-
Large period = more workers = slower run
-
Small period = fewer workers = faster run
Improve performance using multi-threading
Oracle supports multi-threading via profile option:
📌 PER_EMP_SD_MAX_PROCESS_REC
Steps
-
Navigate to Manage Profile Options
-
Create profile option:
-
Profile Option Code:
PER_EMP_SD_MAX_PROCESS_REC -
Display Name:
PER_EMP_SD_MAX_PROCESS_REC -
Application: Global Human Resources
-
Module: Employment
-
Start Date: 01/01/1951
-
Enable it and allow update at Site level
-
Navigate to Manage Administrator Profile Values
-
Set site value (example: 2000 / 10000)
This value becomes the chunk size and controls number of threads.
✅ Recommended Post Conversion Run Sequence (Best Practice)
For a one-time conversion, this sequence is practical:
-
Refresh Manager Hierarchy
-
Update Person Search Keywords
-
Optimize Person Search Keywords Index
-
Calculate Seniority Dates
-
Send Pending LDAP Requests
-
Send Personal Data for Multiple Users to LDAP
-
Synchronize Person Records
🔗 Internal Links
-
HDL Worker Data Load Guide → (URL)
-
HDL Seniority Date Adjustments → (URL)
-
HDL Seniority Hours Template → (URL)
-
HDL Absence Entry Template → (URL)
eText Template Report in Oracle Fusion → (URL)
Third Party Load in Oracle Fusion → (URL)
❓ Frequently Asked Questions (FAQ)
Q1. Are Refresh Manager Hierarchy and Update Person Search Keywords mandatory?
Yes. These processes ensure manager visibility and person search performance after HDL loads.
Q2. Can I disable auto-triggered processes after Worker.dat?
Yes. Use SET instructions in Worker.dat to prevent automatic execution.
Q3. Should I schedule “Autoprovision Roles for All Users” daily?
No. Run it only when auto role provisioning rules change.
Q4. Why are people not visible in search after HDL?
Usually because PER_KEYWORDS is not updated or the index needs optimization.
Q5. Why are managers missing after HDL?
Because PER_MANAGER_HRCHY_DN is not refreshed. Run Refresh Manager Hierarchy.
Q6. Why are seniority dates missing after conversion?
Because V3 seniority records are not created by HDL. Run Calculate Seniority Dates.
Q7. Which job sends new user accounts to LDAP?
Send Pending LDAP Requests.
Q8. When should I run Synchronize Person Records?
After bulk person loads, preferably after hours, using correct date range.
💬 Feedback & Comments
Have you faced issues after HDL conversion like:
-
missing managers
-
people not appearing in search
-
delayed user provisioning
-
seniority dates not created
Drop your questions in the comment section 👇