Analytics Catalog/Oracle Fusion ERP/Payables/SLA Payables Account Analysis Report
Explore the catalogReportsModulesEnterprise modelOTBI subject areasBICC PVOs
Oracle Fusion · Payables

SLA Payables Account Analysis Report

Payables

An account analysis for Payables built from Subledger Accounting — every AP accounting line behind each GL account, tied to its invoice and event, so AP can drill any payables GL balance to the source transaction.

Related  The Payables-specific view of the Global SLA Account Analysis.

Run note · Performance  The subledger (XLA) join — especially Projects-to-XLA — is a known BI Publisher performance trap on large ledgers. Pre-join it in the warehouse, or apply tight ledger, period, and source filters before running online.

Sample build of the SLA Payables Account Analysis Report — reconciled, and rendered tool-neutral so it runs in Power BI, ThoughtSpot, or Tableau.

SLA Payables Account Analysis Report
Sample build · illustrative
Filters
Account From
1000-1410-000
Account To
1000-1410-000
Brand From
Sample
Brand To
Sample
Cc From
Sample
Cc To
Sample
240
Accounts
68,000
AP lines
$0 diff
Ties to GL
AccountInvoiceSupplierEvent TypeEntered DebitEntered CreditAccounting Date
1000-2100-000SampleAcme IndustrialStandard$1,240,500.00$1,240,500.002026-04-30
1000-5400-000Northwind TradingCorporate$842,150.75$842,150.752026-03-31
1000-1410-000SampleGlobex HoldingsStandard$96,400.00$96,400.002026-02-28
2000-2100-000Initech LLCDefault$1,005,233.10$1,005,233.102026-01-31
1000-6300-000SampleUmbrella CorpStandard$58,720.40$58,720.402025-12-31
1000-2100-000SampleAcme IndustrialStandard$1,240,500.00$1,240,500.002026-04-30
AI Analyst · active
reading

The report reads XLA_AE_LINES for the Payables subledger tied to each invoice and event type.

flag

A set of lines hit the liability account under an event type that shouldn't post there — a misconfigured AP accounting rule, not a data error.

root cause & next step

Fix the Payables accounting rule for that event type; a misrouted event is why a liability account carries entries it shouldn't.

Illustrative data. The live interactive version — drill-through, filters, export, and the AI Analyst — runs on your warehouse. See it live →

This is the report's BI Publisher data model — the SQL data set BI Publisher runs against Oracle tables to produce the output. The same SQL becomes a dbt model in your warehouse, so one definition drives both the formatted report and the analytics layer.

Data sources

