HCM-02 EBS R12.x HCM Tier 2 Data Fix

Payroll Run Diagnostic

Payroll action and assignment action errors, element entry validity, Fast Formula compilation status, costing CCID validation, bank account completeness, and retropay trigger status.

PlatformOracle EBS R12.x
Input RequiredPayroll Action ID or Payroll Name
Diagnostic Checks35+
Data Sources9 Oracle tables
Fix Options4 guided fixes
Backup CreatedYes — Automatic

Why This Fails — and What It Costs

Oracle EBS Payroll processing failures occur at one of four sequential stages — the QuickPay or payroll run itself, the Pre-Payments process that groups net pay into payment batches, the Costing process that allocates payroll costs to GL accounts, or the Transfer to GL process that posts the payroll journal. Each stage creates records in PAY_PAYROLL_ACTIONS and PAY_ASSIGNMENT_ACTIONS, and a failure at any stage produces an ACTION_STATUS of ERROR that blocks all subsequent stages from running for the affected assignments.

The payroll run stage is where element entry errors surface. An element entry is the record that tells Oracle Payroll how much to pay an employee for a specific pay component — salary, bonus, overtime, deductions. When an element entry references a formula that references a database item that has been changed — for example, a salary element that references a grade step table that was restructured — the payroll run produces an Oracle Payroll formula error for that employee's assignment. These formula errors must be diagnosed by examining the element entry, the formula, and the database items it references, which requires reading the PAY_FORMULA_RESULT_RULES table and the FF_FORMULAS_F definitions.

The Costing stage is the payroll-to-GL bridge. When costing completes successfully, it creates distribution records in PAY_COSTS that map each payroll element to a GL account via the costing hierarchy — employee costing, element link costing, or payroll-level costing. When the costing hierarchy has a gap — no costing defined at any level for a specific element and cost center combination — that element's cost is charged to the default costing account, which may be incorrect. HCM-02 validates the complete costing hierarchy for every element processed in the run.

HCM-02 runs a complete payroll run diagnostic — assignment action status for every employee in the run, formula error identification and element entry context, costing hierarchy completeness, Pre-Payments status and payment method validity, Transfer to GL completion and journal posting status, and retroactive pay element identification for the current run.

What This Script Diagnoses

HCM-02 systematically investigates every major condition that can cause the issue this diagnostic targets. Below is the complete coverage breakdown.

Assignment Action Status
PAY_ASSIGNMENT_ACTIONS status for every employee in the run — COMPLETE, ERROR, MARK_FOR_RETRY. Error count by element type. Identifies which employees need QuickPay re-run after the root cause is fixed.
Formula Error Analysis
Formula error message and the specific database item or condition that caused it. Element entry context for the failing employee. Fast Formula definition review to identify the incorrect reference.
Costing Hierarchy
Costing hierarchy completeness for every element processed — employee level, element link level, payroll level. Identifies assignments costed to the default suspense account and the missing hierarchy level.
Payment & GL Transfer
Pre-Payments status and payment method validity for all assignments. Transfer to GL completion and GL journal posting status. Payroll-to-GL reconciliation for the period.

What the Report Looks Like

Representative output showing the diagnostic running against a real-world scenario. The script identifies every condition, states the root cause, and generates the fix.

HCM-02 — HCM-02 Diagnostic Report
════════════════════════════════════════════════════════════
  ORACLE EBS R12 — PAYROLL RUN DIAGNOSTIC
════════════════════════════════════════════════════════════
  Payroll Name       : US Monthly Payroll
  Period             : FEB-2026
  Payroll Action ID  : PAY-ACT-2026-04481
  Case Number        : HCM-492810
  Report Date        : 22-FEB-2026 08:30:15
════════════════════════════════════════════════════════════

[ SECTION 1 — RUN STATUS ]                  STATUS: ✗ ERRORS
────────────────────────────────────────────────────────────
  Total Assignments  : 842
  COMPLETE           : 839 assignments ✓
  ERROR              : 3 assignments ✗
  Employees in Error : EMP-10481, EMP-10492, EMP-10510

