FA-04 EBS R12.x Fixed Assets Tier 2 Data Fix

FA Period Close Readiness Diagnostic

Pre-close scan — depreciation run completion, unfinished mass additions, pending retirements, unreconciled asset cost to GL, CIP capitalization events, and tax book alignment.

PlatformOracle EBS R12.x
Input RequiredBook Name and Period Name
Diagnostic Checks32+
Data Sources8 Oracle tables
Fix Options4 guided fixes
Backup CreatedYes — Automatic

Why This Fails — and What It Costs

The Oracle EBS Fixed Assets period close is a prerequisite for the GL period close — FA must create journal entries and transfer them to GL before the GL period can be closed. The FA period close has its own sequence: depreciation must complete, Calculate Gains and Losses must process all PENDING retirements, Create Journal Entries must run, and finally the period can be closed via the Close Period function in FA Book Controls. Each step must be completed in order, and each step can fail independently. A single PENDING retirement or an asset with zero cost will not block the depreciation run, but it will produce an incomplete accounting picture in GL.

The most common FA period close blocker in large asset portfolios is an incomplete depreciation run — specifically, assets that were added during the period with a date in service that puts them in the current period but were added after depreciation was run. In Oracle FA, you cannot re-run depreciation for a period once it has run. Assets added after the depreciation run will not be depreciated until the next period, resulting in a one-period gap in depreciation for late-added assets. FA-04 identifies assets added after the depreciation run whose depreciation was missed.

Create Journal Entries is the most frequently forgotten FA close step. Depreciation is run, the FA team confirms the depreciation amounts look correct, and then the period is closed — but no one submits Create Journal Entries. The depreciation is recorded in FA_DEPRN_SUMMARY, the asset NBV is reduced in FA_BOOKS, but the GL journals are never generated. The GL close then fails because the FA subledger balance does not match the GL depreciation expense account balance. FA-04 specifically checks whether Create Journal Entries has been run for the current period and whether the resulting GL journals have been posted.

FA-04 runs a complete FA period-close readiness diagnostic — depreciation run status and completion confirmation, PENDING retirement count and CGL status, assets added after depreciation (missed current-period depreciation), Create Journal Entries completion status, journal posting status, unprocessed mass additions count, and FA-to-GL transfer reconciliation.

What This Script Diagnoses

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

Depreciation Completeness
Depreciation run status for the period — FA_DEPRN_PERIODS DEPRECIATION_BATCH_ID. Total asset count processed vs expected. Assets added after depreciation identified with missed-period depreciation amount.
Retirement & CGL Status
PENDING retirement count and total NBV across all retirements entered in the period. Calculate Gains and Losses completion status. Gain/loss amounts pending recognition in GL.
Create Journal Entries
CJE completion status for the current period. GL journal batch ID from CJE run. Journal posting status — confirms depreciation and gain/loss journals are in GL before period close.
Mass Additions Queue
FA_MASS_ADDITIONS queue status at period close — ON HOLD, SPLIT, POST counts. Identifies assets that should have been capitalized in the period but are still in the mass additions queue.

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.

FA-04 — FA-04 Diagnostic Report
════════════════════════════════════════════════════════════
  ORACLE EBS R12 — FA PERIOD CLOSE READINESS DIAGNOSTIC
════════════════════════════════════════════════════════════
  Book               : US CORP
  Period             : FEB-2026
  Case Number        : FA-514840
  Report Date        : 25-FEB-2026 16:10:44
════════════════════════════════════════════════════════════

[ SECTION 1 — DEPRECIATION STATUS ]          STATUS: ✓ COMPLETE
────────────────────────────────────────────────────────────
  Depreciation run complete — 4,841 assets processed ✓
  Run Date           : 22-FEB-2026 03:10:44
  Total Deprn Amount : $284,120

[ SECTION 2 — ASSETS ADDED AFTER DEPRN ]     STATUS: ⚠ WARNING
────────────────────────────────────────────────────────────
  ⚠ 4 assets added 23-FEB and 24-FEB — depreciation not taken for FEB-2026
  Asset 112851       : $8,400 cost — $233/period deprn missed
  Asset 112852       : $12,200 cost — $339/period deprn missed
  Total Missed       : $682 catch-up will run in MAR-2026

[ SECTION 3 — PENDING RETIREMENTS ]          STATUS: ✓ PASS
────────────────────────────────────────────────────────────
  No PENDING retirements — CGL complete ✓

[ SECTION 4 — CREATE JOURNAL ENTRIES ]       STATUS: ✗ FAIL
────────────────────────────────────────────────────────────
  ✗ Create Journal Entries NOT RUN for FEB-2026 ✗
  ✗ BLOCKING: GL cannot receive FA depreciation journals

[ SECTION 5 — MASS ADDITIONS QUEUE ]         STATUS: ⚠ WARNING
────────────────────────────────────────────────────────────
  ⚠ 7 mass additions in ON HOLD status — not yet posted as assets

════════════════════════════════════════════════════════════
  CLOSE READINESS SUMMARY
