Goals Tables in Oracle Fusion HCM
In any Oracle Fusion HCM implementation, understanding Goals tables in Oracle Fusion HCM is critical for reporting, integrations, and analytics. Whether you’re building OTBI reports, extracting data through BI Publisher, or integrating with external performance systems, knowing where and how goal data is stored can save hours of troubleshooting and design effort.
This blog provides a deep, consultant-level understanding of the Goals data model in Oracle Fusion (26A), including key tables, relationships, and real-world usage.
What are Goals Tables in Oracle Fusion HCM?
Goals in Oracle Fusion HCM are part of the Performance Management module, where employees and managers define, track, and evaluate performance objectives.
From a technical perspective, goals are stored across multiple tables in the Fusion schema. These tables capture:
- Goal definitions
- Goal plans
- Assignments to employees
- Progress tracking
- Measurement and evaluation data
Unlike simple transactional tables, Goals data is highly relational, meaning multiple tables must be joined to get meaningful insights.
Why Understanding Goals Tables is Important
In real implementations, consultants frequently work with Goals tables for:
- Custom reports (BI Publisher / OTBI)
- Data migration and conversions
- Integrations with third-party systems
- Performance dashboards
- Audit and compliance reporting
Without understanding the underlying tables, extracting correct data becomes difficult.
Key Goals Tables in Oracle Fusion HCM
Below is a structured breakdown of the most important tables used in Goals Management.
1. HRA_GOALS
This is the primary table for storing goal details.
Key Columns:
| Column Name | Description |
|---|---|
| GOAL_ID | Unique identifier for the goal |
| NAME | Goal name |
| DESCRIPTION | Goal description |
| START_DATE | Goal start date |
| TARGET_COMPLETION_DATE | Expected completion |
| STATUS_CODE | Goal status |
| PRIORITY_CODE | Priority level |
👉 This is the first table you query when working with goals.
2. HRA_GOAL_PLANS
Stores information about goal plans assigned to employees.
| Column Name | Description |
|---|---|
| GOAL_PLAN_ID | Unique plan ID |
| NAME | Plan name |
| START_DATE | Plan start |
| END_DATE | Plan end |
👉 Helps group multiple goals under a structured plan.
3. HRA_GOAL_PLAN_ASSIGNMENTS
Maps goal plans to employees.
| Column Name | Description |
|---|---|
| GOAL_PLAN_ASSIGNMENT_ID | Assignment ID |
| PERSON_ID | Employee ID |
| GOAL_PLAN_ID | Plan reference |
👉 Critical table to identify which employee has which goal plan.
4. HRA_GOAL_ASSIGNMENTS
This table links goals to employees.
| Column Name | Description |
|---|---|
| GOAL_ASSIGNMENT_ID | Unique ID |
| GOAL_ID | Goal reference |
| PERSON_ID | Employee ID |
👉 Used heavily in reporting to fetch employee-level goals.
5. HRA_GOAL_MEASUREMENTS
Stores goal progress and measurement data.
| Column Name | Description |
|---|---|
| MEASUREMENT_ID | Unique ID |
| GOAL_ID | Goal reference |
| ACTUAL_VALUE | Actual progress |
| TARGET_VALUE | Expected value |
👉 Useful for KPI tracking and analytics.
6. HRA_EVALUATIONS (Indirectly Related)
While not a pure goals table, this stores performance evaluation data, often linked with goals.
Real-World Implementation Use Cases
Use Case 1: Performance Dashboard
A client wanted a dashboard showing:
- Employee goals
- Completion percentage
- Overdue goals
Solution:
- HRA_GOALS → Goal details
- HRA_GOAL_ASSIGNMENTS → Employee mapping
- HRA_GOAL_MEASUREMENTS → Progress
👉 Combined using BI Publisher.
Use Case 2: Integration with External PMS Tool
An organization used a third-party performance system.
Requirement:
Export all goals nightly.
Solution:
- Extract from HRA_GOALS and HRA_GOAL_ASSIGNMENTS
- Push via integration
👉 Implemented using scheduled extract.
Use Case 3: Audit Compliance Reporting
Audit team required:
- Who created goals
- When modified
- Status changes
Solution:
- Use WHO columns (CREATED_BY, LAST_UPDATE_DATE)
- Combine with goal tables
Data Model Relationship (Conceptual Flow)
Understanding relationships is key.
↓
HRA_GOAL_PLAN_ASSIGNMENTS
↓
HRA_GOAL_ASSIGNMENTS
↓
HRA_GOALS
↓
HRA_GOAL_MEASUREMENTS
👉 Always join using:
- GOAL_ID
- PERSON_ID
- GOAL_PLAN_ID
Prerequisites Before Working with Goals Tables
Before querying or building reports:
- Access to Fusion database views (secured views)
- Knowledge of:
- PER_ALL_PEOPLE_F (Employee data)
- PER_PERSON_NAMES_F
- Understanding of date-effective tables
- Proper roles (BI / SQL access)
Step-by-Step: Querying Goals Data (Practical Example)
Step 1 – Identify Employee
Use:
FROM PER_ALL_PEOPLE_F;
Step 2 – Fetch Assigned Goals
FROM HRA_GOALS G
JOIN HRA_GOAL_ASSIGNMENTS GA
ON G.GOAL_ID = GA.GOAL_ID;
Step 3 – Add Goal Plan Information
FROM HRA_GOAL_PLANS GP
JOIN HRA_GOAL_PLAN_ASSIGNMENTS GPA
ON GP.GOAL_PLAN_ID = GPA.GOAL_PLAN_ID;
Step 4 – Add Measurement Data
FROM HRA_GOALS G
JOIN HRA_GOAL_MEASUREMENTS GM
ON G.GOAL_ID = GM.GOAL_ID;
Step 5 – Final Combined Query
In real projects, consultants combine all:
P.PERSON_NUMBER,
G.NAME AS GOAL_NAME,
GM.ACTUAL_VALUE,
GM.TARGET_VALUE
FROM PER_ALL_PEOPLE_F P
JOIN HRA_GOAL_ASSIGNMENTS GA ON P.PERSON_ID = GA.PERSON_ID
JOIN HRA_GOALS G ON GA.GOAL_ID = G.GOAL_ID
LEFT JOIN HRA_GOAL_MEASUREMENTS GM ON G.GOAL_ID = GM.GOAL_ID;
Testing the Data Extraction
Test Scenario
Employee: EMP1001
Goal: Increase Sales by 20%
Expected Output
| Field | Value |
|---|---|
| Goal Name | Increase Sales |
| Target | 20% |
| Actual | 15% |
| Status | In Progress |
Validation Checks
- Goal assigned correctly
- Dates within plan range
- Measurement values populated
Common Implementation Challenges
1. Missing Data in Reports
Cause:
Incorrect joins between tables.
Solution:
Always validate relationships using GOAL_ID and PERSON_ID.
2. Duplicate Records
Cause:
Multiple assignments or plan versions.
Solution:
Use DISTINCT or filter by active records.
3. Date-Effective Issues
Fusion tables often store historical data.
Tip:
Always filter using:
4. Security Restrictions
Fusion uses secured views.
Solution:
Use delivered OTBI subject areas if direct SQL is restricted.
Best Practices from Real Projects
1. Always Use Secured Views
Instead of base tables, use:
- HRA_GOALS_VL
- Secured OTBI subject areas
2. Avoid Hardcoding Status Codes
Statuses can vary by implementation.
3. Optimize Queries
- Use indexed columns (GOAL_ID, PERSON_ID)
- Avoid unnecessary joins
4. Validate with Functional Team
Technical data must match:
- UI screens
- Business expectations
5. Use BI Publisher for Complex Reports
For formatted reports, BI Publisher is preferred over OTBI.
Frequently Asked Questions (FAQs)
1. Which is the main table for goals in Oracle Fusion HCM?
The primary table is HRA_GOALS, which stores core goal details like name, description, and status.
2. How are goals linked to employees?
Through the HRA_GOAL_ASSIGNMENTS table using PERSON_ID.
3. Where is goal progress stored?
Goal progress is stored in HRA_GOAL_MEASUREMENTS, including actual vs target values.
Summary
Understanding Goals tables in Oracle Fusion HCM is essential for any consultant working on reporting, integrations, or analytics.
Key takeaways:
- HRA_GOALS is the core table
- Multiple relational tables are involved
- Proper joins are critical
- Real-world use cases include dashboards, integrations, and audits
In real implementations, consultants spend significant time designing queries around these tables. Mastering this data model gives you a strong advantage in both projects and interviews.
For deeper technical details, refer to Oracle official documentation:
https://docs.oracle.com/en/cloud/saas/index.html