[ SECTION 2 — FORMULA ERRORS ]              STATUS: ✗ FAIL
────────────────────────────────────────────────────────────
  EMP-10481          : BONUS element — formula BONUS_CALC_V2 error ✗
  Error Detail       : DATABASE ITEM EMP_GRADE_STEP not found
  EMP-10492          : OVERTIME element — formula OT_RATE error ✗
  EMP-10510          : BONUS element — same formula error as EMP-10481 ✗

[ SECTION 3 — COSTING ]                     STATUS: ⚠ WARNING
────────────────────────────────────────────────────────────
  ⚠ 12 assignments costed to default account — no element-level costing defined
  Default Account    : 01-900-9999-0000 — Payroll Suspense

[ SECTION 4 — PRE-PAYMENTS ]                STATUS: ✓ NOT YET RUN
────────────────────────────────────────────────────────────
  Pre-Payments not yet submitted — run after formula errors resolved ✓

[ SECTION 5 — TRANSFER TO GL ]              STATUS: ✓ NOT YET RUN

════════════════════════════════════════════════════════════
  DIAGNOSTIC SUMMARY
════════════════════════════════════════════════════════════
  3 assignments in ERROR — BONUS_CALC_V2 formula references deleted grade step
  FIX: Correct formula database item reference or re-run as QuickPay after fix
════════════════════════════════════════════════════════════

The Four-Layer Architecture in HCM-02

1
Diagnostic Engine
Runs 35+ checks across assignment action status for every employee in the run, formula error identification and element entry context, costing hierarchy completeness per element and cost center, Pre-Payments status and payment method validity, Transfer to GL completion, and retroactive pay element identification.
2
Backup Created
Before any payroll data is modified, CONS_BACKUP.PAY_PAYROLL_ACTIONS_<case#>, PAY_ASSIGNMENT_ACTIONS_<case#>, and PAY_ELEMENT_ENTRIES_F_<case#> are created and row counts verified.
3
Guided Data Fix
Formula errors are resolved by correcting the element entry or the formula database item reference — never by modifying formula definitions directly. Costing corrections are applied to PAY_COSTS after the payroll run. Payroll rollback and re-run is the standard recovery for assignment-level errors after the root cause is fixed.
4
KB Article Generated
Complete KB article generated — payroll action ID, error employees, formula error detail, costing warnings, fix applied, re-run result. Upload directly to your knowledge base.

Backup & Rollback for HCM-02

Every table touched by HCM-02 data fixes is backed up before the first UPDATE fires. Backup is verified by row count. One script restores the original state if needed.

Tables Backed Up — HCM-02

CONS_BACKUP.PAY_PAYROLL_ACTIONS_<case#> CONS_BACKUP.PAY_ASSIGNMENT_ACTIONS_<case#> CONS_BACKUP.PAY_ELEMENT_ENTRIES_F_<case#> CONS_BACKUP.PAY_COSTS_<case#>

Backup happens before any DML. Script aborts if backup creation fails.

Pre-Flight Safety Guards

No active payroll lockChecked ✓
No active session lock on target rowsVerified ✓
CONS_BACKUP schema accessibleVerified ✓

FIX_BACKUP_REGISTRY Entry

REGISTRY_ID<auto-generated>
CASE_NUMBER<consultant case#>
SOURCE_TABLE<table modified>
ROWS_BACKED_UP<row count>
BACKUP_VERIFIEDYES ✓
ROLLBACK_SQLStored as CLOB
STATUSACTIVE
ENVIRONMENTPRODUCTION

Auto-Generated Knowledge Base Article

This article is produced automatically at the end of every HCM-02 execution — written from actual run output. No manual documentation required.

