DBA Data[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;