How it interconnects: this data set reads the physical tables above. Those same tables surface in OTBI as subject areas and in BICC as PVOs — three lenses on one source. Open any table to trace its subject areas and View Objects.
SQL data set · genericized · parameterized · no hardcoded segments
Show / hide SQL
SELECT *
    FROM (SELECT   1, cc.segment1
                 || '.'
                 || cc.segment2
                 || '.'
                 || cc.segment3
                 || '.'
                 || cc.segment4
                 || '.'
                 || cc.segment5
                 || '.'
                 || cc.segment6
                 || '.'
                 || cc.segment7
                 || '.'
                 || cc.segment8
                 || '.'
                 || cc.segment9
                    ACCOUNT,
cc.segment4,
                 cc.code_combination_id,
                    A1.DESCRIPTION
                 || '.'
                 || A2.DESCRIPTION
                 || '.'
                 || A3.DESCRIPTION
                 || '.'
                 || A4.DESCRIPTION
                 || '.'
                 || A5.DESCRIPTION
                 || '.'
                 || A6.DESCRIPTION
                 || '.'
                 || A7.DESCRIPTION
                 || '.'
                 || A8.DESCRIPTION
                 || '.'
                 || A9.DESCRIPTION
                    DESCRIPTION,
                 (SELECT DISTINCT MEANING
                    FROM FND_LOOKUP_VALUES_VL
                   WHERE     LOOKUP_TYPE = 'GL_DSS_BALANCE_TYPE'
                         AND LOOKUP_CODE = GJH.ACTUAL_FLAG
                         AND ROWNUM = 1)
                    BALANCE_TYPE,
                 gjst.user_je_source_name SOURCE,
                 GJH.NAME JE_NAME,
                 GCT.JE_CATEGORY_NAME CATEGORY_NAME,
                 gjl.EFFECTIVE_DATE GL_DATE,
                 GJH.DESCRIPTION HEADER_DESCRIPTION,
                -- NVL (hp.PARTY_NAME || hp2.PARTY_NAME, ael.SR35) party_name,
				 (SELECT DISTINCT HP1.PARTY_NAME FROM 
                  HZ_PARTIES HP1
                  WHERE HP1.PARTY_ID = AIA.PARTY_ID) PARTY_NAME,
                 /*(SELECT LISTAGG(distinct ap.invoice_num) WITHIN GROUP(ORDER BY 1)
                    FROM ap_invoices_all ap, HZ_PARTIES hzps
                   WHERE     ap.PARTY_ID = hzps.PARTY_ID
                         AND hp2.PARTY_ID = hzps.PARTY_ID
                         --AND ap.PARTY_SITE_ID = hzps.PARTY_SITE_ID
                         AND ENT.source_id_int_1 = AP.invoice_id)
                    INVOICE_NUM,*/
				 AIA.INVOICE_NUM,	
                 NVL (ael.accounted_cr, 0) Credit,
                 NVL (ael.accounted_dr, 0) Debit,
                 XET.NAME EVENT_CLASS,
                 gp.period_num,
                 gp.period_name
            FROM GL_JE_HEADERS GJH,
			     AP_INVOICES_ALL AIA,
                 GL_JE_LINES GJL,
                 gl_je_sources_tl gjst,
                 gl_Ledgers GLL,
                 gl_periods gp,
                 GL_IMPORT_REFERENCES gir,
                 xla_event_types_tl xet,
                 xla_event_classes_tl xect,
                 xla_ae_lines ael,
                 xla_ae_headers aeh,
                 xla_transaction_entities ent,
                 /*HZ_CUST_ACCOUNTS hca,
                 HZ_PARTIES HP,
                 hz_parties hp2,
				 POZ_SUPPLIERS ps,*/
                 GL_CODE_COMBINATIONS CC,
                 GL_JE_CATEGORIES_B GCB,
                 GL_JE_CATEGORIES_TL GCT,
                 fnd_flex_values_vl A1,
                 fnd_flex_values_vl A2,
                 fnd_flex_values_vl A3,
                 fnd_flex_values_vl A4,
                 fnd_flex_values_vl A5,
                 fnd_flex_values_vl A6,
                 fnd_flex_values_vl A7,
                 fnd_flex_values_vl A8,
                 fnd_flex_values_vl A9,
                 XLA_SUBLEDGERS_TL FAT
                
           WHERE     gjh.status = 'P'
		         AND ENT.source_id_int_1 = AIA.invoice_id(+)
				--AND gp.period_set_name = 'Common Calendar'
				 --AND gll.period_set_name = gp.period_set_name
				 AND GP.period_type=GLL.accounted_period_type
                 AND aeh.application_id = xet.application_id(+)
                 AND aeh.event_type_code = xet.event_type_code(+)
                 AND xet.LANGUAGE(+) = USERENV ('LANG')
                 AND xet.entity_code = xect.entity_code(+)
                 AND xet.application_id = xect.application_id(+)
                 AND xet.event_class_code = xect.event_class_code(+)
                 AND xet.language = xect.LANGUAGE(+)
                 AND GP.period_name = gjh.period_name
                 AND GCB.JE_CATEGORY_NAME = GJH.JE_CATEGORY
                 AND GCB.JE_CATEGORY_NAME = GCT.JE_CATEGORY_NAME
                 AND gjl.currency_code != 'STAT'
                 AND gjl.JE_HEADER_ID = gjh.JE_HEADER_ID
                 AND gjst.je_source_name = gjh.je_source
                 AND gjst.LANGUAGE = USERENV ('LANG')
                 AND gir.GL_SL_LINK_ID = ael.GL_SL_LINK_ID(+)
                 AND gir.GL_SL_LINK_TABLE = ael.GL_SL_LINK_TABLE(+)
                /* AND ael.PARTY_ID = hca.cust_account_id(+)
                 AND hca.PARTY_ID = hp.PARTY_ID(+)
                 AND ps.PARTY_ID = hp2.PARTY_ID(+)
                 AND ael.PARTY_ID = ps.VENDOR_ID(+)*/
                 AND CC.CODE_COMBINATION_ID = GJL.CODE_COMBINATION_ID
                 AND ael.ae_header_id = aeh.ae_header_id(+)
                 AND gjl.JE_HEADER_ID = gir.JE_HEADER_ID(+)
                 AND gjl.JE_LINE_NUM = gir.JE_LINE_NUM(+)
                 AND A1.flex_value = cc.segment1
                 AND A1.VALUE_CATEGORY = 'ENTITY VALUE SET'
                 AND A2.flex_value = cc.segment2
                 AND A2.VALUE_CATEGORY = 'SELLING METHOD VALUE SET'
                 AND A3.flex_value = cc.segment3
                 AND A3.VALUE_CATEGORY = 'COST CENTER VALUE SET'
                 AND A4.flex_value = cc.segment4
                 --AND A4.VALUE_CATEGORY = 'ACCOUNT VALUE SET'
				 AND A4.flex_value_set_id IN (SELECT FLEX_VALUE_SET_ID 
                                   FROM fnd_id_flex_segments 
                                   WHERE 
										1=1 
								   and GLL.chart_of_accounts_id = id_flex_num 
								   and application_id = '101' 
                                   AND id_flex_code = 'GL#' 
                                   AND enabled_flag = 'Y' 
                                   AND application_column_name = 'SEGMENT4')
                 AND A5.flex_value = cc.segment5
                 AND A5.VALUE_CATEGORY = 'LOCATION VALUE SET'
                 AND A6.flex_value = cc.segment6
                 AND A6.VALUE_CATEGORY = 'BRAND VALUE SET'
                 AND A7.flex_value = cc.segment7
                 AND A7.VALUE_CATEGORY = 'INTERCOMPANY VALUE SET'
                 AND A8.flex_value = cc.segment8
                 AND A8.VALUE_CATEGORY = 'FUTURE1 VALUE SET'
                 AND A9.flex_value = cc.segment9
                 AND A9.VALUE_CATEGORY = 'FUTURE2 VALUE SET'
                 AND aeh.entity_id = ent.entity_id(+)
                 --AND aeh.ledger_id = ent.ledger_id(+)
                 AND aeh.application_id = ent.application_id(+)
                 AND aeh.APPLICATION_ID = FAT.APPLICATION_ID(+)
                 AND FAT.LANGUAGE(+) = USERENV ('LANG')
                 AND gll.ledger_id = gjl.ledger_id
                 AND gll.LEDGER_ID = gjh.LEDGER_ID
                 AND NVL (FAT.APPLICATION_NAME, 'ABC') =
                        NVL (NVL ( (:P_SUBLEDGER), FAT.APPLICATION_NAME),
                             'ABC')
                 AND gll.NAME IN NVL ( (:P_LEDGER), gll.NAME)
                 AND gjl.EFFECTIVE_DATE BETWEEN NVL (
                                                   (SELECT distinct START_DATE
                                                      FROM GL_PERIODS gp
                                                     WHERE gp.period_name =
                                                              :P_FROM_GL_DATE),
                                                   gjl.EFFECTIVE_DATE)
                                            AND NVL (
                                                   (SELECT distinct END_DATE
                                                      FROM GL_PERIODS gp2
                                                     WHERE gp2.period_name =
                                                              :P_TO_GL_DATE),
                                                   gjl.EFFECTIVE_DATE) 
  AND (CAST(cc.segment1 as numeric) BETWEEN NVL(:P_ENTITY_FROM, CAST(cc.segment1 as numeric)) AND NVL(:P_ENTITY_TO,CAST(cc.segment1 as numeric)))
                AND (CAST(cc.segment2  as numeric) BETWEEN NVL(:P_SELLING_METHOD_FROM,CAST(cc.segment2  as numeric))
                                      AND NVL(:P_SELLING_METHOD_TO,CAST(cc.segment2  as numeric)))
                 AND (CAST(cc.segment3  as numeric) BETWEEN NVL(:P_CC_FROM,CAST(cc.segment3  as numeric)) AND NVL(:P_CC_TO,CAST(cc.segment3  as numeric)))
                 AND (CAST(cc.segment4  as numeric) BETWEEN NVL(:P_ACCOUNT_FROM,CAST(cc.segment4  as numeric)) AND NVL(:P_ACCOUNT_TO,CAST(cc.segment4  as numeric)))
                 AND (CAST(cc.segment5  as numeric) BETWEEN NVL(:P_LOCATION_FROM,CAST(cc.segment5  as numeric))
                                      AND NVL(:P_LOCATION_TO,CAST(cc.segment5  as numeric)))
                 AND (CAST(cc.segment6  as numeric) BETWEEN NVL(:P_BRAND_FROM,CAST(cc.segment6  as numeric)) AND NVL(:P_BRAND_TO,CAST(cc.segment6  as numeric)))
                 AND (CAST(cc.segment7  as numeric) BETWEEN NVL(:P_INTERCO_FROM,CAST(cc.segment7  as numeric)) AND NVL(:P_INTERCO_TO,CAST(cc.segment7  as numeric)))
                 AND (CAST(cc.segment8  as numeric) BETWEEN NVL(:P_FUTURE1_FROM,CAST(cc.segment8  as numeric))
                                      AND NVL(:P_FUTURE1_TO,CAST(cc.segment8  as numeric)))
                 AND (CAST(cc.segment9  as numeric) BETWEEN NVL(:P_FUTURE2_FROM,CAST(cc.segment9  as numeric)) AND NVL(:P_FUTURE2_TO,CAST(cc.segment9  as numeric) ))
                  AND (AEL.ACCOUNTED_DR + AEL.ACCOUNTED_CR = 0)
                 AND (:P_ZERO_LINES) = 'Y'
          UNION
          SELECT  2,  cc.segment1
                 || '.'
                 || cc.segment2
                 || '.'
                 || cc.segment3
                 || '.'
                 || cc.segment4
                 || '.'
                 || cc.segment5
                 || '.'
                 || cc.segment6
                 || '.'
                 || cc.segment7
                 || '.'
                 || cc.segment8
                 || '.'
                 || cc.segment9
                    ACCOUNT,
cc.segment4,
                 cc.code_combination_id,
                    A1.DESCRIPTION
                 || '.'
                 || A2.DESCRIPTION
                 || '.'
                 || A3.DESCRIPTION
                 || '.'
                 || A4.DESCRIPTION
                 || '.'
                 || A5.DESCRIPTION
                 || '.'
                 || A6.DESCRIPTION
                 || '.'
                 || A7.DESCRIPTION
                 || '.'
                 || A8.DESCRIPTION
                 || '.'
                 || A9.DESCRIPTION
                    DESCRIPTION,
                 (SELECT DISTINCT MEANING
                    FROM FND_LOOKUP_VALUES_VL
                   WHERE     LOOKUP_TYPE = 'GL_DSS_BALANCE_TYPE'
                         AND LOOKUP_CODE = GJH.ACTUAL_FLAG
                         AND ROWNUM = 1)
                    BALANCE_TYPE,
                 gjst.user_je_source_name SOURCE,
                 GJH.NAME JE_NAME,
                 GCT.JE_CATEGORY_NAME,
                 gjl.EFFECTIVE_DATE GL_DATE,
                 AIA.DESCRIPTION HEADER_DESCRIPTION,  --Updated from GL to AP during FUT
                -- NVL (hp.PARTY_NAME || hp2.PARTY_NAME, ael.SR35) party_name,
				 (SELECT DISTINCT HP1.PARTY_NAME FROM 
                  HZ_PARTIES HP1
                  WHERE HP1.PARTY_ID = AIA.PARTY_ID) PARTY_NAME,
                /* ((SELECT LISTAGG(distinct ap.invoice_num) WITHIN GROUP(ORDER BY 1)
                    FROM ap_invoices_all ap, HZ_PARTIES hzps
                   WHERE     ap.PARTY_ID = hzps.PARTY_ID
                         AND hp2.PARTY_ID = hzps.PARTY_ID
                         --AND ap.PARTY_SITE_ID = hzps.PARTY_SITE_ID
                         AND ENT.source_id_int_1 = AP.invoice_id))
                    INVOICE_NUM1,*/
				 AIA.INVOICE_NUM,
                 NVL (ael.accounted_cr, 0) Credit,
                 NVL (ael.accounted_dr, 0) Debit,
                 XET.NAME EVENT_CLASS,
                 gp.period_num,
                 gp.period_name
            FROM GL_JE_HEADERS GJH,
			     AP_INVOICES_ALL AIA,
                 GL_JE_LINES GJL,
                 gl_je_sources_tl gjst,
                 gl_Ledgers GLL,
                 gl_periods gp,
                 xla_event_types_tl xet,
                 xla_event_classes_tl xect,
                 GL_IMPORT_REFERENCES gir,
                 xla_ae_lines ael,
                 xla_ae_headers aeh,
                 xla_transaction_entities ent,
                /* HZ_CUST_ACCOUNTS hca,
                 HZ_PARTIES HP,
                 hz_parties hp2,
				 POZ_SUPPLIERS ps,*/
                 GL_CODE_COMBINATIONS CC,
                 GL_JE_CATEGORIES_B GCB,
                 GL_JE_CATEGORIES_TL GCT,
                 fnd_flex_values_vl A1,
                 fnd_flex_values_vl A2,
                 fnd_flex_values_vl A3,
                 fnd_flex_values_vl A4,
                 fnd_flex_values_vl A5,
                 fnd_flex_values_vl A6,
                 fnd_flex_values_vl A7,
                 fnd_flex_values_vl A8,
                 fnd_flex_values_vl A9,
                 XLA_SUBLEDGERS_TL FAT
				 
           WHERE     gjh.status = 'P'
		         AND ENT.source_id_int_1 = AIA.invoice_id(+)
				--AND gp.period_set_name = 'Common Calendar'
				 --AND gll.period_set_name = gp.period_set_name
				 AND GP.period_type=GLL.accounted_period_type
                 AND aeh.application_id = xet.application_id(+)
                 AND aeh.event_type_code = xet.event_type_code(+)
                 AND xet.LANGUAGE(+) = USERENV ('LANG')
                 AND xet.entity_code = xect.entity_code(+)
                 AND xet.application_id = xect.application_id(+)
                 AND xet.event_class_code = xect.event_class_code(+)
                 AND xet.language = xect.LANGUAGE(+)
                 AND gp.period_name = gjh.period_name
                 AND GJH.JE_CATEGORY = GCB.JE_CATEGORY_NAME
                 AND GCB.JE_CATEGORY_NAME = GCT.JE_CATEGORY_NAME
                 AND gjl.currency_code != 'STAT'
                 AND gjl.JE_HEADER_ID = gjh.JE_HEADER_ID
                 AND gjst.je_source_name = gjh.je_source
                 AND gjst.LANGUAGE = USERENV ('LANG')
                 AND gir.GL_SL_LINK_ID = ael.GL_SL_LINK_ID(+)
                 AND gir.GL_SL_LINK_TABLE = ael.GL_SL_LINK_TABLE(+)
                 /*AND ael.PARTY_ID = hca.cust_account_id(+)
                 AND hca.PARTY_ID = hp.PARTY_ID(+)
                 AND ps.PARTY_ID = hp2.PARTY_ID(+)
                 AND ael.PARTY_ID = ps.VENDOR_ID(+)*/
                 AND CC.CODE_COMBINATION_ID = GJL.CODE_COMBINATION_ID
                 AND ael.ae_header_id = aeh.ae_header_id(+)
                 AND gjl.JE_HEADER_ID = gir.JE_HEADER_ID(+)
                 AND gjl.JE_LINE_NUM = gir.JE_LINE_NUM(+)
                 AND A1.flex_value = cc.segment1
                 AND A1.VALUE_CATEGORY = 'ENTITY VALUE SET'
                 AND A2.flex_value = cc.segment2
                 AND A2.VALUE_CATEGORY = 'SELLING METHOD VALUE SET'
                 AND A3.flex_value = cc.segment3
                 AND A3.VALUE_CATEGORY = 'COST CENTER VALUE SET'
                 AND A4.flex_value = cc.segment4
                 --AND A4.VALUE_CATEGORY = 'ACCOUNT VALUE SET'
				 AND A4.flex_value_set_id IN (SELECT FLEX_VALUE_SET_ID 
                                   FROM fnd_id_flex_segments 
                                   WHERE 
										1=1 
								   and GLL.chart_of_accounts_id = id_flex_num 
								   and application_id = '101' 
                                   AND id_flex_code = 'GL#' 
                                   AND enabled_flag = 'Y' 
                                   AND application_column_name = 'SEGMENT4')
                 AND A5.flex_value = cc.segment5
                 AND A5.VALUE_CATEGORY = 'LOCATION VALUE SET'
                 AND A6.flex_value = cc.segment6
                 AND A6.VALUE_CATEGORY = 'BRAND VALUE SET'
                 AND A7.flex_value = cc.segment7
                 AND A7.VALUE_CATEGORY = 'INTERCOMPANY VALUE SET'
                 AND A8.flex_value = cc.segment8
                 AND A8.VALUE_CATEGORY = 'FUTURE1 VALUE SET'
                 AND A9.flex_value = cc.segment9
                 AND A9.VALUE_CATEGORY = 'FUTURE2 VALUE SET'
                 AND aeh.entity_id = ent.entity_id(+)
                 --AND aeh.ledger_id = ent.ledger_id(+)
                 AND aeh.application_id = ent.application_id(+)
                 AND aeh.APPLICATION_ID = FAT.APPLICATION_ID(+)
                 AND FAT.LANGUAGE(+) = USERENV ('LANG')
                 AND gll.ledger_id = gjl.ledger_id
                 AND gll.LEDGER_ID = gjh.LEDGER_ID
               AND NVL (FAT.APPLICATION_NAME, 'ABC') =
                        NVL (NVL ( (:P_SUBLEDGER), FAT.APPLICATION_NAME),
                             'ABC')
                 AND gll.NAME IN NVL ( (:P_LEDGER), gll.NAME)
                 AND gjl.EFFECTIVE_DATE BETWEEN NVL (
                                                   (SELECT distinct START_DATE
                                                      FROM GL_PERIODS gp
                                                     WHERE gp.period_name =
                                                              :P_FROM_GL_DATE),
                                                   gjl.EFFECTIVE_DATE)
                                            AND NVL (
                                                   (SELECT distinct END_DATE
                                                      FROM GL_PERIODS gp2
                                                     WHERE gp2.period_name =
                                                              :P_TO_GL_DATE),
                                                   gjl.EFFECTIVE_DATE) 
                AND (CAST(cc.segment1 as numeric) BETWEEN NVL(:P_ENTITY_FROM, CAST(cc.segment1 as numeric)) AND NVL(:P_ENTITY_TO,CAST(cc.segment1 as numeric)))
                AND (CAST(cc.segment2  as numeric) BETWEEN NVL(:P_SELLING_METHOD_FROM,CAST(cc.segment2  as numeric))
                                      AND NVL(:P_SELLING_METHOD_TO,CAST(cc.segment2  as numeric)))
                 AND (CAST(cc.segment3  as numeric) BETWEEN NVL(:P_CC_FROM,CAST(cc.segment3  as numeric)) AND NVL(:P_CC_TO,CAST(cc.segment3  as numeric)))
                 AND (CAST(cc.segment4  as numeric) BETWEEN NVL(:P_ACCOUNT_FROM,CAST(cc.segment4  as numeric)) AND NVL(:P_ACCOUNT_TO,CAST(cc.segment4  as numeric)))
                 AND (CAST(cc.segment5  as numeric) BETWEEN NVL(:P_LOCATION_FROM,CAST(cc.segment5  as numeric))
                                      AND NVL(:P_LOCATION_TO,CAST(cc.segment5  as numeric)))
                 AND (CAST(cc.segment6  as numeric) BETWEEN NVL(:P_BRAND_FROM,CAST(cc.segment6  as numeric)) AND NVL(:P_BRAND_TO,CAST(cc.segment6  as numeric)))
                 AND (CAST(cc.segment7  as numeric) BETWEEN NVL(:P_INTERCO_FROM,CAST(cc.segment7  as numeric)) AND NVL(:P_INTERCO_TO,CAST(cc.segment7  as numeric)))
                 AND (CAST(cc.segment8  as numeric) BETWEEN NVL(:P_FUTURE1_FROM,CAST(cc.segment8  as numeric))
                                      AND NVL(:P_FUTURE1_TO,CAST(cc.segment8  as numeric)))
                 AND (CAST(cc.segment9  as numeric) BETWEEN NVL(:P_FUTURE2_FROM,CAST(cc.segment9  as numeric)) AND NVL(:P_FUTURE2_TO,CAST(cc.segment9  as numeric) ))
  UNION
SELECT DISTINCT  3,cc.segment1
                 || '.'
                 || cc.segment2
                 || '.'
                 || cc.segment3
                 || '.'
                 || cc.segment4
                 || '.'
                 || cc.segment5
                 || '.'
                 || cc.segment6
                 || '.'
                 || cc.segment7
                 || '.'
                 || cc.segment8
                 || '.'
                 || cc.segment9
                    ACCOUNT,
cc.segment4,
                 cc.code_combination_id,
                    A1.DESCRIPTION
                 || '.'
                 || A2.DESCRIPTION
                 || '.'
                 || A3.DESCRIPTION
                 || '.'
                 || A4.DESCRIPTION
                 || '.'
                 || A5.DESCRIPTION
                 || '.'
                 || A6.DESCRIPTION
                 || '.'
                 || A7.DESCRIPTION
                 || '.'
                 || A8.DESCRIPTION
                 || '.'
                 || A9.DESCRIPTION
                    DESCRIPTION,
                 (SELECT DISTINCT MEANING
                    FROM FND_LOOKUP_VALUES_VL
                   WHERE     LOOKUP_TYPE = 'GL_DSS_BALANCE_TYPE'
                         AND LOOKUP_CODE = GJH.ACTUAL_FLAG
                         AND ROWNUM = 1)
                    BALANCE_TYPE,
                 gjst.user_je_source_name SOURCE,
                 GJH.NAME JE_NAME,
                 GCT.JE_CATEGORY_NAME CATEGORY_NAME,
                 gjl.EFFECTIVE_DATE GL_DATE,
                 '' HEADER_DESCRIPTION,
                 '' party_name,
                 '' INVOICE_NUM,
                 NVL (GJl.accounted_cr, 0) Credit,
                 NVL (GJl.accounted_dr, 0) Debit,
                 ' ' EVENT_CLASS,
                 gp.period_num,
                 gp.period_name
from gl_je_headers gjh,
gl_je_lines gjl,
gl_Ledgers GLL,
gl_je_sources_tl gjst,
GL_CODE_COMBINATIONS CC,
gl_periods gp,
                 GL_JE_CATEGORIES_B GCB,
                 GL_JE_CATEGORIES_TL GCT,
fnd_flex_values_vl A1,
                 fnd_flex_values_vl A2,
                 fnd_flex_values_vl A3,
                 fnd_flex_values_vl A4,
                 fnd_flex_values_vl A5,
                 fnd_flex_values_vl A6,
                 fnd_flex_values_vl A7,
                 fnd_flex_values_vl A8,
                 fnd_flex_values_vl A9,
gl_ledger_norm_seg_vals bsv
where 
gjh.status = 'P'
--AND GP.period_name = gjh.period_name
--AND gp.period_set_name = 'Common Calendar'
--AND gll.period_set_name = gp.period_set_name 
AND GP.period_type=GLL.accounted_period_type
AND gjl.currency_code != 'STAT'
AND gll.ledger_id = gjl.ledger_id
 AND gll.LEDGER_ID = gjh.LEDGER_ID
                 AND gjl.JE_HEADER_ID = gjh.JE_HEADER_ID
                 AND gjst.je_source_name = gjh.je_source
                 AND gjst.LANGUAGE = USERENV ('LANG')
AND UPPER(gjst.user_je_source_name) like 'MANUAL'
AND CC.CODE_COMBINATION_ID = GJL.CODE_COMBINATION_ID
 AND gll.NAME IN NVL ( (:P_LEDGER), gll.NAME)
AND gjl.EFFECTIVE_DATE BETWEEN NVL (
                                                   (SELECT distinct START_DATE
                                                      FROM GL_PERIODS gp
                                                     WHERE gp.period_name =
                                                              :P_FROM_GL_DATE),
                                                   gjl.EFFECTIVE_DATE)
                                            AND NVL (
                                                   (SELECT distinct END_DATE
                                                      FROM GL_PERIODS gp2
                                                     WHERE gp2.period_name =
                                                              :P_TO_GL_DATE),
                                                   gjl.EFFECTIVE_DATE) 
AND A1.flex_value = cc.segment1
 AND A1.VALUE_CATEGORY = 'ENTITY VALUE SET'
                 AND A2.flex_value = cc.segment2
                 AND A2.VALUE_CATEGORY = 'SELLING METHOD VALUE SET'
                 AND A3.flex_value = cc.segment3
                 AND A3.VALUE_CATEGORY = 'COST CENTER VALUE SET'
                 AND A4.flex_value = cc.segment4
                 --AND A4.VALUE_CATEGORY = 'ACCOUNT VALUE SET'
				 AND A4.flex_value_set_id IN (SELECT FLEX_VALUE_SET_ID 
                                   FROM fnd_id_flex_segments 
                                   WHERE 
										1=1 
								   and GLL.chart_of_accounts_id = id_flex_num 
								   and application_id = '101' 
                                   AND id_flex_code = 'GL#' 
                                   AND enabled_flag = 'Y' 
                                   AND application_column_name = 'SEGMENT4')
                 AND A5.flex_value = cc.segment5
                 AND A5.VALUE_CATEGORY = 'LOCATION VALUE SET'
                 AND A6.flex_value = cc.segment6
                 AND A6.VALUE_CATEGORY = 'BRAND VALUE SET'
                 AND A7.flex_value = cc.segment7
                 AND A7.VALUE_CATEGORY = 'INTERCOMPANY VALUE SET'
                 AND A8.flex_value = cc.segment8
                 AND A8.VALUE_CATEGORY = 'FUTURE1_VALUE_SET'
                 AND A9.flex_value = cc.segment9
                 AND A9.VALUE_CATEGORY = 'FUTURE2_VALUE_SET'
                 AND GCB.JE_CATEGORY_NAME = GJH.JE_CATEGORY
                 AND GCB.JE_CATEGORY_NAME = GCT.JE_CATEGORY_NAME
 AND (CAST(cc.segment1 as numeric) BETWEEN NVL(:P_ENTITY_FROM, CAST(cc.segment1 as numeric)) AND NVL(:P_ENTITY_TO,CAST(cc.segment1 as numeric)))
                AND (CAST(cc.segment2  as numeric) BETWEEN NVL(:P_SELLING_METHOD_FROM,CAST(cc.segment2  as numeric))
                                      AND NVL(:P_SELLING_METHOD_TO,CAST(cc.segment2  as numeric)))
                 AND (CAST(cc.segment3  as numeric) BETWEEN NVL(:P_CC_FROM,CAST(cc.segment3  as numeric)) AND NVL(:P_CC_TO,CAST(cc.segment3  as numeric)))
                 AND (CAST(cc.segment4  as numeric) BETWEEN NVL(:P_ACCOUNT_FROM,CAST(cc.segment4  as numeric)) AND NVL(:P_ACCOUNT_TO,CAST(cc.segment4  as numeric)))
                 AND (CAST(cc.segment5  as numeric) BETWEEN NVL(:P_LOCATION_FROM,CAST(cc.segment5  as numeric))
                                      AND NVL(:P_LOCATION_TO,CAST(cc.segment5  as numeric)))
                 AND (CAST(cc.segment6  as numeric) BETWEEN NVL(:P_BRAND_FROM,CAST(cc.segment6  as numeric)) AND NVL(:P_BRAND_TO,CAST(cc.segment6  as numeric)))
                 AND (CAST(cc.segment7  as numeric) BETWEEN NVL(:P_INTERCO_FROM,CAST(cc.segment7  as numeric)) AND NVL(:P_INTERCO_TO,CAST(cc.segment7  as numeric)))
                 AND (CAST(cc.segment8  as numeric) BETWEEN NVL(:P_FUTURE1_FROM,CAST(cc.segment8  as numeric))
                                      AND NVL(:P_FUTURE1_TO,CAST(cc.segment8  as numeric)))
                 AND (CAST(cc.segment9  as numeric) BETWEEN NVL(:P_FUTURE2_FROM,CAST(cc.segment9  as numeric)) AND NVL(:P_FUTURE2_TO,CAST(cc.segment9  as numeric) ))
  and :P_SUBLEDGER = 'Manual'
)
ORDER BY period_num
:P_ACCOUNT_FROM :P_ACCOUNT_TO :P_BRAND_FROM :P_BRAND_TO :P_CC_FROM :P_CC_TO :P_ENTITY_FROM :P_ENTITY_TO :P_FROM_GL_DATE :P_FUTURE1_FROM :P_FUTURE1_TO :P_FUTURE2_FROM :P_FUTURE2_TO :P_INTERCO_FROM :P_INTERCO_TO :P_LEDGER :P_LOCATION_FROM :P_LOCATION_TO :P_SELLING_METHOD_FROM :P_SELLING_METHOD_TO :P_SUBLEDGER :P_TO_GL_DATE :P_ZERO_LINES