KB-HCM-492810-001 · Script: HCM-02
FEB-2026 Payroll Run — 3 Assignments in ERROR: BONUS_CALC_V2 Formula Database Item Missing
US Monthly Payroll FEB-2026 run completed with 3 assignment errors. EMP-10481, EMP-10492, EMP-10510 in ERROR status. BONUS element formula BONUS_CALC_V2 references database item EMP_GRADE_STEP which no longer exists after grade structure reorganization. 12 assignments costed to default suspense account.
Grade structure reorganization on 01-FEB-2026 deleted the EMP_GRADE_STEP database item as part of the grade table cleanup. BONUS_CALC_V2 formula was not updated to reference the new EMP_GRADE_BAND database item. 3 employees on BONUS element affected. Pre-payments and Transfer to GL have not run.
PAY_ASSIGNMENT_ACTIONS — ACTION_STATUS = ERROR (EMP-10481, EMP-10492, EMP-10510)
FF_FORMULAS_F — BONUS_CALC_V2 formula references EMP_GRADE_STEP (deleted 01-FEB-2026)
BONUS_CALC_V2 formula updated to reference EMP_GRADE_BAND. 3 assignments rolled back and re-run as QuickPay — all 3 completed successfully. Payroll run completed for all 842 assignments. Pre-Payments and Transfer to GL submitted and complete.
Formula database item change control: any HR setup change that removes a database item must include a formula impact assessment before the change is applied. HCM-02 formula error scan to run in payroll parallel test before live payroll submission.
HCMPayrollPAY_ASSIGNMENT_ACTIONSFormula ErrorCostingPAY_COSTSEBS R12.2

What This Script Finds

Error

Formula Database Item Missing

Fast Formula references a database item that no longer exists — most commonly after an HR setup change (grade restructure, benefit plan change) that removes the underlying data without updating the formulas that reference it.

Costing

Assignments Costed to Suspense

No costing defined at any level of the hierarchy for an element-cost center combination. Payroll costs charged to the default suspense account instead of the correct GL account. Finance team discovers this at month-end reconciliation.

Payment

Pre-Payments Failed — Invalid Method

Employee payment method (bank account, check) invalid — bank account closed, direct deposit prenote failed, or payment method end-dated. Pre-Payments process errors for that employee.

GL

Transfer to GL Failed

GL period not open for the payroll costing period. Payroll costs sitting in PAY_COSTS but not yet journalized. Finance close blocked until Transfer to GL completes.

Tables Examined

TableModulePurpose
PAY_PAYROLL_ACTIONSPAYPayroll run action — status, period, payroll name
PAY_ASSIGNMENT_ACTIONSPAYPer-employee action status — COMPLETE, ERROR
PAY_ELEMENT_ENTRIES_FPAYElement entries — screen values for each element
PAY_ELEMENT_ENTRY_VALUES_FPAYElement entry values — amounts and dates
PAY_COSTSPAYCosting distribution — element to GL account mapping
FF_FORMULAS_FPAYFast Formula definitions — referenced by elements
PAY_ELEMENT_LINKS_FPAYElement links — eligibility and costing rules
GL_PERIOD_STATUSESGLGL period open status for Transfer to GL
PER_ALL_ASSIGNMENTS_FHRAssignment active status for payroll eligibility
Decision Framework

How Every Fix Decision Is Made

Before any data is modified in a production Oracle database, AP-01 walks through a four-stage decision process. Every condition identified by the diagnostic maps to exactly one resolution path.

1
First Option — Always
Can the front end fix this?

Oracle's own forms and concurrent programs are always the first option. If the condition can be corrected through Oracle's standard UI — a form, a concurrent program, a setup screen — that path is taken first. No consultant SQL required, no database risk, and the fix is fully supported by Oracle. The diagnostic identifies these conditions explicitly and states the exact front-end navigation path.

✓ Functional Fix
2
When Front End Is Not Available
Is a direct data fix safe to apply?

When the front-end path is unavailable or would require an unacceptable volume of manual steps, a direct fix is evaluated against explicit criteria. All of the following must be true before proceeding:

The fix mirrors exactly what Oracle's own code would have done if the underlying condition were corrected
All dependent tables have been identified and will be updated in the same transaction
The fix is fully reversible — a single INSERT from the backup table restores the original state
The environment patch level has been confirmed against the fix logic version
⚡ Direct Fix
3
Hard Stops — No Exceptions
Does this require Oracle Support?

Certain table areas are never touched directly, regardless of how well the underlying structure is understood. The diagnostic flags these conditions and generates the Service Request documentation:

XLA subledger tablesXLA_EVENTS, XLA_AE_HEADERS — incorrect changes corrupt the subledger audit trail in ways undetectable until period close fails or an auditor requests a reconciliation
Workflow engine tablesWF_ITEMS, WF_ITEM_ACTIVITY_STATUSES — ad-hoc DML can corrupt the workflow engine state instance-wide
Recurring conditions after a fix — indicates a code defect, not a data error. Documented and submitted as a Service Request with a reproducible test case
⚠ Oracle Support
4
For All Approved Direct Fixes
Backup → Execute → Verify → Document

A timestamped backup table is created and row-count verified before the first UPDATE fires. Explicit parameter confirmation is required — the script will not self-execute. After execution, a verification query confirms the expected state. A complete change record — rows affected, before and after values, database username, timestamp — is written to the FIX_BACKUP_REGISTRY and becomes the primary artifact in the knowledge base entry for this incident.

📋 Documented
Condition Identified Resolution Path Notes
Formula error — database item not found or returns null Functional First Correct the formula via Fast Formula > Edit. HCM-02 identifies the failing formula, the missing database item, and the replacement database item from the current HR setup.
Assignment in ERROR — re-run after root cause fixed Functional First Roll back the errored assignment action and re-run as QuickPay after the formula or element entry is corrected. HCM-02 identifies the rollback parameters and the QuickPay submission sequence.
Element entry incorrect — wrong amount or dates Direct Fix HCM-02 corrects SCREEN_ENTRY_VALUE in PAY_ELEMENT_ENTRY_VALUES_F with full backup. Date-effective row selection validated before correction. Pre-flight confirms the payroll run has not yet completed for the assignment.
Costing to default suspense account — hierarchy gap Functional First Define costing for the element-cost center combination via Payroll > Costing. HCM-02 identifies the element and cost center combination with no costing defined and the level in the hierarchy where it should be added.
Pre-Payments failed — payment method invalid Functional First Correct the payment method on the employee record via HR > Assignment > Payment Method. HCM-02 identifies the invalid payment method and the replacement.
Transfer to GL failed — GL period not open Functional First Open the GL period and resubmit Transfer to GL. HCM-02 confirms the payroll costing period and the corresponding GL period that must be open.
Retroactive pay element unexpected Functional First Review retroactive pay elements via Payroll > Retro Notifications. HCM-02 identifies the source change that triggered the retroactive calculation and the affected periods.
Net pay below minimum threshold — zero or negative pay Functional First Review the deduction elements — an excessive deduction is producing zero or negative net pay. HCM-02 identifies the element and the deduction amount causing the result.
Safeguards

Nothing Executes Without a Safety Net

Before any data fix runs, the script verifies pre-flight conditions and creates a complete verified backup. If any check fails, the script aborts. There is no partial execution path.

Pre-Flight Checks — All Must Pass
POSTED_FLAG = 'N'
Will not modify a posted transaction under any circumstances
ACCOUNTING_EVENT_ID IS NULL
Will not modify rows with an active or pending XLA accounting event
No active database lock
Checks V$LOCK — will not proceed if another session holds a lock on target rows
CONS_BACKUP schema writable
Backup schema must be accessible before any DML is permitted
Explicit confirmation required
Script outputs a confirmation prompt — DML does not execute until consultant enters the case number as the execution parameter
Backup Methodology

Before the first UPDATE fires, the script creates a complete copy of every row to be modified. Tables are named CONS_BACKUP.<TABLE>_<CASE#> and persist permanently after execution.

PAY_PAYROLL_ACTIONS
PAY_ASSIGNMENT_ACTIONS
PAY_ELEMENT_ENTRIES_F
PAY_COSTS
Row count verified after backup creation. If backup fails for any reason the script aborts without executing any DML. Rollback is a single INSERT from the backup table. No reconstruction required.
HCM-02 — Pre-Flight & Backup Verification
════════════════════════════════════════════════════════════
  PRE-FLIGHT SAFETY CHECK
════════════════════════════════════════════════════════════
  Payroll Action ID  : PAY-ACT-2026-04481
  Pre-Payments       : NOT YET RUN — safe to correct errors ✓
  Transfer to GL     : NOT YET RUN ✓
  CONS_BACKUP Schema : Accessible ✓
  Session Lock Check : No locks on PAY_ASSIGNMENT_ACTIONS ✓
