45: --
46: Begin
47: --
48: l_eot := to_date('31/12/4712','dd/mm/yyyy');
49: hr_utility.set_location('Entering: unlink_plan_from_pgm',1);
50: hr_utility.set_location('cet is '||p_copy_entity_txn_id,2);
51: hr_utility.set_location('effdt is '||to_char(p_effective_date,'dd/mm/yyyy'),3);
52: --
53: -- Select all the unlinked plip rows
46: Begin
47: --
48: l_eot := to_date('31/12/4712','dd/mm/yyyy');
49: hr_utility.set_location('Entering: unlink_plan_from_pgm',1);
50: hr_utility.set_location('cet is '||p_copy_entity_txn_id,2);
51: hr_utility.set_location('effdt is '||to_char(p_effective_date,'dd/mm/yyyy'),3);
52: --
53: -- Select all the unlinked plip rows
54: --
47: --
48: l_eot := to_date('31/12/4712','dd/mm/yyyy');
49: hr_utility.set_location('Entering: unlink_plan_from_pgm',1);
50: hr_utility.set_location('cet is '||p_copy_entity_txn_id,2);
51: hr_utility.set_location('effdt is '||to_char(p_effective_date,'dd/mm/yyyy'),3);
52: --
53: -- Select all the unlinked plip rows
54: --
55: For del_plip_rec in csr_unlink_pln loop
57: -- If an existing plan is attached as to the grade ladder as a part of this txn
58: -- the plip record will be created , and when it is deleted,
59: -- the plip_id will be null
60: --
61: hr_utility.set_location('rec found '||del_plip_rec.plip_id,6);
62: If del_plip_rec.plip_id IS NOT NULL then
63: --
64: -- Determine the date-tracked mode to use when deleting the row. If no date-tracked
65: -- mode is passed, the system will determine date-tracked mode to use when deleting
65: -- mode is passed, the system will determine date-tracked mode to use when deleting
66: -- by reading actual BEN table rows.
67: --
68: --
69: hr_utility.set_location('dt mode passed '||p_datetrack_mode,7);
70: If p_datetrack_mode IS NULL then
71: --
72: Open csr_ben_plip(del_plip_rec.plip_id);
73: Fetch csr_ben_plip into l_plip_id,l_plip_start_date,l_plip_end_date,l_plip_ovn;
73: Fetch csr_ben_plip into l_plip_id,l_plip_start_date,l_plip_end_date,l_plip_ovn;
74: Close csr_ben_plip;
75: --
76: if l_plip_end_date <> l_eot then
77: hr_utility.set_location('not on last row ',15);
78: l_datetrack_mode := 'FUTURE_CHANGE';
79: else
80: hr_utility.set_location('on last row ',20);
81: l_datetrack_mode := 'DELETE';
76: if l_plip_end_date <> l_eot then
77: hr_utility.set_location('not on last row ',15);
78: l_datetrack_mode := 'FUTURE_CHANGE';
79: else
80: hr_utility.set_location('on last row ',20);
81: l_datetrack_mode := 'DELETE';
82: end if;
83: --
84: Else
83: --
84: Else
85: l_datetrack_mode := p_datetrack_mode;
86: End if;
87: hr_utility.set_location('dt mode used '||l_datetrack_mode,8);
88: --
89: ben_Plan_in_Program_api.delete_Plan_in_Program
90: (p_plip_id => del_plip_rec.plip_id
91: ,p_effective_start_date => del_plip_rec.effective_start_date
93: ,p_object_version_number => del_plip_rec.ovn
94: ,p_effective_date => p_effective_date
95: ,p_datetrack_mode => l_datetrack_mode);
96: --
97: hr_utility.set_location('delete success '||l_plip_id,9);
98: End if;
99: --
100: End loop;
101: --
98: End if;
99: --
100: End loop;
101: --
102: hr_utility.set_location('Leaving: unlink_plan_from_pgm',10);
103: --
104: Return 'SUCCESS';
105: --
106: Exception
104: Return 'SUCCESS';
105: --
106: Exception
107: When Others Then
108: hr_utility.set_location('Exception raised: unlink_plan_from_pgm'||l_plip_id,99);
109: Return 'FAILURE';
110: End;
111: --
112: -------------------------------------------------------------------------------------
153: --
154: Begin
155: --
156: l_eot := to_date('31/12/4712','dd/mm/yyyy');
157: hr_utility.set_location('Entering: unlink_oipl_from_plan',5);
158: --
159: -- Select all the unlinked oipl rows
160: --
161: For del_oipl_rec in csr_unlink_opt loop
159: -- Select all the unlinked oipl rows
160: --
161: For del_oipl_rec in csr_unlink_opt loop
162: --
163: hr_utility.set_location('checking oipl '||del_oipl_rec.oipl_id,6);
164: hr_utility.set_location('checking oipl '||del_oipl_rec.oipl_ovn,7);
165: If del_oipl_rec.oipl_id is not null then
166: --
167: -- Determine the date-tracked mode to use when deleting the row. If no date-tracked
160: --
161: For del_oipl_rec in csr_unlink_opt loop
162: --
163: hr_utility.set_location('checking oipl '||del_oipl_rec.oipl_id,6);
164: hr_utility.set_location('checking oipl '||del_oipl_rec.oipl_ovn,7);
165: If del_oipl_rec.oipl_id is not null then
166: --
167: -- Determine the date-tracked mode to use when deleting the row. If no date-tracked
168: -- mode is passed, the system will determine date-tracked mode to use when deleting
174: Fetch csr_ben_oipl into l_oipl_id,l_oipl_start_date,l_oipl_end_date,l_oipl_ovn;
175: Close csr_ben_oipl;
176: --
177: if l_oipl_end_date <> l_eot then
178: hr_utility.set_location('not on last row ',15);
179: l_datetrack_mode := 'FUTURE_CHANGE';
180: else
181: hr_utility.set_location('on last row ',20);
182: l_datetrack_mode := 'DELETE';
177: if l_oipl_end_date <> l_eot then
178: hr_utility.set_location('not on last row ',15);
179: l_datetrack_mode := 'FUTURE_CHANGE';
180: else
181: hr_utility.set_location('on last row ',20);
182: l_datetrack_mode := 'DELETE';
183: end if;
184: --
185: hr_utility.set_location('datetrack mode is '||l_datetrack_mode,7);
181: hr_utility.set_location('on last row ',20);
182: l_datetrack_mode := 'DELETE';
183: end if;
184: --
185: hr_utility.set_location('datetrack mode is '||l_datetrack_mode,7);
186: --
187: Else
188: l_datetrack_mode := p_datetrack_mode;
189: End if;
203: Return 'SUCCESS';
204: --
205: Exception
206: When Others Then
207: hr_utility.set_location('Exception raised: unlink_oipl_from_plan',99);
208: Return 'FAILURE';
209: End;
210: --
211: -------------------------------------------------------------------------------------
353: --
354: Begin
355: --
356: l_eot := to_date('31/12/4712','dd/mm/yyyy');
357: hr_utility.set_location('Entering: unlink_elig_prfl',5);
358: --
359: -- Select all the unlinked cep rows i.e eligibility profile is unlinked from a
360: -- GSP object
361: --
380: Fetch csr_ben_cep into l_cep_id,l_cep_start_date,l_cep_end_date,l_cep_ovn;
381: Close csr_ben_cep;
382: --
383: if l_cep_end_date <> l_eot then
384: hr_utility.set_location('not on last row ',15);
385: l_datetrack_mode := 'FUTURE_CHANGE';
386: else
387: hr_utility.set_location('on last row ',20);
388: l_datetrack_mode := 'DELETE';
383: if l_cep_end_date <> l_eot then
384: hr_utility.set_location('not on last row ',15);
385: l_datetrack_mode := 'FUTURE_CHANGE';
386: else
387: hr_utility.set_location('on last row ',20);
388: l_datetrack_mode := 'DELETE';
389: end if;
390: --
391: Else
430: Fetch csr_ben_epa into l_epa_id,l_epa_start_date,l_epa_end_date,l_epa_ovn;
431: Close csr_ben_epa;
432: --
433: if l_epa_end_date <> l_eot then
434: hr_utility.set_location('not on last row ',25);
435: l_datetrack_mode := 'FUTURE_CHANGE';
436: else
437: hr_utility.set_location('on last row ',30);
438: l_datetrack_mode := 'DELETE';
433: if l_epa_end_date <> l_eot then
434: hr_utility.set_location('not on last row ',25);
435: l_datetrack_mode := 'FUTURE_CHANGE';
436: else
437: hr_utility.set_location('on last row ',30);
438: l_datetrack_mode := 'DELETE';
439: end if;
440: --
441: Else
456: End if;
457: --
458: End loop;
459: --
460: hr_utility.set_location('Leaving: unlink_elig_prfl',10);
461: --
462: Return 'SUCCESS';
463: --
464: Exception
462: Return 'SUCCESS';
463: --
464: Exception
465: When Others Then
466: hr_utility.set_location('Exception raised: unlink_elig_prfl',99);
467: Return 'FAILURE';
468: --
469: End;
470: --
533: --
534: Begin
535: --
536: l_eot := to_date('31/12/4712','dd/mm/yyyy');
537: hr_utility.set_location('Entering: delete_option',5);
538: --
539: -- Select all the deleted opt rows.
540: --
541: For del_opt_rec in csr_delete_opt loop
562: If Csr_Oipl%NOTFOUND then
563: --
564: If p_datetrack_mode IS NULL then
565: if l_opt_end_date <> l_eot then
566: hr_utility.set_location('not on last row ',15);
567: l_datetrack_mode := 'FUTURE_CHANGE';
568: else
569: hr_utility.set_location('on last row ',20);
570: l_datetrack_mode := 'DELETE';
565: if l_opt_end_date <> l_eot then
566: hr_utility.set_location('not on last row ',15);
567: l_datetrack_mode := 'FUTURE_CHANGE';
568: else
569: hr_utility.set_location('on last row ',20);
570: l_datetrack_mode := 'DELETE';
571: end if;
572: --
573: Else
608: End If; -- Csr_Oipl
609: Close Csr_Oipl;
610: End loop;
611: --
612: hr_utility.set_location('Leaving: delete_option',10);
613: --
614: Return 'SUCCESS';
615: --
616: Exception
614: Return 'SUCCESS';
615: --
616: Exception
617: When Others Then
618: hr_utility.set_location('Exception raised: delete_option',99);
619: Return 'FAILURE';
620: End;
621:
622: ----------------------------------------------------------------------------
634: --
635: Begin
636: --
637: l_status := 'SUCCESS';
638: hr_utility.set_location('Entering: delete_from_ben',5);
639: --
640: -- Delete from lowest level
641: -- 1) Delete elig profiles
642: --
644: p_effective_date => p_effective_date,
645: p_datetrack_mode => p_datetrack_mode);
646:
647: if l_status = 'FAILURE' then
648: hr_utility.set_location('Failed in deleting elig',15);
649: Return 'FAILURE';
650: End if;
651: --
652: -- 2) Delete plip
654: l_status := unlink_plan_from_pgm (p_copy_entity_txn_id => p_copy_entity_txn_id,
655: p_effective_date => p_effective_date,
656: p_datetrack_mode => p_datetrack_mode);
657: if l_status = 'FAILURE' then
658: hr_utility.set_location('Failed in deleting plip',30);
659: Return 'FAILURE';
660: End if;
661: --
662: -- 3) Delete oipl
664: l_status := unlink_oipl_from_plan(p_copy_entity_txn_id => p_copy_entity_txn_id,
665: p_effective_date => p_effective_date,
666: p_datetrack_mode => p_datetrack_mode);
667: if l_status = 'FAILURE' then
668: hr_utility.set_location('Failed in deleting oipl',20);
669: Return 'FAILURE';
670: End if;
671: --
672: -- 4) Delete option
674: l_status := delete_option (p_copy_entity_txn_id => p_copy_entity_txn_id,
675: p_effective_date => p_effective_date,
676: p_datetrack_mode => p_datetrack_mode);
677: if l_status = 'FAILURE' then
678: hr_utility.set_location('Failed in deleting opt',25);
679: Return 'FAILURE';
680: End if;
681: --
682: hr_utility.set_location('Leaving: delete_from_ben',10);
678: hr_utility.set_location('Failed in deleting opt',25);
679: Return 'FAILURE';
680: End if;
681: --
682: hr_utility.set_location('Leaving: delete_from_ben',10);
683: --
684: Return 'SUCCESS';
685: --
686: End;