════════════════════════════════════════════════════════════
  PERIOD CANNOT CLOSE — 1 blocking condition
  1. Run Create Journal Entries for US CORP FEB-2026
  Advisory: 4 late-added assets will catch up in MAR-2026
  Advisory: Review 7 ON HOLD mass additions
════════════════════════════════════════════════════════════

The Four-Layer Architecture in FA-04

1
Diagnostic Engine
Runs 32+ checks across depreciation run status and completion, assets added after depreciation with missed-period calculation, PENDING retirement and CGL status, Create Journal Entries completion and journal posting status, mass additions queue status, and FA-to-GL transfer reconciliation.
2
Backup Created
Before any book control or period data is modified, CONS_BACKUP.FA_BOOK_CONTROLS_<case#>, FA_DEPRN_PERIODS_<case#>, and FA_DEPRN_SUMMARY_<case#> are created and row counts verified.
3
Guided Data Fix
FA period close blockers are almost entirely resolved through standard concurrent programs — Create Journal Entries, Calculate Gains and Losses. FA-04 provides the exact program parameters. Direct fixes for period status corrections with full backup when the functional path is unavailable.
4
KB Article Generated
Complete KB article generated — book, period, depreciation run confirmation, blockers identified, CJE submission parameters, close completion confirmation. Upload directly to your knowledge base.

Backup & Rollback for FA-04

Every table touched by FA-04 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 — FA-04

CONS_BACKUP.FA_BOOK_CONTROLS_<case#> CONS_BACKUP.FA_DEPRN_PERIODS_<case#> CONS_BACKUP.FA_DEPRN_SUMMARY_<case#> CONS_BACKUP.FA_RETIREMENTS_<case#>

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

Pre-Flight Safety Guards

CAPITALIZED_FLAG = 'NO' or STATUS = 'PENDING'Required ✓
No active depreciation run in progressVerified ✓
No active session lock on target rowsChecked ✓
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 FA-04 execution — written from actual run output. No manual documentation required.

KB-FA-514840-001 · Script: FA-04
FA Period FEB-2026 Close — Create Journal Entries Not Run
FA US CORP FEB-2026 period cannot close. Depreciation complete (4,841 assets, $284,120). No pending retirements. Create Journal Entries not yet submitted. GL will not receive $284,120 depreciation journals without CJE. 7 mass additions in ON HOLD also flagged.
Create Journal Entries was not included in the period-close checklist execution. Depreciation run completed on 22-FEB at 03:10 but CJE was not queued. The FA team confirmed depreciation amounts and marked depreciation complete without also submitting CJE.
FA_DEPRN_PERIODS — DEPRECIATION_BATCH_ID populated (FEB-2026 deprn complete)
FA_BOOK_CONTROLS — GL_POSTING_ALLOWED = YES — GL journals can be created once CJE runs
Create Journal Entries submitted for US CORP FEB-2026. $284,120 depreciation journals generated and transferred to GL. GL Payables period close readiness updated — FA subledger now complete. Period closed after GL close confirmation.
Create Journal Entries must be a mandatory item in the FA period-close checklist, submitted immediately after depreciation completion confirmation. FA-04 should run as the final check before submitting the GL-02 period-close readiness check.
FAPeriod CloseCreate Journal EntriesFA_BOOK_CONTROLSFA_DEPRN_PERIODSGL TransferEBS R12.2

What This Script Finds

Blocking

Create Journal Entries Not Run

The most common FA close blocker. Depreciation complete in FA but GL journals never generated. GL period close will fail because FA subledger balance does not match GL depreciation accounts. FA-04 provides CJE submission parameters.

Blocking

PENDING Retirements at Close

One or more asset retirements in PENDING status — retirement entered but Calculate Gains and Losses not run. Gain or loss on disposal not yet recognized. FA-04 provides CGL submission parameters.

Advisory

Late-Added Assets Miss Period Depreciation

Assets added after the depreciation run date will not depreciate in the current period. Catch-up runs in the next period automatically. FA-04 quantifies the missed depreciation for the Controller's awareness.

Advisory

ON HOLD Mass Additions at Period Close

Capitalizable AP invoices still in the mass additions queue at period close — assets not yet on the books. FA-04 identifies the hold reason and correction path to advance them to POST status.

Tables Examined

