0% found this document useful (0 votes)
140 views9 pages

TreasuryDM1 2

This document provides details on a SQL script for a Treasury Bolt On report, including: - The report name, type, description, creator, and version history - A SQL query that extracts data for payments including company code, bank account, payment check option, employee details, payment amounts, and dates - The query pulls from various payment, payroll, and employee tables to summarize check and payment information for reporting.

Uploaded by

balasuk
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
Download as txt, pdf, or txt
0% found this document useful (0 votes)
140 views9 pages

TreasuryDM1 2

This document provides details on a SQL script for a Treasury Bolt On report, including: - The report name, type, description, creator, and version history - A SQL query that extracts data for payments including company code, bank account, payment check option, employee details, payment amounts, and dates - The query pulls from various payment, payroll, and employee tables to summarize check and payment information for reporting.

Uploaded by

balasuk
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1/ 9

TreasuryDM1-2

--Treasury Bolt On Report 1-2 - 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 --added by Roopa
--,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
,(
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) gross_pay -- Required on File
,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) net_pay -- Required on File
,0 total_tax_employee -- Required on File
,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.STATUS payment_status
,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
,opm.organization_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
,opm.organization_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 (
payment.payment_type_name = 'Check'
AND
to_char(to_date(to_char(:Effective_Date, 'yyyy-mm-dd'), 'yyyy-mm-dd'), 'DAY') IN (
2
,3
,4
,5
)
AND trunc(payment.Prepay_Process_Date)
BETWEEN (TRUNC(:Effective_Date) - 1)
AND (TRUNC(:Effective_Date) - 1)
)
THEN (1)
WHEN (
payment.payment_type_name = 'Check'
AND
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) - 3)
AND (TRUNC(:Effective_Date) - 1)
)
THEN (1)
WHEN (
payment.payment_type_name = 'EFT'
AND
to_char(to_date(to_char(:Effective_Date, 'yyyy-mm-dd'), 'yyyy-mm-dd'), 'DAY') IN (
1
,2
,3
,4
)
AND trunc(payment.Prepay_Process_Date)
BETWEEN (TRUNC(:Effective_Date) + 1)
AND (TRUNC(:Effective_Date) + 1)
)
THEN (1)
WHEN (
payment.payment_type_name = 'EFT'
AND
to_char(to_date(to_char(:Effective_Date, 'yyyy-mm-dd'), 'yyyy-mm-dd'), 'DAY') = 5
AND trunc(payment.Prepay_Process_Date)
BETWEEN (TRUNC(:Effective_Date) + 1)
AND (TRUNC(:Effective_Date) + 3)
)
THEN (1)
ELSE (0)
END = 1
) --end of additiona by Roopa
--AND papf.person_number IN ('103252','107117','001090') --
'100033'
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

You might also like