GL-03 EBS R12.x General Ledger Tier 2 Data Fix

Chart of Accounts & CCID Diagnostic

Identifies disabled CCIDs in open transactions, summary account misuse, cross-validation rule violations, incorrect account types, and orphaned combinations with no recent activity.

PlatformOracle EBS R12.x
Input RequiredLedger ID or Value Set Name
Diagnostic Checks30+
Data Sources6 Oracle tables
Fix Options4 guided fixes
Backup CreatedYes — Automatic

Why This Fails — and What It Costs

The Oracle EBS Chart of Accounts is the backbone of every financial transaction in the system — every AP invoice distribution, every AR revenue line, every asset depreciation entry, every inventory cost, and every project expense references a code combination in GL_CODE_COMBINATIONS. When a COA cleanup project disables, end-dates, or restructures account segments without first identifying every open transaction referencing the affected combinations, the result is a cascade of failures across every module simultaneously. A single disabled CCID can block AP invoice validation, AR transaction completion, GL journal import, and Fixed Asset journal creation at the same time.

The cross-module impact of COA changes is the core operational problem. An AP team member who disables a CCID in the GL Accounting Flexfield setup has no visibility into which open AR transactions, open PO distributions, active FA distribution lines, or active Project expenditure items reference that same CCID. The AP setup screen shows the code combination as unused from the AP perspective — but from the GL perspective, that CCID is referenced in five other modules. GL-03 is the pre-change cross-reference tool that should be run before any CCID is disabled, and the post-change diagnostic tool that identifies all the breaks after a cleanup has already run.

Summary accounts are a persistent source of journal import and transaction errors. Oracle GL distinguishes between detail accounts (SUMMARY_FLAG = 'N') which can receive transactions, and summary accounts (SUMMARY_FLAG = 'Y') which are used only for budget and reporting rollup. When a source system or an AutoAccounting rule references a summary account in a transaction distribution, the journal import rejects the entry with a summary account error. This error is common after a COA restructuring that promoted detail accounts to summary status to support a new reporting hierarchy.

GL-03 runs a complete chart of accounts diagnostic — disabled CCID cross-reference across AP, AR, FA, PO, and PA tables, summary account misuse detection in open transaction distributions, cross-validation rule violation analysis, account type validation (assets, liabilities, revenues, expenses mapped to correct segment ranges), orphaned CCID identification for combinations that have never been referenced and can be safely disabled, and natural account segment completeness check.

What This Script Diagnoses

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

Disabled CCID Cross-Reference
Disabled CCIDs (ENABLED_FLAG = 'N') referenced in: AP_INVOICE_DISTRIBUTIONS_ALL (unposted), PO_DISTRIBUTIONS_ALL (open), FA_DISTRIBUTION_HISTORY (active assets), PA_EXPENDITURE_ITEMS_ALL (uncosted), RA_CUST_TRX_LINE_GL_DIST_ALL (open AR).
Summary Account Misuse
CCIDs with SUMMARY_FLAG = 'Y' referenced in transaction distributions — invalid for posting. Identifies the module and transaction type using the summary account.
Cross-Validation Rule Violations
Segment combinations in distributions that violate active CVRs in GL_CROSS_VALIDATION_RULES. Rule name, violated segments, and the valid combination.
Account Type Analysis
Account type mismatches: ASSET accounts in expense distributions, LIABILITY accounts in revenue distributions, REVENUE accounts in asset additions. Impact on financial statements.
Orphaned Combinations
CCIDs with no transactions in the last 36 months and no budget entries — candidates for disablement. CCIDs created but never used. Duplicate combination detection.

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.

GL-03 — GL-03 Diagnostic Report
════════════════════════════════════════════════════════════
  ORACLE EBS R12 — CHART OF ACCOUNTS DIAGNOSTIC
════════════════════════════════════════════════════════════
  Ledger ID          : 101 — US Primary Ledger
  Value Set          : US_NATURAL_ACCOUNT
  Case Number        : GL-504180
  Report Date        : 21-FEB-2026 10:05:22
