Italian Journal Book Report
The Italian statutory journal book (Libro Giornale) — all accounting entries in strict chronological, sequentially-numbered order, in the format Italian law requires for the bound book of original entry.
Run note · BIP run High-volume GL extracts can exceed BI Publisher's online output limit and time out. Run it as a scheduled process (ESS) with output bursted to file or email rather than online preview, and bound it by ledger and period.
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 Italian Journal Book Report — reconciled, and rendered tool-neutral so it runs in Power BI, ThoughtSpot, or Tableau.
| Sequence | Journal Date | Account | Description | Debit | Credit |
|---|---|---|---|---|---|
| Sample | 2026-04-30 | 1000-2100-000 | Sample | $1,240,500.00 | $1,240,500.00 |
| — | 2026-03-31 | 1000-5400-000 | — | $842,150.75 | $842,150.75 |
| Sample | 2026-02-28 | 1000-1410-000 | Sample | $96,400.00 | $96,400.00 |
| — | 2026-01-31 | 2000-2100-000 | — | $1,005,233.10 | $1,005,233.10 |
| Sample | 2025-12-31 | 1000-6300-000 | Sample | $58,720.40 | $58,720.40 |
| Sample | 2026-04-30 | 1000-2100-000 | Sample | $1,240,500.00 | $1,240,500.00 |
The report lists entries in legal sequence with chronological ordering, per the Libro Giornale rules.
Four entries post out of date order relative to their sequence number — Italian law requires sequence to follow date, which breaks the book's legal validity.
Re-sequence the four entries to chronological order before binding; sequence-vs-date breaks are the classic Libro Giornale defect.
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
Show / hide SQL
SELECT
HEADER_PERIOD_NAME
,TRANSACTION_NUMBER
,LEGAL_ENTITY_NAME
,LE_ADDRESS
,SYSDATE1
,FISCAL_YEAR
,TAXPAYER_ID
,ENDING_BALANCE_CR
,ENDING_BALANCE_DR
,BEGIN_BALANCE_CR
,BEGIN_BALANCE_DR
,REPORTING_SEQ_NUMBER
,ACC_SEQ_NAME
,JOURNAL_DESC
,JE_HEADER_ID
,TRX_NUM
,ACC_DATE
,LEDGER_ID
,CONVERSION_DATE
,ACCOUNTING_DATE
,INTERNAL_REF
,INTERNAL_REF1
,DR_CR_SEPERATE
,ACCOUNT_NUMBER
,ACCOUNT_DESCRIPTION
,THIRD_PARTY_NUMBER
,THIRD_PARTY_NAME
,JRNL_LINE_DR
,JRNL_LINE_CR
,LEDGER_NAME
,NAME
,PERIOD_NAME
,TAX_REG_NUM
,CURRENCY_CONVERSION_DATE
,CURRENCY
,transaction_id
FROM (
SELECT
NVL(XAH.CLOSE_ACCT_SEQ_VALUE,GJH.CLOSE_ACCT_SEQ_VALUE ) REPORTING_SEQ_NUMBER
,XTH.TRANSACTION_NUMBER
,NVL(GJH.NAME,XTH.TRANSACTION_NUMBER) TRX_NUM
,gjl.EFFECTIVE_DATE ACC_DATE
,GJH.LEDGER_ID
,nvl(TO_CHAR(GJH.CURRENCY_CONVERSION_DATE,'DD MON YY', 'NLS_DATE_LANGUAGE = ITALIAN'),TO_CHAR(gjl.EFFECTIVE_DATE,'DD MON YY', 'NLS_DATE_LANGUAGE = ITALIAN')) CONVERSION_DATE
,nvl(GJH.CURRENCY_CONVERSION_DATE,gjl.EFFECTIVE_DATE) CURRENCY_CONVERSION_DATE
,TO_CHAR(GJH.DEFAULT_EFFECTIVE_DATE,'DD MON YY', 'NLS_DATE_LANGUAGE = ITALIAN') ACCOUNTING_DATE
--,(CASE WHEN FAT.APPLICATION_ID IN (200,222) THEN (FDS.NAME||' - '||TO_CHAR(XAH.DOC_SEQUENCE_VALUE)) else TO_CHAR(GJH.JE_HEADER_ID) end) ACC_SEQ_NAME
,(CASE WHEN FAT.APPLICATION_ID IN (200,222) AND GJCV.JE_CATEGORY_NAME <> 'Receipts' THEN (FDS.NAME||' - '||TO_CHAR(XAH.DOC_SEQUENCE_VALUE))
WHEN FAT.APPLICATION_ID IN (200,222) AND GJCV.JE_CATEGORY_NAME = 'Receipts' Then TO_CHAR(ent.TRANSACTION_NUMBER)
else TO_CHAR(GJH.JE_HEADER_ID) end) ACC_SEQ_NAME
,TO_CHAR(SYSDATE,'DD-MM-YYYY HH:MM') SYSDATE1
--,NVL(GJH.DESCRIPTION,XETT.NAME) JOURNAL_DESC
,(CASE WHEN GJCV.JE_CATEGORY_NAME IN('Manual','Global Intercompany') THEN NVL(GJH.DESCRIPTION,XETT.NAME)
ELSE GJCV.USER_JE_CATEGORY_NAME END) JOURNAL_DESC
--,NVL(GJH.NAME,XTH.TRANSACTION_NUMBER)
, (CASE WHEN FAT.APPLICATION_ID IN (200,222) THEN (ent.TRANSACTION_NUMBER||', Data:'||TO_CHAR(XEV.TRANSACTION_DATE,'DD MON YY', 'NLS_DATE_LANGUAGE = ITALIAN')) when GJCV.USER_JE_CATEGORY_NAME = 'BALANCE CNV SL ONLY' THEN GJL.DESCRIPTION else GJH.NAME end) INTERNAL_REF1
,NVL(ent.transaction_number,GJH.NAME ) INTERNAL_REF
, GCC.SEGMENT1||'.'||GCC.SEGMENT2||'.'||GCC.SEGMENT3||'.'||GCC.SEGMENT4||'.'||GCC.SEGMENT5||'.'||GCC.SEGMENT6||'.'||GCC.SEGMENT7||'.'||GCC.SEGMENT8||'.'||GCC.SEGMENT9 ACCOUNT_NUMBER
,FFVV.DESCRIPTION ACCOUNT_DESCRIPTION
,NVL(PS.SEGMENT1,(SELECT DISTINCT HCA.ACCOUNT_NUMBER FROM hz_parties HP, hz_cust_accounts HCA WHERE XAL.party_id = HCA.cust_account_id AND HCA.party_id =HP.party_id)) THIRD_PARTY_NUMBER
,NVL(PSV.VENDOR_NAME,(SELECT DISTINCT party_name FROM hz_parties HP, hz_cust_accounts HCA WHERE XAL.party_id = HCA.cust_account_id AND HCA.party_id =HP.party_id)) THIRD_PARTY_NAME
,COALESCE(XAL.ACCOUNTED_DR,GJL.ACCOUNTED_DR,0) JRNL_LINE_DR
, COALESCE(XAL.ACCOUNTED_CR,GJL.ACCOUNTED_CR,0) JRNL_LINE_CR
, (CASE WHEN COALESCE(XAL.ACCOUNTED_DR,GJL.ACCOUNTED_DR,0) <> 0 THEN 'DEBIT'
ELSE 'CREDIT' END) DR_CR_SEPERATE
/*, NVL((SELECT NVL(SUM(XAL1.ACCOUNTED_CR),0)
FROM XLA_AE_LINES XAL1
WHERE XAL1.APPLICATION_ID=XAL.APPLICATION_ID
AND XAL1.AE_HEADER_ID=XAL.AE_HEADER_ID
AND XAL1.AE_LINE_NUM=XAL.AE_LINE_NUM
AND XAL1.CODE_COMBINATION_ID=XAL.CODE_COMBINATION_ID
AND XAL1.APPLICATION_ID IN (200,222)
GROUP BY GCC.SEGMENT1,GCC.SEGMENT2,GCC.SEGMENT3,GCC.SEGMENT5,GCC.SEGMENT6,GCC.SEGMENT7,GCC.SEGMENT8,GCC.SEGMENT9), NVL(GJL.ACCOUNTED_CR,0)) JRNL_LINE_CR*/
,REG.REGISTRATION_NUMBER TAXPAYER_ID
,GL.NAME LEDGER_NAME
,le.NAME LEGAL_ENTITY_NAME
,(hrloc.ADDRESS1||', '||hrloc.CITY||'- '||hrloc.POSTAL_CODE||', '||hrloc.COUNTRY) LE_ADDRESS
,GJH.NAME
,GJH.period_name HEADER_PERIOD_NAME
,(SELECT GP.PERIOD_NAME
from GL_PERIODS gp
where gp.period_name = :P_FROM_PERIOD
AND GP.PERIOD_SET_NAME=GL.PERIOD_SET_NAME) AS PERIOD_NAME
,TO_CHAR(gjl.EFFECTIVE_DATE,'YY') FISCAL_YEAR
,NVL(SUBSTR(reg.REGISTRATION_NUMBER , 0, INSTR(reg.REGISTRATION_NUMBER , '/')-1), reg.REGISTRATION_NUMBER) AS TAX_REG_NUM
,BAL.ENDING_BALANCE_CR
,BAL.ENDING_BALANCE_DR
,BAL.BEGIN_BALANCE_CR
,BAL.BEGIN_BALANCE_DR
, GJH.JE_HEADER_ID
,GL.CURRENCY_CODE CURRENCY
,NVL(ent.SOURCE_ID_INT_1,GJH.JE_HEADER_ID ) as transaction_id
FROM
GL_JE_BATCHES GJB
,GL_JE_HEADERS GJH
,GL_JE_LINES GJL
,gl_je_categories_tl GJCV
,GL_LEDGERS GL
--,GL_BALANCES GB
,GL_IMPORT_REFERENCES GIR
,GL_CODE_COMBINATIONS GCC
,XLA_AE_HEADERS XAH
,XLA_AE_LINES XAL
,XLA_EVENTS XEV
,XLA_EVENT_TYPES_TL XETT
,xla_transaction_entities ent
,XLA_SUBLEDGERS_TL FAT
,XLA_TRANSACTION_HEADERS XTH
--,FUN_SEQ_VERSIONS FSV
--,fnd_flex_values_vl FFVV
,fnd_flex_values FFB
,fnd_flex_values_tl FFVV
,POZ_SUPPLIERS ps
,POZ_SUPPLIERS_V psv
--,hz_parties hp
,GL_LEDGER_CONFIG_DETAILS GLCD
,GL_LEDGER_RELATIONSHIPS GLR
,GL_LEDGER_CONFIGURATIONS cfg
,GL_LEDGER_CONFIG_DETAILS cfgDet
,XLE_ENTITY_PROFILES le
,XLE_REGISTRATIONS reg
,hz_locations hrloc
,FND_DOCUMENT_SEQUENCES FDS
,(
WITH period_activity AS (
SELECT
GLB.ledger_id,
GLB.period_name,
GLB.period_num,
GLB.period_year,
NVL(SUM(GLB.period_net_dr),0) AS period_activity_debit,
NVL(SUM(GLB.period_net_cr),0) AS period_activity_credit
FROM GL_BALANCES GLB,
GL_CODE_COMBINATIONS GCC
WHERE GLB.CODE_COMBINATION_ID = GCC.CODE_COMBINATION_ID(+)
AND LEDGER_ID=(SELECT LEDGER_ID FROM GL_LEDGERS WHERE NAME ='SL ITALY EUR LOCAL' AND ROWNUM=1)
AND GLB.period_year = (SELECT gp2.period_year
FROM gl_periods gp2
WHERE gp2.period_name = :P_FROM_PERIOD
AND PERIOD_SET_NAME='Common Calendar')
GROUP BY GLB.ledger_id, GLB.period_name, GLB.period_num, GLB.period_year
)
SELECT pa.period_name,ledger_id
,CASE
WHEN pa.period_num = 1 THEN 0
ELSE (
SELECT SUM(pa2.period_activity_debit)
FROM period_activity pa2
WHERE pa2.period_num < pa.period_num
) END AS BEGIN_BALANCE_DR,
CASE
WHEN pa.period_num = 1 THEN 0
ELSE (
SELECT SUM(pa2.period_activity_credit)
FROM period_activity pa2
WHERE pa2.period_num < pa.period_num
) END AS BEGIN_BALANCE_CR
, ( SELECT SUM(pa2.period_activity_credit)
FROM period_activity pa2
WHERE pa2.period_num <=(SELECT gp2.period_num
FROM gl_periods gp2
WHERE gp2.period_name = :P_TO_PERIOD
AND PERIOD_SET_NAME='Common Calendar')
) ENDING_BALANCE_CR
,(SELECT SUM(pa2.period_activity_debit)
FROM period_activity pa2
WHERE pa2.period_num <=(SELECT gp2.period_num
FROM gl_periods gp2
WHERE gp2.period_name = :P_TO_PERIOD
AND PERIOD_SET_NAME='Common Calendar')
) ENDING_BALANCE_DR
FROM period_activity pa
) BAL
WHERE 1=1
AND :P_SUM_BY_ACC = 'NO'
AND GL.NAME ='SL ITALY EUR LOCAL'
--AND GJH.NAME IN ('Test Journal 062024 2 J')
--AND GJH.JE_HEADER_ID='33087'
AND GJB.JE_BATCH_ID =GJH.JE_BATCH_ID
AND GJH.JE_HEADER_ID = GJL.JE_HEADER_ID
AND GJH.JE_CATEGORY = GJCV.JE_CATEGORY_NAME
AND GJCV.LANGUAGE='I'
AND GJH.LEDGER_ID = GL.LEDGER_ID
AND GCC.CODE_COMBINATION_ID = GJL.CODE_COMBINATION_ID
--AND GL.LEDGER_ID = GB.LEDGER_ID
AND GL.LEDGER_ID = XAH.LEDGER_ID(+)
AND GJL.JE_LINE_NUM = GIR.JE_LINE_NUM(+)
AND GJL.JE_HEADER_ID = GIR.JE_HEADER_ID(+)
AND GIR.GL_SL_LINK_ID = XAL.GL_SL_LINK_ID(+)
AND GIR.GL_SL_LINK_TABLE = XAL.GL_SL_LINK_TABLE(+)
AND XAL.AE_HEADER_ID = XAH.AE_HEADER_ID(+)
AND GJB.STATUS='P'
AND XEV.EVENT_ID(+)=XAH.EVENT_ID
AND XTH.EVENT_ID(+)=XAH.EVENT_ID
AND XEV.EVENT_TYPE_CODE=XETT.EVENT_TYPE_CODE(+)
AND XETT.LANGUAGE(+) = USERENV('LANG')
AND XAH.application_id = ent.application_id(+)
AND XAH.APPLICATION_ID = FAT.APPLICATION_ID(+)
AND XAH.APPLICATION_ID = FAT.APPLICATION_ID(+)
AND FAT.LANGUAGE(+) = USERENV('LANG')
AND XAH.entity_id = ent.entity_id(+)
--AND XAH.ledger_id = ent.ledger_id(+)
--AND FSV.SEQ_VERSION_ID(+) =GJH.CLOSE_ACCT_SEQ_VERSION_ID
AND FFVV.FLEX_VALUE_ID=FFB.FLEX_VALUE_ID
AND FFB.flex_value = GCC.segment4
AND FFVV.LANGUAGE='I'
AND FFB.VALUE_CATEGORY = 'ACCOUNT VALUE SET'
AND XAL.PARTY_ID = ps.VENDOR_ID (+)
AND ps.VENDOR_ID = psv.VENDOR_ID (+)
--AND ps.VENDOR_ID = hp.PARTY_ID (+)
AND BAL.LEDGER_ID(+)=GL.LEDGER_ID
AND BAL.PERIOD_NAME(+)=GJH.PERIOD_NAME
AND FDS.DOC_SEQUENCE_ID(+)=XAH.DOC_SEQUENCE_ID
AND GLR.application_id = 101
AND ( (GLR.target_ledger_category_code = 'SECONDARY'
AND GLR.relationship_type_code <> 'NONE' ) OR (GLR.target_ledger_category_code = 'PRIMARY'
AND GLR.relationship_type_code = 'NONE' ) OR (GLR.target_ledger_category_code = 'ALC'
AND GLR.relationship_type_code IN ('JOURNAL', 'SUBLEDGER') ) )
AND GL.ledger_id = GLR.target_ledger_id
AND GL.ledger_category_code = GLR.target_ledger_category_code
AND nvl(GL.complete_flag, 'Y') = 'Y'
AND GLCD.object_id = GLR.primary_ledger_id
AND GLCD.object_type_code = 'PRIMARY'
AND GLCD.setup_step_code = 'NONE'
AND cfg.configuration_id = GLCD.configuration_id
AND cfgDet.configuration_id (+) = cfg.configuration_id
AND cfgDet.object_type_code (+) = 'LEGAL_ENTITY'
AND cfgDet.setup_step_code (+) = 'NONE'
AND le.legal_entity_id (+) = cfgDet.object_id
AND reg.source_id (+) = cfgDet.object_id
AND reg.source_table (+) = 'XLE_ENTITY_PROFILES'
AND reg.identifying_flag (+) = 'Y'
AND hrloc.location_id (+) = reg.location_id
AND UPPER(GL.NAME) like '%ITALY%'
--AND REG.LOCATION_ID='300000009449272'
--AND GJH.NAME='01-25 Purchase Invoices 3281'
AND gjl.EFFECTIVE_DATE >=nvl((select distinct START_DATE from GL_PERIODS gp where gp.period_name = :P_FROM_PERIOD AND GP.PERIOD_SET_NAME=GL.PERIOD_SET_NAME),gjl.EFFECTIVE_DATE )
AND gjl.EFFECTIVE_DATE <=nvl((select distinct END_DATE from GL_PERIODS gp2 where gp2.period_name = :P_TO_PERIOD AND GP2.PERIOD_SET_NAME=GL.PERIOD_SET_NAME),gjl.EFFECTIVE_DATE )
)
---where REPORTING_SEQ_NUMBER in ('3768','3183')
UNION all
SELECT
HEADER_PERIOD_NAME
,TRANSACTION_NUMBER
,LEGAL_ENTITY_NAME
,LE_ADDRESS
,SYSDATE1
,FISCAL_YEAR
,TAXPAYER_ID
,ENDING_BALANCE_CR
,ENDING_BALANCE_DR
,BEGIN_BALANCE_CR
,BEGIN_BALANCE_DR
,REPORTING_SEQ_NUMBER
,ACC_SEQ_NAME
,JOURNAL_DESC
,JE_HEADER_ID
,TRX_NUM
,ACC_DATE
,LEDGER_ID
,CONVERSION_DATE
,ACCOUNTING_DATE
,INTERNAL_REF
,INTERNAL_REF1
,DR_CR_SEPERATE
,ACCOUNT_NUMBER
,ACCOUNT_DESCRIPTION
,THIRD_PARTY_NUMBER
,THIRD_PARTY_NAME
,SUM(JRNL_LINE_DR) JRNL_LINE_DR
,SUM(JRNL_LINE_CR) JRNL_LINE_CR
,LEDGER_NAME
,NAME
,PERIOD_NAME
,TAX_REG_NUM
,CURRENCY_CONVERSION_DATE
,CURRENCY
,transaction_id
FROM (
SELECT
NVL(XAH.CLOSE_ACCT_SEQ_VALUE,GJH.CLOSE_ACCT_SEQ_VALUE ) REPORTING_SEQ_NUMBER
,XTH.TRANSACTION_NUMBER
,NVL(GJH.NAME,XTH.TRANSACTION_NUMBER) TRX_NUM
,gjl.EFFECTIVE_DATE ACC_DATE
,GJH.LEDGER_ID
,nvl(TO_CHAR(GJH.CURRENCY_CONVERSION_DATE,'DD MON YY', 'NLS_DATE_LANGUAGE = ITALIAN'),TO_CHAR(gjl.EFFECTIVE_DATE,'DD MON YY', 'NLS_DATE_LANGUAGE = ITALIAN')) CONVERSION_DATE
,nvl(GJH.CURRENCY_CONVERSION_DATE,gjl.EFFECTIVE_DATE) CURRENCY_CONVERSION_DATE
,TO_CHAR(GJH.DEFAULT_EFFECTIVE_DATE,'DD MON YY', 'NLS_DATE_LANGUAGE = ITALIAN') ACCOUNTING_DATE
--,(CASE WHEN FAT.APPLICATION_ID IN (200,222) THEN (FDS.NAME||' - '||TO_CHAR(XAH.DOC_SEQUENCE_VALUE)) else TO_CHAR(GJH.JE_HEADER_ID) end) ACC_SEQ_NAME
,(CASE WHEN FAT.APPLICATION_ID IN (200,222) AND GJCV.JE_CATEGORY_NAME <> 'Receipts' THEN (FDS.NAME||' - '||TO_CHAR(XAH.DOC_SEQUENCE_VALUE))
WHEN FAT.APPLICATION_ID IN (200,222) AND GJCV.JE_CATEGORY_NAME = 'Receipts' Then TO_CHAR(ent.TRANSACTION_NUMBER)
else TO_CHAR(GJH.JE_HEADER_ID) end) ACC_SEQ_NAME
,TO_CHAR(SYSDATE,'DD-MM-YYYY HH:MM') SYSDATE1
--,NVL(GJH.DESCRIPTION,XETT.NAME) JOURNAL_DESC
,(CASE WHEN GJCV.JE_CATEGORY_NAME IN('Manual','Global Intercompany') THEN NVL(GJH.DESCRIPTION,XETT.NAME)
ELSE GJCV.USER_JE_CATEGORY_NAME END) JOURNAL_DESC
--,NVL(GJH.NAME,XTH.TRANSACTION_NUMBER)
, (CASE WHEN FAT.APPLICATION_ID IN (200,222) THEN (ent.TRANSACTION_NUMBER||', Data:'||TO_CHAR(XEV.TRANSACTION_DATE,'DD MON YY', 'NLS_DATE_LANGUAGE = ITALIAN')) when GJCV.USER_JE_CATEGORY_NAME = 'BALANCE CNV SL ONLY' THEN GJL.DESCRIPTION else GJH.NAME end) INTERNAL_REF1
,NVL(ent.transaction_number,GJH.NAME) INTERNAL_REF
, GCC.SEGMENT4 ACCOUNT_NUMBER
,FFVV.DESCRIPTION ACCOUNT_DESCRIPTION
,NVL(PS.SEGMENT1,(SELECT DISTINCT HCA.ACCOUNT_NUMBER FROM hz_parties HP, hz_cust_accounts HCA WHERE XAL.party_id = HCA.cust_account_id AND HCA.party_id =HP.party_id)) THIRD_PARTY_NUMBER
,NVL(PSV.VENDOR_NAME,(SELECT DISTINCT party_name FROM hz_parties HP, hz_cust_accounts HCA WHERE XAL.party_id = HCA.cust_account_id AND HCA.party_id =HP.party_id)) THIRD_PARTY_NAME
, COALESCE(XAL.ACCOUNTED_DR,GJL.ACCOUNTED_DR, 0) JRNL_LINE_DR
, COALESCE(XAL.ACCOUNTED_CR,GJL.ACCOUNTED_CR,0) JRNL_LINE_CR
, (CASE WHEN COALESCE(XAL.ACCOUNTED_DR,GJL.ACCOUNTED_DR,0) <> 0 THEN 'DEBIT'
ELSE 'CREDIT' END) DR_CR_SEPERATE
,REG.REGISTRATION_NUMBER TAXPAYER_ID
,GL.NAME LEDGER_NAME
,le.NAME LEGAL_ENTITY_NAME
,(hrloc.ADDRESS1||', '||hrloc.CITY||'- '||hrloc.POSTAL_CODE||', '||hrloc.COUNTRY) LE_ADDRESS
,GJH.NAME
,GJH.period_name HEADER_PERIOD_NAME
,(SELECT GP.PERIOD_NAME
from GL_PERIODS gp
where gp.period_name = :P_FROM_PERIOD
AND GP.PERIOD_SET_NAME=GL.PERIOD_SET_NAME) AS PERIOD_NAME
,TO_CHAR(gjl.EFFECTIVE_DATE,'YY') FISCAL_YEAR
,NVL(SUBSTR(reg.REGISTRATION_NUMBER , 0, INSTR(reg.REGISTRATION_NUMBER , '/')-1), reg.REGISTRATION_NUMBER) AS TAX_REG_NUM
,BAL.ENDING_BALANCE_CR
,BAL.ENDING_BALANCE_DR
,BAL.BEGIN_BALANCE_CR
,BAL.BEGIN_BALANCE_DR
,GJH.JE_HEADER_ID
,gl.CURRENCY_CODE CURRENCY
,NVL(ent.SOURCE_ID_INT_1,GJH.JE_HEADER_ID ) as transaction_id
FROM
GL_JE_BATCHES GJB
,GL_JE_HEADERS GJH
,GL_JE_LINES GJL
,gl_je_categories_tl GJCV
,GL_LEDGERS GL
--,GL_BALANCES GB
,GL_IMPORT_REFERENCES GIR
,GL_CODE_COMBINATIONS GCC
,XLA_AE_HEADERS XAH
,XLA_AE_LINES XAL
,XLA_EVENTS XEV
,XLA_EVENT_TYPES_TL XETT
,xla_transaction_entities ent
,XLA_SUBLEDGERS_TL FAT
,XLA_TRANSACTION_HEADERS XTH
--,FUN_SEQ_VERSIONS FSV
,FND_DOCUMENT_SEQUENCES FDS
--,fnd_flex_values_vl FFVV
,fnd_flex_values FFB
,fnd_flex_values_tl FFVV
,POZ_SUPPLIERS ps
,POZ_SUPPLIERS_V psv
--,hz_parties hp
,GL_LEDGER_CONFIG_DETAILS GLCD
,GL_LEDGER_RELATIONSHIPS GLR
,GL_LEDGER_CONFIGURATIONS cfg
,GL_LEDGER_CONFIG_DETAILS cfgDet
,XLE_ENTITY_PROFILES le
,XLE_REGISTRATIONS reg
,hz_locations hrloc
,(
WITH period_activity AS (
SELECT
GLB.ledger_id,
GLB.period_name,
GLB.period_num,
GLB.period_year,
NVL(SUM(GLB.period_net_dr),0) AS period_activity_debit,
NVL(SUM(GLB.period_net_cr),0) AS period_activity_credit
FROM GL_BALANCES GLB,
GL_CODE_COMBINATIONS GCC
WHERE GLB.CODE_COMBINATION_ID = GCC.CODE_COMBINATION_ID(+)
AND LEDGER_ID=(SELECT LEDGER_ID FROM GL_LEDGERS WHERE NAME ='SL ITALY EUR LOCAL' AND ROWNUM=1)
AND GLB.period_year = (SELECT gp2.period_year
FROM gl_periods gp2
WHERE gp2.period_name = :P_FROM_PERIOD
AND PERIOD_SET_NAME='Common Calendar')
GROUP BY GLB.ledger_id, GLB.period_name, GLB.period_num, GLB.period_year
)
SELECT pa.period_name,ledger_id
,CASE
WHEN pa.period_num = 1 THEN 0
ELSE (
SELECT SUM(pa2.period_activity_debit)
FROM period_activity pa2
WHERE pa2.period_num < pa.period_num
) END AS BEGIN_BALANCE_DR,
CASE
WHEN pa.period_num = 1 THEN 0
ELSE (
SELECT SUM(pa2.period_activity_credit)
FROM period_activity pa2
WHERE pa2.period_num < pa.period_num
) END AS BEGIN_BALANCE_CR
,(SELECT SUM(pa2.period_activity_credit)
FROM period_activity pa2
WHERE pa2.period_num <=(SELECT gp2.period_num
FROM gl_periods gp2
WHERE gp2.period_name = :P_TO_PERIOD
AND PERIOD_SET_NAME='Common Calendar')
) ENDING_BALANCE_CR
,(SELECT SUM(pa2.period_activity_debit)
FROM period_activity pa2
WHERE pa2.period_num <=(SELECT gp2.period_num
FROM gl_periods gp2
WHERE gp2.period_name = :P_TO_PERIOD
AND PERIOD_SET_NAME='Common Calendar')
) ENDING_BALANCE_DR
FROM period_activity pa
) BAL
WHERE 1=1
AND :P_SUM_BY_ACC = 'YES'
AND GL.NAME ='SL ITALY EUR LOCAL'
AND GJB.JE_BATCH_ID =GJH.JE_BATCH_ID
AND GJH.JE_HEADER_ID = GJL.JE_HEADER_ID
AND GJH.JE_CATEGORY = GJCV.JE_CATEGORY_NAME
AND GJCV.LANGUAGE='I'
AND GJH.LEDGER_ID = GL.LEDGER_ID
AND GCC.CODE_COMBINATION_ID = GJL.CODE_COMBINATION_ID
--AND GL.LEDGER_ID = GB.LEDGER_ID
AND GL.LEDGER_ID = XAH.LEDGER_ID(+)
AND GJL.JE_LINE_NUM = GIR.JE_LINE_NUM(+)
AND GJL.JE_HEADER_ID = GIR.JE_HEADER_ID(+)
AND GIR.GL_SL_LINK_ID = XAL.GL_SL_LINK_ID(+)
AND GIR.GL_SL_LINK_TABLE = XAL.GL_SL_LINK_TABLE(+)
AND XAL.AE_HEADER_ID = XAH.AE_HEADER_ID(+)
AND GJB.STATUS='P'
AND XEV.EVENT_ID(+)=XAH.EVENT_ID
AND XTH.EVENT_ID(+)=XAH.EVENT_ID
AND XEV.EVENT_TYPE_CODE=XETT.EVENT_TYPE_CODE(+)
AND XETT.LANGUAGE(+) = USERENV('LANG')
AND XAH.application_id = ent.application_id(+)
AND XAH.APPLICATION_ID = FAT.APPLICATION_ID(+)
AND XAH.APPLICATION_ID = FAT.APPLICATION_ID(+)
AND FAT.LANGUAGE(+) = USERENV('LANG')
AND XAH.entity_id = ent.entity_id(+)
--AND XAH.ledger_id = ent.ledger_id(+)
--AND FSV.SEQ_VERSION_ID(+) =GJH.CLOSE_ACCT_SEQ_VERSION_ID
AND FDS.DOC_SEQUENCE_ID(+)=XAH.DOC_SEQUENCE_ID
AND FFVV.FLEX_VALUE_ID=FFB.FLEX_VALUE_ID
AND FFB.flex_value = GCC.segment4
AND FFVV.LANGUAGE='I'
AND FFB.VALUE_CATEGORY = 'ACCOUNT VALUE SET'
AND XAL.PARTY_ID = ps.VENDOR_ID (+)
AND ps.VENDOR_ID = psv.VENDOR_ID (+)
--AND ps.VENDOR_ID = hp.PARTY_ID (+)
AND BAL.LEDGER_ID(+)=GL.LEDGER_ID
AND BAL.PERIOD_NAME(+)=GJH.PERIOD_NAME
AND GLR.application_id = 101
AND ( (GLR.target_ledger_category_code = 'SECONDARY'
AND GLR.relationship_type_code <> 'NONE' ) OR (GLR.target_ledger_category_code = 'PRIMARY'
AND GLR.relationship_type_code = 'NONE' ) OR (GLR.target_ledger_category_code = 'ALC'
AND GLR.relationship_type_code IN ('JOURNAL', 'SUBLEDGER') ) )
AND GL.ledger_id = GLR.target_ledger_id
AND GL.ledger_category_code = GLR.target_ledger_category_code
AND nvl(GL.complete_flag, 'Y') = 'Y'
AND GLCD.object_id = GLR.primary_ledger_id
AND GLCD.object_type_code = 'PRIMARY'
AND GLCD.setup_step_code = 'NONE'
AND cfg.configuration_id = GLCD.configuration_id
AND cfgDet.configuration_id (+) = cfg.configuration_id
AND cfgDet.object_type_code (+) = 'LEGAL_ENTITY'
AND cfgDet.setup_step_code (+) = 'NONE'
AND le.legal_entity_id (+) = cfgDet.object_id
AND reg.source_id (+) = cfgDet.object_id
AND reg.source_table (+) = 'XLE_ENTITY_PROFILES'
AND reg.identifying_flag (+) = 'Y'
AND hrloc.location_id (+) = reg.location_id
AND UPPER(GL.NAME) like '%ITALY%'
--AND (NVL(XAL.ACCOUNTING_CLASS_CODE,GJCV.JE_CATEGORY_NAME) <> 'ROUNDING' AND (COALESCE(XAL.ACCOUNTED_DR,GJL.ACCOUNTED_DR, 0) + COALESCE(XAL.ACCOUNTED_CR,GJL.ACCOUNTED_CR, 0)) <> 0)
--AND REG.LOCATION_ID='300000009449272'
--AND GJH.NAME='02-25 Sales Invoices 3281'
AND gjl.EFFECTIVE_DATE >=nvl((select distinct START_DATE from GL_PERIODS gp where gp.period_name = :P_FROM_PERIOD AND GP.PERIOD_SET_NAME=GL.PERIOD_SET_NAME),gjl.EFFECTIVE_DATE )
AND gjl.EFFECTIVE_DATE <=nvl((select distinct END_DATE from GL_PERIODS gp2 where gp2.period_name = :P_TO_PERIOD AND GP2.PERIOD_SET_NAME=GL.PERIOD_SET_NAME),gjl.EFFECTIVE_DATE )
--and GJH.JE_HEADER_ID='125128'
)
----where REPORTING_SEQ_NUMBER in ('3768','3183')
GROUP BY
HEADER_PERIOD_NAME
,TRANSACTION_NUMBER
,LEGAL_ENTITY_NAME
,LE_ADDRESS
,SYSDATE1
,FISCAL_YEAR
,TAXPAYER_ID
,ENDING_BALANCE_CR
,ENDING_BALANCE_DR
,BEGIN_BALANCE_CR
,BEGIN_BALANCE_DR
,REPORTING_SEQ_NUMBER
,ACC_SEQ_NAME
,JOURNAL_DESC
,JE_HEADER_ID
,DR_CR_SEPERATE
,TRX_NUM
,ACC_DATE
,LEDGER_ID
,CONVERSION_DATE
,ACCOUNTING_DATE
,INTERNAL_REF
,INTERNAL_REF1
,ACCOUNT_NUMBER
,ACCOUNT_DESCRIPTION
,THIRD_PARTY_NUMBER
,THIRD_PARTY_NAME
,LEDGER_NAME
,NAME
,PERIOD_NAME
,TAX_REG_NUM
,CURRENCY_CONVERSION_DATE
,CURRENCY
,transaction_id
ORDER BY REPORTING_SEQ_NUMBER, transaction_id, CONVERSION_DATE,ACCOUNT_NUMBERThe 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.
| Element | Type | Definition |
|---|---|---|
| GL_JE_LINES | dimension | dimension |
| GL_JE_BATCHES | dimension | dimension |
| GL_PERIODS | dimension | dimension |
| XLA_AE_LINES | dimension | dimension |
| Debit | measure | measure |
| Credit | measure | measure |
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.
| Table | Reporting columns | Subject areas |
|---|---|---|
| GL_JE_HEADERS | 34 | 2 |
| GL_JE_LINES | 26 | 2 |
| GL_JE_BATCHES | 14 | 2 |
| GL_PERIODS | Setup / configuration table — joined for reference, not exposed for analytics | |
| XLA_AE_LINES | 23 | 17 |