[Home] [Help]
PACKAGE BODY: APPS.PAY_COUNTY_TAX_RULE_API
Source
1 PACKAGE BODY pay_county_tax_rule_api AS
2 /* $Header: pycntapi.pkb 120.0.12000000.2 2007/05/01 22:52:43 ahanda noship $ */
3 --
4 -- Package Variables
5 --
6 g_package varchar2(33) := ' pay_county_tax_rule_api.';
7 --
8 -- Global package cursor
9 --
10 cursor csr_derive_business_grp(
11 l_assignment_id number,
12 l_effective_date date
13 )
14 is
15 Select Business_Group_Id
16 From Per_Assignments_F
17 Where Assignment_Id = l_assignment_id
18 and l_effective_date between effective_start_date
19 and effective_end_date;
20
21 cursor csr_defaulting_date(p_assignment_id number)
22 is
23 Select min(effective_start_date)
24 From Pay_Us_Emp_Fed_Tax_Rules_f
25 Where assignment_id = p_assignment_id;
26
27 --
28 -- ----------------------------------------------------------------------------
29 -- |------------------------< create_county_tax_rule >----------------------|
30 -- ----------------------------------------------------------------------------
31 --
32 procedure create_county_tax_rule
33 (p_validate in boolean default false
34 ,p_emp_county_tax_rule_id out nocopy number
35 ,p_effective_start_date out nocopy date
36 ,p_effective_end_date out nocopy date
37 ,p_assignment_id in number
38 ,p_state_code in varchar2
39 ,p_county_code in varchar2
40 ,p_additional_wa_rate in number
41 ,p_filing_status_code in varchar2
42 ,p_lit_additional_tax in number
43 ,p_lit_override_amount in number
44 ,p_lit_override_rate in number
45 ,p_withholding_allowances in number
46 ,p_lit_exempt in varchar2 default null
47 ,p_sd_exempt in varchar2 default null
48 ,p_ht_exempt in varchar2 default null
49 ,p_wage_exempt in varchar2 default null
50 ,p_school_district_code in varchar2 default null
51 ,p_object_version_number out nocopy number
52 ,p_effective_date in date
53 ,p_attribute_category in varchar2 default null
54 ,p_attribute1 in varchar2 default null
55 ,p_attribute2 in varchar2 default null
56 ,p_attribute3 in varchar2 default null
57 ,p_attribute4 in varchar2 default null
58 ,p_attribute5 in varchar2 default null
59 ,p_attribute6 in varchar2 default null
60 ,p_attribute7 in varchar2 default null
61 ,p_attribute8 in varchar2 default null
62 ,p_attribute9 in varchar2 default null
63 ,p_attribute10 in varchar2 default null
64 ,p_attribute11 in varchar2 default null
65 ,p_attribute12 in varchar2 default null
66 ,p_attribute13 in varchar2 default null
67 ,p_attribute14 in varchar2 default null
68 ,p_attribute15 in varchar2 default null
69 ,p_attribute16 in varchar2 default null
70 ,p_attribute17 in varchar2 default null
71 ,p_attribute18 in varchar2 default null
72 ,p_attribute19 in varchar2 default null
73 ,p_attribute20 in varchar2 default null
74 ,p_attribute21 in varchar2 default null
75 ,p_attribute22 in varchar2 default null
76 ,p_attribute23 in varchar2 default null
77 ,p_attribute24 in varchar2 default null
78 ,p_attribute25 in varchar2 default null
79 ,p_attribute26 in varchar2 default null
80 ,p_attribute27 in varchar2 default null
81 ,p_attribute28 in varchar2 default null
82 ,p_attribute29 in varchar2 default null
83 ,p_attribute30 in varchar2 default null
84 ,p_cnt_information_category in varchar2 default null
85 ,p_cnt_information1 in varchar2 default null
86 ,p_cnt_information2 in varchar2 default null
87 ,p_cnt_information3 in varchar2 default null
88 ,p_cnt_information4 in varchar2 default null
89 ,p_cnt_information5 in varchar2 default null
90 ,p_cnt_information6 in varchar2 default null
91 ,p_cnt_information7 in varchar2 default null
92 ,p_cnt_information8 in varchar2 default null
93 ,p_cnt_information9 in varchar2 default null
94 ,p_cnt_information10 in varchar2 default null
95 ,p_cnt_information11 in varchar2 default null
96 ,p_cnt_information12 in varchar2 default null
97 ,p_cnt_information13 in varchar2 default null
98 ,p_cnt_information14 in varchar2 default null
99 ,p_cnt_information15 in varchar2 default null
100 ,p_cnt_information16 in varchar2 default null
101 ,p_cnt_information17 in varchar2 default null
102 ,p_cnt_information18 in varchar2 default null
103 ,p_cnt_information19 in varchar2 default null
104 ,p_cnt_information20 in varchar2 default null
105 ,p_cnt_information21 in varchar2 default null
106 ,p_cnt_information22 in varchar2 default null
107 ,p_cnt_information23 in varchar2 default null
108 ,p_cnt_information24 in varchar2 default null
109 ,p_cnt_information25 in varchar2 default null
110 ,p_cnt_information26 in varchar2 default null
111 ,p_cnt_information27 in varchar2 default null
112 ,p_cnt_information28 in varchar2 default null
113 ,p_cnt_information29 in varchar2 default null
114 ,p_cnt_information30 in varchar2 default null
115 ) is
116 --
117 -- Declare cursors and local variables
118 --
119 l_business_group_id per_assignments_f.business_group_id%TYPE;
120 l_defaulting_date pay_us_emp_county_tax_rules_f.effective_end_date%TYPE;
121 l_emp_county_tax_rule_id pay_us_emp_county_tax_rules_f.emp_county_tax_rule_id%TYPE;
122 l_effective_start_date pay_us_emp_county_tax_rules_f.effective_start_date%TYPE;
123 l_effective_end_date pay_us_emp_county_tax_rules_f.effective_end_date%TYPE;
124 l_proc varchar2(72) := g_package||'create_county_tax_rule';
125 l_object_version_number pay_us_emp_county_tax_rules_f.object_version_number%TYPE;
126 l_jurisdiction_code pay_us_emp_county_tax_rules_f.jurisdiction_code%TYPE;
127 l_element_entry_id pay_element_entries_f.element_entry_id%TYPE := null;
128 --
129 begin
130 --
131 hr_utility.set_location('Entering:'|| l_proc, 10);
132 --
133 -- Issue a savepoint if operating in validation only mode
134 --
135 savepoint create_county_tax_rule;
136
137 --
138 hr_utility.set_location(l_proc, 15);
139 --
140 -- Process Logic
141 --
142 /*
143 begin
144 --
145 -- Start of API User Hook for the before hook of create_county_tax_rule
146 --
147 pay_cnt_bk1.create_county_tax_rule_b
148 (
149 p_assignment_id => p_assignment_id
150 ,p_state_code => p_state_code
151 ,p_county_code => p_county_code
152 ,p_business_group_id => l_business_group_id
153 ,p_additional_wa_rate => p_additional_wa_rate
154 ,p_filing_status_code => p_filing_status_code
155 ,p_jurisdiction_code => l_jurisdiction_code
156 ,p_lit_additional_tax => p_lit_additional_tax
157 ,p_lit_override_amount => p_lit_override_amount
158 ,p_lit_override_rate => p_lit_override_rate
159 ,p_withholding_allowances => p_withholding_allowances
160 ,p_lit_exempt => p_lit_exempt
161 ,p_sd_exempt => p_sd_exempt
162 ,p_ht_exempt => p_ht_exempt
163 ,p_wage_exempt => p_wage_exempt
164 ,p_school_district_code => p_school_district_code
165 );
166 exception
167 when hr_api.cannot_find_prog_unit then
168 hr_api.cannot_find_prog_unit_error
169 (
170 p_module_name => 'CREATE_COUNTY_TAX_RULE'
171 ,p_hook_type => 'BP'
172 );
173 --
174 -- End of API User Hook for the before hook of create_county_tax_rule
175 --
176 end;
177 */
178 --
179 --
180 -- Business Process Main Code
181 --
182 Open csr_derive_Business_Grp(p_assignment_id, p_effective_date);
183 Fetch csr_derive_business_grp into l_business_group_id;
184 If csr_derive_business_grp%Found then
185 close csr_derive_business_grp;
186 open csr_defaulting_date(p_assignment_id);
187 Fetch csr_defaulting_date into l_defaulting_date;
188 If l_defaulting_date is null then
189 close csr_defaulting_date;
190 hr_utility.set_message(801, 'HR_7182_DT_NO_MIN_MAX_ROWS');
191 hr_utility.set_message_token('table_name', 'PAY_US_EMP_FED_TAX_RULES_F');
192 hr_utility.raise_error;
193 Else
194 l_jurisdiction_code := p_state_code||'-'||p_county_code||'-0000';
195 close csr_defaulting_date;
196 hr_utility.set_location(l_proc, 20);
197 pay_cnt_ins.ins
198 (
199 p_emp_county_tax_rule_id => l_emp_county_tax_rule_id
200 ,p_effective_start_date => l_effective_start_date
201 ,p_effective_end_date => l_effective_end_date
202 ,p_assignment_id => p_assignment_id
203 ,p_state_code => p_state_code
204 ,p_county_code => p_county_code
205 ,p_business_group_id => l_business_group_id
206 ,p_additional_wa_rate => p_additional_wa_rate
207 ,p_filing_status_code => p_filing_status_code
208 ,p_jurisdiction_code => l_jurisdiction_code
209 ,p_lit_additional_tax => p_lit_additional_tax
210 ,p_lit_override_amount => p_lit_override_amount
211 ,p_lit_override_rate => p_lit_override_rate
212 ,p_withholding_allowances => p_withholding_allowances
213 ,p_lit_exempt => p_lit_exempt
214 ,p_sd_exempt => p_sd_exempt
215 ,p_ht_exempt => p_ht_exempt
216 ,p_wage_exempt => p_wage_exempt
217 ,p_school_district_code => p_school_district_code
218 ,p_object_version_number => l_object_version_number
219 ,p_effective_date => l_defaulting_date
220 ,p_attribute_category => p_attribute_category
221 ,p_attribute1 => p_attribute1
222 ,p_attribute2 => p_attribute2
223 ,p_attribute3 => p_attribute3
224 ,p_attribute4 => p_attribute4
225 ,p_attribute5 => p_attribute5
226 ,p_attribute6 => p_attribute6
227 ,p_attribute7 => p_attribute7
228 ,p_attribute8 => p_attribute8
229 ,p_attribute9 => p_attribute9
230 ,p_attribute10 => p_attribute10
231 ,p_attribute11 => p_attribute11
232 ,p_attribute12 => p_attribute12
233 ,p_attribute13 => p_attribute13
234 ,p_attribute14 => p_attribute14
235 ,p_attribute15 => p_attribute15
236 ,p_attribute16 => p_attribute16
237 ,p_attribute17 => p_attribute17
238 ,p_attribute18 => p_attribute18
239 ,p_attribute19 => p_attribute19
240 ,p_attribute20 => p_attribute20
241 ,p_attribute21 => p_attribute21
242 ,p_attribute22 => p_attribute22
243 ,p_attribute23 => p_attribute23
244 ,p_attribute24 => p_attribute24
245 ,p_attribute25 => p_attribute25
246 ,p_attribute26 => p_attribute26
247 ,p_attribute27 => p_attribute27
248 ,p_attribute28 => p_attribute28
249 ,p_attribute29 => p_attribute29
250 ,p_attribute30 => p_attribute30
251 ,p_cnt_information_category => p_cnt_information_category
252 ,p_cnt_information1 => p_cnt_information1
253 ,p_cnt_information2 => p_cnt_information2
254 ,p_cnt_information3 => p_cnt_information3
255 ,p_cnt_information4 => p_cnt_information4
256 ,p_cnt_information5 => p_cnt_information5
257 ,p_cnt_information6 => p_cnt_information6
258 ,p_cnt_information7 => p_cnt_information7
259 ,p_cnt_information8 => p_cnt_information8
260 ,p_cnt_information9 => p_cnt_information9
261 ,p_cnt_information10 => p_cnt_information10
262 ,p_cnt_information11 => p_cnt_information11
263 ,p_cnt_information12 => p_cnt_information12
264 ,p_cnt_information13 => p_cnt_information13
265 ,p_cnt_information14 => p_cnt_information14
266 ,p_cnt_information15 => p_cnt_information15
267 ,p_cnt_information16 => p_cnt_information16
268 ,p_cnt_information17 => p_cnt_information17
269 ,p_cnt_information18 => p_cnt_information18
270 ,p_cnt_information19 => p_cnt_information19
271 ,p_cnt_information20 => p_cnt_information20
272 ,p_cnt_information21 => p_cnt_information21
273 ,p_cnt_information22 => p_cnt_information22
274 ,p_cnt_information23 => p_cnt_information23
275 ,p_cnt_information24 => p_cnt_information24
276 ,p_cnt_information25 => p_cnt_information25
277 ,p_cnt_information26 => p_cnt_information26
278 ,p_cnt_information27 => p_cnt_information27
279 ,p_cnt_information28 => p_cnt_information28
280 ,p_cnt_information29 => p_cnt_information29
281 ,p_cnt_information30 => p_cnt_information30
282 );
283 --
284 hr_utility.set_location(l_proc, 25);
285 --
286 pay_us_tax_internal.maintain_tax_percentage
287 (
288 p_assignment_id => p_assignment_id,
289 p_effective_date => p_effective_date,
290 p_state_code => p_state_code,
291 p_county_code => p_county_code,
292 p_city_code => '0000',
293 p_calculate_pct => FALSE,
294 p_datetrack_mode => 'INSERT',
295 p_effective_start_date => l_effective_start_date,
296 p_effective_end_date => l_effective_end_date
297 );
298 --
299 --
300 -- Call create_asg_geo_row to create rows in the pay_us_asg_reporting
301 -- table if this is a new county
302 --
303 pay_asg_geo_pkg.create_asg_geo_row(
304 p_assignment_id => p_assignment_id
305 ,p_jurisdiction => l_jurisdiction_code
306 );
307 End if;
308 Else
309 close csr_derive_business_grp;
310 hr_utility.set_message(801, 'HR_7348_ASSIGNMENT_INVALID');
311 hr_utility.set_message_token('PROCEDURE', l_proc);
312 hr_utility.set_message_token('STEP','30');
313 hr_utility.raise_error;
314 End if;
315 --
316 --
317 /*
318 begin
319 --
320 -- Start of API User Hook for the after hook of create_county_tax_rule
321 --
322 pay_cnt_bk1.create_county_tax_rule_a
323 (
324 p_emp_county_tax_rule_id => l_emp_county_tax_rule_id
325 ,p_effective_start_date => l_effective_start_date
326 ,p_effective_end_date => l_effective_end_date
327 ,p_assignment_id => p_assignment_id
328 ,p_state_code => p_state_code
329 ,p_county_code => p_county_code
330 ,p_business_group_id => l_business_group_id
331 ,p_additional_wa_rate => p_additional_wa_rate
332 ,p_filing_status_code => p_filing_status_code
333 ,p_jurisdiction_code => l_jurisdiction_code
334 ,p_lit_additional_tax => p_lit_additional_tax
335 ,p_lit_override_amount => p_lit_override_amount
336 ,p_lit_override_rate => p_lit_override_rate
337 ,p_withholding_allowances => p_withholding_allowances
338 ,p_lit_exempt => p_lit_exempt
339 ,p_sd_exempt => p_sd_exempt
340 ,p_ht_exempt => p_ht_exempt
341 ,p_wage_exempt => p_wage_exempt
342 ,p_school_district_code => p_school_district_code
343 ,p_object_version_number => l_object_version_number
344 );
345 exception
346 when hr_api.cannot_find_prog_unit then
347 hr_api.cannot_find_prog_unit_error
348 (p_module_name => 'CREATE_COUNTY_TAX_RULE'
349 ,p_hook_type => 'AP'
350 );
351 --
352 -- End of API User Hook for the after hook of create_county_tax_rule
353 --
354 end;
355 */
356 --
357 hr_utility.set_location(l_proc, 40);
358 --
359 -- When in validation only mode raise the Validate_Enabled exception
360 --
361 if p_validate then
362 raise hr_api.validate_enabled;
363 end if;
364 --
365 -- Set all output arguments
366 --
367 p_emp_county_tax_rule_id := l_emp_county_tax_rule_id;
368 p_effective_start_date := l_effective_start_date;
369 p_effective_end_date := l_effective_end_date;
370 p_object_version_number := l_object_version_number;
371 --
372 hr_utility.set_location(' Leaving:'||l_proc, 50);
373 --
374 exception
375 --
376 when hr_api.validate_enabled then
377 --
378 -- As the Validate_Enabled exception has been raised
379 -- we must rollback to the savepoint
380 --
381 ROLLBACK TO create_county_tax_rule;
382 --
383 -- Only set output warning arguments
384 -- (Any key or derived arguments must be set to null
385 -- when validation only mode is being used.)
386 --
387 p_emp_county_tax_rule_id := null;
388 p_effective_start_date := null;
389 p_effective_end_date := null;
390 p_object_version_number := null;
391 hr_utility.set_location(' Leaving:'||l_proc, 70);
392 --
393 when others then
394 --
395 -- A validation or unexpected error has occurred
396 --
397 ROLLBACK TO create_county_tax_rule;
398 --
399 -- Reset IN OUT params and set OUT params.
400 --
401 p_emp_county_tax_rule_id := null;
402 p_effective_start_date := null;
403 p_effective_end_date := null;
404 p_object_version_number := null;
405 --
406 raise;
407 --
408 end create_county_tax_rule;
409 --
410 -- ----------------------------------------------------------------------------
411 -- |------------------------< update_county_tax_rule >------------------------|
412 -- ----------------------------------------------------------------------------
413 --
414 procedure update_county_tax_rule
415 (p_validate in boolean default false
416 ,p_emp_county_tax_rule_id in number
417 ,p_effective_start_date out nocopy date
418 ,p_effective_end_date out nocopy date
419 ,p_additional_wa_rate in number default hr_api.g_number
420 ,p_filing_status_code in varchar2 default hr_api.g_varchar2
421 ,p_lit_additional_tax in number default hr_api.g_number
422 ,p_lit_override_amount in number default hr_api.g_number
423 ,p_lit_override_rate in number default hr_api.g_number
424 ,p_withholding_allowances in number default hr_api.g_number
425 ,p_lit_exempt in varchar2 default hr_api.g_varchar2
426 ,p_sd_exempt in varchar2 default hr_api.g_varchar2
427 ,p_ht_exempt in varchar2 default hr_api.g_varchar2
428 ,p_wage_exempt in varchar2 default hr_api.g_varchar2
429 ,p_school_district_code in varchar2 default hr_api.g_varchar2
430 ,p_object_version_number in out nocopy number
431 ,p_effective_date in date
432 ,p_datetrack_mode in varchar2
433 ,p_attribute_category in varchar2 default hr_api.g_varchar2
434 ,p_attribute1 in varchar2 default hr_api.g_varchar2
435 ,p_attribute2 in varchar2 default hr_api.g_varchar2
436 ,p_attribute3 in varchar2 default hr_api.g_varchar2
437 ,p_attribute4 in varchar2 default hr_api.g_varchar2
438 ,p_attribute5 in varchar2 default hr_api.g_varchar2
439 ,p_attribute6 in varchar2 default hr_api.g_varchar2
440 ,p_attribute7 in varchar2 default hr_api.g_varchar2
441 ,p_attribute8 in varchar2 default hr_api.g_varchar2
442 ,p_attribute9 in varchar2 default hr_api.g_varchar2
443 ,p_attribute10 in varchar2 default hr_api.g_varchar2
444 ,p_attribute11 in varchar2 default hr_api.g_varchar2
445 ,p_attribute12 in varchar2 default hr_api.g_varchar2
446 ,p_attribute13 in varchar2 default hr_api.g_varchar2
447 ,p_attribute14 in varchar2 default hr_api.g_varchar2
448 ,p_attribute15 in varchar2 default hr_api.g_varchar2
449 ,p_attribute16 in varchar2 default hr_api.g_varchar2
450 ,p_attribute17 in varchar2 default hr_api.g_varchar2
451 ,p_attribute18 in varchar2 default hr_api.g_varchar2
452 ,p_attribute19 in varchar2 default hr_api.g_varchar2
453 ,p_attribute20 in varchar2 default hr_api.g_varchar2
454 ,p_attribute21 in varchar2 default hr_api.g_varchar2
455 ,p_attribute22 in varchar2 default hr_api.g_varchar2
456 ,p_attribute23 in varchar2 default hr_api.g_varchar2
457 ,p_attribute24 in varchar2 default hr_api.g_varchar2
458 ,p_attribute25 in varchar2 default hr_api.g_varchar2
459 ,p_attribute26 in varchar2 default hr_api.g_varchar2
460 ,p_attribute27 in varchar2 default hr_api.g_varchar2
461 ,p_attribute28 in varchar2 default hr_api.g_varchar2
462 ,p_attribute29 in varchar2 default hr_api.g_varchar2
463 ,p_attribute30 in varchar2 default hr_api.g_varchar2
464 ,p_cnt_information_category in varchar2 default hr_api.g_varchar2
465 ,p_cnt_information1 in varchar2 default hr_api.g_varchar2
466 ,p_cnt_information2 in varchar2 default hr_api.g_varchar2
467 ,p_cnt_information3 in varchar2 default hr_api.g_varchar2
468 ,p_cnt_information4 in varchar2 default hr_api.g_varchar2
469 ,p_cnt_information5 in varchar2 default hr_api.g_varchar2
470 ,p_cnt_information6 in varchar2 default hr_api.g_varchar2
471 ,p_cnt_information7 in varchar2 default hr_api.g_varchar2
472 ,p_cnt_information8 in varchar2 default hr_api.g_varchar2
473 ,p_cnt_information9 in varchar2 default hr_api.g_varchar2
474 ,p_cnt_information10 in varchar2 default hr_api.g_varchar2
475 ,p_cnt_information11 in varchar2 default hr_api.g_varchar2
476 ,p_cnt_information12 in varchar2 default hr_api.g_varchar2
477 ,p_cnt_information13 in varchar2 default hr_api.g_varchar2
478 ,p_cnt_information14 in varchar2 default hr_api.g_varchar2
479 ,p_cnt_information15 in varchar2 default hr_api.g_varchar2
480 ,p_cnt_information16 in varchar2 default hr_api.g_varchar2
481 ,p_cnt_information17 in varchar2 default hr_api.g_varchar2
482 ,p_cnt_information18 in varchar2 default hr_api.g_varchar2
483 ,p_cnt_information19 in varchar2 default hr_api.g_varchar2
484 ,p_cnt_information20 in varchar2 default hr_api.g_varchar2
485 ,p_cnt_information21 in varchar2 default hr_api.g_varchar2
486 ,p_cnt_information22 in varchar2 default hr_api.g_varchar2
487 ,p_cnt_information23 in varchar2 default hr_api.g_varchar2
488 ,p_cnt_information24 in varchar2 default hr_api.g_varchar2
489 ,p_cnt_information25 in varchar2 default hr_api.g_varchar2
490 ,p_cnt_information26 in varchar2 default hr_api.g_varchar2
491 ,p_cnt_information27 in varchar2 default hr_api.g_varchar2
492 ,p_cnt_information28 in varchar2 default hr_api.g_varchar2
493 ,p_cnt_information29 in varchar2 default hr_api.g_varchar2
494 ,p_cnt_information30 in varchar2 default hr_api.g_varchar2
495 ) is
496 --
497 -- Declare cursors and local variables
498 --
499 l_proc varchar2(72) := g_package||'update_county_tax_rule';
500 l_object_version_number pay_us_emp_county_tax_rules_f.object_version_number%TYPE;
501 l_effective_start_date pay_us_emp_county_tax_rules_f.effective_start_date%TYPE;
502 l_effective_end_date pay_us_emp_county_tax_rules_f.effective_end_date%TYPE;
503 l_assignment_id pay_us_emp_county_tax_rules_f.assignment_id%TYPE;
504 l_jurisdiction_code pay_us_emp_county_tax_rules_f.jurisdiction_code%TYPE;
505 --
506 CURSOR csr_assignment_id (p_rule_id NUMBER,
507 p_eff_date DATE) IS
508 SELECT ctr.assignment_id,
509 ctr.state_code||'-'||ctr.school_district_code
510 FROM pay_us_emp_county_tax_rules_f ctr
511 WHERE ctr.emp_county_tax_rule_id = p_rule_id
512 AND p_eff_date BETWEEN ctr.effective_start_date
513 AND ctr.effective_end_date;
514 --
515 begin
516 --
517 hr_utility.set_location('Entering:'|| l_proc, 10);
518 --
519 -- Issue a savepoint if operating in validation only mode
520 --
521 savepoint update_county_tax_rule;
522
523 --
524 hr_utility.set_location(l_proc, 15);
525 --
526 -- Check to see if we need to maintain the tax records.
527 --
528 IF hr_general.chk_maintain_tax_records = 'N' Then
529 return;
530 end if;
531
532 --
533 -- Process Logic
534 --
535 l_object_version_number := p_object_version_number;
536 --
537 /*
538 begin
539 --
540 -- Start of API User Hook for the before hook of update_county_tax_rule
541 --
542 pay_cnt_bk2.update_county_tax_rule_b
543 (
544 p_emp_county_tax_rule_id => p_emp_county_tax_rule_id
545 ,p_assignment_id => p_assignment_id
546 ,p_state_code => p_state_code
547 ,p_county_code => p_county_code
548 ,p_business_group_id => l_business_group_id
549 ,p_additional_wa_rate => p_additional_wa_rate
550 ,p_filing_status_code => p_filing_status_code
551 ,p_jurisdiction_code => l_jurisdiction_code
552 ,p_lit_additional_tax => p_lit_additional_tax
553 ,p_lit_override_amount => p_lit_override_amount
554 ,p_lit_override_rate => p_lit_override_rate
555 ,p_withholding_allowances => p_withholding_allowances
556 ,p_lit_exempt => p_lit_exempt
557 ,p_sd_exempt => p_sd_exempt
558 ,p_ht_exempt => p_ht_exempt
559 ,p_wage_exempt => p_wage_exempt
560 ,p_school_district_code => p_school_district_code
561 ,p_object_version_number => p_object_version_number
562 );
563 exception
564 when hr_api.cannot_find_prog_unit then
565 hr_api.cannot_find_prog_unit_error
566 (p_module_name => 'UPDATE_COUNTY_TAX_RULE'
567 ,p_hook_type => 'BP'
568 );
569 --
570 -- End of API User Hook for the before hook of update_county_tax_rule
571 --
572 end;
573 */
574 --
575 hr_utility.set_location(l_proc, 20);
576 --
577 pay_cnt_upd.upd
578 (
579 p_emp_county_tax_rule_id => p_emp_county_tax_rule_id
580 ,p_effective_start_date => l_effective_start_date
581 ,p_effective_end_date => l_effective_end_date
582 ,p_additional_wa_rate => p_additional_wa_rate
583 ,p_filing_status_code => p_filing_status_code
584 ,p_lit_additional_tax => p_lit_additional_tax
585 ,p_lit_override_amount => p_lit_override_amount
586 ,p_lit_override_rate => p_lit_override_rate
587 ,p_withholding_allowances => p_withholding_allowances
588 ,p_lit_exempt => p_lit_exempt
589 ,p_sd_exempt => p_sd_exempt
590 ,p_ht_exempt => p_ht_exempt
591 ,p_wage_exempt => p_wage_exempt
592 ,p_school_district_code => p_school_district_code
593 ,p_object_version_number => l_object_version_number
594 ,p_effective_date => p_effective_date
595 ,p_datetrack_mode => p_datetrack_mode
596 ,p_attribute_category => p_attribute_category
597 ,p_attribute1 => p_attribute1
598 ,p_attribute2 => p_attribute2
599 ,p_attribute3 => p_attribute3
600 ,p_attribute4 => p_attribute4
601 ,p_attribute5 => p_attribute5
602 ,p_attribute6 => p_attribute6
603 ,p_attribute7 => p_attribute7
604 ,p_attribute8 => p_attribute8
605 ,p_attribute9 => p_attribute9
606 ,p_attribute10 => p_attribute10
607 ,p_attribute11 => p_attribute11
608 ,p_attribute12 => p_attribute12
609 ,p_attribute13 => p_attribute13
610 ,p_attribute14 => p_attribute14
611 ,p_attribute15 => p_attribute15
612 ,p_attribute16 => p_attribute16
613 ,p_attribute17 => p_attribute17
614 ,p_attribute18 => p_attribute18
615 ,p_attribute19 => p_attribute19
616 ,p_attribute20 => p_attribute20
617 ,p_attribute21 => p_attribute21
618 ,p_attribute22 => p_attribute22
619 ,p_attribute23 => p_attribute23
620 ,p_attribute24 => p_attribute24
621 ,p_attribute25 => p_attribute25
622 ,p_attribute26 => p_attribute26
623 ,p_attribute27 => p_attribute27
624 ,p_attribute28 => p_attribute28
625 ,p_attribute29 => p_attribute29
626 ,p_attribute30 => p_attribute30
627 ,p_cnt_information_category => p_cnt_information_category
628 ,p_cnt_information1 => p_cnt_information1
629 ,p_cnt_information2 => p_cnt_information2
630 ,p_cnt_information3 => p_cnt_information3
631 ,p_cnt_information4 => p_cnt_information4
632 ,p_cnt_information5 => p_cnt_information5
633 ,p_cnt_information6 => p_cnt_information6
634 ,p_cnt_information7 => p_cnt_information7
635 ,p_cnt_information8 => p_cnt_information8
636 ,p_cnt_information9 => p_cnt_information9
637 ,p_cnt_information10 => p_cnt_information10
638 ,p_cnt_information11 => p_cnt_information11
639 ,p_cnt_information12 => p_cnt_information12
640 ,p_cnt_information13 => p_cnt_information13
641 ,p_cnt_information14 => p_cnt_information14
642 ,p_cnt_information15 => p_cnt_information15
643 ,p_cnt_information16 => p_cnt_information16
644 ,p_cnt_information17 => p_cnt_information17
645 ,p_cnt_information18 => p_cnt_information18
646 ,p_cnt_information19 => p_cnt_information19
647 ,p_cnt_information20 => p_cnt_information20
648 ,p_cnt_information21 => p_cnt_information21
649 ,p_cnt_information22 => p_cnt_information22
650 ,p_cnt_information23 => p_cnt_information23
651 ,p_cnt_information24 => p_cnt_information24
652 ,p_cnt_information25 => p_cnt_information25
653 ,p_cnt_information26 => p_cnt_information26
654 ,p_cnt_information27 => p_cnt_information27
655 ,p_cnt_information28 => p_cnt_information28
656 ,p_cnt_information29 => p_cnt_information29
657 ,p_cnt_information30 => p_cnt_information30
658 );
659 --
660 --
661 -- Call create_asg_geo_row to create rows in the pay_us_asg_reporting
662 -- table if the county school district has changed
663 --
664 if p_school_district_code IS NOT NULL AND
665 p_school_district_code <> hr_api.g_varchar2 THEN
666 hr_utility.set_location(l_proc, 22);
667 OPEN csr_assignment_id(p_emp_county_tax_rule_id,
668 p_effective_date);
669 FETCH csr_assignment_id
670 INTO l_assignment_id,
671 l_jurisdiction_code;
672 pay_asg_geo_pkg.create_asg_geo_row(
673 p_assignment_id => l_assignment_id
674 ,p_jurisdiction => l_jurisdiction_code
675 );
676 CLOSE csr_assignment_id;
677 end if;
678 /*
679 begin
680 --
681 -- Start of API User Hook for the after hook of update_county_tax_rule
682 --
683 pay_cnt_bk2.update_county_tax_rule_a
684 (
685 p_emp_county_tax_rule_id => p_emp_county_tax_rule_id
686 ,p_effective_start_date => l_effective_start_date
687 ,p_effective_end_date => l_effective_end_date
688 ,p_assignment_id => p_assignment_id
689 ,p_state_code => p_state_code
690 ,p_county_code => p_county_code
691 ,p_business_group_id => l_business_group_id
692 ,p_additional_wa_rate => p_additional_wa_rate
693 ,p_filing_status_code => p_filing_status_code
694 ,p_jurisdiction_code => l_jurisdiction_code
695 ,p_lit_additional_tax => p_lit_additional_tax
696 ,p_lit_override_amount => p_lit_override_amount
697 ,p_lit_override_rate => p_lit_override_rate
698 ,p_withholding_allowances => p_withholding_allowances
699 ,p_lit_exempt => p_lit_exempt
700 ,p_sd_exempt => p_sd_exempt
701 ,p_ht_exempt => p_ht_exempt
702 ,p_wage_exempt => p_wage_exempt
703 ,p_school_district_code => p_school_district_code
704 ,p_object_version_number => l_object_version_number
705 );
706 exception
707 when hr_api.cannot_find_prog_unit then
708 hr_api.cannot_find_prog_unit_error
709 (p_module_name => 'UPDATE_COUNTY_TAX_RULE'
710 ,p_hook_type => 'AP'
711 );
712 --
713 -- End of API User Hook for the after hook of update_county_tax_rule
714 --
715 end;
716 */
717 --
718 hr_utility.set_location(l_proc, 25);
719 --
720 -- When in validation only mode raise the Validate_Enabled exception
721 --
722 if p_validate then
723 raise hr_api.validate_enabled;
724 end if;
725 --
726 -- Set all output arguments
727 --
728 p_object_version_number := l_object_version_number;
729 p_effective_start_date := l_effective_start_date;
730 p_effective_end_date := l_effective_end_date;
731 --
732 hr_utility.set_location(' Leaving:'||l_proc, 30);
733 --
734 exception
735 --
736 when hr_api.validate_enabled then
737 --
738 -- As the Validate_Enabled exception has been raised
739 -- we must rollback to the savepoint
740 --
741 ROLLBACK TO update_county_tax_rule;
742 --
743 -- Only set output warning arguments
744 -- (Any key or derived arguments must be set to null
745 -- when validation only mode is being used.)
746 --
747 p_object_version_number := l_object_version_number;
748 p_effective_start_date := null;
749 p_effective_end_date := null;
750 hr_utility.set_location(' Leaving:'||l_proc, 50);
751 --
752 when others then
753 --
754 -- A validation or unexpected error has occurred
755 --
756 ROLLBACK TO update_county_tax_rule;
757 --
758 -- Reset IN OUT params and set OUT params.
759 --
760 p_object_version_number := l_object_version_number;
761 p_effective_start_date := null;
762 p_effective_end_date := null;
763 --
764 raise;
765 --
766 end update_county_tax_rule;
767 --
768 -- ----------------------------------------------------------------------------
769 -- |-------------------------------< lck >------------------------------------|
770 -- ----------------------------------------------------------------------------
771 --
772 procedure lck
773 (
774 p_emp_county_tax_rule_id in number
775 ,p_object_version_number in number
776 ,p_effective_date in date
777 ,p_datetrack_mode in varchar2
778 ,p_validation_start_date out nocopy date
779 ,p_validation_end_date out nocopy date
780 ) is
781 --
782 --
783 -- Declare cursors and local variables
784 --
785 l_proc varchar2(72) := g_package||'update_county_tax_rule';
786 l_validation_start_date date;
787 l_validation_end_date date;
788 --
789 begin
790 --
791 hr_utility.set_location('Entering:'|| l_proc, 10);
792 --
793 pay_cnt_shd.lck
794 (
795 p_emp_county_tax_rule_id => p_emp_county_tax_rule_id
796 ,p_validation_start_date => l_validation_start_date
797 ,p_validation_end_date => l_validation_end_date
798 ,p_object_version_number => p_object_version_number
799 ,p_effective_date => p_effective_date
800 ,p_datetrack_mode => p_datetrack_mode
801 );
802 --
803 hr_utility.set_location(' Leaving:'||l_proc, 70);
804 --
805 end lck;
806 --
807 end pay_county_tax_rule_api;