The following lines contain the word 'select', 'insert', 'update' or 'delete':
select to_char(ptp.start_date, 'YYYY')
into l_year
from per_time_periods ptp
where p_session_date between
ptp.start_date and ptp.end_date
and ptp.payroll_id = p_payroll_id;
select greatest(ptp1.start_date, ptp2.start_date)
into p_start_date
from per_time_periods ptp1,
per_time_periods ptp2
where ptp1.start_date =
(
select min(ptp3.start_date)
from per_time_periods ptp3
where ptp3.start_date >=
(
select min(effective_start_date)
from pay_element_entries_f pee
where pee.element_entry_id = p_element_entry_id
)
and ptp3.payroll_id = ptp1.payroll_id
)
and ptp1.payroll_id = p_payroll_id
and ptp2.start_date =
(
select min(ptp3.start_date)
from per_time_periods ptp3
where ptp3.start_date >=
to_date('01-01-'||l_year, 'DD-MM-YYYY')
and ptp3.payroll_id = ptp2.payroll_id
)
and ptp2.payroll_id = p_payroll_id;
select ptp1.end_date
into l_end_date
from per_time_periods ptp1
where ptp1.end_date =
(
select max(ptp2.end_date)
from per_time_periods ptp2
where ptp2.end_date <=
(
select max(effective_end_date)
from pay_element_entries_f pee
where pee.element_entry_id = p_element_entry_id
)
and ptp2.payroll_id = ptp1.payroll_id
)
and ptp1.payroll_id = p_payroll_id;
select ptp1.end_date
into l_end_date
from per_time_periods ptp1
where ptp1.end_date =
(
select max(ptp2.end_date)
from per_periods_of_service pos,
per_time_periods ptp2
where p_session_date between
pos.date_start and pos.actual_termination_date
and pos.person_id = p_person_id
and pos.actual_termination_date <= ptp2.end_date
and ptp2.payroll_id = ptp1.payroll_id
)
and ptp1.payroll_id = p_payroll_id;