GL_JE_LINES
Schema: GLtransactionJournal lines — the atomic debit/credit rows against account combinations; the source of trial-balance and account-activity analytics
Meaningless unfiltered — constrain LEDGER_ID, PERIOD_NAME, posted status, and the header's actuals flag, or budgets, encumbrances, unposted work, and secondary ledgers inflate every total; amounts are DR/CR column pairs, never signed
No surrogate key — the key is JE_HEADER_ID + JE_LINE_NUM. The subledger drill path runs through the GL_SL_LINK columns into subledger accounting (not cataloged).
What the badges mean
- Schema: INV
- Schema: the Oracle product schema that owns the table (INV, ONT, WSH, PO, BOM, WIP, MRP, MSC, AR, AP, GL, HR, APPLSYS) — tells you which product family the object belongs to, not who can query it.
- master
- Data class: what the table holds — master data, transaction documents, control/configuration, interface/staging, or an APPS-schema view.
- OU-striped (ORG_ID)
- Rows are scoped to an operating unit. A landed extract carries every operating unit’s rows — filter or join on
ORG_ID, and don’t confuse it withORGANIZATION_ID(see the quirks guide). - Per inventory org
- Rows are scoped to an inventory organization (plant or warehouse) via
ORGANIZATION_ID— a different partition from OU-striped tables (see the quirks guide). - Language-striped
- The table carries a
LANGUAGEcolumn (a _TL translation table or FND_LOOKUP_VALUES) — one row per language. Filter to oneLANGUAGEor a join multiplies rows (see the quirks guide). - View
- This is an APPS-schema convenience view, not a physical table. Extract the base tables it joins instead — views can be slow at scale and aren't guaranteed stable across patches.
Structural facts — how the table is partitioned, not a trap by itself
Join & extract hazards — verify before you rely on this
Header & line
GL_JE_LINES lines join back to their header GL_JE_HEADERS — and the org column — so a line never fans out.
Fields
15 fields · 2 key
15 fields.
| # | Field | Description | Type | Flags |
|---|---|---|---|---|
| 1 | JE_HEADER_ID | The journal — key together with the line number; no surrogate exists | NUMBER | Primary-key field |
| 2 | JE_LINE_NUM | Line number within the journal — part of the key | NUMBER | Primary-key field |
| 3 | LEDGER_ID | The ledger, denormalized onto every line — always filter it | NUMBER | |
| 4 | CODE_COMBINATION_ID | The account combination the line hits | NUMBER | |
| 5 | PERIOD_NAME | The accounting period — always filter it | VARCHAR2 | |
| 6 | EFFECTIVE_DATE | The line's effective date — the primary analysis date | DATE | The table's primary analysis date — a real DATE column, no conversion needed |
| 7 | STATUS | U unposted, P posted | VARCHAR2 | |
| 8 | ENTERED_DR | Entered debit — one side per line; use NVL when netting | NUMBER | |
| 9 | ENTERED_CR | Entered credit | NUMBER | |
| 10 | ACCOUNTED_DR | Debit in the ledger currency — SUM(DR) − SUM(CR) at your grain for net activity | NUMBER | |
| 11 | ACCOUNTED_CR | Credit in the ledger currency | NUMBER | |
| 12 | DESCRIPTION | Line description | VARCHAR2 | |
| 13 | GL_SL_LINK_ID | The subledger-accounting drill link | NUMBER | |
| 14 | GL_SL_LINK_TABLE | Which subledger table the drill link resolves against | VARCHAR2 | |
| 15 | TAX_LINE_FLAG | Marks tax lines | VARCHAR2 |
Field provenance: hand-curated. 2 key fields.
Boilerplate SQL
Starting point for reading GL_JE_LINES on Databricks — real DATE columns need no conversion, and the org anchor is already in place. The optional LAST_UPDATE_DATE watermark is included. Set your Unity Catalog location, schema, and org values below; they’re substituted into the SQL and the copy button.
7 parameters not filled: <catalog>, <schema>, <JE_HEADER_ID>, <JE_LINE_NUM>, <DATE_FROM>, <DATE_TO>, <watermark>
-- ============================================================
-- Table : GL_JE_LINES — Journal lines — the atomic debit/credit rows against account combinations; the source of trial-balance and account-activity analytics
-- Purpose: Column-selected read of GL_JE_LINES — auto-generated from field metadata
-- Grain : One row per JE_HEADER_ID + JE_LINE_NUM
-- Caution: Meaningless unfiltered — constrain LEDGER_ID, PERIOD_NAME, posted status, and the header's actuals flag, or budgets, encumbrances, unposted work, and secondary ledgers inflate every total; amounts are DR/CR column pairs, never signed
-- Notes : Auto-generated skeleton for Oracle EBS R12 data landed in your lakehouse. Dates are real DATE/TIMESTAMP columns — no conversion needed. WHO audit columns omitted (see the quirks guide); the optional LAST_UPDATE_DATE watermark filter supports incremental extracts.
-- ============================================================
SELECT
t.JE_HEADER_ID AS "The journal — key together with the line number; no surrogate exists",
t.JE_LINE_NUM AS "Line number within the journal — part of the key",
t.LEDGER_ID AS "The ledger, denormalized onto every line — always filter it",
t.CODE_COMBINATION_ID AS "The account combination the line hits",
t.PERIOD_NAME AS "The accounting period — always filter it",
t.EFFECTIVE_DATE AS "The line's effective date — the primary analysis date",
t.STATUS AS "U unposted, P posted",
t.ENTERED_DR AS "Entered debit — one side per line; use NVL when netting",
t.ENTERED_CR AS "Entered credit",
t.ACCOUNTED_DR AS "Debit in the ledger currency — SUM(DR) − SUM(CR) at your grain for net activity",
t.ACCOUNTED_CR AS "Credit in the ledger currency",
t.DESCRIPTION AS "Line description",
t.GL_SL_LINK_ID AS "The subledger-accounting drill link",
t.GL_SL_LINK_TABLE AS "Which subledger table the drill link resolves against",
t.TAX_LINE_FLAG AS "Marks tax lines"
FROM <catalog>.<schema>.GL_JE_LINES t
WHERE
1 = 1 -- no partition column on this table; the filters below are optional
-- AND t.JE_HEADER_ID = <JE_HEADER_ID>
-- AND t.JE_LINE_NUM = <JE_LINE_NUM>
-- AND t.EFFECTIVE_DATE >= DATE '<DATE_FROM>'
-- AND t.EFFECTIVE_DATE <= DATE '<DATE_TO>'
-- AND t.LAST_UPDATE_DATE >= TIMESTAMP '<watermark>' -- WHO watermark, bulk-stamped by batch jobs; see quirks guide #who-columns
ORDER BY t.JE_HEADER_ID;Verified September 2026
Relationships
Diagram of 1-hop neighbors — join details below. FND lookup decode and translation edges are highlighted; they’re the joins newcomers most often get wrong.
Join details
ON GL_JE_HEADERS.JE_HEADER_ID = GL_JE_LINES.JE_HEADER_IDON GL_JE_LINES.CODE_COMBINATION_ID = GL_CODE_COMBINATIONS.CODE_COMBINATION_ID
More Financials tables
- RA_CUSTOMER_TRX_ALLReceivables transaction headers — invoices, credit and debit memos, chargebacks, and deposits share the table, classified by transaction type; the revenue-document anchor of order-to-cash
- RA_CUSTOMER_TRX_LINES_ALLReceivables transaction lines — product lines, tax, and freight share the table by line type, with quantities, selling price, and the extended amount revenue analytics sum
- AP_INVOICE_DISTRIBUTIONS_ALLSupplier invoice distributions — one row per GL-account allocation of an invoice line; the spend-to-account grain payables accounting posts from
- AP_INVOICE_LINES_ALLSupplier invoice lines — the R12-new layer between header and distributions, carrying line type, amount, and the purchase-order and receipt matching references
- AP_INVOICES_ALLSupplier invoice headers — standard invoices, credit/debit memos, prepayments, and expense reports share the table by type, with amounts, payment status, and the liability account
- AR_CASH_RECEIPTS_ALLCash receipts — one row per customer or miscellaneous receipt with amount, date, status, and reversal detail; application detail against invoices lives in companion tables