Sei sulla pagina 1di 7

SELECT gl_account_combination,

net_due_date,
(TRUNC (SYSDATE) - TRUNC (net_due_date)) arrears_after_net_due_date,
inv_amt_loc_currency,
inv_amt_func_currency inv_amt_func_currency_entered,
currency_code,
operating_unit,
invoice_date,
invoice_num,
invoice_id,
vendor_name,
vendor_number,
invoice_type,
discount_taken,
payment_date,
NVL (payment_amount, 0) payment_amount,
NVL (NVL (payment_amount, 0) * NVL (exchange_rate, 1), payment_amount)
pay_amt_loc_currency,
NVL (NVL (total_payment, 0) * NVL (exchange_rate, 1), total_payment)
total_amt_loc_currency,
payment_no,
check_id,
payment_account_period,
invoice_accounting_year,
ACCOUNT,
company_code,
NVL (NVL (discount_taken, 0) * NVL (exchange_rate, 1), discount_taken)
dis_taken_loc_currency,
NVL (NVL (prepayment_amount_applied, 0) * NVL (exchange_rate, 1),
prepayment_amount_applied
) prepayment_amount_applied,
NVL (NVL (prepayment_tax_applied, 0) * NVL (exchange_rate, 1),
prepayment_tax_applied
) prepayment_tax_applied,
prepayment_invoice_no,
NVL (total_payment, 0) total_payment,
DECODE (( inv_amt_func_currency
- ( total_payment
+ NVL (discount_taken, 0)
+ NVL (prepayment_amount_applied, 0)
+ NVL (prepayment_tax_applied, 0)
)
),
0, 'CLOSED',
'OPEN'
) close_open
FROM (SELECT DISTINCT glcc.concatenated_segments gl_account_combination,
(SELECT DISTINCT DECODE (aipa.accrual_posted_flag,
'Y', aipa.period_name,
' '
)
FROM ap_invoice_payments_all
WHERE invoice_id = aia.invoice_id
AND TO_CHAR (accounting_date, 'YYYY') =
:p_period_year)
payment_account_period,
(SELECT DISTINCT DECODE (aipa.accrual_posted_flag,
'Y', aipa.amount,
' '
)
FROM ap_invoice_payments_all
WHERE invoice_id = aia.invoice_id
AND period_name IN (
SELECT period_name
FROM gl_periods
WHERE period_set_name IN (
SELECT period_set_name
FROM gl_ledgers
WHERE NAME =
:p_ledger_name
AND ledger_category_code =
'PRIMARY')
AND period_type IN (
SELECT accounted_period_type
FROM gl_ledgers
WHERE NAME =
:p_ledger_name
AND ledger_category_code =
'PRIMARY')
AND period_year <=
:p_period_year
AND accrual_posted_flag = 'Y'))
payment_amount,
apsa.due_date net_due_date,
aia.exchange_rate,
NVL (aia.base_amount, aia.invoice_amount)
inv_amt_loc_currency,
aia.invoice_amount inv_amt_func_currency,
aia.invoice_currency_code currency_code,
aia.org_id operating_unit,
aia.invoice_date,
aia.invoice_num,
aia.invoice_id,
aps.vendor_name,
aps.segment1 vendor_number,
aia.invoice_currency_code invoice_currency,
aia.invoice_type_lookup_code invoice_type,
aipa.discount_taken,
(SELECT SUM (-amount)
FROM ap_invoice_distributions_all
WHERE invoice_id = aia.invoice_id
AND invoice_id IN (
SELECT invoice_id
FROM ap_invoice_distributions_all
WHERE line_type_lookup_code = 'PREPAY'
AND period_name IN (
SELECT period_name
FROM gl_periods
WHERE period_set_name IN (
SELECT period_set_name
FROM gl_ledgers
WHERE NAME =
:p_ledger_name
AND ledger_category_code
=
'PRIMARY')
AND period_type IN (
SELECT accounted_period_type
FROM gl_ledgers
WHERE NAME =
:p_ledger_name
AND ledger_category_code
=
'PRIMARY')
AND period_year =
:p_period_year)
AND accrual_posted_flag = 'Y')
AND line_type_lookup_code = 'PREPAY')
prepayment_amount_applied,
(SELECT SUM (-amount)
FROM ap_invoice_distributions_all
WHERE invoice_id = aia.invoice_id
AND line_type_lookup_code <> 'PREPAY'
AND prepay_distribution_id IS NOT NULL
AND accrual_posted_flag = 'Y'
AND period_name IN (
SELECT period_name
FROM gl_periods
WHERE period_set_name IN (
SELECT period_set_name
FROM gl_ledgers
WHERE NAME = :p_ledger_name
AND ledger_category_code =
'PRIMARY')
AND period_type IN (
SELECT accounted_period_type
FROM gl_ledgers
WHERE NAME = :p_ledger_name
AND ledger_category_code =
'PRIMARY')
AND period_year = :p_period_year))
prepayment_tax_applied,
(SELECT ai2.invoice_num
FROM ap_invoices_all ai,
ap_invoice_distributions_all aid1,
ap_invoice_distributions_all aid2,
ap_invoices_all ai2
WHERE aid1.prepay_distribution_id =
aid2.invoice_distribution_id
AND ai.invoice_id = aid1.invoice_id
AND aid1.amount < 0
AND NVL (aid1.reversal_flag, 'N') != 'Y'
AND aid1.line_type_lookup_code = 'PREPAY'
AND ai2.invoice_id = aid2.invoice_id
AND ai.invoice_id = aia.invoice_id
AND ai2.invoice_id = aia.invoice_id)
prepayment_invoice_no,
(SELECT SUM (amount)
FROM ap_invoice_payments_all
WHERE invoice_id = aia.invoice_id
AND period_name IN (
SELECT period_name
FROM gl_periods
WHERE period_set_name IN (
SELECT period_set_name
FROM gl_ledgers
WHERE NAME = :p_ledger_name
AND ledger_category_code =
'PRIMARY')
AND period_type IN (
SELECT accounted_period_type
FROM gl_ledgers
WHERE NAME = :p_ledger_name
AND ledger_category_code =
'PRIMARY')
AND period_year <= :p_period_year
AND accrual_posted_flag = 'Y'))
total_payment,
TO_CHAR (aia.gl_date, 'YYYY') invoice_accounting_year,
(SELECT flv.flex_value
FROM fnd_flex_values flv, fnd_flex_values_tl ffvt
WHERE 1 = 1
AND flv.flex_value_id = ffvt.flex_value_id
AND ffvt.LANGUAGE = USERENV ('LANG')
AND flv.flex_value =
(SELECT CASE
WHEN segment_num = 1
THEN (SELECT segment1
FROM gl_code_combinations
WHERE code_combination_id =

glcc.code_combination_id)
WHEN segment_num = 2
THEN (SELECT segment2
FROM gl_code_combinations
WHERE code_combination_id =

glcc.code_combination_id)
WHEN segment_num = 3
THEN (SELECT segment3
FROM gl_code_combinations
WHERE code_combination_id =

glcc.code_combination_id)
WHEN segment_num = 4
THEN (SELECT segment4
FROM gl_code_combinations
WHERE code_combination_id =

glcc.code_combination_id)
WHEN segment_num = 5
THEN (SELECT segment5
FROM gl_code_combinations
WHERE code_combination_id =

glcc.code_combination_id)
END flex_value
FROM fnd_id_flex_segments_vl fifs
WHERE 1 = 1
AND fifs.flex_value_set_id =
flv.flex_value_set_id
AND application_column_name =
(SELECT application_column_name
FROM fnd_segment_attribute_values
WHERE segment_attribute_type =
'GL_ACCOUNT'
AND id_flex_num =
glcc.chart_of_accounts_id
AND id_flex_code = 'GL#'
AND attribute_value = 'Y')
AND id_flex_num =
glcc.chart_of_accounts_id
AND id_flex_code LIKE 'GL#')) ACCOUNT,
(SELECT flv.flex_value
FROM fnd_flex_values flv, fnd_flex_values_tl ffvt
WHERE 1 = 1
AND flv.flex_value_id = ffvt.flex_value_id
AND ffvt.LANGUAGE = USERENV ('LANG')
AND flv.flex_value =
(SELECT CASE
WHEN segment_num = 1
THEN (SELECT segment1
FROM gl_code_combinations
WHERE code_combination_id =

glcc.code_combination_id)
WHEN segment_num = 2
THEN (SELECT segment2
FROM gl_code_combinations
WHERE code_combination_id =

glcc.code_combination_id)
WHEN segment_num = 3
THEN (SELECT segment3
FROM gl_code_combinations
WHERE code_combination_id =

glcc.code_combination_id)
WHEN segment_num = 4
THEN (SELECT segment4
FROM gl_code_combinations
WHERE code_combination_id =

glcc.code_combination_id)
WHEN segment_num = 5
THEN (SELECT segment5
FROM gl_code_combinations
WHERE code_combination_id =

glcc.code_combination_id)
END flex_value
FROM fnd_id_flex_segments_vl fifs
WHERE 1 = 1
AND fifs.flex_value_set_id =
flv.flex_value_set_id
AND application_column_name =
(SELECT application_column_name
FROM fnd_segment_attribute_values
WHERE segment_attribute_type =
'GL_BALANCING'
AND id_flex_num =
glcc.chart_of_accounts_id
AND id_flex_code = 'GL#'
AND attribute_value = 'Y')
AND id_flex_num =
glcc.chart_of_accounts_id
AND id_flex_code LIKE 'GL#'))
company_code,
(SELECT NVL (TO_CHAR (ac.check_number), 0)
FROM ap_checks_all ac
WHERE aipa.invoice_id = aia.invoice_id
AND aipa.check_id = ac.check_id
AND aipa.period_name IN (
SELECT period_name
FROM gl_periods
WHERE period_set_name IN (
SELECT period_set_name
FROM gl_ledgers
WHERE NAME = :p_ledger_name
AND ledger_category_code =
'PRIMARY')
AND period_type IN (
SELECT accounted_period_type
FROM gl_ledgers
WHERE NAME = :p_ledger_name
AND ledger_category_code =
'PRIMARY')
AND period_year = :p_period_year
AND accrual_posted_flag = 'Y'))
payment_no,
(SELECT NVL (TO_CHAR (ac.check_id), 0)
FROM ap_checks_all ac
WHERE aipa.invoice_id = aia.invoice_id
AND aipa.check_id = ac.check_id
AND aipa.period_name IN (
SELECT period_name
FROM gl_periods
WHERE period_set_name IN (
SELECT period_set_name
FROM gl_ledgers
WHERE NAME = :p_ledger_name
AND ledger_category_code =
'PRIMARY')
AND period_type IN (
SELECT accounted_period_type
FROM gl_ledgers
WHERE NAME = :p_ledger_name
AND ledger_category_code =
'PRIMARY')
AND period_year = :p_period_year
AND accrual_posted_flag = 'Y'))
check_id,
(SELECT TO_CHAR (check_date, 'dd-MON-yyyy')
FROM ap_checks_all ac
WHERE aipa.invoice_id = aia.invoice_id
AND aipa.check_id = ac.check_id
AND aipa.period_name IN (
SELECT period_name
FROM gl_periods
WHERE period_set_name IN (
SELECT period_set_name
FROM gl_ledgers
WHERE NAME = :p_ledger_name
AND ledger_category_code =
'PRIMARY')
AND period_type IN (
SELECT accounted_period_type
FROM gl_ledgers
WHERE NAME = :p_ledger_name
AND ledger_category_code =
'PRIMARY')
AND period_year = :p_period_year
AND accrual_posted_flag = 'Y'))
payment_date
FROM gl_import_references gir,
gl_je_headers gjh,
gl_je_lines gjl,
gl_code_combinations_kfv glcc,
gl_ledgers gl,
xla_ae_lines xal,
xla_ae_headers xah,
xla.xla_transaction_entities xte,
ap_invoices_all aia,
ap_suppliers aps,
ap_invoice_payments_all aipa,
ap_payment_schedules_all apsa
WHERE aipa.invoice_id(+) = aia.invoice_id
AND gir.je_header_id(+) = gjl.je_header_id
AND apsa.invoice_id = aia.invoice_id
AND aia.vendor_id = aps.vendor_id(+)
AND xte.entity_code IN ('AP_INVOICES', 'AP_PAYMENTS')
-- AND aia.invoice_num='ERS-23696-230054'
AND accounting_class_code = 'LIABILITY'
AND business_class_code = 'AP_LIAB'
AND xal.gl_sl_link_table = 'XLAJEL'
AND xte.application_id = 200
AND gir.je_line_num(+) = gjl.je_line_num
AND gjh.je_header_id = gjl.je_header_id
AND gl.ledger_id = aia.set_of_books_id
AND glcc.code_combination_id = gjl.code_combination_id
AND gl.NAME = :p_ledger_name
AND gjh.status = 'P'
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 xte.application_id = xah.application_id
AND xte.entity_id = xah.entity_id
AND aia.invoice_id(+) = xte.source_id_int_1
AND aipa.invoice_id(+) = aia.invoice_id
AND ( TO_CHAR (aipa.accounting_date, 'YYYY') =
:p_period_year
OR TO_CHAR (aia.gl_date, 'YYYY') = :p_period_year
))

Potrebbero piacerti anche