The data-warehouse model — one fact surrounded by conformed dimensions (what you slice by) and measures (what you aggregate), expressed as dbt so it migrates with you. Grain: one row per source transaction.

XLA_AE_HEADERSdimensionAP_INVOICES_ALLdimensionGL_CODE_COMBINATIONSdimensionGL_LEDGERSdimensionXLA_AE_LINESfact · one row per source transactionEntered Debit · Entered Credit
●— fact → dimension join
ElementTypeDefinition
XLA_AE_HEADERSdimensiondimension
AP_INVOICES_ALLdimensiondimension
GL_CODE_COMBINATIONSdimensiondimension
GL_LEDGERSdimensiondimension
Entered Debitmeasuremeasure
Entered Creditmeasuremeasure
Runs on your cloud warehouse — Snowflake, BigQuery, Redshift, or Synapse on AWS, Google Cloud, Azure, or any provider. Reconciled to the source control total — 0% variance by design. You own the code, the model, and the data.
How the data gets here: a BICC bulk extract of the source tables above, on the same pattern for every report. See the extraction pattern & data flow →
See the complete model
How this report's fact and dimensions fit the full picture, via conformed keys.
Payables data model →Enterprise model →

Every source object behind this report. Each linked table has its own page with full column descriptions, drawn from the Oracle BICC lineage and articulated for practitioners.

TableReporting columnsSubject areas
XLA_AE_LINES2317
XLA_AE_HEADERS1619
AP_INVOICES_ALL6315
GL_CODE_COMBINATIONS761
GL_LEDGERS10104
Reporting columns = fields the report selects that are exposed as analytics attributes; subject areas = the OTBI subject areas the table appears in. Setup and configuration tables (master data, ledger and book setup, lookups) are referenced by the report's joins but aren't exposed as analytics columns or subject areas — that's expected, not a gap.