GL_CODE_COMBINATIONS — ENABLED_FLAG = N, END_DATE_ACTIVE (CCID 88432, disabled 01-JAN-2026)
Diagnoses all GL_INTERFACE errors — invalid accounts, closed periods, unbalanced journals, invalid sources/categories, missing flexfield segments, and orphaned interface groups.
Oracle EBS General Ledger journal import failures stop accounting entries from reaching the ledger — and every module that generates accounting transactions depends on this process. Accounts Payable invoices, AR receipts, Fixed Assets depreciation, Inventory cost transactions, Work in Process completions, and Project accounting lines all flow through the GL journal import pipeline via the GL_INTERFACE staging table. When the Journal Import concurrent program fails, or completes but rejects some records, those accounting entries accumulate in GL_INTERFACE with an ERROR status and the ledger balance is understated by exactly the amount of the rejected journals.
The most common failure mode is the unbalanced journal group. Oracle GL requires that the sum of all debits equals the sum of all credits within a GROUP_ID in GL_INTERFACE. When a source system populates the interface table with a GROUP_ID that spans multiple ledgers or currencies without proper balancing entries, the journal import rejects the entire group — not just the unbalanced records. The error is reported in the Journal Import Execution Report as 'The journal batch is out of balance' and references the GROUP_ID, but the report does not identify which specific account combination or line within the group caused the imbalance.
Account validation failures are the second major category. Every CCID referenced in GL_INTERFACE must exist in GL_CODE_COMBINATIONS with ENABLED_FLAG = 'Y', SUMMARY_FLAG = 'N', and a START_DATE_ACTIVE that is on or before the journal date and an END_DATE_ACTIVE that is null or after the journal date. A chart of accounts cleanup that disables or end-dates a code combination mid-period will cause every journal line referencing that CCID to fail import, across every source system that uses it — AP, AR, FA, PO simultaneously. The journal import failure report will show hundreds of lines with the same root cause, but identifying the specific disabled CCID requires querying GL_CODE_COMBINATIONS directly.
GL-01 runs a complete journal import diagnostic — interface error summary from GL_INTERFACE grouped by error type and GROUP_ID, balance verification for each group with exact debit/credit variance, account validation against GL_CODE_COMBINATIONS with active status and date range check, period status validation, journal source and category existence check, and orphaned record detection for ERROR-status records older than 48 hours. It generates the corrected interface records for each fixable error type and the resubmission parameters for Journal Import.
GL-01 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 JOURNAL IMPORT DIAGNOSTIC
════════════════════════════════════════════════════════════
Group ID : GL-IMP-2026-04481
Journal Source : Payables
Ledger : US Primary Ledger
Case Number : GL-481022
Report Date : 20-FEB-2026 08:30:14
════════════════════════════════════════════════════════════
[ SECTION 1 — INTERFACE ERROR SUMMARY ]
────────────────────────────────────────────────────────────
Total Records : 842
Imported OK : 798 records ✓
Rejected : 44 records in ERROR status
Error Type 1 : INVALID_CCID — 44 records (CCID 88432)
[ SECTION 2 — ACCOUNT VALIDATION ] STATUS: ✗ FAIL
────────────────────────────────────────────────────────────
CCID : 88432
Account : 01-500-7810-0000
ENABLED_FLAG : N ✗ — disabled 01-JAN-2026
SUMMARY_FLAG : N ✓
Sources Affected : Payables (44 records), Receivables (18 records), PO (6 records)
✗ FAIL: CCID 88432 disabled — 68 journal lines across 3 sources rejected
[ SECTION 3 — JOURNAL BALANCE ] STATUS: ✓ PASS
────────────────────────────────────────────────────────────
All group debits = credits once CCID issue resolved ✓
[ SECTION 4 — PERIOD STATUS ] STATUS: ✓ PASS
────────────────────────────────────────────────────────────
FEB-2026 — OPEN for all source ledgers ✓
[ SECTION 5 — ORPHANED RECORDS ] STATUS: ⚠ WARNING
────────────────────────────────────────────────────────────
⚠ 12 ERROR records older than 48 hours — from JAN-2026 batch
════════════════════════════════════════════════════════════
DIAGNOSTIC SUMMARY
════════════════════════════════════════════════════════════
ROOT CAUSE: CCID 88432 disabled during GL COA cleanup on 01-JAN-2026
FIX: Re-enable CCID or remap all GL_INTERFACE lines to replacement CCID 99105
68 records across AP, AR, PO affected — bulk remap available
════════════════════════════════════════════════════════════
Backup Created : CONS_BACKUP.GL_INTERFACE_481022 ✓
Registry ID : 4081
════════════════════════════════════════════════════════════
Every table touched by GL-01 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-01 execution — written from actual run output. No manual documentation required.
Interface records with segment values that do not exist in the value set. GL-01 identifies the specific segment, value, and the value set maintenance path.
Debit and credit totals do not match for a journal group. GL-01 calculates the exact out-of-balance amount and identifies which records need correction.
Interface records with accounting date in a closed or invalid period. GL-01 identifies the open period candidates and generates the date update fix.
Records stuck in ERROR status that have not been corrected and resubmitted. GL-01 provides the resubmit path and the parameter values for Journal Import program.
| Table / View | Schema | Purpose in Diagnostic |
|---|---|---|
| GL_INTERFACE | GL | Journal interface records — status, amounts, accounts |
| GL_CODE_COMBINATIONS | GL | Account CCID validation |
| GL_PERIOD_STATUSES | GL | Period open/closed for journal dates |
| GL_JE_SOURCES | GL | Journal source active status |
| GL_JE_CATEGORIES | GL | Journal category active status |
| GL_LEDGERS | GL | Ledger ID validation |
| FND_SEGMENT_ATTRIBUTE_VALUES | FND | Segment value validation |
| GL_JE_HEADERS | GL | Imported journal headers for orphan detection |
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 |
|---|---|---|
| INVALID_CCID — code combination disabled or end-dated | Direct Fix | GL-01 identifies the disabled CCID, the replacement active CCID, and generates a bulk remap of all GL_INTERFACE records with full backup. After remap, Journal Import is resubmitted for the corrected records. |
| Unbalanced journal group — debits ≠ credits in GROUP_ID | Direct Fix | GL-01 calculates the exact variance, identifies the line(s) causing the imbalance, and generates the balancing entry or correction. Explicit confirmation required before any balance adjustment is applied. |
| Closed period journal date — GL_DATE in closed period | Direct Fix | GL-01 identifies the next open period and updates GL_DATE in GL_INTERFACE with full backup. Controller authorization documented before execution. |
| Invalid journal source — not defined in GL_JE_SOURCES | Functional First | Define the journal source via General Ledger > Setup > Journal Sources. GL-01 identifies the source value in the interface record and the current defined sources for the ledger. |
| Summary account referenced — SUMMARY_FLAG = Y | Direct Fix | GL-01 identifies the summary account CCID and the correct detail account for the transaction. Remaps GL_INTERFACE records to the detail account with full backup. |
| Orphaned ERROR records older than 48 hours | Direct Fix | GL-01 identifies orphaned records, confirms they are not part of an active import run, and purges them with backup. Common after interrupted Journal Import runs. |
| Category not defined for the journal source | Functional First | Define the journal category via General Ledger > Setup > Journal Categories. GL-01 identifies the category value and the navigation path. |
| Ledger currency mismatch — foreign currency journal without conversion rate | Direct Fix | GL-01 identifies the currency, the journal date, and the missing rate. Updates GL_INTERFACE with the correct daily rate from GL_DAILY_RATES with full backup. |
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 — Journal Import | Journal Import program, GL_INTERFACE table, and journal import troubleshooting |
| 120glug.pdf | Oracle General Ledger User's Guide — Journals | Manual journal entry, recurring journals, and mass allocations in EBS R12 |
| 120glug.pdf | Oracle General Ledger User's Guide — Reporting | Account analysis and trial balance reports for post-import reconciliation |
GL-01 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 →