XLA_EVENTS — EVENT_STATUS_CODE = ERROR (3 events, AP application)
FA_DEPRN_SUMMARY — DEPRN_RUN_DATE (last run: 20-FEB-2026, JE not created)
Master period close diagnostic — all subledger status (AP, AR, FA, PO, INV, PA), unposted journals, XLA accounting errors, intercompany imbalances, revaluation, and consolidation readiness.
The Oracle EBS GL period close is the final reconciliation point for every transaction that occurred in the period — it closes the AP, AR, FA, Inventory, WIP, Projects, and Purchasing subledgers before the GL itself can be closed. Because the GL close depends on every subledger being in a clean state, a single unresolved condition in any module can block the GL close for the entire organization. The Controller who runs Close Period in General Ledger sees a single error message that the period cannot be closed — but the root cause may be in any one of eight subledger modules that each have their own unresolved conditions.
The most common GL close blocker is unposted journals — journal batches in GL_JE_BATCHES with a STATUS of 'U' (unposted) that were created during the period but never posted. These may be manual journals entered by the accounting team that were reviewed but not approved, subledger journals transferred from AP or AR that were not automatically posted, or adjusting entries entered late in the period. Oracle GL will not allow the period to close if any unposted journals exist with a GL date in the period, because those journals represent accounting entries that have not yet been reflected in the ledger balance.
Subledger transfer completeness is the second dimension. Before the GL period can close, all eight subledgers must confirm that their accounting entries for the period have been transferred to GL. This requires that AP has run Transfer to GL, AR has run Transfer to General Ledger, FA has run Create Journal Entries, Inventory has run Transfer Transactions to GL, WIP has run WIP Close, and Projects has run Distribute and Transfer to GL. GL-02 checks the transfer status for each subledger and identifies which ones have not completed their transfer for the current period.
GL-02 runs the most comprehensive diagnostic in the script library — 60+ checks covering GL period status across all ledgers and ledger sets, unposted journal count and amount by batch, XLA accounting event status across all subledger applications, subledger transfer status per module with the specific concurrent program to run for each, intercompany balancing status by balancing segment, revaluation completion status for foreign currency accounts, and translation status for consolidation ledgers. It produces a single prioritized close checklist.
GL-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 — GL PERIOD CLOSE READINESS DIAGNOSTIC
════════════════════════════════════════════════════════════
Period : FEB-2026
Ledger : US Primary Ledger
Case Number : GL-492840
Report Date : 25-FEB-2026 17:00:08
════════════════════════════════════════════════════════════
[ SECTION 1 — GL PERIOD STATUS ] STATUS: ✓ PASS
────────────────────────────────────────────────────────────
FEB-2026 — OPEN — US Primary Ledger ✓
FEB-2026 — OPEN — US Secondary Ledger ✓
[ SECTION 2 — UNPOSTED JOURNALS ] STATUS: ✗ FAIL
────────────────────────────────────────────────────────────
Unposted Batches : 7 batches — $1,482,100 ✗
Oldest Unposted : 18-FEB-2026 — 7 days
Sources : Manual Journals (4), Payables (2), Fixed Assets (1)
✗ FAIL: 7 unposted journal batches must be posted or deleted
[ SECTION 3 — XLA ACCOUNTING ERRORS ] STATUS: ✗ FAIL
────────────────────────────────────────────────────────────
XLA ERROR Events : 3 events — AP invoices 1998210, 1998445, 1998881 ✗
✗ FAIL: 3 XLA ERROR events must be resolved before GL close
[ SECTION 4 — SUBLEDGER TRANSFER STATUS ]
────────────────────────────────────────────────────────────
Payables : Transfer complete ✓
Receivables : Transfer complete ✓
Fixed Assets : Create Journal Entries NOT RUN ✗
Inventory : Transfer complete ✓
Projects : Distribute and Transfer — 12 transactions pending ⚠
[ SECTION 5 — INTERCOMPANY ] STATUS: ✓ PASS
[ SECTION 6 — REVALUATION ] STATUS: ⚠ NOT RUN
────────────────────────────────────────────────────────────
⚠ Revaluation not run for FEB-2026 — 4 foreign currency accounts
════════════════════════════════════════════════════════════
CLOSE READINESS SUMMARY
════════════════════════════════════════════════════════════
PERIOD CANNOT CLOSE — 4 blocking conditions
1. Post or delete 7 unposted journal batches
2. Resolve 3 XLA ERROR events in AP
3. Run Create Journal Entries for Fixed Assets
4. Complete Projects Distribute and Transfer for 12 transactions
Advisory: Run Revaluation for 4 FX accounts
════════════════════════════════════════════════════════════
Every table touched by GL-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 GL-02 execution — written from actual run output. No manual documentation required.
One or more subledgers have unaccounted items that have not been transferred to GL. GL-02 identifies the module, count, amount, and the Transfer to GL program parameters.
Accounting events failed during Create Accounting across modules. GL-02 provides a consolidated view of errors by module and the batch resubmission path.
Manual journals in WORKING status not yet posted. GL-02 identifies them by source, preparer, and amount. AutoPost criteria not met — configuration check included.
Due-to/due-from entries do not balance across balancing segments. GL-02 calculates the exact imbalance by trading partner and the correcting entry.
| Table / View | Schema | Purpose in Diagnostic |
|---|---|---|
| GL_PERIOD_STATUSES | GL | Period status per module and ledger |
| GL_JE_HEADERS | GL | Journal header post status |
| GL_JE_BATCHES | GL | Journal batch status |
| XLA_EVENTS | XLA | SLA event errors across all modules |
| XLA_AE_HEADERS | XLA | Accounting header completion |
| AP_INVOICES_ALL | AP | AP unaccounted count |
| AR_CASH_RECEIPTS_ALL | AR | AR unposted receipts |
| FA_DEPRN_SUMMARY | FA | FA depreciation completion |
| PO_HEADERS_ALL | PO | PO encumbrance status |
| MTL_MATERIAL_TRANSACTIONS | INV | INV pending transactions |
| WIP_TRANSACTIONS | WIP | WIP uncosted transactions |
| PA_COST_DISTRIBUTION_LINES_ALL | PA | PA undistributed costs |
| GL_BALANCES | GL | Current GL balances for reconciliation |
| GL_CONSOLIDATION_SETS | GL | Consolidation run status |
| GL_TRANSLATION_STATUSES | GL | Translation completion status |
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 |
|---|---|---|
| Unposted journal batches — STATUS = U in GL_JE_BATCHES | Functional First | Post via General Ledger > Journals > Post, or submit the Post Journals concurrent program. GL-02 identifies each unposted batch with the source, category, amount, and the approver responsible for posting. |
| XLA events in ERROR — subledger accounting blocked | Oracle Support | XLA ERROR events are resolved at the source transaction level. GL-02 identifies the source application, event ID, and the transaction reference for each error. Direct DML on XLA tables is never performed. |
| Fixed Assets Create Journal Entries not run | Functional First | Submit Create Journal Entries for Fixed Assets concurrent program for the period and ledger. GL-02 provides the exact parameters and confirms whether depreciation has been run as a prerequisite. |
| Projects Distribute and Transfer not complete | Functional First | Submit the PRC: Distribute Labor Costs, PRC: Distribute Usage and Miscellaneous Costs, and PRC: Transfer Journal Entries to GL programs. GL-02 identifies the transaction count and cost amount pending distribution. |
| Inventory Transfer Transactions to GL not complete | Functional First | Submit the Transfer Transactions to General Ledger concurrent program for Inventory. GL-02 identifies unprocessed MTL_MATERIAL_TRANSACTIONS with no GL batch reference. |
| Revaluation not run — foreign currency balance accounts | Functional First | Submit the Revalue Balances concurrent program for each revaluation set. GL-02 identifies the FX accounts with non-zero balances in the current period that have not been revalued. |
| Intercompany imbalance — clearing account not zero | Direct Fix | GL-02 identifies the imbalanced intercompany segment values, calculates the exact variance, and generates the balancing journal entry with full backup. Controller authorization required before posting. |
| Period in FUTURE ENTRY status — not yet open | Functional First | Open the period via General Ledger > Setup > Open/Close periods. GL-02 identifies which ledger has the period in FUTURE ENTRY status and whether it is within the ledger's open period limit. |
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.
| R12 Guide (PDF) | Title & Chapter | Detail |
|---|---|---|
| 120glug.pdf | Oracle General Ledger User's Guide — Period Close | GL period status management, close prerequisites, and open/close procedures |
| 120glug.pdf | Oracle General Ledger User's Guide — Journal Import | Unposted journal identification and GL_INTERFACE cleanup before period close |
| 120poug.pdf | Oracle Purchasing User's Guide — Ch. 9: Receipt Accruals | pp. 9-89 to 9-120: PO accrual reconciliation and period-end entries to GL |
GL-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 →