SQL Query to get payslip of an employee
below is a useful SQL statement to retrieve a payslip of a certain employee in a certain calendar month.
just replace the calendar name and the emp number with yours and run it.
SELECT ppa.date_earned, per.full_name, per.employee_number,
NVL (pet.reporting_name, pet.element_name), piv.NAME,
prrv.result_value, ptp.period_name
FROM pay_payroll_actions ppa,
pay_assignment_actions pac,
per_all_assignments_f ass,
per_all_people_f per,
pay_run_results prr,
pay_element_types_f pet,
pay_input_values_f piv,
pay_run_result_values prrv,
per_time_periods_v ptp
WHERE ppa.payroll_action_id = pac.payroll_action_id
AND pac.assignment_id = ass.assignment_id
AND ass.effective_end_date = TO_DATE ('12/31/4712', 'MM/DD/RRRR')
AND ass.person_id = per.person_id
AND per.effective_end_date = TO_DATE ('12/31/4712', 'MM/DD/RRRR')
AND pac.assignment_action_id = prr.assignment_action_id
AND prr.element_type_id = pet.element_type_id
AND prr.run_result_id = prrv.run_result_id
AND pet.element_type_id = piv.element_type_id
AND piv.input_value_id = prrv.input_value_id
AND ppa.time_period_id = ptp.time_period_id
-----------------------------------------
AND pet.element_name = 'Basic Salary'
-- AND piv.NAME = 'Pay Value'
AND per.employee_number = '91314'
AND ptp.period_name like '6 2008 Calendar Month'
ORDER BY 1;