DBA Data[Home] [Help]

PACKAGE BODY: APPS.PAY_CPT_SHD

Source


1 Package Body pay_cpt_shd as
2 /* $Header: pycprrhi.pkb 120.1.12010000.3 2008/08/06 07:04:33 ubhat ship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33)	:= '  pay_cpt_shd.';  -- Global package name
9 --
10 -- ----------------------------------------------------------------------------
11 -- |------------------------< return_api_dml_status >-------------------------|
12 -- ----------------------------------------------------------------------------
13 Function return_api_dml_status Return Boolean Is
14 --
15   l_proc 	varchar2(72) := g_package||'return_api_dml_status';
16 --
17 Begin
18   hr_utility.set_location('Entering:'||l_proc, 5);
19   --
20   Return (nvl(g_api_dml, false));
21   --
22   hr_utility.set_location(' Leaving:'||l_proc, 10);
23 End return_api_dml_status;
24 --
25 -- ----------------------------------------------------------------------------
26 -- |---------------------------< constraint_error >---------------------------|
27 -- ----------------------------------------------------------------------------
28 Procedure constraint_error
29             (p_constraint_name in all_constraints.constraint_name%TYPE) Is
30 --
31   l_proc 	varchar2(72) := g_package||'constraint_error';
32 --
33 Begin
34   hr_utility.set_location('Entering:'||l_proc, 5);
35   --
36   If (p_constraint_name = 'PAY_CA_EMP_PROVIN_TAX_RULES_PK') Then
37     hr_utility.set_message(800, 'HR_6153_ALL_PROCEDURE_FAIL');
38     hr_utility.set_message_token('PROCEDURE', l_proc);
39     hr_utility.set_message_token('STEP','5');
40     hr_utility.raise_error;
41   Else
42     hr_utility.set_message(800, 'HR_7877_API_INVALID_CONSTRAINT');
43     hr_utility.set_message_token('PROCEDURE', l_proc);
44     hr_utility.set_message_token('CONSTRAINT_NAME', p_constraint_name);
45     hr_utility.raise_error;
46   End If;
47   --
48   hr_utility.set_location(' Leaving:'||l_proc, 10);
49 End constraint_error;
50 --
51 -- ----------------------------------------------------------------------------
52 -- |-----------------------------< api_updating >-----------------------------|
53 -- ----------------------------------------------------------------------------
54 Function api_updating
55   (p_effective_date		in date,
56    p_emp_province_tax_inf_id		in number,
57    p_object_version_number	in number
58   ) Return Boolean Is
59 --
60   --
61   -- Cursor selects the 'current' row from the HR Schema
62   --
63   Cursor C_Sel1 is
64     select
65 	emp_province_tax_inf_id,
66 	effective_start_date,
67 	effective_end_date,
68 	legislation_code,
69 	assignment_id,
70 	business_group_id,
71 	province_code,
72 	jurisdiction_code,
73 	tax_credit_amount,
74 	basic_exemption_flag,
75 	deduction_code,
76 	extra_info_not_provided,
77 	marriage_status,
78 	no_of_infirm_dependants,
79 	non_resident_status,
80 	disability_status,
81 	no_of_dependants,
82 	annual_dedn,
83 	total_expense_by_commission,
84 	total_remnrtn_by_commission,
85 	prescribed_zone_dedn_amt,
86 	additional_tax,
87 	prov_override_rate,
88 	prov_override_amount,
89 	prov_exempt_flag,
90 	pmed_exempt_flag,
91 	wc_exempt_flag,
92 	qpp_exempt_flag,
93 	tax_calc_method,
94 	other_tax_credit,
95 	ca_tax_information_category,
96 	ca_tax_information1,
97 	ca_tax_information2,
98 	ca_tax_information3,
99 	ca_tax_information4,
100 	ca_tax_information5,
101 	ca_tax_information6,
102 	ca_tax_information7,
103 	ca_tax_information8,
104 	ca_tax_information9,
105 	ca_tax_information10,
106 	ca_tax_information11,
107 	ca_tax_information12,
108 	ca_tax_information13,
109 	ca_tax_information14,
110 	ca_tax_information15,
111 	ca_tax_information16,
112 	ca_tax_information17,
113 	ca_tax_information18,
114 	ca_tax_information19,
115 	ca_tax_information20,
116 	ca_tax_information21,
117 	ca_tax_information22,
118 	ca_tax_information23,
119 	ca_tax_information24,
120 	ca_tax_information25,
121 	ca_tax_information26,
122 	ca_tax_information27,
123 	ca_tax_information28,
124 	ca_tax_information29,
125 	ca_tax_information30,
126 	object_version_number,
127 	prov_lsp_amount,
128         ppip_exempt_flag
129     from	pay_ca_emp_prov_tax_info_f
130     where	emp_province_tax_inf_id = p_emp_province_tax_inf_id
131     and		p_effective_date
132     between	effective_start_date and effective_end_date;
133 --
134   l_proc	varchar2(72)	:= g_package||'api_updating';
135   l_fct_ret	boolean;
136 --
137 Begin
138   hr_utility.set_location('Entering:'||l_proc, 5);
139   --
140   If (p_effective_date is null or
141       p_emp_province_tax_inf_id is null or
142       p_object_version_number is null) Then
143     --
144     -- One of the primary key arguments is null therefore we must
145     -- set the returning function value to false
146     --
147     l_fct_ret := false;
148   Else
149     If (p_emp_province_tax_inf_id = g_old_rec.emp_province_tax_inf_id and
150         p_object_version_number = g_old_rec.object_version_number) Then
151       hr_utility.set_location(l_proc, 10);
152       --
153       -- The g_old_rec is current therefore we must
154       -- set the returning function to true
155       --
156       l_fct_ret := true;
157     Else
158       --
159       -- Select the current row
160       --
161       Open C_Sel1;
162       Fetch C_Sel1 Into g_old_rec;
163       If C_Sel1%notfound Then
164         Close C_Sel1;
165         --
166         -- The primary key is invalid therefore we must error
167         --
168         hr_utility.set_message(800, 'HR_7220_INVALID_PRIMARY_KEY');
169         hr_utility.raise_error;
170       End If;
171       Close C_Sel1;
172       If (p_object_version_number <> g_old_rec.object_version_number) Then
173         hr_utility.set_message(800, 'HR_7155_OBJECT_INVALID');
174         hr_utility.raise_error;
175       End If;
176       hr_utility.set_location(l_proc, 15);
177       l_fct_ret := true;
178     End If;
179   End If;
180   hr_utility.set_location(' Leaving:'||l_proc, 20);
181   Return (l_fct_ret);
182 --
183 End api_updating;
184 --
185 -- ----------------------------------------------------------------------------
186 -- |--------------------------< find_dt_del_modes >---------------------------|
187 -- ----------------------------------------------------------------------------
188 Procedure find_dt_del_modes
189 	(p_effective_date	in  date,
190 	 p_base_key_value	in  number,
191 	 p_zap			out nocopy boolean,
192 	 p_delete		out nocopy boolean,
193 	 p_future_change	out nocopy boolean,
194 	 p_delete_next_change	out nocopy boolean) is
195 --
196   l_proc 		varchar2(72) 	:= g_package||'find_dt_del_modes';
197 --
198   l_parent_key_value1	number;
199   --
200   Cursor C_Sel1 Is
201     select  t.assignment_id
202     from    pay_ca_emp_prov_tax_info_f t
203     where   t.emp_province_tax_inf_id = p_base_key_value
204     and     p_effective_date
205     between t.effective_start_date and t.effective_end_date;
206 --
207 Begin
208   hr_utility.set_location('Entering:'||l_proc, 5);
209   Open  C_Sel1;
210   Fetch C_Sel1 Into l_parent_key_value1;
211   If C_Sel1%notfound then
212     Close C_Sel1;
213     hr_utility.set_message(800, 'HR_6153_ALL_PROCEDURE_FAIL');
214     hr_utility.set_message_token('PROCEDURE', l_proc);
215     hr_utility.set_message_token('STEP','10');
216     hr_utility.raise_error;
217   End If;
218   Close C_Sel1;
219   --
220   -- Call the corresponding datetrack api
221   --
222   dt_api.find_dt_del_modes
223 	(p_effective_date	=> p_effective_date,
224 	 p_base_table_name	=> 'pay_ca_emp_prov_tax_info_f',
225 	 p_base_key_column	=> 'emp_province_tax_inf_id',
226 	 p_base_key_value	=> p_base_key_value,
227 	 p_parent_table_name1	=> 'per_all_assignments_f',
228 	 p_parent_key_column1	=> 'assignment_id',
229 	 p_parent_key_value1	=> l_parent_key_value1,
230 	 p_zap			=> p_zap,
231 	 p_delete		=> p_delete,
232 	 p_future_change	=> p_future_change,
233 	 p_delete_next_change	=> p_delete_next_change);
234   --
235 /* Only ZAP mode of deletion is allowed */
236 
237   p_delete := false;
238   p_future_change := false;
239   p_delete_next_change := false;
240 
241   hr_utility.set_location(' Leaving:'||l_proc, 10);
242 End find_dt_del_modes;
243 --
244 -- ----------------------------------------------------------------------------
245 -- |--------------------------< find_dt_upd_modes >---------------------------|
246 -- ----------------------------------------------------------------------------
247 Procedure find_dt_upd_modes
248 	(p_effective_date	in  date,
249 	 p_base_key_value	in  number,
250 	 p_correction		out nocopy boolean,
251 	 p_update		out nocopy boolean,
252 	 p_update_override	out nocopy boolean,
253 	 p_update_change_insert	out nocopy boolean) is
254 --
255   l_proc 	varchar2(72) := g_package||'find_dt_upd_modes';
256 --
257 Begin
258   hr_utility.set_location('Entering:'||l_proc, 5);
259   --
260   -- Call the corresponding datetrack api
261   --
262   dt_api.find_dt_upd_modes
263 	(p_effective_date	=> p_effective_date,
264 	 p_base_table_name	=> 'pay_ca_emp_prov_tax_info_f',
265 	 p_base_key_column	=> 'emp_province_tax_inf_id',
266 	 p_base_key_value	=> p_base_key_value,
267 	 p_correction		=> p_correction,
268 	 p_update		=> p_update,
269 	 p_update_override	=> p_update_override,
270 	 p_update_change_insert	=> p_update_change_insert);
271   --
272   hr_utility.set_location(' Leaving:'||l_proc, 10);
273 End find_dt_upd_modes;
274 --
275 -- ----------------------------------------------------------------------------
276 -- |------------------------< upd_effective_end_date >------------------------|
277 -- ----------------------------------------------------------------------------
278 Procedure upd_effective_end_date
279 	(p_effective_date		in date,
280 	 p_base_key_value		in number,
281 	 p_new_effective_end_date	in date,
282 	 p_validation_start_date	in date,
283 	 p_validation_end_date		in date,
284          p_object_version_number       out nocopy number) is
285 --
286   l_proc 		  varchar2(72) := g_package||'upd_effective_end_date';
287   l_object_version_number number;
288 --
289 Begin
290   hr_utility.set_location('Entering:'||l_proc, 5);
291   --
292   -- Because we are updating a row we must get the next object
293   -- version number.
294   --
295   l_object_version_number :=
296     dt_api.get_object_version_number
297 	(p_base_table_name	=> 'pay_ca_emp_prov_tax_info_f',
298 	 p_base_key_column	=> 'emp_province_tax_inf_id',
299 	 p_base_key_value	=> p_base_key_value);
300   --
301   hr_utility.set_location(l_proc, 10);
302   g_api_dml := true;  -- Set the api dml status
303   --
304   -- Update the specified datetrack row setting the effective
305   -- end date to the specified new effective end date.
306   --
307   update  pay_ca_emp_prov_tax_info_f t
308   set	  t.effective_end_date	  = p_new_effective_end_date,
309 	  t.object_version_number = l_object_version_number
310   where	  t.emp_province_tax_inf_id	  = p_base_key_value
311   and	  p_effective_date
312   between t.effective_start_date and t.effective_end_date;
313   --
314   g_api_dml := false;   -- Unset the api dml status
315   p_object_version_number := l_object_version_number;
316   hr_utility.set_location(' Leaving:'||l_proc, 15);
317 --
318 Exception
319   When Others Then
320     g_api_dml := false;   -- Unset the api dml status
321     Raise;
322 End upd_effective_end_date;
323 --
324 -- ----------------------------------------------------------------------------
325 -- |---------------------------------< lck >----------------------------------|
326 -- ----------------------------------------------------------------------------
327 Procedure lck
328 	(p_effective_date	 in  date,
329 	 p_datetrack_mode	 in  varchar2,
330 	 p_emp_province_tax_inf_id	 in  number,
331 	 p_object_version_number in  number,
332 	 p_validation_start_date out nocopy date,
333 	 p_validation_end_date	 out nocopy date) is
334 --
335   l_proc		  varchar2(72) := g_package||'lck';
336   l_validation_start_date date;
337   l_validation_end_date	  date;
338   l_object_invalid 	  exception;
339   l_argument		  varchar2(30);
340   --
341   -- Cursor C_Sel1 selects the current locked row as of session date
342   -- ensuring that the object version numbers match.
343   --
344   Cursor C_Sel1 is
345     select
346 	emp_province_tax_inf_id,
347 	effective_start_date,
348 	effective_end_date,
349 	legislation_code,
350 	assignment_id,
351 	business_group_id,
352 	province_code,
353 	jurisdiction_code,
354 	tax_credit_amount,
355 	basic_exemption_flag,
356 	deduction_code,
357 	extra_info_not_provided,
358 	marriage_status,
359 	no_of_infirm_dependants,
360 	non_resident_status,
361 	disability_status,
362 	no_of_dependants,
363 	annual_dedn,
364 	total_expense_by_commission,
365 	total_remnrtn_by_commission,
366 	prescribed_zone_dedn_amt,
367 	additional_tax,
368 	prov_override_rate,
369 	prov_override_amount,
370 	prov_exempt_flag,
371 	pmed_exempt_flag,
372 	wc_exempt_flag,
373 	qpp_exempt_flag,
374 	tax_calc_method,
375 	other_tax_credit,
376 	ca_tax_information_category,
377 	ca_tax_information1,
378 	ca_tax_information2,
379 	ca_tax_information3,
380 	ca_tax_information4,
381 	ca_tax_information5,
382 	ca_tax_information6,
383 	ca_tax_information7,
384 	ca_tax_information8,
385 	ca_tax_information9,
386 	ca_tax_information10,
387 	ca_tax_information11,
388 	ca_tax_information12,
389 	ca_tax_information13,
390 	ca_tax_information14,
391 	ca_tax_information15,
392 	ca_tax_information16,
393 	ca_tax_information17,
394 	ca_tax_information18,
395 	ca_tax_information19,
396 	ca_tax_information20,
397 	ca_tax_information21,
398 	ca_tax_information22,
399 	ca_tax_information23,
400 	ca_tax_information24,
401 	ca_tax_information25,
402 	ca_tax_information26,
403 	ca_tax_information27,
404 	ca_tax_information28,
405 	ca_tax_information29,
406 	ca_tax_information30,
407 	object_version_number,
408 	prov_lsp_amount,
409         ppip_exempt_flag
410     from    pay_ca_emp_prov_tax_info_f
411     where   emp_province_tax_inf_id         = p_emp_province_tax_inf_id
412     and	    p_effective_date
413     between effective_start_date and effective_end_date
414     for update nowait;
415   --
416   --
417   --
418 Begin
419   hr_utility.set_location('Entering:'||l_proc, 5);
420   --
421   -- Ensure that all the mandatory arguments are not null
422   --
423   hr_api.mandatory_arg_error(p_api_name       => l_proc,
424                              p_argument       => 'effective_date',
425                              p_argument_value => p_effective_date);
426   --
427   hr_api.mandatory_arg_error(p_api_name       => l_proc,
428                              p_argument       => 'datetrack_mode',
429                              p_argument_value => p_datetrack_mode);
430   --
431   hr_api.mandatory_arg_error(p_api_name       => l_proc,
432                              p_argument       => 'emp_province_tax_inf_id',
433                              p_argument_value => p_emp_province_tax_inf_id);
434   --
435   hr_api.mandatory_arg_error(p_api_name       => l_proc,
436                              p_argument       => 'object_version_number',
437                              p_argument_value => p_object_version_number);
438   --
439   -- Check to ensure the datetrack mode is not INSERT.
440   --
444     --
441   If (p_datetrack_mode <> 'INSERT') then
442     --
443     -- We must select and lock the current row.
445     Open  C_Sel1;
446     Fetch C_Sel1 Into g_old_rec;
447     If C_Sel1%notfound then
448       Close C_Sel1;
449       --
450       -- The primary key is invalid therefore we must error
451       --
452       hr_utility.set_message(800, 'HR_7220_INVALID_PRIMARY_KEY');
453       hr_utility.raise_error;
454     End If;
455     Close C_Sel1;
456     If (p_object_version_number <> g_old_rec.object_version_number) Then
457         hr_utility.set_message(800, 'HR_7155_OBJECT_INVALID');
458         hr_utility.raise_error;
459       End If;
460     hr_utility.set_location(l_proc, 15);
461     --
462     --
463     -- Validate the datetrack mode mode getting the validation start
464     -- and end dates for the specified datetrack operation.
465     --
466     dt_api.validate_dt_mode
467 	(p_effective_date	   => p_effective_date,
468 	 p_datetrack_mode	   => p_datetrack_mode,
469 	 p_base_table_name	   => 'pay_ca_emp_prov_tax_info_f',
470 	 p_base_key_column	   => 'emp_province_tax_inf_id',
471 	 p_base_key_value 	   => p_emp_province_tax_inf_id,
472 	 p_parent_table_name1      => 'per_all_assignments_f',
473 	 p_parent_key_column1      => 'assignment_id',
474 	 p_parent_key_value1       => g_old_rec.assignment_id,
475          p_enforce_foreign_locking => true,
476 	 p_validation_start_date   => l_validation_start_date,
477  	 p_validation_end_date	   => l_validation_end_date);
478   Else
479     --
480     -- We are doing a datetrack 'INSERT' which is illegal within this
481     -- procedure therefore we must error (note: to lck on insert the
482     -- private procedure ins_lck should be called).
483     --
484     hr_utility.set_message(800, 'HR_6153_ALL_PROCEDURE_FAIL');
485     hr_utility.set_message_token('PROCEDURE', l_proc);
486     hr_utility.set_message_token('STEP','20');
487     hr_utility.raise_error;
488   End If;
489   --
490   -- Set the validation start and end date OUT arguments
491   --
492   p_validation_start_date := l_validation_start_date;
493   p_validation_end_date   := l_validation_end_date;
494   --
495   hr_utility.set_location(' Leaving:'||l_proc, 30);
496 --
497 -- We need to trap the ORA LOCK exception
498 --
499 Exception
500   When HR_Api.Object_Locked then
501     --
502     -- The object is locked therefore we need to supply a meaningful
503     -- error message.
504     --
505     hr_utility.set_message(800, 'HR_7165_OBJECT_LOCKED');
506     hr_utility.set_message_token('TABLE_NAME', 'pay_ca_emp_prov_tax_info_f');
507     hr_utility.raise_error;
508   When l_object_invalid then
509     --
510     -- The object doesn't exist or is invalid
511     --
512     hr_utility.set_message(800, 'HR_7155_OBJECT_INVALID');
513     hr_utility.set_message_token('TABLE_NAME', 'pay_ca_emp_prov_tax_info_f');
514     hr_utility.raise_error;
515 End lck;
516 --
517 -- ----------------------------------------------------------------------------
518 -- |-----------------------------< convert_args >-----------------------------|
519 -- ----------------------------------------------------------------------------
520 Function convert_args
521 	(
522 	p_emp_province_tax_inf_id       in number,
523 	p_effective_start_date          in date,
524 	p_effective_end_date            in date,
525 	p_legislation_code              in varchar2,
526 	p_assignment_id                 in number,
527 	p_business_group_id             in number,
528 	p_province_code                 in varchar2,
529 	p_jurisdiction_code             in varchar2,
530 	p_tax_credit_amount             in number,
531 	p_basic_exemption_flag          in varchar2,
532 	p_deduction_code                in varchar2,
533 	p_extra_info_not_provided       in varchar2,
534 	p_marriage_status               in varchar2,
535 	p_no_of_infirm_dependants       in number,
536 	p_non_resident_status           in varchar2,
537 	p_disability_status             in varchar2,
538 	p_no_of_dependants              in number,
539 	p_annual_dedn                   in number,
540 	p_total_expense_by_commission   in number,
541 	p_total_remnrtn_by_commission   in number,
542 	p_prescribed_zone_dedn_amt      in number,
543 	p_additional_tax                in number,
544 	p_prov_override_rate            in number,
545 	p_prov_override_amount          in number,
546 	p_prov_exempt_flag              in varchar2,
547 	p_pmed_exempt_flag              in varchar2,
548 	p_wc_exempt_flag                in varchar2,
549 	p_qpp_exempt_flag               in varchar2,
550 	p_tax_calc_method               in varchar2,
551 	p_other_tax_credit              in number,
552 	p_ca_tax_information_category   in varchar2,
553 	p_ca_tax_information1           in varchar2,
554 	p_ca_tax_information2           in varchar2,
555 	p_ca_tax_information3           in varchar2,
556 	p_ca_tax_information4           in varchar2,
557 	p_ca_tax_information5           in varchar2,
558 	p_ca_tax_information6           in varchar2,
559 	p_ca_tax_information7           in varchar2,
560 	p_ca_tax_information8           in varchar2,
561 	p_ca_tax_information9           in varchar2,
562 	p_ca_tax_information10          in varchar2,
563 	p_ca_tax_information11          in varchar2,
564 	p_ca_tax_information12          in varchar2,
568 	p_ca_tax_information16          in varchar2,
565 	p_ca_tax_information13          in varchar2,
566 	p_ca_tax_information14          in varchar2,
567 	p_ca_tax_information15          in varchar2,
569 	p_ca_tax_information17          in varchar2,
570 	p_ca_tax_information18          in varchar2,
571 	p_ca_tax_information19          in varchar2,
572 	p_ca_tax_information20          in varchar2,
573 	p_ca_tax_information21          in varchar2,
574 	p_ca_tax_information22          in varchar2,
575 	p_ca_tax_information23          in varchar2,
576 	p_ca_tax_information24          in varchar2,
577 	p_ca_tax_information25          in varchar2,
578 	p_ca_tax_information26          in varchar2,
579 	p_ca_tax_information27          in varchar2,
580 	p_ca_tax_information28          in varchar2,
581 	p_ca_tax_information29          in varchar2,
582 	p_ca_tax_information30          in varchar2,
583 	p_object_version_number         in number,
584 	p_prov_lsp_amount               in number,
585 	p_ppip_exempt_flag               in varchar2
586 	)
587 	Return g_rec_type is
588 --
589   l_rec	  g_rec_type;
590   l_proc  varchar2(72) := g_package||'convert_args';
591 --
592 Begin
593   --
594   hr_utility.set_location('Entering:'||l_proc, 5);
595   --
596   -- Convert arguments into local l_rec structure.
597   --
598   l_rec.emp_province_tax_inf_id          := p_emp_province_tax_inf_id;
599   l_rec.effective_start_date             := p_effective_start_date;
600   l_rec.effective_end_date               := p_effective_end_date;
601   l_rec.legislation_code                 := p_legislation_code;
602   l_rec.assignment_id                    := p_assignment_id;
603   l_rec.business_group_id                := p_business_group_id;
604   l_rec.province_code                    := p_province_code;
605   l_rec.jurisdiction_code                := p_jurisdiction_code;
606   l_rec.tax_credit_amount                := p_tax_credit_amount;
607   l_rec.basic_exemption_flag             := p_basic_exemption_flag;
608   l_rec.deduction_code                   := p_deduction_code;
609   l_rec.extra_info_not_provided          := p_extra_info_not_provided;
610   l_rec.marriage_status                  := p_marriage_status;
611   l_rec.no_of_infirm_dependants          := p_no_of_infirm_dependants;
612   l_rec.non_resident_status              := p_non_resident_status;
613   l_rec.disability_status                := p_disability_status;
614   l_rec.no_of_dependants                 := p_no_of_dependants;
615   l_rec.annual_dedn                      := p_annual_dedn;
616   l_rec.total_expense_by_commission      := p_total_expense_by_commission;
617   l_rec.total_remnrtn_by_commission      := p_total_remnrtn_by_commission;
618   l_rec.prescribed_zone_dedn_amt         := p_prescribed_zone_dedn_amt;
619   l_rec.additional_tax                   := p_additional_tax;
620   l_rec.prov_override_rate               := p_prov_override_rate;
621   l_rec.prov_override_amount             := p_prov_override_amount;
622   l_rec.prov_exempt_flag                 := p_prov_exempt_flag;
623   l_rec.pmed_exempt_flag                 := p_pmed_exempt_flag;
624   l_rec.wc_exempt_flag                   := p_wc_exempt_flag;
625   l_rec.qpp_exempt_flag                  := p_qpp_exempt_flag;
626   l_rec.tax_calc_method                  := p_tax_calc_method;
627   l_rec.other_tax_credit                 := p_other_tax_credit;
628   l_rec.ca_tax_information_category      := p_ca_tax_information_category;
629   l_rec.ca_tax_information1              := p_ca_tax_information1;
630   l_rec.ca_tax_information2              := p_ca_tax_information2;
631   l_rec.ca_tax_information3              := p_ca_tax_information3;
632   l_rec.ca_tax_information4              := p_ca_tax_information4;
633   l_rec.ca_tax_information5              := p_ca_tax_information5;
634   l_rec.ca_tax_information6              := p_ca_tax_information6;
635   l_rec.ca_tax_information7              := p_ca_tax_information7;
636   l_rec.ca_tax_information8              := p_ca_tax_information8;
637   l_rec.ca_tax_information9              := p_ca_tax_information9;
638   l_rec.ca_tax_information10             := p_ca_tax_information10;
639   l_rec.ca_tax_information11             := p_ca_tax_information11;
640   l_rec.ca_tax_information12             := p_ca_tax_information12;
641   l_rec.ca_tax_information13             := p_ca_tax_information13;
642   l_rec.ca_tax_information14             := p_ca_tax_information14;
643   l_rec.ca_tax_information15             := p_ca_tax_information15;
644   l_rec.ca_tax_information16             := p_ca_tax_information16;
645   l_rec.ca_tax_information17             := p_ca_tax_information17;
646   l_rec.ca_tax_information18             := p_ca_tax_information18;
647   l_rec.ca_tax_information19             := p_ca_tax_information19;
648   l_rec.ca_tax_information20             := p_ca_tax_information20;
649   l_rec.ca_tax_information21             := p_ca_tax_information21;
650   l_rec.ca_tax_information22             := p_ca_tax_information22;
651   l_rec.ca_tax_information23             := p_ca_tax_information23;
652   l_rec.ca_tax_information24             := p_ca_tax_information24;
653   l_rec.ca_tax_information25             := p_ca_tax_information25;
654   l_rec.ca_tax_information26             := p_ca_tax_information26;
655   l_rec.ca_tax_information27             := p_ca_tax_information27;
656   l_rec.ca_tax_information28             := p_ca_tax_information28;
657   l_rec.ca_tax_information29             := p_ca_tax_information29;
658   l_rec.ca_tax_information30             := p_ca_tax_information30;
659   l_rec.object_version_number            := p_object_version_number;
660   l_rec.prov_lsp_amount            	 := p_prov_lsp_amount;
661   l_rec.ppip_exempt_flag                  := p_ppip_exempt_flag;
662   --
663   -- Return the plsql record structure.
664   --
665   hr_utility.set_location(' Leaving:'||l_proc, 10);
666   Return(l_rec);
667 --
668 End convert_args;
669 --
670 end pay_cpt_shd;