The following lines contain the word 'select', 'insert', 'update' or 'delete':
cursor c_select_assignments
(
c_business_group_id per_all_assignments_f.business_group_id%type,
c_start_date per_all_assignments_f.effective_start_date%type,
c_end_date per_all_assignments_f.effective_end_date%type
)
is
select asg.assignment_id,
asg.assignment_number,
asg.effective_start_date,
asg.effective_end_date,
asg.person_id,
scl.segment1
from per_all_assignments_f asg
,hr_soft_coding_keyflex scl
where scl.soft_coding_keyflex_id = asg.soft_coding_keyflex_id
and asg.business_group_id = c_business_group_id
and asg.effective_start_date <= c_end_date
and asg.effective_end_date >= c_start_date
order by asg.assignment_id,
asg.effective_start_date;
select to_char(sysdate,'DD-MON-YYYY')
into l_today
from dual;
select hou.name
into l_business_group_name
from hr_all_organization_units hou,
hr_organization_information hoi
where hou.organization_id = hou.business_group_id
and hou.organization_id = hoi.organization_id
and hoi.org_information_context = 'Business Group Information'
and hou.business_group_id = p_business_group_id;
l_asg_tab.delete;
for asg_rec in c_select_assignments(p_business_group_id,
l_fin_year_start,
l_fin_year_end)
loop
-- For each assignment check with previous legal employer if it's the
-- same assignment and it started in the fin year we require.
if asg_rec.assignment_id = l_prev_assignment_id and
asg_rec.effective_start_date between l_fin_year_start
and l_fin_year_end then
if l_prev_legal_emp <> asg_rec.segment1 then
l_count := l_count + 1;
select hou.name
into l_asg_tab(i).seg1_name
from hr_organization_units hou
where l_asg_tab(i).segment1 = hou.organization_id;
select hou.name
into l_asg_tab(i).seg1_prev_name
from hr_organization_units hou
where l_asg_tab(i).prev_segment1 = hou.organization_id;
select per.full_name
into l_asg_tab(i).full_name
from per_all_people_f per
where per.person_id = l_asg_tab(i).person_id
and l_fin_year_end between per.effective_start_date and per.effective_end_date;