DBA Data[Home] [Help]

PACKAGE BODY: APPS.PAY_JP_ITWB_DML_PKG

Source


1 package body pay_jp_itwb_dml_pkg as
2 /* $Header: pyjpiwba.pkb 120.0.12020000.2 2013/01/24 13:52:57 dduvvuri ship $ */
3 --
4 c_package  constant varchar2(30) := 'pay_jp_itwb_dml_pkg.';
5 g_debug    boolean := hr_utility.debug_enabled;
6 --
7 c_legislation_code varchar2(2) := 'JP';
8 c_org_information_context varchar2(40) := 'JP_ITWB_ITEM_INFO';
9 --
10 -- -------------------------------------------------------------------------
11 -- next_action_information_id
12 -- -------------------------------------------------------------------------
13 function next_action_information_id return number
14 is
15   l_action_information_id number;
16   l_proc varchar2(80) := c_package||'next_action_information_id';
17 begin
18 --
19   if g_debug then
20     hr_utility.set_location(l_proc,0);
21   end if;
22 --
23   select pay_action_information_s.nextval
24   into   l_action_information_id
25   from   dual;
26 --
27   if g_debug then
28     hr_utility.set_location(l_proc,1000);
29   end if;
30 --
31   return  l_action_information_id;
32 --
33 end next_action_information_id;
34 --
35 -- -------------------------------------------------------------------------
36 -- copy_pai
37 -- -------------------------------------------------------------------------
38 procedure copy_pai(
39   p_action_context_id           in number,
40   p_effective_date              in date,
41   p_action_context_id_o         in number,
42   p_action_context_type         in varchar2,
43   p_action_information_category in varchar2,
44   p_action_information_id       out nocopy number,
45   p_object_version_number       out nocopy number)
46 is
47   l_proc varchar2(80) := c_package||'copy_pai';
48 begin
49 --
50   if g_debug then
51     hr_utility.set_location(l_proc,0);
52   end if;
53 --
54   p_action_information_id := pay_jp_itwb_dml_pkg.next_action_information_id;
55   p_object_version_number := 1;
56 --
57   insert into pay_action_information(
58     action_information_id,
59     object_version_number,
60     action_context_id,
61     action_context_type,
62     effective_date,
63     assignment_id,
64     action_information_category,
65     action_information1,
66     action_information2,
67     action_information3,
68     action_information4,
69     action_information5,
70     action_information6,
71     action_information7,
72     action_information8,
73     action_information9,
74     action_information10,
75     action_information11,
76     action_information12,
77     action_information13,
78     action_information14,
79     action_information15,
80     action_information16,
81     action_information17,
82     action_information18,
83     action_information19,
84     action_information20,
85     action_information21,
86     action_information22,
87     action_information23,
88     action_information24,
89     action_information25,
90     action_information26,
91     action_information27,
92     action_information28,
93     action_information29,
94     action_information30)
95   select  p_action_information_id,
96           p_object_version_number,
97           p_action_context_id,
98           action_context_type,
99           p_effective_date,
100           assignment_id,
101           action_information_category,
102           action_information1,
103           action_information2,
104           action_information3,
105           action_information4,
106           action_information5,
107           action_information6,
108           action_information7,
109           action_information8,
110           action_information9,
111           action_information10,
112           action_information11,
113           action_information12,
114           action_information13,
115           action_information14,
116           action_information15,
117           action_information16,
118           action_information17,
119           action_information18,
120           action_information19,
121           action_information20,
122           action_information21,
123           action_information22,
124           action_information23,
125           action_information24,
126           action_information25,
127           action_information26,
128           action_information27,
129           action_information28,
130           action_information29,
131           action_information30
132   from    pay_action_information
133   where   action_context_id = p_action_context_id_o
134   and     action_context_type = p_action_context_type
135   and     action_information_category = p_action_information_category;
136 --
137   if not (sql%rowcount > 0) then
138   --
139     p_action_information_id := to_number(null);
140     p_object_version_number := to_number(null);
141   --
142   end if;
143 --
144   if g_debug then
145     hr_utility.set_location(l_proc,1000);
146   end if;
147 --
148 end copy_pai;
149 --
150 -- -------------------------------------------------------------------------
151 -- copy_pai_type
152 -- -------------------------------------------------------------------------
153 procedure copy_pai_type(
154   p_action_context_id           in number,
155   p_effective_date              in date,
156   p_action_context_id_o         in number,
157   p_action_context_type         in varchar2,
158   p_action_information_category in varchar2,
159   p_type                        in varchar2,
160   p_action_information_id       out nocopy number,
161   p_object_version_number       out nocopy number)
162 is
163   l_proc varchar2(80) := c_package||'copy_pai_type';
164 begin
165 --
166   if g_debug then
167     hr_utility.set_location(l_proc,0);
168   end if;
169 --
170   p_action_information_id := pay_jp_itwb_dml_pkg.next_action_information_id;
171   p_object_version_number := 1;
172 --
173   insert into pay_action_information(
174     action_information_id,
175     object_version_number,
176     action_context_id,
177     action_context_type,
178     effective_date,
179     assignment_id,
180     action_information_category,
181     action_information1,
182     action_information2,
183     action_information3,
184     action_information4,
185     action_information5,
186     action_information6,
187     action_information7,
188     action_information8,
189     action_information9,
190     action_information10,
191     action_information11,
192     action_information12,
193     action_information13,
194     action_information14,
195     action_information15,
196     action_information16,
197     action_information17,
198     action_information18,
199     action_information19,
200     action_information20,
201     action_information21,
202     action_information22,
203     action_information23,
204     action_information24,
205     action_information25,
206     action_information26,
207     action_information27,
208     action_information28,
209     action_information29,
210     action_information30)
211   select  p_action_information_id,
212           p_object_version_number,
213           p_action_context_id,
214           action_context_type,
215           p_effective_date,
216           assignment_id,
217           action_information_category,
218           action_information1,
219           action_information2,
220           action_information3,
221           action_information4,
222           action_information5,
223           action_information6,
224           action_information7,
225           action_information8,
226           action_information9,
227           action_information10,
228           action_information11,
229           action_information12,
230           action_information13,
231           action_information14,
232           action_information15,
233           action_information16,
234           action_information17,
235           action_information18,
236           action_information19,
237           action_information20,
238           action_information21,
239           action_information22,
240           action_information23,
241           action_information24,
242           action_information25,
243           action_information26,
244           action_information27,
245           action_information28,
246           action_information29,
247           action_information30
248   from    pay_action_information
249   where   action_context_id = p_action_context_id_o
250   and     action_context_type = p_action_context_type
251   and     action_information_category = p_action_information_category
252   and     action_information1 = p_type;
253 --
254   if not (sql%rowcount > 0) then
255   --
256     p_action_information_id := to_number(null);
257     p_object_version_number := to_number(null);
258   --
259   end if;
260 --
261   if g_debug then
262     hr_utility.set_location(l_proc,1000);
263   end if;
264 --
265 end copy_pai_type;
266 --
267 -- -------------------------------------------------------------------------
268 -- copy_pai_item
269 -- -------------------------------------------------------------------------
270 procedure copy_pai_item(
271   p_action_context_id           in number,
272   p_effective_date              in date,
273   p_action_context_id_o         in number,
274   p_action_context_type         in varchar2,
275   p_action_information_category in varchar2,
276   p_item_pay_id                 in number,
277   p_item_type                   in varchar2,
278   p_item_id                     in number,
279   p_action_information_id       out nocopy number,
280   p_object_version_number       out nocopy number)
281 is
282   l_proc varchar2(80) := c_package||'copy_pai_item';
283 begin
284 --
285   if g_debug then
286     hr_utility.set_location(l_proc,0);
287   end if;
288 --
289   p_action_information_id := pay_jp_itwb_dml_pkg.next_action_information_id;
290   p_object_version_number := 1;
291 --
292   insert into pay_action_information(
293     action_information_id,
294     object_version_number,
295     action_context_id,
296     action_context_type,
297     effective_date,
298     assignment_id,
299     action_information_category,
300     action_information1,
301     action_information2,
302     action_information3,
303     action_information4,
304     action_information5,
305     action_information6,
306     action_information7,
307     action_information8,
308     action_information9,
309     action_information10,
310     action_information11,
311     action_information12,
312     action_information13,
313     action_information14,
314     action_information15,
315     action_information16,
316     action_information17,
317     action_information18,
318     action_information19,
319     action_information20,
320     action_information21,
321     action_information22,
322     action_information23,
323     action_information24,
324     action_information25,
325     action_information26,
326     action_information27,
327     action_information28,
328     action_information29,
329     action_information30)
330   select  p_action_information_id,
331           p_object_version_number,
332           p_action_context_id,
333           action_context_type,
334           p_effective_date,
335           assignment_id,
336           action_information_category,
337           action_information1,
338           action_information2,
339           action_information3,
340           action_information4,
341           action_information5,
342           action_information6,
343           action_information7,
344           action_information8,
345           action_information9,
346           action_information10,
347           action_information11,
348           action_information12,
349           action_information13,
350           action_information14,
351           action_information15,
352           action_information16,
353           action_information17,
354           action_information18,
355           action_information19,
356           action_information20,
357           action_information21,
358           action_information22,
359           action_information23,
360           action_information24,
361           action_information25,
362           action_information26,
363           action_information27,
364           action_information28,
365           action_information29,
366           action_information30
367   from    pay_action_information
368   where   action_context_id = p_action_context_id_o
369   and     action_context_type = p_action_context_type
370   and     action_information_category = p_action_information_category
371   and     action_information1 = fnd_number.number_to_canonical(p_item_pay_id)
372   and     action_information3 = p_item_type
373   and     action_information4 = fnd_number.number_to_canonical(p_item_id);
374 --
375   if not (sql%rowcount > 0) then
376   --
377     p_action_information_id := to_number(null);
378     p_object_version_number := to_number(null);
379   --
380   end if;
381 --
382   if g_debug then
383     hr_utility.set_location(l_proc,1000);
384   end if;
385 --
386 end copy_pai_item;
387 --
388 -- -------------------------------------------------------------------------
389 -- copy_pai_all_item
390 -- -------------------------------------------------------------------------
391 procedure copy_pai_all_item(
392   p_action_context_id           in number,
393   p_effective_date              in date,
394   p_action_information_category in varchar2,
395   p_action_context_id_o         in number)
396 is
397 --
398   l_proc varchar2(80) := c_package||'copy_pai_all_item';
399 --
400   l_action_information_id number;
401   l_object_version_number number;
402 --
403   cursor csr_pai_item
404   is
405   select fnd_number.canonical_to_number(action_information1) item_pay_id,
406          action_information3 item_pay_type,
407          fnd_number.canonical_to_number(action_information4) item_id
408   from   pay_action_information
409   where  action_context_id = p_action_context_id_o
410   and    action_information_category = p_action_information_category
411   and    action_context_type = 'AAP'
412   order by
413     fnd_number.canonical_to_number(action_information2) desc,
414     fnd_number.canonical_to_number(action_information5) desc;
415 --
416   l_csr_pai_item csr_pai_item%rowtype;
417 --
418 begin
419 --
420   if g_debug then
421     hr_utility.set_location(l_proc,0);
422   end if;
423 --
424   open csr_pai_item;
425   loop
426   --
427     fetch csr_pai_item into l_csr_pai_item;
428     exit when csr_pai_item%notfound;
429   --
430     copy_pai_item(
431       p_action_context_id           => p_action_context_id,
432       p_effective_date              => p_effective_date,
433       p_action_context_id_o         => p_action_context_id_o,
434       p_action_context_type         => 'AAP',
435       p_action_information_category => p_action_information_category,
436       p_item_pay_id                 => l_csr_pai_item.item_pay_id,
437       p_item_type                   => l_csr_pai_item.item_pay_type,
438       p_item_id                     => l_csr_pai_item.item_id,
439       p_action_information_id       => l_action_information_id,
440       p_object_version_number       => l_object_version_number);
441   --
442   end loop;
443   close csr_pai_item;
444 --
445   if g_debug then
446     hr_utility.set_location(l_proc,1000);
447   end if;
448 --
449 end copy_pai_all_item;
450 --
451 -- -------------------------------------------------------------------------
452 -- create_pact
453 -- -------------------------------------------------------------------------
454 procedure create_pact(
455   p_action_information_id       in number,
456   p_payroll_action_id           in number,
457   p_action_context_type         in varchar2,
458   p_effective_date              in date,
459   p_action_information_category in varchar2,
460   p_status                      in varchar2,
461   p_itax_org_id                 in number,
462   p_archive_sequence            in number,
463   p_payroll_action_id_o         in number,
464   p_object_version_number       out nocopy number)
465 is
466   l_proc varchar2(80) := c_package||'create_pact';
467 begin
468 --
469   if g_debug then
470     hr_utility.set_location(l_proc,0);
471   end if;
472 --
473   p_object_version_number := 1;
474 --
475   insert into pay_action_information(
476     action_information_id,
477     object_version_number,
478     action_context_id,
479     action_context_type,
480     effective_date,
481     action_information_category,
482     action_information1,
483     action_information2,
484     action_information3,
485     action_information4)
486   values(
487     p_action_information_id,
488     p_object_version_number,
489     p_payroll_action_id,
490     p_action_context_type,
491     p_effective_date,
492     p_action_information_category,
493     p_status,
494     fnd_number.number_to_canonical(p_itax_org_id),
495     fnd_number.number_to_canonical(p_archive_sequence),
496     fnd_number.number_to_canonical(p_payroll_action_id_o));
497 --
498   if g_debug then
499     hr_utility.set_location(l_proc,1000);
500   end if;
501 --
502 end create_pact;
503 --
504 -- -------------------------------------------------------------------------
505 -- create_itax_org
506 -- -------------------------------------------------------------------------
507 procedure create_itax_org(
508   p_action_information_id       in number,
509   p_payroll_action_id           in number,
510   p_action_context_type         in varchar2,
511   p_effective_date              in date,
512   p_action_information_category in varchar2,
513   p_itax_org_id                 in number,
514   p_name                        in varchar2,
515   p_name_kana                   in varchar2,
516   p_address1                    in varchar2,
517   p_address2                    in varchar2,
518   p_address_kana1               in varchar2,
519   p_address_kana2               in varchar2,
520   p_phone                       in varchar2,
521   p_serial1                     in varchar2,
522   p_serial2                     in varchar2,
523   p_object_version_number       out nocopy number)
524 is
525   l_proc varchar2(80) := c_package||'create_itax_org';
526 begin
527 --
528   if g_debug then
529     hr_utility.set_location(l_proc,0);
530   end if;
531 --
532   p_object_version_number := 1;
533 --
534   insert into pay_action_information(
535     action_information_id,
536     object_version_number,
537     action_context_id,
538     action_context_type,
539     effective_date,
540     action_information_category,
541     action_information1,
542     action_information2,
543     action_information3,
544     action_information4,
545     action_information5,
546     action_information6,
547     action_information7,
548     action_information8,
549     action_information9,
550     action_information10)
551   values(
552     p_action_information_id,
553     p_object_version_number,
554     p_payroll_action_id,
555     p_action_context_type,
556     p_effective_date,
557     p_action_information_category,
558     fnd_number.number_to_canonical(p_itax_org_id),
559     p_name,
560     p_name_kana,
561     p_address1,
562     p_address2,
563     p_address_kana1,
564     p_address_kana2,
565     p_phone,
566     p_serial1,
567     p_serial2);
568 --
569   if g_debug then
570     hr_utility.set_location(l_proc,1000);
571   end if;
572 --
573 end create_itax_org;
574 --
575 -- -------------------------------------------------------------------------
576 -- create_assact
577 -- -------------------------------------------------------------------------
578 procedure create_assact(
579   p_action_information_id       in number,
580   p_assignment_action_id        in number,
581   p_action_context_type         in varchar2,
582   p_assignment_id               in number,
583   p_effective_date              in date,
584   p_action_information_category in varchar2,
585   p_status                      in varchar2,
586   p_proc_assignment_action_id   in number,
587   p_organization_id             in number,
588   p_job_id                      in number,
589   p_payroll_id                  in number,
590   p_location_id                 in number,
591   p_termination_date            in date,
592   p_leaving_reason              in varchar2,
593   p_arch_assignment_action_id_o in number,
594   p_object_version_number       out nocopy number)
595 is
596   l_proc varchar2(80) := c_package||'create_assact';
597 begin
598 --
599   if g_debug then
600     hr_utility.set_location(l_proc,0);
601   end if;
602 --
603   p_object_version_number := 1;
604 --
605   insert into pay_action_information(
606     action_information_id,
607     object_version_number,
608     action_context_id,
609     action_context_type,
610     effective_date,
611     assignment_id,
612     action_information_category,
613     action_information1,
614     action_information2,
615     action_information3,
616     action_information4,
617     action_information5,
618     action_information6,
619     action_information7,
620     action_information8,
621     action_information9)
622   values(
623     p_action_information_id,
624     p_object_version_number,
625     p_assignment_action_id,
626     p_action_context_type,
627     p_effective_date,
628     p_assignment_id,
629     p_action_information_category,
630     p_status,
631     fnd_number.number_to_canonical(p_proc_assignment_action_id),
632     fnd_number.number_to_canonical(p_organization_id),
633     fnd_number.number_to_canonical(p_job_id),
634     fnd_number.number_to_canonical(p_payroll_id),
635     fnd_number.number_to_canonical(p_location_id),
636     fnd_date.date_to_canonical(p_termination_date),
637     p_leaving_reason,
638     fnd_number.number_to_canonical(p_arch_assignment_action_id_o));
639 --
640   if g_debug then
641     hr_utility.set_location(l_proc,1000);
642   end if;
643 --
644 end create_assact;
645 --
646 -- -------------------------------------------------------------------------
647 -- update_assact
648 -- -------------------------------------------------------------------------
649 procedure update_assact(
650   p_assignment_action_id        in number,
651   p_effective_date              in date,
652   p_arch_assignment_action_id_o in number,
653   p_proc_assignment_action_id   in number,
654   p_proc_assact_date_o          in date,
655   p_status                      in varchar2,
656   p_organization_id             in number,
657   p_job_id                      in number,
658   p_payroll_id                  in number,
659   p_location_id                 in number,
660   p_termination_date            in date,
661   p_leaving_reason              in varchar2,
662   p_action_information_id       out nocopy number,
663   p_object_version_number       out nocopy number)
664 is
665 --
666   l_proc varchar2(80) := c_package||'update_assact';
667 --
668 begin
669 --
670   if g_debug then
671     hr_utility.set_location(l_proc,0);
672   end if;
673 --
674   copy_pai(
675     p_assignment_action_id,
676     p_effective_date,
677     p_arch_assignment_action_id_o,
678     'AAP',
679     'JP_ITWB_ASSACT',
680     p_action_information_id,
681     p_object_version_number);
682 --
683   if g_debug then
684     hr_utility.set_location(l_proc,10);
685   end if;
686 --
687   if p_action_information_id is null then
688   --
689     if g_debug then
690       hr_utility.set_location(l_proc,20);
691     end if;
692   --
693     fnd_message.set_name('PAY','PAY_34985_INVALID_PAY_ACTION');
694     fnd_message.raise_error;
695   --
696   else
697   --
698     if g_debug then
699       hr_utility.set_location(l_proc,30);
700     end if;
701   --
702     p_object_version_number := p_object_version_number + 1;
703   --
704     -- inherit latest proc_assignment_action_id for p_arch_assignment_action_id_o
705     -- because update might be done against proc action before p_arch_assignment_action_id_o
706     -- so that basically not update proc_assignment_action_id in update archive option except for same month
707     --
708     -- update pay_jp_itwb_assact_v
709     update pay_action_information
710     set    object_version_number = p_object_version_number,
711            action_information1 = p_status,
712            action_information9 = fnd_number.number_to_canonical(p_arch_assignment_action_id_o)
713     where  action_information_id = p_action_information_id
714     and    object_version_number < p_object_version_number
715     and    action_context_id = p_assignment_action_id
716     and    action_context_type = 'AAP'
717     and    action_information_category = 'JP_ITWB_ASSACT';
718   --
719     p_object_version_number := p_object_version_number + 1;
720   --
721     if to_char(p_effective_date,'MM') = to_char(p_proc_assact_date_o,'MM') then
722     --
723       update pay_action_information
724       set    object_version_number = p_object_version_number,
725              action_information2 = decode(action_information2,
726                                      fnd_number.number_to_canonical(p_proc_assignment_action_id),
727                                      action_information2,
728                                      fnd_number.number_to_canonical(p_proc_assignment_action_id)),
729              action_information3 = decode(nvl(action_information3,'X'),
730                                      nvl(fnd_number.number_to_canonical(p_organization_id),'X'),
731                                      action_information3,
732                                      fnd_number.number_to_canonical(p_organization_id)),
733              action_information4 = decode(nvl(action_information4,'X'),
734                                      nvl(fnd_number.number_to_canonical(p_job_id),'X'),
735                                      action_information4,
736                                      fnd_number.number_to_canonical(p_job_id)),
737              action_information5 = decode(nvl(action_information5,'X'),
738                                      nvl(fnd_number.number_to_canonical(p_payroll_id),'X'),
739                                      action_information5,
740                                      fnd_number.number_to_canonical(p_payroll_id)),
741              action_information6 = decode(nvl(action_information6,'X'),
742                                      nvl(fnd_number.number_to_canonical(p_location_id),'X'),
743                                      action_information6,
744                                      fnd_number.number_to_canonical(p_location_id)),
745              action_information7 = decode(nvl(action_information7,'X'),
746                                      nvl(fnd_date.date_to_canonical(p_termination_date),'X'),
747                                      action_information7,
748                                      fnd_date.date_to_canonical(p_termination_date)),
749              action_information8 = decode(nvl(action_information8,'X'),
750                                      nvl(p_leaving_reason,'X'),
751                                      action_information8,
752                                      p_leaving_reason)
753       where  action_information_id = p_action_information_id
754       and    object_version_number < p_object_version_number
755       and    action_context_id = p_assignment_action_id
756       and    action_context_type = 'AAP'
757       and    action_information_category = 'JP_ITWB_ASSACT'
758       and    (action_information2
759               <> fnd_number.number_to_canonical(p_proc_assignment_action_id)
760               or nvl(action_information3,'X')
761               <> nvl(fnd_number.number_to_canonical(p_organization_id),'X')
762               or nvl(action_information4,'X')
763               <> nvl(fnd_number.number_to_canonical(p_job_id),'X')
764               or nvl(action_information5,'X')
765               <> nvl(fnd_number.number_to_canonical(p_payroll_id),'X')
766               or nvl(action_information6,'X')
767               <> nvl(fnd_number.number_to_canonical(p_location_id),'X')
768               or nvl(action_information7,'X')
769               <> nvl(fnd_date.date_to_canonical(p_termination_date),'X')
770               or nvl(action_information8,'X')
771               <> nvl(p_leaving_reason,'X'));
772     --
773     end if;
774   --
775   end if;
776 --
777   if g_debug then
778     hr_utility.set_location(l_proc,1000);
779   end if;
780 --
781 end update_assact;
782 --
783 -- -------------------------------------------------------------------------
784 -- add_assact
785 -- -------------------------------------------------------------------------
786 procedure add_assact(
787   p_assignment_action_id        in number,
788   p_effective_date              in date,
789   p_arch_assignment_action_id_o in number,
790   p_proc_assignment_action_id   in number,
791   p_status                      in varchar2,
792   p_action_information_id       out nocopy number,
793   p_object_version_number       out nocopy number)
794 is
795 --
796   l_proc varchar2(80) := c_package||'add_assact';
797 --
798 begin
799 --
800   if g_debug then
801     hr_utility.set_location(l_proc,0);
802   end if;
803 --
804   copy_pai(
805     p_assignment_action_id,
806     p_effective_date,
807     p_arch_assignment_action_id_o,
808     'AAP',
809     'JP_ITWB_ASSACT',
810     p_action_information_id,
811     p_object_version_number);
812 --
813   if g_debug then
814     hr_utility.set_location(l_proc,10);
815   end if;
816 --
817   if p_action_information_id is null then
818   --
819     if g_debug then
820       hr_utility.set_location(l_proc,20);
821     end if;
822   --
823     fnd_message.set_name('PAY','PAY_34985_INVALID_PAY_ACTION');
824     fnd_message.raise_error;
825   --
826   else
827   --
828     if g_debug then
829       hr_utility.set_location(l_proc,30);
830     end if;
831   --
832     p_object_version_number := p_object_version_number + 1;
833   --
834     -- update pay_jp_itwb_assact_v
835     update pay_action_information
836     set    object_version_number = p_object_version_number,
837            action_information1 = p_status,
838            action_information2 = fnd_number.number_to_canonical(p_proc_assignment_action_id),
839            action_information9 = fnd_number.number_to_canonical(p_arch_assignment_action_id_o)
840     where  action_information_id = p_action_information_id
841     and    object_version_number < p_object_version_number
842     and    action_context_id = p_assignment_action_id
843     and    action_context_type = 'AAP'
844     and    action_information_category = 'JP_ITWB_ASSACT';
845   --
846   end if;
847 --
848   if g_debug then
849     hr_utility.set_location(l_proc,1000);
850   end if;
851 --
852 end add_assact;
853 --
854 -- -------------------------------------------------------------------------
855 -- create_emp
856 -- -------------------------------------------------------------------------
857 procedure create_emp(
858   p_action_information_id       in number,
859   p_assignment_action_id        in number,
860   p_action_context_type         in varchar2,
861   p_assignment_id               in number,
862   p_effective_date              in date,
863   p_action_information_category in varchar2,
864   p_person_id                   in number,
865   p_employee_number             in varchar2,
866   p_last_name                   in varchar2,
867   p_first_name                  in varchar2,
868   p_last_name_kana              in varchar2,
869   p_first_name_kana             in varchar2,
870   p_sex                         in varchar2,
871   p_birth_date                  in date,
872   p_object_version_number       out nocopy number)
873 is
874   l_proc varchar2(80) := c_package||'create_emp';
875 begin
876 --
877   if g_debug then
878     hr_utility.set_location(l_proc,0);
879   end if;
880 --
881   p_object_version_number := 1;
882 --
883   insert into pay_action_information(
884     action_information_id,
885     object_version_number,
886     action_context_id,
887     action_context_type,
888     effective_date,
889     assignment_id,
890     action_information_category,
891     action_information1,
892     action_information2,
893     action_information3,
894     action_information4,
895     action_information5,
896     action_information6,
897     action_information7,
898     action_information8)
899   values(
900     p_action_information_id,
901     p_object_version_number,
902     p_assignment_action_id,
903     p_action_context_type,
904     p_effective_date,
905     p_assignment_id,
906     p_action_information_category,
907     fnd_number.number_to_canonical(p_person_id),
908     p_employee_number,
909     p_last_name,
910     p_first_name,
911     p_last_name_kana,
912     p_first_name_kana,
913     p_sex,
914     fnd_date.date_to_canonical(p_birth_date));
915 --
916   if g_debug then
917     hr_utility.set_location(l_proc,1000);
918   end if;
919 --
920 end create_emp;
921 --
922 -- -------------------------------------------------------------------------
923 -- update_emp
924 -- -------------------------------------------------------------------------
925 procedure update_emp(
926   p_assignment_action_id        in number,
927   p_effective_date              in date,
928   p_arch_assignment_action_id_o in number,
929   p_proc_assignment_action_id   in number,
930   p_proc_assact_date_o          in date,
931   p_person_id                   in number,
932   p_employee_number             in varchar2,
933   p_last_name                   in varchar2,
934   p_first_name                  in varchar2,
935   p_last_name_kana              in varchar2,
936   p_first_name_kana             in varchar2,
937   p_sex                         in varchar2,
938   p_birth_date                  in date,
939   p_action_information_id       out nocopy number,
940   p_object_version_number       out nocopy number)
941 is
942 --
943   l_proc varchar2(80) := c_package||'update_emp';
944 --
945 begin
946 --
947   if g_debug then
948     hr_utility.set_location(l_proc,0);
949   end if;
950 --
951   copy_pai(
952     p_assignment_action_id,
953     p_effective_date,
954     p_arch_assignment_action_id_o,
955     'AAP',
956     'JP_ITWB_EMP',
957     p_action_information_id,
958     p_object_version_number);
959 --
960   if g_debug then
961     hr_utility.set_location(l_proc,10);
962   end if;
963 --
964   if p_action_information_id is null then
965   --
966     if g_debug then
967       hr_utility.set_location(l_proc,20);
968     end if;
969   --
970     fnd_message.set_name('PAY','PAY_34985_INVALID_PAY_ACTION');
971     fnd_message.raise_error;
972   --
973   else
974   --
975     if g_debug then
976       hr_utility.set_location(l_proc,30);
977     end if;
978   --
979     if to_char(p_effective_date,'MM') = to_char(p_proc_assact_date_o,'MM') then
980     --
981       p_object_version_number := p_object_version_number + 1;
982     --
983       update pay_action_information
984       set    object_version_number = p_object_version_number,
985              action_information1 = decode(nvl(action_information1,'X'),
986                                      nvl(fnd_number.number_to_canonical(p_person_id),'X'),
987                                      action_information1,
988                                      fnd_number.number_to_canonical(p_person_id)),
989              action_information2 = decode(nvl(action_information2,'X'),
990                                      nvl(p_employee_number,'X'),
991                                      action_information2,
992                                      p_employee_number),
993              action_information3 = decode(nvl(action_information3,'X'),
994                                      nvl(p_last_name,'X'),
995                                      action_information3,
996                                      p_last_name),
997              action_information4 = decode(nvl(action_information4,'X'),
998                                      nvl(p_first_name,'X'),
999                                      action_information4,
1000                                      p_first_name),
1001              action_information5 = decode(nvl(action_information5,'X'),
1002                                      nvl(p_last_name_kana,'X'),
1003                                      action_information5,
1004                                      p_last_name_kana),
1005              action_information6 = decode(nvl(action_information6,'X'),
1006                                      nvl(p_first_name_kana,'X'),
1007                                      action_information6,
1008                                      p_first_name_kana),
1009              action_information7 = decode(nvl(action_information7,'X'),
1010                                      nvl(p_sex,'X'),
1011                                      action_information7,
1012                                      p_sex),
1013              action_information8 = decode(nvl(action_information8,'X'),
1014                                      nvl(fnd_date.date_to_canonical(p_birth_date),'X'),
1015                                      action_information8,
1016                                      fnd_date.date_to_canonical(p_birth_date))
1017       where  action_information_id = p_action_information_id
1018       and    object_version_number < p_object_version_number
1019       and    action_context_id = p_assignment_action_id
1020       and    action_context_type = 'AAP'
1021       and    action_information_category = 'JP_ITWB_EMP'
1022       and    (nvl(action_information1,'X')
1023               <> nvl(fnd_number.number_to_canonical(p_person_id),'X')
1024               or nvl(action_information2,'X')
1025               <> nvl(p_employee_number,'X')
1026               or nvl(action_information3,'X')
1027               <> nvl(p_last_name,'X')
1028               or nvl(action_information4,'X')
1029               <> nvl(p_first_name,'X')
1030               or nvl(action_information5,'X')
1031               <> nvl(p_last_name_kana,'X')
1032               or nvl(action_information6,'X')
1033               <> nvl(p_first_name_kana,'X')
1034               or nvl(action_information7,'X')
1035               <> nvl(p_sex,'X')
1036               or nvl(action_information8,'X')
1037               <> nvl(fnd_date.date_to_canonical(p_birth_date),'X'));
1038     --
1039     end if;
1040   --
1041   end if;
1042 --
1043   if g_debug then
1044     hr_utility.set_location(l_proc,1000);
1045   end if;
1046 --
1047 end update_emp;
1048 --
1049 -- -------------------------------------------------------------------------
1050 -- create_emp_add
1051 -- -------------------------------------------------------------------------
1052 procedure create_emp_add(
1053   p_action_information_id       in number,
1054   p_assignment_action_id        in number,
1055   p_action_context_type         in varchar2,
1056   p_assignment_id               in number,
1057   p_effective_date              in date,
1058   p_action_information_category in varchar2,
1059   p_address_id                  in number,
1060   p_address_jp                  in varchar2,
1061   p_postal_code                 in varchar2,
1062   p_district_code               in varchar2,
1063   p_address1                    in varchar2,
1064   p_address2                    in varchar2,
1065   p_address_kana1               in varchar2,
1066   p_address_kana2               in varchar2,
1067   p_phone1                      in varchar2,
1068   p_phone2                      in varchar2,
1069   p_object_version_number       out nocopy number)
1070 is
1071   l_proc varchar2(80) := c_package||'create_emp_add';
1072 begin
1073 --
1074   if g_debug then
1075     hr_utility.set_location(l_proc,0);
1076   end if;
1077 --
1078   p_object_version_number := 1;
1079 --
1080   insert into pay_action_information(
1081     action_information_id,
1082     object_version_number,
1083     action_context_id,
1084     action_context_type,
1085     effective_date,
1086     assignment_id,
1087     action_information_category,
1088     action_information1,
1089     action_information2,
1090     action_information3,
1091     action_information4,
1092     action_information5,
1093     action_information6,
1094     action_information7,
1095     action_information8,
1096     action_information9,
1097     action_information10)
1098   values(
1099     p_action_information_id,
1100     p_object_version_number,
1101     p_assignment_action_id,
1102     p_action_context_type,
1103     p_effective_date,
1104     p_assignment_id,
1105     p_action_information_category,
1106     fnd_number.number_to_canonical(p_address_id),
1107     p_address_jp,
1108     p_postal_code,
1109     p_district_code,
1110     p_address1,
1111     p_address2,
1112     p_address_kana1,
1113     p_address_kana2,
1114     p_phone1,
1115     p_phone2);
1116 --
1117   if g_debug then
1118     hr_utility.set_location(l_proc,1000);
1119   end if;
1120 --
1121 end create_emp_add;
1122 --
1123 -- -------------------------------------------------------------------------
1124 -- update_emp_add
1125 -- -------------------------------------------------------------------------
1126 procedure update_emp_add(
1127   p_assignment_action_id        in number,
1128   p_effective_date              in date,
1129   p_arch_assignment_action_id_o in number,
1130   p_proc_assignment_action_id   in number,
1131   p_proc_assact_date_o          in date,
1132   p_address_id                  in number,
1133   p_address_jp                  in varchar2,
1134   p_postal_code                 in varchar2,
1135   p_district_code               in varchar2,
1136   p_address1                    in varchar2,
1137   p_address2                    in varchar2,
1138   p_address_kana1               in varchar2,
1139   p_address_kana2               in varchar2,
1140   p_phone1                      in varchar2,
1141   p_phone2                      in varchar2,
1142   p_action_information_id       out nocopy number,
1143   p_object_version_number       out nocopy number)
1144 is
1145 --
1146   l_proc varchar2(80) := c_package||'update_emp_add';
1147 --
1148 begin
1149 --
1150   if g_debug then
1151     hr_utility.set_location(l_proc,0);
1152   end if;
1153 --
1154   copy_pai(
1155     p_assignment_action_id,
1156     p_effective_date,
1157     p_arch_assignment_action_id_o,
1158     'AAP',
1159     'JP_ITWB_EMP_ADD',
1160     p_action_information_id,
1161     p_object_version_number);
1162 --
1163   if g_debug then
1164     hr_utility.set_location(l_proc,10);
1165   end if;
1166 --
1167   if p_action_information_id is null then
1168   --
1169     if g_debug then
1170       hr_utility.set_location(l_proc,20);
1171     end if;
1172   --
1173     fnd_message.set_name('PAY','PAY_34985_INVALID_PAY_ACTION');
1174     fnd_message.raise_error;
1175   --
1176   else
1177   --
1178     if g_debug then
1179       hr_utility.set_location(l_proc,30);
1180     end if;
1181   --
1182     if to_char(p_effective_date,'MM') = to_char(p_proc_assact_date_o,'MM') then
1183     --
1184       p_object_version_number := p_object_version_number + 1;
1185     --
1186       update pay_action_information
1187       set    object_version_number = p_object_version_number,
1188              action_information1 = decode(nvl(action_information1,'X'),
1189                                      nvl(fnd_number.number_to_canonical(p_address_id),'X'),
1190                                      action_information1,
1191                                      fnd_number.number_to_canonical(p_address_id)),
1192              action_information2 = decode(nvl(action_information2,'X'),
1193                                      nvl(p_address_jp,'X'),
1194                                      action_information2,
1195                                      p_address_jp),
1196              action_information3 = decode(nvl(action_information3,'X'),
1197                                      nvl(p_postal_code,'X'),
1198                                      action_information3,
1199                                      p_postal_code),
1200              action_information4 = decode(nvl(action_information4,'X'),
1201                                      nvl(p_district_code,'X'),
1202                                      action_information4,
1203                                      p_district_code),
1204              action_information5 = decode(nvl(action_information5,'X'),
1205                                      nvl(p_address1,'X'),
1206                                      action_information5,
1207                                      p_address1),
1208              action_information6 = decode(nvl(action_information6,'X'),
1209                                      nvl(p_address2,'X'),
1210                                      action_information6,
1211                                      p_address2),
1212              action_information7 = decode(nvl(action_information7,'X'),
1213                                      nvl(p_address_kana1,'X'),
1214                                      action_information7,
1215                                      p_address_kana1),
1216              action_information8 = decode(nvl(action_information8,'X'),
1217                                      nvl(p_address_kana2,'X'),
1218                                      action_information8,
1219                                      p_address_kana2),
1220              action_information9 = decode(nvl(action_information9,'X'),
1221                                      nvl(p_phone1,'X'),
1222                                      action_information9,
1223                                      p_phone1),
1224              action_information10 = decode(nvl(action_information10,'X'),
1225                                      nvl(p_phone2,'X'),
1226                                      action_information10,
1227                                      p_phone2)
1228       where  action_information_id = p_action_information_id
1229       and    object_version_number < p_object_version_number
1230       and    action_context_id = p_assignment_action_id
1231       and    action_context_type = 'AAP'
1232       and    action_information_category = 'JP_ITWB_EMP_ADD'
1233       and    (nvl(action_information1,'X')
1234               <> nvl(fnd_number.number_to_canonical(p_address_id),'X')
1235               or nvl(action_information2,'X')
1236               <> nvl(p_address_jp,'X')
1237               or nvl(action_information3,'X')
1238               <> nvl(p_postal_code,'X')
1239               or nvl(action_information4,'X')
1240               <> nvl(p_district_code,'X')
1241               or nvl(action_information5,'X')
1242               <> nvl(p_address1,'X')
1243               or nvl(action_information6,'X')
1244               <> nvl(p_address2,'X')
1245               or nvl(action_information7,'X')
1246               <> nvl(p_address_kana1,'X')
1247               or nvl(action_information8,'X')
1248               <> nvl(p_address_kana2,'X')
1249               or nvl(action_information9,'X')
1250               <> nvl(p_phone1,'X')
1251               or nvl(action_information10,'X')
1252               <> nvl(p_phone2,'X'));
1253     --
1254     end if;
1255   --
1256   end if;
1257 --
1258   if g_debug then
1259     hr_utility.set_location(l_proc,1000);
1260   end if;
1261 --
1262 end update_emp_add;
1263 --
1264 -- -------------------------------------------------------------------------
1265 -- create_emp_ass
1266 -- -------------------------------------------------------------------------
1267 procedure create_emp_ass(
1268   p_action_information_id       in number,
1269   p_assignment_action_id        in number,
1270   p_action_context_type         in varchar2,
1271   p_assignment_id               in number,
1272   p_effective_date              in date,
1273   p_action_information_category in varchar2,
1274   p_hire_date                   in date,
1275   p_organization_name           in varchar2,
1276   p_job_name                    in varchar2,
1277   p_payroll_name                in varchar2,
1278   p_location_name               in varchar2,
1279   p_object_version_number       out nocopy number)
1280 is
1281   l_proc varchar2(80) := c_package||'create_emp_ass';
1282 begin
1283 --
1284   if g_debug then
1285     hr_utility.set_location(l_proc,0);
1286   end if;
1287 --
1288   p_object_version_number := 1;
1289 --
1290   insert into pay_action_information(
1291     action_information_id,
1292     object_version_number,
1293     action_context_id,
1294     action_context_type,
1295     effective_date,
1296     assignment_id,
1297     action_information_category,
1298     action_information1,
1299     action_information2,
1300     action_information3,
1301     action_information4,
1302     action_information5)
1303   values(
1304     p_action_information_id,
1305     p_object_version_number,
1306     p_assignment_action_id,
1307     p_action_context_type,
1308     p_effective_date,
1309     p_assignment_id,
1310     p_action_information_category,
1311     fnd_date.date_to_canonical(p_hire_date),
1312     p_organization_name,
1313     p_job_name,
1314     p_payroll_name,
1315     p_location_name);
1316 --
1317   if g_debug then
1318     hr_utility.set_location(l_proc,1000);
1319   end if;
1320 --
1321 end create_emp_ass;
1322 --
1323 -- -------------------------------------------------------------------------
1324 -- update_emp_ass
1325 -- -------------------------------------------------------------------------
1326 procedure update_emp_ass(
1327   p_assignment_action_id        in number,
1328   p_effective_date              in date,
1329   p_arch_assignment_action_id_o in number,
1330   p_proc_assignment_action_id   in number,
1331   p_proc_assact_date_o          in date,
1332   p_hire_date                   in date,
1333   p_organization_name           in varchar2,
1334   p_job_name                    in varchar2,
1335   p_payroll_name                in varchar2,
1336   p_location_name               in varchar2,
1337   p_action_information_id       out nocopy number,
1338   p_object_version_number       out nocopy number)
1339 is
1340 --
1341   l_proc varchar2(80) := c_package||'update_emp_ass';
1342 --
1343 begin
1344 --
1345   if g_debug then
1346     hr_utility.set_location(l_proc,0);
1347   end if;
1348 --
1349   copy_pai(
1350     p_assignment_action_id,
1351     p_effective_date,
1352     p_arch_assignment_action_id_o,
1353     'AAP',
1354     'JP_ITWB_EMP_ASS',
1355     p_action_information_id,
1356     p_object_version_number);
1357 --
1358   if g_debug then
1359     hr_utility.set_location(l_proc,10);
1360   end if;
1361 --
1362   if p_action_information_id is null then
1363   --
1364     if g_debug then
1365       hr_utility.set_location(l_proc,20);
1366     end if;
1367   --
1368     fnd_message.set_name('PAY','PAY_34985_INVALID_PAY_ACTION');
1369     fnd_message.raise_error;
1370   --
1371   else
1372   --
1373     if g_debug then
1374       hr_utility.set_location(l_proc,30);
1375     end if;
1376   --
1377     if to_char(p_effective_date,'MM') = to_char(p_proc_assact_date_o,'MM') then
1378     --
1379       p_object_version_number := p_object_version_number + 1;
1380     --
1381       update pay_action_information
1382       set    object_version_number = p_object_version_number,
1383              action_information1 = decode(nvl(action_information1,'X'),
1384                                      nvl(fnd_date.date_to_canonical(p_hire_date),'X'),
1385                                      action_information1,
1386                                      fnd_date.date_to_canonical(p_hire_date)),
1387              action_information2 = decode(nvl(action_information2,'X'),
1388                                      nvl(p_organization_name,'X'),
1389                                      action_information2,
1390                                      p_organization_name),
1391              action_information3 = decode(nvl(action_information3,'X'),
1392                                      nvl(p_job_name,'X'),
1393                                      action_information3,
1394                                      p_job_name),
1395              action_information4 = decode(nvl(action_information4,'X'),
1396                                      nvl(p_payroll_name,'X'),
1397                                      action_information4,
1398                                      p_payroll_name),
1399              action_information5 = decode(nvl(action_information5,'X'),
1400                                      nvl(p_location_name,'X'),
1401                                      action_information5,
1402                                      p_location_name)
1403       where  action_information_id = p_action_information_id
1404       and    object_version_number < p_object_version_number
1405       and    action_context_id = p_assignment_action_id
1406       and    action_context_type = 'AAP'
1407       and    action_information_category = 'JP_ITWB_EMP_ASS'
1408       and    (nvl(action_information1,'X')
1409               <> nvl(fnd_date.date_to_canonical(p_hire_date),'X')
1410               or nvl(action_information2,'X')
1411               <> nvl(p_organization_name,'X')
1412               or nvl(action_information3,'X')
1413               <> nvl(p_job_name,'X')
1414               or nvl(action_information4,'X')
1415               <> nvl(p_payroll_name,'X')
1416               or nvl(action_information5,'X')
1417               <> nvl(p_location_name,'X'));
1418     --
1419     end if;
1420   --
1421   end if;
1422 --
1423   if g_debug then
1424     hr_utility.set_location(l_proc,1000);
1425   end if;
1426 --
1427 end update_emp_ass;
1428 --
1429 -- -------------------------------------------------------------------------
1430 -- create_emp_si
1431 -- -------------------------------------------------------------------------
1432 procedure create_emp_si(
1433   p_action_information_id       in number,
1434   p_assignment_action_id        in number,
1435   p_action_context_type         in varchar2,
1436   p_assignment_id               in number,
1437   p_effective_date              in date,
1438   p_action_information_category in varchar2,
1439   p_itax_org_id                 in number,
1440   p_itax_type                   in varchar2,
1441   p_hi_org_id                   in number,
1442   p_hi_number                   in varchar2,
1443   p_wp_org_id                   in number,
1444   p_wp_number                   in varchar2,
1445   p_wpf_org_id                  in number,
1446   p_wpf_number                  in varchar2,
1447   p_ei_org_id                   in number,
1448   p_ei_number                   in varchar2,
1449   p_nres_flag                   in varchar2,
1450   p_nres_start_date             in date,
1451   p_projected_res_date          in date,
1452   p_object_version_number       out nocopy number)
1453 is
1454   l_proc varchar2(80) := c_package||'create_emp_si';
1455 begin
1456 --
1457   if g_debug then
1458     hr_utility.set_location(l_proc,0);
1459   end if;
1460 --
1461   p_object_version_number := 1;
1462 --
1463   insert into pay_action_information(
1464     action_information_id,
1465     object_version_number,
1466     action_context_id,
1467     action_context_type,
1468     effective_date,
1469     assignment_id,
1470     action_information_category,
1471     action_information1,
1472     action_information2,
1473     action_information3,
1474     action_information4,
1475     action_information5,
1476     action_information6,
1477     action_information7,
1478     action_information8,
1479     action_information9,
1480     action_information10,
1481     action_information11,
1482     action_information12,
1483     action_information13)
1484   values(
1485     p_action_information_id,
1486     p_object_version_number,
1487     p_assignment_action_id,
1488     p_action_context_type,
1489     p_effective_date,
1490     p_assignment_id,
1491     p_action_information_category,
1492     fnd_number.number_to_canonical(p_itax_org_id),
1493     p_itax_type,
1494     fnd_number.number_to_canonical(p_hi_org_id),
1495     p_hi_number,
1496     fnd_number.number_to_canonical(p_wp_org_id),
1497     p_wp_number,
1498     fnd_number.number_to_canonical(p_wpf_org_id),
1499     p_wpf_number,
1500     fnd_number.number_to_canonical(p_ei_org_id),
1501     p_ei_number,
1502     p_nres_flag,
1503     fnd_date.date_to_canonical(p_nres_start_date),
1504     fnd_date.date_to_canonical(p_projected_res_date));
1505 --
1506   if g_debug then
1507     hr_utility.set_location(l_proc,1000);
1508   end if;
1509 --
1510 end create_emp_si;
1511 --
1512 -- -------------------------------------------------------------------------
1513 -- update_emp_si
1514 -- -------------------------------------------------------------------------
1515 procedure update_emp_si(
1516   p_assignment_action_id        in number,
1517   p_effective_date              in date,
1518   p_arch_assignment_action_id_o in number,
1519   p_proc_assignment_action_id   in number,
1520   p_proc_assact_date_o          in date,
1521   p_itax_org_id                 in number,
1522   p_itax_type                   in varchar2,
1523   p_hi_org_id                   in number,
1524   p_hi_number                   in varchar2,
1525   p_wp_org_id                   in number,
1526   p_wp_number                   in varchar2,
1527   p_wpf_org_id                  in number,
1528   p_wpf_number                  in varchar2,
1529   p_ei_org_id                   in number,
1530   p_ei_number                   in varchar2,
1531   p_nres_flag                   in varchar2,
1532   p_nres_start_date             in date,
1533   p_projected_res_date          in date,
1534   p_action_information_id       out nocopy number,
1535   p_object_version_number       out nocopy number)
1536 is
1537 --
1538   l_proc varchar2(80) := c_package||'update_emp_si';
1539 --
1540 begin
1541 --
1542   if g_debug then
1543     hr_utility.set_location(l_proc,0);
1544   end if;
1545 --
1546   copy_pai(
1547     p_assignment_action_id,
1548     p_effective_date,
1549     p_arch_assignment_action_id_o,
1550     'AAP',
1551     'JP_ITWB_EMP_SI',
1552     p_action_information_id,
1553     p_object_version_number);
1554 --
1555   if g_debug then
1556     hr_utility.set_location(l_proc,10);
1557   end if;
1558 --
1559   if p_action_information_id is null then
1560   --
1561     if g_debug then
1562       hr_utility.set_location(l_proc,20);
1563     end if;
1564   --
1565     fnd_message.set_name('PAY','PAY_34985_INVALID_PAY_ACTION');
1566     fnd_message.raise_error;
1567   --
1568   else
1569   --
1570     if g_debug then
1571       hr_utility.set_location(l_proc,30);
1572     end if;
1573   --
1574     if to_char(p_effective_date,'MM') = to_char(p_proc_assact_date_o,'MM') then
1575     --
1576       p_object_version_number := p_object_version_number + 1;
1577     --
1578       update pay_action_information
1579       set    object_version_number = p_object_version_number,
1580              action_information1 = decode(nvl(action_information1,'X'),
1581                                      nvl(fnd_number.number_to_canonical(p_itax_org_id),'X'),
1582                                      action_information1,
1583                                      fnd_number.number_to_canonical(p_itax_org_id)),
1584              action_information2 = decode(nvl(action_information2,'X'),
1585                                      nvl(p_itax_type,'X'),
1586                                      action_information2,
1587                                      p_itax_type),
1588              action_information3 = decode(nvl(action_information3,'X'),
1589                                      nvl(fnd_number.number_to_canonical(p_hi_org_id),'X'),
1590                                      action_information3,
1591                                      fnd_number.number_to_canonical(p_hi_org_id)),
1592              action_information4 = decode(nvl(action_information4,'X'),
1593                                      nvl(p_hi_number,'X'),
1594                                      action_information4,
1595                                      p_hi_number),
1596              action_information5 = decode(nvl(action_information5,'X'),
1597                                      nvl(fnd_number.number_to_canonical(p_wp_org_id),'X'),
1598                                      action_information5,
1599                                      fnd_number.number_to_canonical(p_wp_org_id)),
1600              action_information6 = decode(nvl(action_information6,'X'),
1601                                      nvl(p_wp_number,'X'),
1602                                      action_information6,
1603                                      p_wp_number),
1604              action_information7 = decode(nvl(action_information7,'X'),
1605                                      nvl(fnd_number.number_to_canonical(p_wpf_org_id),'X'),
1606                                      action_information7,
1607                                      fnd_number.number_to_canonical(p_wpf_org_id)),
1608              action_information8 = decode(nvl(action_information8,'X'),
1609                                      nvl(p_wpf_number,'X'),
1610                                      action_information8,
1611                                      p_wpf_number),
1612              action_information9 = decode(nvl(action_information9,'X'),
1613                                      nvl(fnd_number.number_to_canonical(p_ei_org_id),'X'),
1614                                      action_information9,
1615                                      fnd_number.number_to_canonical(p_ei_org_id)),
1616              action_information10 = decode(nvl(action_information10,'X'),
1617                                      nvl(p_ei_number,'X'),
1618                                      action_information10,
1619                                      p_ei_number),
1620              action_information11 = decode(nvl(action_information11,'X'),
1621                                      nvl(p_nres_flag,'X'),
1622                                      action_information11,
1623                                      p_nres_flag),
1624              action_information12 = decode(nvl(action_information12,'X'),
1625                                      nvl(fnd_date.date_to_canonical(p_nres_start_date),'X'),
1626                                      action_information12,
1627                                      fnd_date.date_to_canonical(p_nres_start_date)),
1628              action_information13 = decode(nvl(action_information13,'X'),
1629                                      nvl(fnd_date.date_to_canonical(p_projected_res_date),'X'),
1630                                      action_information13,
1631                                      fnd_date.date_to_canonical(p_projected_res_date))
1632       where  action_information_id = p_action_information_id
1633       and    object_version_number < p_object_version_number
1634       and    action_context_id = p_assignment_action_id
1635       and    action_context_type = 'AAP'
1636       and    action_information_category = 'JP_ITWB_EMP_SI'
1637       and    (nvl(action_information1,'X')
1638               <> nvl(fnd_number.number_to_canonical(p_itax_org_id),'X')
1639               or nvl(action_information2,'X')
1640               <> nvl(p_itax_type,'X')
1641               or nvl(action_information3,'X')
1642               <> nvl(fnd_number.number_to_canonical(p_hi_org_id),'X')
1643               or nvl(action_information4,'X')
1644               <> nvl(p_hi_number,'X')
1645               or nvl(action_information5,'X')
1646               <> nvl(fnd_number.number_to_canonical(p_wp_org_id),'X')
1647               or nvl(action_information6,'X')
1648               <> nvl(p_wp_number,'X')
1649               or nvl(action_information7,'X')
1650               <> nvl(fnd_number.number_to_canonical(p_wpf_org_id),'X')
1651               or nvl(action_information8,'X')
1652               <> nvl(p_wpf_number,'X')
1653               or nvl(action_information9,'X')
1654               <> nvl(fnd_number.number_to_canonical(p_ei_org_id),'X')
1655               or nvl(action_information10,'X')
1656               <> nvl(p_ei_number,'X')
1657               or nvl(action_information11,'X')
1658               <> nvl(p_nres_flag,'X')
1659               or nvl(action_information12,'X')
1660               <> nvl(fnd_date.date_to_canonical(p_nres_start_date),'X')
1661               or nvl(action_information13,'X')
1662               <> nvl(fnd_date.date_to_canonical(p_projected_res_date),'X'));
1663     --
1664     end if;
1665   --
1666   end if;
1667 --
1668   if g_debug then
1669     hr_utility.set_location(l_proc,1000);
1670   end if;
1671 --
1672 end update_emp_si;
1673 --
1674 -- -------------------------------------------------------------------------
1675 -- create_sal_act
1676 -- -------------------------------------------------------------------------
1677 procedure create_sal_act(
1678   p_action_information_id       in number,
1679   p_assignment_action_id        in number,
1680   p_action_context_type         in varchar2,
1681   p_assignment_id               in number,
1682   p_effective_date              in date,
1683   p_action_information_category in varchar2,
1684   p_category                    in varchar2,
1685   p_col_mth1                    in varchar2,
1686   p_col_mth2                    in varchar2,
1687   p_col_mth3                    in varchar2,
1688   p_col_mth4                    in varchar2,
1689   p_col_mth5                    in varchar2,
1690   p_col_mth6                    in varchar2,
1691   p_col_mth7                    in varchar2,
1692   p_col_mth8                    in varchar2,
1693   p_col_mth9                    in varchar2,
1694   p_col_mth10                   in varchar2,
1695   p_col_mth11                   in varchar2,
1696   p_col_mth12                   in varchar2,
1697   p_object_version_number       out nocopy number)
1698 is
1699   l_proc varchar2(80) := c_package||'create_sal_act';
1700 begin
1701 --
1702   if g_debug then
1703     hr_utility.set_location(l_proc,0);
1704   end if;
1705 --
1706   p_object_version_number := 1;
1707 --
1708   insert into pay_action_information(
1709     action_information_id,
1710     object_version_number,
1711     action_context_id,
1712     action_context_type,
1713     effective_date,
1714     assignment_id,
1715     action_information_category,
1716     action_information1,
1717     action_information2,
1718     action_information3,
1719     action_information4,
1720     action_information5,
1721     action_information6,
1722     action_information7,
1723     action_information8,
1724     action_information9,
1725     action_information10,
1726     action_information11,
1727     action_information12,
1728     action_information13)
1729   values(
1730     p_action_information_id,
1731     p_object_version_number,
1732     p_assignment_action_id,
1733     p_action_context_type,
1734     p_effective_date,
1735     p_assignment_id,
1736     p_action_information_category,
1737     p_category,
1738     p_col_mth1,
1739     p_col_mth2,
1740     p_col_mth3,
1741     p_col_mth4,
1742     p_col_mth5,
1743     p_col_mth6,
1744     p_col_mth7,
1745     p_col_mth8,
1746     p_col_mth9,
1747     p_col_mth10,
1748     p_col_mth11,
1749     p_col_mth12);
1750 --
1751   if g_debug then
1752     hr_utility.set_location(l_proc,1000);
1753   end if;
1754 --
1755 end create_sal_act;
1756 --
1757 -- -------------------------------------------------------------------------
1758 -- update_sal_act
1759 -- -------------------------------------------------------------------------
1760 procedure update_sal_act(
1761   p_assignment_action_id        in number,
1762   p_effective_date              in date,
1763   p_arch_assignment_action_id_o in number,
1764   p_category                    in varchar2,
1765   p_col_mth1                    in varchar2,
1766   p_col_mth2                    in varchar2,
1767   p_col_mth3                    in varchar2,
1768   p_col_mth4                    in varchar2,
1769   p_col_mth5                    in varchar2,
1770   p_col_mth6                    in varchar2,
1771   p_col_mth7                    in varchar2,
1772   p_col_mth8                    in varchar2,
1773   p_col_mth9                    in varchar2,
1774   p_col_mth10                   in varchar2,
1775   p_col_mth11                   in varchar2,
1776   p_col_mth12                   in varchar2,
1777   p_action_information_id       out nocopy number,
1778   p_object_version_number       out nocopy number)
1779 is
1780 --
1781   l_proc varchar2(80) := c_package||'update_sal_act';
1782 --
1783 begin
1784 --
1785   if g_debug then
1786     hr_utility.set_location(l_proc,0);
1787   end if;
1788 --
1789   copy_pai_type(
1790     p_assignment_action_id,
1791     p_effective_date,
1792     p_arch_assignment_action_id_o,
1793     'AAP',
1794     'JP_ITWB_SAL_ACT',
1795     p_category,
1796     p_action_information_id,
1797     p_object_version_number);
1798 --
1799   if g_debug then
1800     hr_utility.set_location(l_proc,10);
1801   end if;
1802 --
1803   if p_action_information_id is null then
1804   --
1805     if g_debug then
1806       hr_utility.set_location(l_proc,20);
1807     end if;
1808   --
1809     fnd_message.set_name('PAY','PAY_34985_INVALID_PAY_ACTION');
1810     fnd_message.raise_error;
1811   --
1812   else
1813   --
1814     if g_debug then
1815       hr_utility.set_location(l_proc,30);
1816     end if;
1817   --
1818     p_object_version_number := p_object_version_number + 1;
1819   --
1820     -- update only 1 column for 1 update month, else set previous data
1821     update pay_action_information
1822     set    object_version_number = p_object_version_number,
1823            action_information2 = decode(nvl(to_char(p_effective_date,'MM'),'X'),
1824                                    '01',p_col_mth1,
1825                                    decode(nvl(p_col_mth1,'X'),
1826                                      'X',action_information2,
1827                                      decode(nvl(action_information2,'X'),
1828                                        nvl(p_col_mth1,'X'),action_information2,
1829                                        p_col_mth1))),
1830            action_information3 = decode(nvl(to_char(p_effective_date,'MM'),'X'),
1831                                    '02',p_col_mth2,
1832                                    decode(nvl(p_col_mth2,'X'),
1833                                      'X',action_information3,
1834                                      decode(nvl(action_information3,'X'),
1835                                        nvl(p_col_mth2,'X'),action_information3,
1836                                        p_col_mth2))),
1837            action_information4 = decode(nvl(to_char(p_effective_date,'MM'),'X'),
1838                                    '03',p_col_mth3,
1839                                    decode(nvl(p_col_mth3,'X'),
1840                                      'X',action_information4,
1841                                      decode(nvl(action_information4,'X'),
1842                                        nvl(p_col_mth3,'X'),action_information4,
1843                                        p_col_mth3))),
1844            action_information5 = decode(nvl(to_char(p_effective_date,'MM'),'X'),
1845                                    '04',p_col_mth4,
1846                                    decode(nvl(p_col_mth4,'X'),
1847                                      'X',action_information5,
1848                                      decode(nvl(action_information5,'X'),
1849                                        nvl(p_col_mth4,'X'),action_information5,
1850                                        p_col_mth4))),
1851            action_information6 = decode(nvl(to_char(p_effective_date,'MM'),'X'),
1852                                    '05',p_col_mth5,
1853                                    decode(nvl(p_col_mth5,'X'),
1854                                      'X',action_information6,
1855                                      decode(nvl(action_information6,'X'),
1856                                        nvl(p_col_mth5,'X'),action_information6,
1857                                        p_col_mth5))),
1858            action_information7 = decode(nvl(to_char(p_effective_date,'MM'),'X'),
1859                                    '06',p_col_mth6,
1860                                    decode(nvl(p_col_mth6,'X'),
1861                                      'X',action_information7,
1862                                      decode(nvl(action_information7,'X'),
1863                                        nvl(p_col_mth6,'X'),action_information7,
1864                                        p_col_mth6))),
1865            action_information8 = decode(nvl(to_char(p_effective_date,'MM'),'X'),
1866                                    '07',p_col_mth7,
1867                                    decode(nvl(p_col_mth7,'X'),
1868                                      'X',action_information8,
1869                                      decode(nvl(action_information8,'X'),
1870                                        nvl(p_col_mth7,'X'),action_information8,
1871                                        p_col_mth7))),
1872            action_information9 = decode(nvl(to_char(p_effective_date,'MM'),'X'),
1873                                    '08',p_col_mth8,
1874                                    decode(nvl(p_col_mth8,'X'),
1875                                      'X',action_information9,
1876                                      decode(nvl(action_information9,'X'),
1877                                        nvl(p_col_mth8,'X'),action_information9,
1878                                        p_col_mth8))),
1879            action_information10 = decode(nvl(to_char(p_effective_date,'MM'),'X'),
1880                                    '09',p_col_mth9,
1881                                    decode(nvl(p_col_mth9,'X'),
1882                                       'X',action_information10,
1883                                       decode(nvl(action_information10,'X'),
1884                                         nvl(p_col_mth9,'X'),action_information10,
1885                                         p_col_mth9))),
1886            action_information11 = decode(nvl(to_char(p_effective_date,'MM'),'X'),
1887                                    '10',p_col_mth10,
1888                                    decode(nvl(p_col_mth10,'X'),
1889                                       'X',action_information11,
1890                                       decode(nvl(action_information11,'X'),
1891                                         nvl(p_col_mth10,'X'),action_information11,
1892                                         p_col_mth10))),
1893            action_information12 = decode(nvl(to_char(p_effective_date,'MM'),'X'),
1894                                    '11',p_col_mth11,
1895                                    decode(nvl(p_col_mth11,'X'),
1896                                       'X',action_information12,
1897                                       decode(nvl(action_information12,'X'),
1898                                         nvl(p_col_mth11,'X'),action_information12,
1899                                         p_col_mth11))),
1900            action_information13 = decode(nvl(to_char(p_effective_date,'MM'),'X'),
1901                                    '12',p_col_mth12,
1902                                    decode(nvl(p_col_mth12,'X'),
1903                                       'X',action_information13,
1904                                       decode(nvl(action_information13,'X'),
1905                                         nvl(p_col_mth12,'X'),action_information13,
1906                                         p_col_mth12)))
1907     where  action_information_id = p_action_information_id
1908     and    object_version_number < p_object_version_number
1909     and    action_context_id = p_assignment_action_id
1910     and    action_context_type = 'AAP'
1911     and    action_information_category = 'JP_ITWB_SAL_ACT'
1912     and    action_information1 = p_category
1913     and    (((p_col_mth1 is not null
1914              or nvl(to_char(p_effective_date,'MM'),'X') = '01')
1915             and (nvl(action_information2,'X') <> nvl(p_col_mth1,'X')))
1916            or ((p_col_mth2 is not null
1917               or nvl(to_char(p_effective_date,'MM'),'X') = '02')
1918               and (nvl(action_information3,'X') <> nvl(p_col_mth2,'X')))
1919            or ((p_col_mth3 is not null
1920               or nvl(to_char(p_effective_date,'MM'),'X') = '03')
1921               and (nvl(action_information4,'X') <> nvl(p_col_mth3,'X')))
1922            or ((p_col_mth4 is not null
1923               or nvl(to_char(p_effective_date,'MM'),'X') = '04')
1924               and (nvl(action_information5,'X') <> nvl(p_col_mth4,'X')))
1925            or ((p_col_mth5 is not null
1926               or nvl(to_char(p_effective_date,'MM'),'X') = '05')
1927               and (nvl(action_information6,'X') <> nvl(p_col_mth5,'X')))
1928            or ((p_col_mth6 is not null
1929               or nvl(to_char(p_effective_date,'MM'),'X') = '06')
1930               and (nvl(action_information7,'X') <> nvl(p_col_mth6,'X')))
1931            or ((p_col_mth7 is not null
1932               or nvl(to_char(p_effective_date,'MM'),'X') = '07')
1933               and (nvl(action_information8,'X') <> nvl(p_col_mth7,'X')))
1934            or ((p_col_mth8 is not null
1935               or nvl(to_char(p_effective_date,'MM'),'X') = '08')
1936               and (nvl(action_information9,'X') <> nvl(p_col_mth8,'X')))
1937            or ((p_col_mth9 is not null
1938               or nvl(to_char(p_effective_date,'MM'),'X') = '09')
1939               and (nvl(action_information10,'X') <> nvl(p_col_mth9,'X')))
1940            or ((p_col_mth10 is not null
1941               or nvl(to_char(p_effective_date,'MM'),'X') = '10')
1942               and (nvl(action_information11,'X') <> nvl(p_col_mth10,'X')))
1943            or ((p_col_mth11 is not null
1944               or nvl(to_char(p_effective_date,'MM'),'X') = '11')
1945               and (nvl(action_information12,'X') <> nvl(p_col_mth11,'X')))
1946            or ((p_col_mth12 is not null
1947               or nvl(to_char(p_effective_date,'MM'),'X') = '12')
1948               and (nvl(action_information13,'X') <> nvl(p_col_mth12,'X'))));
1949   --
1950   end if;
1951 --
1952   if g_debug then
1953     hr_utility.set_location(l_proc,1000);
1954   end if;
1955 --
1956 end update_sal_act;
1957 --
1958 -- -------------------------------------------------------------------------
1959 -- add_sal_act
1960 -- -------------------------------------------------------------------------
1961 procedure add_sal_act(
1962   p_assignment_action_id        in number,
1963   p_effective_date              in date,
1964   p_arch_assignment_action_id_o in number,
1965   p_category                    in varchar2,
1966   p_col_mth1                    in varchar2,
1967   p_col_mth2                    in varchar2,
1968   p_col_mth3                    in varchar2,
1969   p_col_mth4                    in varchar2,
1970   p_col_mth5                    in varchar2,
1971   p_col_mth6                    in varchar2,
1972   p_col_mth7                    in varchar2,
1973   p_col_mth8                    in varchar2,
1974   p_col_mth9                    in varchar2,
1975   p_col_mth10                   in varchar2,
1976   p_col_mth11                   in varchar2,
1977   p_col_mth12                   in varchar2,
1978   p_action_information_id       out nocopy number,
1979   p_object_version_number       out nocopy number)
1980 is
1981 --
1982   l_proc varchar2(80) := c_package||'add_sal_act';
1983 --
1984 begin
1985 --
1986   if g_debug then
1987     hr_utility.set_location(l_proc,0);
1988   end if;
1989 --
1990   copy_pai_type(
1991     p_assignment_action_id,
1992     p_effective_date,
1993     p_arch_assignment_action_id_o,
1994     'AAP',
1995     'JP_ITWB_SAL_ACT',
1996     p_category,
1997     p_action_information_id,
1998     p_object_version_number);
1999 --
2000   if g_debug then
2001     hr_utility.set_location(l_proc,10);
2002   end if;
2003 --
2004   if p_action_information_id is null then
2005   --
2006     if g_debug then
2007       hr_utility.set_location(l_proc,20);
2008     end if;
2009   --
2010     fnd_message.set_name('PAY','PAY_34985_INVALID_PAY_ACTION');
2011     fnd_message.raise_error;
2012   --
2013   else
2014   --
2015     if g_debug then
2016       hr_utility.set_location(l_proc,30);
2017     end if;
2018   --
2019     p_object_version_number := p_object_version_number + 1;
2020   --
2021     --update multiple column for new multiple month, else set previous data
2022     update pay_action_information
2023     set    object_version_number = p_object_version_number,
2024            action_information2 = decode(nvl(p_col_mth1,'X'),
2025                                    'X',action_information2,
2026                                    p_col_mth1),
2027            action_information3 = decode(nvl(p_col_mth2,'X'),
2028                                    'X',action_information3,
2029                                    p_col_mth2),
2030            action_information4 = decode(nvl(p_col_mth3,'X'),
2031                                    'X',action_information4,
2032                                    p_col_mth3),
2033            action_information5 = decode(nvl(p_col_mth4,'X'),
2034                                    'X',action_information5,
2035                                    p_col_mth4),
2036            action_information6 = decode(nvl(p_col_mth5,'X'),
2037                                    'X',action_information6,
2038                                    p_col_mth5),
2039            action_information7 = decode(nvl(p_col_mth6,'X'),
2040                                    'X',action_information7,
2041                                    p_col_mth6),
2042            action_information8 = decode(nvl(p_col_mth7,'X'),
2043                                    'X',action_information8,
2044                                    p_col_mth7),
2045            action_information9 = decode(nvl(p_col_mth8,'X'),
2046                                    'X',action_information9,
2047                                    p_col_mth8),
2048            action_information10 = decode(nvl(p_col_mth9,'X'),
2049                                     'X',action_information10,
2050                                     p_col_mth9),
2051            action_information11 = decode(nvl(p_col_mth10,'X'),
2052                                     'X',action_information11,
2053                                     p_col_mth10),
2054            action_information12 = decode(nvl(p_col_mth11,'X'),
2055                                     'X',action_information12,
2056                                     p_col_mth11),
2057            action_information13 = decode(nvl(p_col_mth12,'X'),
2058                                     'X',action_information13,
2059                                     p_col_mth12)
2060     where  action_information_id = p_action_information_id
2061     and    object_version_number < p_object_version_number
2062     and    action_context_id = p_assignment_action_id
2063     and    action_context_type = 'AAP'
2064     and    action_information_category = 'JP_ITWB_SAL_ACT'
2065     and    action_information1 = p_category;
2066   --
2067   end if;
2068 --
2069   if g_debug then
2070     hr_utility.set_location(l_proc,1000);
2071   end if;
2072 --
2073 end add_sal_act;
2074 --
2075 -- -------------------------------------------------------------------------
2076 -- create_sal_pay
2077 -- -------------------------------------------------------------------------
2078 procedure create_sal_pay(
2079   p_action_information_id       in number,
2080   p_assignment_action_id        in number,
2081   p_action_context_type         in varchar2,
2082   p_assignment_id               in number,
2083   p_effective_date              in date,
2084   p_action_information_category in varchar2,
2085   p_category                    in varchar2,
2086   p_col_mth1                    in number,
2087   p_col_mth2                    in number,
2088   p_col_mth3                    in number,
2089   p_col_mth4                    in number,
2090   p_col_mth5                    in number,
2091   p_col_mth6                    in number,
2092   p_col_mth7                    in number,
2093   p_col_mth8                    in number,
2094   p_col_mth9                    in number,
2095   p_col_mth10                   in number,
2096   p_col_mth11                   in number,
2097   p_col_mth12                   in number,
2098   p_col_tot                     in number,
2099   p_object_version_number       out nocopy number)
2100 is
2101   l_proc varchar2(80) := c_package||'create_sal_pay';
2102 begin
2103 --
2104   if g_debug then
2105     hr_utility.set_location(l_proc,0);
2106   end if;
2107 --
2108   p_object_version_number := 1;
2109 --
2110   insert into pay_action_information(
2111     action_information_id,
2112     object_version_number,
2113     action_context_id,
2114     action_context_type,
2115     effective_date,
2116     assignment_id,
2117     action_information_category,
2118     action_information1,
2119     action_information2,
2120     action_information3,
2121     action_information4,
2122     action_information5,
2123     action_information6,
2124     action_information7,
2125     action_information8,
2126     action_information9,
2127     action_information10,
2128     action_information11,
2129     action_information12,
2130     action_information13,
2131     action_information14)
2132   values(
2133     p_action_information_id,
2134     p_object_version_number,
2135     p_assignment_action_id,
2136     p_action_context_type,
2137     p_effective_date,
2138     p_assignment_id,
2139     p_action_information_category,
2140     p_category,
2141     fnd_number.number_to_canonical(p_col_mth1),
2142     fnd_number.number_to_canonical(p_col_mth2),
2143     fnd_number.number_to_canonical(p_col_mth3),
2144     fnd_number.number_to_canonical(p_col_mth4),
2145     fnd_number.number_to_canonical(p_col_mth5),
2146     fnd_number.number_to_canonical(p_col_mth6),
2147     fnd_number.number_to_canonical(p_col_mth7),
2148     fnd_number.number_to_canonical(p_col_mth8),
2149     fnd_number.number_to_canonical(p_col_mth9),
2150     fnd_number.number_to_canonical(p_col_mth10),
2151     fnd_number.number_to_canonical(p_col_mth11),
2152     fnd_number.number_to_canonical(p_col_mth12),
2153     fnd_number.number_to_canonical(p_col_tot));
2154 --
2155   if g_debug then
2156     hr_utility.set_location(l_proc,1000);
2157   end if;
2158 --
2159 end create_sal_pay;
2160 --
2161 -- -------------------------------------------------------------------------
2162 -- update_sal_pay
2163 -- -------------------------------------------------------------------------
2164 procedure update_sal_pay(
2165   p_assignment_action_id        in number,
2166   p_effective_date              in date,
2167   p_arch_assignment_action_id_o in number,
2168   p_category                    in varchar2,
2169   p_col_mth1                    in number,
2170   p_col_mth2                    in number,
2171   p_col_mth3                    in number,
2172   p_col_mth4                    in number,
2173   p_col_mth5                    in number,
2174   p_col_mth6                    in number,
2175   p_col_mth7                    in number,
2176   p_col_mth8                    in number,
2177   p_col_mth9                    in number,
2178   p_col_mth10                   in number,
2179   p_col_mth11                   in number,
2180   p_col_mth12                   in number,
2181   p_col_tot                     in number,
2182   p_action_information_id       out nocopy number,
2183   p_object_version_number       out nocopy number)
2184 is
2185 --
2186   l_proc varchar2(80) := c_package||'update_sal_pay';
2187 --
2188 begin
2189 --
2190   if g_debug then
2191     hr_utility.set_location(l_proc,0);
2192   end if;
2193 --
2194   copy_pai_type(
2195     p_assignment_action_id,
2196     p_effective_date,
2197     p_arch_assignment_action_id_o,
2198     'AAP',
2199     'JP_ITWB_SAL_PAY',
2200     p_category,
2201     p_action_information_id,
2202     p_object_version_number);
2203 --
2204   if g_debug then
2205     hr_utility.set_location(l_proc,10);
2206   end if;
2207 --
2208   if p_action_information_id is null then
2209   --
2210     if g_debug then
2211       hr_utility.set_location(l_proc,20);
2212     end if;
2213   --
2214     fnd_message.set_name('PAY','PAY_34985_INVALID_PAY_ACTION');
2215     fnd_message.raise_error;
2216   --
2217   else
2218   --
2219     if g_debug then
2220       hr_utility.set_location(l_proc,30);
2221     end if;
2222   --
2223     p_object_version_number := p_object_version_number + 1;
2224   --
2225     update pay_action_information
2226     set    object_version_number = p_object_version_number,
2227            action_information2 = decode(nvl(to_char(p_effective_date,'MM'),'X'),
2228                                    '01',fnd_number.number_to_canonical(p_col_mth1),
2229                                    decode(nvl(fnd_number.number_to_canonical(p_col_mth1),'X'),
2230                                      'X',action_information2,
2231                                      decode(nvl(action_information2,'X'),
2232                                        nvl(fnd_number.number_to_canonical(p_col_mth1),'X'),action_information2,
2233                                        fnd_number.number_to_canonical(p_col_mth1)))),
2234            action_information3 = decode(nvl(to_char(p_effective_date,'MM'),'X'),
2235                                    '02',fnd_number.number_to_canonical(p_col_mth2),
2236                                    decode(nvl(fnd_number.number_to_canonical(p_col_mth2),'X'),
2237                                      'X',action_information3,
2238                                      decode(nvl(action_information3,'X'),
2239                                        nvl(fnd_number.number_to_canonical(p_col_mth2),'X'),action_information3,
2240                                        fnd_number.number_to_canonical(p_col_mth2)))),
2241            action_information4 = decode(nvl(to_char(p_effective_date,'MM'),'X'),
2242                                    '03',fnd_number.number_to_canonical(p_col_mth3),
2243                                    decode(nvl(fnd_number.number_to_canonical(p_col_mth3),'X'),
2244                                      'X',action_information4,
2245                                      decode(nvl(action_information4,'X'),
2246                                        nvl(fnd_number.number_to_canonical(p_col_mth3),'X'),action_information4,
2247                                        fnd_number.number_to_canonical(p_col_mth3)))),
2248            action_information5 = decode(nvl(to_char(p_effective_date,'MM'),'X'),
2249                                    '04',fnd_number.number_to_canonical(p_col_mth4),
2250                                    decode(nvl(fnd_number.number_to_canonical(p_col_mth4),'X'),
2251                                      'X',action_information5,
2252                                      decode(nvl(action_information5,'X'),
2253                                        nvl(fnd_number.number_to_canonical(p_col_mth4),'X'),action_information5,
2254                                        fnd_number.number_to_canonical(p_col_mth4)))),
2255            action_information6 = decode(nvl(to_char(p_effective_date,'MM'),'X'),
2256                                    '05',fnd_number.number_to_canonical(p_col_mth5),
2257                                    decode(nvl(fnd_number.number_to_canonical(p_col_mth5),'X'),
2258                                      'X',action_information6,
2259                                      decode(nvl(action_information6,'X'),
2260                                        nvl(fnd_number.number_to_canonical(p_col_mth5),'X'),action_information6,
2261                                        fnd_number.number_to_canonical(p_col_mth5)))),
2262            action_information7 = decode(nvl(to_char(p_effective_date,'MM'),'X'),
2263                                    '06',fnd_number.number_to_canonical(p_col_mth6),
2264                                    decode(nvl(fnd_number.number_to_canonical(p_col_mth6),'X'),
2265                                      'X',action_information7,
2266                                      decode(nvl(action_information7,'X'),
2267                                        nvl(fnd_number.number_to_canonical(p_col_mth6),'X'),action_information7,
2268                                        fnd_number.number_to_canonical(p_col_mth6)))),
2269            action_information8 = decode(nvl(to_char(p_effective_date,'MM'),'X'),
2270                                    '07',fnd_number.number_to_canonical(p_col_mth7),
2271                                    decode(nvl(fnd_number.number_to_canonical(p_col_mth7),'X'),
2272                                      'X',action_information8,
2273                                      decode(nvl(action_information8,'X'),
2274                                        nvl(fnd_number.number_to_canonical(p_col_mth7),'X'),action_information8,
2275                                        fnd_number.number_to_canonical(p_col_mth7)))),
2276            action_information9 = decode(nvl(to_char(p_effective_date,'MM'),'X'),
2277                                    '08',fnd_number.number_to_canonical(p_col_mth8),
2278                                    decode(nvl(fnd_number.number_to_canonical(p_col_mth8),'X'),
2279                                      'X',action_information9,
2280                                       decode(nvl(action_information9,'X'),
2281                                         nvl(fnd_number.number_to_canonical(p_col_mth8),'X'),action_information9,
2282                                         fnd_number.number_to_canonical(p_col_mth8)))),
2283            action_information10 = decode(nvl(to_char(p_effective_date,'MM'),'X'),
2284                                    '09',fnd_number.number_to_canonical(p_col_mth9),
2285                                    decode(nvl(fnd_number.number_to_canonical(p_col_mth9),'X'),
2286                                       'X',action_information10,
2287                                       decode(nvl(action_information10,'X'),
2288                                         nvl(fnd_number.number_to_canonical(p_col_mth9),'X'),action_information10,
2289                                         fnd_number.number_to_canonical(p_col_mth9)))),
2290            action_information11 = decode(nvl(to_char(p_effective_date,'MM'),'X'),
2291                                    '10',fnd_number.number_to_canonical(p_col_mth10),
2292                                    decode(nvl(fnd_number.number_to_canonical(p_col_mth10),'X'),
2293                                       'X',action_information11,
2294                                       decode(nvl(action_information11,'X'),
2295                                         nvl(fnd_number.number_to_canonical(p_col_mth10),'X'),action_information11,
2296                                         fnd_number.number_to_canonical(p_col_mth10)))),
2297            action_information12 = decode(nvl(to_char(p_effective_date,'MM'),'X'),
2298                                    '11',fnd_number.number_to_canonical(p_col_mth11),
2299                                    decode(nvl(fnd_number.number_to_canonical(p_col_mth11),'X'),
2300                                       'X',action_information12,
2301                                       decode(nvl(action_information12,'X'),
2302                                         nvl(fnd_number.number_to_canonical(p_col_mth11),'X'),action_information12,
2303                                         fnd_number.number_to_canonical(p_col_mth11)))),
2304            action_information13 = decode(nvl(to_char(p_effective_date,'MM'),'X'),
2305                                    '12',fnd_number.number_to_canonical(p_col_mth12),
2306                                    decode(nvl(fnd_number.number_to_canonical(p_col_mth12),'X'),
2307                                       'X',action_information13,
2308                                       decode(nvl(action_information13,'X'),
2309                                         nvl(fnd_number.number_to_canonical(p_col_mth12),'X'),action_information13,
2310                                         fnd_number.number_to_canonical(p_col_mth12)))),
2311            action_information14 = decode(nvl(fnd_number.number_to_canonical(p_col_tot),'X'),
2312                                     'X',action_information14,
2313                                     decode(nvl(action_information14,'X'),
2314                                       nvl(fnd_number.number_to_canonical(p_col_tot),'X'),action_information14,
2315                                       fnd_number.number_to_canonical(p_col_tot)))
2316     where  action_information_id = p_action_information_id
2317     and    object_version_number < p_object_version_number
2318     and    action_context_id = p_assignment_action_id
2319     and    action_context_type = 'AAP'
2320     and    action_information_category = 'JP_ITWB_SAL_PAY'
2321     and    action_information1 = p_category
2322     and    (((p_col_mth1 is not null
2323               or nvl(to_char(p_effective_date,'MM'),'X') = '01')
2324             and (nvl(action_information2,'X') <> nvl(fnd_number.number_to_canonical(p_col_mth1),'X')))
2325            or ((p_col_mth2 is not null
2326               or nvl(to_char(p_effective_date,'MM'),'X') = '02')
2327               and (nvl(action_information3,'X') <> nvl(fnd_number.number_to_canonical(p_col_mth2),'X')))
2328            or ((p_col_mth3 is not null
2329               or nvl(to_char(p_effective_date,'MM'),'X') = '03')
2330               and (nvl(action_information4,'X') <> nvl(fnd_number.number_to_canonical(p_col_mth3),'X')))
2331            or ((p_col_mth4 is not null
2332               or nvl(to_char(p_effective_date,'MM'),'X') = '04')
2333               and (nvl(action_information5,'X') <> nvl(fnd_number.number_to_canonical(p_col_mth4),'X')))
2334            or ((p_col_mth5 is not null
2335               or nvl(to_char(p_effective_date,'MM'),'X') = '05')
2336               and (nvl(action_information6,'X') <> nvl(fnd_number.number_to_canonical(p_col_mth5),'X')))
2337            or ((p_col_mth6 is not null
2338               or nvl(to_char(p_effective_date,'MM'),'X') = '06')
2339               and (nvl(action_information7,'X') <> nvl(fnd_number.number_to_canonical(p_col_mth6),'X')))
2340            or ((p_col_mth7 is not null
2341               or nvl(to_char(p_effective_date,'MM'),'X') = '07')
2342               and (nvl(action_information8,'X') <> nvl(fnd_number.number_to_canonical(p_col_mth7),'X')))
2343            or ((p_col_mth8 is not null
2344               or nvl(to_char(p_effective_date,'MM'),'X') = '08')
2345               and (nvl(action_information9,'X') <> nvl(fnd_number.number_to_canonical(p_col_mth8),'X')))
2346            or ((p_col_mth9 is not null
2347               or nvl(to_char(p_effective_date,'MM'),'X') = '09')
2348               and (nvl(action_information10,'X') <> nvl(fnd_number.number_to_canonical(p_col_mth9),'X')))
2349            or ((p_col_mth10 is not null
2350               or nvl(to_char(p_effective_date,'MM'),'X') = '10')
2351               and (nvl(action_information11,'X') <> nvl(fnd_number.number_to_canonical(p_col_mth10),'X')))
2352            or ((p_col_mth11 is not null
2353               or nvl(to_char(p_effective_date,'MM'),'X') = '11')
2354               and (nvl(action_information12,'X') <> nvl(fnd_number.number_to_canonical(p_col_mth11),'X')))
2355            or ((p_col_mth12 is not null
2356               or nvl(to_char(p_effective_date,'MM'),'X') = '12')
2357               and (nvl(action_information13,'X') <> nvl(fnd_number.number_to_canonical(p_col_mth12),'X')))
2358            or (p_col_tot is not null
2359               and (nvl(action_information14,'X') <> nvl(fnd_number.number_to_canonical(p_col_tot),'X'))));
2360   --
2361   end if;
2362 --
2363   if g_debug then
2364     hr_utility.set_location(l_proc,1000);
2365   end if;
2366 --
2367 end update_sal_pay;
2368 --
2369 -- -------------------------------------------------------------------------
2370 -- add_sal_pay
2371 -- -------------------------------------------------------------------------
2372 procedure add_sal_pay(
2373   p_assignment_action_id        in number,
2374   p_effective_date              in date,
2375   p_arch_assignment_action_id_o in number,
2376   p_category                    in varchar2,
2377   p_col_mth1                    in number,
2378   p_col_mth2                    in number,
2379   p_col_mth3                    in number,
2380   p_col_mth4                    in number,
2381   p_col_mth5                    in number,
2382   p_col_mth6                    in number,
2383   p_col_mth7                    in number,
2384   p_col_mth8                    in number,
2385   p_col_mth9                    in number,
2386   p_col_mth10                   in number,
2387   p_col_mth11                   in number,
2388   p_col_mth12                   in number,
2389   p_col_tot                     in number,
2390   p_action_information_id       out nocopy number,
2391   p_object_version_number       out nocopy number)
2392 is
2393 --
2394   l_proc varchar2(80) := c_package||'add_sal_pay';
2395 --
2396 begin
2397 --
2398   if g_debug then
2399     hr_utility.set_location(l_proc,0);
2400   end if;
2401 --
2402   copy_pai_type(
2403     p_assignment_action_id,
2404     p_effective_date,
2405     p_arch_assignment_action_id_o,
2406     'AAP',
2407     'JP_ITWB_SAL_PAY',
2408     p_category,
2409     p_action_information_id,
2410     p_object_version_number);
2411 --
2412   if g_debug then
2413     hr_utility.set_location(l_proc,10);
2414   end if;
2415 --
2416   if p_action_information_id is null then
2417   --
2418     if g_debug then
2419       hr_utility.set_location(l_proc,20);
2420     end if;
2421   --
2422     fnd_message.set_name('PAY','PAY_34985_INVALID_PAY_ACTION');
2423     fnd_message.raise_error;
2424   --
2425   else
2426   --
2427     if g_debug then
2428       hr_utility.set_location(l_proc,30);
2429     end if;
2430   --
2431     p_object_version_number := p_object_version_number + 1;
2432   --
2433     update pay_action_information
2434     set    object_version_number = p_object_version_number,
2435            action_information2 = decode(nvl(fnd_number.number_to_canonical(p_col_mth1),'X'),
2436                                    'X',action_information2,
2437                                    fnd_number.number_to_canonical(p_col_mth1)),
2438            action_information3 = decode(nvl(fnd_number.number_to_canonical(p_col_mth2),'X'),
2439                                    'X',action_information3,
2440                                    fnd_number.number_to_canonical(p_col_mth2)),
2441            action_information4 = decode(nvl(fnd_number.number_to_canonical(p_col_mth3),'X'),
2442                                    'X',action_information4,
2443                                    fnd_number.number_to_canonical(p_col_mth3)),
2444            action_information5 = decode(nvl(fnd_number.number_to_canonical(p_col_mth4),'X'),
2445                                    'X',action_information5,
2446                                    fnd_number.number_to_canonical(p_col_mth4)),
2447            action_information6 = decode(nvl(fnd_number.number_to_canonical(p_col_mth5),'X'),
2448                                    'X',action_information6,
2449                                    fnd_number.number_to_canonical(p_col_mth5)),
2450            action_information7 = decode(nvl(fnd_number.number_to_canonical(p_col_mth6),'X'),
2451                                    'X',action_information7,
2452                                    fnd_number.number_to_canonical(p_col_mth6)),
2453            action_information8 = decode(nvl(fnd_number.number_to_canonical(p_col_mth7),'X'),
2454                                    'X',action_information8,
2455                                    fnd_number.number_to_canonical(p_col_mth7)),
2456            action_information9 = decode(nvl(fnd_number.number_to_canonical(p_col_mth8),'X'),
2457                                    'X',action_information9,
2458                                    fnd_number.number_to_canonical(p_col_mth8)),
2459            action_information10 = decode(nvl(fnd_number.number_to_canonical(p_col_mth9),'X'),
2460                                     'X',action_information10,
2461                                     fnd_number.number_to_canonical(p_col_mth9)),
2462            action_information11 = decode(nvl(fnd_number.number_to_canonical(p_col_mth10),'X'),
2463                                     'X',action_information11,
2464                                     fnd_number.number_to_canonical(p_col_mth10)),
2465            action_information12 = decode(nvl(fnd_number.number_to_canonical(p_col_mth11),'X'),
2466                                     'X',action_information12,
2467                                     fnd_number.number_to_canonical(p_col_mth11)),
2468            action_information13 = decode(nvl(fnd_number.number_to_canonical(p_col_mth12),'X'),
2469                                     'X',action_information13,
2470                                     fnd_number.number_to_canonical(p_col_mth12)),
2471            action_information14 = decode(nvl(fnd_number.number_to_canonical(p_col_tot),'X'),
2472                                     'X',action_information14,
2473                                     fnd_number.number_to_canonical(p_col_tot))
2474     where  action_information_id = p_action_information_id
2475     and    object_version_number < p_object_version_number
2476     and    action_context_id = p_assignment_action_id
2477     and    action_context_type = 'AAP'
2478     and    action_information_category = 'JP_ITWB_SAL_PAY'
2479     and    action_information1 = p_category;
2480   --
2481   end if;
2482 --
2483   if g_debug then
2484     hr_utility.set_location(l_proc,1000);
2485   end if;
2486 --
2487 end add_sal_pay;
2488 --
2489 -- -------------------------------------------------------------------------
2490 -- create_bon_act
2491 -- -------------------------------------------------------------------------
2492 procedure create_bon_act(
2493   p_action_information_id       in number,
2494   p_assignment_action_id        in number,
2495   p_action_context_type         in varchar2,
2496   p_assignment_id               in number,
2497   p_effective_date              in date,
2498   p_action_information_category in varchar2,
2499   p_category                    in varchar2,
2500   p_col_cnt1                    in varchar2,
2501   p_col_cnt2                    in varchar2,
2502   p_col_cnt3                    in varchar2,
2503   p_col_cnt4                    in varchar2,
2504   p_col_cnt5                    in varchar2,
2505   p_col_cnt6                    in varchar2,
2506   p_col_cnt7                    in varchar2,
2507   p_col_cnt8                    in varchar2,
2508   p_col_cnt9                    in varchar2,
2509   p_col_cnt10                   in varchar2,
2510   p_col_cnt11                   in varchar2,
2511   p_col_cnt12                   in varchar2,
2512   p_col_cnt13                   in varchar2,
2513   p_col_cnt14                   in varchar2,
2514   p_col_cnt15                   in varchar2,
2515   p_object_version_number       out nocopy number)
2516 is
2517   l_proc varchar2(80) := c_package||'create_bon_act';
2518 begin
2519 --
2520   if g_debug then
2521     hr_utility.set_location(l_proc,0);
2522   end if;
2523 --
2524   p_object_version_number := 1;
2525 --
2526   insert into pay_action_information(
2527     action_information_id,
2528     object_version_number,
2529     action_context_id,
2530     action_context_type,
2531     effective_date,
2532     assignment_id,
2533     action_information_category,
2534     action_information1,
2535     action_information2,
2536     action_information3,
2537     action_information4,
2538     action_information5,
2539     action_information6,
2540     action_information7,
2541     action_information8,
2542     action_information9,
2543     action_information10,
2544     action_information11,
2545     action_information12,
2546     action_information13,
2547     action_information14,
2548     action_information15,
2549     action_information16)
2550   values(
2551     p_action_information_id,
2552     p_object_version_number,
2553     p_assignment_action_id,
2554     p_action_context_type,
2555     p_effective_date,
2556     p_assignment_id,
2557     p_action_information_category,
2558     p_category,
2559     p_col_cnt1,
2560     p_col_cnt2,
2561     p_col_cnt3,
2562     p_col_cnt4,
2563     p_col_cnt5,
2564     p_col_cnt6,
2565     p_col_cnt7,
2566     p_col_cnt8,
2567     p_col_cnt9,
2568     p_col_cnt10,
2569     p_col_cnt11,
2570     p_col_cnt12,
2571     p_col_cnt13,
2572     p_col_cnt14,
2573     p_col_cnt15);
2574 --
2575   if g_debug then
2576     hr_utility.set_location(l_proc,1000);
2577   end if;
2578 --
2579 end create_bon_act;
2580 --
2581 -- -------------------------------------------------------------------------
2582 -- update_bon_act
2583 -- -------------------------------------------------------------------------
2584 procedure update_bon_act(
2585   p_assignment_action_id        in number,
2586   p_effective_date              in date,
2587   p_arch_assignment_action_id_o in number,
2588   p_category                    in varchar2,
2589   p_col_cnt1                    in varchar2,
2590   p_col_cnt2                    in varchar2,
2591   p_col_cnt3                    in varchar2,
2592   p_col_cnt4                    in varchar2,
2593   p_col_cnt5                    in varchar2,
2594   p_col_cnt6                    in varchar2,
2595   p_col_cnt7                    in varchar2,
2596   p_col_cnt8                    in varchar2,
2597   p_col_cnt9                    in varchar2,
2598   p_col_cnt10                   in varchar2,
2599   p_col_cnt11                   in varchar2,
2600   p_col_cnt12                   in varchar2,
2601   p_col_cnt13                   in varchar2,
2602   p_col_cnt14                   in varchar2,
2603   p_col_cnt15                   in varchar2,
2604   p_action_information_id       out nocopy number,
2605   p_object_version_number       out nocopy number)
2606 is
2607 --
2608   l_proc varchar2(80) := c_package||'update_bon_act';
2609 --
2610   cursor csr_act_efd
2611   is
2612   select decode(nvl(to_char(col_cnt1,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt1,
2613          decode(nvl(to_char(col_cnt2,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt2,
2614          decode(nvl(to_char(col_cnt3,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt3,
2615          decode(nvl(to_char(col_cnt4,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt4,
2616          decode(nvl(to_char(col_cnt5,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt5,
2617          decode(nvl(to_char(col_cnt6,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt6,
2618          decode(nvl(to_char(col_cnt7,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt7,
2619          decode(nvl(to_char(col_cnt8,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt8,
2620          decode(nvl(to_char(col_cnt9,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt9,
2621          decode(nvl(to_char(col_cnt10,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt10,
2622          decode(nvl(to_char(col_cnt11,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt11,
2623          decode(nvl(to_char(col_cnt12,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt12,
2624          decode(nvl(to_char(col_cnt13,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt13,
2625          decode(nvl(to_char(col_cnt14,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt14,
2626          decode(nvl(to_char(col_cnt15,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt15
2627   from   pay_jp_itwb_bon_act_efd_v
2628   where  assignment_action_id = p_arch_assignment_action_id_o;
2629 --
2630   l_csr_act_efd csr_act_efd%rowtype;
2631 --
2632 begin
2633 --
2634   if g_debug then
2635     hr_utility.set_location(l_proc,0);
2636   end if;
2637 --
2638   copy_pai_type(
2639     p_assignment_action_id,
2640     p_effective_date,
2641     p_arch_assignment_action_id_o,
2642     'AAP',
2643     'JP_ITWB_BON_ACT',
2644     p_category,
2645     p_action_information_id,
2646     p_object_version_number);
2647 --
2648   if g_debug then
2649     hr_utility.set_location(l_proc,10);
2650   end if;
2651 --
2652   if p_action_information_id is null then
2653   --
2654     if g_debug then
2655       hr_utility.set_location(l_proc,20);
2656     end if;
2657   --
2658     fnd_message.set_name('PAY','PAY_34985_INVALID_PAY_ACTION');
2659     fnd_message.raise_error;
2660   --
2661   else
2662   --
2663     if g_debug then
2664       hr_utility.set_location(l_proc,30);
2665     end if;
2666   --
2667     open csr_act_efd;
2668     fetch csr_act_efd into l_csr_act_efd;
2669     close csr_act_efd;
2670   --
2671     if g_debug then
2672       hr_utility.set_location(l_proc,40);
2673     end if;
2674   --
2675     p_object_version_number := p_object_version_number + 1;
2676   --
2677     -- update only 1 column for 1 update month, else set previous data
2678     update pay_action_information
2679     set    object_version_number = p_object_version_number,
2680            action_information2 = decode(nvl(l_csr_act_efd.col_cnt1,-1),
2681                                    0,p_col_cnt1,
2682                                    decode(nvl(p_col_cnt1,'X'),
2683                                      'X',action_information2,
2684                                      decode(nvl(action_information2,'X'),
2685                                        nvl(p_col_cnt1,'X'),action_information2,
2686                                        p_col_cnt1))),
2687            action_information3 = decode(nvl(l_csr_act_efd.col_cnt2,-1),
2688                                    0,p_col_cnt2,
2689                                    decode(nvl(p_col_cnt2,'X'),
2690                                      'X',action_information3,
2691                                      decode(nvl(action_information3,'X'),
2692                                        nvl(p_col_cnt2,'X'),action_information3,
2693                                        p_col_cnt2))),
2694            action_information4 = decode(nvl(l_csr_act_efd.col_cnt3,-1),
2695                                    0,p_col_cnt3,
2696                                    decode(nvl(p_col_cnt3,'X'),
2697                                      'X',action_information4,
2698                                      decode(nvl(action_information4,'X'),
2699                                        nvl(p_col_cnt3,'X'),action_information4,
2700                                        p_col_cnt3))),
2701            action_information5 = decode(nvl(l_csr_act_efd.col_cnt4,-1),
2702                                    0,p_col_cnt4,
2703                                    decode(nvl(p_col_cnt4,'X'),
2704                                      'X',action_information5,
2705                                      decode(nvl(action_information5,'X'),
2706                                        nvl(p_col_cnt4,'X'),action_information5,
2707                                        p_col_cnt4))),
2708            action_information6 = decode(nvl(l_csr_act_efd.col_cnt5,-1),
2709                                    0,p_col_cnt5,
2710                                    decode(nvl(p_col_cnt5,'X'),
2711                                      'X',action_information6,
2712                                      decode(nvl(action_information6,'X'),
2713                                        nvl(p_col_cnt5,'X'),action_information6,
2714                                        p_col_cnt5))),
2715            action_information7 = decode(nvl(l_csr_act_efd.col_cnt6,-1),
2716                                    0,p_col_cnt6,
2717                                    decode(nvl(p_col_cnt6,'X'),
2718                                      'X',action_information7,
2719                                      decode(nvl(action_information7,'X'),
2720                                        nvl(p_col_cnt6,'X'),action_information7,
2721                                        p_col_cnt6))),
2722            action_information8 = decode(nvl(l_csr_act_efd.col_cnt7,-1),
2723                                    0,p_col_cnt7,
2724                                    decode(nvl(p_col_cnt7,'X'),
2725                                      'X',action_information8,
2726                                      decode(nvl(action_information8,'X'),
2727                                        nvl(p_col_cnt7,'X'),action_information8,
2728                                        p_col_cnt7))),
2729            action_information9 = decode(nvl(l_csr_act_efd.col_cnt8,-1),
2730                                    0,p_col_cnt8,
2731                                    decode(nvl(p_col_cnt8,'X'),
2732                                      'X',action_information9,
2733                                      decode(nvl(action_information9,'X'),
2734                                        nvl(p_col_cnt8,'X'),action_information9,
2735                                        p_col_cnt8))),
2736            action_information10 = decode(nvl(l_csr_act_efd.col_cnt9,-1),
2737                                    0,p_col_cnt9,
2738                                    decode(nvl(p_col_cnt9,'X'),
2739                                       'X',action_information10,
2740                                      decode(nvl(action_information10,'X'),
2741                                        nvl(p_col_cnt9,'X'),action_information10,
2742                                        p_col_cnt9))),
2743            action_information11 = decode(nvl(l_csr_act_efd.col_cnt10,-1),
2744                                    0,p_col_cnt10,
2745                                    decode(nvl(p_col_cnt10,'X'),
2746                                       'X',action_information11,
2747                                       decode(nvl(action_information11,'X'),
2748                                         nvl(p_col_cnt10,'X'),action_information11,
2749                                         p_col_cnt10))),
2750            action_information12 = decode(nvl(l_csr_act_efd.col_cnt11,-1),
2751                                    0,p_col_cnt11,
2752                                    decode(nvl(p_col_cnt11,'X'),
2753                                       'X',action_information12,
2754                                       decode(nvl(action_information12,'X'),
2755                                         nvl(p_col_cnt11,'X'),action_information12,
2756                                         p_col_cnt11))),
2757            action_information13 = decode(nvl(l_csr_act_efd.col_cnt12,-1),
2758                                    0,p_col_cnt12,
2759                                    decode(nvl(p_col_cnt12,'X'),
2760                                       'X',action_information13,
2761                                       decode(nvl(action_information13,'X'),
2762                                         nvl(p_col_cnt12,'X'),action_information13,
2763                                         p_col_cnt12))),
2764            action_information14 = decode(nvl(l_csr_act_efd.col_cnt13,-1),
2765                                    0,p_col_cnt13,
2766                                    decode(nvl(p_col_cnt13,'X'),
2767                                       'X',action_information14,
2768                                       decode(nvl(action_information14,'X'),
2769                                         nvl(p_col_cnt13,'X'),action_information14,
2770                                         p_col_cnt13))),
2771            action_information15 = decode(nvl(l_csr_act_efd.col_cnt14,-1),
2772                                    0,p_col_cnt14,
2773                                    decode(nvl(p_col_cnt14,'X'),
2774                                       'X',action_information15,
2775                                       decode(nvl(action_information15,'X'),
2776                                         nvl(p_col_cnt14,'X'),action_information15,
2777                                         p_col_cnt14))),
2778            action_information16 = decode(nvl(l_csr_act_efd.col_cnt15,-1),
2779                                    0,p_col_cnt15,
2780                                    decode(nvl(p_col_cnt15,'X'),
2781                                       'X',action_information16,
2782                                       decode(nvl(action_information16,'X'),
2783                                         nvl(p_col_cnt15,'X'),action_information16,
2784                                         p_col_cnt15)))
2785     where  action_information_id = p_action_information_id
2786     and    object_version_number < p_object_version_number
2787     and    action_context_id = p_assignment_action_id
2788     and    action_context_type = 'AAP'
2789     and    action_information_category = 'JP_ITWB_BON_ACT'
2790     and    action_information1 = p_category
2791     and    (((p_col_cnt1 is not null
2792              or nvl(l_csr_act_efd.col_cnt1,-1) = 0)
2793              and (nvl(action_information2,'X') <> nvl(p_col_cnt1,'X')))
2794            or ((p_col_cnt2 is not null
2795               or nvl(l_csr_act_efd.col_cnt2,-1) = 0)
2796               and (nvl(action_information3,'X') <> nvl(p_col_cnt2,'X')))
2797            or ((p_col_cnt3 is not null
2798               or nvl(l_csr_act_efd.col_cnt3,-1) = 0)
2799               and (nvl(action_information4,'X') <> nvl(p_col_cnt3,'X')))
2800            or ((p_col_cnt4 is not null
2801               or nvl(l_csr_act_efd.col_cnt4,-1) = 0)
2802               and (nvl(action_information5,'X') <> nvl(p_col_cnt4,'X')))
2803            or ((p_col_cnt5 is not null
2804               or nvl(l_csr_act_efd.col_cnt5,-1) = 0)
2805               and (nvl(action_information6,'X') <> nvl(p_col_cnt5,'X')))
2806            or ((p_col_cnt6 is not null
2807               or nvl(l_csr_act_efd.col_cnt6,-1) = 0)
2808               and (nvl(action_information7,'X') <> nvl(p_col_cnt6,'X')))
2809            or ((p_col_cnt7 is not null
2810               or nvl(l_csr_act_efd.col_cnt7,-1) = 0)
2811               and (nvl(action_information8,'X') <> nvl(p_col_cnt7,'X')))
2812            or ((p_col_cnt8 is not null
2813               or nvl(l_csr_act_efd.col_cnt8,-1) = 0)
2814               and (nvl(action_information9,'X') <> nvl(p_col_cnt8,'X')))
2815            or ((p_col_cnt9 is not null
2816               or nvl(l_csr_act_efd.col_cnt9,-1) = 0)
2817               and (nvl(action_information10,'X') <> nvl(p_col_cnt9,'X')))
2818            or ((p_col_cnt10 is not null
2819               or nvl(l_csr_act_efd.col_cnt10,-1) = 0)
2820               and (nvl(action_information11,'X') <> nvl(p_col_cnt10,'X')))
2821            or ((p_col_cnt11 is not null
2822               or nvl(l_csr_act_efd.col_cnt11,-1) = 0)
2823               and (nvl(action_information12,'X') <> nvl(p_col_cnt11,'X')))
2824            or ((p_col_cnt12 is not null
2825               or nvl(l_csr_act_efd.col_cnt12,-1) = 0)
2826               and (nvl(action_information13,'X') <> nvl(p_col_cnt12,'X')))
2827            or ((p_col_cnt13 is not null
2828               or nvl(l_csr_act_efd.col_cnt13,-1) = 0)
2829               and (nvl(action_information14,'X') <> nvl(p_col_cnt13,'X')))
2830            or ((p_col_cnt14 is not null
2831               or nvl(l_csr_act_efd.col_cnt14,-1) = 0)
2832               and (nvl(action_information15,'X') <> nvl(p_col_cnt14,'X')))
2833            or ((p_col_cnt15 is not null
2834               or nvl(l_csr_act_efd.col_cnt15,-1) = 0)
2835               and (nvl(action_information16,'X') <> nvl(p_col_cnt15,'X'))));
2836   --
2837   end if;
2838 --
2839   if g_debug then
2840     hr_utility.set_location(l_proc,1000);
2841   end if;
2842 --
2843 end update_bon_act;
2844 --
2845 -- -------------------------------------------------------------------------
2846 -- add_bon_act
2847 -- -------------------------------------------------------------------------
2848 procedure add_bon_act(
2849   p_assignment_action_id        in number,
2850   p_effective_date              in date,
2851   p_arch_assignment_action_id_o in number,
2852   p_category                    in varchar2,
2853   p_col_cnt1                    in varchar2,
2854   p_col_cnt2                    in varchar2,
2855   p_col_cnt3                    in varchar2,
2856   p_col_cnt4                    in varchar2,
2857   p_col_cnt5                    in varchar2,
2858   p_col_cnt6                    in varchar2,
2859   p_col_cnt7                    in varchar2,
2860   p_col_cnt8                    in varchar2,
2861   p_col_cnt9                    in varchar2,
2862   p_col_cnt10                   in varchar2,
2863   p_col_cnt11                   in varchar2,
2864   p_col_cnt12                   in varchar2,
2865   p_col_cnt13                   in varchar2,
2866   p_col_cnt14                   in varchar2,
2867   p_col_cnt15                   in varchar2,
2868   p_action_information_id       out nocopy number,
2869   p_object_version_number       out nocopy number)
2870 is
2871 --
2872   l_proc varchar2(80) := c_package||'add_bon_act';
2873 --
2874 begin
2875 --
2876   if g_debug then
2877     hr_utility.set_location(l_proc,0);
2878   end if;
2879 --
2880   copy_pai_type(
2881     p_assignment_action_id,
2882     p_effective_date,
2883     p_arch_assignment_action_id_o,
2884     'AAP',
2885     'JP_ITWB_BON_ACT',
2886     p_category,
2887     p_action_information_id,
2888     p_object_version_number);
2889 --
2890   if g_debug then
2891     hr_utility.set_location(l_proc,10);
2892   end if;
2893 --
2894   if p_action_information_id is null then
2895   --
2896     if g_debug then
2897       hr_utility.set_location(l_proc,20);
2898     end if;
2899   --
2900     fnd_message.set_name('PAY','PAY_34985_INVALID_PAY_ACTION');
2901     fnd_message.raise_error;
2902   --
2903   else
2904   --
2905     if g_debug then
2906       hr_utility.set_location(l_proc,30);
2907     end if;
2908   --
2909     p_object_version_number := p_object_version_number + 1;
2910   --
2911     --update multiple column for new multiple month, else set previous data
2912     update pay_action_information
2913     set    object_version_number = p_object_version_number,
2914            action_information2 = decode(nvl(p_col_cnt1,'X'),
2915                                    'X',action_information2,
2916                                    p_col_cnt1),
2917            action_information3 = decode(nvl(p_col_cnt2,'X'),
2918                                    'X',action_information3,
2919                                    p_col_cnt2),
2920            action_information4 = decode(nvl(p_col_cnt3,'X'),
2921                                    'X',action_information4,
2922                                    p_col_cnt3),
2923            action_information5 = decode(nvl(p_col_cnt4,'X'),
2924                                    'X',action_information5,
2925                                    p_col_cnt4),
2926            action_information6 = decode(nvl(p_col_cnt5,'X'),
2927                                    'X',action_information6,
2928                                    p_col_cnt5),
2929            action_information7 = decode(nvl(p_col_cnt6,'X'),
2930                                    'X',action_information7,
2931                                    p_col_cnt6),
2932            action_information8 = decode(nvl(p_col_cnt7,'X'),
2933                                    'X',action_information8,
2934                                    p_col_cnt7),
2935            action_information9 = decode(nvl(p_col_cnt8,'X'),
2936                                    'X',action_information9,
2937                                    p_col_cnt8),
2938            action_information10 = decode(nvl(p_col_cnt9,'X'),
2939                                     'X',action_information10,
2940                                     p_col_cnt9),
2941            action_information11 = decode(nvl(p_col_cnt10,'X'),
2942                                     'X',action_information11,
2943                                     p_col_cnt10),
2944            action_information12 = decode(nvl(p_col_cnt11,'X'),
2945                                     'X',action_information12,
2946                                     p_col_cnt11),
2947            action_information13 = decode(nvl(p_col_cnt12,'X'),
2948                                     'X',action_information13,
2949                                     p_col_cnt12),
2950            action_information14 = decode(nvl(p_col_cnt13,'X'),
2951                                     'X',action_information14,
2952                                     p_col_cnt13),
2953            action_information15 = decode(nvl(p_col_cnt14,'X'),
2954                                     'X',action_information15,
2955                                     p_col_cnt14),
2956            action_information16 = decode(nvl(p_col_cnt15,'X'),
2957                                     'X',action_information16,
2958                                     p_col_cnt15)
2959     where  action_information_id = p_action_information_id
2960     and    object_version_number < p_object_version_number
2961     and    action_context_id = p_assignment_action_id
2962     and    action_context_type = 'AAP'
2963     and    action_information_category = 'JP_ITWB_BON_ACT'
2964     and    action_information1 = p_category;
2965   --
2966   end if;
2967 --
2968   if g_debug then
2969     hr_utility.set_location(l_proc,1000);
2970   end if;
2971 --
2972 end add_bon_act;
2973 --
2974 -- -------------------------------------------------------------------------
2975 -- create_bon_pay (text)
2976 -- -------------------------------------------------------------------------
2977 procedure create_bon_pay(
2978   p_action_information_id       in number,
2979   p_assignment_action_id        in number,
2980   p_action_context_type         in varchar2,
2981   p_assignment_id               in number,
2982   p_effective_date              in date,
2983   p_action_information_category in varchar2,
2984   p_category                    in varchar2,
2985   p_col_cnt1                    in varchar2,
2986   p_col_cnt2                    in varchar2,
2987   p_col_cnt3                    in varchar2,
2988   p_col_cnt4                    in varchar2,
2989   p_col_cnt5                    in varchar2,
2990   p_col_cnt6                    in varchar2,
2991   p_col_cnt7                    in varchar2,
2992   p_col_cnt8                    in varchar2,
2993   p_col_cnt9                    in varchar2,
2994   p_col_cnt10                   in varchar2,
2995   p_col_cnt11                   in varchar2,
2996   p_col_cnt12                   in varchar2,
2997   p_col_cnt13                   in varchar2,
2998   p_col_cnt14                   in varchar2,
2999   p_col_cnt15                   in varchar2,
3000   p_col_tot                     in varchar2,
3001   p_object_version_number       out nocopy number)
3002 is
3003   l_proc varchar2(80) := c_package||'create_bon_pay';
3004 begin
3005 --
3006   if g_debug then
3007     hr_utility.set_location(l_proc,0);
3008   end if;
3009 --
3010   p_object_version_number := 1;
3011 --
3012   insert into pay_action_information(
3013     action_information_id,
3014     object_version_number,
3015     action_context_id,
3016     action_context_type,
3017     effective_date,
3018     assignment_id,
3019     action_information_category,
3020     action_information1,
3021     action_information2,
3022     action_information3,
3023     action_information4,
3024     action_information5,
3025     action_information6,
3026     action_information7,
3027     action_information8,
3028     action_information9,
3029     action_information10,
3030     action_information11,
3031     action_information12,
3032     action_information13,
3033     action_information14,
3034     action_information15,
3035     action_information16,
3036     action_information17)
3037   values(
3038     p_action_information_id,
3039     p_object_version_number,
3040     p_assignment_action_id,
3041     p_action_context_type,
3042     p_effective_date,
3043     p_assignment_id,
3044     p_action_information_category,
3045     p_category,
3046     p_col_cnt1,
3047     p_col_cnt2,
3048     p_col_cnt3,
3049     p_col_cnt4,
3050     p_col_cnt5,
3051     p_col_cnt6,
3052     p_col_cnt7,
3053     p_col_cnt8,
3054     p_col_cnt9,
3055     p_col_cnt10,
3056     p_col_cnt11,
3057     p_col_cnt12,
3058     p_col_cnt13,
3059     p_col_cnt14,
3060     p_col_cnt15,
3061     p_col_tot);
3062 --
3063   if g_debug then
3064     hr_utility.set_location(l_proc,1000);
3065   end if;
3066 --
3067 end create_bon_pay;
3068 --
3069 -- -------------------------------------------------------------------------
3070 -- create_bon_pay (number)
3071 -- -------------------------------------------------------------------------
3072 procedure create_bon_pay(
3073   p_action_information_id       in number,
3074   p_assignment_action_id        in number,
3075   p_action_context_type         in varchar2,
3076   p_assignment_id               in number,
3077   p_effective_date              in date,
3078   p_action_information_category in varchar2,
3079   p_category                    in varchar2,
3080   p_col_cnt1                    in number,
3081   p_col_cnt2                    in number,
3082   p_col_cnt3                    in number,
3083   p_col_cnt4                    in number,
3084   p_col_cnt5                    in number,
3085   p_col_cnt6                    in number,
3086   p_col_cnt7                    in number,
3087   p_col_cnt8                    in number,
3088   p_col_cnt9                    in number,
3089   p_col_cnt10                   in number,
3090   p_col_cnt11                   in number,
3091   p_col_cnt12                   in number,
3092   p_col_cnt13                   in number,
3093   p_col_cnt14                   in number,
3094   p_col_cnt15                   in number,
3095   p_col_tot                     in number,
3096   p_object_version_number       out nocopy number)
3097 is
3098   l_proc varchar2(80) := c_package||'create_bon_pay';
3099 begin
3100 --
3101   if g_debug then
3102     hr_utility.set_location(l_proc,0);
3103   end if;
3104 --
3105   create_bon_pay(
3106     p_action_information_id       => p_action_information_id,
3107     p_assignment_action_id        => p_assignment_action_id,
3108     p_action_context_type         => p_action_context_type,
3109     p_assignment_id               => p_assignment_id,
3110     p_effective_date              => p_effective_date,
3111     p_action_information_category => p_action_information_category,
3112     p_category                    => p_category,
3113     p_col_cnt1                    => fnd_number.number_to_canonical(p_col_cnt1),
3114     p_col_cnt2                    => fnd_number.number_to_canonical(p_col_cnt2),
3115     p_col_cnt3                    => fnd_number.number_to_canonical(p_col_cnt3),
3116     p_col_cnt4                    => fnd_number.number_to_canonical(p_col_cnt4),
3117     p_col_cnt5                    => fnd_number.number_to_canonical(p_col_cnt5),
3118     p_col_cnt6                    => fnd_number.number_to_canonical(p_col_cnt6),
3119     p_col_cnt7                    => fnd_number.number_to_canonical(p_col_cnt7),
3120     p_col_cnt8                    => fnd_number.number_to_canonical(p_col_cnt8),
3121     p_col_cnt9                    => fnd_number.number_to_canonical(p_col_cnt9),
3122     p_col_cnt10                   => fnd_number.number_to_canonical(p_col_cnt10),
3123     p_col_cnt11                   => fnd_number.number_to_canonical(p_col_cnt11),
3124     p_col_cnt12                   => fnd_number.number_to_canonical(p_col_cnt12),
3125     p_col_cnt13                   => fnd_number.number_to_canonical(p_col_cnt13),
3126     p_col_cnt14                   => fnd_number.number_to_canonical(p_col_cnt14),
3127     p_col_cnt15                   => fnd_number.number_to_canonical(p_col_cnt15),
3128     p_col_tot                     => fnd_number.number_to_canonical(p_col_tot),
3129     p_object_version_number       => p_object_version_number);
3130 --
3131   if g_debug then
3132     hr_utility.set_location(l_proc,1000);
3133   end if;
3134 --
3135 end create_bon_pay;
3136 --
3137 -- -------------------------------------------------------------------------
3138 -- update_bon_pay (text)
3139 -- -------------------------------------------------------------------------
3140 procedure update_bon_pay(
3141   p_assignment_action_id        in number,
3142   p_effective_date              in date,
3143   p_arch_assignment_action_id_o in number,
3144   p_category                    in varchar2,
3145   p_col_cnt1                    in varchar2,
3146   p_col_cnt2                    in varchar2,
3147   p_col_cnt3                    in varchar2,
3148   p_col_cnt4                    in varchar2,
3149   p_col_cnt5                    in varchar2,
3150   p_col_cnt6                    in varchar2,
3151   p_col_cnt7                    in varchar2,
3152   p_col_cnt8                    in varchar2,
3153   p_col_cnt9                    in varchar2,
3154   p_col_cnt10                   in varchar2,
3155   p_col_cnt11                   in varchar2,
3156   p_col_cnt12                   in varchar2,
3157   p_col_cnt13                   in varchar2,
3158   p_col_cnt14                   in varchar2,
3159   p_col_cnt15                   in varchar2,
3160   p_col_tot                     in varchar2,
3161   p_action_information_id       out nocopy number,
3162   p_object_version_number       out nocopy number)
3163 is
3164 --
3165   l_proc varchar2(80) := c_package||'update_bon_pay';
3166 --
3167   cursor csr_act_efd
3168   is
3169   select decode(nvl(to_char(col_cnt1,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt1,
3170          decode(nvl(to_char(col_cnt2,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt2,
3171          decode(nvl(to_char(col_cnt3,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt3,
3172          decode(nvl(to_char(col_cnt4,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt4,
3173          decode(nvl(to_char(col_cnt5,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt5,
3174          decode(nvl(to_char(col_cnt6,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt6,
3175          decode(nvl(to_char(col_cnt7,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt7,
3176          decode(nvl(to_char(col_cnt8,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt8,
3177          decode(nvl(to_char(col_cnt9,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt9,
3178          decode(nvl(to_char(col_cnt10,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt10,
3179          decode(nvl(to_char(col_cnt11,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt11,
3180          decode(nvl(to_char(col_cnt12,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt12,
3181          decode(nvl(to_char(col_cnt13,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt13,
3182          decode(nvl(to_char(col_cnt14,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt14,
3183          decode(nvl(to_char(col_cnt15,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt15
3184   from   pay_jp_itwb_bon_act_efd_v
3185   where  assignment_action_id = p_arch_assignment_action_id_o;
3186 --
3187   l_csr_act_efd csr_act_efd%rowtype;
3188 --
3189 begin
3190 --
3191   if g_debug then
3192     hr_utility.set_location(l_proc,0);
3193   end if;
3194 --
3195   copy_pai_type(
3196     p_assignment_action_id,
3197     p_effective_date,
3198     p_arch_assignment_action_id_o,
3199     'AAP',
3200     'JP_ITWB_BON_PAY',
3201     p_category,
3202     p_action_information_id,
3203     p_object_version_number);
3204 --
3205   if g_debug then
3206     hr_utility.set_location(l_proc,10);
3207   end if;
3208 --
3209   if p_action_information_id is null then
3210   --
3211     if g_debug then
3212       hr_utility.set_location(l_proc,20);
3213     end if;
3214   --
3215     fnd_message.set_name('PAY','PAY_34985_INVALID_PAY_ACTION');
3216     fnd_message.raise_error;
3217   --
3218   else
3219   --
3220     if g_debug then
3221       hr_utility.set_location(l_proc,30);
3222     end if;
3223   --
3224     open csr_act_efd;
3225     fetch csr_act_efd into l_csr_act_efd;
3226     close csr_act_efd;
3227   --
3228     if g_debug then
3229       hr_utility.set_location(l_proc,40);
3230     end if;
3231   --
3232     p_object_version_number := p_object_version_number + 1;
3233   --
3234     update pay_action_information
3235     set    object_version_number = p_object_version_number,
3236            action_information2 = decode(nvl(l_csr_act_efd.col_cnt1,-1),
3237                                    0,p_col_cnt1,
3238                                    decode(nvl(p_col_cnt1,'X'),
3239                                      'X',action_information2,
3240                                      decode(nvl(action_information2,'X'),
3241                                        nvl(p_col_cnt1,'X'),action_information2,
3242                                        p_col_cnt1))),
3243            action_information3 = decode(nvl(l_csr_act_efd.col_cnt2,-1),
3244                                    0,p_col_cnt2,
3245                                    decode(nvl(p_col_cnt2,'X'),
3246                                      'X',action_information3,
3247                                      decode(nvl(action_information3,'X'),
3248                                        nvl(p_col_cnt2,'X'),action_information3,
3249                                        p_col_cnt2))),
3250            action_information4 = decode(nvl(l_csr_act_efd.col_cnt3,-1),
3251                                    0,p_col_cnt3,
3252                                    decode(nvl(p_col_cnt3,'X'),
3253                                      'X',action_information4,
3254                                      decode(nvl(action_information4,'X'),
3255                                        nvl(p_col_cnt3,'X'),action_information4,
3256                                        p_col_cnt3))),
3257            action_information5 = decode(nvl(l_csr_act_efd.col_cnt4,-1),
3258                                    0,p_col_cnt4,
3259                                    decode(nvl(p_col_cnt4,'X'),
3260                                      'X',action_information5,
3261                                      decode(nvl(action_information5,'X'),
3262                                        nvl(p_col_cnt4,'X'),action_information5,
3263                                        p_col_cnt4))),
3264            action_information6 = decode(nvl(l_csr_act_efd.col_cnt5,-1),
3265                                    0,p_col_cnt5,
3266                                    decode(nvl(p_col_cnt5,'X'),
3267                                      'X',action_information6,
3268                                      decode(nvl(action_information6,'X'),
3269                                        nvl(p_col_cnt5,'X'),action_information6,
3270                                        p_col_cnt5))),
3271            action_information7 = decode(nvl(l_csr_act_efd.col_cnt6,-1),
3272                                    0,p_col_cnt6,
3273                                    decode(nvl(p_col_cnt6,'X'),
3274                                      'X',action_information7,
3275                                      decode(nvl(action_information7,'X'),
3276                                        nvl(p_col_cnt6,'X'),action_information7,
3277                                        p_col_cnt6))),
3278            action_information8 = decode(nvl(l_csr_act_efd.col_cnt7,-1),
3279                                    0,p_col_cnt7,
3280                                    decode(nvl(p_col_cnt7,'X'),
3281                                      'X',action_information8,
3282                                      decode(nvl(action_information8,'X'),
3283                                        nvl(p_col_cnt7,'X'),action_information8,
3284                                        p_col_cnt7))),
3285            action_information9 = decode(nvl(l_csr_act_efd.col_cnt8,-1),
3286                                    0,p_col_cnt8,
3287                                    decode(nvl(p_col_cnt8,'X'),
3288                                      'X',action_information9,
3289                                      decode(nvl(action_information9,'X'),
3290                                        nvl(p_col_cnt8,'X'),action_information9,
3291                                        p_col_cnt8))),
3292            action_information10 = decode(nvl(l_csr_act_efd.col_cnt9,-1),
3293                                    0,p_col_cnt9,
3294                                    decode(nvl(p_col_cnt9,'X'),
3295                                       'X',action_information10,
3296                                      decode(nvl(action_information10,'X'),
3297                                        nvl(p_col_cnt9,'X'),action_information10,
3298                                        p_col_cnt9))),
3299            action_information11 = decode(nvl(l_csr_act_efd.col_cnt10,-1),
3300                                    0,p_col_cnt10,
3301                                    decode(nvl(p_col_cnt10,'X'),
3302                                       'X',action_information11,
3303                                       decode(nvl(action_information11,'X'),
3304                                         nvl(p_col_cnt10,'X'),action_information11,
3305                                         p_col_cnt10))),
3306            action_information12 = decode(nvl(l_csr_act_efd.col_cnt11,-1),
3307                                    0,p_col_cnt11,
3308                                    decode(nvl(p_col_cnt11,'X'),
3309                                       'X',action_information12,
3310                                       decode(nvl(action_information12,'X'),
3311                                         nvl(p_col_cnt11,'X'),action_information12,
3312                                         p_col_cnt11))),
3313            action_information13 = decode(nvl(l_csr_act_efd.col_cnt12,-1),
3314                                    0,p_col_cnt12,
3315                                    decode(nvl(p_col_cnt12,'X'),
3316                                       'X',action_information13,
3317                                       decode(nvl(action_information13,'X'),
3318                                         nvl(p_col_cnt12,'X'),action_information13,
3319                                         p_col_cnt12))),
3320            action_information14 = decode(nvl(l_csr_act_efd.col_cnt13,-1),
3321                                    0,p_col_cnt13,
3322                                    decode(nvl(p_col_cnt13,'X'),
3323                                       'X',action_information14,
3324                                       decode(nvl(action_information14,'X'),
3325                                         nvl(p_col_cnt13,'X'),action_information14,
3326                                         p_col_cnt13))),
3327            action_information15 = decode(nvl(l_csr_act_efd.col_cnt14,-1),
3328                                    0,p_col_cnt14,
3329                                    decode(nvl(p_col_cnt14,'X'),
3330                                       'X',action_information15,
3331                                       decode(nvl(action_information15,'X'),
3332                                         nvl(p_col_cnt14,'X'),action_information15,
3333                                         p_col_cnt14))),
3334            action_information16 = decode(nvl(l_csr_act_efd.col_cnt15,-1),
3335                                    0,p_col_cnt15,
3336                                    decode(nvl(p_col_cnt15,'X'),
3337                                       'X',action_information16,
3338                                       decode(nvl(action_information16,'X'),
3339                                         nvl(p_col_cnt15,'X'),action_information16,
3340                                         p_col_cnt15))),
3341            action_information17 = decode(nvl(p_col_tot,'X'),
3342                                     'X',action_information17,
3343                                    decode(nvl(action_information17,'X'),
3344                                      nvl(p_col_tot,'X'),action_information17,
3345                                      p_col_tot))
3346     where  action_information_id = p_action_information_id
3347     and    object_version_number < p_object_version_number
3348     and    action_context_id = p_assignment_action_id
3349     and    action_context_type = 'AAP'
3350     and    action_information_category = 'JP_ITWB_BON_PAY'
3351     and    action_information1 = p_category
3352     and    (((p_col_cnt1 is not null
3353              or nvl(l_csr_act_efd.col_cnt1,-1) = 0)
3354              and (nvl(action_information2,'X') <> nvl(p_col_cnt1,'X')))
3355            or ((p_col_cnt2 is not null
3356               or nvl(l_csr_act_efd.col_cnt2,-1) = 0)
3357               and (nvl(action_information3,'X') <> nvl(p_col_cnt2,'X')))
3358            or ((p_col_cnt3 is not null
3359               or nvl(l_csr_act_efd.col_cnt3,-1) = 0)
3360               and (nvl(action_information4,'X') <> nvl(p_col_cnt3,'X')))
3361            or ((p_col_cnt4 is not null
3362               or nvl(l_csr_act_efd.col_cnt4,-1) = 0)
3363               and (nvl(action_information5,'X') <> nvl(p_col_cnt4,'X')))
3364            or ((p_col_cnt5 is not null
3365               or nvl(l_csr_act_efd.col_cnt5,-1) = 0)
3366               and (nvl(action_information6,'X') <> nvl(p_col_cnt5,'X')))
3367            or ((p_col_cnt6 is not null
3368               or nvl(l_csr_act_efd.col_cnt6,-1) = 0)
3369               and (nvl(action_information7,'X') <> nvl(p_col_cnt6,'X')))
3370            or ((p_col_cnt7 is not null
3371               or nvl(l_csr_act_efd.col_cnt7,-1) = 0)
3372               and (nvl(action_information8,'X') <> nvl(p_col_cnt7,'X')))
3373            or ((p_col_cnt8 is not null
3374               or nvl(l_csr_act_efd.col_cnt8,-1) = 0)
3375               and (nvl(action_information9,'X') <> nvl(p_col_cnt8,'X')))
3376            or ((p_col_cnt9 is not null
3377               or nvl(l_csr_act_efd.col_cnt9,-1) = 0)
3378               and (nvl(action_information10,'X') <> nvl(p_col_cnt9,'X')))
3379            or ((p_col_cnt10 is not null
3380               or nvl(l_csr_act_efd.col_cnt10,-1) = 0)
3381               and (nvl(action_information11,'X') <> nvl(p_col_cnt10,'X')))
3382            or ((p_col_cnt11 is not null
3383               or nvl(l_csr_act_efd.col_cnt11,-1) = 0)
3384               and (nvl(action_information12,'X') <> nvl(p_col_cnt11,'X')))
3385            or ((p_col_cnt12 is not null
3386               or nvl(l_csr_act_efd.col_cnt12,-1) = 0)
3387               and (nvl(action_information13,'X') <> nvl(p_col_cnt12,'X')))
3388            or ((p_col_cnt13 is not null
3389               or nvl(l_csr_act_efd.col_cnt13,-1) = 0)
3390               and (nvl(action_information14,'X') <> nvl(p_col_cnt13,'X')))
3391            or ((p_col_cnt14 is not null
3392               or nvl(l_csr_act_efd.col_cnt14,-1) = 0)
3393               and (nvl(action_information15,'X') <> nvl(p_col_cnt14,'X')))
3394            or ((p_col_cnt15 is not null
3395               or nvl(l_csr_act_efd.col_cnt15,-1) = 0)
3396               and (nvl(action_information16,'X') <> nvl(p_col_cnt15,'X')))
3397            or (p_col_tot is not null
3398               and (nvl(action_information17,'X') <> nvl(p_col_tot,'X'))));
3399   --
3400   end if;
3401 --
3402   if g_debug then
3403     hr_utility.set_location(l_proc,1000);
3404   end if;
3405 --
3406 end update_bon_pay;
3407 --
3408 -- -------------------------------------------------------------------------
3409 -- update_bon_pay (number)
3410 -- -------------------------------------------------------------------------
3411 procedure update_bon_pay(
3412   p_assignment_action_id        in number,
3413   p_effective_date              in date,
3414   p_arch_assignment_action_id_o in number,
3415   p_category                    in varchar2,
3416   p_col_cnt1                    in number,
3417   p_col_cnt2                    in number,
3418   p_col_cnt3                    in number,
3419   p_col_cnt4                    in number,
3420   p_col_cnt5                    in number,
3421   p_col_cnt6                    in number,
3422   p_col_cnt7                    in number,
3423   p_col_cnt8                    in number,
3424   p_col_cnt9                    in number,
3425   p_col_cnt10                   in number,
3426   p_col_cnt11                   in number,
3427   p_col_cnt12                   in number,
3428   p_col_cnt13                   in number,
3429   p_col_cnt14                   in number,
3430   p_col_cnt15                   in number,
3431   p_col_tot                     in number,
3432   p_action_information_id       out nocopy number,
3433   p_object_version_number       out nocopy number)
3434 is
3435 --
3436   l_proc varchar2(80) := c_package||'update_bon_pay';
3437 --
3438 begin
3439 --
3440   if g_debug then
3441     hr_utility.set_location(l_proc,0);
3442   end if;
3443 --
3444   update_bon_pay(
3445     p_assignment_action_id        => p_assignment_action_id,
3446     p_effective_date              => p_effective_date,
3447     p_arch_assignment_action_id_o => p_arch_assignment_action_id_o,
3448     p_category                    => p_category,
3449     p_col_cnt1                    => fnd_number.number_to_canonical(p_col_cnt1),
3450     p_col_cnt2                    => fnd_number.number_to_canonical(p_col_cnt2),
3451     p_col_cnt3                    => fnd_number.number_to_canonical(p_col_cnt3),
3452     p_col_cnt4                    => fnd_number.number_to_canonical(p_col_cnt4),
3453     p_col_cnt5                    => fnd_number.number_to_canonical(p_col_cnt5),
3454     p_col_cnt6                    => fnd_number.number_to_canonical(p_col_cnt6),
3455     p_col_cnt7                    => fnd_number.number_to_canonical(p_col_cnt7),
3456     p_col_cnt8                    => fnd_number.number_to_canonical(p_col_cnt8),
3457     p_col_cnt9                    => fnd_number.number_to_canonical(p_col_cnt9),
3458     p_col_cnt10                   => fnd_number.number_to_canonical(p_col_cnt10),
3459     p_col_cnt11                   => fnd_number.number_to_canonical(p_col_cnt11),
3460     p_col_cnt12                   => fnd_number.number_to_canonical(p_col_cnt12),
3461     p_col_cnt13                   => fnd_number.number_to_canonical(p_col_cnt13),
3462     p_col_cnt14                   => fnd_number.number_to_canonical(p_col_cnt14),
3463     p_col_cnt15                   => fnd_number.number_to_canonical(p_col_cnt15),
3464     p_col_tot                     => fnd_number.number_to_canonical(p_col_tot),
3465     p_action_information_id       => p_action_information_id,
3466     p_object_version_number       => p_object_version_number);
3467 --
3468   if g_debug then
3469     hr_utility.set_location(l_proc,1000);
3470   end if;
3471 --
3472 end update_bon_pay;
3473 --
3474 -- -------------------------------------------------------------------------
3475 -- add_bon_pay (text)
3476 -- -------------------------------------------------------------------------
3477 procedure add_bon_pay(
3478   p_assignment_action_id        in number,
3479   p_effective_date              in date,
3480   p_arch_assignment_action_id_o in number,
3481   p_category                    in varchar2,
3482   p_col_cnt1                    in varchar2,
3483   p_col_cnt2                    in varchar2,
3484   p_col_cnt3                    in varchar2,
3485   p_col_cnt4                    in varchar2,
3486   p_col_cnt5                    in varchar2,
3487   p_col_cnt6                    in varchar2,
3488   p_col_cnt7                    in varchar2,
3489   p_col_cnt8                    in varchar2,
3490   p_col_cnt9                    in varchar2,
3491   p_col_cnt10                   in varchar2,
3492   p_col_cnt11                   in varchar2,
3493   p_col_cnt12                   in varchar2,
3494   p_col_cnt13                   in varchar2,
3495   p_col_cnt14                   in varchar2,
3496   p_col_cnt15                   in varchar2,
3497   p_col_tot                     in varchar2,
3498   p_action_information_id       out nocopy number,
3499   p_object_version_number       out nocopy number)
3500 is
3501 --
3502   l_proc varchar2(80) := c_package||'add_bon_pay';
3503 --
3504 begin
3505 --
3506   if g_debug then
3507     hr_utility.set_location(l_proc,0);
3508   end if;
3509 --
3510   copy_pai_type(
3511     p_assignment_action_id,
3512     p_effective_date,
3513     p_arch_assignment_action_id_o,
3514     'AAP',
3515     'JP_ITWB_BON_PAY',
3516     p_category,
3517     p_action_information_id,
3518     p_object_version_number);
3519 --
3520   if g_debug then
3521     hr_utility.set_location(l_proc,10);
3522   end if;
3523 --
3524   if p_action_information_id is null then
3525   --
3526     if g_debug then
3527       hr_utility.set_location(l_proc,20);
3528     end if;
3529   --
3530     fnd_message.set_name('PAY','PAY_34985_INVALID_PAY_ACTION');
3531     fnd_message.raise_error;
3532   --
3533   else
3534   --
3535     if g_debug then
3536       hr_utility.set_location(l_proc,30);
3537     end if;
3538   --
3539     p_object_version_number := p_object_version_number + 1;
3540   --
3541     update pay_action_information
3542     set    object_version_number = p_object_version_number,
3543            action_information2 = decode(nvl(p_col_cnt1,'X'),
3544                                    'X',action_information2,
3545                                    p_col_cnt1),
3546            action_information3 = decode(nvl(p_col_cnt2,'X'),
3547                                    'X',action_information3,
3548                                    p_col_cnt2),
3549            action_information4 = decode(nvl(p_col_cnt3,'X'),
3550                                    'X',action_information4,
3551                                    p_col_cnt3),
3552            action_information5 = decode(nvl(p_col_cnt4,'X'),
3553                                    'X',action_information5,
3554                                    p_col_cnt4),
3555            action_information6 = decode(nvl(p_col_cnt5,'X'),
3556                                    'X',action_information6,
3557                                    p_col_cnt5),
3558            action_information7 = decode(nvl(p_col_cnt6,'X'),
3559                                    'X',action_information7,
3560                                    p_col_cnt6),
3561            action_information8 = decode(nvl(p_col_cnt7,'X'),
3562                                    'X',action_information8,
3563                                    p_col_cnt7),
3564            action_information9 = decode(nvl(p_col_cnt8,'X'),
3565                                    'X',action_information9,
3566                                    p_col_cnt8),
3567            action_information10 = decode(nvl(p_col_cnt9,'X'),
3568                                     'X',action_information10,
3569                                     p_col_cnt9),
3570            action_information11 = decode(nvl(p_col_cnt10,'X'),
3571                                     'X',action_information11,
3572                                     p_col_cnt10),
3573            action_information12 = decode(nvl(p_col_cnt11,'X'),
3574                                     'X',action_information12,
3575                                     p_col_cnt11),
3576            action_information13 = decode(nvl(p_col_cnt12,'X'),
3577                                     'X',action_information13,
3578                                     p_col_cnt12),
3579            action_information14 = decode(nvl(p_col_cnt13,'X'),
3580                                     'X',action_information14,
3581                                     p_col_cnt13),
3582            action_information15 = decode(nvl(p_col_cnt14,'X'),
3583                                     'X',action_information15,
3584                                     p_col_cnt14),
3585            action_information16 = decode(nvl(p_col_cnt15,'X'),
3586                                     'X',action_information16,
3587                                     p_col_cnt15),
3588            action_information17 = decode(nvl(p_col_tot,'X'),
3589                                     'X',action_information17,
3590                                     p_col_tot)
3591     where  action_information_id = p_action_information_id
3592     and    object_version_number < p_object_version_number
3593     and    action_context_id = p_assignment_action_id
3594     and    action_context_type = 'AAP'
3595     and    action_information_category = 'JP_ITWB_BON_PAY'
3596     and    action_information1 = p_category;
3597   --
3598   end if;
3599 --
3600   if g_debug then
3601     hr_utility.set_location(l_proc,1000);
3602   end if;
3603 --
3604 end add_bon_pay;
3605 --
3606 -- -------------------------------------------------------------------------
3607 -- add_bon_pay (number)
3608 -- -------------------------------------------------------------------------
3609 procedure add_bon_pay(
3610   p_assignment_action_id        in number,
3611   p_effective_date              in date,
3612   p_arch_assignment_action_id_o in number,
3613   p_category                    in varchar2,
3614   p_col_cnt1                    in number,
3615   p_col_cnt2                    in number,
3616   p_col_cnt3                    in number,
3617   p_col_cnt4                    in number,
3618   p_col_cnt5                    in number,
3619   p_col_cnt6                    in number,
3620   p_col_cnt7                    in number,
3621   p_col_cnt8                    in number,
3622   p_col_cnt9                    in number,
3623   p_col_cnt10                   in number,
3624   p_col_cnt11                   in number,
3625   p_col_cnt12                   in number,
3626   p_col_cnt13                   in number,
3627   p_col_cnt14                   in number,
3628   p_col_cnt15                   in number,
3629   p_col_tot                     in number,
3630   p_action_information_id       out nocopy number,
3631   p_object_version_number       out nocopy number)
3632 is
3633 --
3634   l_proc varchar2(80) := c_package||'add_bon_pay';
3635 --
3636 begin
3637 --
3638   if g_debug then
3639     hr_utility.set_location(l_proc,0);
3640   end if;
3641 --
3642   add_bon_pay(
3643     p_assignment_action_id        => p_assignment_action_id,
3644     p_effective_date              => p_effective_date,
3645     p_arch_assignment_action_id_o => p_arch_assignment_action_id_o,
3646     p_category                    => p_category,
3647     p_col_cnt1                    => fnd_number.number_to_canonical(p_col_cnt1),
3648     p_col_cnt2                    => fnd_number.number_to_canonical(p_col_cnt2),
3649     p_col_cnt3                    => fnd_number.number_to_canonical(p_col_cnt3),
3650     p_col_cnt4                    => fnd_number.number_to_canonical(p_col_cnt4),
3651     p_col_cnt5                    => fnd_number.number_to_canonical(p_col_cnt5),
3652     p_col_cnt6                    => fnd_number.number_to_canonical(p_col_cnt6),
3653     p_col_cnt7                    => fnd_number.number_to_canonical(p_col_cnt7),
3654     p_col_cnt8                    => fnd_number.number_to_canonical(p_col_cnt8),
3655     p_col_cnt9                    => fnd_number.number_to_canonical(p_col_cnt9),
3656     p_col_cnt10                   => fnd_number.number_to_canonical(p_col_cnt10),
3657     p_col_cnt11                   => fnd_number.number_to_canonical(p_col_cnt11),
3658     p_col_cnt12                   => fnd_number.number_to_canonical(p_col_cnt12),
3659     p_col_cnt13                   => fnd_number.number_to_canonical(p_col_cnt13),
3660     p_col_cnt14                   => fnd_number.number_to_canonical(p_col_cnt14),
3661     p_col_cnt15                   => fnd_number.number_to_canonical(p_col_cnt15),
3662     p_col_tot                     => fnd_number.number_to_canonical(p_col_tot),
3663     p_action_information_id       => p_action_information_id,
3664     p_object_version_number       => p_object_version_number);
3665 --
3666   if g_debug then
3667     hr_utility.set_location(l_proc,1000);
3668   end if;
3669 --
3670 end add_bon_pay;
3671 --
3672 -- -------------------------------------------------------------------------
3673 -- create_sal_earn
3674 -- -------------------------------------------------------------------------
3675 procedure create_sal_earn(
3676   p_action_information_id       in number,
3677   p_assignment_action_id        in number,
3678   p_action_context_type         in varchar2,
3679   p_assignment_id               in number,
3680   p_effective_date              in date,
3681   p_action_information_category in varchar2,
3682   p_item_pay_id                 in number,
3683   p_item_pay_ord                in number,
3684   p_item_type                   in varchar2,
3685   p_item_id                     in number,
3686   p_item_rep_seq                in number,
3687   p_item_rep_name               in varchar2,
3688   p_col_mth1                    in number,
3689   p_col_mth2                    in number,
3690   p_col_mth3                    in number,
3691   p_col_mth4                    in number,
3692   p_col_mth5                    in number,
3693   p_col_mth6                    in number,
3694   p_col_mth7                    in number,
3695   p_col_mth8                    in number,
3696   p_col_mth9                    in number,
3697   p_col_mth10                   in number,
3698   p_col_mth11                   in number,
3699   p_col_mth12                   in number,
3700   p_col_tot                     in number,
3701   p_object_version_number       out nocopy number)
3702 is
3703   l_proc varchar2(80) := c_package||'create_sal_earn';
3704 begin
3705 --
3706   if g_debug then
3707     hr_utility.set_location(l_proc,0);
3708   end if;
3709 --
3710   p_object_version_number := 1;
3711 --
3712   insert into pay_action_information(
3713     action_information_id,
3714     object_version_number,
3715     action_context_id,
3716     action_context_type,
3717     effective_date,
3718     assignment_id,
3719     action_information_category,
3720     action_information1,
3721     action_information2,
3722     action_information3,
3723     action_information4,
3724     action_information5,
3725     action_information6,
3726     action_information7,
3727     action_information8,
3728     action_information9,
3729     action_information10,
3730     action_information11,
3731     action_information12,
3732     action_information13,
3733     action_information14,
3734     action_information15,
3735     action_information16,
3736     action_information17,
3737     action_information18,
3738     action_information19)
3739   values(
3740     p_action_information_id,
3741     p_object_version_number,
3742     p_assignment_action_id,
3743     p_action_context_type,
3744     p_effective_date,
3745     p_assignment_id,
3746     p_action_information_category,
3747     fnd_number.number_to_canonical(p_item_pay_id),
3748     fnd_number.number_to_canonical(p_item_pay_ord),
3749     p_item_type,
3750     fnd_number.number_to_canonical(p_item_id),
3751     fnd_number.number_to_canonical(p_item_rep_seq),
3752     p_item_rep_name,
3753     fnd_number.number_to_canonical(p_col_mth1),
3754     fnd_number.number_to_canonical(p_col_mth2),
3755     fnd_number.number_to_canonical(p_col_mth3),
3756     fnd_number.number_to_canonical(p_col_mth4),
3757     fnd_number.number_to_canonical(p_col_mth5),
3758     fnd_number.number_to_canonical(p_col_mth6),
3759     fnd_number.number_to_canonical(p_col_mth7),
3760     fnd_number.number_to_canonical(p_col_mth8),
3761     fnd_number.number_to_canonical(p_col_mth9),
3762     fnd_number.number_to_canonical(p_col_mth10),
3763     fnd_number.number_to_canonical(p_col_mth11),
3764     fnd_number.number_to_canonical(p_col_mth12),
3765     fnd_number.number_to_canonical(p_col_tot));
3766 --
3767   if g_debug then
3768     hr_utility.set_location(l_proc,1000);
3769   end if;
3770 --
3771 end create_sal_earn;
3772 --
3773 -- -------------------------------------------------------------------------
3774 -- update_sal_earn
3775 -- -------------------------------------------------------------------------
3776 procedure update_sal_earn(
3777   p_assignment_action_id        in number,
3778   p_assignment_id               in number,
3779   p_effective_date              in date,
3780   p_arch_assignment_action_id_o in number,
3781   p_item_pay_id                 in number,
3782   p_item_pay_ord                in number,
3783   p_item_type                   in varchar2,
3784   p_item_id                     in number,
3785   p_item_rep_seq                in number,
3786   p_item_rep_name               in varchar2,
3787   p_col_mth1                    in number,
3788   p_col_mth2                    in number,
3789   p_col_mth3                    in number,
3790   p_col_mth4                    in number,
3791   p_col_mth5                    in number,
3792   p_col_mth6                    in number,
3793   p_col_mth7                    in number,
3794   p_col_mth8                    in number,
3795   p_col_mth9                    in number,
3796   p_col_mth10                   in number,
3797   p_col_mth11                   in number,
3798   p_col_mth12                   in number,
3799   p_col_tot                     in number,
3800   p_action_information_id       out nocopy number,
3801   p_object_version_number       out nocopy number)
3802 is
3803 --
3804   l_proc varchar2(80) := c_package||'update_sal_earn';
3805 --
3806   cursor csr_sal_earn
3807   is
3808   select  action_information_id,
3809           object_version_number
3810   from    pay_jp_itwb_sal_earn_v
3811   where   assignment_action_id = p_assignment_action_id
3812   and     item_pay_id = p_item_pay_id
3813   and     item_type = p_item_type
3814   and     item_id = p_item_id;
3815 --
3816 begin
3817 --
3818   if g_debug then
3819     hr_utility.set_location(l_proc,0);
3820   end if;
3821 --
3822   -- pai have been already bulk copied for all items.
3823   open csr_sal_earn;
3824   fetch csr_sal_earn into p_action_information_id, p_object_version_number;
3825   close csr_sal_earn;
3826 --
3827   if g_debug then
3828     hr_utility.set_location(l_proc,10);
3829   end if;
3830 --
3831   if p_action_information_id is not null then
3832   --
3833     if g_debug then
3834       hr_utility.set_location(l_proc,20);
3835     end if;
3836   --
3837     p_object_version_number := p_object_version_number + 1;
3838   --
3839     update pay_action_information
3840     set    object_version_number = p_object_version_number,
3841            action_information2 = decode(nvl(action_information2,'X'),
3842                                    nvl(fnd_number.number_to_canonical(p_item_pay_ord),'X'),action_information2,
3843                                    fnd_number.number_to_canonical(p_item_pay_ord)),
3844            action_information5 = decode(nvl(action_information5,'X'),
3845                                    nvl(fnd_number.number_to_canonical(p_item_rep_seq),'X'),action_information5,
3846                                    fnd_number.number_to_canonical(p_item_rep_seq)),
3847            action_information6 = decode(nvl(action_information6,'X'),
3848                                    nvl(p_item_rep_name,'X'),action_information6,
3849                                    p_item_rep_name),
3850            action_information7 = decode(nvl(to_char(p_effective_date,'MM'),'X'),
3851                                    '01',fnd_number.number_to_canonical(p_col_mth1),
3852                                    decode(nvl(fnd_number.number_to_canonical(p_col_mth1),'X'),
3853                                      'X',action_information7,
3854                                      decode(nvl(action_information7,'X'),
3855                                        nvl(fnd_number.number_to_canonical(p_col_mth1),'X'),action_information7,
3856                                        fnd_number.number_to_canonical(p_col_mth1)))),
3857            action_information8 = decode(nvl(to_char(p_effective_date,'MM'),'X'),
3858                                    '02',fnd_number.number_to_canonical(p_col_mth2),
3859                                    decode(nvl(fnd_number.number_to_canonical(p_col_mth2),'X'),
3860                                      'X',action_information8,
3861                                      decode(nvl(action_information8,'X'),
3862                                        nvl(fnd_number.number_to_canonical(p_col_mth2),'X'),action_information8,
3863                                        fnd_number.number_to_canonical(p_col_mth2)))),
3864            action_information9 = decode(nvl(to_char(p_effective_date,'MM'),'X'),
3865                                    '03',fnd_number.number_to_canonical(p_col_mth3),
3866                                    decode(nvl(fnd_number.number_to_canonical(p_col_mth3),'X'),
3867                                      'X',action_information9,
3868                                      decode(nvl(action_information9,'X'),
3869                                        nvl(fnd_number.number_to_canonical(p_col_mth3),'X'),action_information9,
3870                                        fnd_number.number_to_canonical(p_col_mth3)))),
3871            action_information10 = decode(nvl(to_char(p_effective_date,'MM'),'X'),
3872                                    '04',fnd_number.number_to_canonical(p_col_mth4),
3873                                    decode(nvl(fnd_number.number_to_canonical(p_col_mth4),'X'),
3874                                      'X',action_information10,
3875                                      decode(nvl(action_information10,'X'),
3876                                        nvl(fnd_number.number_to_canonical(p_col_mth4),'X'),action_information10,
3877                                        fnd_number.number_to_canonical(p_col_mth4)))),
3878            action_information11 = decode(nvl(to_char(p_effective_date,'MM'),'X'),
3879                                    '05',fnd_number.number_to_canonical(p_col_mth5),
3880                                    decode(nvl(fnd_number.number_to_canonical(p_col_mth5),'X'),
3881                                      'X',action_information11,
3882                                      decode(nvl(action_information11,'X'),
3883                                        nvl(fnd_number.number_to_canonical(p_col_mth5),'X'),action_information11,
3884                                        fnd_number.number_to_canonical(p_col_mth5)))),
3885            action_information12 = decode(nvl(to_char(p_effective_date,'MM'),'X'),
3886                                    '06',fnd_number.number_to_canonical(p_col_mth6),
3887                                    decode(nvl(fnd_number.number_to_canonical(p_col_mth6),'X'),
3888                                      'X',action_information12,
3889                                      decode(nvl(action_information12,'X'),
3890                                        nvl(fnd_number.number_to_canonical(p_col_mth6),'X'),action_information12,
3891                                        fnd_number.number_to_canonical(p_col_mth6)))),
3892            action_information13 = decode(nvl(to_char(p_effective_date,'MM'),'X'),
3893                                    '07',fnd_number.number_to_canonical(p_col_mth7),
3894                                    decode(nvl(fnd_number.number_to_canonical(p_col_mth7),'X'),
3895                                      'X',action_information13,
3896                                      decode(nvl(action_information13,'X'),
3897                                        nvl(fnd_number.number_to_canonical(p_col_mth7),'X'),action_information13,
3898                                        fnd_number.number_to_canonical(p_col_mth7)))),
3899            action_information14 = decode(nvl(to_char(p_effective_date,'MM'),'X'),
3900                                    '08',fnd_number.number_to_canonical(p_col_mth8),
3901                                    decode(nvl(fnd_number.number_to_canonical(p_col_mth8),'X'),
3902                                      'X',action_information14,
3903                                      decode(nvl(action_information14,'X'),
3904                                        nvl(fnd_number.number_to_canonical(p_col_mth8),'X'),action_information14,
3905                                        fnd_number.number_to_canonical(p_col_mth8)))),
3906            action_information15 = decode(nvl(to_char(p_effective_date,'MM'),'X'),
3907                                    '09',fnd_number.number_to_canonical(p_col_mth9),
3908                                    decode(nvl(fnd_number.number_to_canonical(p_col_mth9),'X'),
3909                                       'X',action_information15,
3910                                       decode(nvl(action_information15,'X'),
3911                                         nvl(fnd_number.number_to_canonical(p_col_mth9),'X'),action_information15,
3912                                         fnd_number.number_to_canonical(p_col_mth9)))),
3913            action_information16 = decode(nvl(to_char(p_effective_date,'MM'),'X'),
3914                                    '10',fnd_number.number_to_canonical(p_col_mth10),
3915                                    decode(nvl(fnd_number.number_to_canonical(p_col_mth10),'X'),
3916                                       'X',action_information16,
3917                                       decode(nvl(action_information16,'X'),
3918                                         nvl(fnd_number.number_to_canonical(p_col_mth10),'X'),action_information16,
3919                                         fnd_number.number_to_canonical(p_col_mth10)))),
3920            action_information17 = decode(nvl(to_char(p_effective_date,'MM'),'X'),
3921                                    '11',fnd_number.number_to_canonical(p_col_mth11),
3922                                    decode(nvl(fnd_number.number_to_canonical(p_col_mth11),'X'),
3923                                       'X',action_information17,
3924                                       decode(nvl(action_information17,'X'),
3925                                         nvl(fnd_number.number_to_canonical(p_col_mth11),'X'),action_information17,
3926                                         fnd_number.number_to_canonical(p_col_mth11)))),
3927            action_information18 = decode(nvl(to_char(p_effective_date,'MM'),'X'),
3928                                    '12',fnd_number.number_to_canonical(p_col_mth12),
3929                                    decode(nvl(fnd_number.number_to_canonical(p_col_mth12),'X'),
3930                                       'X',action_information18,
3931                                       decode(nvl(action_information18,'X'),
3932                                         nvl(fnd_number.number_to_canonical(p_col_mth12),'X'),action_information18,
3933                                         fnd_number.number_to_canonical(p_col_mth12)))),
3934            action_information19 = decode(nvl(fnd_number.number_to_canonical(p_col_tot),'X'),
3935                                     'X',action_information19,
3936                                    decode(nvl(action_information19,'X'),
3937                                      nvl(fnd_number.number_to_canonical(p_col_tot),'X'),action_information19,
3938                                      fnd_number.number_to_canonical(p_col_tot)))
3939     where  action_information_id = p_action_information_id
3940     and    object_version_number < p_object_version_number
3941     and    action_context_id = p_assignment_action_id
3942     and    action_context_type = 'AAP'
3943     and    action_information_category = 'JP_ITWB_SAL_EARN'
3944     and    action_information1 = fnd_number.number_to_canonical(p_item_pay_id)
3945     and    action_information3 = p_item_type
3946     and    action_information4 = fnd_number.number_to_canonical(p_item_id)
3947     and    (nvl(action_information2,'X') <> nvl(fnd_number.number_to_canonical(p_item_pay_ord),'X')
3948            or nvl(action_information5,'X') <> nvl(fnd_number.number_to_canonical(p_item_rep_seq),'X')
3949            or nvl(action_information6,'X') <> nvl(p_item_rep_name,'X')
3950            or ((p_col_mth1 is not null
3951               or nvl(to_char(p_effective_date,'MM'),'X') = '01')
3952               and (nvl(action_information7,'X') <> nvl(fnd_number.number_to_canonical(p_col_mth1),'X')))
3953            or ((p_col_mth2 is not null
3954               or nvl(to_char(p_effective_date,'MM'),'X') = '02')
3955               and (nvl(action_information8,'X') <> nvl(fnd_number.number_to_canonical(p_col_mth2),'X')))
3956            or ((p_col_mth3 is not null
3957               or nvl(to_char(p_effective_date,'MM'),'X') = '03')
3958               and (nvl(action_information9,'X') <> nvl(fnd_number.number_to_canonical(p_col_mth3),'X')))
3959            or ((p_col_mth4 is not null
3960               or nvl(to_char(p_effective_date,'MM'),'X') = '04')
3961               and (nvl(action_information10,'X') <> nvl(fnd_number.number_to_canonical(p_col_mth4),'X')))
3962            or ((p_col_mth5 is not null
3963               or nvl(to_char(p_effective_date,'MM'),'X') = '05')
3964               and (nvl(action_information11,'X') <> nvl(fnd_number.number_to_canonical(p_col_mth5),'X')))
3965            or ((p_col_mth6 is not null
3966               or nvl(to_char(p_effective_date,'MM'),'X') = '06')
3967               and (nvl(action_information12,'X') <> nvl(fnd_number.number_to_canonical(p_col_mth6),'X')))
3968            or ((p_col_mth7 is not null
3969               or nvl(to_char(p_effective_date,'MM'),'X') = '07')
3970               and (nvl(action_information13,'X') <> nvl(fnd_number.number_to_canonical(p_col_mth7),'X')))
3971            or ((p_col_mth8 is not null
3972               or nvl(to_char(p_effective_date,'MM'),'X') = '08')
3973               and (nvl(action_information14,'X') <> nvl(fnd_number.number_to_canonical(p_col_mth8),'X')))
3974            or ((p_col_mth9 is not null
3975               or nvl(to_char(p_effective_date,'MM'),'X') = '09')
3976               and (nvl(action_information15,'X') <> nvl(fnd_number.number_to_canonical(p_col_mth9),'X')))
3977            or ((p_col_mth10 is not null
3978               or nvl(to_char(p_effective_date,'MM'),'X') = '10')
3979               and (nvl(action_information16,'X') <> nvl(fnd_number.number_to_canonical(p_col_mth10),'X')))
3980            or ((p_col_mth11 is not null
3981               or nvl(to_char(p_effective_date,'MM'),'X') = '11')
3982               and (nvl(action_information17,'X') <> nvl(fnd_number.number_to_canonical(p_col_mth11),'X')))
3983            or ((p_col_mth12 is not null
3984               or nvl(to_char(p_effective_date,'MM'),'X') = '12')
3985               and (nvl(action_information18,'X') <> nvl(fnd_number.number_to_canonical(p_col_mth12),'X')))
3986            or (p_col_tot is not null
3987               and (nvl(action_information19,'X') <> nvl(fnd_number.number_to_canonical(p_col_tot),'X'))));
3988   --
3989   -- case when new item is added
3990   else
3991   --
3992     if g_debug then
3993       hr_utility.set_location(l_proc,30);
3994     end if;
3995   --
3996     create_sal_earn(
3997       p_action_information_id       => pay_jp_itwb_dml_pkg.next_action_information_id,
3998       p_assignment_action_id        => p_assignment_action_id,
3999       p_action_context_type         => 'AAP',
4000       p_assignment_id               => p_assignment_id,
4001       p_effective_date              => p_effective_date,
4002       p_action_information_category => 'JP_ITWB_SAL_EARN',
4003       p_item_pay_id                 => p_item_pay_id,
4004       p_item_pay_ord                => p_item_pay_ord,
4005       p_item_type                   => p_item_type,
4006       p_item_id                     => p_item_id,
4007       p_item_rep_seq                => p_item_rep_seq,
4008       p_item_rep_name               => p_item_rep_name,
4009       p_col_mth1                    => p_col_mth1,
4010       p_col_mth2                    => p_col_mth2,
4011       p_col_mth3                    => p_col_mth3,
4012       p_col_mth4                    => p_col_mth4,
4013       p_col_mth5                    => p_col_mth5,
4014       p_col_mth6                    => p_col_mth6,
4015       p_col_mth7                    => p_col_mth7,
4016       p_col_mth8                    => p_col_mth8,
4017       p_col_mth9                    => p_col_mth9,
4018       p_col_mth10                   => p_col_mth10,
4019       p_col_mth11                   => p_col_mth11,
4020       p_col_mth12                   => p_col_mth12,
4021       p_col_tot                     => null,
4022       p_object_version_number       => p_object_version_number);
4023   --
4024   end if;
4025 --
4026   if g_debug then
4027     hr_utility.set_location(l_proc,1000);
4028   end if;
4029 --
4030 end update_sal_earn;
4031 --
4032 -- -------------------------------------------------------------------------
4033 -- add_sal_earn
4034 -- -------------------------------------------------------------------------
4035 procedure add_sal_earn(
4036   p_assignment_action_id        in number,
4037   p_assignment_id               in number,
4038   p_effective_date              in date,
4039   p_item_pay_id                 in number,
4040   p_item_pay_ord                in number,
4041   p_item_type                   in varchar2,
4042   p_item_id                     in number,
4043   p_item_rep_seq                in number,
4044   p_item_rep_name               in varchar2,
4045   p_col_mth1                    in number,
4046   p_col_mth2                    in number,
4047   p_col_mth3                    in number,
4048   p_col_mth4                    in number,
4049   p_col_mth5                    in number,
4050   p_col_mth6                    in number,
4051   p_col_mth7                    in number,
4052   p_col_mth8                    in number,
4053   p_col_mth9                    in number,
4054   p_col_mth10                   in number,
4055   p_col_mth11                   in number,
4056   p_col_mth12                   in number,
4057   p_col_tot                     in number,
4058   p_action_information_id       out nocopy number,
4059   p_object_version_number       out nocopy number)
4060 is
4061 --
4062   l_proc varchar2(80) := c_package||'add_sal_earn';
4063 --
4064   cursor csr_sal_earn
4065   is
4066   select  action_information_id,
4067           object_version_number
4068   from    pay_jp_itwb_sal_earn_v
4069   where   assignment_action_id = p_assignment_action_id
4070   and     item_pay_id = p_item_pay_id
4071   and     item_type = p_item_type
4072   and     item_id = p_item_id;
4073 --
4074 begin
4075 --
4076   if g_debug then
4077     hr_utility.set_location(l_proc,0);
4078   end if;
4079 --
4080   open csr_sal_earn;
4081   fetch csr_sal_earn into p_action_information_id, p_object_version_number;
4082   close csr_sal_earn;
4083 --
4084   if g_debug then
4085     hr_utility.set_location(l_proc,10);
4086   end if;
4087 --
4088   if p_action_information_id is not null then
4089   --
4090     p_object_version_number := p_object_version_number + 1;
4091   --
4092     update pay_action_information
4093     set    object_version_number = p_object_version_number,
4094            action_information7 = decode(nvl(fnd_number.number_to_canonical(p_col_mth1),'X'),
4095                                    'X',action_information7,
4096                                    fnd_number.number_to_canonical(p_col_mth1)),
4097            action_information8 = decode(nvl(fnd_number.number_to_canonical(p_col_mth2),'X'),
4098                                    'X',action_information8,
4099                                    fnd_number.number_to_canonical(p_col_mth2)),
4100            action_information9 = decode(nvl(fnd_number.number_to_canonical(p_col_mth3),'X'),
4101                                    'X',action_information9,
4102                                    fnd_number.number_to_canonical(p_col_mth3)),
4103            action_information10 = decode(nvl(fnd_number.number_to_canonical(p_col_mth4),'X'),
4104                                    'X',action_information10,
4105                                    fnd_number.number_to_canonical(p_col_mth4)),
4106            action_information11 = decode(nvl(fnd_number.number_to_canonical(p_col_mth5),'X'),
4107                                    'X',action_information11,
4108                                    fnd_number.number_to_canonical(p_col_mth5)),
4109            action_information12 = decode(nvl(fnd_number.number_to_canonical(p_col_mth6),'X'),
4110                                    'X',action_information12,
4111                                    fnd_number.number_to_canonical(p_col_mth6)),
4112            action_information13 = decode(nvl(fnd_number.number_to_canonical(p_col_mth7),'X'),
4113                                    'X',action_information13,
4114                                    fnd_number.number_to_canonical(p_col_mth7)),
4115            action_information14 = decode(nvl(fnd_number.number_to_canonical(p_col_mth8),'X'),
4116                                    'X',action_information14,
4117                                    fnd_number.number_to_canonical(p_col_mth8)),
4118            action_information15 = decode(nvl(fnd_number.number_to_canonical(p_col_mth9),'X'),
4119                                     'X',action_information15,
4120                                     fnd_number.number_to_canonical(p_col_mth9)),
4121            action_information16 = decode(nvl(fnd_number.number_to_canonical(p_col_mth10),'X'),
4122                                     'X',action_information16,
4123                                     fnd_number.number_to_canonical(p_col_mth10)),
4124            action_information17 = decode(nvl(fnd_number.number_to_canonical(p_col_mth11),'X'),
4125                                     'X',action_information17,
4126                                     fnd_number.number_to_canonical(p_col_mth11)),
4127            action_information18 = decode(nvl(fnd_number.number_to_canonical(p_col_mth12),'X'),
4128                                     'X',action_information18,
4129                                     fnd_number.number_to_canonical(p_col_mth12)),
4130            action_information19 = decode(nvl(fnd_number.number_to_canonical(p_col_tot),'X'),
4131                                     'X',action_information19,
4132                                     fnd_number.number_to_canonical(p_col_tot))
4133     where  action_information_id = p_action_information_id
4134     and    object_version_number < p_object_version_number
4135     and    action_context_id = p_assignment_action_id
4136     and    action_context_type = 'AAP'
4137     and    action_information_category = 'JP_ITWB_SAL_EARN'
4138     and    action_information1 = fnd_number.number_to_canonical(p_item_pay_id)
4139     and    action_information3 = p_item_type
4140     and    action_information4 = fnd_number.number_to_canonical(p_item_id);
4141   --
4142   -- case when new item is added
4143   else
4144   --
4145     create_sal_earn(
4146       p_action_information_id       => pay_jp_itwb_dml_pkg.next_action_information_id,
4147       p_assignment_action_id        => p_assignment_action_id,
4148       p_action_context_type         => 'AAP',
4149       p_assignment_id               => p_assignment_id,
4150       p_effective_date              => p_effective_date,
4151       p_action_information_category => 'JP_ITWB_SAL_EARN',
4152       p_item_pay_id                 => p_item_pay_id,
4153       p_item_pay_ord                => p_item_pay_ord,
4154       p_item_type                   => p_item_type,
4155       p_item_id                     => p_item_id,
4156       p_item_rep_seq                => p_item_rep_seq,
4157       p_item_rep_name               => p_item_rep_name,
4158       p_col_mth1                    => p_col_mth1,
4159       p_col_mth2                    => p_col_mth2,
4160       p_col_mth3                    => p_col_mth3,
4161       p_col_mth4                    => p_col_mth4,
4162       p_col_mth5                    => p_col_mth5,
4163       p_col_mth6                    => p_col_mth6,
4164       p_col_mth7                    => p_col_mth7,
4165       p_col_mth8                    => p_col_mth8,
4166       p_col_mth9                    => p_col_mth9,
4167       p_col_mth10                   => p_col_mth10,
4168       p_col_mth11                   => p_col_mth11,
4169       p_col_mth12                   => p_col_mth12,
4170       p_col_tot                     => null,
4171       p_object_version_number       => p_object_version_number);
4172   --
4173   end if;
4174   if g_debug then
4175     hr_utility.set_location(l_proc,1000);
4176   end if;
4177 --
4178 end add_sal_earn;
4179 --
4180 -- -------------------------------------------------------------------------
4181 -- create_sal_dct
4182 -- -------------------------------------------------------------------------
4183 procedure create_sal_dct(
4184   p_action_information_id       in number,
4185   p_assignment_action_id        in number,
4186   p_action_context_type         in varchar2,
4187   p_assignment_id               in number,
4188   p_effective_date              in date,
4189   p_action_information_category in varchar2,
4190   p_item_pay_id                 in number,
4191   p_item_pay_ord                in number,
4192   p_item_type                   in varchar2,
4193   p_item_id                     in number,
4194   p_item_rep_seq                in number,
4195   p_item_rep_name               in varchar2,
4196   p_col_mth1                    in number,
4197   p_col_mth2                    in number,
4198   p_col_mth3                    in number,
4199   p_col_mth4                    in number,
4200   p_col_mth5                    in number,
4201   p_col_mth6                    in number,
4202   p_col_mth7                    in number,
4203   p_col_mth8                    in number,
4204   p_col_mth9                    in number,
4205   p_col_mth10                   in number,
4206   p_col_mth11                   in number,
4207   p_col_mth12                   in number,
4208   p_col_tot                     in number,
4209   p_object_version_number       out nocopy number)
4210 is
4211   l_proc varchar2(80) := c_package||'create_sal_dct';
4212 begin
4213 --
4214   if g_debug then
4215     hr_utility.set_location(l_proc,0);
4216   end if;
4217 --
4218   p_object_version_number := 1;
4219 --
4220   insert into pay_action_information(
4221     action_information_id,
4222     object_version_number,
4223     action_context_id,
4224     action_context_type,
4225     effective_date,
4226     assignment_id,
4227     action_information_category,
4228     action_information1,
4229     action_information2,
4230     action_information3,
4231     action_information4,
4232     action_information5,
4233     action_information6,
4234     action_information7,
4235     action_information8,
4236     action_information9,
4237     action_information10,
4238     action_information11,
4239     action_information12,
4240     action_information13,
4241     action_information14,
4242     action_information15,
4243     action_information16,
4244     action_information17,
4245     action_information18,
4246     action_information19)
4247   values(
4248     p_action_information_id,
4249     p_object_version_number,
4250     p_assignment_action_id,
4251     p_action_context_type,
4252     p_effective_date,
4253     p_assignment_id,
4254     p_action_information_category,
4255     fnd_number.number_to_canonical(p_item_pay_id),
4256     fnd_number.number_to_canonical(p_item_pay_ord),
4257     p_item_type,
4258     fnd_number.number_to_canonical(p_item_id),
4259     fnd_number.number_to_canonical(p_item_rep_seq),
4260     p_item_rep_name,
4261     fnd_number.number_to_canonical(p_col_mth1),
4262     fnd_number.number_to_canonical(p_col_mth2),
4263     fnd_number.number_to_canonical(p_col_mth3),
4264     fnd_number.number_to_canonical(p_col_mth4),
4265     fnd_number.number_to_canonical(p_col_mth5),
4266     fnd_number.number_to_canonical(p_col_mth6),
4267     fnd_number.number_to_canonical(p_col_mth7),
4268     fnd_number.number_to_canonical(p_col_mth8),
4269     fnd_number.number_to_canonical(p_col_mth9),
4270     fnd_number.number_to_canonical(p_col_mth10),
4271     fnd_number.number_to_canonical(p_col_mth11),
4272     fnd_number.number_to_canonical(p_col_mth12),
4273     fnd_number.number_to_canonical(p_col_tot));
4274 --
4275   if g_debug then
4276     hr_utility.set_location(l_proc,1000);
4277   end if;
4278 --
4279 end create_sal_dct;
4280 --
4281 -- -------------------------------------------------------------------------
4282 -- update_sal_dct
4283 -- -------------------------------------------------------------------------
4284 procedure update_sal_dct(
4285   p_assignment_action_id        in number,
4286   p_assignment_id               in number,
4287   p_effective_date              in date,
4288   p_arch_assignment_action_id_o in number,
4289   p_item_pay_id                 in number,
4290   p_item_pay_ord                in number,
4291   p_item_type                   in varchar2,
4292   p_item_id                     in number,
4293   p_item_rep_seq                in number,
4294   p_item_rep_name               in varchar2,
4295   p_col_mth1                    in number,
4296   p_col_mth2                    in number,
4297   p_col_mth3                    in number,
4298   p_col_mth4                    in number,
4299   p_col_mth5                    in number,
4300   p_col_mth6                    in number,
4301   p_col_mth7                    in number,
4302   p_col_mth8                    in number,
4303   p_col_mth9                    in number,
4304   p_col_mth10                   in number,
4305   p_col_mth11                   in number,
4306   p_col_mth12                   in number,
4307   p_col_tot                     in number,
4308   p_action_information_id       out nocopy number,
4309   p_object_version_number       out nocopy number)
4310 is
4311 --
4312   l_proc varchar2(80) := c_package||'update_sal_dct';
4313 --
4314   cursor csr_sal_dct
4315   is
4316   select  action_information_id,
4317           object_version_number
4318   from    pay_jp_itwb_sal_dct_v
4319   where   assignment_action_id = p_assignment_action_id
4320   and     item_pay_id = p_item_pay_id
4321   and     item_type = p_item_type
4322   and     item_id = p_item_id;
4323 --
4324 begin
4325 --
4326   if g_debug then
4327     hr_utility.set_location(l_proc,0);
4328   end if;
4329 --
4330   -- pai have been already bulk copied for all items.
4331   open csr_sal_dct;
4332   fetch csr_sal_dct into p_action_information_id, p_object_version_number;
4333   close csr_sal_dct;
4334 --
4335   if g_debug then
4336     hr_utility.set_location(l_proc,10);
4337   end if;
4338 --
4339   if p_action_information_id is not null then
4340   --
4341     if g_debug then
4342       hr_utility.set_location(l_proc,20);
4343     end if;
4344   --
4345     p_object_version_number := p_object_version_number + 1;
4346   --
4347     update pay_action_information
4348     set    object_version_number = p_object_version_number,
4349            action_information2 = decode(nvl(action_information2,'X'),
4350                                    nvl(fnd_number.number_to_canonical(p_item_pay_ord),'X'),action_information2,
4351                                    fnd_number.number_to_canonical(p_item_pay_ord)),
4352            action_information5 = decode(nvl(action_information5,'X'),
4353                                    nvl(fnd_number.number_to_canonical(p_item_rep_seq),'X'),action_information5,
4354                                    fnd_number.number_to_canonical(p_item_rep_seq)),
4355            action_information6 = decode(nvl(action_information6,'X'),
4356                                    nvl(p_item_rep_name,'X'),action_information6,
4357                                    p_item_rep_name),
4358            action_information7 = decode(nvl(to_char(p_effective_date,'MM'),'X'),
4359                                    '01',fnd_number.number_to_canonical(p_col_mth1),
4360                                    decode(nvl(fnd_number.number_to_canonical(p_col_mth1),'X'),
4361                                      'X',action_information7,
4362                                      decode(nvl(action_information7,'X'),
4363                                        nvl(fnd_number.number_to_canonical(p_col_mth1),'X'),action_information7,
4364                                        fnd_number.number_to_canonical(p_col_mth1)))),
4365            action_information8 = decode(nvl(to_char(p_effective_date,'MM'),'X'),
4366                                    '02',fnd_number.number_to_canonical(p_col_mth2),
4367                                    decode(nvl(fnd_number.number_to_canonical(p_col_mth2),'X'),
4368                                      'X',action_information8,
4369                                      decode(nvl(action_information8,'X'),
4370                                        nvl(fnd_number.number_to_canonical(p_col_mth2),'X'),action_information8,
4371                                        fnd_number.number_to_canonical(p_col_mth2)))),
4372            action_information9 = decode(nvl(to_char(p_effective_date,'MM'),'X'),
4373                                    '03',fnd_number.number_to_canonical(p_col_mth3),
4374                                    decode(nvl(fnd_number.number_to_canonical(p_col_mth3),'X'),
4375                                      'X',action_information9,
4376                                      decode(nvl(action_information9,'X'),
4377                                        nvl(fnd_number.number_to_canonical(p_col_mth3),'X'),action_information9,
4378                                        fnd_number.number_to_canonical(p_col_mth3)))),
4379            action_information10 = decode(nvl(to_char(p_effective_date,'MM'),'X'),
4380                                    '04',fnd_number.number_to_canonical(p_col_mth4),
4381                                    decode(nvl(fnd_number.number_to_canonical(p_col_mth4),'X'),
4382                                      'X',action_information10,
4383                                      decode(nvl(action_information10,'X'),
4384                                        nvl(fnd_number.number_to_canonical(p_col_mth4),'X'),action_information10,
4385                                        fnd_number.number_to_canonical(p_col_mth4)))),
4386            action_information11 = decode(nvl(to_char(p_effective_date,'MM'),'X'),
4387                                    '05',fnd_number.number_to_canonical(p_col_mth5),
4388                                    decode(nvl(fnd_number.number_to_canonical(p_col_mth5),'X'),
4389                                      'X',action_information11,
4390                                      decode(nvl(action_information11,'X'),
4391                                        nvl(fnd_number.number_to_canonical(p_col_mth5),'X'),action_information11,
4392                                        fnd_number.number_to_canonical(p_col_mth5)))),
4393            action_information12 = decode(nvl(to_char(p_effective_date,'MM'),'X'),
4394                                    '06',fnd_number.number_to_canonical(p_col_mth6),
4395                                    decode(nvl(fnd_number.number_to_canonical(p_col_mth6),'X'),
4396                                      'X',action_information12,
4397                                      decode(nvl(action_information12,'X'),
4398                                        nvl(fnd_number.number_to_canonical(p_col_mth6),'X'),action_information12,
4399                                        fnd_number.number_to_canonical(p_col_mth6)))),
4400            action_information13 = decode(nvl(to_char(p_effective_date,'MM'),'X'),
4401                                    '07',fnd_number.number_to_canonical(p_col_mth7),
4402                                    decode(nvl(fnd_number.number_to_canonical(p_col_mth7),'X'),
4403                                      'X',action_information13,
4404                                      decode(nvl(action_information13,'X'),
4405                                        nvl(fnd_number.number_to_canonical(p_col_mth7),'X'),action_information13,
4406                                        fnd_number.number_to_canonical(p_col_mth7)))),
4407            action_information14 = decode(nvl(to_char(p_effective_date,'MM'),'X'),
4408                                    '08',fnd_number.number_to_canonical(p_col_mth8),
4409                                    decode(nvl(fnd_number.number_to_canonical(p_col_mth8),'X'),
4410                                      'X',action_information14,
4411                                      decode(nvl(action_information14,'X'),
4412                                        nvl(fnd_number.number_to_canonical(p_col_mth8),'X'),action_information14,
4413                                        fnd_number.number_to_canonical(p_col_mth8)))),
4414            action_information15 = decode(nvl(to_char(p_effective_date,'MM'),'X'),
4415                                    '09',fnd_number.number_to_canonical(p_col_mth9),
4416                                    decode(nvl(fnd_number.number_to_canonical(p_col_mth9),'X'),
4417                                       'X',action_information15,
4418                                       decode(nvl(action_information15,'X'),
4419                                         nvl(fnd_number.number_to_canonical(p_col_mth9),'X'),action_information15,
4420                                         fnd_number.number_to_canonical(p_col_mth9)))),
4421            action_information16 = decode(nvl(to_char(p_effective_date,'MM'),'X'),
4422                                    '10',fnd_number.number_to_canonical(p_col_mth10),
4423                                    decode(nvl(fnd_number.number_to_canonical(p_col_mth10),'X'),
4424                                       'X',action_information16,
4425                                       decode(nvl(action_information16,'X'),
4426                                         nvl(fnd_number.number_to_canonical(p_col_mth10),'X'),action_information16,
4427                                         fnd_number.number_to_canonical(p_col_mth10)))),
4428            action_information17 = decode(nvl(to_char(p_effective_date,'MM'),'X'),
4429                                    '11',fnd_number.number_to_canonical(p_col_mth11),
4430                                    decode(nvl(fnd_number.number_to_canonical(p_col_mth11),'X'),
4431                                       'X',action_information17,
4432                                       decode(nvl(action_information17,'X'),
4433                                         nvl(fnd_number.number_to_canonical(p_col_mth11),'X'),action_information17,
4434                                         fnd_number.number_to_canonical(p_col_mth11)))),
4435            action_information18 = decode(nvl(to_char(p_effective_date,'MM'),'X'),
4436                                    '12',fnd_number.number_to_canonical(p_col_mth12),
4437                                    decode(nvl(fnd_number.number_to_canonical(p_col_mth12),'X'),
4438                                       'X',action_information18,
4439                                       decode(nvl(action_information18,'X'),
4440                                         nvl(fnd_number.number_to_canonical(p_col_mth12),'X'),action_information18,
4441                                         fnd_number.number_to_canonical(p_col_mth12)))),
4442            action_information19 = decode(nvl(fnd_number.number_to_canonical(p_col_tot),'X'),
4443                                     'X',action_information19,
4444                                    decode(nvl(action_information19,'X'),
4445                                      nvl(fnd_number.number_to_canonical(p_col_tot),'X'),action_information19,
4446                                      fnd_number.number_to_canonical(p_col_tot)))
4447     where  action_information_id = p_action_information_id
4448     and    object_version_number < p_object_version_number
4449     and    action_context_id = p_assignment_action_id
4450     and    action_context_type = 'AAP'
4451     and    action_information_category = 'JP_ITWB_SAL_DCT'
4452     and    action_information1 = fnd_number.number_to_canonical(p_item_pay_id)
4453     and    action_information3 = p_item_type
4454     and    action_information4 = fnd_number.number_to_canonical(p_item_id)
4455     and    (nvl(action_information2,'X') <> nvl(fnd_number.number_to_canonical(p_item_pay_ord),'X')
4456            or nvl(action_information5,'X') <> nvl(fnd_number.number_to_canonical(p_item_rep_seq),'X')
4457            or nvl(action_information6,'X') <> nvl(p_item_rep_name,'X')
4458            or ((p_col_mth1 is not null
4459               or nvl(to_char(p_effective_date,'MM'),'X') = '01')
4460               and (nvl(action_information7,'X') <> nvl(fnd_number.number_to_canonical(p_col_mth1),'X')))
4461            or ((p_col_mth2 is not null
4462               or nvl(to_char(p_effective_date,'MM'),'X') = '02')
4463               and (nvl(action_information8,'X') <> nvl(fnd_number.number_to_canonical(p_col_mth2),'X')))
4464            or ((p_col_mth3 is not null
4465               or nvl(to_char(p_effective_date,'MM'),'X') = '03')
4466               and (nvl(action_information9,'X') <> nvl(fnd_number.number_to_canonical(p_col_mth3),'X')))
4467            or ((p_col_mth4 is not null
4468               or nvl(to_char(p_effective_date,'MM'),'X') = '04')
4469               and (nvl(action_information10,'X') <> nvl(fnd_number.number_to_canonical(p_col_mth4),'X')))
4470            or ((p_col_mth5 is not null
4471               or nvl(to_char(p_effective_date,'MM'),'X') = '05')
4472               and (nvl(action_information11,'X') <> nvl(fnd_number.number_to_canonical(p_col_mth5),'X')))
4473            or ((p_col_mth6 is not null
4474               or nvl(to_char(p_effective_date,'MM'),'X') = '06')
4475               and (nvl(action_information12,'X') <> nvl(fnd_number.number_to_canonical(p_col_mth6),'X')))
4476            or ((p_col_mth7 is not null
4477               or nvl(to_char(p_effective_date,'MM'),'X') = '07')
4478               and (nvl(action_information13,'X') <> nvl(fnd_number.number_to_canonical(p_col_mth7),'X')))
4479            or ((p_col_mth8 is not null
4480               or nvl(to_char(p_effective_date,'MM'),'X') = '08')
4481               and (nvl(action_information14,'X') <> nvl(fnd_number.number_to_canonical(p_col_mth8),'X')))
4482            or ((p_col_mth9 is not null
4483               or nvl(to_char(p_effective_date,'MM'),'X') = '09')
4484               and (nvl(action_information15,'X') <> nvl(fnd_number.number_to_canonical(p_col_mth9),'X')))
4485            or ((p_col_mth10 is not null
4486               or nvl(to_char(p_effective_date,'MM'),'X') = '10')
4487               and (nvl(action_information16,'X') <> nvl(fnd_number.number_to_canonical(p_col_mth10),'X')))
4488            or ((p_col_mth11 is not null
4489               or nvl(to_char(p_effective_date,'MM'),'X') = '11')
4490               and (nvl(action_information17,'X') <> nvl(fnd_number.number_to_canonical(p_col_mth11),'X')))
4491            or ((p_col_mth12 is not null
4492               or nvl(to_char(p_effective_date,'MM'),'X') = '12')
4493               and (nvl(action_information18,'X') <> nvl(fnd_number.number_to_canonical(p_col_mth12),'X')))
4494            or (p_col_tot is not null
4495               and (nvl(action_information19,'X') <> nvl(fnd_number.number_to_canonical(p_col_tot),'X'))));
4496   --
4497   -- case when new item is added
4498   else
4499   --
4500     if g_debug then
4501       hr_utility.set_location(l_proc,30);
4502     end if;
4503   --
4504     create_sal_dct(
4505       p_action_information_id       => pay_jp_itwb_dml_pkg.next_action_information_id,
4506       p_assignment_action_id        => p_assignment_action_id,
4507       p_action_context_type         => 'AAP',
4508       p_assignment_id               => p_assignment_id,
4509       p_effective_date              => p_effective_date,
4510       p_action_information_category => 'JP_ITWB_SAL_DCT',
4511       p_item_pay_id                 => p_item_pay_id,
4512       p_item_pay_ord                => p_item_pay_ord,
4513       p_item_type                   => p_item_type,
4514       p_item_id                     => p_item_id,
4515       p_item_rep_seq                => p_item_rep_seq,
4516       p_item_rep_name               => p_item_rep_name,
4517       p_col_mth1                    => p_col_mth1,
4518       p_col_mth2                    => p_col_mth2,
4519       p_col_mth3                    => p_col_mth3,
4520       p_col_mth4                    => p_col_mth4,
4521       p_col_mth5                    => p_col_mth5,
4522       p_col_mth6                    => p_col_mth6,
4523       p_col_mth7                    => p_col_mth7,
4524       p_col_mth8                    => p_col_mth8,
4525       p_col_mth9                    => p_col_mth9,
4526       p_col_mth10                   => p_col_mth10,
4527       p_col_mth11                   => p_col_mth11,
4528       p_col_mth12                   => p_col_mth12,
4529       p_col_tot                     => null,
4530       p_object_version_number       => p_object_version_number);
4531   --
4532   end if;
4533 --
4534   if g_debug then
4535     hr_utility.set_location(l_proc,1000);
4536   end if;
4537 --
4538 end update_sal_dct;
4539 --
4540 -- -------------------------------------------------------------------------
4541 -- add_sal_dct
4542 -- -------------------------------------------------------------------------
4543 procedure add_sal_dct(
4544   p_assignment_action_id        in number,
4545   p_assignment_id               in number,
4546   p_effective_date              in date,
4547   p_item_pay_id                 in number,
4548   p_item_pay_ord                in number,
4549   p_item_type                   in varchar2,
4550   p_item_id                     in number,
4551   p_item_rep_seq                in number,
4552   p_item_rep_name               in varchar2,
4553   p_col_mth1                    in number,
4554   p_col_mth2                    in number,
4555   p_col_mth3                    in number,
4556   p_col_mth4                    in number,
4557   p_col_mth5                    in number,
4558   p_col_mth6                    in number,
4559   p_col_mth7                    in number,
4560   p_col_mth8                    in number,
4561   p_col_mth9                    in number,
4562   p_col_mth10                   in number,
4563   p_col_mth11                   in number,
4564   p_col_mth12                   in number,
4565   p_col_tot                     in number,
4566   p_action_information_id       out nocopy number,
4567   p_object_version_number       out nocopy number)
4568 is
4569 --
4570   l_proc varchar2(80) := c_package||'add_sal_dct';
4571 --
4572   cursor csr_sal_dct
4573   is
4574   select  action_information_id,
4575           object_version_number
4576   from    pay_jp_itwb_sal_dct_v
4577   where   assignment_action_id = p_assignment_action_id
4578   and     item_pay_id = p_item_pay_id
4579   and     item_type = p_item_type
4580   and     item_id = p_item_id;
4581 --
4582 begin
4583 --
4584   if g_debug then
4585     hr_utility.set_location(l_proc,0);
4586   end if;
4587 --
4588   open csr_sal_dct;
4589   fetch csr_sal_dct into p_action_information_id, p_object_version_number;
4590   close csr_sal_dct;
4591 --
4592   if g_debug then
4593     hr_utility.set_location(l_proc,10);
4594   end if;
4595 --
4596   if p_action_information_id is not null then
4597   --
4598     p_object_version_number := p_object_version_number + 1;
4599   --
4600     update pay_action_information
4601     set    object_version_number = p_object_version_number,
4602            action_information7 = decode(nvl(fnd_number.number_to_canonical(p_col_mth1),'X'),
4603                                    'X',action_information7,
4604                                    fnd_number.number_to_canonical(p_col_mth1)),
4605            action_information8 = decode(nvl(fnd_number.number_to_canonical(p_col_mth2),'X'),
4606                                    'X',action_information8,
4607                                    fnd_number.number_to_canonical(p_col_mth2)),
4608            action_information9 = decode(nvl(fnd_number.number_to_canonical(p_col_mth3),'X'),
4609                                    'X',action_information9,
4610                                    fnd_number.number_to_canonical(p_col_mth3)),
4611            action_information10 = decode(nvl(fnd_number.number_to_canonical(p_col_mth4),'X'),
4612                                    'X',action_information10,
4613                                    fnd_number.number_to_canonical(p_col_mth4)),
4614            action_information11 = decode(nvl(fnd_number.number_to_canonical(p_col_mth5),'X'),
4615                                    'X',action_information11,
4616                                    fnd_number.number_to_canonical(p_col_mth5)),
4617            action_information12 = decode(nvl(fnd_number.number_to_canonical(p_col_mth6),'X'),
4618                                    'X',action_information12,
4619                                    fnd_number.number_to_canonical(p_col_mth6)),
4620            action_information13 = decode(nvl(fnd_number.number_to_canonical(p_col_mth7),'X'),
4621                                    'X',action_information13,
4622                                    fnd_number.number_to_canonical(p_col_mth7)),
4623            action_information14 = decode(nvl(fnd_number.number_to_canonical(p_col_mth8),'X'),
4624                                    'X',action_information14,
4625                                    fnd_number.number_to_canonical(p_col_mth8)),
4626            action_information15 = decode(nvl(fnd_number.number_to_canonical(p_col_mth9),'X'),
4627                                     'X',action_information15,
4628                                     fnd_number.number_to_canonical(p_col_mth9)),
4629            action_information16 = decode(nvl(fnd_number.number_to_canonical(p_col_mth10),'X'),
4630                                     'X',action_information16,
4631                                     fnd_number.number_to_canonical(p_col_mth10)),
4632            action_information17 = decode(nvl(fnd_number.number_to_canonical(p_col_mth11),'X'),
4633                                     'X',action_information17,
4634                                     fnd_number.number_to_canonical(p_col_mth11)),
4635            action_information18 = decode(nvl(fnd_number.number_to_canonical(p_col_mth12),'X'),
4636                                     'X',action_information18,
4637                                     fnd_number.number_to_canonical(p_col_mth12)),
4638            action_information19 = decode(nvl(fnd_number.number_to_canonical(p_col_tot),'X'),
4639                                     'X',action_information19,
4640                                     fnd_number.number_to_canonical(p_col_tot))
4641     where  action_information_id = p_action_information_id
4642     and    object_version_number < p_object_version_number
4643     and    action_context_id = p_assignment_action_id
4644     and    action_context_type = 'AAP'
4645     and    action_information_category = 'JP_ITWB_SAL_DCT'
4646     and    action_information1 = fnd_number.number_to_canonical(p_item_pay_id)
4647     and    action_information3 = p_item_type
4648     and    action_information4 = fnd_number.number_to_canonical(p_item_id);
4649   --
4650   -- case when new item is added
4651   else
4652   --
4653     create_sal_dct(
4654       p_action_information_id       => pay_jp_itwb_dml_pkg.next_action_information_id,
4655       p_assignment_action_id        => p_assignment_action_id,
4656       p_action_context_type         => 'AAP',
4657       p_assignment_id               => p_assignment_id,
4658       p_effective_date              => p_effective_date,
4659       p_action_information_category => 'JP_ITWB_SAL_DCT',
4660       p_item_pay_id                 => p_item_pay_id,
4661       p_item_pay_ord                => p_item_pay_ord,
4662       p_item_type                   => p_item_type,
4663       p_item_id                     => p_item_id,
4664       p_item_rep_seq                => p_item_rep_seq,
4665       p_item_rep_name               => p_item_rep_name,
4666       p_col_mth1                    => p_col_mth1,
4667       p_col_mth2                    => p_col_mth2,
4668       p_col_mth3                    => p_col_mth3,
4669       p_col_mth4                    => p_col_mth4,
4670       p_col_mth5                    => p_col_mth5,
4671       p_col_mth6                    => p_col_mth6,
4672       p_col_mth7                    => p_col_mth7,
4673       p_col_mth8                    => p_col_mth8,
4674       p_col_mth9                    => p_col_mth9,
4675       p_col_mth10                   => p_col_mth10,
4676       p_col_mth11                   => p_col_mth11,
4677       p_col_mth12                   => p_col_mth12,
4678       p_col_tot                     => null,
4679       p_object_version_number       => p_object_version_number);
4680   --
4681   end if;
4682   if g_debug then
4683     hr_utility.set_location(l_proc,1000);
4684   end if;
4685 --
4686 end add_sal_dct;
4687 --
4688 -- -------------------------------------------------------------------------
4689 -- create_bon_earn
4690 -- -------------------------------------------------------------------------
4691 procedure create_bon_earn(
4692   p_action_information_id       in number,
4693   p_assignment_action_id        in number,
4694   p_action_context_type         in varchar2,
4695   p_assignment_id               in number,
4696   p_effective_date              in date,
4697   p_action_information_category in varchar2,
4698   p_item_pay_id                 in number,
4699   p_item_pay_ord                in number,
4700   p_item_type                   in varchar2,
4701   p_item_id                     in number,
4702   p_item_rep_seq                in number,
4703   p_item_rep_name               in varchar2,
4704   p_col_cnt1                    in number,
4705   p_col_cnt2                    in number,
4706   p_col_cnt3                    in number,
4707   p_col_cnt4                    in number,
4708   p_col_cnt5                    in number,
4709   p_col_cnt6                    in number,
4710   p_col_cnt7                    in number,
4711   p_col_cnt8                    in number,
4712   p_col_cnt9                    in number,
4713   p_col_cnt10                   in number,
4714   p_col_cnt11                   in number,
4715   p_col_cnt12                   in number,
4716   p_col_cnt13                   in number,
4717   p_col_cnt14                   in number,
4718   p_col_cnt15                   in number,
4719   p_col_tot                     in number,
4720   p_object_version_number       out nocopy number)
4721 is
4722   l_proc varchar2(80) := c_package||'create_bon_earn';
4723 begin
4724 --
4725   if g_debug then
4726     hr_utility.set_location(l_proc,0);
4727   end if;
4728 --
4729   p_object_version_number := 1;
4730 --
4731   insert into pay_action_information(
4732     action_information_id,
4733     object_version_number,
4734     action_context_id,
4735     action_context_type,
4736     effective_date,
4737     assignment_id,
4738     action_information_category,
4739     action_information1,
4740     action_information2,
4741     action_information3,
4742     action_information4,
4743     action_information5,
4744     action_information6,
4745     action_information7,
4746     action_information8,
4747     action_information9,
4748     action_information10,
4749     action_information11,
4750     action_information12,
4751     action_information13,
4752     action_information14,
4753     action_information15,
4754     action_information16,
4755     action_information17,
4756     action_information18,
4757     action_information19,
4758     action_information20,
4759     action_information21,
4760     action_information22)
4761   values(
4762     p_action_information_id,
4763     p_object_version_number,
4764     p_assignment_action_id,
4765     p_action_context_type,
4766     p_effective_date,
4767     p_assignment_id,
4768     p_action_information_category,
4769     fnd_number.number_to_canonical(p_item_pay_id),
4770     fnd_number.number_to_canonical(p_item_pay_ord),
4771     p_item_type,
4772     fnd_number.number_to_canonical(p_item_id),
4773     fnd_number.number_to_canonical(p_item_rep_seq),
4774     p_item_rep_name,
4775     fnd_number.number_to_canonical(p_col_cnt1),
4776     fnd_number.number_to_canonical(p_col_cnt2),
4777     fnd_number.number_to_canonical(p_col_cnt3),
4778     fnd_number.number_to_canonical(p_col_cnt4),
4779     fnd_number.number_to_canonical(p_col_cnt5),
4780     fnd_number.number_to_canonical(p_col_cnt6),
4781     fnd_number.number_to_canonical(p_col_cnt7),
4782     fnd_number.number_to_canonical(p_col_cnt8),
4783     fnd_number.number_to_canonical(p_col_cnt9),
4784     fnd_number.number_to_canonical(p_col_cnt10),
4785     fnd_number.number_to_canonical(p_col_cnt11),
4786     fnd_number.number_to_canonical(p_col_cnt12),
4787     fnd_number.number_to_canonical(p_col_cnt13),
4788     fnd_number.number_to_canonical(p_col_cnt14),
4789     fnd_number.number_to_canonical(p_col_cnt15),
4790     fnd_number.number_to_canonical(p_col_tot));
4791 --
4792   if g_debug then
4793     hr_utility.set_location(l_proc,1000);
4794   end if;
4795 --
4796 end create_bon_earn;
4797 --
4798 -- -------------------------------------------------------------------------
4799 -- update_bon_earn
4800 -- -------------------------------------------------------------------------
4801 procedure update_bon_earn(
4802   p_assignment_action_id        in number,
4803   p_assignment_id               in number,
4804   p_effective_date              in date,
4805   p_arch_assignment_action_id_o in number,
4806   p_item_pay_id                 in number,
4807   p_item_pay_ord                in number,
4808   p_item_type                   in varchar2,
4809   p_item_id                     in number,
4810   p_item_rep_seq                in number,
4811   p_item_rep_name               in varchar2,
4812   p_col_cnt1                    in number,
4813   p_col_cnt2                    in number,
4814   p_col_cnt3                    in number,
4815   p_col_cnt4                    in number,
4816   p_col_cnt5                    in number,
4817   p_col_cnt6                    in number,
4818   p_col_cnt7                    in number,
4819   p_col_cnt8                    in number,
4820   p_col_cnt9                    in number,
4821   p_col_cnt10                   in number,
4822   p_col_cnt11                   in number,
4823   p_col_cnt12                   in number,
4824   p_col_cnt13                   in number,
4825   p_col_cnt14                   in number,
4826   p_col_cnt15                   in number,
4827   p_col_tot                     in number,
4828   p_action_information_id       out nocopy number,
4829   p_object_version_number       out nocopy number)
4830 is
4831 --
4832   l_proc varchar2(80) := c_package||'update_bon_earn';
4833 --
4834   cursor csr_bon_earn
4835   is
4836   select  action_information_id,
4837           object_version_number
4838   from    pay_jp_itwb_bon_earn_v
4839   where   assignment_action_id = p_assignment_action_id
4840   and     item_pay_id = p_item_pay_id
4841   and     item_type = p_item_type
4842   and     item_id = p_item_id;
4843 --
4844   cursor csr_act_efd
4845   is
4846   select decode(nvl(to_char(col_cnt1,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt1,
4847          decode(nvl(to_char(col_cnt2,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt2,
4848          decode(nvl(to_char(col_cnt3,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt3,
4849          decode(nvl(to_char(col_cnt4,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt4,
4850          decode(nvl(to_char(col_cnt5,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt5,
4851          decode(nvl(to_char(col_cnt6,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt6,
4852          decode(nvl(to_char(col_cnt7,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt7,
4853          decode(nvl(to_char(col_cnt8,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt8,
4854          decode(nvl(to_char(col_cnt9,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt9,
4855          decode(nvl(to_char(col_cnt10,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt10,
4856          decode(nvl(to_char(col_cnt11,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt11,
4857          decode(nvl(to_char(col_cnt12,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt12,
4858          decode(nvl(to_char(col_cnt13,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt13,
4859          decode(nvl(to_char(col_cnt14,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt14,
4860          decode(nvl(to_char(col_cnt15,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt15
4861   from   pay_jp_itwb_bon_act_efd_v
4862   where  assignment_action_id = p_arch_assignment_action_id_o;
4863 --
4864   l_csr_act_efd csr_act_efd%rowtype;
4865 --
4866 begin
4867 --
4868   if g_debug then
4869     hr_utility.set_location(l_proc,0);
4870   end if;
4871 --
4872   -- pai have been already bulk copied for all items.
4873   open csr_bon_earn;
4874   fetch csr_bon_earn into p_action_information_id, p_object_version_number;
4875   close csr_bon_earn;
4876 --
4877   if g_debug then
4878     hr_utility.set_location(l_proc,10);
4879   end if;
4880 --
4881   if p_action_information_id is not null then
4882   --
4883     open csr_act_efd;
4884     fetch csr_act_efd into l_csr_act_efd;
4885     close csr_act_efd;
4886   --
4887     if g_debug then
4888       hr_utility.set_location(l_proc,20);
4889     end if;
4890   --
4891     p_object_version_number := p_object_version_number + 1;
4892   --
4893     update pay_action_information
4894     set    object_version_number = p_object_version_number,
4895            action_information2 = decode(nvl(action_information2,'X'),
4896                                    nvl(fnd_number.number_to_canonical(p_item_pay_ord),'X'),action_information2,
4897                                    fnd_number.number_to_canonical(p_item_pay_ord)),
4898            action_information5 = decode(nvl(action_information5,'X'),
4899                                    nvl(fnd_number.number_to_canonical(p_item_rep_seq),'X'),action_information5,
4900                                    fnd_number.number_to_canonical(p_item_rep_seq)),
4901            action_information6 = decode(nvl(action_information6,'X'),
4902                                    nvl(p_item_rep_name,'X'),action_information6,
4903                                    p_item_rep_name),
4904            action_information7 = decode(nvl(l_csr_act_efd.col_cnt1,-1),
4905                                    0,fnd_number.number_to_canonical(p_col_cnt1),
4906                                    decode(nvl(fnd_number.number_to_canonical(p_col_cnt1),'X'),
4907                                      'X',action_information7,
4908                                      decode(nvl(action_information7,'X'),
4909                                        nvl(fnd_number.number_to_canonical(p_col_cnt1),'X'),action_information7,
4910                                        fnd_number.number_to_canonical(p_col_cnt1)))),
4911            action_information8 = decode(nvl(l_csr_act_efd.col_cnt2,-1),
4912                                    0,fnd_number.number_to_canonical(p_col_cnt2),
4913                                    decode(nvl(fnd_number.number_to_canonical(p_col_cnt2),'X'),
4914                                      'X',action_information8,
4915                                      decode(nvl(action_information8,'X'),
4916                                        nvl(fnd_number.number_to_canonical(p_col_cnt2),'X'),action_information8,
4917                                        fnd_number.number_to_canonical(p_col_cnt2)))),
4918            action_information9 = decode(nvl(l_csr_act_efd.col_cnt3,-1),
4919                                    0,fnd_number.number_to_canonical(p_col_cnt3),
4920                                    decode(nvl(fnd_number.number_to_canonical(p_col_cnt3),'X'),
4921                                      'X',action_information9,
4922                                      decode(nvl(action_information9,'X'),
4923                                        nvl(fnd_number.number_to_canonical(p_col_cnt3),'X'),action_information9,
4924                                        fnd_number.number_to_canonical(p_col_cnt3)))),
4925            action_information10 = decode(nvl(l_csr_act_efd.col_cnt4,-1),
4926                                    0,fnd_number.number_to_canonical(p_col_cnt4),
4927                                    decode(nvl(fnd_number.number_to_canonical(p_col_cnt4),'X'),
4928                                      'X',action_information10,
4929                                      decode(nvl(action_information10,'X'),
4930                                        nvl(fnd_number.number_to_canonical(p_col_cnt4),'X'),action_information10,
4931                                        fnd_number.number_to_canonical(p_col_cnt4)))),
4932            action_information11 = decode(nvl(l_csr_act_efd.col_cnt5,-1),
4933                                    0,fnd_number.number_to_canonical(p_col_cnt5),
4934                                    decode(nvl(fnd_number.number_to_canonical(p_col_cnt5),'X'),
4935                                      'X',action_information11,
4936                                      decode(nvl(action_information11,'X'),
4937                                        nvl(fnd_number.number_to_canonical(p_col_cnt5),'X'),action_information11,
4938                                        fnd_number.number_to_canonical(p_col_cnt5)))),
4939            action_information12 = decode(nvl(l_csr_act_efd.col_cnt6,-1),
4940                                    0,fnd_number.number_to_canonical(p_col_cnt6),
4941                                    decode(nvl(fnd_number.number_to_canonical(p_col_cnt6),'X'),
4942                                      'X',action_information12,
4943                                      decode(nvl(action_information12,'X'),
4944                                        nvl(fnd_number.number_to_canonical(p_col_cnt6),'X'),action_information12,
4945                                        fnd_number.number_to_canonical(p_col_cnt6)))),
4946            action_information13 = decode(nvl(l_csr_act_efd.col_cnt7,-1),
4947                                    0,fnd_number.number_to_canonical(p_col_cnt7),
4948                                    decode(nvl(fnd_number.number_to_canonical(p_col_cnt7),'X'),
4949                                      'X',action_information13,
4950                                      decode(nvl(action_information13,'X'),
4951                                        nvl(fnd_number.number_to_canonical(p_col_cnt7),'X'),action_information13,
4952                                        fnd_number.number_to_canonical(p_col_cnt7)))),
4953            action_information14 = decode(nvl(l_csr_act_efd.col_cnt8,-1),
4954                                    0,fnd_number.number_to_canonical(p_col_cnt8),
4955                                    decode(nvl(fnd_number.number_to_canonical(p_col_cnt8),'X'),
4956                                      'X',action_information14,
4957                                      decode(nvl(action_information14,'X'),
4958                                        nvl(fnd_number.number_to_canonical(p_col_cnt8),'X'),action_information14,
4959                                        fnd_number.number_to_canonical(p_col_cnt8)))),
4960            action_information15 = decode(nvl(l_csr_act_efd.col_cnt9,-1),
4961                                    0,fnd_number.number_to_canonical(p_col_cnt9),
4962                                    decode(nvl(fnd_number.number_to_canonical(p_col_cnt9),'X'),
4963                                       'X',action_information15,
4964                                      decode(nvl(action_information15,'X'),
4965                                        nvl(fnd_number.number_to_canonical(p_col_cnt9),'X'),action_information15,
4966                                        fnd_number.number_to_canonical(p_col_cnt9)))),
4967            action_information16 = decode(nvl(l_csr_act_efd.col_cnt10,-1),
4968                                    0,fnd_number.number_to_canonical(p_col_cnt10),
4969                                    decode(nvl(fnd_number.number_to_canonical(p_col_cnt10),'X'),
4970                                       'X',action_information16,
4971                                       decode(nvl(action_information16,'X'),
4972                                         nvl(fnd_number.number_to_canonical(p_col_cnt10),'X'),action_information16,
4973                                         fnd_number.number_to_canonical(p_col_cnt10)))),
4974            action_information17 = decode(nvl(l_csr_act_efd.col_cnt11,-1),
4975                                    0,fnd_number.number_to_canonical(p_col_cnt11),
4976                                    decode(nvl(fnd_number.number_to_canonical(p_col_cnt11),'X'),
4977                                       'X',action_information17,
4978                                       decode(nvl(action_information17,'X'),
4979                                         nvl(fnd_number.number_to_canonical(p_col_cnt11),'X'),action_information17,
4980                                         fnd_number.number_to_canonical(p_col_cnt11)))),
4981            action_information18 = decode(nvl(l_csr_act_efd.col_cnt12,-1),
4982                                    0,fnd_number.number_to_canonical(p_col_cnt12),
4983                                    decode(nvl(fnd_number.number_to_canonical(p_col_cnt12),'X'),
4984                                       'X',action_information18,
4985                                       decode(nvl(action_information18,'X'),
4986                                         nvl(fnd_number.number_to_canonical(p_col_cnt12),'X'),action_information18,
4987                                         fnd_number.number_to_canonical(p_col_cnt12)))),
4988            action_information19 = decode(nvl(l_csr_act_efd.col_cnt13,-1),
4989                                    0,fnd_number.number_to_canonical(p_col_cnt13),
4990                                    decode(nvl(fnd_number.number_to_canonical(p_col_cnt13),'X'),
4991                                       'X',action_information19,
4992                                       decode(nvl(action_information19,'X'),
4993                                         nvl(fnd_number.number_to_canonical(p_col_cnt13),'X'),action_information19,
4994                                         fnd_number.number_to_canonical(p_col_cnt13)))),
4995            action_information20 = decode(nvl(l_csr_act_efd.col_cnt14,-1),
4996                                    0,fnd_number.number_to_canonical(p_col_cnt14),
4997                                    decode(nvl(fnd_number.number_to_canonical(p_col_cnt14),'X'),
4998                                       'X',action_information20,
4999                                       decode(nvl(action_information20,'X'),
5000                                         nvl(fnd_number.number_to_canonical(p_col_cnt14),'X'),action_information20,
5001                                         fnd_number.number_to_canonical(p_col_cnt14)))),
5002            action_information21 = decode(nvl(l_csr_act_efd.col_cnt15,-1),
5003                                    0,fnd_number.number_to_canonical(p_col_cnt15),
5004                                    decode(nvl(fnd_number.number_to_canonical(p_col_cnt15),'X'),
5005                                       'X',action_information21,
5006                                       decode(nvl(action_information21,'X'),
5007                                         nvl(fnd_number.number_to_canonical(p_col_cnt15),'X'),action_information21,
5008                                         fnd_number.number_to_canonical(p_col_cnt15)))),
5009            action_information22 = decode(nvl(fnd_number.number_to_canonical(p_col_tot),'X'),
5010                                     'X',action_information22,
5011                                      decode(nvl(action_information22,'X'),
5012                                        nvl(fnd_number.number_to_canonical(p_col_tot),'X'),action_information22,
5013                                        fnd_number.number_to_canonical(p_col_tot)))
5014     where  action_information_id = p_action_information_id
5015     and    object_version_number < p_object_version_number
5016     and    action_context_id = p_assignment_action_id
5017     and    action_context_type = 'AAP'
5018     and    action_information_category = 'JP_ITWB_BON_EARN'
5019     and    action_information1 = fnd_number.number_to_canonical(p_item_pay_id)
5020     and    action_information3 = p_item_type
5021     and    action_information4 = fnd_number.number_to_canonical(p_item_id)
5022     and    (nvl(action_information2,'X') <> nvl(fnd_number.number_to_canonical(p_item_pay_ord),'X')
5023            or nvl(action_information5,'X') <> nvl(fnd_number.number_to_canonical(p_item_rep_seq),'X')
5024            or nvl(action_information6,'X') <> nvl(p_item_rep_name,'X')
5025            or ((p_col_cnt1 is not null
5026               or nvl(l_csr_act_efd.col_cnt1,-1) = 0)
5027               and (nvl(action_information7,'X') <> nvl(fnd_number.number_to_canonical(p_col_cnt1),'X')))
5028            or ((p_col_cnt2 is not null
5029               or nvl(l_csr_act_efd.col_cnt2,-1) = 0)
5030               and (nvl(action_information8,'X') <> nvl(fnd_number.number_to_canonical(p_col_cnt2),'X')))
5031            or ((p_col_cnt3 is not null
5032               or nvl(l_csr_act_efd.col_cnt3,-1) = 0)
5033               and (nvl(action_information9,'X') <> nvl(fnd_number.number_to_canonical(p_col_cnt3),'X')))
5034            or ((p_col_cnt4 is not null
5035               or nvl(l_csr_act_efd.col_cnt4,-1) = 0)
5036               and (nvl(action_information10,'X') <> nvl(fnd_number.number_to_canonical(p_col_cnt4),'X')))
5037            or ((p_col_cnt5 is not null
5038               or nvl(l_csr_act_efd.col_cnt5,-1) = 0)
5039               and (nvl(action_information11,'X') <> nvl(fnd_number.number_to_canonical(p_col_cnt5),'X')))
5040            or ((p_col_cnt6 is not null
5041               or nvl(l_csr_act_efd.col_cnt6,-1) = 0)
5042               and (nvl(action_information12,'X') <> nvl(fnd_number.number_to_canonical(p_col_cnt6),'X')))
5043            or ((p_col_cnt7 is not null
5044               or nvl(l_csr_act_efd.col_cnt7,-1) = 0)
5045               and (nvl(action_information13,'X') <> nvl(fnd_number.number_to_canonical(p_col_cnt7),'X')))
5046            or ((p_col_cnt8 is not null
5047               or nvl(l_csr_act_efd.col_cnt8,-1) = 0)
5048               and (nvl(action_information14,'X') <> nvl(fnd_number.number_to_canonical(p_col_cnt8),'X')))
5049            or ((p_col_cnt9 is not null
5050               or nvl(l_csr_act_efd.col_cnt9,-1) = 0)
5051               and (nvl(action_information15,'X') <> nvl(fnd_number.number_to_canonical(p_col_cnt9),'X')))
5052            or ((p_col_cnt10 is not null
5053               or nvl(l_csr_act_efd.col_cnt10,-1) = 0)
5054               and (nvl(action_information16,'X') <> nvl(fnd_number.number_to_canonical(p_col_cnt10),'X')))
5055            or ((p_col_cnt11 is not null
5056               or nvl(l_csr_act_efd.col_cnt11,-1) = 0)
5057               and (nvl(action_information17,'X') <> nvl(fnd_number.number_to_canonical(p_col_cnt11),'X')))
5058            or ((p_col_cnt12 is not null
5059               or nvl(l_csr_act_efd.col_cnt12,-1) = 0)
5060               and (nvl(action_information18,'X') <> nvl(fnd_number.number_to_canonical(p_col_cnt12),'X')))
5061            or ((p_col_cnt13 is not null
5062               or nvl(l_csr_act_efd.col_cnt13,-1) = 0)
5063               and (nvl(action_information19,'X') <> nvl(fnd_number.number_to_canonical(p_col_cnt13),'X')))
5064            or ((p_col_cnt14 is not null
5065               or nvl(l_csr_act_efd.col_cnt14,-1) = 0)
5066               and (nvl(action_information20,'X') <> nvl(fnd_number.number_to_canonical(p_col_cnt14),'X')))
5067            or ((p_col_cnt15 is not null
5068               or nvl(l_csr_act_efd.col_cnt15,-1) = 0)
5069               and (nvl(action_information21,'X') <> nvl(fnd_number.number_to_canonical(p_col_cnt15),'X')))
5070            or (p_col_tot is not null
5071               and (nvl(action_information22,'X') <> nvl(fnd_number.number_to_canonical(p_col_tot),'X'))));
5072   --
5073   -- case when new item is added
5074   else
5075   --
5076     if g_debug then
5077       hr_utility.set_location(l_proc,30);
5078     end if;
5079   --
5080     create_bon_earn(
5081       p_action_information_id       => pay_jp_itwb_dml_pkg.next_action_information_id,
5082       p_assignment_action_id        => p_assignment_action_id,
5083       p_action_context_type         => 'AAP',
5084       p_assignment_id               => p_assignment_id,
5085       p_effective_date              => p_effective_date,
5086       p_action_information_category => 'JP_ITWB_BON_EARN',
5087       p_item_pay_id                 => p_item_pay_id,
5088       p_item_pay_ord                => p_item_pay_ord,
5089       p_item_type                   => p_item_type,
5090       p_item_id                     => p_item_id,
5091       p_item_rep_seq                => p_item_rep_seq,
5092       p_item_rep_name               => p_item_rep_name,
5093       p_col_cnt1                    => p_col_cnt1,
5094       p_col_cnt2                    => p_col_cnt2,
5095       p_col_cnt3                    => p_col_cnt3,
5096       p_col_cnt4                    => p_col_cnt4,
5097       p_col_cnt5                    => p_col_cnt5,
5098       p_col_cnt6                    => p_col_cnt6,
5099       p_col_cnt7                    => p_col_cnt7,
5100       p_col_cnt8                    => p_col_cnt8,
5101       p_col_cnt9                    => p_col_cnt9,
5102       p_col_cnt10                   => p_col_cnt10,
5103       p_col_cnt11                   => p_col_cnt11,
5104       p_col_cnt12                   => p_col_cnt12,
5105       p_col_cnt13                   => p_col_cnt13,
5106       p_col_cnt14                   => p_col_cnt14,
5107       p_col_cnt15                   => p_col_cnt15,
5108       p_col_tot                     => null,
5109       p_object_version_number       => p_object_version_number);
5110   --
5111   end if;
5112 --
5113   if g_debug then
5114     hr_utility.set_location(l_proc,1000);
5115   end if;
5116 --
5117 end update_bon_earn;
5118 --
5119 -- -------------------------------------------------------------------------
5120 -- add_bon_earn
5121 -- -------------------------------------------------------------------------
5122 procedure add_bon_earn(
5123   p_assignment_action_id        in number,
5124   p_assignment_id               in number,
5125   p_effective_date              in date,
5126   p_item_pay_id                 in number,
5127   p_item_pay_ord                in number,
5128   p_item_type                   in varchar2,
5129   p_item_id                     in number,
5130   p_item_rep_seq                in number,
5131   p_item_rep_name               in varchar2,
5132   p_col_cnt1                    in number,
5133   p_col_cnt2                    in number,
5134   p_col_cnt3                    in number,
5135   p_col_cnt4                    in number,
5136   p_col_cnt5                    in number,
5137   p_col_cnt6                    in number,
5138   p_col_cnt7                    in number,
5139   p_col_cnt8                    in number,
5140   p_col_cnt9                    in number,
5141   p_col_cnt10                   in number,
5142   p_col_cnt11                   in number,
5143   p_col_cnt12                   in number,
5144   p_col_cnt13                   in number,
5145   p_col_cnt14                   in number,
5146   p_col_cnt15                   in number,
5147   p_col_tot                     in number,
5148   p_action_information_id       out nocopy number,
5149   p_object_version_number       out nocopy number)
5150 is
5151 --
5152   l_proc varchar2(80) := c_package||'add_bon_earn';
5153 --
5154   cursor csr_bon_earn
5155   is
5156   select  action_information_id,
5157           object_version_number
5158   from    pay_jp_itwb_bon_earn_v
5159   where   assignment_action_id = p_assignment_action_id
5160   and     item_pay_id = p_item_pay_id
5161   and     item_type = p_item_type
5162   and     item_id = p_item_id;
5163 --
5164 begin
5165 --
5166   if g_debug then
5167     hr_utility.set_location(l_proc,0);
5168   end if;
5169 --
5170   open csr_bon_earn;
5171   fetch csr_bon_earn into p_action_information_id, p_object_version_number;
5172   close csr_bon_earn;
5173 --
5174   if g_debug then
5175     hr_utility.set_location(l_proc,10);
5176   end if;
5177 --
5178   if p_action_information_id is not null then
5179   --
5180     p_object_version_number := p_object_version_number + 1;
5181   --
5182     update pay_action_information
5183     set    object_version_number = p_object_version_number,
5184            action_information7 = decode(nvl(fnd_number.number_to_canonical(p_col_cnt1),'X'),
5185                                    'X',action_information7,
5186                                    fnd_number.number_to_canonical(p_col_cnt1)),
5187            action_information8 = decode(nvl(fnd_number.number_to_canonical(p_col_cnt2),'X'),
5188                                    'X',action_information8,
5189                                    fnd_number.number_to_canonical(p_col_cnt2)),
5190            action_information9 = decode(nvl(fnd_number.number_to_canonical(p_col_cnt3),'X'),
5191                                    'X',action_information9,
5192                                    fnd_number.number_to_canonical(p_col_cnt3)),
5193            action_information10 = decode(nvl(fnd_number.number_to_canonical(p_col_cnt4),'X'),
5194                                    'X',action_information10,
5195                                    fnd_number.number_to_canonical(p_col_cnt4)),
5196            action_information11 = decode(nvl(fnd_number.number_to_canonical(p_col_cnt5),'X'),
5197                                    'X',action_information11,
5198                                    fnd_number.number_to_canonical(p_col_cnt5)),
5199            action_information12 = decode(nvl(fnd_number.number_to_canonical(p_col_cnt6),'X'),
5200                                    'X',action_information12,
5201                                    fnd_number.number_to_canonical(p_col_cnt6)),
5202            action_information13 = decode(nvl(fnd_number.number_to_canonical(p_col_cnt7),'X'),
5203                                    'X',action_information13,
5204                                    fnd_number.number_to_canonical(p_col_cnt7)),
5205            action_information14 = decode(nvl(fnd_number.number_to_canonical(p_col_cnt8),'X'),
5206                                    'X',action_information14,
5207                                    fnd_number.number_to_canonical(p_col_cnt8)),
5208            action_information15 = decode(nvl(fnd_number.number_to_canonical(p_col_cnt9),'X'),
5209                                     'X',action_information15,
5210                                     fnd_number.number_to_canonical(p_col_cnt9)),
5211            action_information16 = decode(nvl(fnd_number.number_to_canonical(p_col_cnt10),'X'),
5212                                     'X',action_information16,
5213                                     fnd_number.number_to_canonical(p_col_cnt10)),
5214            action_information17 = decode(nvl(fnd_number.number_to_canonical(p_col_cnt11),'X'),
5215                                     'X',action_information17,
5216                                     fnd_number.number_to_canonical(p_col_cnt11)),
5217            action_information18 = decode(nvl(fnd_number.number_to_canonical(p_col_cnt12),'X'),
5218                                     'X',action_information18,
5219                                     fnd_number.number_to_canonical(p_col_cnt12)),
5220            action_information19 = decode(nvl(fnd_number.number_to_canonical(p_col_cnt13),'X'),
5221                                     'X',action_information19,
5222                                     fnd_number.number_to_canonical(p_col_cnt13)),
5223            action_information20 = decode(nvl(fnd_number.number_to_canonical(p_col_cnt14),'X'),
5224                                     'X',action_information20,
5225                                     fnd_number.number_to_canonical(p_col_cnt14)),
5226            action_information21 = decode(nvl(fnd_number.number_to_canonical(p_col_cnt15),'X'),
5227                                     'X',action_information21,
5228                                     fnd_number.number_to_canonical(p_col_cnt15)),
5229            action_information22 = decode(nvl(fnd_number.number_to_canonical(p_col_tot),'X'),
5230                                     'X',action_information22,
5231                                     fnd_number.number_to_canonical(p_col_tot))
5232     where  action_information_id = p_action_information_id
5233     and    object_version_number < p_object_version_number
5234     and    action_context_id = p_assignment_action_id
5235     and    action_context_type = 'AAP'
5236     and    action_information_category = 'JP_ITWB_BON_EARN'
5237     and    action_information1 = fnd_number.number_to_canonical(p_item_pay_id)
5238     and    action_information3 = p_item_type
5239     and    action_information4 = fnd_number.number_to_canonical(p_item_id);
5240   --
5241   -- case when new item is added
5242   else
5243   --
5244     create_bon_earn(
5245       p_action_information_id       => pay_jp_itwb_dml_pkg.next_action_information_id,
5246       p_assignment_action_id        => p_assignment_action_id,
5247       p_action_context_type         => 'AAP',
5248       p_assignment_id               => p_assignment_id,
5249       p_effective_date              => p_effective_date,
5250       p_action_information_category => 'JP_ITWB_BON_EARN',
5251       p_item_pay_id                 => p_item_pay_id,
5252       p_item_pay_ord                => p_item_pay_ord,
5253       p_item_type                   => p_item_type,
5254       p_item_id                     => p_item_id,
5255       p_item_rep_seq                => p_item_rep_seq,
5256       p_item_rep_name               => p_item_rep_name,
5257       p_col_cnt1                    => p_col_cnt1,
5258       p_col_cnt2                    => p_col_cnt2,
5259       p_col_cnt3                    => p_col_cnt3,
5260       p_col_cnt4                    => p_col_cnt4,
5261       p_col_cnt5                    => p_col_cnt5,
5262       p_col_cnt6                    => p_col_cnt6,
5263       p_col_cnt7                    => p_col_cnt7,
5264       p_col_cnt8                    => p_col_cnt8,
5265       p_col_cnt9                    => p_col_cnt9,
5266       p_col_cnt10                   => p_col_cnt10,
5267       p_col_cnt11                   => p_col_cnt11,
5268       p_col_cnt12                   => p_col_cnt12,
5269       p_col_cnt13                   => p_col_cnt13,
5270       p_col_cnt14                   => p_col_cnt14,
5271       p_col_cnt15                   => p_col_cnt15,
5272       p_col_tot                     => null,
5273       p_object_version_number       => p_object_version_number);
5274   --
5275   end if;
5276   if g_debug then
5277     hr_utility.set_location(l_proc,1000);
5278   end if;
5279 --
5280 end add_bon_earn;
5281 --
5282 -- -------------------------------------------------------------------------
5283 -- create_bon_dct
5284 -- -------------------------------------------------------------------------
5285 procedure create_bon_dct(
5286   p_action_information_id       in number,
5287   p_assignment_action_id        in number,
5288   p_action_context_type         in varchar2,
5289   p_assignment_id               in number,
5290   p_effective_date              in date,
5291   p_action_information_category in varchar2,
5292   p_item_pay_id                 in number,
5293   p_item_pay_ord                in number,
5294   p_item_type                   in varchar2,
5295   p_item_id                     in number,
5296   p_item_rep_seq                in number,
5297   p_item_rep_name               in varchar2,
5298   p_col_cnt1                    in number,
5299   p_col_cnt2                    in number,
5300   p_col_cnt3                    in number,
5301   p_col_cnt4                    in number,
5302   p_col_cnt5                    in number,
5303   p_col_cnt6                    in number,
5304   p_col_cnt7                    in number,
5305   p_col_cnt8                    in number,
5306   p_col_cnt9                    in number,
5307   p_col_cnt10                   in number,
5308   p_col_cnt11                   in number,
5309   p_col_cnt12                   in number,
5310   p_col_cnt13                   in number,
5311   p_col_cnt14                   in number,
5312   p_col_cnt15                   in number,
5313   p_col_tot                     in number,
5314   p_object_version_number       out nocopy number)
5315 is
5316   l_proc varchar2(80) := c_package||'create_bon_dct';
5317 begin
5318 --
5319   if g_debug then
5320     hr_utility.set_location(l_proc,0);
5321   end if;
5322 --
5323   p_object_version_number := 1;
5324 --
5325   insert into pay_action_information(
5326     action_information_id,
5327     object_version_number,
5328     action_context_id,
5329     action_context_type,
5330     effective_date,
5331     assignment_id,
5332     action_information_category,
5333     action_information1,
5334     action_information2,
5335     action_information3,
5336     action_information4,
5337     action_information5,
5338     action_information6,
5339     action_information7,
5340     action_information8,
5341     action_information9,
5342     action_information10,
5343     action_information11,
5344     action_information12,
5345     action_information13,
5346     action_information14,
5347     action_information15,
5348     action_information16,
5349     action_information17,
5350     action_information18,
5351     action_information19,
5352     action_information20,
5353     action_information21,
5354     action_information22)
5355   values(
5356     p_action_information_id,
5357     p_object_version_number,
5358     p_assignment_action_id,
5359     p_action_context_type,
5360     p_effective_date,
5361     p_assignment_id,
5362     p_action_information_category,
5363     fnd_number.number_to_canonical(p_item_pay_id),
5364     fnd_number.number_to_canonical(p_item_pay_ord),
5365     p_item_type,
5366     fnd_number.number_to_canonical(p_item_id),
5367     fnd_number.number_to_canonical(p_item_rep_seq),
5368     p_item_rep_name,
5369     fnd_number.number_to_canonical(p_col_cnt1),
5370     fnd_number.number_to_canonical(p_col_cnt2),
5371     fnd_number.number_to_canonical(p_col_cnt3),
5372     fnd_number.number_to_canonical(p_col_cnt4),
5373     fnd_number.number_to_canonical(p_col_cnt5),
5374     fnd_number.number_to_canonical(p_col_cnt6),
5375     fnd_number.number_to_canonical(p_col_cnt7),
5376     fnd_number.number_to_canonical(p_col_cnt8),
5377     fnd_number.number_to_canonical(p_col_cnt9),
5378     fnd_number.number_to_canonical(p_col_cnt10),
5379     fnd_number.number_to_canonical(p_col_cnt11),
5380     fnd_number.number_to_canonical(p_col_cnt12),
5381     fnd_number.number_to_canonical(p_col_cnt13),
5382     fnd_number.number_to_canonical(p_col_cnt14),
5383     fnd_number.number_to_canonical(p_col_cnt15),
5384     fnd_number.number_to_canonical(p_col_tot));
5385 --
5386   if g_debug then
5387     hr_utility.set_location(l_proc,1000);
5388   end if;
5389 --
5390 end create_bon_dct;
5391 --
5392 -- -------------------------------------------------------------------------
5393 -- update_bon_dct
5394 -- -------------------------------------------------------------------------
5395 procedure update_bon_dct(
5396   p_assignment_action_id        in number,
5397   p_assignment_id               in number,
5398   p_effective_date              in date,
5399   p_arch_assignment_action_id_o in number,
5400   p_item_pay_id                 in number,
5401   p_item_pay_ord                in number,
5402   p_item_type                   in varchar2,
5403   p_item_id                     in number,
5404   p_item_rep_seq                in number,
5405   p_item_rep_name               in varchar2,
5406   p_col_cnt1                    in number,
5407   p_col_cnt2                    in number,
5408   p_col_cnt3                    in number,
5409   p_col_cnt4                    in number,
5410   p_col_cnt5                    in number,
5411   p_col_cnt6                    in number,
5412   p_col_cnt7                    in number,
5413   p_col_cnt8                    in number,
5414   p_col_cnt9                    in number,
5415   p_col_cnt10                   in number,
5416   p_col_cnt11                   in number,
5417   p_col_cnt12                   in number,
5418   p_col_cnt13                   in number,
5419   p_col_cnt14                   in number,
5420   p_col_cnt15                   in number,
5421   p_col_tot                     in number,
5422   p_action_information_id       out nocopy number,
5423   p_object_version_number       out nocopy number)
5424 is
5425 --
5426   l_proc varchar2(80) := c_package||'update_bon_dct';
5427 --
5428   cursor csr_bon_dct
5429   is
5430   select  action_information_id,
5431           object_version_number
5432   from    pay_jp_itwb_bon_dct_v
5433   where   assignment_action_id = p_assignment_action_id
5434   and     item_pay_id = p_item_pay_id
5435   and     item_type = p_item_type
5436   and     item_id = p_item_id;
5437 --
5438   cursor csr_act_efd
5439   is
5440   select decode(nvl(to_char(col_cnt1,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt1,
5441          decode(nvl(to_char(col_cnt2,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt2,
5442          decode(nvl(to_char(col_cnt3,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt3,
5443          decode(nvl(to_char(col_cnt4,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt4,
5444          decode(nvl(to_char(col_cnt5,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt5,
5445          decode(nvl(to_char(col_cnt6,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt6,
5446          decode(nvl(to_char(col_cnt7,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt7,
5447          decode(nvl(to_char(col_cnt8,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt8,
5448          decode(nvl(to_char(col_cnt9,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt9,
5449          decode(nvl(to_char(col_cnt10,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt10,
5450          decode(nvl(to_char(col_cnt11,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt11,
5451          decode(nvl(to_char(col_cnt12,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt12,
5452          decode(nvl(to_char(col_cnt13,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt13,
5453          decode(nvl(to_char(col_cnt14,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt14,
5454          decode(nvl(to_char(col_cnt15,'MM'),'X'),to_char(p_effective_date,'MM'),0,null) col_cnt15
5455   from   pay_jp_itwb_bon_act_efd_v
5456   where  assignment_action_id = p_arch_assignment_action_id_o;
5457 --
5458   l_csr_act_efd csr_act_efd%rowtype;
5459 --
5460 begin
5461 --
5462   if g_debug then
5463     hr_utility.set_location(l_proc,0);
5464   end if;
5465 --
5466   -- pai have been already bulk copied for all items.
5467   open csr_bon_dct;
5468   fetch csr_bon_dct into p_action_information_id, p_object_version_number;
5469   close csr_bon_dct;
5470 --
5471   if g_debug then
5472     hr_utility.set_location(l_proc,10);
5473   end if;
5474 --
5475   if p_action_information_id is not null then
5476   --
5477     open csr_act_efd;
5478     fetch csr_act_efd into l_csr_act_efd;
5479     close csr_act_efd;
5480   --
5481     if g_debug then
5482       hr_utility.set_location(l_proc,20);
5483     end if;
5484   --
5485     p_object_version_number := p_object_version_number + 1;
5486   --
5487     update pay_action_information
5488     set    object_version_number = p_object_version_number,
5489            action_information2 = decode(nvl(action_information2,'X'),
5490                                    nvl(fnd_number.number_to_canonical(p_item_pay_ord),'X'),action_information2,
5491                                    fnd_number.number_to_canonical(p_item_pay_ord)),
5492            action_information5 = decode(nvl(action_information5,'X'),
5493                                    nvl(fnd_number.number_to_canonical(p_item_rep_seq),'X'),action_information5,
5494                                    fnd_number.number_to_canonical(p_item_rep_seq)),
5495            action_information6 = decode(nvl(action_information6,'X'),
5496                                    nvl(p_item_rep_name,'X'),action_information6,
5497                                    p_item_rep_name),
5498            action_information7 = decode(nvl(l_csr_act_efd.col_cnt1,-1),
5499                                    0,fnd_number.number_to_canonical(p_col_cnt1),
5500                                    decode(nvl(fnd_number.number_to_canonical(p_col_cnt1),'X'),
5501                                      'X',action_information7,
5502                                      decode(nvl(action_information7,'X'),
5503                                        nvl(fnd_number.number_to_canonical(p_col_cnt1),'X'),action_information7,
5504                                        fnd_number.number_to_canonical(p_col_cnt1)))),
5505            action_information8 = decode(nvl(l_csr_act_efd.col_cnt2,-1),
5506                                    0,fnd_number.number_to_canonical(p_col_cnt2),
5507                                    decode(nvl(fnd_number.number_to_canonical(p_col_cnt2),'X'),
5508                                      'X',action_information8,
5509                                      decode(nvl(action_information8,'X'),
5510                                        nvl(fnd_number.number_to_canonical(p_col_cnt2),'X'),action_information8,
5511                                        fnd_number.number_to_canonical(p_col_cnt2)))),
5512            action_information9 = decode(nvl(l_csr_act_efd.col_cnt3,-1),
5513                                    0,fnd_number.number_to_canonical(p_col_cnt3),
5514                                    decode(nvl(fnd_number.number_to_canonical(p_col_cnt3),'X'),
5515                                      'X',action_information9,
5516                                      decode(nvl(action_information9,'X'),
5517                                        nvl(fnd_number.number_to_canonical(p_col_cnt3),'X'),action_information9,
5518                                        fnd_number.number_to_canonical(p_col_cnt3)))),
5519            action_information10 = decode(nvl(l_csr_act_efd.col_cnt4,-1),
5520                                    0,fnd_number.number_to_canonical(p_col_cnt4),
5521                                    decode(nvl(fnd_number.number_to_canonical(p_col_cnt4),'X'),
5522                                      'X',action_information10,
5523                                      decode(nvl(action_information10,'X'),
5524                                        nvl(fnd_number.number_to_canonical(p_col_cnt4),'X'),action_information10,
5525                                        fnd_number.number_to_canonical(p_col_cnt4)))),
5526            action_information11 = decode(nvl(l_csr_act_efd.col_cnt5,-1),
5527                                    0,fnd_number.number_to_canonical(p_col_cnt5),
5528                                    decode(nvl(fnd_number.number_to_canonical(p_col_cnt5),'X'),
5529                                      'X',action_information11,
5530                                      decode(nvl(action_information11,'X'),
5531                                        nvl(fnd_number.number_to_canonical(p_col_cnt5),'X'),action_information11,
5532                                        fnd_number.number_to_canonical(p_col_cnt5)))),
5533            action_information12 = decode(nvl(l_csr_act_efd.col_cnt6,-1),
5534                                    0,fnd_number.number_to_canonical(p_col_cnt6),
5535                                    decode(nvl(fnd_number.number_to_canonical(p_col_cnt6),'X'),
5536                                      'X',action_information12,
5537                                      decode(nvl(action_information12,'X'),
5538                                        nvl(fnd_number.number_to_canonical(p_col_cnt6),'X'),action_information12,
5539                                        fnd_number.number_to_canonical(p_col_cnt6)))),
5540            action_information13 = decode(nvl(l_csr_act_efd.col_cnt7,-1),
5541                                    0,fnd_number.number_to_canonical(p_col_cnt7),
5542                                    decode(nvl(fnd_number.number_to_canonical(p_col_cnt7),'X'),
5543                                      'X',action_information13,
5544                                      decode(nvl(action_information13,'X'),
5545                                        nvl(fnd_number.number_to_canonical(p_col_cnt7),'X'),action_information13,
5546                                        fnd_number.number_to_canonical(p_col_cnt7)))),
5547            action_information14 = decode(nvl(l_csr_act_efd.col_cnt8,-1),
5548                                    0,fnd_number.number_to_canonical(p_col_cnt8),
5549                                    decode(nvl(fnd_number.number_to_canonical(p_col_cnt8),'X'),
5550                                      'X',action_information14,
5551                                      decode(nvl(action_information14,'X'),
5552                                        nvl(fnd_number.number_to_canonical(p_col_cnt8),'X'),action_information14,
5553                                        fnd_number.number_to_canonical(p_col_cnt8)))),
5554            action_information15 = decode(nvl(l_csr_act_efd.col_cnt9,-1),
5555                                    0,fnd_number.number_to_canonical(p_col_cnt9),
5556                                    decode(nvl(fnd_number.number_to_canonical(p_col_cnt9),'X'),
5557                                       'X',action_information15,
5558                                      decode(nvl(action_information15,'X'),
5559                                        nvl(fnd_number.number_to_canonical(p_col_cnt9),'X'),action_information15,
5560                                        fnd_number.number_to_canonical(p_col_cnt9)))),
5561            action_information16 = decode(nvl(l_csr_act_efd.col_cnt10,-1),
5562                                    0,fnd_number.number_to_canonical(p_col_cnt10),
5563                                    decode(nvl(fnd_number.number_to_canonical(p_col_cnt10),'X'),
5564                                       'X',action_information16,
5565                                       decode(nvl(action_information16,'X'),
5566                                         nvl(fnd_number.number_to_canonical(p_col_cnt10),'X'),action_information16,
5567                                         fnd_number.number_to_canonical(p_col_cnt10)))),
5568            action_information17 = decode(nvl(l_csr_act_efd.col_cnt11,-1),
5569                                    0,fnd_number.number_to_canonical(p_col_cnt11),
5570                                    decode(nvl(fnd_number.number_to_canonical(p_col_cnt11),'X'),
5571                                       'X',action_information17,
5572                                       decode(nvl(action_information17,'X'),
5573                                         nvl(fnd_number.number_to_canonical(p_col_cnt11),'X'),action_information17,
5574                                         fnd_number.number_to_canonical(p_col_cnt11)))),
5575            action_information18 = decode(nvl(l_csr_act_efd.col_cnt12,-1),
5576                                    0,fnd_number.number_to_canonical(p_col_cnt12),
5577                                    decode(nvl(fnd_number.number_to_canonical(p_col_cnt12),'X'),
5578                                       'X',action_information18,
5579                                       decode(nvl(action_information18,'X'),
5580                                         nvl(fnd_number.number_to_canonical(p_col_cnt12),'X'),action_information18,
5581                                         fnd_number.number_to_canonical(p_col_cnt12)))),
5582            action_information19 = decode(nvl(l_csr_act_efd.col_cnt13,-1),
5583                                    0,fnd_number.number_to_canonical(p_col_cnt13),
5584                                    decode(nvl(fnd_number.number_to_canonical(p_col_cnt13),'X'),
5585                                       'X',action_information19,
5586                                       decode(nvl(action_information19,'X'),
5587                                         nvl(fnd_number.number_to_canonical(p_col_cnt13),'X'),action_information19,
5588                                         fnd_number.number_to_canonical(p_col_cnt13)))),
5589            action_information20 = decode(nvl(l_csr_act_efd.col_cnt14,-1),
5590                                    0,fnd_number.number_to_canonical(p_col_cnt14),
5591                                    decode(nvl(fnd_number.number_to_canonical(p_col_cnt14),'X'),
5592                                       'X',action_information20,
5593                                       decode(nvl(action_information20,'X'),
5594                                         nvl(fnd_number.number_to_canonical(p_col_cnt14),'X'),action_information20,
5595                                         fnd_number.number_to_canonical(p_col_cnt14)))),
5596            action_information21 = decode(nvl(l_csr_act_efd.col_cnt15,-1),
5597                                    0,fnd_number.number_to_canonical(p_col_cnt15),
5598                                    decode(nvl(fnd_number.number_to_canonical(p_col_cnt15),'X'),
5599                                       'X',action_information21,
5600                                       decode(nvl(action_information21,'X'),
5601                                         nvl(fnd_number.number_to_canonical(p_col_cnt15),'X'),action_information21,
5602                                         fnd_number.number_to_canonical(p_col_cnt15)))),
5603            action_information22 = decode(nvl(fnd_number.number_to_canonical(p_col_tot),'X'),
5604                                     'X',action_information22,
5605                                    decode(nvl(action_information22,'X'),
5606                                      nvl(fnd_number.number_to_canonical(p_col_tot),'X'),action_information22,
5607                                      fnd_number.number_to_canonical(p_col_tot)))
5608     where  action_information_id = p_action_information_id
5609     and    object_version_number < p_object_version_number
5610     and    action_context_id = p_assignment_action_id
5611     and    action_context_type = 'AAP'
5612     and    action_information_category = 'JP_ITWB_BON_DCT'
5613     and    action_information1 = fnd_number.number_to_canonical(p_item_pay_id)
5614     and    action_information3 = p_item_type
5615     and    action_information4 = fnd_number.number_to_canonical(p_item_id)
5616     and    (nvl(action_information2,'X') <> nvl(fnd_number.number_to_canonical(p_item_pay_ord),'X')
5617            or nvl(action_information5,'X') <> nvl(fnd_number.number_to_canonical(p_item_rep_seq),'X')
5618            or nvl(action_information6,'X') <> nvl(p_item_rep_name,'X')
5619            or ((p_col_cnt1 is not null
5620               or nvl(l_csr_act_efd.col_cnt1,-1) = 0)
5621               and (nvl(action_information7,'X') <> nvl(fnd_number.number_to_canonical(p_col_cnt1),'X')))
5622            or ((p_col_cnt2 is not null
5623               or nvl(l_csr_act_efd.col_cnt2,-1) = 0)
5624               and (nvl(action_information8,'X') <> nvl(fnd_number.number_to_canonical(p_col_cnt2),'X')))
5625            or ((p_col_cnt3 is not null
5626               or nvl(l_csr_act_efd.col_cnt3,-1) = 0)
5627               and (nvl(action_information9,'X') <> nvl(fnd_number.number_to_canonical(p_col_cnt3),'X')))
5628            or ((p_col_cnt4 is not null
5629               or nvl(l_csr_act_efd.col_cnt4,-1) = 0)
5630               and (nvl(action_information10,'X') <> nvl(fnd_number.number_to_canonical(p_col_cnt4),'X')))
5631            or ((p_col_cnt5 is not null
5632               or nvl(l_csr_act_efd.col_cnt5,-1) = 0)
5633               and (nvl(action_information11,'X') <> nvl(fnd_number.number_to_canonical(p_col_cnt5),'X')))
5634            or ((p_col_cnt6 is not null
5635               or nvl(l_csr_act_efd.col_cnt6,-1) = 0)
5636               and (nvl(action_information12,'X') <> nvl(fnd_number.number_to_canonical(p_col_cnt6),'X')))
5637            or ((p_col_cnt7 is not null
5638               or nvl(l_csr_act_efd.col_cnt7,-1) = 0)
5639               and (nvl(action_information13,'X') <> nvl(fnd_number.number_to_canonical(p_col_cnt7),'X')))
5640            or ((p_col_cnt8 is not null
5641               or nvl(l_csr_act_efd.col_cnt8,-1) = 0)
5642               and (nvl(action_information14,'X') <> nvl(fnd_number.number_to_canonical(p_col_cnt8),'X')))
5643            or ((p_col_cnt9 is not null
5644               or nvl(l_csr_act_efd.col_cnt9,-1) = 0)
5645               and (nvl(action_information15,'X') <> nvl(fnd_number.number_to_canonical(p_col_cnt9),'X')))
5646            or ((p_col_cnt10 is not null
5647               or nvl(l_csr_act_efd.col_cnt10,-1) = 0)
5648               and (nvl(action_information16,'X') <> nvl(fnd_number.number_to_canonical(p_col_cnt10),'X')))
5649            or ((p_col_cnt11 is not null
5650               or nvl(l_csr_act_efd.col_cnt11,-1) = 0)
5651               and (nvl(action_information17,'X') <> nvl(fnd_number.number_to_canonical(p_col_cnt11),'X')))
5652            or ((p_col_cnt12 is not null
5653               or nvl(l_csr_act_efd.col_cnt12,-1) = 0)
5654               and (nvl(action_information18,'X') <> nvl(fnd_number.number_to_canonical(p_col_cnt12),'X')))
5655            or ((p_col_cnt13 is not null
5656               or nvl(l_csr_act_efd.col_cnt13,-1) = 0)
5657               and (nvl(action_information19,'X') <> nvl(fnd_number.number_to_canonical(p_col_cnt13),'X')))
5658            or ((p_col_cnt14 is not null
5659               or nvl(l_csr_act_efd.col_cnt14,-1) = 0)
5660               and (nvl(action_information20,'X') <> nvl(fnd_number.number_to_canonical(p_col_cnt14),'X')))
5661            or ((p_col_cnt15 is not null
5662               or nvl(l_csr_act_efd.col_cnt15,-1) = 0)
5663               and (nvl(action_information21,'X') <> nvl(fnd_number.number_to_canonical(p_col_cnt15),'X')))
5664            or (p_col_tot is not null
5665               and (nvl(action_information22,'X') <> nvl(fnd_number.number_to_canonical(p_col_tot),'X'))));
5666   --
5667   -- case when new item is added
5668   else
5669   --
5670     if g_debug then
5671       hr_utility.set_location(l_proc,30);
5672     end if;
5673   --
5674     create_bon_dct(
5675       p_action_information_id       => pay_jp_itwb_dml_pkg.next_action_information_id,
5676       p_assignment_action_id        => p_assignment_action_id,
5677       p_action_context_type         => 'AAP',
5678       p_assignment_id               => p_assignment_id,
5679       p_effective_date              => p_effective_date,
5680       p_action_information_category => 'JP_ITWB_BON_DCT',
5681       p_item_pay_id                 => p_item_pay_id,
5682       p_item_pay_ord                => p_item_pay_ord,
5683       p_item_type                   => p_item_type,
5684       p_item_id                     => p_item_id,
5685       p_item_rep_seq                => p_item_rep_seq,
5686       p_item_rep_name               => p_item_rep_name,
5687       p_col_cnt1                    => p_col_cnt1,
5688       p_col_cnt2                    => p_col_cnt2,
5689       p_col_cnt3                    => p_col_cnt3,
5690       p_col_cnt4                    => p_col_cnt4,
5691       p_col_cnt5                    => p_col_cnt5,
5692       p_col_cnt6                    => p_col_cnt6,
5693       p_col_cnt7                    => p_col_cnt7,
5694       p_col_cnt8                    => p_col_cnt8,
5695       p_col_cnt9                    => p_col_cnt9,
5696       p_col_cnt10                   => p_col_cnt10,
5697       p_col_cnt11                   => p_col_cnt11,
5698       p_col_cnt12                   => p_col_cnt12,
5699       p_col_cnt13                   => p_col_cnt13,
5700       p_col_cnt14                   => p_col_cnt14,
5701       p_col_cnt15                   => p_col_cnt15,
5702       p_col_tot                     => null,
5703       p_object_version_number       => p_object_version_number);
5704   --
5705   end if;
5706 --
5707   if g_debug then
5708     hr_utility.set_location(l_proc,1000);
5709   end if;
5710 --
5711 end update_bon_dct;
5712 --
5713 -- -------------------------------------------------------------------------
5714 -- add_bon_dct
5715 -- -------------------------------------------------------------------------
5716 procedure add_bon_dct(
5717   p_assignment_action_id        in number,
5718   p_assignment_id               in number,
5719   p_effective_date              in date,
5720   p_item_pay_id                 in number,
5721   p_item_pay_ord                in number,
5722   p_item_type                   in varchar2,
5723   p_item_id                     in number,
5724   p_item_rep_seq                in number,
5725   p_item_rep_name               in varchar2,
5726   p_col_cnt1                    in number,
5727   p_col_cnt2                    in number,
5728   p_col_cnt3                    in number,
5729   p_col_cnt4                    in number,
5730   p_col_cnt5                    in number,
5731   p_col_cnt6                    in number,
5732   p_col_cnt7                    in number,
5733   p_col_cnt8                    in number,
5734   p_col_cnt9                    in number,
5735   p_col_cnt10                   in number,
5736   p_col_cnt11                   in number,
5737   p_col_cnt12                   in number,
5738   p_col_cnt13                   in number,
5739   p_col_cnt14                   in number,
5740   p_col_cnt15                   in number,
5741   p_col_tot                     in number,
5742   p_action_information_id       out nocopy number,
5743   p_object_version_number       out nocopy number)
5744 is
5745 --
5746   l_proc varchar2(80) := c_package||'add_bon_dct';
5747 --
5748   cursor csr_bon_dct
5749   is
5750   select  action_information_id,
5751           object_version_number
5752   from    pay_jp_itwb_bon_dct_v
5753   where   assignment_action_id = p_assignment_action_id
5754   and     item_pay_id = p_item_pay_id
5755   and     item_type = p_item_type
5756   and     item_id = p_item_id;
5757 --
5758 begin
5759 --
5760   if g_debug then
5761     hr_utility.set_location(l_proc,0);
5762   end if;
5763 --
5764   open csr_bon_dct;
5765   fetch csr_bon_dct into p_action_information_id, p_object_version_number;
5766   close csr_bon_dct;
5767 --
5768   if g_debug then
5769     hr_utility.set_location(l_proc,10);
5770   end if;
5771 --
5772   if p_action_information_id is not null then
5773   --
5774     p_object_version_number := p_object_version_number + 1;
5775   --
5776     update pay_action_information
5777     set    object_version_number = p_object_version_number,
5778            action_information7 = decode(nvl(fnd_number.number_to_canonical(p_col_cnt1),'X'),
5779                                    'X',action_information7,
5780                                    fnd_number.number_to_canonical(p_col_cnt1)),
5781            action_information8 = decode(nvl(fnd_number.number_to_canonical(p_col_cnt2),'X'),
5782                                    'X',action_information8,
5783                                    fnd_number.number_to_canonical(p_col_cnt2)),
5784            action_information9 = decode(nvl(fnd_number.number_to_canonical(p_col_cnt3),'X'),
5785                                    'X',action_information9,
5786                                    fnd_number.number_to_canonical(p_col_cnt3)),
5787            action_information10 = decode(nvl(fnd_number.number_to_canonical(p_col_cnt4),'X'),
5788                                    'X',action_information10,
5789                                    fnd_number.number_to_canonical(p_col_cnt4)),
5790            action_information11 = decode(nvl(fnd_number.number_to_canonical(p_col_cnt5),'X'),
5791                                    'X',action_information11,
5792                                    fnd_number.number_to_canonical(p_col_cnt5)),
5793            action_information12 = decode(nvl(fnd_number.number_to_canonical(p_col_cnt6),'X'),
5794                                    'X',action_information12,
5795                                    fnd_number.number_to_canonical(p_col_cnt6)),
5796            action_information13 = decode(nvl(fnd_number.number_to_canonical(p_col_cnt7),'X'),
5797                                    'X',action_information13,
5798                                    fnd_number.number_to_canonical(p_col_cnt7)),
5799            action_information14 = decode(nvl(fnd_number.number_to_canonical(p_col_cnt8),'X'),
5800                                    'X',action_information14,
5801                                    fnd_number.number_to_canonical(p_col_cnt8)),
5802            action_information15 = decode(nvl(fnd_number.number_to_canonical(p_col_cnt9),'X'),
5803                                     'X',action_information15,
5804                                     fnd_number.number_to_canonical(p_col_cnt9)),
5805            action_information16 = decode(nvl(fnd_number.number_to_canonical(p_col_cnt10),'X'),
5806                                     'X',action_information16,
5807                                     fnd_number.number_to_canonical(p_col_cnt10)),
5808            action_information17 = decode(nvl(fnd_number.number_to_canonical(p_col_cnt11),'X'),
5809                                     'X',action_information17,
5810                                     fnd_number.number_to_canonical(p_col_cnt11)),
5811            action_information18 = decode(nvl(fnd_number.number_to_canonical(p_col_cnt12),'X'),
5812                                     'X',action_information18,
5813                                     fnd_number.number_to_canonical(p_col_cnt12)),
5814            action_information19 = decode(nvl(fnd_number.number_to_canonical(p_col_cnt13),'X'),
5815                                     'X',action_information19,
5816                                     fnd_number.number_to_canonical(p_col_cnt13)),
5817            action_information20 = decode(nvl(fnd_number.number_to_canonical(p_col_cnt14),'X'),
5818                                     'X',action_information20,
5819                                     fnd_number.number_to_canonical(p_col_cnt14)),
5820            action_information21 = decode(nvl(fnd_number.number_to_canonical(p_col_cnt15),'X'),
5821                                     'X',action_information21,
5822                                     fnd_number.number_to_canonical(p_col_cnt15)),
5823            action_information22 = decode(nvl(fnd_number.number_to_canonical(p_col_tot),'X'),
5824                                     'X',action_information22,
5825                                     fnd_number.number_to_canonical(p_col_tot))
5826     where  action_information_id = p_action_information_id
5827     and    object_version_number < p_object_version_number
5828     and    action_context_id = p_assignment_action_id
5829     and    action_context_type = 'AAP'
5830     and    action_information_category = 'JP_ITWB_BON_DCT'
5831     and    action_information1 = fnd_number.number_to_canonical(p_item_pay_id)
5832     and    action_information3 = p_item_type
5833     and    action_information4 = fnd_number.number_to_canonical(p_item_id);
5834   --
5835   -- case when new item is added
5836   else
5837   --
5838     create_bon_dct(
5839       p_action_information_id       => pay_jp_itwb_dml_pkg.next_action_information_id,
5840       p_assignment_action_id        => p_assignment_action_id,
5841       p_action_context_type         => 'AAP',
5842       p_assignment_id               => p_assignment_id,
5843       p_effective_date              => p_effective_date,
5844       p_action_information_category => 'JP_ITWB_BON_DCT',
5845       p_item_pay_id                 => p_item_pay_id,
5846       p_item_pay_ord                => p_item_pay_ord,
5847       p_item_type                   => p_item_type,
5848       p_item_id                     => p_item_id,
5849       p_item_rep_seq                => p_item_rep_seq,
5850       p_item_rep_name               => p_item_rep_name,
5851       p_col_cnt1                    => p_col_cnt1,
5852       p_col_cnt2                    => p_col_cnt2,
5853       p_col_cnt3                    => p_col_cnt3,
5854       p_col_cnt4                    => p_col_cnt4,
5855       p_col_cnt5                    => p_col_cnt5,
5856       p_col_cnt6                    => p_col_cnt6,
5857       p_col_cnt7                    => p_col_cnt7,
5858       p_col_cnt8                    => p_col_cnt8,
5859       p_col_cnt9                    => p_col_cnt9,
5860       p_col_cnt10                   => p_col_cnt10,
5861       p_col_cnt11                   => p_col_cnt11,
5862       p_col_cnt12                   => p_col_cnt12,
5863       p_col_cnt13                   => p_col_cnt13,
5864       p_col_cnt14                   => p_col_cnt14,
5865       p_col_cnt15                   => p_col_cnt15,
5866       p_col_tot                     => null,
5867       p_object_version_number       => p_object_version_number);
5868   --
5869   end if;
5870   if g_debug then
5871     hr_utility.set_location(l_proc,1000);
5872   end if;
5873 --
5874 end add_bon_dct;
5875 --
5876 -- -------------------------------------------------------------------------
5877 -- create_wrk
5878 -- -------------------------------------------------------------------------
5879 procedure create_wrk(
5880   p_action_information_id       in number,
5881   p_assignment_action_id        in number,
5882   p_action_context_type         in varchar2,
5883   p_assignment_id               in number,
5884   p_effective_date              in date,
5885   p_action_information_category in varchar2,
5886   p_item_pay_id                 in number,
5887   p_item_pay_ord                in number,
5888   p_item_type                   in varchar2,
5889   p_item_id                     in number,
5890   p_item_rep_seq                in number,
5891   p_item_rep_name               in varchar2,
5892   p_col_mth1                    in number,
5893   p_col_mth2                    in number,
5894   p_col_mth3                    in number,
5895   p_col_mth4                    in number,
5896   p_col_mth5                    in number,
5897   p_col_mth6                    in number,
5898   p_col_mth7                    in number,
5899   p_col_mth8                    in number,
5900   p_col_mth9                    in number,
5901   p_col_mth10                   in number,
5902   p_col_mth11                   in number,
5903   p_col_mth12                   in number,
5904   p_col_tot                     in number,
5905   p_object_version_number       out nocopy number)
5906 is
5907   l_proc varchar2(80) := c_package||'create_wrk';
5908 begin
5909 --
5910   if g_debug then
5911     hr_utility.set_location(l_proc,0);
5912   end if;
5913 --
5914   p_object_version_number := 1;
5915 --
5916   insert into pay_action_information(
5917     action_information_id,
5918     object_version_number,
5919     action_context_id,
5920     action_context_type,
5921     effective_date,
5922     assignment_id,
5923     action_information_category,
5924     action_information1,
5925     action_information2,
5926     action_information3,
5927     action_information4,
5928     action_information5,
5929     action_information6,
5930     action_information7,
5931     action_information8,
5932     action_information9,
5933     action_information10,
5934     action_information11,
5935     action_information12,
5936     action_information13,
5937     action_information14,
5938     action_information15,
5939     action_information16,
5940     action_information17,
5941     action_information18,
5942     action_information19)
5943   values(
5944     p_action_information_id,
5945     p_object_version_number,
5946     p_assignment_action_id,
5947     p_action_context_type,
5948     p_effective_date,
5949     p_assignment_id,
5950     p_action_information_category,
5951     fnd_number.number_to_canonical(p_item_pay_id),
5952     fnd_number.number_to_canonical(p_item_pay_ord),
5953     p_item_type,
5954     fnd_number.number_to_canonical(p_item_id),
5955     fnd_number.number_to_canonical(p_item_rep_seq),
5956     p_item_rep_name,
5957     fnd_number.number_to_canonical(p_col_mth1),
5958     fnd_number.number_to_canonical(p_col_mth2),
5959     fnd_number.number_to_canonical(p_col_mth3),
5960     fnd_number.number_to_canonical(p_col_mth4),
5961     fnd_number.number_to_canonical(p_col_mth5),
5962     fnd_number.number_to_canonical(p_col_mth6),
5963     fnd_number.number_to_canonical(p_col_mth7),
5964     fnd_number.number_to_canonical(p_col_mth8),
5965     fnd_number.number_to_canonical(p_col_mth9),
5966     fnd_number.number_to_canonical(p_col_mth10),
5967     fnd_number.number_to_canonical(p_col_mth11),
5968     fnd_number.number_to_canonical(p_col_mth12),
5969     fnd_number.number_to_canonical(p_col_tot));
5970 --
5971   if g_debug then
5972     hr_utility.set_location(l_proc,1000);
5973   end if;
5974 --
5975 end create_wrk;
5976 --
5977 -- -------------------------------------------------------------------------
5978 -- update_wrk
5979 -- -------------------------------------------------------------------------
5980 procedure update_wrk(
5981   p_assignment_action_id        in number,
5982   p_assignment_id               in number,
5983   p_effective_date              in date,
5984   p_arch_assignment_action_id_o in number,
5985   p_item_pay_id                 in number,
5986   p_item_pay_ord                in number,
5987   p_item_type                   in varchar2,
5988   p_item_id                     in number,
5989   p_item_rep_seq                in number,
5990   p_item_rep_name               in varchar2,
5991   p_col_mth1                    in number,
5992   p_col_mth2                    in number,
5993   p_col_mth3                    in number,
5994   p_col_mth4                    in number,
5995   p_col_mth5                    in number,
5996   p_col_mth6                    in number,
5997   p_col_mth7                    in number,
5998   p_col_mth8                    in number,
5999   p_col_mth9                    in number,
6000   p_col_mth10                   in number,
6001   p_col_mth11                   in number,
6002   p_col_mth12                   in number,
6003   p_col_tot                     in number,
6004   p_action_information_id       out nocopy number,
6005   p_object_version_number       out nocopy number)
6006 is
6007 --
6008   l_proc varchar2(80) := c_package||'update_wrk';
6009 --
6010   cursor csr_wrk
6011   is
6012   select  action_information_id,
6013           object_version_number
6014   from    pay_jp_itwb_wrk_v
6015   where   assignment_action_id = p_assignment_action_id
6016   and     item_pay_id = p_item_pay_id
6017   and     item_type = p_item_type
6018   and     item_id = p_item_id;
6019 --
6020 begin
6021 --
6022   if g_debug then
6023     hr_utility.set_location(l_proc,0);
6024   end if;
6025 --
6026   open csr_wrk;
6027   fetch csr_wrk into p_action_information_id, p_object_version_number;
6028   close csr_wrk;
6029 --
6030   if g_debug then
6031     hr_utility.set_location(l_proc,10);
6032   end if;
6033 --
6034   if p_action_information_id is not null then
6035   --
6036     p_object_version_number := p_object_version_number + 1;
6037   --
6038     update pay_action_information
6039     set    object_version_number = p_object_version_number,
6040            action_information2 = decode(nvl(action_information2,'X'),
6041                                    nvl(fnd_number.number_to_canonical(p_item_pay_ord),'X'),action_information2,
6042                                    fnd_number.number_to_canonical(p_item_pay_ord)),
6043            action_information5 = decode(nvl(action_information5,'X'),
6044                                    nvl(fnd_number.number_to_canonical(p_item_rep_seq),'X'),action_information5,
6045                                    fnd_number.number_to_canonical(p_item_rep_seq)),
6046            action_information6 = decode(nvl(action_information6,'X'),
6047                                    nvl(p_item_rep_name,'X'),action_information6,
6048                                    p_item_rep_name),
6049            action_information7 = decode(nvl(fnd_number.number_to_canonical(p_col_mth1),'X'),
6050                                    'X',action_information7,
6051                                    decode(nvl(action_information7,'X'),
6052                                      nvl(fnd_number.number_to_canonical(p_col_mth1),'X'),action_information7,
6053                                      fnd_number.number_to_canonical(p_col_mth1))),
6054            action_information8 = decode(nvl(fnd_number.number_to_canonical(p_col_mth2),'X'),
6055                                    'X',action_information8,
6056                                    decode(nvl(action_information8,'X'),
6057                                      nvl(fnd_number.number_to_canonical(p_col_mth2),'X'),action_information8,
6058                                      fnd_number.number_to_canonical(p_col_mth2))),
6059            action_information9 = decode(nvl(fnd_number.number_to_canonical(p_col_mth3),'X'),
6060                                    'X',action_information9,
6061                                    decode(nvl(action_information9,'X'),
6062                                      nvl(fnd_number.number_to_canonical(p_col_mth3),'X'),action_information9,
6063                                      fnd_number.number_to_canonical(p_col_mth3))),
6064            action_information10 = decode(nvl(fnd_number.number_to_canonical(p_col_mth4),'X'),
6065                                    'X',action_information10,
6066                                    decode(nvl(action_information10,'X'),
6067                                      nvl(fnd_number.number_to_canonical(p_col_mth4),'X'),action_information10,
6068                                      fnd_number.number_to_canonical(p_col_mth4))),
6069            action_information11 = decode(nvl(fnd_number.number_to_canonical(p_col_mth5),'X'),
6070                                    'X',action_information11,
6071                                    decode(nvl(action_information11,'X'),
6072                                      nvl(fnd_number.number_to_canonical(p_col_mth5),'X'),action_information11,
6073                                      fnd_number.number_to_canonical(p_col_mth5))),
6074            action_information12 = decode(nvl(fnd_number.number_to_canonical(p_col_mth6),'X'),
6075                                    'X',action_information12,
6076                                    decode(nvl(action_information12,'X'),
6077                                      nvl(fnd_number.number_to_canonical(p_col_mth6),'X'),action_information12,
6078                                      fnd_number.number_to_canonical(p_col_mth6))),
6079            action_information13 = decode(nvl(fnd_number.number_to_canonical(p_col_mth7),'X'),
6080                                    'X',action_information13,
6081                                    decode(nvl(action_information13,'X'),
6082                                      nvl(fnd_number.number_to_canonical(p_col_mth7),'X'),action_information13,
6083                                      fnd_number.number_to_canonical(p_col_mth7))),
6084            action_information14 = decode(nvl(fnd_number.number_to_canonical(p_col_mth8),'X'),
6085                                    'X',action_information14,
6086                                    decode(nvl(action_information14,'X'),
6087                                      nvl(fnd_number.number_to_canonical(p_col_mth8),'X'),action_information14,
6088                                      fnd_number.number_to_canonical(p_col_mth8))),
6089            action_information15 = decode(nvl(fnd_number.number_to_canonical(p_col_mth9),'X'),
6090                                     'X',action_information15,
6091                                    decode(nvl(action_information15,'X'),
6092                                      nvl(fnd_number.number_to_canonical(p_col_mth9),'X'),action_information15,
6093                                      fnd_number.number_to_canonical(p_col_mth9))),
6094            action_information16 = decode(nvl(fnd_number.number_to_canonical(p_col_mth10),'X'),
6095                                     'X',action_information16,
6096                                    decode(nvl(action_information16,'X'),
6097                                      nvl(fnd_number.number_to_canonical(p_col_mth10),'X'),action_information16,
6098                                      fnd_number.number_to_canonical(p_col_mth10))),
6099            action_information17 = decode(nvl(fnd_number.number_to_canonical(p_col_mth11),'X'),
6100                                     'X',action_information17,
6101                                    decode(nvl(action_information17,'X'),
6102                                      nvl(fnd_number.number_to_canonical(p_col_mth11),'X'),action_information17,
6103                                      fnd_number.number_to_canonical(p_col_mth11))),
6104            action_information18 = decode(nvl(fnd_number.number_to_canonical(p_col_mth12),'X'),
6105                                     'X',action_information18,
6106                                    decode(nvl(action_information18,'X'),
6107                                      nvl(fnd_number.number_to_canonical(p_col_mth12),'X'),action_information18,
6108                                      fnd_number.number_to_canonical(p_col_mth12))),
6109            action_information19 = decode(nvl(fnd_number.number_to_canonical(p_col_tot),'X'),
6110                                     'X',action_information19,
6111                                    decode(nvl(action_information19,'X'),
6112                                      nvl(fnd_number.number_to_canonical(p_col_tot),'X'),action_information19,
6113                                      fnd_number.number_to_canonical(p_col_tot)))
6114     where  action_information_id = p_action_information_id
6115     and    object_version_number < p_object_version_number
6116     and    action_context_id = p_assignment_action_id
6117     and    action_context_type = 'AAP'
6118     and    action_information_category = 'JP_ITWB_WRK'
6119     and    action_information1 = fnd_number.number_to_canonical(p_item_pay_id)
6120     and    action_information3 = p_item_type
6121     and    action_information4 = fnd_number.number_to_canonical(p_item_id)
6122     and    (nvl(action_information2,'X') <> nvl(fnd_number.number_to_canonical(p_item_pay_ord),'X')
6123            or nvl(action_information5,'X') <> nvl(fnd_number.number_to_canonical(p_item_rep_seq),'X')
6124            or nvl(action_information6,'X') <> nvl(p_item_rep_name,'X')
6125            or (p_col_mth1 is not null
6126               and (nvl(action_information7,'X') <> nvl(fnd_number.number_to_canonical(p_col_mth1),'X')))
6127            or (p_col_mth2 is not null
6128               and (nvl(action_information8,'X') <> nvl(fnd_number.number_to_canonical(p_col_mth2),'X')))
6129            or (p_col_mth3 is not null
6130               and (nvl(action_information9,'X') <> nvl(fnd_number.number_to_canonical(p_col_mth3),'X')))
6131            or (p_col_mth4 is not null
6132               and (nvl(action_information10,'X') <> nvl(fnd_number.number_to_canonical(p_col_mth4),'X')))
6133            or (p_col_mth5 is not null
6134               and (nvl(action_information11,'X') <> nvl(fnd_number.number_to_canonical(p_col_mth5),'X')))
6135            or (p_col_mth6 is not null
6136               and (nvl(action_information12,'X') <> nvl(fnd_number.number_to_canonical(p_col_mth6),'X')))
6137            or (p_col_mth7 is not null
6138               and (nvl(action_information13,'X') <> nvl(fnd_number.number_to_canonical(p_col_mth7),'X')))
6139            or (p_col_mth8 is not null
6140               and (nvl(action_information14,'X') <> nvl(fnd_number.number_to_canonical(p_col_mth8),'X')))
6141            or (p_col_mth9 is not null
6142               and (nvl(action_information15,'X') <> nvl(fnd_number.number_to_canonical(p_col_mth9),'X')))
6143            or (p_col_mth10 is not null
6144               and (nvl(action_information16,'X') <> nvl(fnd_number.number_to_canonical(p_col_mth10),'X')))
6145            or (p_col_mth11 is not null
6146               and (nvl(action_information17,'X') <> nvl(fnd_number.number_to_canonical(p_col_mth11),'X')))
6147            or (p_col_mth12 is not null
6148               and (nvl(action_information18,'X') <> nvl(fnd_number.number_to_canonical(p_col_mth12),'X')))
6149            or (p_col_tot is not null
6150               and (nvl(action_information19,'X') <> nvl(fnd_number.number_to_canonical(p_col_tot),'X'))));
6151   --
6152   -- case when new item is added
6153   else
6154   --
6155     create_wrk(
6156       p_action_information_id       => pay_jp_itwb_dml_pkg.next_action_information_id,
6157       p_assignment_action_id        => p_assignment_action_id,
6158       p_action_context_type         => 'AAP',
6159       p_assignment_id               => p_assignment_id,
6160       p_effective_date              => p_effective_date,
6161       p_action_information_category => 'JP_ITWB_WRK',
6162       p_item_pay_id                 => p_item_pay_id,
6163       p_item_pay_ord                => p_item_pay_ord,
6164       p_item_type                   => p_item_type,
6165       p_item_id                     => p_item_id,
6166       p_item_rep_seq                => p_item_rep_seq,
6167       p_item_rep_name               => p_item_rep_name,
6168       p_col_mth1                    => p_col_mth1,
6169       p_col_mth2                    => p_col_mth2,
6170       p_col_mth3                    => p_col_mth3,
6171       p_col_mth4                    => p_col_mth4,
6172       p_col_mth5                    => p_col_mth5,
6173       p_col_mth6                    => p_col_mth6,
6174       p_col_mth7                    => p_col_mth7,
6175       p_col_mth8                    => p_col_mth8,
6176       p_col_mth9                    => p_col_mth9,
6177       p_col_mth10                   => p_col_mth10,
6178       p_col_mth11                   => p_col_mth11,
6179       p_col_mth12                   => p_col_mth12,
6180       p_col_tot                     => null,
6181       p_object_version_number       => p_object_version_number);
6182   --
6183   end if;
6184 --
6185   if g_debug then
6186     hr_utility.set_location(l_proc,1000);
6187   end if;
6188 --
6189 end update_wrk;
6190 --
6191 -- -------------------------------------------------------------------------
6192 -- add_wrk
6193 -- -------------------------------------------------------------------------
6194 procedure add_wrk(
6195   p_assignment_action_id        in number,
6196   p_assignment_id               in number,
6197   p_effective_date              in date,
6198   p_item_pay_id                 in number,
6199   p_item_pay_ord                in number,
6200   p_item_type                   in varchar2,
6201   p_item_id                     in number,
6202   p_item_rep_seq                in number,
6203   p_item_rep_name               in varchar2,
6204   p_col_mth1                    in number,
6205   p_col_mth2                    in number,
6206   p_col_mth3                    in number,
6207   p_col_mth4                    in number,
6208   p_col_mth5                    in number,
6209   p_col_mth6                    in number,
6210   p_col_mth7                    in number,
6211   p_col_mth8                    in number,
6212   p_col_mth9                    in number,
6213   p_col_mth10                   in number,
6214   p_col_mth11                   in number,
6215   p_col_mth12                   in number,
6216   p_col_tot                     in number,
6217   p_action_information_id       out nocopy number,
6218   p_object_version_number       out nocopy number)
6219 is
6220 --
6221   l_proc varchar2(80) := c_package||'add_wrk';
6222 --
6223   cursor csr_wrk
6224   is
6225   select  action_information_id,
6226           object_version_number
6227   from    pay_jp_itwb_wrk_v
6228   where   assignment_action_id = p_assignment_action_id
6229   and     item_pay_id = p_item_pay_id
6230   and     item_type = p_item_type
6231   and     item_id = p_item_id;
6232 --
6233 begin
6234 --
6235   if g_debug then
6236     hr_utility.set_location(l_proc,0);
6237   end if;
6238 --
6239   open csr_wrk;
6240   fetch csr_wrk into p_action_information_id, p_object_version_number;
6241   close csr_wrk;
6242 --
6243   if g_debug then
6244     hr_utility.set_location(l_proc,10);
6245   end if;
6246 --
6247   if p_action_information_id is not null then
6248   --
6249     p_object_version_number := p_object_version_number + 1;
6250   --
6251     update pay_action_information
6252     set    object_version_number = p_object_version_number,
6253            action_information7 = decode(nvl(fnd_number.number_to_canonical(p_col_mth1),'X'),
6254                                    'X',action_information7,
6255                                    fnd_number.number_to_canonical(p_col_mth1)),
6256            action_information8 = decode(nvl(fnd_number.number_to_canonical(p_col_mth2),'X'),
6257                                    'X',action_information8,
6258                                    fnd_number.number_to_canonical(p_col_mth2)),
6259            action_information9 = decode(nvl(fnd_number.number_to_canonical(p_col_mth3),'X'),
6260                                    'X',action_information9,
6261                                    fnd_number.number_to_canonical(p_col_mth3)),
6262            action_information10 = decode(nvl(fnd_number.number_to_canonical(p_col_mth4),'X'),
6263                                    'X',action_information10,
6264                                    fnd_number.number_to_canonical(p_col_mth4)),
6265            action_information11 = decode(nvl(fnd_number.number_to_canonical(p_col_mth5),'X'),
6266                                    'X',action_information11,
6267                                    fnd_number.number_to_canonical(p_col_mth5)),
6268            action_information12 = decode(nvl(fnd_number.number_to_canonical(p_col_mth6),'X'),
6269                                    'X',action_information12,
6270                                    fnd_number.number_to_canonical(p_col_mth6)),
6271            action_information13 = decode(nvl(fnd_number.number_to_canonical(p_col_mth7),'X'),
6272                                    'X',action_information13,
6273                                    fnd_number.number_to_canonical(p_col_mth7)),
6274            action_information14 = decode(nvl(fnd_number.number_to_canonical(p_col_mth8),'X'),
6275                                    'X',action_information14,
6276                                    fnd_number.number_to_canonical(p_col_mth8)),
6277            action_information15 = decode(nvl(fnd_number.number_to_canonical(p_col_mth9),'X'),
6278                                     'X',action_information15,
6279                                     fnd_number.number_to_canonical(p_col_mth9)),
6280            action_information16 = decode(nvl(fnd_number.number_to_canonical(p_col_mth10),'X'),
6281                                     'X',action_information16,
6282                                     fnd_number.number_to_canonical(p_col_mth10)),
6283            action_information17 = decode(nvl(fnd_number.number_to_canonical(p_col_mth11),'X'),
6284                                     'X',action_information17,
6285                                     fnd_number.number_to_canonical(p_col_mth11)),
6286            action_information18 = decode(nvl(fnd_number.number_to_canonical(p_col_mth12),'X'),
6287                                     'X',action_information18,
6288                                     fnd_number.number_to_canonical(p_col_mth12)),
6289            action_information19 = decode(nvl(fnd_number.number_to_canonical(p_col_tot),'X'),
6290                                     'X',action_information19,
6291                                     fnd_number.number_to_canonical(p_col_tot))
6292     where  action_information_id = p_action_information_id
6293     and    object_version_number < p_object_version_number
6294     and    action_context_id = p_assignment_action_id
6295     and    action_context_type = 'AAP'
6296     and    action_information_category = 'JP_ITWB_WRK'
6297     and    action_information1 = fnd_number.number_to_canonical(p_item_pay_id)
6298     and    action_information3 = p_item_type
6299     and    action_information4 = fnd_number.number_to_canonical(p_item_id);
6300   --
6301   -- case when new item is added
6302   else
6303   --
6304     create_wrk(
6305       p_action_information_id       => pay_jp_itwb_dml_pkg.next_action_information_id,
6306       p_assignment_action_id        => p_assignment_action_id,
6307       p_action_context_type         => 'AAP',
6308       p_assignment_id               => p_assignment_id,
6309       p_effective_date              => p_effective_date,
6310       p_action_information_category => 'JP_ITWB_WRK',
6311       p_item_pay_id                 => p_item_pay_id,
6312       p_item_pay_ord                => p_item_pay_ord,
6313       p_item_type                   => p_item_type,
6314       p_item_id                     => p_item_id,
6315       p_item_rep_seq                => p_item_rep_seq,
6316       p_item_rep_name               => p_item_rep_name,
6317       p_col_mth1                    => p_col_mth1,
6318       p_col_mth2                    => p_col_mth2,
6319       p_col_mth3                    => p_col_mth3,
6320       p_col_mth4                    => p_col_mth4,
6321       p_col_mth5                    => p_col_mth5,
6322       p_col_mth6                    => p_col_mth6,
6323       p_col_mth7                    => p_col_mth7,
6324       p_col_mth8                    => p_col_mth8,
6325       p_col_mth9                    => p_col_mth9,
6326       p_col_mth10                   => p_col_mth10,
6327       p_col_mth11                   => p_col_mth11,
6328       p_col_mth12                   => p_col_mth12,
6329       p_col_tot                     => null,
6330       p_object_version_number       => p_object_version_number);
6331   --
6332   end if;
6333   if g_debug then
6334     hr_utility.set_location(l_proc,1000);
6335   end if;
6336 --
6337 end add_wrk;
6338 --
6339 -- -------------------------------------------------------------------------
6340 -- create_pjob
6341 -- -------------------------------------------------------------------------
6342 procedure create_pjob(
6343   p_action_information_id       in number,
6344   p_assignment_action_id        in number,
6345   p_action_context_type         in varchar2,
6346   p_assignment_id               in number,
6347   p_effective_date              in date,
6348   p_action_information_category in varchar2,
6349   p_term_date                   in date,
6350   p_employer_name               in varchar2,
6351   p_employer_name_kana          in varchar2,
6352   p_employer_address            in varchar2,
6353   p_employer_address_kana       in varchar2,
6354   p_txbl_inc                    in number,
6355   p_si_prem                     in number,
6356   p_mutual_aid_prem             in number,
6357   p_itax                        in number,
6358   p_object_version_number       out nocopy number)
6359 is
6360   l_proc varchar2(80) := c_package||'create_pjob';
6361 begin
6362 --
6363   if g_debug then
6364     hr_utility.set_location(l_proc,0);
6365   end if;
6366 --
6367   p_object_version_number := 1;
6368 --
6369   insert into pay_action_information(
6370     action_information_id,
6371     object_version_number,
6372     action_context_id,
6373     action_context_type,
6374     effective_date,
6375     assignment_id,
6376     action_information_category,
6377     action_information1,
6378     action_information2,
6379     action_information3,
6380     action_information4,
6381     action_information5,
6382     action_information6,
6383     action_information7,
6384     action_information8,
6385     action_information9)
6386   values(
6387     p_action_information_id,
6388     p_object_version_number,
6389     p_assignment_action_id,
6390     p_action_context_type,
6391     p_effective_date,
6392     p_assignment_id,
6393     p_action_information_category,
6394     fnd_date.date_to_canonical(p_term_date),
6395     p_employer_name,
6396     p_employer_name_kana,
6397     p_employer_address,
6398     p_employer_address_kana,
6399     fnd_number.number_to_canonical(p_txbl_inc),
6400     fnd_number.number_to_canonical(p_si_prem),
6401     fnd_number.number_to_canonical(p_mutual_aid_prem),
6402     fnd_number.number_to_canonical(p_itax));
6403 --
6404   if g_debug then
6405     hr_utility.set_location(l_proc,1000);
6406   end if;
6407 --
6408 end create_pjob;
6409 --
6410 -- -------------------------------------------------------------------------
6411 -- update_pjob
6412 -- -------------------------------------------------------------------------
6413 procedure update_pjob(
6414   p_assignment_action_id        in number,
6415   p_assignment_id               in number,
6416   p_effective_date              in date,
6417   p_arch_assignment_action_id_o in number,
6418   p_proc_assignment_action_id   in number,
6419   p_proc_assact_date_o          in date,
6420   p_term_date                   in date,
6421   p_employer_name               in varchar2,
6422   p_employer_name_kana          in varchar2,
6423   p_employer_address            in varchar2,
6424   p_employer_address_kana       in varchar2,
6425   p_txbl_inc                    in number,
6426   p_si_prem                     in number,
6427   p_mutual_aid_prem             in number,
6428   p_itax                        in number,
6429   p_action_information_id       out nocopy number,
6430   p_object_version_number       out nocopy number)
6431 is
6432 --
6433   l_proc varchar2(80) := c_package||'update_emp';
6434 --
6435 begin
6436 --
6437   if g_debug then
6438     hr_utility.set_location(l_proc,0);
6439   end if;
6440 --
6441   if to_char(p_effective_date,'MM') = to_char(p_proc_assact_date_o,'MM') then
6442   --
6443     p_action_information_id := pay_jp_itwb_dml_pkg.next_action_information_id;
6444   --
6445     create_pjob(
6446       p_action_information_id       => p_action_information_id,
6447       p_assignment_action_id        => p_assignment_action_id,
6448       p_action_context_type         => 'AAP',
6449       p_assignment_id               => p_assignment_id,
6450       p_effective_date              => p_effective_date,
6451       p_action_information_category => 'JP_ITWB_PJOB',
6452       p_term_date                   => p_term_date,
6453       p_employer_name               => p_employer_name,
6454       p_employer_name_kana          => p_employer_name_kana,
6455       p_employer_address            => p_employer_address,
6456       p_employer_address_kana       => p_employer_address_kana,
6457       p_txbl_inc                    => p_txbl_inc,
6458       p_si_prem                     => p_si_prem,
6459       p_mutual_aid_prem             => p_mutual_aid_prem,
6460       p_itax                        => p_itax,
6461       p_object_version_number       => p_object_version_number);
6462   --
6463   end if;
6464 --
6465   if g_debug then
6466     hr_utility.set_location(l_proc,1000);
6467   end if;
6468 --
6469 end update_pjob;
6470 --
6471 -- -------------------------------------------------------------------------
6472 -- copy_pjob
6473 -- -------------------------------------------------------------------------
6474 procedure copy_pjob(
6475   p_assignment_action_id        in number,
6476   p_effective_date              in date,
6477   p_arch_assignment_action_id_o in number)
6478 is
6479 --
6480   l_proc varchar2(80) := c_package||'copy_pjob';
6481 --
6482   l_object_version_number number;
6483 --
6484   cursor csr_pjob
6485   is
6486   select  assignment_id,
6487           term_date,
6488           employer_name,
6489           employer_name_kana,
6490           employer_address,
6491           employer_address_kana,
6492           txbl_inc,
6493           si_prem,
6494           mutual_aid_prem,
6495           itax
6496   from    pay_jp_itwb_pjob_v
6497   where   assignment_action_id = p_arch_assignment_action_id_o;
6498 --
6499   l_csr_pjob csr_pjob%rowtype;
6500 --
6501 begin
6502 --
6503   if g_debug then
6504     hr_utility.set_location(l_proc,0);
6505   end if;
6506 --
6507   open csr_pjob;
6508   loop
6509   --
6510     fetch csr_pjob into l_csr_pjob;
6511     exit when csr_pjob%notfound;
6512   --
6513     create_pjob(
6514       p_action_information_id       => pay_jp_itwb_dml_pkg.next_action_information_id,
6515       p_assignment_action_id        => p_assignment_action_id,
6516       p_action_context_type         => 'AAP',
6517       p_assignment_id               => l_csr_pjob.assignment_id,
6518       p_effective_date              => p_effective_date,
6519       p_action_information_category => 'JP_ITWB_PJOB',
6520       p_term_date                   => l_csr_pjob.term_date,
6521       p_employer_name               => l_csr_pjob.employer_name,
6522       p_employer_name_kana          => l_csr_pjob.employer_name_kana,
6523       p_employer_address            => l_csr_pjob.employer_address,
6524       p_employer_address_kana       => l_csr_pjob.employer_address_kana,
6525       p_txbl_inc                    => l_csr_pjob.txbl_inc,
6526       p_si_prem                     => l_csr_pjob.si_prem,
6527       p_mutual_aid_prem             => l_csr_pjob.mutual_aid_prem,
6528       p_itax                        => l_csr_pjob.itax,
6529       p_object_version_number       => l_object_version_number);
6530   --
6531   end loop;
6532   close csr_pjob;
6533 --
6534   if g_debug then
6535     hr_utility.set_location(l_proc,1000);
6536   end if;
6537 --
6538 end copy_pjob;
6539 --
6540 -- -------------------------------------------------------------------------
6541 -- create_dep
6542 -- -------------------------------------------------------------------------
6543 procedure create_dep(
6544   p_action_information_id       in number,
6545   p_assignment_action_id        in number,
6546   p_action_context_type         in varchar2,
6547   p_assignment_id               in number,
6548   p_effective_date              in date,
6549   p_action_information_category in varchar2,
6550   p_dep_itax_type               in varchar2,
6551   p_declare_flag                in varchar2,
6552   p_spouse_type                 in varchar2,
6553   p_spouse_flag                 in varchar2,
6554   p_dep_spouse                  in varchar2,
6555   p_aged_dep_spouse             in varchar2,
6556   p_ord_dep_num                 in number,
6557   p_sp_dep_num                  in number,
6558   p_aged_parent_dep_lt_num      in number,
6559   p_aged_dep_num                in number,
6560   p_ord_disable_num             in number,
6561   p_sp_disable_num              in number,
6562   p_sp_disable_lt_num           in number,
6563   p_disable_type                in varchar2,
6564   p_widow_type                  in varchar2,
6565   p_working_student_type        in varchar2,
6566   p_otsu_spouse_dep_num         in number,
6567   p_non_res_flag                in varchar2,
6568   p_object_version_number       out nocopy number)
6569 is
6570   l_proc varchar2(80) := c_package||'create_dep';
6571 begin
6572 --
6573   if g_debug then
6574     hr_utility.set_location(l_proc,0);
6575   end if;
6576 --
6577   p_object_version_number := 1;
6578 --
6579   insert into pay_action_information(
6580     action_information_id,
6581     object_version_number,
6582     action_context_id,
6583     action_context_type,
6584     effective_date,
6585     assignment_id,
6586     action_information_category,
6587     action_information1,
6588     action_information2,
6589     action_information3,
6590     action_information4,
6591     action_information5,
6592     action_information6,
6593     action_information7,
6594     action_information8,
6595     action_information9,
6596     action_information10,
6597     action_information11,
6598     action_information12,
6599     action_information13,
6600     action_information14,
6601     action_information15,
6602     action_information16,
6603     action_information17,
6604     action_information18)
6605   values(
6606     p_action_information_id,
6607     p_object_version_number,
6608     p_assignment_action_id,
6609     p_action_context_type,
6610     p_effective_date,
6611     p_assignment_id,
6612     p_action_information_category,
6613     p_dep_itax_type,
6614     p_declare_flag,
6615     p_spouse_type,
6616     p_spouse_flag,
6617     p_dep_spouse,
6618     p_aged_dep_spouse,
6619     fnd_number.number_to_canonical(p_ord_dep_num),
6620     fnd_number.number_to_canonical(p_sp_dep_num),
6621     fnd_number.number_to_canonical(p_aged_parent_dep_lt_num),
6622     fnd_number.number_to_canonical(p_aged_dep_num),
6623     fnd_number.number_to_canonical(p_ord_disable_num),
6624     fnd_number.number_to_canonical(p_sp_disable_num),
6625     fnd_number.number_to_canonical(p_sp_disable_lt_num),
6626     p_disable_type,
6627     p_widow_type,
6628     p_working_student_type,
6629     fnd_number.number_to_canonical(p_otsu_spouse_dep_num),
6630     p_non_res_flag);
6631 --
6632   if g_debug then
6633     hr_utility.set_location(l_proc,1000);
6634   end if;
6635 --
6636 end create_dep;
6637 --
6638 -- -------------------------------------------------------------------------
6639 -- update_dep
6640 -- -------------------------------------------------------------------------
6641 procedure update_dep(
6642   p_assignment_action_id        in number,
6643   p_effective_date              in date,
6644   p_arch_assignment_action_id_o in number,
6645   p_proc_assignment_action_id   in number,
6646   p_dep_itax_type               in varchar2,
6647   p_declare_flag                in varchar2,
6648   p_spouse_type                 in varchar2,
6649   p_spouse_flag                 in varchar2,
6650   p_dep_spouse                  in varchar2,
6651   p_aged_dep_spouse             in varchar2,
6652   p_ord_dep_num                 in number,
6653   p_sp_dep_num                  in number,
6654   p_aged_parent_dep_lt_num      in number,
6655   p_aged_dep_num                in number,
6656   p_ord_disable_num             in number,
6657   p_sp_disable_num              in number,
6658   p_sp_disable_lt_num           in number,
6659   p_disable_type                in varchar2,
6660   p_widow_type                  in varchar2,
6661   p_working_student_type        in varchar2,
6662   p_otsu_spouse_dep_num         in number,
6663   p_non_res_flag                in varchar2,
6664   p_action_information_id       out nocopy number,
6665   p_object_version_number       out nocopy number)
6666 is
6667 --
6668   l_proc varchar2(80) := c_package||'update_dep';
6669 --
6670 begin
6671 --
6672   if g_debug then
6673     hr_utility.set_location(l_proc,0);
6674   end if;
6675 --
6676   copy_pai(
6677     p_assignment_action_id,
6678     p_effective_date,
6679     p_arch_assignment_action_id_o,
6680     'AAP',
6681     'JP_ITWB_DEP',
6682     p_action_information_id,
6683     p_object_version_number);
6684 --
6685   if g_debug then
6686     hr_utility.set_location(l_proc,10);
6687   end if;
6688 --
6689   if p_action_information_id is null then
6690   --
6691     if g_debug then
6692       hr_utility.set_location(l_proc,20);
6693     end if;
6694   --
6695     fnd_message.set_name('PAY','PAY_34985_INVALID_PAY_ACTION');
6696     fnd_message.raise_error;
6697   --
6698   else
6699   --
6700     if g_debug then
6701       hr_utility.set_location(l_proc,30);
6702     end if;
6703   --
6704     p_object_version_number := p_object_version_number + 1;
6705   --
6706     update pay_action_information
6707     set    object_version_number = p_object_version_number,
6708            action_information1 = decode(nvl(action_information1,'X'),
6709                                    nvl(p_dep_itax_type,'X'),
6710                                    action_information1,
6711                                    p_dep_itax_type),
6712            action_information2 = decode(nvl(action_information2,'X'),
6713                                    nvl(p_declare_flag,'X'),
6714                                    action_information2,
6715                                    p_declare_flag),
6716            action_information3 = decode(nvl(action_information3,'X'),
6717                                    nvl(p_spouse_type,'X'),
6718                                    action_information3,
6719                                    p_spouse_type),
6720            action_information4 = decode(nvl(action_information4,'X'),
6721                                    nvl(p_spouse_flag,'X'),
6722                                    action_information4,
6723                                    p_spouse_flag),
6724            action_information5 = decode(nvl(action_information5,'X'),
6725                                    nvl(p_dep_spouse,'X'),
6726                                    action_information5,
6727                                    p_dep_spouse),
6728            action_information6 = decode(nvl(action_information6,'X'),
6729                                    nvl(p_aged_dep_spouse,'X'),
6730                                    action_information6,
6731                                    p_aged_dep_spouse),
6732            action_information7 = decode(nvl(action_information7,'X'),
6733                                    nvl(fnd_number.number_to_canonical(p_ord_dep_num),'X'),
6734                                    action_information7,
6735                                    fnd_number.number_to_canonical(p_ord_dep_num)),
6736            action_information8 = decode(nvl(action_information8,'X'),
6737                                    nvl(fnd_number.number_to_canonical(p_sp_dep_num),'X'),
6738                                    action_information8,
6739                                    fnd_number.number_to_canonical(p_sp_dep_num)),
6740            action_information9 = decode(nvl(action_information9,'X'),
6741                                    nvl(fnd_number.number_to_canonical(p_aged_parent_dep_lt_num),'X'),
6742                                    action_information9,
6743                                    fnd_number.number_to_canonical(p_aged_parent_dep_lt_num)),
6744            action_information10 = decode(nvl(action_information10,'X'),
6745                                    nvl(fnd_number.number_to_canonical(p_aged_dep_num),'X'),
6746                                    action_information10,
6747                                    fnd_number.number_to_canonical(p_aged_dep_num)),
6748            action_information11 = decode(nvl(action_information11,'X'),
6749                                    nvl(fnd_number.number_to_canonical(p_ord_disable_num),'X'),
6750                                    action_information11,
6751                                    fnd_number.number_to_canonical(p_ord_disable_num)),
6752            action_information12 = decode(nvl(action_information12,'X'),
6753                                    nvl(fnd_number.number_to_canonical(p_sp_disable_num),'X'),
6754                                    action_information12,
6755                                    fnd_number.number_to_canonical(p_sp_disable_num)),
6756            action_information13 = decode(nvl(action_information13,'X'),
6757                                    nvl(fnd_number.number_to_canonical(p_sp_disable_lt_num),'X'),
6758                                    action_information13,
6759                                    fnd_number.number_to_canonical(p_sp_disable_lt_num)),
6760            action_information14 = decode(nvl(action_information14,'X'),
6761                                    nvl(p_disable_type,'X'),
6762                                    action_information14,
6763                                    p_disable_type),
6764            action_information15 = decode(nvl(action_information15,'X'),
6765                                    nvl(p_widow_type,'X'),
6766                                    action_information15,
6767                                    p_widow_type),
6768            action_information16 = decode(nvl(action_information16,'X'),
6769                                    nvl(p_working_student_type,'X'),
6770                                    action_information16,
6771                                    p_working_student_type),
6772            action_information17 = decode(nvl(action_information17,'X'),
6773                                    nvl(fnd_number.number_to_canonical(p_otsu_spouse_dep_num),'X'),
6774                                    action_information17,
6775                                    fnd_number.number_to_canonical(p_otsu_spouse_dep_num)),
6776            action_information18 = decode(nvl(action_information18,'X'),
6777                                    nvl(p_non_res_flag,'X'),
6778                                    action_information18,
6779                                    p_non_res_flag)
6780     where  action_information_id = p_action_information_id
6781     and    object_version_number < p_object_version_number
6782     and    action_context_id = p_assignment_action_id
6783     and    action_context_type = 'AAP'
6784     and    action_information_category = 'JP_ITWB_DEP'
6785     and    (nvl(action_information1,'X')
6786             <> nvl(p_dep_itax_type,'X')
6787             or nvl(action_information2,'X')
6788             <> nvl(p_declare_flag,'X')
6789             or nvl(action_information3,'X')
6790             <> nvl(p_spouse_type,'X')
6791             or nvl(action_information4,'X')
6792             <> nvl(p_spouse_flag,'X')
6793             or nvl(action_information5,'X')
6794             <> nvl(p_dep_spouse,'X')
6795             or nvl(action_information6,'X')
6796             <> nvl(p_aged_dep_spouse,'X')
6797             or nvl(action_information7,'X')
6798             <> nvl(fnd_number.number_to_canonical(p_ord_dep_num),'X')
6799             or nvl(action_information8,'X')
6800             <> nvl(fnd_number.number_to_canonical(p_sp_dep_num),'X')
6801             or nvl(action_information9,'X')
6802             <> nvl(fnd_number.number_to_canonical(p_aged_parent_dep_lt_num),'X')
6803             or nvl(action_information10,'X')
6804             <> nvl(fnd_number.number_to_canonical(p_aged_dep_num),'X')
6805             or nvl(action_information11,'X')
6806             <> nvl(fnd_number.number_to_canonical(p_ord_disable_num),'X')
6807             or nvl(action_information12,'X')
6808             <> nvl(fnd_number.number_to_canonical(p_sp_disable_num),'X')
6809             or nvl(action_information13,'X')
6810             <> nvl(fnd_number.number_to_canonical(p_sp_disable_lt_num),'X')
6811             or nvl(action_information14,'X')
6812             <> nvl(p_disable_type,'X')
6813             or nvl(action_information15,'X')
6814             <> nvl(p_widow_type,'X')
6815             or nvl(action_information16,'X')
6816             <> nvl(p_working_student_type,'X')
6817             or nvl(action_information17,'X')
6818             <> nvl(fnd_number.number_to_canonical(p_otsu_spouse_dep_num),'X')
6819             or nvl(action_information18,'X')
6820             <> nvl(p_non_res_flag,'X'));
6821   --
6822   end if;
6823 --
6824   if g_debug then
6825     hr_utility.set_location(l_proc,1000);
6826   end if;
6827 --
6828 end update_dep;
6829 --
6830 -- -------------------------------------------------------------------------
6831 -- create_yea_act
6832 -- -------------------------------------------------------------------------
6833 procedure create_yea_act(
6834   p_action_information_id       in number,
6835   p_assignment_action_id        in number,
6836   p_action_context_type         in varchar2,
6837   p_assignment_id               in number,
6838   p_effective_date              in date,
6839   p_action_information_category in varchar2,
6840   p_act                         in number,
6841   p_efd                         in date,
6842   p_erd                         in date,
6843   p_pay                         in number,
6844   p_yea_type                    in varchar2,
6845   p_yea_flag                    in varchar2,
6846   p_object_version_number       out nocopy number)
6847 is
6848   l_proc varchar2(80) := c_package||'create_yea_act';
6849 begin
6850 --
6851   if g_debug then
6852     hr_utility.set_location(l_proc,0);
6853   end if;
6854 --
6855   p_object_version_number := 1;
6856 --
6857   insert into pay_action_information(
6858     action_information_id,
6859     object_version_number,
6860     action_context_id,
6861     action_context_type,
6862     effective_date,
6863     assignment_id,
6864     action_information_category,
6865     action_information1,
6866     action_information2,
6867     action_information3,
6868     action_information4,
6869     action_information5,
6870     action_information6)
6871   values(
6872     p_action_information_id,
6873     p_object_version_number,
6874     p_assignment_action_id,
6875     p_action_context_type,
6876     p_effective_date,
6877     p_assignment_id,
6878     p_action_information_category,
6879     fnd_number.number_to_canonical(p_act),
6880     fnd_date.date_to_canonical(p_efd),
6881     fnd_date.date_to_canonical(p_erd),
6882     fnd_number.number_to_canonical(p_pay),
6883     p_yea_type,
6884     p_yea_flag);
6885 --
6886   if g_debug then
6887     hr_utility.set_location(l_proc,1000);
6888   end if;
6889 --
6890 end create_yea_act;
6891 --
6892 -- -------------------------------------------------------------------------
6893 -- update_yea_act
6894 -- -------------------------------------------------------------------------
6895 procedure update_yea_act(
6896   p_assignment_action_id        in number,
6897   p_effective_date              in date,
6898   p_arch_assignment_action_id_o in number,
6899   p_proc_assignment_action_id   in number,
6900   p_proc_assact_date_o          in date,
6901   p_act                         in number,
6902   p_efd                         in date,
6903   p_erd                         in date,
6904   p_pay                         in number,
6905   p_yea_type                    in varchar2,
6906   p_yea_flag                    in varchar2,
6907   p_action_information_id       out nocopy number,
6908   p_object_version_number       out nocopy number)
6909 is
6910 --
6911   l_proc varchar2(80) := c_package||'update_yea_act';
6912 --
6913 begin
6914 --
6915   if g_debug then
6916     hr_utility.set_location(l_proc,0);
6917   end if;
6918 --
6919   copy_pai(
6920     p_assignment_action_id,
6921     p_effective_date,
6922     p_arch_assignment_action_id_o,
6923     'AAP',
6924     'JP_ITWB_YEA_ACT',
6925     p_action_information_id,
6926     p_object_version_number);
6927 --
6928   if g_debug then
6929     hr_utility.set_location(l_proc,10);
6930   end if;
6931 --
6932   if p_action_information_id is null
6933   or p_object_version_number is null then
6934   --
6935     if g_debug then
6936       hr_utility.set_location(l_proc,20);
6937     end if;
6938   --
6939     fnd_message.set_name('PAY','PAY_34985_INVALID_PAY_ACTION');
6940     fnd_message.raise_error;
6941   --
6942   else
6943   --
6944     if g_debug then
6945       hr_utility.set_location(l_proc,30);
6946     end if;
6947   --
6948     if to_char(p_effective_date,'MM') = to_char(p_proc_assact_date_o,'MM') then
6949     --
6950       p_object_version_number := p_object_version_number + 1;
6951     --
6952       update pay_action_information
6953       set    object_version_number = p_object_version_number,
6954              action_information1 = decode(nvl(action_information1,'X'),
6955                                      nvl(fnd_number.number_to_canonical(p_act),'X'),
6956                                      action_information1,
6957                                      fnd_number.number_to_canonical(p_act)),
6958              action_information2 = decode(nvl(action_information2,'X'),
6959                                      nvl(fnd_date.date_to_canonical(p_efd),'X'),
6960                                      action_information2,
6961                                      fnd_date.date_to_canonical(p_efd)),
6962              action_information3 = decode(nvl(action_information3,'X'),
6963                                      nvl(fnd_date.date_to_canonical(p_erd),'X'),
6964                                      action_information3,
6965                                      fnd_date.date_to_canonical(p_erd)),
6966              action_information4 = decode(nvl(action_information4,'X'),
6967                                      nvl(fnd_number.number_to_canonical(p_pay),'X'),
6968                                      action_information4,
6969                                      fnd_number.number_to_canonical(p_pay)),
6970              action_information5 = decode(nvl(action_information5,'X'),
6971                                      nvl(p_yea_type,'X'),
6972                                      action_information5,
6973                                      p_yea_type),
6974              action_information6 = decode(nvl(action_information6,'X'),
6975                                      nvl(p_yea_flag,'X'),
6976                                      action_information6,
6977                                      p_yea_flag)
6978       where  action_information_id = p_action_information_id
6979       and    object_version_number < p_object_version_number
6980       and    action_context_id = p_assignment_action_id
6981       and    action_context_type = 'AAP'
6982       and    action_information_category = 'JP_ITWB_YEA_ACT'
6983       and    (nvl(action_information1,'X')
6984               <> nvl(fnd_number.number_to_canonical(p_act),'X')
6985               or nvl(action_information2,'X')
6986               <> nvl(fnd_date.date_to_canonical(p_efd),'X')
6987               or nvl(action_information3,'X')
6988               <> nvl(fnd_date.date_to_canonical(p_erd),'X')
6989               or nvl(action_information4,'X')
6990               <> nvl(fnd_number.number_to_canonical(p_pay),'X')
6991               or nvl(action_information5,'X')
6992               <> nvl(p_yea_type,'X')
6993               or nvl(action_information6,'X')
6994               <> nvl(p_yea_flag,'X'));
6995     --
6996     end if;
6997   --
6998   end if;
6999 --
7000   if g_debug then
7001     hr_utility.set_location(l_proc,1000);
7002   end if;
7003 --
7004 end update_yea_act;
7005 --
7006 -- -------------------------------------------------------------------------
7007 -- add_yea_act
7008 -- -------------------------------------------------------------------------
7009 procedure add_yea_act(
7010   p_assignment_action_id        in number,
7011   p_effective_date              in date,
7012   p_arch_assignment_action_id_o in number,
7013   p_act                         in number,
7014   p_efd                         in date,
7015   p_erd                         in date,
7016   p_pay                         in number,
7017   p_yea_type                    in varchar2,
7018   p_yea_flag                    in varchar2,
7019   p_action_information_id       out nocopy number,
7020   p_object_version_number       out nocopy number)
7021 is
7022 --
7023   l_proc varchar2(80) := c_package||'add_yea_act';
7024 --
7025 begin
7026 --
7027   if g_debug then
7028     hr_utility.set_location(l_proc,0);
7029   end if;
7030 --
7031   copy_pai(
7032     p_assignment_action_id,
7033     p_effective_date,
7034     p_arch_assignment_action_id_o,
7035     'AAP',
7036     'JP_ITWB_YEA_ACT',
7037     p_action_information_id,
7038     p_object_version_number);
7039 --
7040   if g_debug then
7041     hr_utility.set_location(l_proc,10);
7042   end if;
7043 --
7044   if p_action_information_id is null
7045   or p_object_version_number is null then
7046   --
7047     if g_debug then
7048       hr_utility.set_location(l_proc,20);
7049     end if;
7050   --
7051     fnd_message.set_name('PAY','PAY_34985_INVALID_PAY_ACTION');
7052     fnd_message.raise_error;
7053   --
7054   else
7055   --
7056     if g_debug then
7057       hr_utility.set_location(l_proc,30);
7058     end if;
7059   --
7060     p_object_version_number := p_object_version_number + 1;
7061   --
7062     --update multiple column for new multiple month, else set previous data
7063     update pay_action_information
7064     set    object_version_number = p_object_version_number,
7065            action_information1 = decode(nvl(fnd_number.number_to_canonical(p_act),'X'),
7066                                    'X',action_information1,
7067                                    fnd_number.number_to_canonical(p_act)),
7068            action_information2 = decode(nvl(fnd_date.date_to_canonical(p_efd),'X'),
7069                                    'X',action_information2,
7070                                    fnd_date.date_to_canonical(p_efd)),
7071            action_information3 = decode(nvl(fnd_date.date_to_canonical(p_erd),'X'),
7072                                    'X',action_information3,
7073                                    fnd_date.date_to_canonical(p_erd)),
7074            action_information4 = decode(nvl(fnd_number.number_to_canonical(p_pay),'X'),
7075                                    'X',action_information4,
7076                                    fnd_number.number_to_canonical(p_pay)),
7077            action_information5 = decode(nvl(p_yea_type,'X'),
7078                                    'X',action_information5,
7079                                    p_yea_type),
7080            action_information6 = decode(nvl(p_yea_flag,'X'),
7081                                    'X',action_information6,
7082                                    p_yea_flag)
7083     where  action_information_id = p_action_information_id
7084     and    object_version_number < p_object_version_number
7085     and    action_context_id = p_assignment_action_id
7086     and    action_context_type = 'AAP'
7087     and    action_information_category = 'JP_ITWB_YEA_ACT';
7088   --
7089   end if;
7090 --
7091   if g_debug then
7092     hr_utility.set_location(l_proc,1000);
7093   end if;
7094 --
7095 end add_yea_act;
7096 --
7097 -- -------------------------------------------------------------------------
7098 -- create_yea_pay
7099 -- -------------------------------------------------------------------------
7100 procedure create_yea_pay(
7101   p_action_information_id       in number,
7102   p_assignment_action_id        in number,
7103   p_action_context_type         in varchar2,
7104   p_assignment_id               in number,
7105   p_effective_date              in date,
7106   p_action_information_category in varchar2,
7107   p_sal_txbl_mon                in number,
7108   p_sal_txbl_kind               in number,
7109   p_sal_txbl                    in number,
7110   p_bon_txbl_mon                in number,
7111   p_bon_txbl_kind               in number,
7112   p_bon_txbl                    in number,
7113   p_spb_txbl_mon                in number,
7114   p_spb_txbl_kind               in number,
7115   p_spb_txbl                    in number,
7116   p_bon_txbl_tot                in number,
7117   p_txbl                        in number,
7118   p_sal_itx                     in number,
7119   p_bon_itx                     in number,
7120   p_spb_itx                     in number,
7121   p_bon_itx_tot                 in number,
7122   p_withhold_itx                in number,
7123   p_object_version_number       out nocopy number)
7124 is
7125   l_proc varchar2(80) := c_package||'create_yea_pay';
7126 begin
7127 --
7128   if g_debug then
7129     hr_utility.set_location(l_proc,0);
7130   end if;
7131 --
7132   p_object_version_number := 1;
7133 --
7134   insert into pay_action_information(
7135     action_information_id,
7136     object_version_number,
7137     action_context_id,
7138     action_context_type,
7139     effective_date,
7140     assignment_id,
7141     action_information_category,
7142     action_information1,
7143     action_information2,
7144     action_information3,
7145     action_information4,
7146     action_information5,
7147     action_information6,
7148     action_information7,
7149     action_information8,
7150     action_information9,
7151     action_information10,
7152     action_information11,
7153     action_information12,
7154     action_information13,
7155     action_information14,
7156     action_information15,
7157     action_information16)
7158   values(
7159     p_action_information_id,
7160     p_object_version_number,
7161     p_assignment_action_id,
7162     p_action_context_type,
7163     p_effective_date,
7164     p_assignment_id,
7165     p_action_information_category,
7166     fnd_number.number_to_canonical(p_sal_txbl_mon),
7167     fnd_number.number_to_canonical(p_sal_txbl_kind),
7168     fnd_number.number_to_canonical(p_sal_txbl),
7169     fnd_number.number_to_canonical(p_bon_txbl_mon),
7170     fnd_number.number_to_canonical(p_bon_txbl_kind),
7171     fnd_number.number_to_canonical(p_bon_txbl),
7172     fnd_number.number_to_canonical(p_spb_txbl_mon),
7173     fnd_number.number_to_canonical(p_spb_txbl_kind),
7174     fnd_number.number_to_canonical(p_spb_txbl),
7175     fnd_number.number_to_canonical(p_bon_txbl_tot),
7176     fnd_number.number_to_canonical(p_txbl),
7177     fnd_number.number_to_canonical(p_sal_itx),
7178     fnd_number.number_to_canonical(p_bon_itx),
7179     fnd_number.number_to_canonical(p_spb_itx),
7180     fnd_number.number_to_canonical(p_bon_itx_tot),
7181     fnd_number.number_to_canonical(p_withhold_itx));
7182 --
7183   if g_debug then
7184     hr_utility.set_location(l_proc,1000);
7185   end if;
7186 --
7187 end create_yea_pay;
7188 --
7189 -- -------------------------------------------------------------------------
7190 -- update_yea_pay
7191 -- -------------------------------------------------------------------------
7192 procedure update_yea_pay(
7193   p_assignment_action_id        in number,
7194   p_effective_date              in date,
7195   p_arch_assignment_action_id_o in number,
7196   p_proc_assignment_action_id   in number,
7197   p_proc_assact_date_o          in date,
7198   p_sal_txbl_mon                in number,
7199   p_sal_txbl_kind               in number,
7200   p_sal_txbl                    in number,
7201   p_bon_txbl_mon                in number,
7202   p_bon_txbl_kind               in number,
7203   p_bon_txbl                    in number,
7204   p_spb_txbl_mon                in number,
7205   p_spb_txbl_kind               in number,
7206   p_spb_txbl                    in number,
7207   p_bon_txbl_tot                in number,
7208   p_txbl                        in number,
7209   p_sal_itx                     in number,
7210   p_bon_itx                     in number,
7211   p_spb_itx                     in number,
7212   p_bon_itx_tot                 in number,
7213   p_withhold_itx                in number,
7214   p_action_information_id       out nocopy number,
7215   p_object_version_number       out nocopy number)
7216 is
7217 --
7218   l_proc varchar2(80) := c_package||'update_yea_pay';
7219 --
7220 begin
7221 --
7222   if g_debug then
7223     hr_utility.set_location(l_proc,0);
7224   end if;
7225 --
7226   copy_pai(
7227     p_assignment_action_id,
7228     p_effective_date,
7229     p_arch_assignment_action_id_o,
7230     'AAP',
7231     'JP_ITWB_YEA_PAY',
7232     p_action_information_id,
7233     p_object_version_number);
7234 --
7235   if g_debug then
7236     hr_utility.set_location(l_proc,10);
7237   end if;
7238 --
7239   if p_action_information_id is null
7240   or p_object_version_number is null then
7241   --
7242     if g_debug then
7243       hr_utility.set_location(l_proc,20);
7244     end if;
7245   --
7246     fnd_message.set_name('PAY','PAY_34985_INVALID_PAY_ACTION');
7247     fnd_message.raise_error;
7248   --
7249   else
7250   --
7251     if g_debug then
7252       hr_utility.set_location(l_proc,30);
7253     end if;
7254   --
7255     if to_char(p_effective_date,'MM') = to_char(p_proc_assact_date_o,'MM') then
7256     --
7257       p_object_version_number := p_object_version_number + 1;
7258     --
7259       update pay_action_information
7260       set    object_version_number = p_object_version_number,
7261              action_information1 = decode(nvl(action_information1,'X'),
7262                                      nvl(fnd_number.number_to_canonical(p_sal_txbl_mon),'X'),
7263                                      action_information1,
7264                                      fnd_number.number_to_canonical(p_sal_txbl_mon)),
7265              action_information2 = decode(nvl(action_information2,'X'),
7266                                      nvl(fnd_number.number_to_canonical(p_sal_txbl_kind),'X'),
7267                                      action_information2,
7268                                      fnd_number.number_to_canonical(p_sal_txbl_kind)),
7269              action_information3 = decode(nvl(action_information3,'X'),
7270                                      nvl(fnd_number.number_to_canonical(p_sal_txbl),'X'),
7271                                      action_information3,
7272                                      fnd_number.number_to_canonical(p_sal_txbl)),
7273              action_information4 = decode(nvl(action_information4,'X'),
7274                                      nvl(fnd_number.number_to_canonical(p_bon_txbl_mon),'X'),
7275                                      action_information4,
7276                                      fnd_number.number_to_canonical(p_bon_txbl_mon)),
7277              action_information5 = decode(nvl(action_information5,'X'),
7278                                      nvl(fnd_number.number_to_canonical(p_bon_txbl_kind),'X'),
7279                                      action_information5,
7280                                      fnd_number.number_to_canonical(p_bon_txbl_kind)),
7281              action_information6 = decode(nvl(action_information6,'X'),
7282                                      nvl(fnd_number.number_to_canonical(p_bon_txbl),'X'),
7283                                      action_information6,
7284                                      fnd_number.number_to_canonical(p_bon_txbl)),
7285              action_information7 = decode(nvl(action_information7,'X'),
7286                                      nvl(fnd_number.number_to_canonical(p_spb_txbl_mon),'X'),
7287                                      action_information7,
7288                                      fnd_number.number_to_canonical(p_spb_txbl_mon)),
7289              action_information8 = decode(nvl(action_information8,'X'),
7290                                      nvl(fnd_number.number_to_canonical(p_spb_txbl_kind),'X'),
7291                                      action_information8,
7292                                      fnd_number.number_to_canonical(p_spb_txbl_kind)),
7293              action_information9 = decode(nvl(action_information9,'X'),
7294                                      nvl(fnd_number.number_to_canonical(p_spb_txbl),'X'),
7295                                      action_information9,
7296                                      fnd_number.number_to_canonical(p_spb_txbl)),
7297              action_information10 = decode(nvl(action_information10,'X'),
7298                                      nvl(fnd_number.number_to_canonical(p_bon_txbl_tot),'X'),
7299                                      action_information10,
7300                                      fnd_number.number_to_canonical(p_bon_txbl_tot)),
7301              action_information11 = decode(nvl(action_information11,'X'),
7302                                      nvl(fnd_number.number_to_canonical(p_txbl),'X'),
7303                                      action_information11,
7304                                      fnd_number.number_to_canonical(p_txbl)),
7305              action_information12 = decode(nvl(action_information12,'X'),
7306                                      nvl(fnd_number.number_to_canonical(p_sal_itx),'X'),
7307                                      action_information12,
7308                                      fnd_number.number_to_canonical(p_sal_itx)),
7309              action_information13 = decode(nvl(action_information13,'X'),
7310                                      nvl(fnd_number.number_to_canonical(p_bon_itx),'X'),
7311                                      action_information13,
7312                                      fnd_number.number_to_canonical(p_bon_itx)),
7313              action_information14 = decode(nvl(action_information14,'X'),
7314                                      nvl(fnd_number.number_to_canonical(p_spb_itx),'X'),
7315                                      action_information14,
7316                                      fnd_number.number_to_canonical(p_spb_itx)),
7317              action_information15 = decode(nvl(action_information15,'X'),
7318                                      nvl(fnd_number.number_to_canonical(p_bon_itx_tot),'X'),
7319                                      action_information15,
7320                                      fnd_number.number_to_canonical(p_bon_itx_tot)),
7321              action_information16 = decode(nvl(action_information16,'X'),
7322                                      nvl(fnd_number.number_to_canonical(p_withhold_itx),'X'),
7323                                      action_information16,
7324                                      fnd_number.number_to_canonical(p_withhold_itx))
7325       where  action_information_id = p_action_information_id
7326       and    object_version_number < p_object_version_number
7327       and    action_context_id = p_assignment_action_id
7328       and    action_context_type = 'AAP'
7329       and    action_information_category = 'JP_ITWB_YEA_PAY'
7330       and    (nvl(action_information1,'X')
7331               <> nvl(fnd_number.number_to_canonical(p_sal_txbl_mon),'X')
7332               or nvl(action_information2,'X')
7333               <> nvl(fnd_number.number_to_canonical(p_sal_txbl_kind),'X')
7334               or nvl(action_information3,'X')
7335               <> nvl(fnd_number.number_to_canonical(p_sal_txbl),'X')
7336               or nvl(action_information4,'X')
7337               <> nvl(fnd_number.number_to_canonical(p_bon_txbl_mon),'X')
7338               or nvl(action_information5,'X')
7339               <> nvl(fnd_number.number_to_canonical(p_bon_txbl_kind),'X')
7340               or nvl(action_information6,'X')
7341               <> nvl(fnd_number.number_to_canonical(p_bon_txbl),'X')
7342               or nvl(action_information7,'X')
7343               <> nvl(fnd_number.number_to_canonical(p_spb_txbl_mon),'X')
7344               or nvl(action_information8,'X')
7345               <> nvl(fnd_number.number_to_canonical(p_spb_txbl_kind),'X')
7346               or nvl(action_information9,'X')
7347               <> nvl(fnd_number.number_to_canonical(p_spb_txbl),'X')
7348               or nvl(action_information10,'X')
7349               <> nvl(fnd_number.number_to_canonical(p_bon_txbl_tot),'X')
7350               or nvl(action_information11,'X')
7351               <> nvl(fnd_number.number_to_canonical(p_txbl),'X')
7352               or nvl(action_information12,'X')
7353               <> nvl(fnd_number.number_to_canonical(p_sal_itx),'X')
7354               or nvl(action_information13,'X')
7355               <> nvl(fnd_number.number_to_canonical(p_bon_itx),'X')
7356               or nvl(action_information14,'X')
7357               <> nvl(fnd_number.number_to_canonical(p_spb_itx),'X')
7358               or nvl(action_information15,'X')
7359               <> nvl(fnd_number.number_to_canonical(p_bon_itx_tot),'X')
7360               or nvl(action_information16,'X')
7361               <> nvl(fnd_number.number_to_canonical(p_withhold_itx),'X'));
7362     --
7363     end if;
7364   --
7365   end if;
7366 --
7367   if g_debug then
7368     hr_utility.set_location(l_proc,1000);
7369   end if;
7370 --
7371 end update_yea_pay;
7372 --
7373 -- -------------------------------------------------------------------------
7374 -- add_yea_pay
7375 -- -------------------------------------------------------------------------
7376 procedure add_yea_pay(
7377   p_assignment_action_id        in number,
7378   p_effective_date              in date,
7379   p_arch_assignment_action_id_o in number,
7380   p_sal_txbl_mon                in number,
7381   p_sal_txbl_kind               in number,
7382   p_sal_txbl                    in number,
7383   p_bon_txbl_mon                in number,
7384   p_bon_txbl_kind               in number,
7385   p_bon_txbl                    in number,
7386   p_spb_txbl_mon                in number,
7387   p_spb_txbl_kind               in number,
7388   p_spb_txbl                    in number,
7389   p_bon_txbl_tot                in number,
7390   p_txbl                        in number,
7391   p_sal_itx                     in number,
7392   p_bon_itx                     in number,
7393   p_spb_itx                     in number,
7394   p_bon_itx_tot                 in number,
7395   p_withhold_itx                in number,
7396   p_action_information_id       out nocopy number,
7397   p_object_version_number       out nocopy number)
7398 is
7399 --
7400   l_proc varchar2(80) := c_package||'add_yea_pay';
7401 --
7402 begin
7403 --
7404   if g_debug then
7405     hr_utility.set_location(l_proc,0);
7406   end if;
7407 --
7408   copy_pai(
7409     p_assignment_action_id,
7410     p_effective_date,
7411     p_arch_assignment_action_id_o,
7412     'AAP',
7413     'JP_ITWB_YEA_PAY',
7414     p_action_information_id,
7415     p_object_version_number);
7416 --
7417   if g_debug then
7418     hr_utility.set_location(l_proc,10);
7419   end if;
7420 --
7421   if p_action_information_id is null
7422   or p_object_version_number is null then
7423   --
7424     if g_debug then
7425       hr_utility.set_location(l_proc,20);
7426     end if;
7427   --
7428     fnd_message.set_name('PAY','PAY_34985_INVALID_PAY_ACTION');
7429     fnd_message.raise_error;
7430   --
7431   else
7432   --
7433     if g_debug then
7434       hr_utility.set_location(l_proc,30);
7435     end if;
7436   --
7437     p_object_version_number := p_object_version_number + 1;
7438   --
7439     --update multiple column for new multiple month, else set previous data
7440     update pay_action_information
7441     set    object_version_number = p_object_version_number,
7442            action_information1 = decode(nvl(fnd_number.number_to_canonical(p_sal_txbl_mon),'X'),
7443                                    'X',action_information1,
7444                                    fnd_number.number_to_canonical(p_sal_txbl_mon)),
7445            action_information2 = decode(nvl(fnd_number.number_to_canonical(p_sal_txbl_kind),'X'),
7446                                    'X',action_information2,
7447                                    fnd_number.number_to_canonical(p_sal_txbl_kind)),
7448            action_information3 = decode(nvl(fnd_number.number_to_canonical(p_sal_txbl),'X'),
7449                                    'X',action_information3,
7450                                    fnd_number.number_to_canonical(p_sal_txbl)),
7451            action_information4 = decode(nvl(fnd_number.number_to_canonical(p_bon_txbl_mon),'X'),
7452                                    'X',action_information4,
7453                                    fnd_number.number_to_canonical(p_bon_txbl_mon)),
7454            action_information5 = decode(nvl(fnd_number.number_to_canonical(p_bon_txbl_kind),'X'),
7455                                    'X',action_information5,
7456                                    fnd_number.number_to_canonical(p_bon_txbl_kind)),
7457            action_information6 = decode(nvl(fnd_number.number_to_canonical(p_bon_txbl),'X'),
7458                                    'X',action_information6,
7459                                    fnd_number.number_to_canonical(p_bon_txbl)),
7460            action_information7 = decode(nvl(fnd_number.number_to_canonical(p_spb_txbl_mon),'X'),
7461                                    'X',action_information7,
7462                                    fnd_number.number_to_canonical(p_spb_txbl_mon)),
7463            action_information8 = decode(nvl(fnd_number.number_to_canonical(p_spb_txbl_kind),'X'),
7464                                    'X',action_information8,
7465                                    fnd_number.number_to_canonical(p_spb_txbl_kind)),
7466            action_information9 = decode(nvl(fnd_number.number_to_canonical(p_spb_txbl),'X'),
7467                                    'X',action_information9,
7468                                    fnd_number.number_to_canonical(p_spb_txbl)),
7469            action_information10 = decode(nvl(fnd_number.number_to_canonical(p_bon_txbl_tot),'X'),
7470                                    'X',action_information10,
7471                                    fnd_number.number_to_canonical(p_bon_txbl_tot)),
7472            action_information11 = decode(nvl(fnd_number.number_to_canonical(p_txbl),'X'),
7473                                    'X',action_information11,
7474                                    fnd_number.number_to_canonical(p_txbl)),
7475            action_information12 = decode(nvl(fnd_number.number_to_canonical(p_sal_itx),'X'),
7476                                    'X',action_information12,
7477                                    fnd_number.number_to_canonical(p_sal_itx)),
7478            action_information13 = decode(nvl(fnd_number.number_to_canonical(p_bon_itx),'X'),
7479                                    'X',action_information13,
7480                                    fnd_number.number_to_canonical(p_bon_itx)),
7481            action_information14 = decode(nvl(fnd_number.number_to_canonical(p_spb_itx),'X'),
7482                                    'X',action_information14,
7483                                    fnd_number.number_to_canonical(p_spb_itx)),
7484            action_information15 = decode(nvl(fnd_number.number_to_canonical(p_bon_itx_tot),'X'),
7485                                    'X',action_information15,
7486                                    fnd_number.number_to_canonical(p_bon_itx_tot)),
7487            action_information16 = decode(nvl(fnd_number.number_to_canonical(p_withhold_itx),'X'),
7488                                    'X',action_information16,
7489                                    fnd_number.number_to_canonical(p_withhold_itx))
7490     where  action_information_id = p_action_information_id
7491     and    object_version_number < p_object_version_number
7492     and    action_context_id = p_assignment_action_id
7493     and    action_context_type = 'AAP'
7494     and    action_information_category = 'JP_ITWB_YEA_PAY';
7495   --
7496   end if;
7497 --
7498   if g_debug then
7499     hr_utility.set_location(l_proc,1000);
7500   end if;
7501 --
7502 end add_yea_pay;
7503 --
7504 -- -------------------------------------------------------------------------
7505 -- create_yea_dct
7506 -- -------------------------------------------------------------------------
7507 procedure create_yea_dct(
7508   p_action_information_id       in number,
7509   p_assignment_action_id        in number,
7510   p_action_context_type         in varchar2,
7511   p_assignment_id               in number,
7512   p_effective_date              in date,
7513   p_action_information_category in varchar2,
7514   p_sal_dct_si_prem             in number,
7515   p_dec_si_prem                 in number,
7516   p_dec_small_comp_mut_aid_prem in number,
7517   p_life_ins_prem_exm           in number,
7518   p_earthquake_ins_prem_exm     in number,
7519   p_spouse_sp_exm               in number,
7520   p_basic_exm                   in number,
7521   p_gen_spouse_exm              in number,
7522   p_elder_spouse_exm            in number,
7523   p_gen_dep_exm                 in number,
7524   p_specific_dep_exm            in number,
7525   p_junior_dep_exm              in number,
7526   p_elder_dep_exm               in number,
7527   p_elder_parent_lt_exm         in number,
7528   p_gen_disabled_exm            in number,
7529   p_sev_disabled_exm            in number,
7530   p_sev_disabled_lt_exm         in number,
7531   p_elder_exm                   in number,
7532   p_widow_exm                   in number,
7533   p_sp_widow_exm                in number,
7534   p_working_student_exm         in number,
7535   p_dep_exm                     in number,
7536   p_spouse_income               in number,
7537   p_individual_pension_prem     in number,
7538   p_long_term_nonlife_ins_prem  in number,
7539   p_small_comp_mut_aid_prem     in number,
7540   p_national_pension_prem       in number,
7541   p_income_exm                  in number,
7542   p_object_version_number       out nocopy number)
7543 is
7544   l_proc varchar2(80) := c_package||'create_yea_dct';
7545 begin
7546 --
7547   if g_debug then
7548     hr_utility.set_location(l_proc,0);
7549   end if;
7550 --
7551   p_object_version_number := 1;
7552 --
7553   insert into pay_action_information(
7554     action_information_id,
7555     object_version_number,
7556     action_context_id,
7557     action_context_type,
7558     effective_date,
7559     assignment_id,
7560     action_information_category,
7561     action_information1,
7562     action_information2,
7563     action_information3,
7564     action_information4,
7565     action_information5,
7566     action_information6,
7567     action_information7,
7568     action_information8,
7569     action_information9,
7570     action_information10,
7571     action_information11,
7572     action_information12,
7573     action_information13,
7574     action_information14,
7575     action_information15,
7576     action_information16,
7577     action_information17,
7578     action_information18,
7579     action_information19,
7580     action_information20,
7581     action_information21,
7582     action_information22,
7583     action_information23,
7584     action_information24,
7585     action_information25,
7586     action_information26,
7587     action_information27,
7588     action_information28)
7589   values(
7590     p_action_information_id,
7591     p_object_version_number,
7592     p_assignment_action_id,
7593     p_action_context_type,
7594     p_effective_date,
7595     p_assignment_id,
7596     p_action_information_category,
7597     fnd_number.number_to_canonical(p_sal_dct_si_prem),
7598     fnd_number.number_to_canonical(p_dec_si_prem),
7599     fnd_number.number_to_canonical(p_dec_small_comp_mut_aid_prem),
7600     fnd_number.number_to_canonical(p_life_ins_prem_exm),
7601     fnd_number.number_to_canonical(p_earthquake_ins_prem_exm),
7602     fnd_number.number_to_canonical(p_spouse_sp_exm),
7603     fnd_number.number_to_canonical(p_basic_exm),
7604     fnd_number.number_to_canonical(p_gen_spouse_exm),
7605     fnd_number.number_to_canonical(p_elder_spouse_exm),
7606     fnd_number.number_to_canonical(p_gen_dep_exm),
7607     fnd_number.number_to_canonical(p_specific_dep_exm),
7608     fnd_number.number_to_canonical(p_junior_dep_exm),
7609     fnd_number.number_to_canonical(p_elder_dep_exm),
7610     fnd_number.number_to_canonical(p_elder_parent_lt_exm),
7611     fnd_number.number_to_canonical(p_gen_disabled_exm),
7612     fnd_number.number_to_canonical(p_sev_disabled_exm),
7613     fnd_number.number_to_canonical(p_sev_disabled_lt_exm),
7614     fnd_number.number_to_canonical(p_elder_exm),
7615     fnd_number.number_to_canonical(p_widow_exm),
7616     fnd_number.number_to_canonical(p_sp_widow_exm),
7617     fnd_number.number_to_canonical(p_working_student_exm),
7618     fnd_number.number_to_canonical(p_dep_exm),
7619     fnd_number.number_to_canonical(p_spouse_income),
7620     fnd_number.number_to_canonical(p_individual_pension_prem),
7621     fnd_number.number_to_canonical(p_long_term_nonlife_ins_prem),
7622     fnd_number.number_to_canonical(p_small_comp_mut_aid_prem),
7623     fnd_number.number_to_canonical(p_national_pension_prem),
7624     fnd_number.number_to_canonical(p_income_exm));
7625 --
7626   if g_debug then
7627     hr_utility.set_location(l_proc,1000);
7628   end if;
7629 --
7630 end create_yea_dct;
7631 --
7632 -- -------------------------------------------------------------------------
7633 -- update_yea_dct
7634 -- -------------------------------------------------------------------------
7635 procedure update_yea_dct(
7636   p_assignment_action_id        in number,
7637   p_effective_date              in date,
7638   p_arch_assignment_action_id_o in number,
7639   p_proc_assignment_action_id   in number,
7640   p_proc_assact_date_o          in date,
7641   p_sal_dct_si_prem             in number,
7642   p_dec_si_prem                 in number,
7643   p_dec_small_comp_mut_aid_prem in number,
7644   p_life_ins_prem_exm           in number,
7645   p_earthquake_ins_prem_exm     in number,
7646   p_spouse_sp_exm               in number,
7647   p_basic_exm                   in number,
7648   p_gen_spouse_exm              in number,
7649   p_elder_spouse_exm            in number,
7650   p_gen_dep_exm                 in number,
7651   p_specific_dep_exm            in number,
7652   p_junior_dep_exm              in number,
7653   p_elder_dep_exm               in number,
7654   p_elder_parent_lt_exm         in number,
7655   p_gen_disabled_exm            in number,
7656   p_sev_disabled_exm            in number,
7657   p_sev_disabled_lt_exm         in number,
7658   p_elder_exm                   in number,
7659   p_widow_exm                   in number,
7660   p_sp_widow_exm                in number,
7661   p_working_student_exm         in number,
7662   p_dep_exm                     in number,
7663   p_spouse_income               in number,
7664   p_individual_pension_prem     in number,
7665   p_long_term_nonlife_ins_prem  in number,
7666   p_small_comp_mut_aid_prem     in number,
7667   p_national_pension_prem       in number,
7668   p_income_exm                  in number,
7669   p_action_information_id       out nocopy number,
7670   p_object_version_number       out nocopy number)
7671 is
7672 --
7673   l_proc varchar2(80) := c_package||'update_yea_dct';
7674 --
7675 begin
7676 --
7677   if g_debug then
7678     hr_utility.set_location(l_proc,0);
7679   end if;
7680 --
7681   copy_pai(
7682     p_assignment_action_id,
7683     p_effective_date,
7684     p_arch_assignment_action_id_o,
7685     'AAP',
7686     'JP_ITWB_YEA_DCT',
7687     p_action_information_id,
7688     p_object_version_number);
7689 --
7690   if g_debug then
7691     hr_utility.set_location(l_proc,10);
7692   end if;
7693 --
7694   if p_action_information_id is null
7695   or p_object_version_number is null then
7696   --
7697     if g_debug then
7698       hr_utility.set_location(l_proc,20);
7699     end if;
7700   --
7701     fnd_message.set_name('PAY','PAY_34985_INVALID_PAY_ACTION');
7702     fnd_message.raise_error;
7703   --
7704   else
7705   --
7706     if g_debug then
7707       hr_utility.set_location(l_proc,30);
7708     end if;
7709   --
7710     if to_char(p_effective_date,'MM') = to_char(p_proc_assact_date_o,'MM') then
7711     --
7712       p_object_version_number := p_object_version_number + 1;
7713     --
7714       update pay_action_information
7715       set    object_version_number = p_object_version_number,
7716              action_information1 = decode(nvl(action_information1,'X'),
7717                                      nvl(fnd_number.number_to_canonical(p_sal_dct_si_prem),'X'),
7718                                      action_information1,
7719                                      fnd_number.number_to_canonical(p_sal_dct_si_prem)),
7720              action_information2 = decode(nvl(action_information2,'X'),
7721                                      nvl(fnd_number.number_to_canonical(p_dec_si_prem),'X'),
7722                                      action_information2,
7723                                      fnd_number.number_to_canonical(p_dec_si_prem)),
7724              action_information3 = decode(nvl(action_information3,'X'),
7725                                      nvl(fnd_number.number_to_canonical(p_dec_small_comp_mut_aid_prem),'X'),
7726                                      action_information3,
7727                                      fnd_number.number_to_canonical(p_dec_small_comp_mut_aid_prem)),
7728              action_information4 = decode(nvl(action_information4,'X'),
7729                                      nvl(fnd_number.number_to_canonical(p_life_ins_prem_exm),'X'),
7730                                      action_information4,
7731                                      fnd_number.number_to_canonical(p_life_ins_prem_exm)),
7732              action_information5 = decode(nvl(action_information5,'X'),
7733                                      nvl(fnd_number.number_to_canonical(p_earthquake_ins_prem_exm),'X'),
7734                                      action_information5,
7735                                      fnd_number.number_to_canonical(p_earthquake_ins_prem_exm)),
7736              action_information6 = decode(nvl(action_information6,'X'),
7737                                      nvl(fnd_number.number_to_canonical(p_spouse_sp_exm),'X'),
7738                                      action_information6,
7739                                      fnd_number.number_to_canonical(p_spouse_sp_exm)),
7740              action_information7 = decode(nvl(action_information7,'X'),
7741                                      nvl(fnd_number.number_to_canonical(p_basic_exm),'X'),
7742                                      action_information7,
7743                                      fnd_number.number_to_canonical(p_basic_exm)),
7744              action_information8 = decode(nvl(action_information8,'X'),
7745                                      nvl(fnd_number.number_to_canonical(p_gen_spouse_exm),'X'),
7746                                      action_information8,
7747                                      fnd_number.number_to_canonical(p_gen_spouse_exm)),
7748              action_information9 = decode(nvl(action_information9,'X'),
7749                                      nvl(fnd_number.number_to_canonical(p_elder_spouse_exm),'X'),
7750                                      action_information9,
7751                                      fnd_number.number_to_canonical(p_elder_spouse_exm)),
7752              action_information10 = decode(nvl(action_information10,'X'),
7753                                      nvl(fnd_number.number_to_canonical(p_gen_dep_exm),'X'),
7754                                      action_information10,
7755                                      fnd_number.number_to_canonical(p_gen_dep_exm)),
7756              action_information11 = decode(nvl(action_information11,'X'),
7757                                      nvl(fnd_number.number_to_canonical(p_specific_dep_exm),'X'),
7758                                      action_information11,
7759                                      fnd_number.number_to_canonical(p_specific_dep_exm)),
7760              action_information12 = decode(nvl(action_information12,'X'),
7761                                      nvl(fnd_number.number_to_canonical(p_junior_dep_exm),'X'),
7762                                      action_information12,
7763                                      fnd_number.number_to_canonical(p_junior_dep_exm)),
7764              action_information13 = decode(nvl(action_information13,'X'),
7765                                      nvl(fnd_number.number_to_canonical(p_elder_dep_exm),'X'),
7766                                      action_information13,
7767                                      fnd_number.number_to_canonical(p_elder_dep_exm)),
7768              action_information14 = decode(nvl(action_information14,'X'),
7769                                      nvl(fnd_number.number_to_canonical(p_elder_parent_lt_exm),'X'),
7770                                      action_information14,
7771                                      fnd_number.number_to_canonical(p_elder_parent_lt_exm)),
7772              action_information15 = decode(nvl(action_information15,'X'),
7773                                      nvl(fnd_number.number_to_canonical(p_gen_disabled_exm),'X'),
7774                                      action_information15,
7775                                      fnd_number.number_to_canonical(p_gen_disabled_exm)),
7776              action_information16 = decode(nvl(action_information16,'X'),
7777                                      nvl(fnd_number.number_to_canonical(p_sev_disabled_exm),'X'),
7778                                      action_information16,
7779                                      fnd_number.number_to_canonical(p_sev_disabled_exm)),
7780              action_information17 = decode(nvl(action_information17,'X'),
7781                                      nvl(fnd_number.number_to_canonical(p_sev_disabled_lt_exm),'X'),
7782                                      action_information17,
7783                                      fnd_number.number_to_canonical(p_sev_disabled_lt_exm)),
7784              action_information18 = decode(nvl(action_information18,'X'),
7785                                      nvl(fnd_number.number_to_canonical(p_elder_exm),'X'),
7786                                      action_information18,
7787                                      fnd_number.number_to_canonical(p_elder_exm)),
7788              action_information19 = decode(nvl(action_information19,'X'),
7789                                      nvl(fnd_number.number_to_canonical(p_widow_exm),'X'),
7790                                      action_information19,
7791                                      fnd_number.number_to_canonical(p_widow_exm)),
7792              action_information20 = decode(nvl(action_information20,'X'),
7793                                      nvl(fnd_number.number_to_canonical(p_sp_widow_exm),'X'),
7794                                      action_information20,
7795                                      fnd_number.number_to_canonical(p_sp_widow_exm)),
7796              action_information21 = decode(nvl(action_information21,'X'),
7797                                      nvl(fnd_number.number_to_canonical(p_working_student_exm),'X'),
7798                                      action_information21,
7799                                      fnd_number.number_to_canonical(p_working_student_exm)),
7800              action_information22 = decode(nvl(action_information22,'X'),
7801                                      nvl(fnd_number.number_to_canonical(p_dep_exm),'X'),
7802                                      action_information22,
7803                                      fnd_number.number_to_canonical(p_dep_exm)),
7804              action_information23 = decode(nvl(action_information23,'X'),
7805                                      nvl(fnd_number.number_to_canonical(p_spouse_income),'X'),
7806                                      action_information23,
7807                                      fnd_number.number_to_canonical(p_spouse_income)),
7808              action_information24 = decode(nvl(action_information24,'X'),
7809                                      nvl(fnd_number.number_to_canonical(p_individual_pension_prem),'X'),
7810                                      action_information24,
7811                                      fnd_number.number_to_canonical(p_individual_pension_prem)),
7812              action_information25 = decode(nvl(action_information25,'X'),
7813                                      nvl(fnd_number.number_to_canonical(p_long_term_nonlife_ins_prem),'X'),
7814                                      action_information25,
7815                                      fnd_number.number_to_canonical(p_long_term_nonlife_ins_prem)),
7816              action_information26 = decode(nvl(action_information26,'X'),
7817                                      nvl(fnd_number.number_to_canonical(p_small_comp_mut_aid_prem),'X'),
7818                                      action_information26,
7819                                      fnd_number.number_to_canonical(p_small_comp_mut_aid_prem)),
7820              action_information27 = decode(nvl(action_information27,'X'),
7821                                      nvl(fnd_number.number_to_canonical(p_national_pension_prem),'X'),
7822                                      action_information27,
7823                                      fnd_number.number_to_canonical(p_national_pension_prem)),
7824              action_information28 = decode(nvl(action_information28,'X'),
7825                                      nvl(fnd_number.number_to_canonical(p_income_exm),'X'),
7826                                      action_information28,
7827                                      fnd_number.number_to_canonical(p_income_exm))
7828       where  action_information_id = p_action_information_id
7829       and    object_version_number < p_object_version_number
7830       and    action_context_id = p_assignment_action_id
7831       and    action_context_type = 'AAP'
7832       and    action_information_category = 'JP_ITWB_YEA_DCT'
7833       and    (nvl(action_information1,'X')
7834               <> nvl(fnd_number.number_to_canonical(p_sal_dct_si_prem),'X')
7835               or nvl(action_information2,'X')
7836               <> nvl(fnd_number.number_to_canonical(p_dec_si_prem),'X')
7837               or nvl(action_information3,'X')
7838               <> nvl(fnd_number.number_to_canonical(p_dec_small_comp_mut_aid_prem),'X')
7839               or nvl(action_information4,'X')
7840               <> nvl(fnd_number.number_to_canonical(p_life_ins_prem_exm),'X')
7841               or nvl(action_information5,'X')
7842               <> nvl(fnd_number.number_to_canonical(p_earthquake_ins_prem_exm),'X')
7843               or nvl(action_information6,'X')
7844               <> nvl(fnd_number.number_to_canonical(p_spouse_sp_exm),'X')
7845               or nvl(action_information7,'X')
7846               <> nvl(fnd_number.number_to_canonical(p_basic_exm),'X')
7847               or nvl(action_information8,'X')
7848               <> nvl(fnd_number.number_to_canonical(p_gen_spouse_exm),'X')
7849               or nvl(action_information9,'X')
7850               <> nvl(fnd_number.number_to_canonical(p_elder_spouse_exm),'X')
7851               or nvl(action_information10,'X')
7852               <> nvl(fnd_number.number_to_canonical(p_gen_dep_exm),'X')
7853               or nvl(action_information11,'X')
7854               <> nvl(fnd_number.number_to_canonical(p_specific_dep_exm),'X')
7855               or nvl(action_information12,'X')
7856               <> nvl(fnd_number.number_to_canonical(p_junior_dep_exm),'X')
7857               or nvl(action_information13,'X')
7858               <> nvl(fnd_number.number_to_canonical(p_elder_dep_exm),'X')
7859               or nvl(action_information14,'X')
7860               <> nvl(fnd_number.number_to_canonical(p_elder_parent_lt_exm),'X')
7861               or nvl(action_information15,'X')
7862               <> nvl(fnd_number.number_to_canonical(p_gen_disabled_exm),'X')
7863               or nvl(action_information16,'X')
7864               <> nvl(fnd_number.number_to_canonical(p_sev_disabled_exm),'X')
7865               or nvl(action_information17,'X')
7866               <> nvl(fnd_number.number_to_canonical(p_sev_disabled_lt_exm),'X')
7867               or nvl(action_information18,'X')
7868               <> nvl(fnd_number.number_to_canonical(p_elder_exm),'X')
7869               or nvl(action_information19,'X')
7870               <> nvl(fnd_number.number_to_canonical(p_widow_exm),'X')
7871               or nvl(action_information20,'X')
7872               <> nvl(fnd_number.number_to_canonical(p_sp_widow_exm),'X')
7873               or nvl(action_information21,'X')
7874               <> nvl(fnd_number.number_to_canonical(p_working_student_exm),'X')
7875               or nvl(action_information22,'X')
7876               <> nvl(fnd_number.number_to_canonical(p_dep_exm),'X')
7877               or nvl(action_information23,'X')
7878               <> nvl(fnd_number.number_to_canonical(p_spouse_income),'X')
7879               or nvl(action_information24,'X')
7880               <> nvl(fnd_number.number_to_canonical(p_individual_pension_prem),'X')
7881               or nvl(action_information25,'X')
7882               <> nvl(fnd_number.number_to_canonical(p_long_term_nonlife_ins_prem),'X')
7883               or nvl(action_information26,'X')
7884               <> nvl(fnd_number.number_to_canonical(p_small_comp_mut_aid_prem),'X')
7885               or nvl(action_information27,'X')
7886               <> nvl(fnd_number.number_to_canonical(p_national_pension_prem),'X')
7887               or nvl(action_information28,'X')
7888               <> nvl(fnd_number.number_to_canonical(p_income_exm),'X'));
7889     --
7890     end if;
7891   --
7892   end if;
7893 --
7894   if g_debug then
7895     hr_utility.set_location(l_proc,1000);
7896   end if;
7897 --
7898 end update_yea_dct;
7899 --
7900 -- -------------------------------------------------------------------------
7901 -- add_yea_dct
7902 -- -------------------------------------------------------------------------
7903 procedure add_yea_dct(
7904   p_assignment_action_id        in number,
7905   p_effective_date              in date,
7906   p_arch_assignment_action_id_o in number,
7907   p_sal_dct_si_prem             in number,
7908   p_dec_si_prem                 in number,
7909   p_dec_small_comp_mut_aid_prem in number,
7910   p_life_ins_prem_exm           in number,
7911   p_earthquake_ins_prem_exm     in number,
7912   p_spouse_sp_exm               in number,
7913   p_basic_exm                   in number,
7914   p_gen_spouse_exm              in number,
7915   p_elder_spouse_exm            in number,
7916   p_gen_dep_exm                 in number,
7917   p_specific_dep_exm            in number,
7918   p_junior_dep_exm              in number,
7919   p_elder_dep_exm               in number,
7920   p_elder_parent_lt_exm         in number,
7921   p_gen_disabled_exm            in number,
7922   p_sev_disabled_exm            in number,
7923   p_sev_disabled_lt_exm         in number,
7924   p_elder_exm                   in number,
7925   p_widow_exm                   in number,
7926   p_sp_widow_exm                in number,
7927   p_working_student_exm         in number,
7928   p_dep_exm                     in number,
7929   p_spouse_income               in number,
7930   p_individual_pension_prem     in number,
7931   p_long_term_nonlife_ins_prem  in number,
7932   p_small_comp_mut_aid_prem     in number,
7933   p_national_pension_prem       in number,
7934   p_income_exm                  in number,
7935   p_action_information_id       out nocopy number,
7936   p_object_version_number       out nocopy number)
7937 is
7938 --
7939   l_proc varchar2(80) := c_package||'add_yea_dct';
7940 --
7941 begin
7942 --
7943   if g_debug then
7944     hr_utility.set_location(l_proc,0);
7945   end if;
7946 --
7947   copy_pai(
7948     p_assignment_action_id,
7949     p_effective_date,
7950     p_arch_assignment_action_id_o,
7951     'AAP',
7952     'JP_ITWB_YEA_DCT',
7953     p_action_information_id,
7954     p_object_version_number);
7955 --
7956   if g_debug then
7957     hr_utility.set_location(l_proc,10);
7958   end if;
7959 --
7960   if p_action_information_id is null
7961   or p_object_version_number is null then
7962   --
7963     if g_debug then
7964       hr_utility.set_location(l_proc,20);
7965     end if;
7966   --
7967     fnd_message.set_name('PAY','PAY_34985_INVALID_PAY_ACTION');
7968     fnd_message.raise_error;
7969   --
7970   else
7971   --
7972     if g_debug then
7973       hr_utility.set_location(l_proc,30);
7974     end if;
7975   --
7976     p_object_version_number := p_object_version_number + 1;
7977   --
7978     --update multiple column for new multiple month, else set previous data
7979     update pay_action_information
7980     set    object_version_number = p_object_version_number,
7981            action_information1 = decode(nvl(fnd_number.number_to_canonical(p_sal_dct_si_prem),'X'),
7982                                    'X',action_information1,
7983                                    fnd_number.number_to_canonical(p_sal_dct_si_prem)),
7984            action_information2 = decode(nvl(fnd_number.number_to_canonical(p_dec_si_prem),'X'),
7985                                    'X',action_information2,
7986                                    fnd_number.number_to_canonical(p_dec_si_prem)),
7987            action_information3 = decode(nvl(fnd_number.number_to_canonical(p_dec_small_comp_mut_aid_prem),'X'),
7988                                    'X',action_information3,
7989                                    fnd_number.number_to_canonical(p_dec_small_comp_mut_aid_prem)),
7990            action_information4 = decode(nvl(fnd_number.number_to_canonical(p_life_ins_prem_exm),'X'),
7991                                    'X',action_information4,
7992                                    fnd_number.number_to_canonical(p_life_ins_prem_exm)),
7993            action_information5 = decode(nvl(fnd_number.number_to_canonical(p_earthquake_ins_prem_exm),'X'),
7994                                    'X',action_information5,
7995                                    fnd_number.number_to_canonical(p_earthquake_ins_prem_exm)),
7996            action_information6 = decode(nvl(fnd_number.number_to_canonical(p_spouse_sp_exm),'X'),
7997                                    'X',action_information6,
7998                                    fnd_number.number_to_canonical(p_spouse_sp_exm)),
7999            action_information7 = decode(nvl(fnd_number.number_to_canonical(p_basic_exm),'X'),
8000                                    'X',action_information7,
8001                                    fnd_number.number_to_canonical(p_basic_exm)),
8002            action_information8 = decode(nvl(fnd_number.number_to_canonical(p_gen_spouse_exm),'X'),
8003                                    'X',action_information8,
8004                                    fnd_number.number_to_canonical(p_gen_spouse_exm)),
8005            action_information9 = decode(nvl(fnd_number.number_to_canonical(p_elder_spouse_exm),'X'),
8006                                    'X',action_information9,
8007                                    fnd_number.number_to_canonical(p_elder_spouse_exm)),
8008            action_information10 = decode(nvl(fnd_number.number_to_canonical(p_gen_dep_exm),'X'),
8009                                    'X',action_information10,
8010                                    fnd_number.number_to_canonical(p_gen_dep_exm)),
8011            action_information11 = decode(nvl(fnd_number.number_to_canonical(p_specific_dep_exm),'X'),
8012                                    'X',action_information11,
8013                                    fnd_number.number_to_canonical(p_specific_dep_exm)),
8014            action_information12 = decode(nvl(fnd_number.number_to_canonical(p_junior_dep_exm),'X'),
8015                                    'X',action_information12,
8016                                    fnd_number.number_to_canonical(p_junior_dep_exm)),
8017            action_information13 = decode(nvl(fnd_number.number_to_canonical(p_elder_dep_exm),'X'),
8018                                    'X',action_information13,
8019                                    fnd_number.number_to_canonical(p_elder_dep_exm)),
8020            action_information14 = decode(nvl(fnd_number.number_to_canonical(p_elder_parent_lt_exm),'X'),
8021                                    'X',action_information14,
8022                                    fnd_number.number_to_canonical(p_elder_parent_lt_exm)),
8023            action_information15 = decode(nvl(fnd_number.number_to_canonical(p_gen_disabled_exm),'X'),
8024                                    'X',action_information15,
8025                                    fnd_number.number_to_canonical(p_gen_disabled_exm)),
8026            action_information16 = decode(nvl(fnd_number.number_to_canonical(p_sev_disabled_exm),'X'),
8027                                    'X',action_information16,
8028                                    fnd_number.number_to_canonical(p_sev_disabled_exm)),
8029            action_information17 = decode(nvl(fnd_number.number_to_canonical(p_sev_disabled_lt_exm),'X'),
8030                                    'X',action_information17,
8031                                    fnd_number.number_to_canonical(p_sev_disabled_lt_exm)),
8032            action_information18 = decode(nvl(fnd_number.number_to_canonical(p_elder_exm),'X'),
8033                                    'X',action_information18,
8034                                    fnd_number.number_to_canonical(p_elder_exm)),
8035            action_information19 = decode(nvl(fnd_number.number_to_canonical(p_widow_exm),'X'),
8036                                    'X',action_information19,
8037                                    fnd_number.number_to_canonical(p_widow_exm)),
8038            action_information20 = decode(nvl(fnd_number.number_to_canonical(p_sp_widow_exm),'X'),
8039                                    'X',action_information20,
8040                                    fnd_number.number_to_canonical(p_sp_widow_exm)),
8041            action_information21 = decode(nvl(fnd_number.number_to_canonical(p_working_student_exm),'X'),
8042                                    'X',action_information21,
8043                                    fnd_number.number_to_canonical(p_working_student_exm)),
8044            action_information22 = decode(nvl(fnd_number.number_to_canonical(p_dep_exm),'X'),
8045                                    'X',action_information22,
8046                                    fnd_number.number_to_canonical(p_dep_exm)),
8047            action_information23 = decode(nvl(fnd_number.number_to_canonical(p_spouse_income),'X'),
8048                                    'X',action_information23,
8049                                    fnd_number.number_to_canonical(p_spouse_income)),
8050            action_information24 = decode(nvl(fnd_number.number_to_canonical(p_individual_pension_prem),'X'),
8051                                    'X',action_information24,
8052                                    fnd_number.number_to_canonical(p_individual_pension_prem)),
8053            action_information25 = decode(nvl(fnd_number.number_to_canonical(p_long_term_nonlife_ins_prem),'X'),
8054                                    'X',action_information25,
8055                                    fnd_number.number_to_canonical(p_long_term_nonlife_ins_prem)),
8056            action_information26 = decode(nvl(fnd_number.number_to_canonical(p_small_comp_mut_aid_prem),'X'),
8057                                    'X',action_information26,
8058                                    fnd_number.number_to_canonical(p_small_comp_mut_aid_prem)),
8059            action_information27 = decode(nvl(fnd_number.number_to_canonical(p_national_pension_prem),'X'),
8060                                    'X',action_information27,
8061                                    fnd_number.number_to_canonical(p_national_pension_prem)),
8062            action_information28 = decode(nvl(fnd_number.number_to_canonical(p_income_exm),'X'),
8063                                    'X',action_information28,
8064                                    fnd_number.number_to_canonical(p_income_exm))
8065     where  action_information_id = p_action_information_id
8066     and    object_version_number < p_object_version_number
8067     and    action_context_id = p_assignment_action_id
8068     and    action_context_type = 'AAP'
8069     and    action_information_category = 'JP_ITWB_YEA_DCT';
8070   --
8071   end if;
8072 --
8073   if g_debug then
8074     hr_utility.set_location(l_proc,1000);
8075   end if;
8076 --
8077 end add_yea_dct;
8078 --
8079 -- -------------------------------------------------------------------------
8080 -- create_yea_tax
8081 -- -------------------------------------------------------------------------
8082 procedure create_yea_tax(
8083   p_action_information_id       in number,
8084   p_assignment_action_id        in number,
8085   p_action_context_type         in varchar2,
8086   p_assignment_id               in number,
8087   p_effective_date              in date,
8088   p_action_information_category in varchar2,
8089   p_amt_aft_emp_inc_dct         in number,
8090   p_net_txbl_income             in number,
8091   p_annual_tax                  in number,
8092   p_act_housing_loan_tax_credit in number,
8093   p_yea_annual_tax              in number,
8094   p_yea_income_tax              in number,
8095   p_yea_tax_pay                 in number,
8096   p_object_version_number       out nocopy number)
8097 is
8098   l_proc varchar2(80) := c_package||'create_yea_tax';
8099 begin
8100 --
8101   if g_debug then
8102     hr_utility.set_location(l_proc,0);
8103   end if;
8104 --
8105   p_object_version_number := 1;
8106 --
8107   insert into pay_action_information(
8108     action_information_id,
8109     object_version_number,
8110     action_context_id,
8111     action_context_type,
8112     effective_date,
8113     assignment_id,
8114     action_information_category,
8115     action_information1,
8116     action_information2,
8117     action_information3,
8118     action_information4,
8119     action_information5,
8120     action_information6,
8121 	action_information7)
8122   values(
8123     p_action_information_id,
8124     p_object_version_number,
8125     p_assignment_action_id,
8126     p_action_context_type,
8127     p_effective_date,
8128     p_assignment_id,
8129     p_action_information_category,
8130     fnd_number.number_to_canonical(p_amt_aft_emp_inc_dct),
8131     fnd_number.number_to_canonical(p_net_txbl_income),
8132     fnd_number.number_to_canonical(p_annual_tax),
8133     fnd_number.number_to_canonical(p_act_housing_loan_tax_credit),
8134     fnd_number.number_to_canonical(p_yea_annual_tax),
8135     fnd_number.number_to_canonical(p_yea_tax_pay),
8136 	fnd_number.number_to_canonical(p_yea_income_tax));
8137 --
8138   if g_debug then
8139     hr_utility.set_location(l_proc,1000);
8140   end if;
8141 --
8142 end create_yea_tax;
8143 --
8144 -- -------------------------------------------------------------------------
8145 -- update_yea_tax
8146 -- -------------------------------------------------------------------------
8147 procedure update_yea_tax(
8148   p_assignment_action_id        in number,
8149   p_effective_date              in date,
8150   p_arch_assignment_action_id_o in number,
8151   p_proc_assignment_action_id   in number,
8152   p_proc_assact_date_o          in date,
8153   p_amt_aft_emp_inc_dct         in number,
8154   p_net_txbl_income             in number,
8155   p_annual_tax                  in number,
8156   p_act_housing_loan_tax_credit in number,
8157   p_yea_annual_tax              in number,
8158   p_yea_income_tax              in number,
8159   p_yea_tax_pay                 in number,
8160   p_action_information_id       out nocopy number,
8161   p_object_version_number       out nocopy number)
8162 is
8163 --
8164   l_proc varchar2(80) := c_package||'update_yea_tax';
8165 --
8166 begin
8167 --
8168   if g_debug then
8169     hr_utility.set_location(l_proc,0);
8170   end if;
8171 --
8172   copy_pai(
8173     p_assignment_action_id,
8174     p_effective_date,
8175     p_arch_assignment_action_id_o,
8176     'AAP',
8177     'JP_ITWB_YEA_TAX',
8178     p_action_information_id,
8179     p_object_version_number);
8180 --
8181   if g_debug then
8182     hr_utility.set_location(l_proc,10);
8183   end if;
8184 --
8185   if p_action_information_id is null
8186   or p_object_version_number is null then
8187   --
8188     if g_debug then
8189       hr_utility.set_location(l_proc,20);
8190     end if;
8191   --
8192     fnd_message.set_name('PAY','PAY_34985_INVALID_PAY_ACTION');
8193     fnd_message.raise_error;
8194   --
8195   else
8196   --
8197     if g_debug then
8198       hr_utility.set_location(l_proc,30);
8199     end if;
8200   --
8201     if to_char(p_effective_date,'MM') = to_char(p_proc_assact_date_o,'MM') then
8202     --
8203       p_object_version_number := p_object_version_number + 1;
8204     --
8205       update pay_action_information
8206       set    object_version_number = p_object_version_number,
8207              action_information1 = decode(nvl(action_information1,'X'),
8208                                      nvl(fnd_number.number_to_canonical(p_amt_aft_emp_inc_dct),'X'),
8209                                      action_information1,
8210                                      fnd_number.number_to_canonical(p_amt_aft_emp_inc_dct)),
8211              action_information2 = decode(nvl(action_information2,'X'),
8212                                      nvl(fnd_number.number_to_canonical(p_net_txbl_income),'X'),
8213                                      action_information2,
8214                                      fnd_number.number_to_canonical(p_net_txbl_income)),
8215              action_information3 = decode(nvl(action_information3,'X'),
8216                                      nvl(fnd_number.number_to_canonical(p_annual_tax),'X'),
8217                                      action_information3,
8218                                      fnd_number.number_to_canonical(p_annual_tax)),
8219              action_information4 = decode(nvl(action_information4,'X'),
8220                                      nvl(fnd_number.number_to_canonical(p_act_housing_loan_tax_credit),'X'),
8221                                      action_information4,
8222                                      fnd_number.number_to_canonical(p_act_housing_loan_tax_credit)),
8223              action_information5 = decode(nvl(action_information5,'X'),
8224                                      nvl(fnd_number.number_to_canonical(p_yea_annual_tax),'X'),
8225                                      action_information5,
8226                                      fnd_number.number_to_canonical(p_yea_annual_tax)),
8227              action_information6 = decode(nvl(action_information6,'X'),
8228                                      nvl(fnd_number.number_to_canonical(p_yea_tax_pay),'X'),
8229                                      action_information6,
8230                                      fnd_number.number_to_canonical(p_yea_tax_pay)),
8231              action_information7 = decode(nvl(action_information7,'X'),
8232                                      nvl(fnd_number.number_to_canonical(p_yea_income_tax),'X'),
8233                                      action_information7,
8234                                      fnd_number.number_to_canonical(p_yea_income_tax))
8235       where  action_information_id = p_action_information_id
8236       and    object_version_number < p_object_version_number
8237       and    action_context_id = p_assignment_action_id
8238       and    action_context_type = 'AAP'
8239       and    action_information_category = 'JP_ITWB_YEA_TAX'
8240       and    (nvl(action_information1,'X')
8241               <> nvl(fnd_number.number_to_canonical(p_amt_aft_emp_inc_dct),'X')
8242               or nvl(action_information2,'X')
8243               <> nvl(fnd_number.number_to_canonical(p_net_txbl_income),'X')
8244               or nvl(action_information3,'X')
8245               <> nvl(fnd_number.number_to_canonical(p_annual_tax),'X')
8246               or nvl(action_information4,'X')
8247               <> nvl(fnd_number.number_to_canonical(p_act_housing_loan_tax_credit),'X')
8248               or nvl(action_information5,'X')
8249               <> nvl(fnd_number.number_to_canonical(p_yea_annual_tax),'X')
8250               or nvl(action_information6,'X')
8251               <> nvl(fnd_number.number_to_canonical(p_yea_tax_pay),'X')
8252               or nvl(action_information7,'X')
8253               <> nvl(fnd_number.number_to_canonical(p_yea_income_tax),'X'));
8254     --
8255     end if;
8256   --
8257   end if;
8258 --
8259   if g_debug then
8260     hr_utility.set_location(l_proc,1000);
8261   end if;
8262 --
8263 end update_yea_tax;
8264 --
8265 -- -------------------------------------------------------------------------
8266 -- add_yea_tax
8267 -- -------------------------------------------------------------------------
8268 procedure add_yea_tax(
8269   p_assignment_action_id        in number,
8270   p_effective_date              in date,
8271   p_arch_assignment_action_id_o in number,
8272   p_amt_aft_emp_inc_dct         in number,
8273   p_net_txbl_income             in number,
8274   p_annual_tax                  in number,
8275   p_act_housing_loan_tax_credit in number,
8276   p_yea_annual_tax              in number,
8277   p_yea_income_tax              in number,
8278   p_yea_tax_pay                 in number,
8279   p_action_information_id       out nocopy number,
8280   p_object_version_number       out nocopy number)
8281 is
8282 --
8283   l_proc varchar2(80) := c_package||'add_yea_tax';
8284 --
8285 begin
8286 --
8287   if g_debug then
8288     hr_utility.set_location(l_proc,0);
8289   end if;
8290 --
8291   copy_pai(
8292     p_assignment_action_id,
8293     p_effective_date,
8294     p_arch_assignment_action_id_o,
8295     'AAP',
8296     'JP_ITWB_YEA_TAX',
8297     p_action_information_id,
8298     p_object_version_number);
8299 --
8300   if g_debug then
8301     hr_utility.set_location(l_proc,10);
8302   end if;
8303 --
8304   if p_action_information_id is null
8305   or p_object_version_number is null then
8306   --
8307     if g_debug then
8308       hr_utility.set_location(l_proc,20);
8309     end if;
8310   --
8311     fnd_message.set_name('PAY','PAY_34985_INVALID_PAY_ACTION');
8312     fnd_message.raise_error;
8313   --
8314   else
8315   --
8316     if g_debug then
8317       hr_utility.set_location(l_proc,30);
8318     end if;
8319   --
8320     p_object_version_number := p_object_version_number + 1;
8321   --
8322     --update multiple column for new multiple month, else set previous data
8323     update pay_action_information
8324     set    object_version_number = p_object_version_number,
8325            action_information1 = decode(nvl(fnd_number.number_to_canonical(p_amt_aft_emp_inc_dct),'X'),
8326                                    'X',action_information1,
8327                                    fnd_number.number_to_canonical(p_amt_aft_emp_inc_dct)),
8328            action_information2 = decode(nvl(fnd_number.number_to_canonical(p_net_txbl_income),'X'),
8329                                    'X',action_information2,
8330                                    fnd_number.number_to_canonical(p_net_txbl_income)),
8331            action_information3 = decode(nvl(fnd_number.number_to_canonical(p_annual_tax),'X'),
8332                                    'X',action_information3,
8333                                    fnd_number.number_to_canonical(p_annual_tax)),
8334            action_information4 = decode(nvl(fnd_number.number_to_canonical(p_act_housing_loan_tax_credit),'X'),
8335                                    'X',action_information4,
8336                                    fnd_number.number_to_canonical(p_act_housing_loan_tax_credit)),
8337            action_information5 = decode(nvl(fnd_number.number_to_canonical(p_yea_annual_tax),'X'),
8338                                    'X',action_information5,
8339                                    fnd_number.number_to_canonical(p_yea_annual_tax)),
8340            action_information6 = decode(nvl(fnd_number.number_to_canonical(p_yea_tax_pay),'X'),
8341                                    'X',action_information6,
8342                                    fnd_number.number_to_canonical(p_yea_tax_pay)),
8343            action_information7 = decode(nvl(fnd_number.number_to_canonical(p_yea_income_tax),'X'),
8344                                    'X',action_information7,
8345                                    fnd_number.number_to_canonical(p_yea_income_tax))
8346     where  action_information_id = p_action_information_id
8347     and    object_version_number < p_object_version_number
8348     and    action_context_id = p_assignment_action_id
8349     and    action_context_type = 'AAP'
8350     and    action_information_category = 'JP_ITWB_YEA_TAX';
8351   --
8352   end if;
8353 --
8354   if g_debug then
8355     hr_utility.set_location(l_proc,1000);
8356   end if;
8357 --
8358 end add_yea_tax;
8359 --
8360 -- -------------------------------------------------------------------------
8361 -- create_emp_cust (text)
8362 -- -------------------------------------------------------------------------
8363 procedure create_emp_cust(
8364   p_action_information_id       in number,
8365   p_assignment_action_id        in number,
8366   p_action_context_type         in varchar2,
8367   p_assignment_id               in number,
8368   p_effective_date              in date,
8369   p_action_information_category in varchar2,
8370   p_data_type                   in varchar2,
8371   p_information1                in varchar2,
8372   p_information2                in varchar2,
8373   p_information3                in varchar2,
8374   p_information4                in varchar2,
8375   p_information5                in varchar2,
8376   p_information6                in varchar2,
8377   p_information7                in varchar2,
8378   p_information8                in varchar2,
8379   p_information9                in varchar2,
8380   p_information10               in varchar2,
8381   p_information11               in varchar2,
8382   p_information12               in varchar2,
8383   p_information13               in varchar2,
8384   p_information14               in varchar2,
8385   p_information15               in varchar2,
8386   p_information16               in varchar2,
8387   p_information17               in varchar2,
8388   p_information18               in varchar2,
8389   p_information19               in varchar2,
8390   p_information20               in varchar2,
8391   p_information21               in varchar2,
8392   p_information22               in varchar2,
8393   p_information23               in varchar2,
8394   p_information24               in varchar2,
8395   p_information25               in varchar2,
8396   p_object_version_number       out nocopy number)
8397 is
8398   l_proc varchar2(80) := c_package||'create_emp_cust';
8399 begin
8400 --
8401   if g_debug then
8402     hr_utility.set_location(l_proc,0);
8403   end if;
8404 --
8405   p_object_version_number := 1;
8406 --
8407   insert into pay_action_information(
8408     action_information_id,
8409     object_version_number,
8410     action_context_id,
8411     action_context_type,
8412     effective_date,
8413     assignment_id,
8414     action_information_category,
8415     action_information1,
8416     action_information2,
8417     action_information3,
8418     action_information4,
8419     action_information5,
8420     action_information6,
8421     action_information7,
8422     action_information8,
8423     action_information9,
8424     action_information10,
8425     action_information11,
8426     action_information12,
8427     action_information13,
8428     action_information14,
8429     action_information15,
8430     action_information16,
8431     action_information17,
8432     action_information18,
8433     action_information19,
8434     action_information20,
8435     action_information21,
8436     action_information22,
8437     action_information23,
8438     action_information24,
8439     action_information25,
8440     action_information26)
8441   values(
8442     p_action_information_id,
8443     p_object_version_number,
8444     p_assignment_action_id,
8445     p_action_context_type,
8446     p_effective_date,
8447     p_assignment_id,
8448     p_action_information_category,
8449     p_data_type,
8450     p_information1,
8451     p_information2,
8452     p_information3,
8453     p_information4,
8454     p_information5,
8455     p_information6,
8456     p_information7,
8457     p_information8,
8458     p_information9,
8459     p_information10,
8460     p_information11,
8461     p_information12,
8462     p_information13,
8463     p_information14,
8464     p_information15,
8465     p_information16,
8466     p_information17,
8467     p_information18,
8468     p_information19,
8469     p_information20,
8470     p_information21,
8471     p_information22,
8472     p_information23,
8473     p_information24,
8474     p_information25);
8475 --
8476   if g_debug then
8477     hr_utility.set_location(l_proc,1000);
8478   end if;
8479 --
8480 end create_emp_cust;
8481 --
8482 -- -------------------------------------------------------------------------
8483 -- update_emp_cust (text)
8484 -- -------------------------------------------------------------------------
8485 procedure update_emp_cust(
8486   p_assignment_action_id        in number,
8487   p_assignment_id               in number,
8488   p_effective_date              in date,
8489   p_arch_assignment_action_id_o in number,
8490   p_data_type                   in varchar2,
8491   p_information1                in varchar2,
8492   p_information2                in varchar2,
8493   p_information3                in varchar2,
8494   p_information4                in varchar2,
8495   p_information5                in varchar2,
8496   p_information6                in varchar2,
8497   p_information7                in varchar2,
8498   p_information8                in varchar2,
8499   p_information9                in varchar2,
8500   p_information10               in varchar2,
8501   p_information11               in varchar2,
8502   p_information12               in varchar2,
8503   p_information13               in varchar2,
8504   p_information14               in varchar2,
8505   p_information15               in varchar2,
8506   p_information16               in varchar2,
8507   p_information17               in varchar2,
8508   p_information18               in varchar2,
8509   p_information19               in varchar2,
8510   p_information20               in varchar2,
8511   p_information21               in varchar2,
8512   p_information22               in varchar2,
8513   p_information23               in varchar2,
8514   p_information24               in varchar2,
8515   p_information25               in varchar2,
8516   p_action_information_id       out nocopy number,
8517   p_object_version_number       out nocopy number)
8518 is
8519 --
8520   l_proc varchar2(80) := c_package||'update_emp_cust';
8521 --
8522 begin
8523 --
8524   if g_debug then
8525     hr_utility.set_location(l_proc,0);
8526   end if;
8527 --
8528   copy_pai_type(
8529     p_assignment_action_id,
8530     p_effective_date,
8531     p_arch_assignment_action_id_o,
8532     'AAP',
8533     'JP_ITWB_EMP_CUST',
8534     p_data_type,
8535     p_action_information_id,
8536     p_object_version_number);
8537 --
8538   if g_debug then
8539     hr_utility.set_location(l_proc,10);
8540   end if;
8541 --
8542   if p_action_information_id is not null then
8543   --
8544     p_object_version_number := p_object_version_number + 1;
8545   --
8546     update pay_action_information
8547     set    object_version_number = p_object_version_number,
8548            action_information2 = decode(nvl(action_information2,'X'),
8549                                    nvl(p_information1,'X'),action_information2,
8550                                    p_information1),
8551            action_information3 = decode(nvl(action_information3,'X'),
8552                                    nvl(p_information2,'X'),action_information3,
8553                                    p_information2),
8554            action_information4 = decode(nvl(action_information4,'X'),
8555                                    nvl(p_information3,'X'),action_information4,
8556                                    p_information3),
8557            action_information5 = decode(nvl(action_information5,'X'),
8558                                    nvl(p_information4,'X'),action_information5,
8559                                    p_information4),
8560            action_information6 = decode(nvl(action_information6,'X'),
8561                                    nvl(p_information5,'X'),action_information6,
8562                                    p_information5),
8563            action_information7 = decode(nvl(action_information7,'X'),
8564                                    nvl(p_information6,'X'),action_information7,
8565                                    p_information6),
8566            action_information8 = decode(nvl(action_information8,'X'),
8567                                    nvl(p_information7,'X'),action_information8,
8568                                    p_information7),
8569            action_information9 = decode(nvl(action_information9,'X'),
8570                                    nvl(p_information8,'X'),action_information9,
8571                                    p_information8),
8572            action_information10 = decode(nvl(action_information10,'X'),
8573                                    nvl(p_information9,'X'),action_information10,
8574                                    p_information9),
8575            action_information11 = decode(nvl(action_information11,'X'),
8576                                    nvl(p_information10,'X'),action_information11,
8577                                    p_information10),
8578            action_information12 = decode(nvl(action_information12,'X'),
8579                                    nvl(p_information11,'X'),action_information12,
8580                                    p_information11),
8581            action_information13 = decode(nvl(action_information13,'X'),
8582                                    nvl(p_information12,'X'),action_information13,
8583                                    p_information12),
8584            action_information14 = decode(nvl(action_information14,'X'),
8585                                    nvl(p_information13,'X'),action_information14,
8586                                    p_information13),
8587            action_information15 = decode(nvl(action_information15,'X'),
8588                                    nvl(p_information14,'X'),action_information15,
8589                                    p_information14),
8590            action_information16 = decode(nvl(action_information16,'X'),
8591                                    nvl(p_information15,'X'),action_information16,
8592                                    p_information15),
8593            action_information17 = decode(nvl(action_information17,'X'),
8594                                    nvl(p_information16,'X'),action_information17,
8595                                    p_information16),
8596            action_information18 = decode(nvl(action_information18,'X'),
8597                                    nvl(p_information17,'X'),action_information18,
8598                                    p_information17),
8599            action_information19 = decode(nvl(action_information19,'X'),
8600                                    nvl(p_information18,'X'),action_information19,
8601                                    p_information18),
8602            action_information20 = decode(nvl(action_information20,'X'),
8603                                    nvl(p_information19,'X'),action_information20,
8604                                    p_information19),
8605            action_information21 = decode(nvl(action_information21,'X'),
8606                                    nvl(p_information20,'X'),action_information21,
8607                                    p_information20),
8608            action_information22 = decode(nvl(action_information22,'X'),
8609                                    nvl(p_information21,'X'),action_information22,
8610                                    p_information21),
8611            action_information23 = decode(nvl(action_information23,'X'),
8612                                    nvl(p_information22,'X'),action_information23,
8613                                    p_information22),
8614            action_information24 = decode(nvl(action_information24,'X'),
8615                                    nvl(p_information23,'X'),action_information24,
8616                                    p_information23),
8617            action_information25 = decode(nvl(action_information25,'X'),
8618                                    nvl(p_information24,'X'),action_information25,
8619                                    p_information24),
8620            action_information26 = decode(nvl(action_information26,'X'),
8621                                    nvl(p_information25,'X'),action_information26,
8622                                    p_information25)
8623     where  action_information_id = p_action_information_id
8624     and    object_version_number < p_object_version_number
8625     and    action_context_id = p_assignment_action_id
8626     and    action_context_type = 'AAP'
8627     and    action_information_category = 'JP_ITWB_EMP_CUST'
8628     and    action_information1 = p_data_type
8629     and    ((p_information1 is not null
8630               and (nvl(action_information2,'X') <> nvl(p_information1,'X')))
8631            or (p_information2 is not null
8632               and (nvl(action_information3,'X') <> nvl(p_information2,'X')))
8633            or (p_information3 is not null
8634               and (nvl(action_information4,'X') <> nvl(p_information3,'X')))
8635            or (p_information4 is not null
8636               and (nvl(action_information5,'X') <> nvl(p_information4,'X')))
8637            or (p_information5 is not null
8638               and (nvl(action_information6,'X') <> nvl(p_information5,'X')))
8639            or (p_information6 is not null
8640               and (nvl(action_information7,'X') <> nvl(p_information6,'X')))
8641            or (p_information7 is not null
8642               and (nvl(action_information8,'X') <> nvl(p_information7,'X')))
8643            or (p_information8 is not null
8644               and (nvl(action_information9,'X') <> nvl(p_information8,'X')))
8645            or (p_information9 is not null
8646               and (nvl(action_information10,'X') <> nvl(p_information9,'X')))
8647            or (p_information10 is not null
8648               and (nvl(action_information11,'X') <> nvl(p_information10,'X')))
8649            or (p_information11 is not null
8650               and (nvl(action_information12,'X') <> nvl(p_information11,'X')))
8651            or (p_information12 is not null
8652               and (nvl(action_information13,'X') <> nvl(p_information12,'X')))
8653            or (p_information13 is not null
8654               and (nvl(action_information14,'X') <> nvl(p_information13,'X')))
8655            or (p_information14 is not null
8656               and (nvl(action_information15,'X') <> nvl(p_information14,'X')))
8657            or (p_information15 is not null
8658               and (nvl(action_information16,'X') <> nvl(p_information15,'X')))
8659            or (p_information16 is not null
8660               and (nvl(action_information17,'X') <> nvl(p_information16,'X')))
8661            or (p_information17 is not null
8662               and (nvl(action_information18,'X') <> nvl(p_information17,'X')))
8663            or (p_information18 is not null
8664               and (nvl(action_information19,'X') <> nvl(p_information18,'X')))
8665            or (p_information19 is not null
8666               and (nvl(action_information20,'X') <> nvl(p_information19,'X')))
8667            or (p_information20 is not null
8668               and (nvl(action_information21,'X') <> nvl(p_information20,'X')))
8669            or (p_information21 is not null
8670               and (nvl(action_information22,'X') <> nvl(p_information21,'X')))
8671            or (p_information22 is not null
8672               and (nvl(action_information23,'X') <> nvl(p_information22,'X')))
8673            or (p_information23 is not null
8674               and (nvl(action_information24,'X') <> nvl(p_information23,'X')))
8675            or (p_information24 is not null
8676               and (nvl(action_information25,'X') <> nvl(p_information24,'X')))
8677            or (p_information25 is not null
8678               and (nvl(action_information26,'X') <> nvl(p_information25,'X'))));
8679   --
8680   -- case when new item is added
8681   else
8682   --
8683     create_emp_cust(
8684       p_action_information_id       => pay_jp_itwb_dml_pkg.next_action_information_id,
8685       p_assignment_action_id        => p_assignment_action_id,
8686       p_action_context_type         => 'AAP',
8687       p_assignment_id               => p_assignment_id,
8688       p_effective_date              => p_effective_date,
8689       p_action_information_category => 'JP_ITWB_EMP_CUST',
8690       p_data_type                   => p_data_type,
8691       p_information1                => p_information1,
8692       p_information2                => p_information2,
8693       p_information3                => p_information3,
8694       p_information4                => p_information4,
8695       p_information5                => p_information5,
8696       p_information6                => p_information6,
8697       p_information7                => p_information7,
8698       p_information8                => p_information8,
8699       p_information9                => p_information9,
8700       p_information10               => p_information10,
8701       p_information11               => p_information11,
8702       p_information12               => p_information12,
8703       p_information13               => p_information13,
8704       p_information14               => p_information14,
8705       p_information15               => p_information15,
8706       p_information16               => p_information16,
8707       p_information17               => p_information17,
8708       p_information18               => p_information18,
8709       p_information19               => p_information19,
8710       p_information20               => p_information20,
8711       p_information21               => p_information21,
8712       p_information22               => p_information22,
8713       p_information23               => p_information23,
8714       p_information24               => p_information24,
8715       p_information25               => p_information25,
8716       p_object_version_number       => p_object_version_number);
8717   --
8718   end if;
8719 --
8720   if g_debug then
8721     hr_utility.set_location(l_proc,1000);
8722   end if;
8723 --
8724 end update_emp_cust;
8725 --
8726 -- -------------------------------------------------------------------------
8727 -- create_emp_cust (date)
8728 -- -------------------------------------------------------------------------
8729 procedure create_emp_cust(
8730   p_action_information_id       in number,
8731   p_assignment_action_id        in number,
8732   p_action_context_type         in varchar2,
8733   p_assignment_id               in number,
8734   p_effective_date              in date,
8735   p_action_information_category in varchar2,
8736   p_data_type                   in varchar2,
8737   p_information1                in date,
8738   p_information2                in date,
8739   p_information3                in date,
8740   p_information4                in date,
8741   p_information5                in date,
8742   p_information6                in date,
8743   p_information7                in date,
8744   p_information8                in date,
8745   p_information9                in date,
8746   p_information10               in date,
8747   p_information11               in date,
8748   p_information12               in date,
8749   p_information13               in date,
8750   p_information14               in date,
8751   p_information15               in date,
8752   p_information16               in date,
8753   p_information17               in date,
8754   p_information18               in date,
8755   p_information19               in date,
8756   p_information20               in date,
8757   p_information21               in date,
8758   p_information22               in date,
8759   p_information23               in date,
8760   p_information24               in date,
8761   p_information25               in date,
8762   p_object_version_number       out nocopy number)
8763 is
8764   l_proc varchar2(80) := c_package||'create_emp_cust';
8765 begin
8766 --
8767   if g_debug then
8768     hr_utility.set_location(l_proc,0);
8769   end if;
8770 --
8771   create_emp_cust(
8772     p_action_information_id       => p_action_information_id,
8773     p_assignment_action_id        => p_assignment_action_id,
8774     p_action_context_type         => p_action_context_type,
8775     p_assignment_id               => p_assignment_id,
8776     p_effective_date              => p_effective_date,
8777     p_action_information_category => p_action_information_category,
8778     p_data_type                   => p_data_type,
8779     p_information1                => fnd_date.date_to_canonical(p_information1),
8780     p_information2                => fnd_date.date_to_canonical(p_information2),
8781     p_information3                => fnd_date.date_to_canonical(p_information3),
8782     p_information4                => fnd_date.date_to_canonical(p_information4),
8783     p_information5                => fnd_date.date_to_canonical(p_information5),
8784     p_information6                => fnd_date.date_to_canonical(p_information6),
8785     p_information7                => fnd_date.date_to_canonical(p_information7),
8786     p_information8                => fnd_date.date_to_canonical(p_information8),
8787     p_information9                => fnd_date.date_to_canonical(p_information9),
8788     p_information10               => fnd_date.date_to_canonical(p_information10),
8789     p_information11               => fnd_date.date_to_canonical(p_information11),
8790     p_information12               => fnd_date.date_to_canonical(p_information12),
8791     p_information13               => fnd_date.date_to_canonical(p_information13),
8792     p_information14               => fnd_date.date_to_canonical(p_information14),
8793     p_information15               => fnd_date.date_to_canonical(p_information15),
8794     p_information16               => fnd_date.date_to_canonical(p_information16),
8795     p_information17               => fnd_date.date_to_canonical(p_information17),
8796     p_information18               => fnd_date.date_to_canonical(p_information18),
8797     p_information19               => fnd_date.date_to_canonical(p_information19),
8798     p_information20               => fnd_date.date_to_canonical(p_information20),
8799     p_information21               => fnd_date.date_to_canonical(p_information21),
8800     p_information22               => fnd_date.date_to_canonical(p_information22),
8801     p_information23               => fnd_date.date_to_canonical(p_information23),
8802     p_information24               => fnd_date.date_to_canonical(p_information24),
8803     p_information25               => fnd_date.date_to_canonical(p_information25),
8804     p_object_version_number       => p_object_version_number);
8805 --
8806   if g_debug then
8807     hr_utility.set_location(l_proc,1000);
8808   end if;
8809 --
8810 end create_emp_cust;
8811 --
8812 -- -------------------------------------------------------------------------
8813 -- create_emp_cust (number)
8814 -- -------------------------------------------------------------------------
8815 procedure create_emp_cust(
8816   p_action_information_id       in number,
8817   p_assignment_action_id        in number,
8818   p_action_context_type         in varchar2,
8819   p_assignment_id               in number,
8820   p_effective_date              in date,
8821   p_action_information_category in varchar2,
8822   p_data_type                   in varchar2,
8823   p_information1                in number,
8824   p_information2                in number,
8825   p_information3                in number,
8826   p_information4                in number,
8827   p_information5                in number,
8828   p_information6                in number,
8829   p_information7                in number,
8830   p_information8                in number,
8831   p_information9                in number,
8832   p_information10               in number,
8833   p_information11               in number,
8834   p_information12               in number,
8835   p_information13               in number,
8836   p_information14               in number,
8837   p_information15               in number,
8838   p_information16               in number,
8839   p_information17               in number,
8840   p_information18               in number,
8841   p_information19               in number,
8842   p_information20               in number,
8843   p_information21               in number,
8844   p_information22               in number,
8845   p_information23               in number,
8846   p_information24               in number,
8847   p_information25               in number,
8848   p_object_version_number       out nocopy number)
8849 is
8850   l_proc varchar2(80) := c_package||'create_emp_cust';
8851 begin
8852 --
8853   if g_debug then
8854     hr_utility.set_location(l_proc,0);
8855   end if;
8856 --
8857   create_emp_cust(
8858     p_action_information_id       => p_action_information_id,
8859     p_assignment_action_id        => p_assignment_action_id,
8860     p_action_context_type         => p_action_context_type,
8861     p_assignment_id               => p_assignment_id,
8862     p_effective_date              => p_effective_date,
8863     p_action_information_category => p_action_information_category,
8864     p_data_type                   => p_data_type,
8865     p_information1                => fnd_number.number_to_canonical(p_information1),
8866     p_information2                => fnd_number.number_to_canonical(p_information2),
8867     p_information3                => fnd_number.number_to_canonical(p_information3),
8868     p_information4                => fnd_number.number_to_canonical(p_information4),
8869     p_information5                => fnd_number.number_to_canonical(p_information5),
8870     p_information6                => fnd_number.number_to_canonical(p_information6),
8871     p_information7                => fnd_number.number_to_canonical(p_information7),
8872     p_information8                => fnd_number.number_to_canonical(p_information8),
8873     p_information9                => fnd_number.number_to_canonical(p_information9),
8874     p_information10               => fnd_number.number_to_canonical(p_information10),
8875     p_information11               => fnd_number.number_to_canonical(p_information11),
8876     p_information12               => fnd_number.number_to_canonical(p_information12),
8877     p_information13               => fnd_number.number_to_canonical(p_information13),
8878     p_information14               => fnd_number.number_to_canonical(p_information14),
8879     p_information15               => fnd_number.number_to_canonical(p_information15),
8880     p_information16               => fnd_number.number_to_canonical(p_information16),
8881     p_information17               => fnd_number.number_to_canonical(p_information17),
8882     p_information18               => fnd_number.number_to_canonical(p_information18),
8883     p_information19               => fnd_number.number_to_canonical(p_information19),
8884     p_information20               => fnd_number.number_to_canonical(p_information20),
8885     p_information21               => fnd_number.number_to_canonical(p_information21),
8886     p_information22               => fnd_number.number_to_canonical(p_information22),
8887     p_information23               => fnd_number.number_to_canonical(p_information23),
8888     p_information24               => fnd_number.number_to_canonical(p_information24),
8889     p_information25               => fnd_number.number_to_canonical(p_information25),
8890     p_object_version_number       => p_object_version_number);
8891 --
8892   if g_debug then
8893     hr_utility.set_location(l_proc,1000);
8894   end if;
8895 --
8896 end create_emp_cust;
8897 --
8898 -- -------------------------------------------------------------------------
8899 -- update_emp_cust (date)
8900 -- -------------------------------------------------------------------------
8901 procedure update_emp_cust(
8902   p_assignment_action_id        in number,
8903   p_assignment_id               in number,
8904   p_effective_date              in date,
8905   p_arch_assignment_action_id_o in number,
8906   p_data_type                   in varchar2,
8907   p_information1                in date,
8908   p_information2                in date,
8909   p_information3                in date,
8910   p_information4                in date,
8911   p_information5                in date,
8912   p_information6                in date,
8913   p_information7                in date,
8914   p_information8                in date,
8915   p_information9                in date,
8916   p_information10               in date,
8917   p_information11               in date,
8918   p_information12               in date,
8919   p_information13               in date,
8920   p_information14               in date,
8921   p_information15               in date,
8922   p_information16               in date,
8923   p_information17               in date,
8924   p_information18               in date,
8925   p_information19               in date,
8926   p_information20               in date,
8927   p_information21               in date,
8928   p_information22               in date,
8929   p_information23               in date,
8930   p_information24               in date,
8931   p_information25               in date,
8932   p_action_information_id       out nocopy number,
8933   p_object_version_number       out nocopy number)
8934 is
8935 --
8936   l_proc varchar2(80) := c_package||'update_emp_cust';
8937 --
8938 begin
8939 --
8940   if g_debug then
8941     hr_utility.set_location(l_proc,0);
8942   end if;
8943 --
8944   update_emp_cust(
8945     p_assignment_action_id        => p_assignment_action_id,
8946     p_assignment_id               => p_assignment_id,
8947     p_effective_date              => p_effective_date,
8948     p_arch_assignment_action_id_o => p_arch_assignment_action_id_o,
8949     p_data_type                   => p_data_type,
8950     p_information1                => fnd_date.date_to_canonical(p_information1),
8951     p_information2                => fnd_date.date_to_canonical(p_information2),
8952     p_information3                => fnd_date.date_to_canonical(p_information3),
8953     p_information4                => fnd_date.date_to_canonical(p_information4),
8954     p_information5                => fnd_date.date_to_canonical(p_information5),
8955     p_information6                => fnd_date.date_to_canonical(p_information6),
8956     p_information7                => fnd_date.date_to_canonical(p_information7),
8957     p_information8                => fnd_date.date_to_canonical(p_information8),
8958     p_information9                => fnd_date.date_to_canonical(p_information9),
8959     p_information10               => fnd_date.date_to_canonical(p_information10),
8960     p_information11               => fnd_date.date_to_canonical(p_information11),
8961     p_information12               => fnd_date.date_to_canonical(p_information12),
8962     p_information13               => fnd_date.date_to_canonical(p_information13),
8963     p_information14               => fnd_date.date_to_canonical(p_information14),
8964     p_information15               => fnd_date.date_to_canonical(p_information15),
8965     p_information16               => fnd_date.date_to_canonical(p_information16),
8966     p_information17               => fnd_date.date_to_canonical(p_information17),
8967     p_information18               => fnd_date.date_to_canonical(p_information18),
8968     p_information19               => fnd_date.date_to_canonical(p_information19),
8969     p_information20               => fnd_date.date_to_canonical(p_information20),
8970     p_information21               => fnd_date.date_to_canonical(p_information21),
8971     p_information22               => fnd_date.date_to_canonical(p_information22),
8972     p_information23               => fnd_date.date_to_canonical(p_information23),
8973     p_information24               => fnd_date.date_to_canonical(p_information24),
8974     p_information25               => fnd_date.date_to_canonical(p_information25),
8975     p_action_information_id       => p_action_information_id,
8976     p_object_version_number       => p_object_version_number);
8977 --
8978   if g_debug then
8979     hr_utility.set_location(l_proc,1000);
8980   end if;
8981 --
8982 end update_emp_cust;
8983 --
8984 -- -------------------------------------------------------------------------
8985 -- update_emp_cust (number)
8986 -- -------------------------------------------------------------------------
8987 procedure update_emp_cust(
8988   p_assignment_action_id        in number,
8989   p_assignment_id               in number,
8990   p_effective_date              in date,
8991   p_arch_assignment_action_id_o in number,
8992   p_data_type                   in varchar2,
8993   p_information1                in number,
8994   p_information2                in number,
8995   p_information3                in number,
8996   p_information4                in number,
8997   p_information5                in number,
8998   p_information6                in number,
8999   p_information7                in number,
9000   p_information8                in number,
9001   p_information9                in number,
9002   p_information10               in number,
9003   p_information11               in number,
9004   p_information12               in number,
9005   p_information13               in number,
9006   p_information14               in number,
9007   p_information15               in number,
9008   p_information16               in number,
9009   p_information17               in number,
9010   p_information18               in number,
9011   p_information19               in number,
9012   p_information20               in number,
9013   p_information21               in number,
9014   p_information22               in number,
9015   p_information23               in number,
9016   p_information24               in number,
9017   p_information25               in number,
9018   p_action_information_id       out nocopy number,
9019   p_object_version_number       out nocopy number)
9020 is
9021 --
9022   l_proc varchar2(80) := c_package||'update_emp_cust';
9023 --
9024 begin
9025 --
9026   if g_debug then
9027     hr_utility.set_location(l_proc,0);
9028   end if;
9029 --
9030   update_emp_cust(
9031     p_assignment_action_id        => p_assignment_action_id,
9032     p_assignment_id               => p_assignment_id,
9033     p_effective_date              => p_effective_date,
9034     p_arch_assignment_action_id_o => p_arch_assignment_action_id_o,
9035     p_data_type                   => p_data_type,
9036     p_information1                => fnd_number.number_to_canonical(p_information1),
9037     p_information2                => fnd_number.number_to_canonical(p_information2),
9038     p_information3                => fnd_number.number_to_canonical(p_information3),
9039     p_information4                => fnd_number.number_to_canonical(p_information4),
9040     p_information5                => fnd_number.number_to_canonical(p_information5),
9041     p_information6                => fnd_number.number_to_canonical(p_information6),
9042     p_information7                => fnd_number.number_to_canonical(p_information7),
9043     p_information8                => fnd_number.number_to_canonical(p_information8),
9044     p_information9                => fnd_number.number_to_canonical(p_information9),
9045     p_information10               => fnd_number.number_to_canonical(p_information10),
9046     p_information11               => fnd_number.number_to_canonical(p_information11),
9047     p_information12               => fnd_number.number_to_canonical(p_information12),
9048     p_information13               => fnd_number.number_to_canonical(p_information13),
9049     p_information14               => fnd_number.number_to_canonical(p_information14),
9050     p_information15               => fnd_number.number_to_canonical(p_information15),
9051     p_information16               => fnd_number.number_to_canonical(p_information16),
9052     p_information17               => fnd_number.number_to_canonical(p_information17),
9053     p_information18               => fnd_number.number_to_canonical(p_information18),
9054     p_information19               => fnd_number.number_to_canonical(p_information19),
9055     p_information20               => fnd_number.number_to_canonical(p_information20),
9056     p_information21               => fnd_number.number_to_canonical(p_information21),
9057     p_information22               => fnd_number.number_to_canonical(p_information22),
9058     p_information23               => fnd_number.number_to_canonical(p_information23),
9059     p_information24               => fnd_number.number_to_canonical(p_information24),
9060     p_information25               => fnd_number.number_to_canonical(p_information25),
9061     p_action_information_id       => p_action_information_id,
9062     p_object_version_number       => p_object_version_number);
9063 --
9064   if g_debug then
9065     hr_utility.set_location(l_proc,1000);
9066   end if;
9067 --
9068 end update_emp_cust;
9069 --
9070 -- -------------------------------------------------------------------------
9071 -- select_item_info
9072 -- -------------------------------------------------------------------------
9073 procedure select_item_info(
9074   p_itax_organization_id in number,
9075   p_effective_date       in date)
9076 is
9077 --
9078   l_proc varchar2(80) := c_package||'select_item_info';
9079 --
9080   l_item_cnt number := 0;
9081 --
9082   l_item_elm pay_element_types_f_tl.element_name%type;
9083   l_item_iv  pay_input_values_f_tl.name%type;
9084   l_item_bal pay_balance_types_tl.balance_name%type;
9085   l_item_dim pay_balance_dimensions_tl.database_item_suffix%type;
9086 --
9087   cursor csr_item_info
9088   is
9089   select pap.payroll_id,
9090          pap.payroll_name,
9091          hoi.org_information2 category,
9092          hoi.org_information3 type,
9093          fnd_number.canonical_to_number(hoi.org_information4) elm_id,
9094          fnd_number.canonical_to_number(hoi.org_information5) iv_id,
9095          fnd_number.canonical_to_number(hoi.org_information6) bal_id,
9096          fnd_number.canonical_to_number(hoi.org_information7) dbal_id,
9097          hoi.org_information8 rep_name,
9098          fnd_number.canonical_to_number(hoi.org_information9) rep_seq,
9099          hoi.org_information10 null_valid
9100   from   hr_organization_information hoi,
9101          pay_all_payrolls_f pap
9102   where  hoi.organization_id = p_itax_organization_id
9103   and    hoi.org_information_context = c_org_information_context
9104   and    pap.payroll_id = fnd_number.canonical_to_number(hoi.org_information1)
9105   and    p_effective_date
9106          between pap.effective_start_date and pap.effective_end_date
9107   order by
9108     pap.payroll_name,
9109     hoi.org_information2,
9110     fnd_number.canonical_to_number(hoi.org_information9),
9111     hoi.org_information8;
9112 --
9113   cursor csr_iv(
9114     p_element_type_id in number,
9115     p_input_value_id in number)
9116   is
9117   select pet.element_name,
9118          piv.name
9119   from   pay_input_values_f_vl piv,
9120          pay_element_types_f_vl pet
9121   where  piv.input_value_id = p_input_value_id
9122   and    p_effective_date
9123          between piv.effective_start_date and piv.effective_end_date
9124   and    pet.element_type_id = piv.element_type_id
9125   and    pet.element_type_id = p_element_type_id
9126   and    p_effective_date
9127          between pet.effective_start_date and pet.effective_end_date;
9128 --
9129   cursor csr_dbal(
9130     p_balance_type_id in number,
9131     p_defined_balance_id in number)
9132   is
9133   select pbt.balance_name,
9134          pbd.database_item_suffix
9135   from   pay_defined_balances pdb,
9136          pay_balance_types_vl pbt,
9137          pay_balance_dimensions_vl pbd
9138   where  pdb.defined_balance_id = p_defined_balance_id
9139   and    pbt.balance_type_id = pdb.balance_type_id
9140   and    pbt.balance_type_id = p_balance_type_id
9141   and    pbd.balance_dimension_id = pdb.balance_dimension_id;
9142 --
9143   l_csr_item_info csr_item_info%rowtype;
9144 --
9145 begin
9146 --
9147   if g_debug then
9148   --
9149     hr_utility.set_location(l_proc,0);
9150   --
9151   end if;
9152 --
9153   open csr_item_info;
9154   loop
9155   --
9156     fetch csr_item_info into l_csr_item_info;
9157     exit when csr_item_info%notfound;
9158   --
9159     if l_item_cnt = 0 then
9160     --
9161       fnd_file.put_line(fnd_file.log,'--------------------------------------------------------------------------------');
9162       fnd_file.put_line(fnd_file.log,'pay,category,type,elm,iv,bal,dim,rep name,rep seq,null valid');
9163       fnd_file.put_line(fnd_file.log,'--------------------------------------------------------------------------------');
9164     --
9165     end if;
9166   --
9167     l_item_elm := null;
9168     l_item_iv  := null;
9169     l_item_bal := null;
9170     l_item_dim := null;
9171   --
9172     if l_csr_item_info.type = 'IV' then
9173     --
9174       open csr_iv(l_csr_item_info.elm_id,l_csr_item_info.iv_id);
9175       fetch csr_iv into l_item_elm, l_item_iv;
9176       close csr_iv;
9177     --
9178     elsif l_csr_item_info.type = 'DBAL' then
9179     --
9180       open csr_dbal(l_csr_item_info.bal_id,l_csr_item_info.dbal_id);
9181       fetch csr_dbal into l_item_bal, l_item_dim;
9182       close csr_dbal;
9183     --
9184     end if;
9185   --
9186     fnd_file.put_line(fnd_file.log,l_csr_item_info.payroll_name||','||to_char(l_csr_item_info.payroll_id)||','||
9187       l_csr_item_info.category||','||l_csr_item_info.type||','||
9188       l_item_elm||','||to_char(l_csr_item_info.elm_id)||','||l_item_iv||','||to_char(l_csr_item_info.iv_id)||','||
9189       l_item_bal||','||to_char(l_csr_item_info.bal_id)||','||l_item_dim||','||to_char(l_csr_item_info.dbal_id)||','||
9190       l_csr_item_info.rep_name||','||to_char(l_csr_item_info.rep_seq)||','||l_csr_item_info.null_valid);
9191   --
9192     fnd_file.put_line(fnd_file.output,l_csr_item_info.payroll_name||','||l_csr_item_info.category||','||l_csr_item_info.type||','||
9193       l_item_elm||','||l_item_iv||','||l_item_bal||','||l_item_dim||','||l_csr_item_info.rep_name||','||to_char(l_csr_item_info.rep_seq)||','||l_csr_item_info.null_valid);
9194   --
9195     if g_debug then
9196     --
9197       hr_utility.trace(l_csr_item_info.payroll_name||','||to_char(l_csr_item_info.payroll_id)||','||
9198         l_csr_item_info.category||','||l_csr_item_info.type||','||
9199         l_item_elm||','||to_char(l_csr_item_info.elm_id)||','||l_item_iv||','||to_char(l_csr_item_info.iv_id)||','||
9200         l_item_bal||','||to_char(l_csr_item_info.bal_id)||','||l_item_dim||','||to_char(l_csr_item_info.dbal_id)||','||
9201         l_csr_item_info.rep_name||','||to_char(l_csr_item_info.rep_seq)||','||l_csr_item_info.null_valid);
9202     --
9203     end if;
9204   --
9205     l_item_cnt := l_item_cnt + 1;
9206   --
9207   end loop;
9208   close csr_item_info;
9209 --
9210   if g_debug then
9211   --
9212     hr_utility.trace('l_item_cnt : '||to_char(l_item_cnt));
9213     hr_utility.set_location(l_proc,1000);
9214   --
9215   end if;
9216 --
9217 end select_item_info;
9218 --
9219 -- -------------------------------------------------------------------------
9220 -- validate_item_info
9221 -- -------------------------------------------------------------------------
9222 procedure validate_item_info(
9223   p_business_group_id    in number,
9224   p_itax_organization_id in number,
9225   p_effective_date       in date,
9226   p_payroll_id           in number,
9227   p_category             in varchar2,
9228   p_type                 in varchar2,
9229   p_element_type_id      in number,
9230   p_input_value_id       in number,
9231   p_balance_type_id      in number,
9232   p_defined_balance_id   in number,
9233   p_report_name          in varchar2,
9234   p_report_sequence      in number,
9235   p_null_valid           in varchar2)
9236 is
9237 --
9238   l_proc varchar2(80) := c_package||'validate_item_info';
9239 --
9240   l_itax_organization_id number;
9241   l_payroll_id number;
9242   l_input_value_id number;
9243   l_defined_balance_id number;
9244 --
9245   l_org_information_id number;
9246 --
9247   cursor csr_itax_org
9248   is
9249   select hoi.organization_id
9250   from   hr_organization_information hoi,
9251          hr_all_organization_units hou
9252   where  hoi.organization_id = p_itax_organization_id
9253   and    hoi.org_information_context = 'JP_TAX_SWOT_INFO'
9254   and    hou.organization_id = hoi.organization_id;
9255 --
9256   cursor csr_payroll
9257   is
9258   select payroll_id
9259   from   pay_all_payrolls_f
9260   where  payroll_id = p_payroll_id
9261   and    p_effective_date
9262          between effective_start_date and effective_end_date;
9263 --
9264   cursor csr_iv
9265   is
9266   select piv.input_value_id
9267   from   pay_input_values_f piv,
9268          pay_element_types_f pet
9269   where  piv.input_value_id = p_input_value_id
9270   and    p_effective_date
9271          between piv.effective_start_date and piv.effective_end_date
9272   and    nvl(piv.business_group_id,p_business_group_id) = p_business_group_id
9273   and    nvl(piv.legislation_code,c_legislation_code) = c_legislation_code
9274   and    pet.element_type_id = piv.element_type_id
9275   and    pet.element_type_id = p_element_type_id
9276   and    p_effective_date
9277          between pet.effective_start_date and pet.effective_end_date
9278   and    nvl(pet.business_group_id,p_business_group_id) = p_business_group_id
9279   and    nvl(pet.legislation_code,c_legislation_code) = c_legislation_code;
9280 --
9281   cursor csr_dbal
9282   is
9283   select pdb.defined_balance_id
9284   from   pay_defined_balances pdb
9285   where  pdb.defined_balance_id = p_defined_balance_id
9286   and    nvl(pdb.business_group_id,p_business_group_id) = p_business_group_id
9287   and    nvl(pdb.legislation_code,c_legislation_code) = c_legislation_code
9288   and    pdb.balance_type_id = p_balance_type_id;
9289 --
9290   cursor csr_duplicate
9291   is
9292   select hoi.org_information_id
9293   from   hr_organization_information hoi
9294   where  hoi.organization_id = p_itax_organization_id
9295   and    hoi.org_information_context = c_org_information_context
9296   and    fnd_number.canonical_to_number(hoi.org_information1) = p_payroll_id
9297   and    hoi.org_information2 = p_category
9298   and    hoi.org_information3 = p_type
9299   and    fnd_number.canonical_to_number(decode(p_type,'IV',hoi.org_information5,'DBAL',hoi.org_information7,null))
9300           = to_number(decode(p_type,'IV',to_char(p_input_value_id),'DBAL',to_char(p_defined_balance_id),null));
9301 --
9302 begin
9303 --
9304   if g_debug then
9305   --
9306     hr_utility.set_location(l_proc,0);
9307   --
9308   end if;
9309 --
9310   hr_api.mandatory_arg_error(l_proc, 'p_business_group_id', p_business_group_id);
9311 --
9312   hr_api.mandatory_arg_error(l_proc, 'p_itax_organization_id', p_itax_organization_id);
9313   --
9314   open csr_itax_org;
9315   fetch csr_itax_org into l_itax_organization_id;
9316   close csr_itax_org;
9317   --
9318   if l_itax_organization_id is null then
9319   --
9320     fnd_message.set_name('FND','SYSTEM-INVALID ARGS');
9321     fnd_message.set_token('ROUTINE', 'p_itax_organization_id');
9322     fnd_message.raise_error;
9323   --
9324   end if;
9325 --
9326   hr_api.mandatory_arg_error(l_proc, 'p_effective_date', p_effective_date);
9327 --
9328   hr_api.mandatory_arg_error(l_proc, 'p_payroll_id', p_payroll_id);
9329   --
9330   open csr_payroll;
9331   fetch csr_payroll into l_payroll_id;
9332   close csr_payroll;
9333   --
9334   if l_payroll_id is null then
9335   --
9336     fnd_message.set_name('FND','SYSTEM-INVALID ARGS');
9337     fnd_message.set_token('ROUTINE', 'p_payroll_id');
9338     fnd_message.raise_error;
9339   --
9340   end if;
9341 --
9342   if p_category not in ('SAL_ERN','BON_ERN','WRK','SAL_DCT','BON_DCT') then
9343   --
9344     fnd_message.set_name('FND','SYSTEM-INVALID ARGS');
9345     fnd_message.set_token('ROUTINE', 'p_category');
9346     fnd_message.raise_error;
9347   --
9348   end if;
9349 --
9350   if p_type not in ('IV','DBAL') then
9351   --
9352     fnd_message.set_name('FND','SYSTEM-INVALID ARGS');
9353     fnd_message.set_token('ROUTINE', 'p_type');
9354     fnd_message.raise_error;
9355   --
9356   end if;
9357 --
9358   if p_type = 'IV' then
9359   --
9360     hr_api.mandatory_arg_error(l_proc, 'p_element_type_id', p_element_type_id);
9361     hr_api.mandatory_arg_error(l_proc, 'p_input_value_id', p_input_value_id);
9362   --
9363     open csr_iv;
9364     fetch csr_iv into l_input_value_id;
9365     close csr_iv;
9366     --
9367     if l_input_value_id is null then
9368     --
9369       fnd_message.set_name('FND','SYSTEM-INVALID ARGS');
9370       fnd_message.set_token('ROUTINE', 'p_input_value_id');
9371       fnd_message.raise_error;
9372     --
9373     end if;
9374   --
9375   elsif p_type = 'DBAL' then
9376   --
9377     hr_api.mandatory_arg_error(l_proc, 'p_balance_type_id', p_balance_type_id);
9378     hr_api.mandatory_arg_error(l_proc, 'p_defined_balance_id', p_defined_balance_id);
9379   --
9380     open csr_dbal;
9381     fetch csr_dbal into l_defined_balance_id;
9382     close csr_dbal;
9383     --
9384     if l_defined_balance_id is null then
9385     --
9386       fnd_message.set_name('FND','SYSTEM-INVALID ARGS');
9387       fnd_message.set_token('ROUTINE', 'p_defined_balance_id');
9388       fnd_message.raise_error;
9389     --
9390     end if;
9391   --
9392   end if;
9393 --
9394   hr_api.mandatory_arg_error(l_proc, 'p_report_name', p_report_name);
9395   hr_api.mandatory_arg_error(l_proc, 'p_report_sequence', p_report_sequence);
9396 --
9397   if nvl(p_null_valid,'N') not in ('Y','N') then
9398   --
9399     fnd_message.set_name('FND','SYSTEM-INVALID ARGS');
9400     fnd_message.set_token('ROUTINE', 'p_null_valid');
9401     fnd_message.raise_error;
9402   --
9403   end if;
9404 --
9405   open csr_duplicate;
9406   fetch csr_duplicate into l_org_information_id;
9407   close csr_duplicate;
9408 --
9409   if l_org_information_id is not null then
9410   --
9411     fnd_message.set_name('PAY','PER_7901_SYS_DUPLICATE_RECORDS');
9412     fnd_message.raise_error;
9413   --
9414   end if;
9415 --
9416   if g_debug then
9417   --
9418     hr_utility.set_location(l_proc,1000);
9419   --
9420   end if;
9421 --
9422 end validate_item_info;
9423 --
9424 -- -------------------------------------------------------------------------
9425 -- insert_item_info (id)
9426 -- -------------------------------------------------------------------------
9427 procedure insert_item_info(
9428   p_business_group_id    in number,
9429   p_itax_organization_id in number,
9430   p_effective_date       in date,
9431   p_payroll_id           in number,
9432   p_category             in varchar2,
9433   p_type                 in varchar2,
9434   p_element_type_id      in number,
9435   p_input_value_id       in number,
9436   p_balance_type_id      in number,
9437   p_defined_balance_id   in number,
9438   p_report_name          in varchar2,
9439   p_report_sequence      in number,
9440   p_null_valid           in varchar2,
9441   p_validate             in boolean default true)
9442 is
9443 --
9444   l_proc varchar2(80) := c_package||'insert_item_info';
9445 --
9446   l_rowid varchar2(255);
9447   l_org_information_id number;
9448 --
9449   l_element_type_id number;
9450   l_input_value_id number;
9451   l_balance_type_id number;
9452   l_defined_balance_id number;
9453   l_item_id number;
9454 --
9455 begin
9456 --
9457   if g_debug then
9458   --
9459     hr_utility.set_location(l_proc,0);
9460   --
9461   end if;
9462 --
9463   if p_validate then
9464   --
9465     validate_item_info(
9466       p_business_group_id    => p_business_group_id,
9467       p_itax_organization_id => p_itax_organization_id,
9468       p_effective_date       => p_effective_date,
9469       p_payroll_id           => p_payroll_id,
9470       p_category             => p_category,
9471       p_type                 => p_type,
9472       p_element_type_id      => p_element_type_id,
9473       p_input_value_id       => p_input_value_id,
9474       p_balance_type_id      => p_balance_type_id,
9475       p_defined_balance_id   => p_defined_balance_id,
9476       p_report_name          => p_report_name,
9477       p_report_sequence      => p_report_sequence,
9478       p_null_valid           => p_null_valid);
9479   --
9480   end if;
9481 --
9482   if g_debug then
9483   --
9484     hr_utility.set_location(l_proc,10);
9485   --
9486   end if;
9487 --
9488   if p_type = 'IV' then
9489   --
9490     l_element_type_id := p_element_type_id;
9491     l_input_value_id  := p_input_value_id;
9492     l_item_id         := l_input_value_id;
9493   --
9494   elsif p_type = 'DBAL' then
9495   --
9496     l_balance_type_id    := p_balance_type_id;
9497     l_defined_balance_id := p_defined_balance_id;
9498     l_item_id            := l_defined_balance_id;
9499   --
9500   end if;
9501 --
9502   if g_debug then
9503   --
9504     hr_utility.set_location(l_proc,20);
9505     hr_utility.trace('p_type               : '||p_type);
9506     hr_utility.trace('l_element_type_id    : '||to_char(l_element_type_id));
9507     hr_utility.trace('l_input_value_id     : '||to_char(l_input_value_id));
9508     hr_utility.trace('l_balance_type_id    : '||to_char(l_balance_type_id));
9509     hr_utility.trace('l_defined_balance_id : '||to_char(l_defined_balance_id));
9510   --
9511   end if;
9512 --
9513   hr_org_information_pkg.insert_row(
9514     x_rowid                   => l_rowid,
9515     x_org_information_id      => l_org_information_id,
9516     x_org_information_context => c_org_information_context,
9517     x_organization_id         => p_itax_organization_id,
9518     x_org_information1        => fnd_number.number_to_canonical(p_payroll_id),
9519     x_org_information2        => p_category,
9520     x_org_information3        => p_type,
9521     x_org_information4        => fnd_number.number_to_canonical(l_element_type_id),
9522     x_org_information5        => fnd_number.number_to_canonical(l_input_value_id),
9523     x_org_information6        => fnd_number.number_to_canonical(l_balance_type_id),
9524     x_org_information7        => fnd_number.number_to_canonical(l_defined_balance_id),
9525     x_org_information8        => p_report_name,
9526     x_org_information9        => p_report_sequence,
9527     x_org_information10       => p_null_valid,
9528     x_org_information11       => null,
9529     x_org_information12       => null,
9530     x_org_information13       => null,
9531     x_org_information14       => null,
9532     x_org_information15       => null,
9533     x_org_information16       => null,
9534     x_org_information17       => null,
9535     x_org_information18       => null,
9536     x_org_information19       => null,
9537     x_org_information20       => fnd_number.number_to_canonical(l_item_id),
9538     x_attribute_category      => null,
9539     x_attribute1              => null,
9540     x_attribute2              => null,
9541     x_attribute3              => null,
9542     x_attribute4              => null,
9543     x_attribute5              => null,
9544     x_attribute6              => null,
9545     x_attribute7              => null,
9546     x_attribute8              => null,
9547     x_attribute9              => null,
9548     x_attribute10             => null,
9549     x_attribute11             => null,
9550     x_attribute12             => null,
9551     x_attribute13             => null,
9552     x_attribute14             => null,
9553     x_attribute15             => null,
9554     x_attribute16             => null,
9555     x_attribute17             => null,
9556     x_attribute18             => null,
9557     x_attribute19             => null,
9558     x_attribute20             => null);
9559 --
9560   if g_debug then
9561   --
9562     hr_utility.trace('l_org_information_id : '||to_char(l_org_information_id));
9563     hr_utility.set_location(l_proc,1000);
9564   --
9565   end if;
9566 --
9567 end insert_item_info;
9568 --
9569 -- -------------------------------------------------------------------------
9570 -- insert_item_info (name)
9571 -- -------------------------------------------------------------------------
9572 procedure insert_item_info(
9573   p_business_group_id      in number,
9574   p_itax_organization_id   in number,
9575   p_effective_date         in date,
9576   p_payroll_id             in number,
9577   p_category               in varchar2,
9578   p_type                   in varchar2,
9579   p_item_business_group_id in number,
9580   p_item_legislation_code  in varchar2,
9581   p_element_name           in varchar2,
9582   p_input_value_name       in varchar2,
9583   p_balance_name           in varchar2,
9584   p_dimension_name         in varchar2,
9585   p_report_name            in varchar2,
9586   p_report_sequence        in number,
9587   p_null_valid             in varchar2,
9588   p_validate               in boolean default true)
9589 is
9590 --
9591   l_proc varchar2(80) := c_package||'insert_item_info';
9592 --
9593   l_element_type_id number;
9594   l_input_value_id number;
9595   l_balance_type_id number;
9596   l_defined_balance_id number;
9597 --
9598 begin
9599 --
9600   if g_debug then
9601   --
9602     hr_utility.set_location(l_proc,0);
9603   --
9604   end if;
9605 --
9606   if p_type = 'IV' then
9607   --
9608     l_element_type_id := hr_jp_id_pkg.element_type_id(p_element_name,p_item_business_group_id,p_item_legislation_code);
9609     l_input_value_id  := hr_jp_id_pkg.input_value_id(l_element_type_id,p_input_value_name);
9610   --
9611   elsif p_type = 'DBAL' then
9612   --
9613     l_balance_type_id    := hr_jp_id_pkg.balance_type_id(p_balance_name,p_item_business_group_id,p_item_legislation_code);
9614     l_defined_balance_id := hr_jp_id_pkg.defined_balance_id(p_balance_name,p_dimension_name,p_item_business_group_id,p_item_legislation_code);
9615   --
9616   end if;
9617 --
9618   if g_debug then
9619   --
9620     hr_utility.set_location(l_proc,10);
9621     hr_utility.trace('p_type               : '||p_type);
9622     hr_utility.trace('l_element_type_id    : '||to_char(l_element_type_id));
9623     hr_utility.trace('l_input_value_id     : '||to_char(l_input_value_id));
9624     hr_utility.trace('l_balance_type_id    : '||to_char(l_balance_type_id));
9625     hr_utility.trace('l_defined_balance_id : '||to_char(l_defined_balance_id));
9626   --
9627   end if;
9628 --
9629   insert_item_info(
9630     p_business_group_id    => p_business_group_id,
9631     p_itax_organization_id => p_itax_organization_id,
9632     p_effective_date       => p_effective_date,
9633     p_payroll_id           => p_payroll_id,
9634     p_category             => p_category,
9635     p_type                 => p_type,
9636     p_element_type_id      => l_element_type_id,
9637     p_input_value_id       => l_input_value_id,
9638     p_balance_type_id      => l_balance_type_id,
9639     p_defined_balance_id   => l_defined_balance_id,
9640     p_report_name          => p_report_name,
9641     p_report_sequence      => p_report_sequence,
9642     p_null_valid           => p_null_valid,
9643     p_validate             => p_validate);
9644 --
9645   if g_debug then
9646   --
9647     hr_utility.set_location(l_proc,1000);
9648   --
9649   end if;
9650 --
9651 end insert_item_info;
9652 --
9653 -- -------------------------------------------------------------------------
9654 -- delete_item_info
9655 -- -------------------------------------------------------------------------
9656 procedure delete_item_info(
9657   p_itax_organization_id   in number,
9658   p_effective_date         in date,
9659   p_payroll_id             in number,
9660   p_category               in varchar2,
9661   p_type                   in varchar2,
9662   p_item_id                in number)
9663 is
9664 --
9665   l_proc varchar2(80) := c_package||'delete_item_info';
9666 --
9667   l_item_cnt number := 0;
9668 --
9669   cursor csr_item_info
9670   is
9671   select hoi.rowid row_id,
9672          hoi.org_information_id
9673   from   hr_organization_information hoi
9674   where  hoi.organization_id = p_itax_organization_id
9675   and    hoi.org_information_context = c_org_information_context
9676   and    fnd_number.canonical_to_number(hoi.org_information1) = p_payroll_id
9677   and    hoi.org_information2 = p_category
9678   and    hoi.org_information3 = p_type
9679   and    fnd_number.canonical_to_number(decode(p_type,'IV',hoi.org_information5,'DBAL',hoi.org_information7,null)) = p_item_id;
9680 --
9681   l_rowid varchar2(255);
9682   l_org_information_id number;
9683 --
9684 begin
9685 --
9686   if g_debug then
9687   --
9688     hr_utility.set_location(l_proc,0);
9689   --
9690   end if;
9691 --
9692   open csr_item_info;
9693   loop
9694   --
9695     fetch csr_item_info into l_rowid, l_org_information_id;
9696     exit when csr_item_info%notfound;
9697   --
9698     hr_org_information_pkg.delete_row(
9699       x_rowid => l_rowid);
9700   --
9701     if g_debug then
9702     --
9703       hr_utility.trace('delete l_org_information_id : '||to_char(l_org_information_id));
9704     --
9705     end if;
9706   --
9707     l_item_cnt := l_item_cnt + 1;
9708   --
9709   end loop;
9710   close csr_item_info;
9711 --
9712   if g_debug then
9713   --
9714     hr_utility.trace('l_item_cnt : '||to_char(l_item_cnt));
9715     hr_utility.set_location(l_proc,1000);
9716   --
9717   end if;
9718 --
9719 end delete_item_info;
9720 --
9721 end pay_jp_itwb_dml_pkg;