You are on page 1of 3

CREATE OR REPLACE FORCE VIEW APPS.

VIEW_FOR_BIR
(
GLDATE,
VENDORTIN,
VENDORNAME,
ATC,
NATURE_OF_PAYMENT,
AMT_INCOMEPAYMENT,
TAX_RATE,
AMOUNT_TAX_WHELD,
INVOICE_NUM,
ORG_ID,
SUPPLIER_NUMBER,
INVOICE_ID,
VOUCHERNUM,
JOURNALNUM
)
AS
SELECT TO_CHAR(apinv.gl_date) AS gldate,
v.num_1099 AS vendortin,
v.vendor_name,
apinvline.awt_group_name atc,
awt.description nature_of_payment,
CASE
WHEN taxrate.tax_name IN ('WC 120 2% FULL')
THEN
apps.apg_16xx_wtax (apinv.invoice_id,
apinvline.awt_group_name)
* 1.02
WHEN taxrate.tax_name IN ('WC 158 1% FULL')
THEN
apps.apg_16xx_wtax (apinv.invoice_id,
apinvline.awt_group_name)
* 1.01
WHEN taxrate.tax_name IN ('WI 158 1% FULL')
THEN
apps.apg_16xx_wtax (apinv.invoice_id,
apinvline.awt_group_name)
* 1.01
WHEN taxrate.tax_name IN ('WV 050 12% FULL')
THEN
apps.apg_16xx_wtax (apinv.invoice_id,
apinvline.awt_group_name)
* 1.12
ELSE
apps.apg_1ap_map_amts (apinv.invoice_id,
apinvline.awt_group_name,
SUM (ABS (apinvline.amount)))
END
AS amt_incomepayment,
CASE
WHEN taxrate.tax_name IN ('WC 120 2% FULL') THEN 2
WHEN taxrate.tax_name IN ('WC 158 1% FULL') THEN 1
WHEN taxrate.tax_name IN ('WI 158 1% FULL') THEN 1
WHEN taxrate.tax_name IN ('WV 050 12% FULL') THEN 12
ELSE taxrate.tax_rate
END,
apps.apg_16xx_wtax (apinv.invoice_id, apinvline.awt_group_name)
AS amount_tax_wheld,
apinv.invoice_num,
apinv.org_id,
v.segment1 AS supplier_number,
apinv.invoice_id,
apinv.doc_sequence_value voucerhnum,
jeh.NAME journalnum
FROM gl_code_combinations gl,
gl_je_headers jeh,
gl_periods glp,
ap_invoices_all apinv,
ap_invoice_lines_v apinvline,
po_vendors v,
( SELECT vendor_id, MAX (address_line1) AS address_line1
FROM po_vendor_sites_all
GROUP BY vendor_id) av,
xle_fp_ou_ledger_v en,
ap_awt_groups awt,
ap_awt_tax_rates_all taxrate,
ap_invoice_distributions_all apdistline
WHERE (jeh.status LIKE 'P' AND jeh.currency_code NOT LIKE 'STAT')
AND (glp.period_name = jeh.period_name)
AND ( INSTR (jeh.description, 'Invoice Validated') > 0
OR INSTR (jeh.description, 'Prepayment Validated') > 0)

AND INSTR (
jeh.description,
CONCAT ('Invoice Voucher Number: ',
TO_CHAR (apinv.doc_sequence_value))) > 1
AND apinv.invoice_id = apinvline.invoice_id
AND apinvline.awt_group_name <> 'WT-NONE'

AND apinvline.line_type_lookup_code IN ('AWT')


AND apdistline.invoice_id = apinv.invoice_id
AND apdistline.invoice_line_number = apinvline.line_number
AND v.vendor_id = apinv.vendor_id
AND v.vendor_id = av.vendor_id
AND en.ledger_id = jeh.ledger_id
AND apinvline.awt_group_id = awt.GROUP_ID(+)
AND apinvline.awt_group_name = taxrate.tax_name(+)
AND apinvline.org_id = taxrate.org_id(+)
AND apinv.cancelled_date IS NULL
AND jeh.ledger_id = apinv.set_of_books_id
AND gl.code_combination_id(+) = apdistline.dist_code_combination_id
AND gl.segment2 IN
('3010222001',
'3010222002',
'3010222003',
'3010222004',
'3010222005',
'3010222006',
'3010222007')
AND taxrate.end_date IS NULL

AND apinvline.discarded_flag = 'N'


GROUP BY apinv.gl_date,
v.num_1099,
v.vendor_name,
apinvline.awt_group_name,
awt.description,
taxrate.tax_rate,
apinv.invoice_num,
apinv.org_id,
taxrate.tax_name,
v.segment1,
apinv.invoice_id,
jeh.NAME,
apinv.doc_sequence_value
UNION ALL
SELECT TO_CHAR (jeh.date_created) AS gldate,
v.num_1099 AS vendortin,
v.vendor_name,
jel.attribute4 atc,
'' nature_of_payment,
0 amt_incomepayment,
0 tax_rate,
jel.entered_cr amount_tax_wheld,
jel.attribute2 invoice_num,
operating_unit_id org_id,
v.segment1 AS supplier_number,
0 invoice_id,
0 vouchernum,
jeh.NAME journalnum
FROM gl_code_combinations gl,
gl_je_headers jeh,
gl_je_lines jel,
gl_periods glp,
po_vendors v,
( SELECT vendor_id, MAX (address_line1) AS address_line1
FROM po_vendor_sites_all
GROUP BY vendor_id) av,
xle_fp_ou_ledger_v en
WHERE (jeh.status LIKE 'P' AND jeh.currency_code NOT LIKE 'STAT')
AND jeh.je_header_id = jel.je_header_id
AND (glp.period_name = jeh.period_name)
AND je_source = 'Manual'
AND v.vendor_id = jel.attribute1
AND v.vendor_id = av.vendor_id
AND en.ledger_id = jeh.ledger_id
AND gl.code_combination_id = jel.code_combination_id
AND gl.segment2 IN
('3010222001',
'3010222002',
'3010222003',
'3010222004',
'3010222005',
'3010222006',
'3010222007');

You might also like