The following lines contain the word 'select', 'insert', 'update' or 'delete':
select peevf.screen_entry_value
from pay_element_entries_f peef,
pay_element_entry_values_f peevf
where peef.assignment_id = p_assignment_id and
peef.target_entry_id = p_target_entry_id and
peef.effective_start_date < p_advance_pay_start_date and
peef.element_entry_id = peevf.element_entry_id and
peef.effective_start_date = peevf.effective_start_date and
peef.effective_end_date = peevf.effective_end_date;
select fue.creator_id
from ff_user_entities fue,
ff_database_items fdi,
pay_legislation_rules plr
where
plr.rule_type = p_balance_lookup_name and
plr.legislation_code = p_legislation_code and
plr.rule_mode = fdi.user_name and
fdi.user_entity_id = fue.user_entity_id and
fue.creator_type = 'B' and
((fue.business_group_id is null and
fue.legislation_code = plr.legislation_code) or
(fue.business_group_id is not null and
exists (select null
from per_all_assignments_f asg
where asg.assignment_id = p_assignment_id
and fue.business_group_id = asg.business_group_id)));
select 'Y'
from pay_element_entries_f peef,
pay_element_entry_values_f peevf
where peef.assignment_id = p_assignment_id and
peef.target_entry_id = p_target_entry_id and
peef.effective_start_date < p_advance_pay_start_date and
peef.element_entry_id = peevf.element_entry_id and
peef.effective_start_date = peevf.effective_start_date and
peef.effective_end_date = peevf.effective_end_date;
select count(ptp.time_period_id)
from per_time_periods ptp,
per_assignments_f paf
where paf.assignment_id = p_assignment_id and
p_advance_pay_start_date between paf.effective_start_date
and paf.effective_end_date and
ptp.payroll_id = paf.payroll_id and
ptp.start_date >= p_advance_pay_start_date and
ptp.end_date <= p_advance_pay_end_date;
select ptp.end_date
from
per_time_periods ptp,
pay_payrolls_f ppf,
per_assignments_f paf
where
paf.assignment_id = p_assignment_id and
p_session_date between paf.effective_start_date
and paf.effective_end_date and
ppf.payroll_id = paf.payroll_id and
p_session_date between ppf.effective_start_date
and ppf.effective_end_date and
ptp.payroll_id = ppf.payroll_id and
ptp.start_date <= p_session_date and
ptp.end_date >= p_session_date;
select ptp.start_date
from
per_time_periods ptp,
pay_payrolls_f ppf,
per_assignments_f paf
where
paf.assignment_id = p_assignment_id and
p_session_date between paf.effective_start_date
and paf.effective_end_date and
ppf.payroll_id = paf.payroll_id and
p_session_date between ppf.effective_start_date
and ppf.effective_end_date and
ptp.payroll_id = ppf.payroll_id and
ptp.start_date <= p_session_date and
ptp.end_date >= p_session_date;
select aptp.start_date
from
per_time_periods ptp,
pay_payrolls_f ppf,
per_assignments_f paf,
per_time_periods aptp
where
paf.assignment_id = p_assignment_id and
p_session_date between paf.effective_start_date
and paf.effective_end_date and
ppf.payroll_id = paf.payroll_id and
p_session_date between ppf.effective_start_date
and ppf.effective_end_date and
ptp.payroll_id = ppf.payroll_id and
ptp.start_date <= p_session_date and
ptp.end_date >= p_session_date and
aptp.payroll_id = ppf.payroll_id and
ptp.start_date <= aptp.regular_payment_date and
ptp.end_date >= aptp.regular_payment_date;
select aptp.start_date
from
per_time_periods ptp,
pay_payrolls_f ppf,
per_assignments_f paf,
per_time_periods aptp
where
paf.assignment_id = p_assignment_id and
p_session_date between paf.effective_start_date
and paf.effective_end_date and
ppf.payroll_id = paf.payroll_id and
p_session_date between ppf.effective_start_date
and ppf.effective_end_date and
ptp.payroll_id = ppf.payroll_id and
ptp.start_date <= p_session_date and
ptp.end_date >= p_session_date and
aptp.payroll_id = ppf.payroll_id and
aptp.start_date <= ptp.regular_payment_date and
aptp.end_date >= ptp.regular_payment_date;
select aptp.end_date
from
per_time_periods ptp,
pay_payrolls_f ppf,
per_assignments_f paf,
per_time_periods aptp
where
paf.assignment_id = p_assignment_id and
p_session_date between paf.effective_start_date
and paf.effective_end_date and
ppf.payroll_id = paf.payroll_id and
p_session_date between ppf.effective_start_date
and ppf.effective_end_date and
ptp.payroll_id = ppf.payroll_id and
ptp.start_date <= p_session_date and
ptp.end_date >= p_session_date and
aptp.payroll_id = ppf.payroll_id and
ptp.start_date <= aptp.regular_payment_date and
ptp.end_date >= aptp.regular_payment_date;
select aptp.end_date
from
per_time_periods ptp,
pay_payrolls_f ppf,
per_assignments_f paf,
per_time_periods aptp
where
paf.assignment_id = p_assignment_id and
p_session_date between paf.effective_start_date
and paf.effective_end_date and
ppf.payroll_id = paf.payroll_id and
p_session_date between ppf.effective_start_date
and ppf.effective_end_date and
ptp.payroll_id = ppf.payroll_id and
ptp.start_date <= p_session_date and
ptp.end_date >= p_session_date and
aptp.payroll_id = ppf.payroll_id and
aptp.start_date <= ptp.regular_payment_date and
aptp.end_date >= ptp.regular_payment_date;
procedure insert_indicator_entries
(
p_defer_flag in varchar2,
p_assignment_id in number,
p_session_date in out nocopy date,
p_pai_element_entry_id in out nocopy number,
p_pai_element_type_id in number,
p_pai_sd_input_value_id in number,
p_pai_ed_input_value_id in number,
p_pai_start_date in date,
p_pai_end_date in date,
p_advance_pay_start_date in date,
p_advance_pay_end_date in date,
p_arrears_flag in varchar2,
p_periods_advanced in number,
p_ai_element_type_id in number,
p_ai_af_input_value_id in number,
p_ai_dpf_input_value_id in number
)
is
--
-- Inserts entry for Pay Advance Indicator and corresponding entries
-- for Advance Indicator.
--
l_element_entry_start_date date;
hr_utility.set_location('pay_advance_pay_pkg.insert_indicator_entries', 5);
hr_utility.set_location('pay_advance_pay_pkg.insert_indicator_entries', 60);
hr_entry_api.insert_element_entry
(
p_effective_start_date => l_element_entry_start_date,
p_effective_end_date => l_element_entry_end_date,
p_element_entry_id => l_pai_element_entry_id,
p_assignment_id => p_assignment_id,
p_element_link_id => hr_entry_api.get_link
(
p_assignment_id,
p_pai_element_type_id,
l_session_date
),
p_creator_type => 'DF',
p_entry_type => 'E',
p_input_value_id1 => p_pai_sd_input_value_id,
p_input_value_id2 => p_pai_ed_input_value_id,
p_entry_value1 => fnd_date.date_to_displaydate(p_pai_start_date),
p_entry_value2 => fnd_date.date_to_displaydate(p_pai_end_date)
);
hr_utility.set_location('pay_advance_pay_pkg.insert_indicator_entries', 70);
hr_entry_api.insert_element_entry
(
p_effective_start_date => l_element_entry_start_date,
p_effective_end_date => l_element_entry_end_date,
p_element_entry_id => l_ai_element_entry_id,
p_assignment_id => p_assignment_id,
p_element_link_id => hr_entry_api.get_link
(
p_assignment_id,
p_ai_element_type_id,
l_element_entry_start_date
),
p_creator_type => 'DF',
p_entry_type => 'E',
p_input_value_id1 => p_ai_af_input_value_id,
p_input_value_id2 => p_ai_dpf_input_value_id,
p_entry_value1 => hr_general.decode_lookup
('YES_NO',l_advance_pay),
p_entry_value2 => hr_general.decode_lookup
('YES_NO',l_defer_pay)
);
hr_utility.set_location('pay_advance_pay_pkg.insert_indicator_entries', 80);
end insert_indicator_entries;
procedure delete_indicator_entries
(
p_assignment_id in number,
p_legislation_code in varchar2,
p_session_date in date,
p_pai_element_entry_id in number,
p_arrears_flag in varchar2
)
is
--
-- Deletes entry for Pay Advance Indicator and corresponding
-- entries for Advance Indicator.
l_ai_element_entry_id number;
select
-- min of two input values - advance pay period start date
min(fnd_date.canonical_to_date(peevf.screen_entry_value)),
-- max of two input values - advance pay period end date
max(fnd_date.canonical_to_date(peevf.screen_entry_value))
from pay_element_entry_values_f peevf
where peevf.element_entry_id = p_pai_element_entry_id;
select peef.element_entry_id, peef.effective_start_date
from
pay_legislation_rules plr,
pay_element_types_f petf,
pay_element_links_f pelf,
pay_element_entries_f peef
where
-- entry belongs to this assignment
peef.assignment_id = p_assignment_id and
-- entry is of Advance Indicator type
peef.element_link_id = pelf.element_link_id and
pelf.element_type_id = petf.element_type_id and
petf.element_type_id = plr.rule_mode and
plr.legislation_code = p_legislation_code and
plr.rule_type = 'ADVANCE_INDICATOR' and
-- entry exists within advance period for the assignment
peef.effective_start_date between l_indicators_start_date
and l_indicators_end_date;
hr_utility.set_location('pay_advance_pay_pkg.delete_indicator_entries' , 5);
hr_entry_api.delete_element_entry
(
p_dt_delete_mode => 'ZAP',
p_session_date => p_session_date,
p_element_entry_id => p_pai_element_entry_id
);
hr_utility.set_location('pay_advance_pay_pkg.delete_indicator_entries' , 10);
hr_entry_api.delete_element_entry
(
p_dt_delete_mode =>'ZAP',
p_session_date =>l_effective_start_date,
p_element_entry_id =>l_ai_element_entry_id
);
hr_utility.set_location('pay_advance_pay_pkg.delete_indicator_entries' , 80);
end delete_indicator_entries;