Sei sulla pagina 1di 10

TreasuryDM8

--Treasury Bolt On Report 8 - Check_EFT Payments


/*

+==================================================================================
===+
YRC Worldwide

+==================================================================================
===+
Report Name : Treasury Bolt On Report - 1
Type : BI Publisher Report
Description : This is a SQL script to extract data as per the Treasury Bolt
On
requirements
Created By : Ajitesh Mohanty
Create Date : July 5th, 2017
Version Number: 1.0
Comments:
Dependencies:
History:

___________________________________________________________________________________
___
Version Date Name
Description
1.0 05-Jul-2017 Ajitesh Mohanty Initial
Version.
1.1 19-Jul-2017 Roopa Madihally
Updated Version.

___________________________________________________________________________________
___
*/
SELECT company_code company_code
,bank_account_num bank_account_num
,pay_check_option pay_check_option
,employee_type employee_type
,union_employee union_employee
,check_date check_date
,person_number person_number
--,check_number check_number
,sum(gross_pay) gross_pay
,sum(total_deductions) total_deductions
,sum(net_pay) net_pay
,sum(total_tax_employee) total_tax_employee
,sum(total_tax_employer) total_tax_employer
,DAY_OF_THE_WEEK --added by Roopa
,forecast_date
--,Payment_rel_action_id
FROM (
SELECT company_code company_code
,bank_account_num bank_account_num
,pay_check_option pay_check_option
,employee_type employee_type
,union_employee union_employee
,check_date check_date
,person_number person_number
--,check_number check_number
--,sum(gross_pay)
gross_pay
--,sum(total_deductions)
total_deductions
--,sum(net_pay)
net_pay
--,sum(total_tax_employee)
total_tax_employee
--,sum(total_tax_employer)
total_tax_employer
,gross_pay gross_pay
,total_deductions total_deductions
,net_pay net_pay
,total_tax_employee total_tax_employee
,total_tax_employer total_tax_employer
,to_char(to_date(to_char(:Effective_Date, 'yyyy-mm-dd'), 'yyyy-mm-dd'),
'DAY') DAY_OF_THE_WEEK --added by Roopa
,(
CASE
WHEN (to_char(to_date(to_char(:Effective_Date, 'yyyy-mm-
dd'), 'yyyy-mm-dd'), 'DAY') = 1)
THEN (to_char(TRUNC(:Effective_Date) - 3, 'yyyy-mm-
dd'))
ELSE (to_char(TRUNC(:Effective_Date) - 1, 'yyyy-mm-dd'))
END
) forecast_date
--,Payment_rel_action_id
FROM (
SELECT 1
,xle.attribute1 company_code -- Required on File
,bank.bank_account_num bank_account_num -- Required on File
--,DECODE(payment.payment_type_name, 'EFT', 'A', 'C')
pay_check_option -- Required on File
,'D' pay_check_option
,(
CASE
WHEN upper(pay.payroll_name) LIKE '%SEMI%MONTH%'
THEN 'S'
ELSE 'H'
END
) employee_type -- Required on File
,(
CASE
WHEN paam.bargaining_unit_code IS NOT NULL
THEN 'Y'
ELSE 'N'
END
) union_employee -- Required on File
,to_char(ppa.effective_date, 'YYYYMMDD') check_date -- Required
on File
,papf.person_number person_number -- Required on File
,payment.Payment_Reference check_number -- Required on File
,/* nvl((select sum(i2.action_information81)
from pay_action_information i2
where 1=1
and ppra.payroll_rel_action_id = i2.action_context_id
and i2.person_id = pprd.person_id
and trunc(i2.effective_date) = trunc(ppa.effective_date)
and upper(i2.action_information42) = upper('Gross Earnings')
and i2.action_information_category =
'GLB_PAY_ARCH_CLASSIFICATION_BALANCE_FC' ),0) -
nvl((select sum(i2.action_information81)
from pay_action_information i2
where ppra.payroll_rel_action_id = i2.action_context_id
and i2.person_id = pprd.person_id
and trunc(i2.effective_date) = trunc(ppa.effective_date)
and i2.action_information42 in('US_IMPUTED_EARNINGS')),0) */ 0
gross_pay -- Required on File
,/* NVL((select sum(i2.action_information81)
from PAY_ACTION_INFORMATION i2
where 1=1
and i2.person_id = papf.person_id
and i2.effective_date = ppa.effective_date
and i2.action_context_id = ppra.payroll_rel_action_id
and i2.action_information_category=
'GLB_PAY_ARCH_PR_INV_DEDUCTIONS_FC'
and i2.action_context_type = 'PRA'),0) */ 0 total_deductions --
Required on File
,/* nvl((select sum(pai18.action_information81)
from pay_action_information pai18
where 1=1
and pai18.action_information_category =
'GLB_PAY_ARCH_CLASSIFICATION_BALANCE_FC'
and upper(pai18.action_information42) = upper('Net Pay')
and pai18.person_id = pprd.person_id
and trunc(pai18.effective_date) = trunc(ppa.effective_date)

and pai18.action_context_id = ppra.payroll_rel_action_id ),0) */ 0


net_pay -- Required on File
,/* (NVL((select sum(i2.action_information81)
from pay_action_information i2
where 1=1
and i2.action_information42 in ('US_EMPLOYEE_TAX_DEDUCTIONS')
and i2.action_information_category=
'GLB_PAY_ARCH_CLASSIFICATION_BALANCE_FC'
and i2.person_id = papf.person_id
and i2.action_context_id = ppra.payroll_rel_action_id
and i2.effective_date = ppa.effective_date),0) -

NVL((select sum(i2.action_information81)
from pay_action_information i2
where 1=1
and i2.action_information42 in('US_IMPUTED_EARNINGS')
and i2.person_id = papf.person_id
and i2.action_context_id = ppra.payroll_rel_action_id
and i2.effective_date = ppa.effective_date),0)) */ 0
total_tax_employee -- Required on File
,NVL((
SELECT sum(i2.action_information81)
FROM pay_action_information i2
WHERE 1 = 1
AND i2.action_information_category =
'GLB_PAY_ARCH_PR_EMPLOYER_CHARGES_FC'
AND i2.action_information42 IN (
'US_SOCIAL_SECURITY_EMPLOYER_LIABILITY'
,'US_MEDICARE_EMPLOYER_LIABILITY'
)
AND i2.person_id = papf.person_id
AND i2.action_context_id =
ppra.payroll_rel_action_id
AND i2.effective_date = ppa.effective_date
), 0) total_tax_employer -- Required on File
,ppra.action_sequence pay_action_sequence -- For Data Group Link
,pprd.payroll_relationship_id payroll_relationship_id -- For Data
Group Link
,pprd.person_id person_id -- For Data Group Link
,ppa.payroll_id payroll_id -- For Data Group Link
,payment.Payment_rel_action_id
,payment.payee_type
FROM per_all_people_f papf
,per_all_assignments_m paam
,hr_all_organization_units_f haou
,xle_entity_profiles xle
,per_periods_of_service ppos
,pay_pay_relationships_dn pprd
,pay_rel_groups_dn prgd
,pay_assigned_payrolls_dn papd
,pay_all_payrolls_f pay
,pay_payroll_rel_actions ppra
,pay_payroll_actions ppa
,(
SELECT ppp.pre_Payment_Id
,ppp.PAYROLL_REL_ACTION_ID
,opmtl.Org_Payment_Method_Name
,ppm.Priority
,ppttl.Payment_Type_Name
,Lo1.Meaning Source
,opm.Currency_Code
,ppp.VALUE Amount
,Pay_process_flow_utils.Get_payment_status(aac1.PAYRO
LL_REL_ACTION_ID, ppp.pre_Payment_Id) STATUS
,ppp.payroll_rel_action_id Prepay_rel_action_id
,ppp.PAYROLL_REL_ACTION_ID Prepay_cum_rel_action_id
,pac1.payroll_id
,ppp.calc_breakdown_id
,ppp.effective_date prepay_payment_date
,pac1.effective_date prepay_process_date
,paac1.PAYROLL_REL_ACTION_ID Payment_rel_action_id
,ppay.payroll_name
,decode(ppp.third_party_payee_id, NULL, 'Person',
'Organization') payee_type
,decode(ppp.third_party_payee_id, NULL,
peo.full_name, 'Organization') payee
,ppr.payroll_relationship_number
,pnm.person_number
,pnm.person_id
,paac1.serial_number payment_reference
,ppr.legislative_data_group_id AS
legislative_data_group_id
FROM pay_org_pay_methods_tl opmtl
,Pay_Payment_Types_tl ppttl
,pay_org_pay_methods_f opm
,Pay_pre_Payments ppp
,pay_person_pay_methods_f ppm
,hcm_LookUps Lo1
,Pay_Payment_Types ppt
,pay_payroll_rel_actions aac1
,Pay_Payroll_Actions Pac1
,pay_payroll_rel_actions paac1
,pay_all_payrolls_f ppay
,pay_pay_relationships_dn ppr
,per_person_names_f peo
,per_all_people_f pnm
WHERE opm.Org_Payment_Method_Id =
opmtl.Org_Payment_Method_Id
AND opmtl.LANGUAGE = Userenv('LANG')
AND ppt.Payment_Type_Id = ppttl.Payment_Type_Id
AND ppttl.LANGUAGE = Userenv('LANG')
AND ppay.payroll_id = pac1.payroll_id
AND ppr.payroll_relationship_id =
aac1.payroll_relationship_id
AND ppr.person_id = pnm.person_id(+)
AND ppr.person_id = peo.person_id(+)
AND (
peo.person_id IS NULL
OR pac1.effective_date BETWEEN
peo.effective_start_date
AND peo.effective_end_date
)
AND (
pnm.person_id IS NULL
OR pac1.effective_date BETWEEN
pnm.effective_start_date
AND pnm.effective_end_date
)
AND pac1.effective_date BETWEEN
ppay.effective_start_date
AND ppay.effective_end_date
AND ppp.PAYROLL_REL_ACTION_ID =
aac1.PAYROLL_REL_ACTION_ID
AND Pac1.Payroll_Action_Id = aac1.Payroll_Action_Id
AND Lo1.LookUp_Type = 'PAY_PAYMENT_SOURCE'
AND Lo1.LookUp_Code =
DECODE(Pac1.Org_Payment_Method_Id, NULL, DECODE(ppm.Personal_Payment_Method_Id,
NULL, 'D', 'P'), 'O')
AND opm.Org_Payment_Method_Id =
ppp.Org_Payment_Method_Id
AND Pac1.Effective_Date BETWEEN
opm.Effective_Start_Date
AND opm.Effective_End_Date
AND ppt.Payment_Type_Id = opm.Payment_Type_Id
AND ppp.Personal_Payment_Method_Id =
ppm.Personal_Payment_Method_Id(+)
AND (
ppp.Personal_Payment_Method_Id IS NULL
OR Pac1.Effective_Date BETWEEN
ppm.Effective_Start_Date
AND ppm.Effective_End_Date
)
AND paac1.pre_payment_id(+) = ppp.pre_payment_id
AND peo.name_type = 'GLOBAL'

UNION ALL

SELECT ppp.pre_Payment_Id
,ppp.PAYROLL_REL_ACTION_ID
,opmtl.Org_Payment_Method_Name
,ppm.Priority
,ppttl.Payment_Type_Name
,Lo1.Meaning Source
,opm.Currency_Code
,ppp.VALUE Amount
,Pay_process_flow_utils.Get_payment_status(aac1.PAYRO
LL_REL_ACTION_ID, ppp.pre_Payment_Id) STATUS
,ppp.payroll_rel_action_id Prepay_rel_action_id
,aac1.Source_Action_Id Prepay_cum_rel_action_id
,pac1.payroll_id
,ppp.calc_breakdown_id
,ppp.effective_date prepay_payment_date
,pac1.effective_date prepay_process_date
,paac1.PAYROLL_REL_ACTION_ID Payment_rel_action_id
,ppay.payroll_name
,decode(ppp.third_party_payee_id, NULL, 'Person',
'Organization') payee_type
,decode(ppp.third_party_payee_id, NULL,
peo.full_name, 'Organization') payee
,ppr.payroll_relationship_number
,pnm.person_number
,pnm.person_id
,paac1.serial_number payment_reference
,ppr.legislative_data_group_id AS
legislative_data_group_id
FROM pay_org_pay_methods_tl opmtl
,Pay_Payment_Types_tl ppttl
,pay_org_pay_methods_f opm
,Pay_pre_Payments ppp
,pay_person_pay_methods_f ppm
,hcm_LookUps Lo1
,Pay_Payment_Types ppt
,pay_payroll_rel_actions aac1
,Pay_Payroll_Actions Pac1
,pay_payroll_rel_actions paac1
,pay_all_payrolls_f ppay
,pay_pay_relationships_dn ppr
,per_person_names_f peo
,per_all_people_f pnm
WHERE opm.Org_Payment_Method_Id =
opmtl.Org_Payment_Method_Id
AND opmtl.LANGUAGE = Userenv('LANG')
AND ppt.Payment_Type_Id = ppttl.Payment_Type_Id
AND ppttl.LANGUAGE = Userenv('LANG')
AND ppay.payroll_id = pac1.payroll_id
AND ppr.payroll_relationship_id =
aac1.payroll_relationship_id
AND ppr.person_id = pnm.person_id(+)
AND ppr.person_id = peo.person_id(+)
AND (
peo.person_id IS NULL
OR pac1.effective_date BETWEEN
peo.effective_start_date
AND peo.effective_end_date
)
AND (
pnm.person_id IS NULL
OR pac1.effective_date BETWEEN
pnm.effective_start_date
AND pnm.effective_end_date
)
AND pac1.effective_date BETWEEN
ppay.effective_start_date
AND ppay.effective_end_date
AND ppp.PAYROLL_REL_ACTION_ID =
aac1.PAYROLL_REL_ACTION_ID
AND Pac1.Payroll_Action_Id = aac1.Payroll_Action_Id
AND Lo1.LookUp_Type = 'PAY_PAYMENT_SOURCE'
AND Lo1.LookUp_Code =
DECODE(Pac1.Org_Payment_Method_Id, NULL, DECODE(ppm.Personal_Payment_Method_Id,
NULL, 'D', 'P'), 'O')
AND opm.Org_Payment_Method_Id =
ppp.Org_Payment_Method_Id
AND Pac1.Effective_Date BETWEEN
opm.Effective_Start_Date
AND opm.Effective_End_Date
AND ppt.Payment_Type_Id = opm.Payment_Type_Id
AND ppp.Personal_Payment_Method_Id =
ppm.Personal_Payment_Method_Id(+)
AND (
ppp.Personal_Payment_Method_Id IS NULL
OR Pac1.Effective_Date BETWEEN
ppm.Effective_Start_Date
AND ppm.Effective_End_Date
)
AND aac1.Source_Action_Id IS NOT NULL
AND aac1.Source_Action_Id <>
aac1.PAYROLL_REL_ACTION_ID
AND paac1.pre_payment_id(+) = ppp.pre_payment_id
AND peo.name_type = 'GLOBAL'
) payment
,pay_pre_payments ppp
,pay_bank_accnt_details_vl bank
WHERE 1 = 1
AND payment.pre_payment_id = ppp.pre_payment_id
AND ppp.payroll_rel_action_id = payment.payroll_rel_action_id
AND ppp.payer_bank_account_id = bank.bank_account_id
AND papf.person_id = paam.person_id
AND paam.primary_flag = 'Y'
AND paam.effective_latest_change = 'Y'
AND paam.assignment_type = 'E'
AND paam.legal_entity_id = haou.organization_id
AND haou.legal_entity_id = xle.legal_entity_id
AND upper(payment.STATUS) IN (
'VOID'
,'PAID'
)
AND upper(payment.payment_type_name) = :Payment_Type
AND papf.person_id = payment.person_id
AND papf.person_id = pprd.person_id
AND pprd.payroll_relationship_id = prgd.payroll_relationship_id
AND prgd.relationship_group_id = papd.payroll_term_id
AND papd.payroll_id = pay.payroll_id
AND ppos.person_id = pprd.person_id
AND ppos.period_of_service_id = paam.period_of_service_id
AND ppos.date_start = (
SELECT max(ppos1.date_start)
FROM per_periods_of_service ppos1
WHERE 1 = 1
AND ppos.person_id = ppos1.person_id
AND ppos1.date_start <=
trunc(payment.Prepay_Process_Date)
)
AND (
(
(
ppos.actual_termination_date IS NOT NULL
AND papd.finc IS NOT NULL
)
OR (
ppos.actual_termination_date IS NULL
AND papd.finc IS NULL
)
)
AND papd.fsed = (
SELECT max(papd1.fsed)
FROM pay_assigned_payrolls_dn papd1
,pay_rel_groups_dn prgd1
WHERE 1 = 1
AND papd1.payroll_term_id =
prgd1.relationship_group_id
AND prgd1.payroll_relationship_id =
pprd.payroll_relationship_id
)
)
AND pprd.payroll_relationship_id = ppra.payroll_relationship_id
AND ppra.payroll_action_id = ppa.payroll_action_id
AND ppa.action_status = 'C'
AND ppa.effective_date = (
SELECT max(ppa1.effective_date)
FROM pay_payroll_actions ppa1
,pay_payroll_rel_actions ppra1
WHERE 1 = 1
AND ppa1.payroll_action_id = ppra1.payroll_action_id
AND ppra.payroll_relationship_id =
ppra1.payroll_relationship_id
AND ppa1.action_status = 'C'
AND trunc(ppa1.effective_date) =
trunc(payment.Prepay_Process_Date)
)
--AND trunc(payment.Prepay_Process_Date) = NVL(:Effective_Date,
trunc(SYSDATE))
AND trunc(payment.Prepay_Process_Date) BETWEEN
papf.effective_start_date
AND papf.effective_end_date
AND trunc(payment.Prepay_Process_Date) BETWEEN
paam.effective_start_date
AND paam.effective_end_date
AND trunc(payment.Prepay_Process_Date) BETWEEN
haou.effective_start_date
AND haou.effective_end_date
AND trunc(payment.Prepay_Process_Date) BETWEEN pprd.start_date
AND nvl(pprd.end_date, sysdate)
AND trunc(payment.Prepay_Process_Date) BETWEEN
pay.effective_start_date
AND nvl(pay.effective_end_date, sysdate)
AND (
CASE --added by Roopa
WHEN (
to_char(to_date(to_char(:Effective_Date,
'yyyy-mm-dd'), 'yyyy-mm-dd'), 'DAY') = 1
AND trunc(payment.Prepay_Process_Date)
BETWEEN (TRUNC(:Effective_Date) - 4)
AND (TRUNC(:Effective_Date) - 4)
)
THEN (1)
WHEN (
to_char(to_date(to_char(:Effective_Date,
'yyyy-mm-dd'), 'yyyy-mm-dd'), 'DAY') = 2
AND trunc(payment.Prepay_Process_Date)
BETWEEN (TRUNC(:Effective_Date) - 4)
AND (TRUNC(:Effective_Date) - 2)
)
THEN (1)
WHEN (
to_char(to_date(to_char(:Effective_Date,
'yyyy-mm-dd'), 'yyyy-mm-dd'), 'DAY') IN (
3
,4
,5
)
AND trunc(payment.Prepay_Process_Date)
BETWEEN (TRUNC(:Effective_Date) - 2)
AND (TRUNC(:Effective_Date) - 2)
)
THEN (1)
ELSE (0)
END = 1
) --end of additiona by Roopa
--AND papf.person_number = '103441'
AND UPPER(payment.payee_type) = UPPER('PERSON')
)
GROUP BY company_code
,bank_account_num
,pay_check_option
,employee_type
,union_employee
,check_date
,person_number
--,check_number
,gross_pay
,total_deductions
,net_pay
,total_tax_employee
,total_tax_employer
--,Payment_rel_action_id
)
GROUP BY company_code
,bank_account_num
,pay_check_option
,employee_type
,union_employee
,check_date
,person_number
--,check_number
,DAY_OF_THE_WEEK
,forecast_date
--,Payment_rel_action_id

Potrebbero piacerti anche