[Home] [Help]
PACKAGE BODY: APPS.PAY_CITY_TAX_RULE_API
Source
1 PACKAGE BODY pay_city_tax_rule_api AS
2 /* $Header: pyctyapi.pkb 120.0.12000000.2 2007/05/01 22:53:30 ahanda noship $ */
3 --
4 -- Package Variables
5 --
6 g_package varchar2(33) := ' pay_cty_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 -- |------------------------< create_city_tax_rule >----------------------|
29 -- ----------------------------------------------------------------------------
30 --
31 procedure create_city_tax_rule
32 (p_validate in boolean default false
33 ,p_emp_city_tax_rule_id out nocopy number
34 ,p_effective_start_date out nocopy date
35 ,p_effective_end_date out nocopy date
36 ,p_assignment_id in number
37 ,p_state_code in varchar2
38 ,p_county_code in varchar2
39 ,p_city_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_cty_information_category in varchar2 default null
85 ,p_cty_information1 in varchar2 default null
86 ,p_cty_information2 in varchar2 default null
87 ,p_cty_information3 in varchar2 default null
88 ,p_cty_information4 in varchar2 default null
89 ,p_cty_information5 in varchar2 default null
90 ,p_cty_information6 in varchar2 default null
91 ,p_cty_information7 in varchar2 default null
92 ,p_cty_information8 in varchar2 default null
93 ,p_cty_information9 in varchar2 default null
94 ,p_cty_information10 in varchar2 default null
95 ,p_cty_information11 in varchar2 default null
96 ,p_cty_information12 in varchar2 default null
97 ,p_cty_information13 in varchar2 default null
98 ,p_cty_information14 in varchar2 default null
99 ,p_cty_information15 in varchar2 default null
100 ,p_cty_information16 in varchar2 default null
101 ,p_cty_information17 in varchar2 default null
102 ,p_cty_information18 in varchar2 default null
103 ,p_cty_information19 in varchar2 default null
104 ,p_cty_information20 in varchar2 default null
105 ,p_cty_information21 in varchar2 default null
106 ,p_cty_information22 in varchar2 default null
107 ,p_cty_information23 in varchar2 default null
108 ,p_cty_information24 in varchar2 default null
109 ,p_cty_information25 in varchar2 default null
110 ,p_cty_information26 in varchar2 default null
111 ,p_cty_information27 in varchar2 default null
112 ,p_cty_information28 in varchar2 default null
113 ,p_cty_information29 in varchar2 default null
114 ,p_cty_information30 in varchar2 default null
115 ) is
116 --
117 l_jurisdiction_code pay_us_emp_city_tax_rules.jurisdiction_code%TYPE;
118 l_business_group_id per_assignments_f.business_group_id%TYPE;
119 l_defaulting_date pay_us_emp_city_tax_rules_f.effective_end_date%TYPE;
120 l_emp_city_tax_rule_id pay_us_emp_city_tax_rules_f.emp_city_tax_rule_id%TYPE;
121 l_effective_start_date pay_us_emp_city_tax_rules_f.effective_start_date%TYPE;
122 l_effective_end_date pay_us_emp_city_tax_rules_f.effective_end_date%TYPE;
123 l_proc varchar2(72) := g_package||'create_city_tax_rule';
124 l_object_version_number pay_us_emp_city_tax_rules_f.object_version_number%TYPE;
125 l_element_entry_id pay_element_entries_f.element_entry_id%TYPE := null;
126 --
127 begin
128 --
129 hr_utility.set_location('Entering:'|| l_proc, 10);
130 --
131 -- Issue a savepoint
132 --
133 savepoint create_city_tax_rule;
134
135 --
136 hr_utility.set_location(l_proc, 15);
137 --
138 -- Process Logic
139 --
140 -- Derive the jurisdiction code
141 --
142 l_jurisdiction_code := p_state_code||'-'||p_county_code||'-'||p_city_code;
143 --
144 -- Derive the business group id
145 --
146 Open csr_derive_business_grp(p_assignment_id, p_effective_date);
147 fetch csr_derive_business_grp into l_business_group_id;
148 if csr_derive_business_grp%found then
149 close csr_derive_business_grp;
150 else
151 close csr_derive_business_grp;
152 hr_utility.set_message(801, 'HR_7348_ASSIGNMENT_INVALID');
153 hr_utility.set_message_token('PROCEDURE', l_proc);
154 hr_utility.set_message_token('step','20');
155 hr_utility.raise_error;
156 end if;
157 /*
158 begin
159 --
160 --
161 -- Start of API User Hook for the before hook of create_city_tax_rule
162 --
163 pay_cty_bk1.create_city_tax_rule_b
164 (
165 p_assignment_id => p_assignment_id
166 ,p_state_code => p_state_code
167 ,p_county_code => p_county_code
168 ,p_city_code => p_city_code
169 ,p_business_group_id => l_business_group_id
170 ,p_additional_wa_rate => p_additional_wa_rate
171 ,p_filing_status_code => p_filing_status_code
172 ,p_jurisdiction_code => l_jurisdiction_code
173 ,p_lit_additional_tax => p_lit_additional_tax
174 ,p_lit_override_amount => p_lit_override_amount
175 ,p_lit_override_rate => p_lit_override_rate
176 ,p_withholding_allowances => p_withholding_allowances
177 ,p_lit_exempt => p_lit_exempt
178 ,p_sd_exempt => p_sd_exempt
179 ,p_ht_exempt => p_ht_exempt
180 ,p_wage_exempt => p_wage_exempt
181 ,p_school_district_code => p_school_district_code
182 );
183 exception
184 when hr_api.cannot_find_prog_unit then
185 hr_api.cannot_find_prog_unit_error
186 (
187 p_module_name => 'CREATE_CITY_TAX_RULE'
188 ,p_hook_type => 'BP'
189 );
190 --
191 -- End of API User Hook for the before hook of create_city_tax_rule
192 --
193 end;
194 */
195 --
196 -- Business Process Main Code
197 --
198 open csr_defaulting_date(p_assignment_id);
199 fetch csr_defaulting_date into l_defaulting_date;
200 if l_defaulting_date is null then
201 close csr_defaulting_date;
202 hr_utility.set_message(801, 'HR_7182_DT_NO_MIN_MAX_ROWS');
203 hr_utility.set_message_token('table_name', 'pay_us_emp_fed_tax_rules_f');
204 hr_utility.set_message_token('step','25');
205 hr_utility.raise_error;
206 else
207 close csr_defaulting_date;
208 pay_cty_ins.ins
209 (
210 p_emp_city_tax_rule_id => l_emp_city_tax_rule_id
211 ,p_effective_start_date => l_effective_start_date
212 ,p_effective_end_date => l_effective_end_date
213 ,p_assignment_id => p_assignment_id
214 ,p_state_code => p_state_code
215 ,p_county_code => p_county_code
216 ,p_city_code => p_city_code
217 ,p_business_group_id => l_business_group_id
218 ,p_additional_wa_rate => p_additional_wa_rate
219 ,p_filing_status_code => p_filing_status_code
220 ,p_jurisdiction_code => l_jurisdiction_code
221 ,p_lit_additional_tax => p_lit_additional_tax
222 ,p_lit_override_amount => p_lit_override_amount
223 ,p_lit_override_rate => p_lit_override_rate
224 ,p_withholding_allowances => p_withholding_allowances
225 ,p_lit_exempt => p_lit_exempt
226 ,p_sd_exempt => p_sd_exempt
227 ,p_ht_exempt => p_ht_exempt
228 ,p_wage_exempt => p_wage_exempt
229 ,p_school_district_code => p_school_district_code
230 ,p_object_version_number => l_object_version_number
231 ,p_effective_date => l_defaulting_date
232 ,p_attribute_category => p_attribute_category
233 ,p_attribute1 => p_attribute1
234 ,p_attribute2 => p_attribute2
235 ,p_attribute3 => p_attribute3
236 ,p_attribute4 => p_attribute4
237 ,p_attribute5 => p_attribute5
238 ,p_attribute6 => p_attribute6
239 ,p_attribute7 => p_attribute7
240 ,p_attribute8 => p_attribute8
241 ,p_attribute9 => p_attribute9
242 ,p_attribute10 => p_attribute10
243 ,p_attribute11 => p_attribute11
244 ,p_attribute12 => p_attribute12
245 ,p_attribute13 => p_attribute13
246 ,p_attribute14 => p_attribute14
247 ,p_attribute15 => p_attribute15
248 ,p_attribute16 => p_attribute16
249 ,p_attribute17 => p_attribute17
250 ,p_attribute18 => p_attribute18
251 ,p_attribute19 => p_attribute19
252 ,p_attribute20 => p_attribute20
253 ,p_attribute21 => p_attribute21
254 ,p_attribute22 => p_attribute22
255 ,p_attribute23 => p_attribute23
256 ,p_attribute24 => p_attribute24
257 ,p_attribute25 => p_attribute25
258 ,p_attribute26 => p_attribute26
259 ,p_attribute27 => p_attribute27
260 ,p_attribute28 => p_attribute28
261 ,p_attribute29 => p_attribute29
262 ,p_attribute30 => p_attribute30
263 ,p_cty_information_category => p_cty_information_category
264 ,p_cty_information1 => p_cty_information1
265 ,p_cty_information2 => p_cty_information2
266 ,p_cty_information3 => p_cty_information3
267 ,p_cty_information4 => p_cty_information4
268 ,p_cty_information5 => p_cty_information5
269 ,p_cty_information6 => p_cty_information6
270 ,p_cty_information7 => p_cty_information7
271 ,p_cty_information8 => p_cty_information8
272 ,p_cty_information9 => p_cty_information9
273 ,p_cty_information10 => p_cty_information10
274 ,p_cty_information11 => p_cty_information11
275 ,p_cty_information12 => p_cty_information12
276 ,p_cty_information13 => p_cty_information13
277 ,p_cty_information14 => p_cty_information14
278 ,p_cty_information15 => p_cty_information15
279 ,p_cty_information16 => p_cty_information16
280 ,p_cty_information17 => p_cty_information17
281 ,p_cty_information18 => p_cty_information18
282 ,p_cty_information19 => p_cty_information19
283 ,p_cty_information20 => p_cty_information20
284 ,p_cty_information21 => p_cty_information21
285 ,p_cty_information22 => p_cty_information22
286 ,p_cty_information23 => p_cty_information23
287 ,p_cty_information24 => p_cty_information24
288 ,p_cty_information25 => p_cty_information25
289 ,p_cty_information26 => p_cty_information26
290 ,p_cty_information27 => p_cty_information27
291 ,p_cty_information28 => p_cty_information28
292 ,p_cty_information29 => p_cty_information29
293 ,p_cty_information30 => p_cty_information30
294 );
295 --
296 hr_utility.set_location(l_proc, 30);
297 --
298 pay_us_tax_internal.maintain_tax_percentage
299 (
300 p_assignment_id => p_assignment_id,
301 p_effective_date => p_effective_date,
302 p_state_code => p_state_code,
303 p_county_code => p_county_code,
304 p_city_code => p_city_code,
305 p_datetrack_mode => 'INSERT',
306 p_calculate_pct => FALSE,
307 p_effective_start_date => l_effective_start_date,
308 p_effective_end_date => l_effective_end_date
309 );
310 --
311 -- Call create_asg_geo_row to create rows in the pay_us_asg_reporting
312 -- table if this is a new city
313 --
314 pay_asg_geo_pkg.create_asg_geo_row(
315 p_assignment_id => p_assignment_id
316 ,p_jurisdiction => l_jurisdiction_code
317 );
318 End if;
319 --
320 /*
321 begin
322 --
323 -- Start of API User Hook for the after hook of create_city_tax_rule
324 --
325 pay_cty_bk1.create_city_tax_rule_a
326 (
327 p_emp_city_tax_rule_id => l_emp_city_tax_rule_id
328 ,p_effective_start_date => l_effective_start_date
329 ,p_effective_end_date => l_effective_end_date
330 ,p_assignment_id => p_assignment_id
331 ,p_state_code => p_state_code
332 ,p_county_code => p_county_code
333 ,p_city_code => p_city_code
334 ,p_business_group_id => l_business_group_id
335 ,p_additional_wa_rate => p_additional_wa_rate
336 ,p_filing_status_code => p_filing_status_code
337 ,p_jurisdiction_code => l_jurisdiction_code
338 ,p_lit_additional_tax => p_lit_additional_tax
339 ,p_lit_override_amount => p_lit_override_amount
340 ,p_lit_override_rate => p_lit_override_rate
341 ,p_withholding_allowances => p_withholding_allowances
342 ,p_lit_exempt => p_lit_exempt
343 ,p_sd_exempt => p_sd_exempt
344 ,p_ht_exempt => p_ht_exempt
345 ,p_wage_exempt => p_wage_exempt
346 ,p_school_district_code => p_school_district_code
347 ,p_object_version_number => l_object_version_number
348 );
349 exception
350 when hr_api.cannot_find_prog_unit then
351 hr_api.cannot_find_prog_unit_error
352 (p_module_name => 'CREATE_CITY_TAX_RULE'
353 ,p_hook_type => 'AP'
354 );
355 --
356 -- End of API User Hook for the after hook of create_city_tax_rule
357 --
358 end;
359 */
360 --
361 hr_utility.set_location(l_proc, 35);
362 --
363 -- When in validation only mode raise the Validate_Enabled exception
364 --
365 if p_validate then
366 raise hr_api.validate_enabled;
367 end if;
368 --
369 -- Set all output arguments
370 --
371 p_emp_city_tax_rule_id := l_emp_city_tax_rule_id;
372 p_effective_start_date := l_effective_start_date;
373 p_effective_end_date := l_effective_end_date;
374 p_object_version_number := l_object_version_number;
375 --
376 hr_utility.set_location(' Leaving:'||l_proc, 40);
377 --
378 exception
379 --
380 when hr_api.validate_enabled then
381 --
382 -- As the Validate_Enabled exception has been raised
383 -- we must rollback to the savepoint
384 --
385 ROLLBACK TO create_city_tax_rule;
386 --
387 -- Only set output warning arguments
388 -- (Any key or derived arguments must be set to null
389 -- when validation only mode is being used.)
390 --
391 p_emp_city_tax_rule_id := null;
392 p_effective_start_date := null;
393 p_effective_end_date := null;
394 p_object_version_number := null;
395 hr_utility.set_location(' Leaving:'||l_proc, 60);
396 --
397 when others then
398 --
399 -- A validation or unexpected error has occurred
400 --
401 ROLLBACK TO create_city_tax_rule;
402 p_emp_city_tax_rule_id := null;
403 p_effective_start_date := null;
404 p_effective_end_date := null;
405 p_object_version_number := null;
406
407 raise;
408 --
409 end create_city_tax_rule;
410 --
411 -- ----------------------------------------------------------------------------
412 -- |-------------------------< update_city_tax_rule >-------------------------|
413 -- ----------------------------------------------------------------------------
414 --
415 procedure update_city_tax_rule
416 (p_validate in boolean default false
417 ,p_emp_city_tax_rule_id in number
418 ,p_effective_start_date out nocopy date
419 ,p_effective_end_date out nocopy date
420 ,p_additional_wa_rate in number default hr_api.g_number
421 ,p_filing_status_code in varchar2 default hr_api.g_varchar2
422 ,p_lit_additional_tax in number default hr_api.g_number
423 ,p_lit_override_amount in number default hr_api.g_number
424 ,p_lit_override_rate in number default hr_api.g_number
425 ,p_withholding_allowances in number default hr_api.g_number
426 ,p_lit_exempt in varchar2 default hr_api.g_varchar2
427 ,p_sd_exempt in varchar2 default hr_api.g_varchar2
428 ,p_ht_exempt in varchar2 default hr_api.g_varchar2
429 ,p_wage_exempt in varchar2 default hr_api.g_varchar2
430 ,p_school_district_code in varchar2 default hr_api.g_varchar2
431 ,p_object_version_number in out nocopy number
432 ,p_effective_date in date
433 ,p_datetrack_mode in varchar2
434 ,p_attribute_category in varchar2 default hr_api.g_varchar2
435 ,p_attribute1 in varchar2 default hr_api.g_varchar2
436 ,p_attribute2 in varchar2 default hr_api.g_varchar2
437 ,p_attribute3 in varchar2 default hr_api.g_varchar2
438 ,p_attribute4 in varchar2 default hr_api.g_varchar2
439 ,p_attribute5 in varchar2 default hr_api.g_varchar2
440 ,p_attribute6 in varchar2 default hr_api.g_varchar2
441 ,p_attribute7 in varchar2 default hr_api.g_varchar2
442 ,p_attribute8 in varchar2 default hr_api.g_varchar2
443 ,p_attribute9 in varchar2 default hr_api.g_varchar2
444 ,p_attribute10 in varchar2 default hr_api.g_varchar2
445 ,p_attribute11 in varchar2 default hr_api.g_varchar2
446 ,p_attribute12 in varchar2 default hr_api.g_varchar2
447 ,p_attribute13 in varchar2 default hr_api.g_varchar2
448 ,p_attribute14 in varchar2 default hr_api.g_varchar2
449 ,p_attribute15 in varchar2 default hr_api.g_varchar2
450 ,p_attribute16 in varchar2 default hr_api.g_varchar2
451 ,p_attribute17 in varchar2 default hr_api.g_varchar2
452 ,p_attribute18 in varchar2 default hr_api.g_varchar2
453 ,p_attribute19 in varchar2 default hr_api.g_varchar2
454 ,p_attribute20 in varchar2 default hr_api.g_varchar2
455 ,p_attribute21 in varchar2 default hr_api.g_varchar2
456 ,p_attribute22 in varchar2 default hr_api.g_varchar2
457 ,p_attribute23 in varchar2 default hr_api.g_varchar2
458 ,p_attribute24 in varchar2 default hr_api.g_varchar2
459 ,p_attribute25 in varchar2 default hr_api.g_varchar2
460 ,p_attribute26 in varchar2 default hr_api.g_varchar2
461 ,p_attribute27 in varchar2 default hr_api.g_varchar2
462 ,p_attribute28 in varchar2 default hr_api.g_varchar2
463 ,p_attribute29 in varchar2 default hr_api.g_varchar2
464 ,p_attribute30 in varchar2 default hr_api.g_varchar2
465 ,p_cty_information_category in varchar2 default hr_api.g_varchar2
466 ,p_cty_information1 in varchar2 default hr_api.g_varchar2
467 ,p_cty_information2 in varchar2 default hr_api.g_varchar2
468 ,p_cty_information3 in varchar2 default hr_api.g_varchar2
469 ,p_cty_information4 in varchar2 default hr_api.g_varchar2
470 ,p_cty_information5 in varchar2 default hr_api.g_varchar2
471 ,p_cty_information6 in varchar2 default hr_api.g_varchar2
472 ,p_cty_information7 in varchar2 default hr_api.g_varchar2
473 ,p_cty_information8 in varchar2 default hr_api.g_varchar2
474 ,p_cty_information9 in varchar2 default hr_api.g_varchar2
475 ,p_cty_information10 in varchar2 default hr_api.g_varchar2
476 ,p_cty_information11 in varchar2 default hr_api.g_varchar2
477 ,p_cty_information12 in varchar2 default hr_api.g_varchar2
478 ,p_cty_information13 in varchar2 default hr_api.g_varchar2
479 ,p_cty_information14 in varchar2 default hr_api.g_varchar2
480 ,p_cty_information15 in varchar2 default hr_api.g_varchar2
481 ,p_cty_information16 in varchar2 default hr_api.g_varchar2
482 ,p_cty_information17 in varchar2 default hr_api.g_varchar2
483 ,p_cty_information18 in varchar2 default hr_api.g_varchar2
484 ,p_cty_information19 in varchar2 default hr_api.g_varchar2
485 ,p_cty_information20 in varchar2 default hr_api.g_varchar2
486 ,p_cty_information21 in varchar2 default hr_api.g_varchar2
487 ,p_cty_information22 in varchar2 default hr_api.g_varchar2
488 ,p_cty_information23 in varchar2 default hr_api.g_varchar2
489 ,p_cty_information24 in varchar2 default hr_api.g_varchar2
490 ,p_cty_information25 in varchar2 default hr_api.g_varchar2
491 ,p_cty_information26 in varchar2 default hr_api.g_varchar2
492 ,p_cty_information27 in varchar2 default hr_api.g_varchar2
493 ,p_cty_information28 in varchar2 default hr_api.g_varchar2
494 ,p_cty_information29 in varchar2 default hr_api.g_varchar2
495 ,p_cty_information30 in varchar2 default hr_api.g_varchar2
496 ) is
497 --
498 -- Declare cursors and local variables
499 --
500 l_proc varchar2(72) := g_package||'update_city_tax_rule';
501 l_object_version_number pay_us_emp_city_tax_rules_f.object_version_number%TYPE;
502 l_effective_start_date pay_us_emp_city_tax_rules_f.effective_start_date%TYPE;
503 l_effective_end_date pay_us_emp_city_tax_rules_f.effective_end_date%TYPE;
504 l_assignment_id pay_us_emp_city_tax_rules_f.assignment_id%TYPE;
505 l_jurisdiction_code pay_us_emp_city_tax_rules_f.jurisdiction_code%TYPE;
506 --
507 CURSOR csr_assignment_id (p_rule_id NUMBER,
508 p_eff_date DATE) IS
509 SELECT ctr.assignment_id,
510 ctr.state_code||'-'||ctr.school_district_code
511 FROM pay_us_emp_city_tax_rules_f ctr
512 WHERE ctr.emp_city_tax_rule_id = p_rule_id
513 AND p_eff_date BETWEEN ctr.effective_start_date
514 AND ctr.effective_end_date;
515 --
516 begin
517 --
518 hr_utility.set_location('Entering:'|| l_proc, 10);
519 --
520 -- Issue a savepoint
521 --
522 savepoint update_city_tax_rule;
523 --
524 hr_utility.set_location(l_proc, 15);
525 --
526 -- Process Logic
527 --
528 -- Changed call to check hr_general.chk_maintain_tax_records to
529 -- determine if we need to maintain tax records.
530 --
531 IF hr_general.chk_maintain_tax_records = 'N' Then
532 return;
533 end if;
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_city_tax_rule
541 --
542 pay_cty_bk2.update_city_tax_rule_b
543 (
544 p_emp_city_tax_rule_id => p_emp_city_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_city_code => p_city_code
549 ,p_business_group_id => l_business_group_id
550 ,p_additional_wa_rate => p_additional_wa_rate
551 ,p_filing_status_code => p_filing_status_code
552 ,p_jurisdiction_code => l_jurisdiction_code
553 ,p_lit_additional_tax => p_lit_additional_tax
554 ,p_lit_override_amount => p_lit_override_amount
555 ,p_lit_override_rate => p_lit_override_rate
556 ,p_withholding_allowances => p_withholding_allowances
557 ,p_lit_exempt => p_lit_exempt
558 ,p_sd_exempt => p_sd_exempt
559 ,p_ht_exempt => p_ht_exempt
560 ,p_wage_exempt => p_wage_exempt
561 ,p_school_district_code => p_school_district_code
562 ,p_object_version_number => p_object_version_number
563 );
564 exception
565 when hr_api.cannot_find_prog_unit then
566 hr_api.cannot_find_prog_unit_error
567 (p_module_name => 'UPDATE_CITY_TAX_RULE'
568 ,p_hook_type => 'BP'
569 );
570 --
571 -- End of API User Hook for the before hook of update_city_tax_rule
572 --
573 end;
574 */
575 --
576 pay_cty_upd.upd
577 (
578 p_emp_city_tax_rule_id => p_emp_city_tax_rule_id
579 ,p_effective_start_date => l_effective_start_date
580 ,p_effective_end_date => l_effective_end_date
581 ,p_additional_wa_rate => p_additional_wa_rate
582 ,p_filing_status_code => p_filing_status_code
583 ,p_lit_additional_tax => p_lit_additional_tax
584 ,p_lit_override_amount => p_lit_override_amount
585 ,p_lit_override_rate => p_lit_override_rate
586 ,p_withholding_allowances => p_withholding_allowances
587 ,p_lit_exempt => p_lit_exempt
588 ,p_sd_exempt => p_sd_exempt
589 ,p_ht_exempt => p_ht_exempt
590 ,p_wage_exempt => p_wage_exempt
591 ,p_school_district_code => p_school_district_code
592 ,p_object_version_number => l_object_version_number
593 ,p_effective_date => p_effective_date
594 ,p_datetrack_mode => p_datetrack_mode
595 ,p_attribute_category => p_attribute_category
596 ,p_attribute1 => p_attribute1
597 ,p_attribute2 => p_attribute2
598 ,p_attribute3 => p_attribute3
599 ,p_attribute4 => p_attribute4
600 ,p_attribute5 => p_attribute5
601 ,p_attribute6 => p_attribute6
602 ,p_attribute7 => p_attribute7
603 ,p_attribute8 => p_attribute8
604 ,p_attribute9 => p_attribute9
605 ,p_attribute10 => p_attribute10
606 ,p_attribute11 => p_attribute11
607 ,p_attribute12 => p_attribute12
608 ,p_attribute13 => p_attribute13
609 ,p_attribute14 => p_attribute14
610 ,p_attribute15 => p_attribute15
611 ,p_attribute16 => p_attribute16
612 ,p_attribute17 => p_attribute17
613 ,p_attribute18 => p_attribute18
614 ,p_attribute19 => p_attribute19
615 ,p_attribute20 => p_attribute20
616 ,p_attribute21 => p_attribute21
617 ,p_attribute22 => p_attribute22
618 ,p_attribute23 => p_attribute23
619 ,p_attribute24 => p_attribute24
620 ,p_attribute25 => p_attribute25
621 ,p_attribute26 => p_attribute26
622 ,p_attribute27 => p_attribute27
623 ,p_attribute28 => p_attribute28
624 ,p_attribute29 => p_attribute29
625 ,p_attribute30 => p_attribute30
626 ,p_cty_information_category => p_cty_information_category
627 ,p_cty_information1 => p_cty_information1
628 ,p_cty_information2 => p_cty_information2
629 ,p_cty_information3 => p_cty_information3
630 ,p_cty_information4 => p_cty_information4
631 ,p_cty_information5 => p_cty_information5
632 ,p_cty_information6 => p_cty_information6
633 ,p_cty_information7 => p_cty_information7
634 ,p_cty_information8 => p_cty_information8
635 ,p_cty_information9 => p_cty_information9
636 ,p_cty_information10 => p_cty_information10
637 ,p_cty_information11 => p_cty_information11
638 ,p_cty_information12 => p_cty_information12
639 ,p_cty_information13 => p_cty_information13
640 ,p_cty_information14 => p_cty_information14
641 ,p_cty_information15 => p_cty_information15
642 ,p_cty_information16 => p_cty_information16
643 ,p_cty_information17 => p_cty_information17
644 ,p_cty_information18 => p_cty_information18
645 ,p_cty_information19 => p_cty_information19
646 ,p_cty_information20 => p_cty_information20
647 ,p_cty_information21 => p_cty_information21
648 ,p_cty_information22 => p_cty_information22
649 ,p_cty_information23 => p_cty_information23
650 ,p_cty_information24 => p_cty_information24
651 ,p_cty_information25 => p_cty_information25
652 ,p_cty_information26 => p_cty_information26
653 ,p_cty_information27 => p_cty_information27
654 ,p_cty_information28 => p_cty_information28
655 ,p_cty_information29 => p_cty_information29
656 ,p_cty_information30 => p_cty_information30
657 );
658 --
659 -- Call create_asg_geo_row to create rows in the pay_us_asg_reporting
660 -- table if this city school district has changed.
661 --
662 if p_school_district_code IS NOT NULL AND
663 p_school_district_code <> hr_api.g_varchar2 THEN
664 hr_utility.set_location(l_proc, 22);
665 OPEN csr_assignment_id(p_emp_city_tax_rule_id,
666 p_effective_date);
667 FETCH csr_assignment_id
668 INTO l_assignment_id,
669 l_jurisdiction_code;
670 pay_asg_geo_pkg.create_asg_geo_row(
671 p_assignment_id => l_assignment_id
672 ,p_jurisdiction => l_jurisdiction_code
673 );
674 CLOSE csr_assignment_id;
675 end if;
676 --
677 /*
678 begin
679 --
680 -- Start of API User Hook for the after hook of update_city_tax_rule
681 --
682 pay_cty_bk2.update_city_tax_rule_a
683 (
684 p_emp_city_tax_rule_id => p_emp_city_tax_rule_id
685 ,p_effective_start_date => l_effective_start_date
686 ,p_effective_end_date => l_effective_end_date
687 ,p_assignment_id => p_assignment_id
688 ,p_state_code => p_state_code
689 ,p_county_code => p_county_code
690 ,p_city_code => p_city_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 => p_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 => p_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_CITY_TAX_RULE'
710 ,p_hook_type => 'AP'
711 );
712 --
713 -- End of API User Hook for the after hook of update_city_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_city_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_city_tax_rule;
757 p_effective_start_date := null;
758 p_effective_end_date := null;
759 p_object_version_number := l_object_version_number;
760
761 raise;
762 --
763 end update_city_tax_rule;
764 --
765 --
766 -- ----------------------------------------------------------------------------
767 -- |-------------------------------< lck >------------------------------------|
768 -- ----------------------------------------------------------------------------
769 --
770 procedure lck
771 (
772 p_emp_city_tax_rule_id in number
773 ,p_object_version_number in number
774 ,p_effective_date in date
775 ,p_datetrack_mode in varchar2
776 ,p_validation_start_date out nocopy date
777 ,p_validation_end_date out nocopy date
778 ) is
779 --
780 --
781 -- Declare cursors and local variables
782 --
783 l_proc varchar2(72) := g_package||'update_city_tax_rule';
784 l_validation_start_date date;
785 l_validation_end_date date;
786 --
787 begin
788 --
789 hr_utility.set_location('Entering:'|| l_proc, 10);
790 --
791 pay_cty_shd.lck
792 (
793 p_emp_city_tax_rule_id => p_emp_city_tax_rule_id
794 ,p_validation_start_date => l_validation_start_date
795 ,p_validation_end_date => l_validation_end_date
796 ,p_object_version_number => p_object_version_number
797 ,p_effective_date => p_effective_date
798 ,p_datetrack_mode => p_datetrack_mode
799 );
800 --
801 hr_utility.set_location(' Leaving:'||l_proc, 70);
802 --
803 end lck;
804 --
805 end pay_city_tax_rule_api;