per_all_assignments_f paaf, per_all_people_f papf where papf.person_id = paaf.person_id and papf.current_employee_flag = 'Y' and pbvv.balance_name = 'Gross Pay' and pbvv.database_item_suffix = '_ASG_YTD' and paaf.payroll_id in (87, 81, 82) and paaf.primary_flag = 'Y' and paaf.assignment_type = 'E' and papf.employee_number = '9124862' and pbvv.payroll_action_id = (select max(pbvv.payroll_action_id) from pay_balance_values_v pbvv where paaf.assignment_id = pbvv.assignment_id and pbvv.balance_name = 'Gross Pay' and pbvv.database_item_suffix = '_ASG_YTD' and pbvv.effective_date = '31-Mar-2016') and pbvv.assignment_action_id = (SELECT max(paa.assignment_action_id) FROM pay_assignment_actions paa, pay_payroll_actions ppa
WHERE --PPA.action_type = 'X'
PPA.action_status = 'C'
AND paa.payroll_action_id = ppa.payroll_action_id
AND PAA.action_status = 'C' AND paa.assignment_id = paaf.assignment_id AND paaf.business_group_id = 83 --AND ppa.report_type = 'UKPS' -- AND paa.source_Action_id is null and ppa.date_earned = '31-mar-2016' AND ppa.effective_date BETWEEN '01-Mar-2016' AND '31-Mar-2016')
and paaf.assignment_id = pbvv.assignment_id
and pbvv.effective_date = '31-Mar-2016' and ((paaf.effective_start_date < '01-apr-2015' and paaf.effective_end_date > '31-Mar-2016') or (paaf.effective_start_date between '01-apr-2015' and '31-Mar-2016') and (paaf.effective_end_date between '31-Mar-2016' and '31-dec-4712')) and ((papf.effective_start_date < '01-apr-2015' and papf.effective_end_date > '31-Mar-2016') or (papf.effective_start_date between '01-apr-2015' and '31-Mar-2016') and (papf.effective_end_date between '31-Mar-2016' and '31-dec-4712')) order by employee_number