The following lines contain the word 'select', 'insert', 'update' or 'delete':
select pbg.security_group_id
from per_business_groups pbg
, pay_element_type_usages_f etu
where etu.element_type_usage_id = p_element_type_usage_id
and pbg.business_group_id = etu.business_group_id;
select pbg.legislation_code
from per_business_groups pbg
, pay_element_type_usages_f etu
where etu.element_type_usage_id = p_element_type_usage_id
and pbg.business_group_id (+) = etu.business_group_id;
Procedure chk_non_updateable_args
(p_effective_date in date
,p_rec in pay_etu_shd.g_rec_type
) IS
--
l_proc varchar2(72) := g_package || 'chk_non_updateable_args';
End chk_non_updateable_args;
select 'Y'
from pay_run_types_f prt
where prt.run_type_id = p_run_type_id
and p_effective_date between prt.effective_start_date
and prt.effective_end_date
and ((prt.business_group_id is not null
and prt.business_group_id = p_business_group_id)
or (prt.legislation_code is not null
and prt.legislation_code = p_leg_code)
or (prt.business_group_id is null
and prt.legislation_code is null));
select 'Y'
from pay_run_types_f prt
where prt.run_type_id = p_run_type_id
and p_effective_date between prt.effective_start_date
and prt.effective_end_date
and prt.business_group_id is null
and ((p_legislation_code is not null
and prt.legislation_code = p_legislation_code)
or (prt.legislation_code is null));
select 'Y'
from pay_run_types_f prt
where prt.run_type_id = p_run_type_id
and p_effective_date between prt.effective_start_date
and prt.effective_end_date
and prt.business_group_id is null
and prt.legislation_code is null;
select 'Y'
from pay_element_types_f pet,
pay_run_types_f rty
where pet.element_type_id = p_element_type_id
and p_effective_date between pet.effective_start_date
and pet.effective_end_date
and ((pet.business_group_id is not null
and pet.business_group_id = p_business_group_id)
or (pet.legislation_code is not null
and pet.legislation_code = p_leg_code)
or (pet.business_group_id is null
and pet.legislation_code is null))
-- This condition is to check the element if any classification usage(s) is/are defined for the given
-- runtype then we need to allow only the elements which belongs to the classification(s).
and ((exists (select 'Y' from pay_element_class_usages_f ecu
where rty.run_type_id = ecu.run_type_id
and ecu.classification_id = pet.classification_id
and p_effective_date between ecu.effective_start_date and ecu.effective_end_date
and nvl(ecu.legislation_code,nvl(p_leg_code, ' ')) = nvl(p_leg_code, ' ')
and nvl(ecu.business_group_id, nvl(p_business_group_id, -1)) = nvl(p_business_group_id,-1)))
or ( not exists (select 'Y' from pay_element_class_usages_f ecu
where rty.run_type_id = ecu.run_type_id
and p_effective_date between ecu.effective_start_date and ecu.effective_end_date
and nvl(ecu.legislation_code,nvl(p_leg_code, ' ')) = nvl(p_leg_code, ' ')
and nvl(ecu.business_group_id, nvl(p_business_group_id, -1)) = nvl(p_business_group_id,-1)))
);
select 'Y'
from pay_element_types_f pet,
pay_run_types_f rty
where pet.element_type_id = p_element_type_id
and p_effective_date between pet.effective_start_date
and pet.effective_end_date
and pet.business_group_id is null
and ((p_legislation_code is not null
and pet.legislation_code = p_legislation_code)
or (pet.legislation_code is null))
-- This condition is to check the element, if any classification usage(s) is/are defined for the given
-- runtype then we need to allow only the elements which belongs to the classification(s).
and ((exists (select 'Y' from pay_element_class_usages_f ecu
where rty.run_type_id = ecu.run_type_id
and ecu.classification_id = pet.classification_id
and p_effective_date between ecu.effective_start_date and ecu.effective_end_date
and nvl(ecu.legislation_code,nvl(p_legislation_code, ' ')) = nvl(p_legislation_code, ' ')
and nvl(ecu.business_group_id, nvl(p_business_group_id, -1)) = nvl(p_business_group_id,-1)))
or ( not exists (select 'Y' from pay_element_class_usages_f ecu
where rty.run_type_id = ecu.run_type_id
and p_effective_date between ecu.effective_start_date and ecu.effective_end_date
and nvl(ecu.legislation_code,nvl(p_legislation_code, ' ')) = nvl(p_legislation_code, ' ')
and nvl(ecu.business_group_id, nvl(p_business_group_id, -1)) = nvl(p_business_group_id,-1)))
);
select 'Y'
from pay_element_types_f pet,
pay_run_types_f rty
where pet.element_type_id = p_element_type_id
and p_effective_date between pet.effective_start_date
and pet.effective_end_date
and pet.business_group_id is null
and pet.legislation_code is null
-- This condition is to check the element, if any classification usage(s) is/are defined for the given
-- runtype then we need to allow only the elements which belongs to the classification(s).
and ((exists (select 'Y' from pay_element_class_usages_f ecu
where rty.run_type_id = ecu.run_type_id
and ecu.classification_id = pet.classification_id
and p_effective_date between ecu.effective_start_date and ecu.effective_end_date
and nvl(ecu.legislation_code,nvl(p_legislation_code, ' ')) = nvl(p_legislation_code, ' ')
and nvl(ecu.business_group_id, nvl(p_business_group_id, -1)) = nvl(p_business_group_id,-1)))
or ( not exists (select 'Y' from pay_element_class_usages_f ecu
where rty.run_type_id = ecu.run_type_id
and p_effective_date between ecu.effective_start_date and ecu.effective_end_date
and nvl(ecu.legislation_code,nvl(p_legislation_code, ' ')) = nvl(p_legislation_code, ' ')
and nvl(ecu.business_group_id, nvl(p_business_group_id, -1)) = nvl(p_business_group_id,-1)))
);
Procedure dt_update_validate
(p_element_type_id in number default hr_api.g_number
,p_run_type_id in number default hr_api.g_number
,p_datetrack_mode in varchar2
,p_validation_start_date in date
,p_validation_end_date in date
) Is
--
l_proc varchar2(72) := g_package||'dt_update_validate';
End dt_update_validate;
Procedure dt_delete_validate
(p_element_type_usage_id in number
,p_datetrack_mode in varchar2
,p_validation_start_date in date
,p_validation_end_date in date
) Is
--
l_proc varchar2(72) := g_package||'dt_delete_validate';
If (p_datetrack_mode = hr_api.g_delete or
p_datetrack_mode = hr_api.g_zap) then
--
--
-- Ensure the arguments are not null
--
hr_api.mandatory_arg_error
(p_api_name => l_proc
,p_argument => 'validation_start_date'
,p_argument_value => p_validation_start_date
);
End dt_delete_validate;
(p_insert IN boolean
,p_business_group_id IN number
,p_legislation_code IN varchar2
,p_legislation_subgroup IN varchar2 DEFAULT NULL) IS
--
BEGIN
--
-- Call the supporting procedure to check startup mode
--
IF (p_insert) THEN
--
-- Call procedure to check startup_action for inserts.
--
hr_startup_data_api_support.chk_startup_action
(p_generic_allowed => TRUE
,p_startup_allowed => TRUE
,p_user_allowed => TRUE
,p_business_group_id => p_business_group_id
,p_legislation_code => p_legislation_code
,p_legislation_subgroup => p_legislation_subgroup
);
Procedure insert_validate
(p_rec in pay_etu_shd.g_rec_type
,p_effective_date in date
,p_datetrack_mode in varchar2
,p_validation_start_date in date
,p_validation_end_date in date
) is
--
l_proc varchar2(72) := g_package||'insert_validate';
End insert_validate;
Procedure update_validate
(p_rec in pay_etu_shd.g_rec_type
,p_effective_date in date
,p_datetrack_mode in varchar2
,p_validation_start_date in date
,p_validation_end_date in date
) is
--
l_proc varchar2(72) := g_package||'update_validate';
dt_update_validate
(p_element_type_id => p_rec.element_type_id
,p_run_type_id => p_rec.run_type_id
,p_datetrack_mode => p_datetrack_mode
,p_validation_start_date => p_validation_start_date
,p_validation_end_date => p_validation_end_date
);
chk_non_updateable_args
(p_effective_date => p_effective_date
,p_rec => p_rec
);
End update_validate;
Procedure delete_validate
(p_rec in pay_etu_shd.g_rec_type
,p_effective_date in date
,p_datetrack_mode in varchar2
,p_validation_start_date in date
,p_validation_end_date in date
) is
--
l_proc varchar2(72) := g_package||'delete_validate';
dt_delete_validate
(p_datetrack_mode => p_datetrack_mode
,p_validation_start_date => p_validation_start_date
,p_validation_end_date => p_validation_end_date
,p_element_type_usage_id => p_rec.element_type_usage_id
);
End delete_validate;