[Home] [Help]
PACKAGE BODY: APPS.PAY_TAXABILITY_RULES_API
Source
1 Package body pay_taxability_rules_api as
2 /* $Header: paytxabltyrulapi.pkb 120.0 2005/05/29 11:51 appldev noship $ */
3
4 -- Package Variables
5 g_package VARCHAR2(33) := ' create_taxability_rules_api.';
6 --
7
8 FUNCTION check_taxability_rule_exists
9 (p_jurisdiction IN VARCHAR2
10 ,p_legislation_code IN VARCHAR2
11 ,p_classification_id IN NUMBER default null
12 ,p_tax_category IN VARCHAR2 default null
13 ,p_tax_type IN VARCHAR2 default null
14 ,p_secondary_classification_id IN NUMBER default null
15 )
16 RETURN VARCHAR2
17 IS
18
19 cursor c_check_taxability_rule(cp_jurisdiction in varchar2
20 ,cp_legislation_code in varchar2
21 ,cp_tax_type in varchar2
22 ,cp_category in varchar2
23 ,cp_classification_id in number
24 ,cp_secondary_classification_id in number) is
25 select nvl(status, 'V'),last_updated_by
26 from pay_taxability_rules
27 where jurisdiction_code = cp_jurisdiction
28 and nvl(tax_type,'X') = nvl(cp_tax_type,'X')
29 and nvl(tax_category,'X') = nvl(cp_category,'X')
30 and nvl(classification_id,0) = nvl(cp_classification_id,0)
31 and nvl(secondary_classification_id,0) =
32 nvl(cp_secondary_classification_id,0)
33 and legislation_code = cp_legislation_code;
34
35 lv_status VARCHAR2(1);
36 lv_last_updated_by NUMBER(15);
37 lv_seed_last_updated_by NUMBER(15);
38
39 BEGIN
40
41 hr_utility.trace('In check_taxability_rule_exists');
42 open c_check_taxability_rule
43 (p_jurisdiction
44 ,p_legislation_code
45 ,p_tax_type
46 ,p_tax_category
47 ,p_classification_id
48 ,p_secondary_classification_id);
49 fetch c_check_taxability_rule into lv_status,lv_last_updated_by;
50 if c_check_taxability_rule%notfound then
51 lv_status := 'N';
52 end if;
53 close c_check_taxability_rule;
54
55 lv_seed_last_updated_by:= fnd_load_util.owner_id('ORACLE');
56 hr_utility.trace('lv_seed_last_updated_by = '||to_char(lv_seed_last_updated_by));
57 hr_utility.trace('lv_last_updated_by = '||to_char(lv_last_updated_by));
58
59 /* Check if its a seeded row. If so, set the return status to 'S' seed. */
60
61 if lv_last_updated_by = lv_seed_last_updated_by Then
62
63 lv_status := 'S';
64
65 end if;
66
67 hr_utility.trace('lv_status = '||lv_status);
68
69 return (lv_status);
70
71 END check_taxability_rule_exists;
72
73
74
75
76 PROCEDURE create_taxability_rules
77 (p_validate IN BOOLEAN
78 ,p_jurisdiction IN VARCHAR2
79 ,p_tax_type IN VARCHAR2 default null
80 ,p_tax_category IN VARCHAR2 default null
81 ,p_classification_id IN NUMBER default null
82 ,p_taxability_rules_date_id IN NUMBER
83 ,p_legislation_code IN VARCHAR2
84 ,p_status IN VARCHAR2
85 ,p_secondary_classification_id IN NUMBER default null)
86 IS
87
88 l_proc VARCHAR2(72) := g_package||'create_taxability_rules';
89 BEGIN
90
91 hr_utility.trace('In paytxabltyrulapi package');
92
93 hr_utility.set_location('Entering:'|| l_proc, 10);
94 --
95 -- Issue a savepoint
96 --
97 savepoint create_taxability_rules;
98
99 hr_utility.trace('Before calling pay_txr_ins.ins');
100
101 pay_txr_ins.ins(p_effective_date => sysdate
102 ,p_legislation_code => p_legislation_code
103 ,p_jurisdiction_code => p_jurisdiction
104 ,p_tax_type => p_tax_type
105 ,p_tax_category => p_tax_category
106 ,p_classification_id => p_classification_id
107 ,p_taxability_rules_date_id => p_taxability_rules_date_id
108 ,p_status => p_status
109 ,p_secondary_classification_id => p_secondary_classification_id
110 );
111
112 hr_utility.trace('After calling pay_txr_ins.ins');
113
114 IF p_validate THEN
115 hr_utility.set_location('Entering:'|| l_proc, 30);
116 RAISE hr_api.validate_enabled;
117 END IF;
118
119 EXCEPTION
120
121 WHEN hr_api.validate_enabled THEN
122 ROLLBACK TO create_taxability_rules;
123 hr_utility.set_location(' Leaving:'||l_proc, 80);
124
125 WHEN OTHERS THEN
126 ROLLBACK TO create_taxability_rules;
127 hr_utility.set_location(' Leaving:'||l_proc, 80);
128 RAISE;
129
130 hr_utility.trace('End create_taxability_rules');
131
132 END create_taxability_rules;
133
134
135 PROCEDURE update_taxability_rules
136 (p_validate IN BOOLEAN
137 ,p_jurisdiction IN VARCHAR2
138 ,p_tax_type IN VARCHAR2 default null
139 ,p_tax_category IN VARCHAR2 default null
140 ,p_classification_id IN NUMBER default null
141 ,p_taxability_rules_date_id IN NUMBER
142 ,p_legislation_code IN VARCHAR2
143 ,p_status IN VARCHAR2
144 ,p_secondary_classification_id IN NUMBER default null)
145 IS
146
147 l_proc VARCHAR2(72) := g_package||'update_taxability_rules';
148
149 BEGIN
150
151 hr_utility.set_location('Entering:'|| l_proc, 10);
152 --
153 -- Issue a savepoint.
154 --
155 savepoint update_taxability_rules;
156 --
157 --
158 pay_txr_upd.upd(p_effective_date => sysdate
159 ,p_legislation_code => p_legislation_code
160 ,p_jurisdiction_code => p_jurisdiction
161 ,p_tax_type => p_tax_type
162 ,p_tax_category => p_tax_category
163 ,p_classification_id => p_classification_id
164 ,p_taxability_rules_date_id => p_taxability_rules_date_id
165 ,p_status => p_status
166 ,p_secondary_classification_id => p_secondary_classification_id);
167
168
169 hr_utility.set_location('Entering:'|| l_proc, 20);
170
171 IF p_validate THEN
172 hr_utility.set_location('Entering:'|| l_proc, 30);
173 RAISE hr_api.validate_enabled;
174 END IF;
175
176 EXCEPTION
177
178 WHEN hr_api.validate_enabled THEN
179 ROLLBACK TO update_taxability_rules;
180 hr_utility.set_location(' Leaving:'||l_proc, 80);
181
182 WHEN OTHERS THEN
183 ROLLBACK TO update_taxability_rules;
184 hr_utility.set_location(' Leaving:'||l_proc, 80);
185 RAISE;
186
187 end update_taxability_rules;
188
189
190
191 /***********************************************************
192 ** We will never be deleting the data in pay_taxability_rules
193 ** table. We will be updating the status to 'D' if the value
194 ** already exists.
195 **
196 ** Commenting out the delete becasue of the reason mentioned
197 ** above.
198 ************************************************************
199 PROCEDURE delete_taxability_rules
200 ( p_validate IN BOOLEAN
201 ,p_jurisdiction IN VARCHAR2
202 ,p_tax_type IN VARCHAR2 default null
203 ,p_tax_category IN VARCHAR2 default null
204 ,p_classification_id IN NUMBER default null
205 ,p_taxability_rules_date_id IN NUMBER
206 ,p_legislation_code IN VARCHAR2
207 ,p_status IN VARCHAR2,
208 ,p_secondary_classification_id IN NUMBER default null)
209 IS
210
211 BEGIN
212 null;
213 END delete_taxability_rules;
214 ***********************************************************/
215
216 end pay_taxability_rules_api;