════════════════════════════════════════════════════════════

[ SECTION 1 — DISABLED CCID CROSS-REFERENCE ] STATUS: ✗ FAIL
────────────────────────────────────────────────────────────
  CCID 88432         : 01-500-7810-0000 — DISABLED 01-JAN-2026
  AP Distributions   : 22 open distributions ✗
  AR Distributions   : 14 open distributions ✗
  PO Distributions   : 6 open distributions ✗
  FA Distribution    : 3 active FA lines ✗
  PA Expenditures    : 2 open cost lines ✗
  ✗ FAIL: CCID 88432 disabled but referenced in 47 open transactions

[ SECTION 2 — SUMMARY ACCOUNT MISUSE ]        STATUS: ✗ FAIL
────────────────────────────────────────────────────────────
  CCID 91100         : 01-000-7000-0000 — SUMMARY account
  GL_INTERFACE Lines : 3 lines referencing summary account ✗
  ✗ FAIL: Summary account 01-000-7000-0000 used in GL_INTERFACE

[ SECTION 3 — CROSS-VALIDATION RULES ]        STATUS: ✓ PASS
────────────────────────────────────────────────────────────
  No CVR violations detected ✓

[ SECTION 4 — ORPHANED CCIDs ]                STATUS: ⚠ ADVISORY
────────────────────────────────────────────────────────────
  ⚠ 184 CCIDs with no transactions in 24 months — eligible for cleanup

════════════════════════════════════════════════════════════
  DIAGNOSTIC SUMMARY
════════════════════════════════════════════════════════════
  2 blocking conditions: disabled CCID in 47 transactions, summary account misuse
  Recommended: Re-enable CCID 88432 or remap 47 transactions to CCID 99105
════════════════════════════════════════════════════════════

The Four-Layer Architecture in GL-03

1
Diagnostic Engine
Runs 30+ checks covering disabled CCID cross-reference across AP, AR, FA, PO, and PA tables, summary account misuse in open distributions and GL_INTERFACE, cross-validation rule violation analysis, account type segment range validation, and orphaned CCID identification.
2
Backup Created
Before any CCID or distribution record is modified, CONS_BACKUP.GL_CODE_COMBINATIONS_<case#> and the affected distribution table backups are created and row counts verified.
3
Guided Data Fix
CCID re-enablement and cross-module distribution remaps are the primary actions. GL-03 generates the complete remap script across all affected modules in the correct dependency order, with full backup at each step.
4
KB Article Generated
Complete KB article generated — CCID reference, module impact counts, remap targets, authorization trail, prevention recommendations. Upload directly to your knowledge base.

Backup & Rollback for GL-03

Every table touched by GL-03 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 — GL-03

CONS_BACKUP.GL_CODE_COMBINATIONS_<case#> CONS_BACKUP.AP_INVOICE_DISTRIBUTIONS_ALL_<case#> CONS_BACKUP.RA_CUST_TRX_LINE_GL_DIST_ALL_<case#> CONS_BACKUP.FA_DISTRIBUTION_HISTORY_<case#>

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

Pre-Flight Safety Guards

POSTED_FLAG = 'N'Required ✓
ACCOUNTING_EVENT_ID IS NULLRequired ✓
No active session lockChecked ✓
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 GL-03 execution — written from actual run output. No manual documentation required.

