Job Name Table in Fusion HCM

Share

 

Introduction

In Oracle Fusion HCM, understanding the Job Name Table is critical for anyone working with workforce structures, reporting, or integrations. When we talk about the Job Name Table in Oracle Fusion HCM, we are essentially referring to how job-related data is stored, structured, and accessed at the database level.

From a consultant’s perspective, this becomes especially important during reporting (OTBI/BIP), integrations (HDL/OIC Gen 3), and troubleshooting production issues. Many beginners configure jobs through the UI but struggle when asked, “Which table stores job names?” — this blog will bridge that gap with real implementation clarity.


What is Job Name Table in Oracle Fusion HCM?

The Job Name Table in Oracle Fusion HCM refers to the backend table where job definitions and job names are stored.

The primary table is:

Table NameDescription
PER_JOBS_FStores job definitions (date-effective)
PER_JOBS_F_TLStores translated job names

Key Understanding

  • PER_JOBS_F
    • Contains job IDs, codes, effective dates
    • Does NOT store translated names
  • PER_JOBS_F_TL
    • Stores job names in multiple languages
    • Linked using JOB_ID

Why Two Tables?

Oracle uses a multi-language architecture, so:

  • Base table → technical data
  • Translation table (_TL) → user-facing labels

Key Features of Job Name Table in Oracle Fusion

1. Date Effectivity

Jobs are date-effective, meaning:

  • You can maintain historical changes
  • Future-dated job updates are supported

Example:

  • Job Name: “Software Engineer”
  • Updated to: “Senior Software Engineer” effective next quarter

2. Multi-Language Support

Using PER_JOBS_F_TL, the same job can have:

  • English Name
  • French Name
  • Arabic Name

This is critical for global implementations.


3. Integration Friendly

Job data is frequently used in:

  • HDL Loads
  • OIC Gen 3 integrations
  • BI Reports
  • OTBI subject areas

4. Enterprise-Wide Consistency

Jobs are defined at enterprise level, ensuring:

  • Standardized job naming
  • Consistent reporting across business units

Real-World Business Use Cases

Use Case 1: Payroll Integration

A client integrates Fusion HCM with a third-party payroll system.

  • Job Name is required for payroll classification
  • Extract pulls from:
    • PER_JOBS_F
    • PER_JOBS_F_TL

Use Case 2: BI Reporting

HR team wants a report:

  • Employees grouped by Job Name
  • Requires joining:
    • PER_ALL_ASSIGNMENTS_M
    • PER_JOBS_F
    • PER_JOBS_F_TL

Use Case 3: HDL Data Migration

During implementation:

  • Jobs are loaded using HDL
  • System generates JOB_ID internally
  • Later mapped to PER_JOBS_F

Configuration Overview

Before working with Job Name Table, ensure:

  • Enterprise structure is defined
  • Legal Employers are configured
  • Job structure is enabled
  • Profile options for jobs are set

Step-by-Step Configuration in Oracle Fusion

Step 1 – Navigate to Job Setup

Navigation:

Navigator → My Client Groups → Workforce Structures → Jobs


Step 2 – Create a Job

Click Create

Fill details:

FieldExample Value
Job CodeDEV001
NameSoftware Engineer
Effective Start Date01-Jan-2024
Job FamilyIT

Step 3 – Save Configuration

  • Click Save and Close
  • System creates:
    • Record in PER_JOBS_F
    • Record in PER_JOBS_F_TL

Step 4 – Verify in Backend (SQL)

 
SELECT pjf.job_id,
pjf.job_code,
pjft.name
FROM per_jobs_f pjf,
per_jobs_f_tl pjft
WHERE pjf.job_id = pjft.job_id
AND pjft.language = ‘US’;
 

Testing the Setup

Test Scenario

Create an employee and assign job:

  • Employee: Ravi Kumar
  • Job: Software Engineer

Validation Steps

  1. Navigate to:
    • Person Management → Search Employee
  2. Open Assignment
  3. Check Job field

Backend Validation

 
SELECT paam.person_id,
pjft.name
FROM per_all_assignments_m paam,
per_jobs_f pjf,
per_jobs_f_tl pjft
WHERE paam.job_id = pjf.job_id
AND pjf.job_id = pjft.job_id;
 

Architecture / Technical Flow

How Job Name is Retrieved

  1. Assignment stores → JOB_ID
  2. JOB_ID maps to → PER_JOBS_F
  3. Name fetched from → PER_JOBS_F_TL

Flow Diagram (Conceptual)

Assignment → JOB_ID → PER_JOBS_F → PER_JOBS_F_TL → Job Name


Common Implementation Challenges

1. Missing Job Name in Reports

Issue:

  • Only PER_JOBS_F used

Fix:

  • Always join PER_JOBS_F_TL

2. Duplicate Job Names

Issue:

  • Same name with different JOB_ID

Fix:

  • Enforce naming conventions

3. Language Issues

Issue:

  • Job name appears blank

Cause:

  • Language mismatch

Fix:

 
AND pjft.language = USERENV(‘LANG’)
 

4. Date Effectivity Issues

Issue:

  • Incorrect job name returned

Fix:

  • Use effective date filters:
 
SYSDATE BETWEEN pjf.effective_start_date AND pjf.effective_end_date
 

Best Practices

1. Always Use TL Table for Names

Never rely only on base table.


2. Apply Effective Date Filters

Avoid incorrect historical/future data.


3. Maintain Naming Standards

Example:

  • DEV-ENG-01 → Software Engineer
  • DEV-SR-01 → Senior Engineer

4. Use Views Instead of Tables (Preferred)

For reporting:

  • Use secured views like:
    • PER_JOBS_F_VL

5. Optimize Queries

Always filter:

  • Language
  • Effective dates

Frequently Asked Interview Questions

1. Which table stores job names in Oracle Fusion?

Answer:
PER_JOBS_F_TL stores job names.


2. What is PER_JOBS_F used for?

Stores job definitions and IDs.


3. Why is TL table required?

For multi-language support.


4. How do you join job tables?

Using JOB_ID.


5. What is date effectivity?

Tracking historical and future changes.


6. How to get current job name?

Use SYSDATE filter.


7. What is JOB_ID?

Unique identifier for job.


8. Can job names change over time?

Yes, using effective dating.


9. What is the difference between job and position?

  • Job → generic role
  • Position → specific instance

10. Which table links employee to job?

PER_ALL_ASSIGNMENTS_M


Real Implementation Scenario

In one implementation:

  • Client had 50,000 employees
  • Reports were slow

Issue

  • Missing filters on PER_JOBS_F

Solution

  • Added:
    • Effective date filter
    • Language filter

Result

  • Report time reduced from 2 minutes → 10 seconds

FAQs

1. Can we update job name directly in database?

No. Always use UI or HDL.


2. Which is better for reporting: tables or views?

Views (like PER_JOBS_F_VL) are recommended.


3. How to handle multiple languages?

Use PER_JOBS_F_TL with language condition.


Summary

The Job Name Table in Oracle Fusion HCM is a foundational concept that every consultant must understand beyond UI configuration. Knowing how PER_JOBS_F and PER_JOBS_F_TL work together helps in:

  • Building accurate reports
  • Designing integrations in OIC Gen 3
  • Troubleshooting production issues
  • Handling multi-language environments

In real-world projects, most issues around jobs come from missing joins, incorrect filters, or misunderstanding date effectivity. Mastering this area significantly improves your confidence as an Oracle HCM consultant.

For deeper reference, always review official Oracle documentation:
https://docs.oracle.com/en/cloud/saas/index.html


Share

Leave a Reply

Your email address will not be published. Required fields are marked *