DBA Data[Home] [Help]

PACKAGE BODY: APPS.CA_GROSSUP_UPD

Source


1 PACKAGE BODY ca_grossup_upd as
2 /* $Header: pycantgu.pkb 115.0 2001/03/23 14:48:09 pkm ship        $ */
3 
4 PROCEDURE setup_grossup_bal(p_baltype_id number, p_baldim_id number)
5 IS
6 
7    l_defbal_id number;
8 
9 BEGIN
10 --
11    BEGIN
12       select defined_balance_id
13         into l_defbal_id
14         from pay_defined_balances
15        where balance_type_id = p_baltype_id
16          and balance_dimension_id = p_baldim_id
17          and legislation_code = 'CA';
18 --
19       update pay_defined_balances
20          set grossup_allowed_flag = 'Y'
21        where defined_balance_id = l_defbal_id;
22 
23       hr_utility.trace('Updated defined balance id : '||l_defbal_id);
24 --
25    EXCEPTION
26       when no_data_found then
27 --
28          insert into pay_defined_balances
29                        (defined_balance_id,
30                         balance_type_id,
31                         balance_dimension_id,
32                         legislation_code,
33                         force_latest_balance_flag,
34                         grossup_allowed_flag
35                        )
36           values (pay_defined_balances_s.nextval,
37                   p_baltype_id,
38                   p_baldim_id,
39                   'CA',
40                   'N',
41                   'Y');
42      hr_utility.trace('Inserted balance_type_id : '||p_baltype_id);
43      hr_utility.trace('Inserted balance_dim_id : '||p_baldim_id);
44 
45    END;
46 --
47 END setup_grossup_bal;
48 
49 
50 PROCEDURE delete_late_bal(p_start_latest_bal_id number,
51                           p_end_latest_bal_id number,
52                           p_dim_id number)
53 IS
54 
55  CURSOR get_latest_bal IS
56    SELECT latest_balance_id
57      FROM pay_assignment_latest_balances alb,
58           pay_defined_balances pdb
59     WHERE alb.latest_balance_id BETWEEN p_start_latest_bal_id
60                                     AND p_end_latest_bal_id
61       AND alb.defined_balance_id = pdb.defined_balance_id
62       AND pdb.balance_dimension_id = p_dim_id;
63 
64  l_count NUMBER := 0;
65 
66 BEGIN
67 
68  FOR latebal_rec in get_latest_bal LOOP
69 
70     l_count := l_count + 1;
71 
72    delete from pay_balance_context_values
73     where latest_balance_id = latebal_rec.latest_balance_id;
74 
75    --hr_utility.trace('Deleted context value '||latebal_rec.latest_balance_id);
76 
77 --
78    delete from pay_assignment_latest_balances
79     where latest_balance_id = latebal_rec.latest_balance_id;
80 
81    --hr_utility.trace('Deleted asg late bal '||latebal_rec.latest_balance_id);
82 
83    if l_count = 100 then
84      l_count := 0;
85      commit;
86    end if;
87 
88 
89  END LOOP;
90 
91 END delete_late_bal;
92 
93 END ca_grossup_upd;