KB-GL-504180-001 · Script: GL-03
COA Diagnostic — Disabled CCID 88432 Referenced in 47 Open Transactions Across 5 Modules
GL-03 COA diagnostic identifies CCID 88432 (01-500-7810-0000) disabled on 01-JAN-2026 with 47 open transaction references across AP (22), AR (14), PO (6), FA (3), and PA (2). Multiple journal import and validation failures traced to this CCID.
Account 01-500-7810-0000 was retired as part of a year-end COA restructuring. The GL team disabled the CCID in GL_CODE_COMBINATIONS without running a cross-module reference check. AutoAccounting rules in AR and default account assignments in AP were still referencing the old CCID.
GL_CODE_COMBINATIONS — ENABLED_FLAG = N, END_DATE_ACTIVE (CCID 88432)
AP_INVOICE_DISTRIBUTIONS_ALL — DIST_CODE_COMBINATION_ID (22 open distributions)
RA_CUST_TRX_LINE_GL_DIST_ALL — CODE_COMBINATION_ID (14 open distributions)
CCID 88432 temporarily re-enabled to allow transaction processing. All 47 open transaction references remapped to CCID 99105 (01-500-7820-0000) across AP, AR, PO, FA, and PA with full backup. AutoAccounting rules and AP default accounts updated. CCID 88432 end-dated after all remaps confirmed.
GL-03 pre-change cross-reference must run before any CCID disablement. COA cleanup projects require sign-off from all module owners confirming zero open references. Automated check to be added to COA maintenance procedures.
GLChart of AccountsCCIDGL_CODE_COMBINATIONSDisabled AccountCross-Module ImpactEBS R12.2

Most Common Issues Detected by GL-03

Critical

Disabled CCIDs in Open Transactions

Multiple modules have open transactions referencing CCIDs disabled after entry. GL-03 provides a consolidated cross-module view with the module, document, and remap guidance.

Error

Summary Account in Distribution

A summary account CCID is used as a distribution account — will fail posting. GL-03 identifies the transaction, the summary CCID, and the correct detail account replacement.

CVR

Cross-Validation Rule Violated

A segment combination violates a CVR — GL will reject the journal on import. GL-03 identifies the violated rule, the invalid combination, and the correction path.

Cleanup

Large Number of Orphaned CCIDs

High count of unused combinations over 36 months — indicating COA sprawl. GL-03 provides a safe-to-disable list with zero-balance verification.

Tables & Views Examined

Table / ViewSchemaPurpose in Diagnostic
GL_CODE_COMBINATIONS GL CCID enabled flag, account type, segments
AP_INVOICE_DISTRIBUTIONS_ALL AP Open AP distributions referencing CCIDs
PO_DISTRIBUTIONS_ALL PO Open PO distributions referencing CCIDs
RA_CUST_TRX_LINE_GL_DIST_ALL AR Open AR distributions
FA_DISTRIBUTION_HISTORY FA Active asset distributions
GL_CROSS_VALIDATION_RULES GL Active CVR definitions
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
Disabled CCID referenced in open AP distributions Direct Fix GL-03 identifies each AP_INVOICE_DISTRIBUTIONS_ALL record referencing the disabled CCID and generates the DIST_CODE_COMBINATION_ID remap to the replacement CCID with full backup.
Disabled CCID referenced in open AR distributions Direct Fix GL-03 identifies each RA_CUST_TRX_LINE_GL_DIST_ALL record and generates the CODE_COMBINATION_ID remap with full backup. AR transaction revalidation required after remap.
Disabled CCID referenced in PO distributions Direct Fix GL-03 identifies PO_DISTRIBUTIONS_ALL records and generates the CODE_COMBINATION_ID remap with full backup. PO re-approval may be required depending on the PO status.
Disabled CCID referenced in FA distribution history Direct Fix GL-03 identifies FA_DISTRIBUTION_HISTORY records and generates the CODE_COMBINATION_ID remap with full backup. FA journal re-creation required after remap.
Summary account misuse in GL_INTERFACE or distributions Direct Fix GL-03 identifies the summary account CCID and the correct detail account. Remaps interface records or distributions to the detail account with full backup.
Cross-validation rule violation in existing combination Functional First CVR violations in existing combinations indicate the CVR was added after the combination was created. Correct via GL > Setup > Accounts > Cross-Validation Rules. GL-03 identifies the specific segment combination and the violated rule.
Orphaned CCIDs — no transactions in 24+ months Functional First GL-03 generates a list of orphaned CCIDs safe for cleanup — no open transactions, no active budget lines, no active AutoAccounting references. Disablement via GL > Accounting Flexfield setup after review.
Account type mismatch — revenue account flagged as asset Direct Fix GL-03 identifies CCIDs where the account type in FND_SEGMENT_ATTRIBUTE_VALUES does not match the natural account segment range. Corrects the account type qualifier with full backup.
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.