TableModulePurpose
FA_BOOK_CONTROLSFAPeriod open/close status and depreciation lock flag
FA_DEPRN_PERIODSFADepreciation run history — batch ID, run date, completion
FA_DEPRN_SUMMARYFADepreciation taken per asset per period
FA_RETIREMENTSFARetirement status — PENDING count at period close
FA_MASS_ADDITIONSFAMass addition queue status at period close
FA_ADDITIONS_BFAAssets added during period — date in service vs deprn run date
GL_JE_HEADERSGLFA depreciation journal batch — posting status
GL_PERIOD_STATUSESGLGL period open for journal transfer
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
Create Journal Entries not run — depreciation not in GL Functional First Submit the Create Journal Entries for Fixed Assets concurrent program for the book, period, and ledger. FA-04 confirms depreciation is complete (DEPRECIATION_BATCH_ID populated) before CJE submission.
PENDING retirements — CGL not yet run Functional First Submit Calculate Gains and Losses for the book and period. FA-04 identifies all PENDING retirements and their NBV for the CGL submission. CJE should run after CGL completes.
Assets added after depreciation run — period gap Functional First Late-added assets will catch up in the next period automatically. FA-04 documents the missed amount per asset for the Controller review. No direct fix available — this is standard FA behavior.
Mass additions in ON HOLD at period close Direct Fix FA-04 identifies each ON HOLD mass addition with the hold reason. Corrects the blocking condition (missing category, split error, cost issue) in FA_MASS_ADDITIONS with full backup. Post Mass Additions rerun after correction.
GL journals from CJE not posted Functional First Post the FA depreciation journal batch via GL > Journals > Post or the Post Journals concurrent program. FA-04 identifies the unposted GL batch from the CJE run output.
FA period already closed — CJE not run in time Oracle Support If the FA period was closed before CJE was run, reopening the period requires Oracle Support involvement. FA-04 documents the state for the SR — no direct DML on FA_BOOK_CONTROLS.CURRENT_OPEN_PERIOD.
Tax book depreciation incomplete Functional First Run depreciation for the TAX book separately from the corporate book. FA-04 identifies tax book period status independently and the assets requiring tax depreciation.
Unposted mass additions — assets not yet capitalized Direct Fix FA-04 identifies mass additions in POST status that have not been processed. Runs Post Mass Additions concurrent program parameters. Corrections for SPLIT or ON HOLD entries applied with full backup first.
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.

FA_BOOK_CONTROLS
FA_DEPRN_PERIODS
FA_DEPRN_SUMMARY
FA_RETIREMENTS
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.
FA-04 — Pre-Flight & Backup Verification
════════════════════════════════════════════════════════════
  PRE-FLIGHT SAFETY CHECK
════════════════════════════════════════════════════════════
  Book               : US CORP
  Period             : FEB-2026
  Deprn Complete     : YES — DEPRECIATION_BATCH_ID present ✓
  Pending Retirements: 0 ✓
  CONS_BACKUP Schema : Accessible ✓
────────────────────────────────────────────────────────────
  ALL PRE-FLIGHT CHECKS PASSED
════════════════════════════════════════════════════════════
  Creating : CONS_BACKUP.FA_BOOK_CONTROLS_514840
  Rows     : 1 row backed up ✓
  Creating : CONS_BACKUP.FA_DEPRN_PERIODS_514840
  Rows     : 1 row backed up ✓
  Registry : FIX_BACKUP_REGISTRY — ID 5088 created ✓
────────────────────────────────────────────────────────────
  BACKUP COMPLETE
════════════════════════════════════════════════════════════
  Enter case number to confirm : 514840
  Confirmed. Ready for Create Journal Entries submission.
════════════════════════════════════════════════════════════
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-FA-514840-001
FA Period FEB-2026 Close — Create Journal Entries Not Run
EBS R12.2.10 · Fixed Assets
● RESOLVED
Symptom
FA US CORP FEB-2026 period cannot close. Depreciation complete (4,841 assets, $284,120). No pending retirements. Create Journal Entries not yet submitted. GL will not receive $284,120 depreciation journals without CJE. 7 mass additions in ON HOLD also flagged.
Root Cause
Create Journal Entries was not included in the period-close checklist execution. Depreciation run completed on 22-FEB at 03:10 but CJE was not queued. The FA team confirmed depreciation amounts and marked depreciation complete without also submitting CJE.
Tables
FA_DEPRN_PERIODS — DEPRECIATION_BATCH_ID populated (FEB-2026 deprn complete)
FA_BOOK_CONTROLS — GL_POSTING_ALLOWED = YES — GL journals can be created once CJE runs
Fix Applied
Create Journal Entries submitted for US CORP FEB-2026. $284,120 depreciation journals generated and transferred to GL. GL Payables period close readiness updated — FA subledger now complete. Period closed after GL close confirmation.
Prevention
Create Journal Entries must be a mandatory item in the FA period-close checklist, submitted immediately after depreciation completion confirmation. FA-04 should run as the final check before submitting the GL-02 period-close readiness check.
Tags
FAPeriod CloseCreate Journal EntriesFA_BOOK_CONTROLSFA_DEPRN_PERIODSGL TransferEBS 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
120faug.pdfOracle Assets User Guide — Depreciation — Period CloseDepreciation run completion, unposted journal entries, and FA period close sequence
120faug.pdfOracle Assets User Guide — Chapter 2: Mass Additions Processpp. 2-28 to 2-35: Mass additions in NEW or ON HOLD status blocking period close
120glug.pdfOracle General Ledger User's Guide — Journal ImportFA journal entry transfer to GL and GL_INTERFACE cleanup for period close

Ready to Resolve This in Your Environment?

FA-04 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 →