[Home] [Help]
The following lines contain the word 'select', 'insert', 'update' or 'delete':
Procedure update_dml
(p_rec in out nocopy pay_rcu_shd.g_rec_type
) is
--
l_proc varchar2(72) := g_package||'update_dml';
update pay_retro_component_usages
set
retro_component_usage_id = p_rec.retro_component_usage_id
,retro_component_id = p_rec.retro_component_id
,creator_id = p_rec.creator_id
,creator_type = p_rec.creator_type
,default_component = p_rec.default_component
,reprocess_type = p_rec.reprocess_type
,object_version_number = p_rec.object_version_number
,replace_run_flag = p_rec.replace_run_flag
,use_override_dates = p_rec.use_override_dates
where retro_component_usage_id = p_rec.retro_component_usage_id;
End update_dml;
Procedure pre_update
(p_rec in pay_rcu_shd.g_rec_type
) is
--
l_proc varchar2(72) := g_package||'pre_update';
End pre_update;
Procedure post_update
(p_effective_date in date
,p_rec in pay_rcu_shd.g_rec_type
) is
--
l_proc varchar2(72) := g_package||'post_update';
pay_rcu_rku.after_update
(p_effective_date => p_effective_date
,p_retro_component_usage_id
=> p_rec.retro_component_usage_id
,p_business_group_id
=> p_rec.business_group_id
,p_legislation_code
=> p_rec.legislation_code
,p_retro_component_id
=> p_rec.retro_component_id
,p_creator_id
=> p_rec.creator_id
,p_creator_type
=> p_rec.creator_type
,p_default_component
=> p_rec.default_component
,p_reprocess_type
=> p_rec.reprocess_type
,p_object_version_number
=> p_rec.object_version_number
,p_replace_run_flag
=> p_rec.replace_run_flag
,p_use_override_dates
=> p_rec.use_override_dates
,p_business_group_id_o
=> pay_rcu_shd.g_old_rec.business_group_id
,p_legislation_code_o
=> pay_rcu_shd.g_old_rec.legislation_code
,p_retro_component_id_o
=> pay_rcu_shd.g_old_rec.retro_component_id
,p_creator_id_o
=> pay_rcu_shd.g_old_rec.creator_id
,p_creator_type_o
=> pay_rcu_shd.g_old_rec.creator_type
,p_default_component_o
=> pay_rcu_shd.g_old_rec.default_component
,p_reprocess_type_o
=> pay_rcu_shd.g_old_rec.reprocess_type
,p_object_version_number_o
=> pay_rcu_shd.g_old_rec.object_version_number
,p_replace_run_flag_o
=> pay_rcu_shd.g_old_rec.replace_run_flag
,p_use_override_dates_o
=> pay_rcu_shd.g_old_rec.use_override_dates
);
If True then we need to update corresponding entry in PEPD, with respective retro_component_id
If there are more than one retro-components for an element type, we use the
defualt retro_component_id
*/
begin
select distinct(source_element_type_id) into p_element_type_id from pay_entry_process_details pepd
where pepd.RETRO_COMPONENT_ID is null and source_element_type_id = p_rec.creator_id;
select RETRO_COMPONENT_ID into l_retro_component_id from pay_retro_component_usages where
creator_id = p_rec.creator_id and default_component = 'Y' and
(( business_group_id = p_rec.business_group_id and
legislation_code is null )
or
(legislation_code = p_rec.legislation_code and business_group_id is null )
or
(legislation_code is null and business_group_id is null )
);
-- If there is no default component, we don't update the retro_component_id in PEPD
update pay_entry_process_details set RETRO_COMPONENT_ID = l_retro_component_id
where RETRO_COMPONENT_ID is null and source_element_type_id = p_rec.creator_id;
update pay_entry_process_details set RETRO_COMPONENT_ID = p_rec.retro_component_id
where RETRO_COMPONENT_ID is null and source_element_type_id = p_rec.creator_id;
when NO_DATA_FOUND then -- no data to update in PEPD
null;
End post_update;
pay_rcu_bus.update_validate
(p_effective_date
,p_rec
);
pay_rcu_upd.pre_update(p_rec);
pay_rcu_upd.update_dml(p_rec);
pay_rcu_upd.post_update
(p_effective_date
,p_rec
);