Link Between AP, GL, and SLA in Oracle R12
A complete query to trace financial data from Accounts Payable to General Ledger.
Query Rationale
In Oracle E-Business Suite R12, tracing a transaction from its origin in a subledger like Accounts Payable (AP) to its final destination in the General Ledger (GL) is a common but complex task. This is because the data passes through the Subledger Accounting (SLA) module, which uses the XLA tables. This query provides a complete join to link these modules, allowing for full data traceability.
The Complete AP-SLA-GL Query
This query joins tables from AP, SLA (XLA), and GL to provide a full picture of a transaction's lifecycle. It is particularly useful for financial reconciliation and troubleshooting accounting discrepancies.
SELECT DISTINCT GJH.PERIOD_NAME, TRUNC (GJH.CREATION_DATE) GL_DATE,
GJH.JE_SOURCE, GJH.JE_CATEGORY, GJH.CURRENCY_CODE,
GJL.DESCRIPTION, GJL.REFERENCE_5, GJL.REFERENCE_10,
GJL.ACCOUNTED_CR, GJL.ACCOUNTED_DR, GJL.EFFECTIVE_DATE,
GJL.REFERENCE_1, GCC.SEGMENT1, GCC.SEGMENT2, GCC.SEGMENT3,
GCC.SEGMENT4, GCC.SEGMENT5, GCC.SEGMENT6, GCC.SEGMENT7,
AERLA.JUSTIFICATION, AERLA.PROJECT_NUMBER,
AERLA.EXPENDITURE_ITEM_DATE, AERLA.RECEIPT_CURRENCY_CODE
FROM APPS.GL_JE_HEADERS GJH,
APPS.GL_JE_LINES GJL,
APPS.GL_CODE_COMBINATIONS GCC,
APPS.GL_IMPORT_REFERENCES GIR,
APPS.XLA_AE_LINES XAL,
APPS.XLA_AE_HEADERS XAH,
APPS.AP_INVOICES_ALL AIA,
APPS.AP_INVOICE_LINES_ALL AILA,
APPS.AP_INVOICE_DISTRIBUTIONS_ALL AIDA,
APPS.AP_EXPENSE_REPORT_HEADERS_ALL AERHA,
APPS.AP_EXPENSE_REPORT_LINES_ALL AERLA
--APPS.XLA_EVENTS XE,
--XLA.XLA_TRANSACTION_ENTITIES XTE,
--APPS.XLA_DISTRIBUTION_LINKS XDL,
WHERE GJH.JE_HEADER_ID = GJL.JE_HEADER_ID
AND GJL.CODE_COMBINATION_ID = GCC.CODE_COMBINATION_ID
AND GJL.JE_HEADER_ID = GIR.JE_HEADER_ID
AND GJL.JE_LINE_NUM = GIR.JE_LINE_NUM
AND GIR.GL_SL_LINK_ID = XAL.GL_SL_LINK_ID
AND GIR.GL_SL_LINK_TABLE = XAL.GL_SL_LINK_TABLE
AND XAL.APPLICATION_ID = XAH.APPLICATION_ID
AND AIA.INVOICE_ID = AILA.INVOICE_ID
AND AIA.INVOICE_ID = AIDA.INVOICE_ID
AND AILA.LINE_NUMBER = AIDA.DISTRIBUTION_LINE_NUMBER
AND AERHA.REPORT_HEADER_ID = AERLA.REPORT_HEADER_ID
AND AIA.INVOICE_ID = AERHA.VOUCHNO
AND AIDA.INVOICE_LINE_NUMBER = AERLA.DISTRIBUTION_LINE_NUMBER
AND AIDA.ACCOUNTING_EVENT_ID = XAH.EVENT_ID
AND XAL.AE_HEADER_ID = XAH.AE_HEADER_ID
AND ( GJH.JE_SOURCE = 'Payables'
AND GJH.JE_CATEGORY = 'Purchase Invoices'
)
AND GJH.CURRENCY_CODE = 'INR'
--AND XAH.EVENT_ID=XE.EVENT_ID
--AND XAH.APPLICATION_ID=XE.APPLICATION_ID
--AND XE.ENTITY_ID=XTE.ENTITY_ID
--AND XE.APPLICATION_ID=XTE.APPLICATION_ID
--AND XTE.SOURCE_ID_INT_1=AIA.INVOICE_ID
--AND XAH.APPLICATION_ID=XTE.APPLICATION_ID
--AND XAH.ENTITY_ID=XTE.ENTITY_ID
--AND XDL.APPLICATION_ID=XAH.APPLICATION_ID
--AND AIDA.INVOICE_DISTRIBUTION_ID=XDL.SOURCE_DISTRIBUTION_ID_NUM_1
--AND XDL.AE_HEADER_ID=XAH.AE_HEADER_ID
--AND XE.EVENT_ID=AIDA.ACCOUNTING_EVENT_ID
--AND AERHA.INVOICE_NUM LIKE '%12345%'
--AND GJH.PERIOD_NAME = 'AUG-15'
Key Tables and Their Roles
Understanding the role of each table is key to debugging and modifying this query for your needs.
Table Name | Description |
---|---|
GL_JE_HEADERS / GL_JE_LINES | Stores the final journal entries in the General Ledger. |
GL_IMPORT_REFERENCES | The bridge between GL and Subledger Accounting (SLA). It links GL journal lines to their source in SLA. |
XLA_AE_HEADERS / XLA_AE_LINES | Core SLA tables storing the detailed accounting entries generated from subledger transactions. |
XLA_TRANSACTION_ENTITIES / XLA_EVENTS | Stores information about the source transaction (e.g., an AP Invoice) that triggered the accounting event. |
XLA_DISTRIBUTION_LINKS | Links the accounting distributions from the subledger (like AP) to the SLA journal entry lines. |
AP_INVOICES_ALL / AP_INVOICE_DISTRIBUTIONS_ALL | Stores the source AP invoice transaction details. |