────────────────────────────────────────────────────────────
  ALL PRE-FLIGHT CHECKS PASSED
════════════════════════════════════════════════════════════
  Creating : CONS_BACKUP.PAY_ASSIGNMENT_ACTIONS_492810
  Rows     : 3 error rows backed up ✓
  Creating : CONS_BACKUP.PAY_ELEMENT_ENTRIES_F_492810
  Rows     : 3 rows backed up ✓
  Registry : FIX_BACKUP_REGISTRY — ID 7058 created ✓
────────────────────────────────────────────────────────────
  BACKUP COMPLETE — Fix formula then QuickPay re-run
════════════════════════════════════════════════════════════
Knowledge Base

Every Execution Produces a Record

The knowledge base article is generated automatically from the script's execution output. No manual documentation required. It becomes the institutional record — for the team, for auditors, and for every future engagement in the same environment.

Zero Manual Effort
Every field — environment, tables, before/after values, backup reference, root cause, prevention — is generated from actual execution output. Nothing is written by hand.
Patterns Surface Over Time
The first engagement produces findings. The third produces patterns. Recurring conditions that are invisible as individual incidents become obvious as knowledge base trends.
Survives Staff Turnover
The knowledge base is an institutional record of the Oracle environment. A new manager, a new DBA, or an external auditor can read exactly what happened, what was done, and what prevents recurrence.
KB-HCM-492810-001
FEB-2026 Payroll Run — 3 Assignments in ERROR: BONUS_CALC_V2 Formula Database Item Missing
EBS R12.2.10 · HR / Payroll
● RESOLVED
Symptom
US Monthly Payroll FEB-2026 run completed with 3 assignment errors. EMP-10481, EMP-10492, EMP-10510 in ERROR status. BONUS element formula BONUS_CALC_V2 references database item EMP_GRADE_STEP which no longer exists after grade structure reorganization. 12 assignments costed to default suspense account.
Root Cause
Grade structure reorganization on 01-FEB-2026 deleted the EMP_GRADE_STEP database item as part of the grade table cleanup. BONUS_CALC_V2 formula was not updated to reference the new EMP_GRADE_BAND database item. 3 employees on BONUS element affected. Pre-payments and Transfer to GL have not run.
Tables
PAY_ASSIGNMENT_ACTIONS — ACTION_STATUS = ERROR (EMP-10481, EMP-10492, EMP-10510)
FF_FORMULAS_F — BONUS_CALC_V2 formula references EMP_GRADE_STEP (deleted 01-FEB-2026)
Fix Applied
BONUS_CALC_V2 formula updated to reference EMP_GRADE_BAND. 3 assignments rolled back and re-run as QuickPay — all 3 completed successfully. Payroll run completed for all 842 assignments. Pre-Payments and Transfer to GL submitted and complete.
Prevention
Formula database item change control: any HR setup change that removes a database item must include a formula impact assessment before the change is applied. HCM-02 formula error scan to run in payroll parallel test before live payroll submission.
Tags
HCMPayrollPAY_ASSIGNMENT_ACTIONSFormula ErrorCostingPAY_COSTSEBS R12.2

Oracle Documentation References

References the Oracle public documentation for this diagnostic area. These links open directly on docs.oracle.com.

R12 Guide (PDF)Title & ChapterDetail
120ceug.pdfOracle Cash Management User Guide — Oracle Payroll Reconciliationpp. 1-22 to 1-23: Payroll reconciliation and GL journal entry integration
120glug.pdfOracle General Ledger User's Guide — Journal ImportPayroll costing journal entries to GL_INTERFACE and GL period close
120funmo.pdfOracle Applications Multiple Organizations Implementation Guide — Business GroupsBusiness group and legal entity structure for payroll costing and GL posting

Ready to Resolve This in Your Environment?

HCM-02 is one of 65 diagnostic scripts covering every major Oracle EBS and Fusion module. William A. Green Consulting runs the script in your environment, applies guided data fixes, and builds the knowledge base that prevents the same issues from recurring.

Schedule a Discovery Call → ← View All 65 Scripts

See this script run autonomously — Oracle AI Platform →