[Home] [Help]
PACKAGE BODY: APPS.BEN_UPDATE_PRTT_RT_VAL
Source
1 package body ben_update_prtt_rt_val as
2 /* $Header: benupprv.pkb 115.1 2003/02/12 12:08:46 rpgupta noship $ */
3 procedure update_element_entry_value(p_element_type_id IN NUMBER,
4 p_element_entry_id in number,
5 p_creator_id in Number,
6 p_effective_date in date) is
7 --
8 --
9 cursor c_prv is
10 select prv.prtt_rt_val_id,
11 prv.business_group_id,
12 prv.rt_strt_dt,
13 prv.object_version_number,
14 abr.input_value_id
15 from ben_prtt_rt_val prv,
16 ben_acty_base_rt_f abr
17 where prv.prtt_enrt_rslt_id = p_creator_id
18 and prv.rt_end_dt = to_date('31-12-4712','dd-mm-yyyy')
19 and prv.acty_base_rt_id = abr.acty_base_rt_id
20 and abr.element_type_id = p_element_type_id
21 and p_effective_date between abr.effective_start_date
22 and abr.effective_end_date;
23 --
24 cursor get_entry_value
25 (p_element_entry_id IN NUMBER
26 ,p_input_value_id IN NUMBER
27 ,p_effective_date IN DATE
28 )
29 is
30 select element_entry_value_id
31 from pay_element_entry_values_f
32 where element_entry_id = p_element_entry_id
33 and input_value_id = p_input_value_id
34 and p_effective_date between effective_start_date
35 and effective_end_date;
36 --
37 l_element_entry_value_id number;
38 l_prv c_prv%rowtype;
39
40 begin
41 open c_prv;
42 loop
43 fetch c_prv into l_prv;
44 if c_prv%NOTFOUND then
45 exit;
46 end if;
47 --
48 l_element_entry_value_id := null;
49 open get_entry_value (p_element_entry_id=>p_element_entry_id,
50 p_input_value_id => l_prv.input_value_id,
51 p_effective_date => p_effective_date);
52 fetch get_entry_value into l_element_entry_value_id;
53 close get_entry_value;
54 if l_element_entry_value_id is not null then
55 ben_prtt_rt_val_api.update_prtt_rt_val
56 (p_validate => false
57 ,p_prtt_rt_val_id => l_prv.prtt_rt_val_id
58 ,p_business_group_id => l_prv.business_group_id
59 ,p_element_entry_value_id => l_element_entry_value_id
60 ,p_object_version_number => l_prv.object_version_number
61 ,p_effective_date => l_prv.rt_strt_dt
62 );
63
64 end if;
65 --
66 End loop;
67 close c_prv;
68 end update_element_entry_value;
69 end ben_update_prtt_rt_val;