GL_CODE_COMBINATIONS
AP_INVOICE_DISTRIBUTIONS_ALL
RA_CUST_TRX_LINE_GL_DIST_ALL
FA_DISTRIBUTION_HISTORY
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.
GL-03 — Pre-Flight & Backup Verification
════════════════════════════════════════════════════════════
  PRE-FLIGHT SAFETY CHECK
════════════════════════════════════════════════════════════
  CCID               : 88432
  Modules Affected   : AP(22), AR(14), PO(6), FA(3), PA(2)
  CONS_BACKUP Schema : Accessible ✓
  Session Lock Check : No locks on target rows ✓
────────────────────────────────────────────────────────────
  ALL PRE-FLIGHT CHECKS PASSED
════════════════════════════════════════════════════════════
  Creating : CONS_BACKUP.GL_CODE_COMBINATIONS_504180
  Rows     : 1 row backed up ✓
  Creating : CONS_BACKUP.AP_INVOICE_DISTRIBUTIONS_ALL_504180
  Rows     : 22 rows backed up ✓
  Creating : CONS_BACKUP.RA_CUST_TRX_LINE_GL_DIST_ALL_504180
  Rows     : 14 rows backed up ✓
  Registry : FIX_BACKUP_REGISTRY — ID 4108 created ✓
────────────────────────────────────────────────────────────
  BACKUP COMPLETE — Cross-module remap ready
════════════════════════════════════════════════════════════
  Enter case number to confirm : 504180
  Confirmed.
════════════════════════════════════════════════════════════
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-GL-504180-001
COA Diagnostic — Disabled CCID 88432 Referenced in 47 Open Transactions Across 5 Modules
EBS R12.2.10 · General Ledger
● RESOLVED
Symptom
GL-03 COA diagnostic identifies CCID 88432 (01-500-7810-0000) disabled on 01-JAN-2026 with 47 open transaction references across AP (22), AR (14), PO (6), FA (3), and PA (2). Multiple journal import and validation failures traced to this CCID.
Root Cause
Account 01-500-7810-0000 was retired as part of a year-end COA restructuring. The GL team disabled the CCID in GL_CODE_COMBINATIONS without running a cross-module reference check. AutoAccounting rules in AR and default account assignments in AP were still referencing the old CCID.
Tables
GL_CODE_COMBINATIONS — ENABLED_FLAG = N, END_DATE_ACTIVE (CCID 88432)
AP_INVOICE_DISTRIBUTIONS_ALL — DIST_CODE_COMBINATION_ID (22 open distributions)
RA_CUST_TRX_LINE_GL_DIST_ALL — CODE_COMBINATION_ID (14 open distributions)
Fix Applied
CCID 88432 temporarily re-enabled to allow transaction processing. All 47 open transaction references remapped to CCID 99105 (01-500-7820-0000) across AP, AR, PO, FA, and PA with full backup. AutoAccounting rules and AP default accounts updated. CCID 88432 end-dated after all remaps confirmed.
Prevention
GL-03 pre-change cross-reference must run before any CCID disablement. COA cleanup projects require sign-off from all module owners confirming zero open references. Automated check to be added to COA maintenance procedures.
Tags
GLChart of AccountsCCIDGL_CODE_COMBINATIONSDisabled AccountCross-Module ImpactEBS R12.2

Oracle Documentation References

R12 Guide (PDF)Title & ChapterDetail
120glug.pdfOracle General Ledger User's Guide — Account SetupAccounting flexfield structure, segment values, cross-validation rules, summary accounts
120glug.pdfOracle General Ledger User's Guide — LedgersLedger definition, accounting calendars, currencies, and account generator setup
120funmo.pdfOracle Applications Multiple Organizations Implementation Guidepp. 2-7 to 2-10: Legal entity and ledger assignment for COA governance

Ready to Resolve This in Your Environment?

GL-03 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 →