FF_FORMULAS_F — BONUS_CALC_V2 formula references EMP_GRADE_STEP (deleted 01-FEB-2026)
Payroll action and assignment action errors, element entry validity, Fast Formula compilation status, costing CCID validation, bank account completeness, and retropay trigger status.
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.
HCM-02 systematically investigates every major condition that can cause the issue this diagnostic targets. Below is the complete coverage breakdown.
Representative output showing the diagnostic running against a real-world scenario. The script identifies every condition, states the root cause, and generates the fix.
════════════════════════════════════════════════════════════
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
════════════════════════════════════════════════════════════
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.
Backup happens before any DML. Script aborts if backup creation fails.
This article is produced automatically at the end of every HCM-02 execution — written from actual run output. No manual documentation required.
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.
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.
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 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.
| Table | Module | Purpose |
|---|---|---|
| PAY_PAYROLL_ACTIONS | PAY | Payroll run action — status, period, payroll name |
| PAY_ASSIGNMENT_ACTIONS | PAY | Per-employee action status — COMPLETE, ERROR |
| PAY_ELEMENT_ENTRIES_F | PAY | Element entries — screen values for each element |
| PAY_ELEMENT_ENTRY_VALUES_F | PAY | Element entry values — amounts and dates |
| PAY_COSTS | PAY | Costing distribution — element to GL account mapping |
| FF_FORMULAS_F | PAY | Fast Formula definitions — referenced by elements |
| PAY_ELEMENT_LINKS_F | PAY | Element links — eligibility and costing rules |
| GL_PERIOD_STATUSES | GL | GL period open status for Transfer to GL |
| PER_ALL_ASSIGNMENTS_F | HR | Assignment active status for payroll eligibility |
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.
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.
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:
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_EVENTS, XLA_AE_HEADERS — incorrect changes corrupt the subledger audit trail in ways undetectable until period close fails or an auditor requests a reconciliationWF_ITEMS, WF_ITEM_ACTIVITY_STATUSES — ad-hoc DML can corrupt the workflow engine state instance-wideA 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.
| 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. |
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.
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.
INSERT from the backup table. No reconstruction required.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.
References the Oracle public documentation for this diagnostic area. These links open directly on docs.oracle.com.
| R12 Guide (PDF) | Title & Chapter | Detail |
|---|---|---|
| 120ceug.pdf | Oracle Cash Management User Guide — Oracle Payroll Reconciliation | pp. 1-22 to 1-23: Payroll reconciliation and GL journal entry integration |
| 120glug.pdf | Oracle General Ledger User's Guide — Journal Import | Payroll costing journal entries to GL_INTERFACE and GL period close |
| 120funmo.pdf | Oracle Applications Multiple Organizations Implementation Guide — Business Groups | Business group and legal entity structure for payroll costing and GL posting |
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.
See this script run autonomously — Oracle AI Platform →