You are on page 1of 4

Gl to Ap Drill down Query R12, General ledger link to Account payables R12,AP To Gl

GL to AP Drilldown Query R12


We know that we have two types of transactions in Payables
 Invoices

 Payment
Let’s start with Invoices.

Tables involved for Journal Entry to Invoice drilldown are

 GL_JE_HEADERS

 GL_IMPORT_REFERENCES

 XLA_AE_LINES

 XLA_AE_HEADERS

 XLA_TRANSACTION_ENTITIES

 AP_INVOICES_ALL

Now, when we are given a Journal entry with JE_SOURCE as ‘Payables’ and JE_CATEGORY as ‘Purchase Invoice’, we got to track its JE_HEADER_ID. Here is the step by step
process.

Step 1: For instance, we are going to track the invoice against the maximum JE_HEADER_ID with Payables source and Purchase Invoices Category. Here is the query for it;

SELECT MAX(JE_HEADER_ID )
INTO V_JE_HEADER_ID
FROM GL_JE_HEADERS
WHERE JE_SOURCE = ‘Payables’
AND JE_CATEGORY= ‘Purchase Invoices’;

Step 2: Now we are going to check the corresponding GL_SL_LINK_ID against this JE_HEADER_ID. We can get these link ids through the query,

SELECT GL_SL_LINK_ID
FROM GL_IMPORT_REFERENCES
WHERE JE_HEADER_ID = V_JE_HEADER_ID;

Step 3: And to get to the relevant lines in sub-ledger modules we need to find lines against the identified GL_SL_LINK_IDs from XLA_AE_LINES table. Here is the query to get to
the sub-ledger lines

SELECT DISTINCT AE_HEADER_ID


INTO V_AE_HEADER_ID
FROM XLA_AE_LINES
WHERE GL_SL_LINK_ID IN (SELECT GL_SL_LINK_ID
FROM GL_IMPORT_REFERENCES
WHERE JE_HEADER_ID = V_JE_HEADER_ID
);

Step 4: Now we will find ENTITY_ID against the identified header_id. Here is the query,

SELECT ENTITY_ID
INTO V_ENTITY_ID
FROM XLA_AE_HEADERS
WHERE AE_HEADER_ID = V_AE_HEADER_ID;

Step 5: Now, we will get the SOURCE_ID_INT_1 against identified XLA_TRANSACTION to get to the Payables transaction.

SELECT SOURCE_ID_INT_1
INTO V_SOURCE_ID
FROM XLA_TRANSACTION_ENTITIES
WHERE ENTITY_ID = V_ENTITY_ID;

Step 6: Now is the last step, we will use this source id as invoice id to get to the invoice in payables.

SELECT *
FROM AP_INVOICES_ALL
WHERE INVOICE_ID = V_SOURCE_ID;

So, here is the drilldown from General Ledger to Payables Invoices. We got to change in step 1 for JE_CATEGORY as ‘Payments’ and the query becomes

SELECT MAX(JE_HEADER_ID )
INTO V_JE_HEADER_ID
FROM GL_JE_HEADERS
WHERE JE_SOURCE = ‘Payables’
AND JE_CATEGORY= ‘Payments’;

And in step 6, we got to find check details against the identified SOURCE_ID, which makes the SQL as

SELECT *
FROM AP_CHECKS_ALL
WHERE CHECK_ID = V_SOURCE_ID;

This was all about GL to Payables Drilldown.

Link Between AP and GL with XLA tables in R12 ,AP to GL Link in oracle apps, Data Flow from APto XLA to GL

Technical details of Drilldown from GL to Sub Modules


Ap invoices invoice is is stored in .xla_transaction_entities as xte.source_id_int_1

and ACCTS_PAY_CODE_COMBINATION_ID = code_combination_id in gl code combination

.xla_transaction_entities entity_id is linked with xla events and xla ae headers and xla ae lines

AP to GL link

SELECT distinct

aia.INVOICE_ID "Invoice_Id", ---IN R12

AIA.DOC_SEQUENCE_VALUE,

aia.INVOICE_NUM ,

aia.attribute6 "INVOICE_ID",--IN11i

aia.GL_DATE,

aia.INVOICE_AMOUNT,

xal.ACCOUNTED_DR "Accounted DR IN SLA",

xal.ACCOUNTED_CR "Accounted CR IN SLA",


gjl.ACCOUNTED_CR "ACCOUNTED_CR IN GL",

gjl.ACCOUNTED_DR "Accounted DR IN GL",

xev.event_type_code,

gcc.SEGMENT1

|| '.'

|| gcc.SEGMENT2

|| '.'

|| gcc.SEGMENT3

|| '.'

|| gcc.SEGMENT4

|| '.'

|| gcc.SEGMENT5

|| '.'

|| gcc.SEGMENT6

|| '.'

|| gcc.SEGMENT7

"CODE_COMBINATION",

aia.GL_DATE,

xah.PERIOD_NAME,

aia.VENDOR_ID "Vendor Id",

aps.VENDOR_NAME "Vendor Name",

xah.JE_CATEGORY_NAME "JE Category Name",

GJH.JE_SOURCE

FROM ap_invoices_all aia,

xla.xla_transaction_entities XTE,

xla_events xev,

xla_ae_headers XAH,

xla_ae_lines XAL,

GL_IMPORT_REFERENCES gir,

gl_je_headers gjh,

gl_je_lines gjl,

gl_code_combinations gcc,
ap_suppliers aps

WHERE aia.INVOICE_ID = xte.source_id_int_1

and aia.ACCTS_PAY_CODE_COMBINATION_ID = gcc.code_combination_id

AND xev.entity_id = xte.entity_id

AND xah.entity_id = xte.entity_id

AND xah.event_id = xev.event_id

AND XAH.ae_header_id = XAL.ae_header_id

and XAH.je_category_name = 'Purchase Invoices'

AND GJH.JE_SOURCE = 'Payables'

AND XAL.GL_SL_LINK_ID = gir.GL_SL_LINK_ID

and gir.GL_SL_LINK_ID = gjl.GL_SL_LINK_ID

AND gir.GL_SL_LINK_TABLE = xal.GL_SL_LINK_TABLE

AND gjl.JE_HEADER_ID = gjh.JE_HEADER_ID

AND gjl.ledger_id = gjh.ledger_id

and xah.ledger_id = gjh.ledger_id

AND gjh.JE_HEADER_ID = gir.JE_HEADER_ID

and aia.set_of_books_id = gjh.ledger_id

AND gjl.JE_HEADER_ID = gir.JE_HEADER_ID

AND gir.JE_LINE_NUM = gjl.JE_LINE_NUM

AND gcc.CODE_COMBINATION_ID = XAL.CODE_COMBINATION_ID

AND gcc.CODE_COMBINATION_ID = gjl.CODE_COMBINATION_ID

AND aia.VENDOR_ID = aps.VENDOR_ID

AND gjh.PERIOD_NAME BETWEEN NVL (:PERIOD_FROM, gjh.PERIOD_NAME)

AND NVL (:PERIOD_TO, gjh.PERIOD_NAME)

AND gcc.SEGMENT1 = NVL (:seg1, gcc.SEGMENT1)

AND gcc.SEGMENT3 = NVL (:seg, gcc.SEGMENT3)

ORDER BY 1, aia.GL_DATE

You might also like