The following lines contain the word 'select', 'insert', 'update' or 'delete':
select
absence_attendance_id
,business_group_id
,absence_attendance_type_id
,abs_attendance_reason_id
,person_id
,authorising_person_id
,replacement_person_id
,period_of_incapacity_id
,absence_days
,absence_hours
,comments
,date_end
,date_notification
,date_projected_end
,date_projected_start
,date_start
,occurrence
,ssp1_issued
,time_end
,time_projected_end
,time_projected_start
,time_start
,request_id
,program_application_id
,program_id
,program_update_date
,attribute_category
,attribute1
,attribute2
,attribute3
,attribute4
,attribute5
,attribute6
,attribute7
,attribute8
,attribute9
,attribute10
,attribute11
,attribute12
,attribute13
,attribute14
,attribute15
,attribute16
,attribute17
,attribute18
,attribute19
,attribute20
,maternity_id
,sickness_start_date
,sickness_end_date
,pregnancy_related_illness
,reason_for_notification_delay
,accept_late_notification_flag
,linked_absence_id
,abs_information_category
,abs_information1
,abs_information2
,abs_information3
,abs_information4
,abs_information5
,abs_information6
,abs_information7
,abs_information8
,abs_information9
,abs_information10
,abs_information11
,abs_information12
,abs_information13
,abs_information14
,abs_information15
,abs_information16
,abs_information17
,abs_information18
,abs_information19
,abs_information20
,abs_information21
,abs_information22
,abs_information23
,abs_information24
,abs_information25
,abs_information26
,abs_information27
,abs_information28
,abs_information29
,abs_information30
,absence_case_id
,batch_id
,object_version_number
from per_absence_attendances
where absence_attendance_id = p_absence_attendance_id;
select HOURS_OR_DAYS, INPUT_VALUE_ID
from per_absence_attendance_types
where absence_attendance_type_id= p_absence_attendance_type_id;
insert_absence_element
(p_date_start => p_date_start
,p_assignment_id => l_assignment_id
,p_absence_attendance_id => l_absence_attendance_id
,p_element_entry_id => l_element_entry_id);
delete_absence_element
(p_dt_delete_mode => 'DELETE'
,p_session_date => p_date_end
,p_element_entry_id => l_element_entry_id);
procedure update_person_absence
(p_validate in boolean default false
,p_effective_date in date
,p_absence_attendance_id in number
,p_abs_attendance_reason_id in number default hr_api.g_number
,p_comments in clob default hr_api.g_varchar2 -- Bug#13362792
,p_date_notification in date default hr_api.g_date
,p_date_projected_start in date default hr_api.g_date
,p_time_projected_start in varchar2 default hr_api.g_varchar2
,p_date_projected_end in date default hr_api.g_date
,p_time_projected_end in varchar2 default hr_api.g_varchar2
,p_date_start in date default hr_api.g_date
,p_time_start in varchar2 default hr_api.g_varchar2
,p_date_end in date default hr_api.g_date
,p_time_end in varchar2 default hr_api.g_varchar2
,p_absence_days in out nocopy number
,p_absence_hours in out nocopy number
,p_authorising_person_id in number default hr_api.g_number
,p_replacement_person_id in number default hr_api.g_number
,p_attribute_category in varchar2 default hr_api.g_varchar2
,p_attribute1 in varchar2 default hr_api.g_varchar2
,p_attribute2 in varchar2 default hr_api.g_varchar2
,p_attribute3 in varchar2 default hr_api.g_varchar2
,p_attribute4 in varchar2 default hr_api.g_varchar2
,p_attribute5 in varchar2 default hr_api.g_varchar2
,p_attribute6 in varchar2 default hr_api.g_varchar2
,p_attribute7 in varchar2 default hr_api.g_varchar2
,p_attribute8 in varchar2 default hr_api.g_varchar2
,p_attribute9 in varchar2 default hr_api.g_varchar2
,p_attribute10 in varchar2 default hr_api.g_varchar2
,p_attribute11 in varchar2 default hr_api.g_varchar2
,p_attribute12 in varchar2 default hr_api.g_varchar2
,p_attribute13 in varchar2 default hr_api.g_varchar2
,p_attribute14 in varchar2 default hr_api.g_varchar2
,p_attribute15 in varchar2 default hr_api.g_varchar2
,p_attribute16 in varchar2 default hr_api.g_varchar2
,p_attribute17 in varchar2 default hr_api.g_varchar2
,p_attribute18 in varchar2 default hr_api.g_varchar2
,p_attribute19 in varchar2 default hr_api.g_varchar2
,p_attribute20 in varchar2 default hr_api.g_varchar2
,p_period_of_incapacity_id in number default hr_api.g_number
,p_ssp1_issued in varchar2 default hr_api.g_varchar2
,p_maternity_id in number default hr_api.g_number
,p_sickness_start_date in date default hr_api.g_date
,p_sickness_end_date in date default hr_api.g_date
,p_pregnancy_related_illness in varchar2 default hr_api.g_varchar2
,p_reason_for_notification_dela in varchar2 default hr_api.g_varchar2
,p_accept_late_notification_fla in varchar2 default hr_api.g_varchar2
,p_linked_absence_id in number default hr_api.g_number
,p_batch_id in number default hr_api.g_number
,p_abs_information_category in varchar2 default hr_api.g_varchar2
,p_abs_information1 in varchar2 default hr_api.g_varchar2
,p_abs_information2 in varchar2 default hr_api.g_varchar2
,p_abs_information3 in varchar2 default hr_api.g_varchar2
,p_abs_information4 in varchar2 default hr_api.g_varchar2
,p_abs_information5 in varchar2 default hr_api.g_varchar2
,p_abs_information6 in varchar2 default hr_api.g_varchar2
,p_abs_information7 in varchar2 default hr_api.g_varchar2
,p_abs_information8 in varchar2 default hr_api.g_varchar2
,p_abs_information9 in varchar2 default hr_api.g_varchar2
,p_abs_information10 in varchar2 default hr_api.g_varchar2
,p_abs_information11 in varchar2 default hr_api.g_varchar2
,p_abs_information12 in varchar2 default hr_api.g_varchar2
,p_abs_information13 in varchar2 default hr_api.g_varchar2
,p_abs_information14 in varchar2 default hr_api.g_varchar2
,p_abs_information15 in varchar2 default hr_api.g_varchar2
,p_abs_information16 in varchar2 default hr_api.g_varchar2
,p_abs_information17 in varchar2 default hr_api.g_varchar2
,p_abs_information18 in varchar2 default hr_api.g_varchar2
,p_abs_information19 in varchar2 default hr_api.g_varchar2
,p_abs_information20 in varchar2 default hr_api.g_varchar2
,p_abs_information21 in varchar2 default hr_api.g_varchar2
,p_abs_information22 in varchar2 default hr_api.g_varchar2
,p_abs_information23 in varchar2 default hr_api.g_varchar2
,p_abs_information24 in varchar2 default hr_api.g_varchar2
,p_abs_information25 in varchar2 default hr_api.g_varchar2
,p_abs_information26 in varchar2 default hr_api.g_varchar2
,p_abs_information27 in varchar2 default hr_api.g_varchar2
,p_abs_information28 in varchar2 default hr_api.g_varchar2
,p_abs_information29 in varchar2 default hr_api.g_varchar2
,p_abs_information30 in varchar2 default hr_api.g_varchar2
,p_absence_case_id in number default hr_api.g_number
,p_program_application_id in number default 800
,p_called_from in number default 800
,p_object_version_number in out nocopy number
,p_dur_dys_less_warning out nocopy boolean
,p_dur_hrs_less_warning out nocopy boolean
,p_exceeds_pto_entit_warning out nocopy boolean
,p_exceeds_run_total_warning out nocopy boolean
,p_abs_overlap_warning out nocopy boolean
,p_abs_day_after_warning out nocopy boolean
,p_dur_overwritten_warning out nocopy boolean
,p_del_element_entry_warning out nocopy boolean
) is
--
-- Declare cursors and local variables
--
cursor c_get_absence_dates is
select abs.date_start, abs.date_end,
abs.DATE_PROJECTED_START,abs.DATE_PROJECTED_END,
abs.TIME_START , abs.TIME_END,
abs.TIME_PROJECTED_START ,abs.TIME_PROJECTED_END
from per_absence_attendances abs
where abs.absence_attendance_id = p_absence_attendance_id;
select abs.person_id,
abs.absence_attendance_type_id,
abs.date_start,
abs.date_end
from per_absence_attendances abs
where abs.absence_attendance_id = p_absence_attendance_id;
select abs.person_id
from per_absence_attendances abs
where abs.absence_attendance_id = p_absence_attendance_id;
l_proc varchar2(72) := g_package||'update_person_absence';
select HOURS_OR_DAYS,INPUT_VALUE_ID
from per_absence_attendance_types
where absence_attendance_type_id= (select absence_attendance_type_id
from per_absence_attendances where ABSENCE_ATTENDANCE_ID = p_absence_attendance_id);
savepoint update_person_absence;
p_scope => 'UPDATE',
p_ret_value => l_retvalue );
hr_utility.set_location('otl hr UPDATE check ', 60);
hr_person_absence_bk2.update_person_absence_b
(p_effective_date => l_effective_date
,p_absence_attendance_id => p_absence_attendance_id
,p_object_version_number => p_object_version_number
,p_abs_attendance_reason_id => p_abs_attendance_reason_id
,p_comments => p_comments
,p_date_notification => l_date_notification
,p_date_projected_start => l_date_projected_start
,p_time_projected_start => p_time_projected_start
,p_date_projected_end => l_date_projected_end
,p_time_projected_end => p_time_projected_end
,p_date_start => l_date_start
,p_time_start => p_time_start
,p_date_end => l_date_end
,p_time_end => p_time_end
,p_absence_days => l_absence_days
,p_absence_hours => l_absence_hours
,p_authorising_person_id => p_authorising_person_id
,p_replacement_person_id => p_replacement_person_id
,p_attribute_category => p_attribute_category
,p_attribute1 => p_attribute1
,p_attribute2 => p_attribute2
,p_attribute3 => p_attribute3
,p_attribute4 => p_attribute4
,p_attribute5 => p_attribute5
,p_attribute6 => p_attribute6
,p_attribute7 => p_attribute7
,p_attribute8 => p_attribute8
,p_attribute9 => p_attribute9
,p_attribute10 => p_attribute10
,p_attribute11 => p_attribute11
,p_attribute12 => p_attribute12
,p_attribute13 => p_attribute13
,p_attribute14 => p_attribute14
,p_attribute15 => p_attribute15
,p_attribute16 => p_attribute16
,p_attribute17 => p_attribute17
,p_attribute18 => p_attribute18
,p_attribute19 => p_attribute19
,p_attribute20 => p_attribute20
,p_period_of_incapacity_id => p_period_of_incapacity_id
,p_ssp1_issued => p_ssp1_issued
,p_maternity_id => p_maternity_id
,p_sickness_start_date => p_sickness_start_date
,p_sickness_end_date => p_sickness_end_date
,p_pregnancy_related_illness => p_pregnancy_related_illness
,p_reason_for_notification_dela => p_reason_for_notification_dela
,p_accept_late_notification_fla => p_accept_late_notification_fla
,p_linked_absence_id => p_linked_absence_id
,p_absence_case_id => p_absence_case_id
,p_batch_id => p_batch_id
,p_abs_information_category => p_abs_information_category
,p_abs_information1 => p_abs_information1
,p_abs_information2 => p_abs_information2
,p_abs_information3 => p_abs_information3
,p_abs_information4 => p_abs_information4
,p_abs_information5 => p_abs_information5
,p_abs_information6 => p_abs_information6
,p_abs_information7 => p_abs_information7
,p_abs_information8 => p_abs_information8
,p_abs_information9 => p_abs_information9
,p_abs_information10 => p_abs_information10
,p_abs_information11 => p_abs_information11
,p_abs_information12 => p_abs_information12
,p_abs_information13 => p_abs_information13
,p_abs_information14 => p_abs_information14
,p_abs_information15 => p_abs_information15
,p_abs_information16 => p_abs_information16
,p_abs_information17 => p_abs_information17
,p_abs_information18 => p_abs_information18
,p_abs_information19 => p_abs_information19
,p_abs_information20 => p_abs_information20
,p_abs_information21 => p_abs_information21
,p_abs_information22 => p_abs_information22
,p_abs_information23 => p_abs_information23
,p_abs_information24 => p_abs_information24
,p_abs_information25 => p_abs_information25
,p_abs_information26 => p_abs_information26
,p_abs_information27 => p_abs_information27
,p_abs_information28 => p_abs_information28
,p_abs_information29 => p_abs_information29
,p_abs_information30 => p_abs_information30
);
(p_module_name => 'UPDATE_PERSON_ABSENCE'
,p_hook_type => 'BP'
);
insert_absence_element
(p_date_start => l_date_start_for_absence
,p_assignment_id => l_assignment_id
,p_absence_attendance_id => p_absence_attendance_id
,p_element_entry_id => l_element_entry_id);
delete_absence_element
(p_dt_delete_mode => 'DELETE'
,p_session_date => l_date_end_for_absence
,p_element_entry_id => l_element_entry_id);
delete_absence_element
(p_dt_delete_mode => 'ZAP'
,p_session_date => l_effective_start_date
,p_element_entry_id => l_element_entry_id);
update_absence_element
(p_dt_update_mode => 'CORRECTION'
,p_session_date => l_effective_start_date
,p_element_entry_id => l_element_entry_id
,p_absence_attendance_id => p_absence_attendance_id);
delete_absence_element
(p_dt_delete_mode => 'ZAP'
,p_session_date => l_effective_start_date
,p_element_entry_id => l_element_entry_id);
insert_absence_element
(p_date_start => l_date_start_for_absence
,p_assignment_id => l_assignment_id
,p_absence_attendance_id => p_absence_attendance_id
,p_element_entry_id => l_element_entry_id);
delete_absence_element
(p_dt_delete_mode => 'DELETE'
,p_session_date => l_date_end_for_absence
,p_element_entry_id => l_element_entry_id);
delete_absence_element
(p_dt_delete_mode => 'DELETE_NEXT_CHANGE'
,p_session_date => l_effective_end_date
,p_element_entry_id => l_element_entry_id);
delete_absence_element
(p_dt_delete_mode => 'DELETE'
,p_session_date => l_date_end_for_absence
,p_element_entry_id => l_element_entry_id);
hr_person_absence_bk2.update_person_absence_a
(p_effective_date => l_effective_date
,p_absence_attendance_id => p_absence_attendance_id
,p_object_version_number => l_object_version_number
,p_abs_attendance_reason_id => p_abs_attendance_reason_id
,p_comments => p_comments
,p_date_notification => l_date_notification
,p_date_projected_start => l_date_projected_start
,p_time_projected_start => p_time_projected_start
,p_date_projected_end => l_date_projected_end
,p_time_projected_end => p_time_projected_end
,p_date_start => l_date_start_for_absence -- 9877578
,p_time_start => p_time_start
,p_date_end => l_date_end_for_absence -- 9877578
,p_time_end => p_time_end
,p_absence_days => l_absence_days
,p_absence_hours => l_absence_hours
,p_authorising_person_id => p_authorising_person_id
,p_replacement_person_id => p_replacement_person_id
,p_attribute_category => p_attribute_category
,p_attribute1 => p_attribute1
,p_attribute2 => p_attribute2
,p_attribute3 => p_attribute3
,p_attribute4 => p_attribute4
,p_attribute5 => p_attribute5
,p_attribute6 => p_attribute6
,p_attribute7 => p_attribute7
,p_attribute8 => p_attribute8
,p_attribute9 => p_attribute9
,p_attribute10 => p_attribute10
,p_attribute11 => p_attribute11
,p_attribute12 => p_attribute12
,p_attribute13 => p_attribute13
,p_attribute14 => p_attribute14
,p_attribute15 => p_attribute15
,p_attribute16 => p_attribute16
,p_attribute17 => p_attribute17
,p_attribute18 => p_attribute18
,p_attribute19 => p_attribute19
,p_attribute20 => p_attribute20
,p_period_of_incapacity_id => p_period_of_incapacity_id
,p_ssp1_issued => p_ssp1_issued
,p_maternity_id => p_maternity_id
,p_sickness_start_date => p_sickness_start_date
,p_sickness_end_date => p_sickness_end_date
,p_pregnancy_related_illness => p_pregnancy_related_illness
,p_reason_for_notification_dela => p_reason_for_notification_dela
,p_accept_late_notification_fla => p_accept_late_notification_fla
,p_linked_absence_id => p_linked_absence_id
,p_absence_case_id => p_absence_case_id
,p_batch_id => p_batch_id
,p_abs_information_category => p_abs_information_category
,p_abs_information1 => p_abs_information1
,p_abs_information2 => p_abs_information2
,p_abs_information3 => p_abs_information3
,p_abs_information4 => p_abs_information4
,p_abs_information5 => p_abs_information5
,p_abs_information6 => p_abs_information6
,p_abs_information7 => p_abs_information7
,p_abs_information8 => p_abs_information8
,p_abs_information9 => p_abs_information9
,p_abs_information10 => p_abs_information10
,p_abs_information11 => p_abs_information11
,p_abs_information12 => p_abs_information12
,p_abs_information13 => p_abs_information13
,p_abs_information14 => p_abs_information14
,p_abs_information15 => p_abs_information15
,p_abs_information16 => p_abs_information16
,p_abs_information17 => p_abs_information17
,p_abs_information18 => p_abs_information18
,p_abs_information19 => p_abs_information19
,p_abs_information20 => p_abs_information20
,p_abs_information21 => p_abs_information21
,p_abs_information22 => p_abs_information22
,p_abs_information23 => p_abs_information23
,p_abs_information24 => p_abs_information24
,p_abs_information25 => p_abs_information25
,p_abs_information26 => p_abs_information26
,p_abs_information27 => p_abs_information27
,p_abs_information28 => p_abs_information28
,p_abs_information29 => p_abs_information29
,p_abs_information30 => p_abs_information30
,p_dur_dys_less_warning => l_dur_dys_less_warning
,p_dur_hrs_less_warning => l_dur_hrs_less_warning
,p_exceeds_pto_entit_warning => l_exceeds_pto_entit_warning
,p_exceeds_run_total_warning => l_exceeds_run_total_warning
,p_abs_overlap_warning => l_abs_overlap_warning
,p_abs_day_after_warning => l_abs_day_after_warning
,p_dur_overwritten_warning => l_dur_overwritten_warning
,p_del_element_entry_warning => l_del_element_entry_warning
);
(p_module_name => 'UPDATE_PERSON_ABSENCE'
,p_hook_type => 'AP'
);
rollback to update_person_absence;
rollback to update_person_absence;
end update_person_absence;
procedure delete_person_absence
(p_validate in boolean default false
,p_absence_attendance_id in number
,p_object_version_number in number
,p_called_from in number default 800
) is
CURSOR get_person_info IS
select person_id
from per_absence_attendances
where ABSENCE_ATTENDANCE_ID = p_absence_attendance_id ;
l_proc varchar2(72) := g_package||'delete_person_absence';
/*Fix for Bug # 13922178. Adjust the occurrence after the delete*/
cursor c_occurrence is
select business_group_id,
absence_attendance_type_id,person_id,occurrence
from per_absence_attendances
where absence_attendance_id = p_absence_attendance_id;
select nvl(date_start,DATE_PROJECTED_START) , nvl(date_end,DATE_PROJECTED_END)
from per_absence_attendances
where ABSENCE_ATTENDANCE_ID = p_absence_attendance_id ;
savepoint delete_person_absence;
p_scope => 'DELETE',
p_ret_value => l_retvalue );
hr_person_absence_bk3.delete_person_absence_b
(p_absence_attendance_id => p_absence_attendance_id
,p_object_version_number => p_object_version_number
);
(p_module_name => 'DELETE_PERSON_ABSENCE'
,p_hook_type => 'BP'
);
/*Fix for Bug # 13922178. Adjust the occurrence after the delete*/
open c_occurrence;
delete_absence_element
(p_dt_delete_mode => 'ZAP'
,p_session_date => l_effective_start_date
,p_element_entry_id => l_element_entry_id);
/*Fix for Bug # 13922178. Adjust the occurrence after the delete*/
hr_utility.set_location(l_proc, 52);
update per_absence_attendances set occurrence = occurrence - 1
where business_group_id = l_business_group_id
and absence_attendance_type_id = l_absence_attendance_type_id
and person_id = l_person_id
and occurrence > l_occurrence;
hr_person_absence_bk3.delete_person_absence_a
(p_absence_attendance_id => p_absence_attendance_id
,p_object_version_number => p_object_version_number
,p_person_id => l_person_id
);
(p_module_name => 'DELETE_PERSON_ABSENCE'
,p_hook_type => 'AP'
);
rollback to delete_person_absence;
rollback to delete_person_absence;
end delete_person_absence;
select asg.assignment_id
from per_all_assignments_f asg
where asg.person_id = p_person_id
and p_effective_date between
asg.effective_start_date and asg.effective_end_date
and asg.primary_flag = 'Y'
and asg.assignment_type <> 'B';
select abt.input_value_id
from per_absence_attendances aba,
per_absence_attendance_types abt
where aba.absence_attendance_id = p_absence_attendance_id
and aba.absence_attendance_type_id = abt.absence_attendance_type_id;
select distinct pee.element_entry_id
,pee.effective_start_date
,pee.effective_end_date
from per_absence_attendances abs
,per_all_assignments_f asg
,per_absence_attendance_types abt
,pay_input_values_f piv
,pay_element_types_f pet
,pay_element_links_f pel
,pay_element_entries_f pee
where abs.absence_attendance_id = p_absence_attendance_id
and abs.person_id = asg.person_id
and abs.absence_attendance_type_id = abt.absence_attendance_type_id
and abt.input_value_id is not null
and abt.input_value_id = piv.input_value_id
and piv.element_type_id = pet.element_type_id
and pet.element_type_id = pel.element_type_id
and pel.element_link_id = pee.element_link_id
and pee.assignment_id = asg.assignment_id
and pee.creator_id = abs.absence_attendance_id
and pee.creator_type = 'A';
select upper(pet.processing_type)
from per_absence_attendance_types abt,
pay_input_values_f piv,
pay_element_types_f pet
where abt.absence_attendance_type_id = p_absence_attendance_type_id
and abt.input_value_id = piv.input_value_id
and piv.element_type_id = pet.element_type_id;
select aba.absence_hours,
aba.absence_days,
abt.hours_or_days,
abt.increasing_or_decreasing_flag,
abt.input_value_id,
pet.element_type_id,
pet.processing_type
from per_absence_attendances aba,
per_absence_attendance_types abt,
pay_input_values_f piv,
pay_element_types_f pet
where aba.absence_attendance_id = p_absence_attendance_id
and aba.absence_attendance_type_id = abt.absence_attendance_type_id
and abt.input_value_id = piv.input_value_id
and piv.element_type_id = pet.element_type_id;
procedure insert_absence_element
(p_date_start in date
,p_assignment_id in number
,p_absence_attendance_id in number
,p_element_entry_id out nocopy number
) is
l_proc varchar2(72) := g_package||'insert_absence_element';
hr_utility.set_location('Inserting element', 30);
hr_entry_api.insert_element_entry
(p_effective_start_date => l_date_start
,p_effective_end_date => l_date_end
,p_element_entry_id => p_element_entry_id
,p_assignment_id => p_assignment_id
,p_element_link_id => l_element_link_id
,p_creator_type => 'A'
,p_entry_type => 'E'
,p_creator_id => p_absence_attendance_id
,p_input_value_id1 => l_input_value_id
,p_entry_value1 => l_entry_value);
end insert_absence_element;
procedure update_absence_element
(p_dt_update_mode in varchar2
,p_session_date in date
,p_element_entry_id in number
,p_absence_attendance_id in number
) is
l_proc varchar2(72) := g_package||'update_absence_element';
hr_entry_api.update_element_entry
(p_dt_update_mode => p_dt_update_mode
,p_session_date => p_session_date
,p_element_entry_id => p_element_entry_id
,p_creator_type => 'A'
,p_creator_id => p_absence_attendance_id
,p_input_value_id1 => l_input_value_id
,p_entry_value1 => l_entry_value);
end update_absence_element;
procedure delete_absence_element
(p_dt_delete_mode in varchar2
,p_session_date in date
,p_element_entry_id in number
) is
l_proc varchar2(72) := g_package||'delete_absence_element';
hr_entry_api.delete_element_entry
(p_dt_delete_mode => p_dt_delete_mode
,p_session_date => p_session_date
,p_element_entry_id => p_element_entry_id);
end delete_absence_element;
if p_scope IN ('CREATE','DELETE') THEN
IF l_error_level = 0 THEN
p_ret_value :='ALL';
hr_utility.set_location('otl hr Insert check - CREATE', 10);
if p_scope ='UPDATE' THEN
if g_debug then
hr_utility.set_location('otl hr Insert check - UPDATE', 10);
hr_utility.set_location('otl hr UPDATE check', 40);
hr_utility.set_location('otl hr UPDATE check', 50);
hr_utility.set_location('otl hr UPDATE check ', 60);
hr_utility.set_location('otl hr UPDATE check', 70);
select
hr_person_absence_swi.getStartDate(hat.transaction_id) ActualDateStart,
hr_person_absence_swi.getEndDate(hat.transaction_id) ActualDateEnd,
nvl(hr_xml_util.get_node_value(hat.transaction_id,'TimeStart','Transaction/TransCache/AM/TXN/EO/PerAbsenceAttendancesEORow',
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
hr_xml_util.get_node_value(hat.transaction_id,'TimeProjectedStart','Transaction/TransCache/AM/TXN/EO/PerAbsenceAttendancesEORow',
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL)),
nvl(hr_xml_util.get_node_value(hat.transaction_id,'TimeEnd','Transaction/TransCache/AM/TXN/EO/PerAbsenceAttendancesEORow',
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
hr_xml_util.get_node_value(hat.transaction_id,'TimeProjectedEnd','Transaction/TransCache/AM/TXN/EO/PerAbsenceAttendancesEORow',
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL)),
hat.TRANSACTION_ID,
hat.TRANSACTION_DOCUMENT,
-- hrtsteps.object_state, -- stores ovn
hr_xml_util.get_node_value(hat.transaction_id,'ObjectVersionNumber','Transaction/TransCache/AM/TXN/EO/PerAbsenceAttendancesEORow',
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
abt.absence_attendance_type_id,
hat.transaction_ref_id,
pet.ELEMENT_TYPE_ID,
abt.hours_or_days,
decode (hrtsteps.INFORMATION9,'CONFIRMED','Y','N') CONFIRMED_FLAG
from hr_api_transactions hat,
HR_API_TRANSACTION_STEPS hrtsteps,
per_absence_attendance_types abt,
pay_input_values_f piv,
pay_element_types_f pet
where
hat.SELECTED_PERSON_ID = p_person_id
--hat.creator_person_id = 125
and hat.TRANSACTION_REF_TABLE = 'PER_ABSENCE_ATTENDANCES'
and hrtsteps.TRANSACTION_ID= hat.TRANSACTION_ID
and hat.STATUS not in ('W','S','N','D','AC') -- bug9554066
AND hr_person_absence_swi.getstartdate(hat.transaction_id) is NOT NULL
AND hr_person_absence_swi.getenddate(hat.transaction_id) is NOT NULL
and (p_start_date <= hr_person_absence_swi.getEndDate(hat.transaction_id) and
p_end_date >= hr_person_absence_swi.getStartDate(hat.transaction_id) )
and hr_xml_util.get_node_value(hat.transaction_id,'AbsenceAction','Transaction/TransCtx/CNode',
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL)=p_mode
and p_start_date between piv.EFFECTIVE_START_DATE and piv.EFFECTIVE_END_DATE
and p_start_date between pet.EFFECTIVE_START_DATE and pet.EFFECTIVE_END_DATE
AND abt.absence_attendance_type_id= hrtsteps.Information5
and abt.input_value_id = piv.input_value_id (+)
and piv.element_type_id = pet.element_type_id(+) ;
select nvl(aba.date_start,aba.DATE_PROJECTED_START) datestart,
nvl(aba.date_end,aba.DATE_PROJECTED_end) dateend,
nvl(aba.TIME_START,aba.TIME_PROJECTED_START) timestart,
nvl(aba.TIME_END,aba.TIME_PROJECTED_END) timeend,
aba.ABSENCE_ATTENDANCE_TYPE_ID,
pet.ELEMENT_TYPE_ID,
aba.absence_attendance_id,
abt.hours_or_days,
aba.program_application_id,
nvl(aba.ABSENCE_DAYS,aba.ABSENCE_HOURS) DURATION,
decode (aba.date_start,'','N','Y') CONFIRMED_FLAG
from per_absence_attendances aba,
per_absence_attendance_types abt,
pay_input_values_f piv,
pay_element_types_f pet
where aba.person_id = p_person_id
AND abt.absence_attendance_type_id= aba.absence_attendance_type_id
and abt.input_value_id = piv.input_value_id (+)
and piv.element_type_id = pet.element_type_id(+)
and (p_start_date <= nvl(aba.date_end,aba.DATE_PROJECTED_end)
and p_end_date >= nvl(aba.date_start,aba.DATE_PROJECTED_START))
and aba.absence_attendance_id not in
( select hat.transaction_ref_id
from hr_api_transactions hat,
HR_API_TRANSACTION_STEPS hrtsteps
where
hat.SELECTED_PERSON_ID = p_person_id
--hat.creator_person_id = 125
and hat.TRANSACTION_REF_TABLE = 'PER_ABSENCE_ATTENDANCES'
and hrtsteps.TRANSACTION_ID= hat.TRANSACTION_ID
and hat.STATUS not in ('W','S','N','D','AC') -- BUG 9554066
AND hr_person_absence_swi.getstartdate(hat.transaction_id) is NOT NULL
AND hr_person_absence_swi.getenddate(hat.transaction_id) is NOT NULL
and (p_start_date <= hr_person_absence_swi.getEndDate(hat.transaction_id) and
p_end_date >= hr_person_absence_swi.getStartDate(hat.transaction_id) ));
absence_records(i).modetype:='DeleteMode';
select time_start , time_end into l_time_start , l_time_end
from per_absence_attendances
where person_id=p_person_id
and date_start = l_start_date
and date_end = l_end_date;
p_ssmode :='UpdateMode';
select nvl(date_start,DATE_PROJECTED_START) datestart,
nvl(date_end,DATE_PROJECTED_end) dateend,
nvl(TIME_START,TIME_PROJECTED_START) timestart,
nvl(TIME_END,TIME_PROJECTED_END) timeend,
ABSENCE_ATTENDANCE_TYPE_ID,
OBJECT_VERSION_NUMBER
INTO l_core_dstart ,l_core_dend, l_core_tstart, l_core_tend, l_core_abs_attendance_id , l_core_ovn
from per_absence_attendances
where ABSENCE_ATTENDANCE_ID = l_absence_attendance_id;
elsif l_core_ovn <= l_ss_ovn then -- " SSHR DATA is valid and insert into pl sql table. " --( bug fix 8881266 )
---------------
-- " SSHR DATA is valid and insert into pl sql table. "
---------------
if g_debug then
hr_utility.set_location('SS Tran data is valid- block2 ',280);
select nvl(TIME_START,TIME_PROJECTED_START)into l_time_start
from per_absence_attendances
where ABSENCE_ATTENDANCE_ID = l_absence_attendance_id;
select nvl(TIME_END,TIME_PROJECTED_END) into l_time_end
from per_absence_attendances
where ABSENCE_ATTENDANCE_ID = l_absence_attendance_id;
absence_records(i).modetype:='UPdateMode';
absence_records(i).modetype:='UpdateMode';
absence_records(i).modetype:='UpdateMode';
absence_records(i).modetype:='UpdateMode';
absence_records(i).modetype:='UpdateMode';
absence_records(i).modetype:='UpdateMode';
absence_records(i).modetype:='UpdateMode';
end if; -- for Delete mode check