DBA Data[Home] [Help]

PACKAGE BODY: APPS.PER_ASG_DEL

Source


1 Package Body per_asg_del as
2 /* $Header: peasgrhi.pkb 120.44.12020000.3 2013/02/13 07:11:42 srannama ship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33)    := '  per_asg_del.';  -- Global package name
9 g_debug    boolean := hr_utility.debug_enabled;
10 --
11 -- ----------------------------------------------------------------------------
12 -- |----------------------------< dt_delete_dml >-----------------------------|
13 -- ----------------------------------------------------------------------------
14 -- {Start Of Comments}
15 --
16 -- Description:
17 --   This procedure controls the actual dml delete logic for the datetrack
18 --   delete modes: ZAP, DELETE, FUTURE_CHANGE and DELETE_NEXT_CHANGE. The
19 --   execution is as follows:
20 --   1) To set and unset the g_api_dml status as required (as we are about to
21 --      perform dml).
22 --   2) If the delete mode is DELETE_NEXT_CHANGE then delete where the
23 --      effective start date is equal to the validation start date.
24 --   3) If the delete mode is not DELETE_NEXT_CHANGE then delete
25 --      all rows for the entity where the effective start date is greater
26 --      than or equal to the validation start date.
27 --   4) To raise any errors.
28 --
29 -- Pre Conditions:
30 --   This is an internal private procedure which must be called from the
31 --   delete_dml procedure.
32 --
33 -- In Arguments:
34 --   A Pl/Sql record structre.
35 --
36 -- Post Success:
37 --   The specified row will be delete from the schema.
38 --
39 -- Post Failure:
40 --   On the delete dml failure it is important to note that we always reset the
41 --   g_api_dml status to false.
42 --   If any other error is reported, the error will be raised after the
43 --   g_api_dml status is reset.
44 --
45 -- Developer Implementation Notes:
46 --   This is an internal private procedure which must be called from the
47 --   delete_dml procedure.
48 --
49 -- Access Status:
50 --   Internal Table Handler Use Only.
51 --
52 -- {End Of Comments}
53 -- ----------------------------------------------------------------------------
54 Procedure dt_delete_dml
55     (p_rec              in out nocopy per_asg_shd.g_rec_type,
56      p_effective_date     in    date,
57      p_datetrack_mode     in    varchar2,
58      p_validation_start_date in    date,
59      p_validation_end_date     in    date) is
60 --
61   l_proc    varchar2(72) := g_package||'dt_delete_dml';
62 --
63 Begin
64   hr_utility.set_location('Entering:'||l_proc, 5);
65   If (p_datetrack_mode = 'DELETE_NEXT_CHANGE') then
66     hr_utility.set_location(l_proc, 10);
67     per_asg_shd.g_api_dml := true;  -- Set the api dml status
68     --
69     -- Delete the where the effective start date is equal
70     -- to the validation end date.
71     --
72     delete from per_all_assignments_f
73     where assignment_id        = p_rec.assignment_id
74     and      effective_start_date = p_validation_start_date;
75     --
76     per_asg_shd.g_api_dml := false;   -- Unset the api dml status
77   Else
78     hr_utility.set_location(l_proc, 15);
79     per_asg_shd.g_api_dml := true;  -- Set the api dml status
80     --
81     -- Delete the row(s) where the effective start date is greater than
82     -- or equal to the validation start date.
83     --
84     delete from per_all_assignments_f
85     where assignment_id         = p_rec.assignment_id
86     and      effective_start_date >= p_validation_start_date;
87     --
88     per_asg_shd.g_api_dml := false;   -- Unset the api dml status
89   End If;
90   hr_utility.set_location(' Leaving:'||l_proc, 20);
91 --
92 Exception
93   When Others Then
94     per_asg_shd.g_api_dml := false;   -- Unset the api dml status
95     Raise;
96 End dt_delete_dml;
97 --
98 -- ----------------------------------------------------------------------------
99 -- |------------------------------< delete_dml >------------------------------|
100 -- ----------------------------------------------------------------------------
101 Procedure delete_dml
102     (p_rec              in out nocopy per_asg_shd.g_rec_type,
103      p_effective_date     in    date,
104      p_datetrack_mode     in    varchar2,
105      p_validation_start_date in    date,
106      p_validation_end_date     in    date) is
107 --
108   l_proc    varchar2(72) := g_package||'delete_dml';
109 --
110 Begin
111   hr_utility.set_location('Entering:'||l_proc, 5);
112   --
113   dt_delete_dml(p_rec            => p_rec,
114         p_effective_date    => p_effective_date,
115         p_datetrack_mode    => p_datetrack_mode,
116                p_validation_start_date    => p_validation_start_date,
117         p_validation_end_date    => p_validation_end_date);
118   --
119   hr_utility.set_location(' Leaving:'||l_proc, 10);
120 End delete_dml;
121 --
122 -- ----------------------------------------------------------------------------
123 -- |----------------------------< dt_pre_delete >-----------------------------|
124 -- ----------------------------------------------------------------------------
125 -- {Start Of Comments}
126 --
127 -- Description:
128 --   The dt_pre_delete process controls the execution of dml
129 --   for the datetrack modes: DELETE, FUTURE_CHANGE
130 --   and DELETE_NEXT_CHANGE only.
131 --
132 -- Pre Conditions:
133 --   This is an internal procedure which is called from the pre_delete
134 --   procedure.
135 --
136 -- In Arguments:
137 --   A Pl/Sql record structre.
138 --
139 -- Post Success:
140 --   Processing continues.
141 --
142 -- Post Failure:
143 --   If an error has occurred, an error message and exception will be raised
144 --   but not handled.
145 --
146 -- Developer Implementation Notes:
147 --   This is an internal procedure which is required by Datetrack. Don't
148 --   remove or modify.
149 --
150 -- Access Status:
151 --   Internal Table Handler Use Only.
152 --
153 -- {End Of Comments}
154 -- ----------------------------------------------------------------------------
155 Procedure dt_pre_delete
156     (p_rec              in out nocopy per_asg_shd.g_rec_type,
157      p_effective_date     in    date,
158      p_datetrack_mode     in    varchar2,
159      p_validation_start_date in    date,
160      p_validation_end_date     in    date) is
161 --
162   l_proc    varchar2(72) := g_package||'dt_pre_delete';
163 --
164 Begin
165   hr_utility.set_location('Entering:'||l_proc, 5);
166   --
167   If (p_datetrack_mode <> 'ZAP') then
168     --
169     p_rec.effective_start_date := per_asg_shd.g_old_rec.effective_start_date;
170     --
171     If (p_datetrack_mode = 'DELETE') then
172       p_rec.effective_end_date := p_validation_start_date - 1;
173     Else
174       p_rec.effective_end_date := p_validation_end_date;
175     End If;
176     --
177     -- Update the current effective end date record
178     --
179     per_asg_shd.upd_effective_end_date
180       (p_effective_date            => p_effective_date,
181        p_base_key_value            => p_rec.assignment_id,
182        p_new_effective_end_date => p_rec.effective_end_date,
183        p_validation_start_date  => p_validation_start_date,
184        p_validation_end_date    => p_validation_end_date,
185        p_object_version_number  => p_rec.object_version_number);
186   --
187   -- 70.1 change g start.
188   --
189   Else
190     p_rec.effective_start_date := null;
191     p_rec.effective_end_date   := null;
192   --
193   -- 70.1 change g end.
194   --
195   End If;
196   hr_utility.set_location(' Leaving:'||l_proc, 10);
197 End dt_pre_delete;
198 --
199 -- ----------------------------------------------------------------------------
200 -- |------------------------------< pre_delete >------------------------------|
201 -- ----------------------------------------------------------------------------
202 -- {Start Of Comments}
203 --
204 -- Description:
205 --   This private procedure contains any processing which is required before
206 --   the delete dml.
207 --
208 -- Pre Conditions:
209 --   This is an internal procedure which is called from the del procedure.
210 --
211 -- In Arguments:
212 --   A Pl/Sql record structre.
213 --
214 -- Post Success:
215 --   Processing continues.
216 --
217 -- Post Failure:
218 --   If an error has occurred, an error message and exception will be raised
219 --   but not handled.
220 --
221 -- Developer Implementation Notes:
222 --   Any pre-processing required before the delete dml is issued should be
223 --   coded within this procedure. It is important to note that any 3rd party
224 --   maintenance should be reviewed before placing in this procedure. The call
225 --   to the dt_delete_dml procedure should NOT be removed.
226 --
227 -- Access Status:
228 --   Internal Table Handler Use Only.
229 --
230 -- {End Of Comments}
231 -- ----------------------------------------------------------------------------
232 Procedure pre_delete
233     (p_rec              in out nocopy per_asg_shd.g_rec_type,
234      p_effective_date     in    date,
235      p_datetrack_mode     in    varchar2,
236      p_validation_start_date in    date,
237      p_validation_end_date     in    date) is
238 --
239   l_proc    varchar2(72) := g_package||'pre_delete';
240 --
241   -- Cursor C_Sel1 select comments to be deleted
242   --
243   Cursor C_Sel1 is
244     select asg1.comment_id
245     from   per_all_assignments_f asg1
246     where  asg1.comment_id           is not null
247     and    asg1.assignment_id         = p_rec.assignment_id
248     and    asg1.effective_start_date <= p_validation_end_date
249     and    asg1.effective_end_date   >= p_validation_start_date
250     and    not exists
251            (select 1
252             from   per_all_assignments_f asg2
253             where  asg2.comment_id           = asg1.comment_id
254             and    asg2.assignment_id        = asg1.assignment_id
255             and   (asg2.effective_start_date > p_validation_end_date
256              or    asg2.effective_end_date   < p_validation_start_date));
257   --
258 --
259 Begin
260   hr_utility.set_location('Entering:'||l_proc, 5);
261   --
262   --
263   -- Delete any possible comments
264   --
265   For Comm_Del In C_Sel1 Loop
266     hr_comm_api.del(p_comment_id        => Comm_Del.comment_id);
267   End Loop;
268   --
269   dt_pre_delete
270     (p_rec              => p_rec,
271      p_effective_date         => p_effective_date,
272      p_datetrack_mode         => p_datetrack_mode,
273      p_validation_start_date => p_validation_start_date,
274      p_validation_end_date   => p_validation_end_date);
275   --
276   hr_utility.set_location(' Leaving:'||l_proc, 10);
277 End pre_delete;
278 --
279 -- ----------------------------------------------------------------------------
280 -- |-----------------------------< post_delete >------------------------------|
281 -- ----------------------------------------------------------------------------
282 -- {Start Of Comments}
283 --
284 -- Description:
285 --   This private procedure contains any processing which is required after the
286 --   delete dml.
287 --
288 -- Pre Conditions:
289 --   This is an internal procedure which is called from the del procedure.
290 --
291 -- In Arguments:
292 --   A Pl/Sql record structre.
293 --
294 -- Post Success:
295 --   Processing continues.
296 --
297 -- Post Failure:
298 --   If an error has occurred, an error message and exception will be raised
299 --   but not handled.
300 --
301 -- Developer Implementation Notes:
302 --   Any post-processing required after the delete dml is issued should be
303 --   coded within this procedure. It is important to note that any 3rd party
304 --   maintenance should be reviewed before placing in this procedure.
305 --
306 -- Access Status:
307 --   Internal Table Handler Use Only.
308 --
309 -- {End Of Comments}
310 -- ----------------------------------------------------------------------------
311 Procedure post_delete
312     (p_rec                         in  per_asg_shd.g_rec_type,
313      p_effective_date              in  date,
314      p_datetrack_mode              in  varchar2,
315      p_validation_start_date       in  date,
316      p_validation_end_date         in  date,
317      p_org_now_no_manager_warning  in  boolean,
318      p_loc_change_tax_issues       OUT nocopy boolean,
319      p_delete_asg_budgets          OUT nocopy boolean,
320      p_element_salary_warning      OUT nocopy boolean,
321      p_element_entries_warning     OUT nocopy boolean,
322      p_spp_warning                 OUT nocopy boolean,
323      p_cost_warning                OUT nocopy boolean,
324      p_life_events_exists   	   OUT nocopy boolean,
325      p_cobra_coverage_elements     OUT nocopy boolean,
326      p_assgt_term_elements         OUT nocopy boolean,
327      ---
328      p_new_prim_ass_id             IN number,
329      p_prim_change_flag            IN varchar2,
330      p_new_end_date                IN date,
331      p_new_primary_flag            IN varchar2,
332      p_s_pay_id                    IN number,
333      p_cancel_atd                  IN date,
334      p_cancel_lspd                 IN date,
335      p_reterm_atd                  IN date,
336      p_reterm_lspd                 IN date,
337      ---
338      p_appl_asg_new_end_date       IN date ) is
339 --
340   l_proc                       varchar2(72) := g_package||'post_delete';
341   l_loc_change_tax_issues      boolean; --4888485 , all declarations below are new
342   l_delete_asg_budgets         boolean;
343   l_element_salary_warning     boolean;
344   l_element_entries_warning    boolean;
345   l_spp_warning                boolean;
346   l_cost_warning               boolean;
347   l_life_events_exists         boolean;
348   l_cobra_coverage_elements    boolean;
349   l_assgt_term_elements        boolean;
350   l_org_now_no_manager_warning boolean;
351 --
352 Begin
353   hr_utility.set_location('Entering:'||l_proc, 5);
354   --
355   -- Start of API User Hook for post_delete.
356   --
357   if g_debug then
358      hr_utility.set_location('Before calling post_delete checks ', 10);
359   end if;
360   -- 4888485 -- Added new params
361   hr_assignment_internal.post_delete
362     (p_rec                        => p_rec,
363      p_effective_date             => p_effective_date,
364      p_datetrack_mode             => p_datetrack_mode,
365      p_validation_start_date      => p_validation_start_date,
366      p_validation_end_date        => p_validation_end_date,
367      p_org_now_no_manager_warning => l_org_now_no_manager_warning,
368      p_loc_change_tax_issues      => l_loc_change_tax_issues,
369      p_delete_asg_budgets         => l_delete_asg_budgets,
370      p_element_salary_warning     => l_element_salary_warning,
371      p_element_entries_warning    => l_element_entries_warning,
372      p_spp_warning                => l_spp_warning,
373      P_cost_warning               => l_cost_warning,
374      p_life_events_exists   	  => l_life_events_exists,
375      p_cobra_coverage_elements    => l_cobra_coverage_elements,
376      p_assgt_term_elements        => l_assgt_term_elements,
377      ---
378      p_new_prim_ass_id            => p_new_prim_ass_id,
379      p_prim_change_flag           => p_prim_change_flag,
380      p_new_end_date               => p_new_end_date,
381      p_new_primary_flag           => p_new_primary_flag,
382      p_s_pay_id                   => p_s_pay_id,
383      p_cancel_atd                 => p_cancel_atd,
384      p_cancel_lspd                => p_cancel_lspd,
385      p_reterm_atd                 => p_reterm_atd,
386      p_reterm_lspd                => p_reterm_lspd,
387      ---
388      p_appl_asg_new_end_date      => p_appl_asg_new_end_date );
389   --
390   begin
391     per_asg_rkd.after_delete
392       (p_effective_date            => p_effective_date
393       ,p_datetrack_mode            => p_datetrack_mode
394       ,p_validation_start_date     => p_validation_start_date
395       ,p_validation_end_date       => p_validation_end_date
396       ,p_assignment_id               => p_rec.assignment_id
397       ,p_effective_start_date      => p_rec.effective_start_date
398       ,p_effective_end_date        => p_rec.effective_end_date
399       ,p_org_now_no_manager_warning
400                                    => p_org_now_no_manager_warning
401       ,p_object_version_number     => p_rec.object_version_number
402       ,p_effective_start_date_o
403           => per_asg_shd.g_old_rec.effective_start_date
404       ,p_effective_end_date_o
405           => per_asg_shd.g_old_rec.effective_end_date
406       ,p_business_group_id_o
407           => per_asg_shd.g_old_rec.business_group_id
408       ,p_recruiter_id_o
409           => per_asg_shd.g_old_rec.recruiter_id
410       ,p_grade_id_o
411           => per_asg_shd.g_old_rec.grade_id
412       ,p_position_id_o
413           => per_asg_shd.g_old_rec.position_id
414       ,p_job_id_o
415           => per_asg_shd.g_old_rec.job_id
416       ,p_assignment_status_type_id_o
417           => per_asg_shd.g_old_rec.assignment_status_type_id
418       ,p_payroll_id_o
419           => per_asg_shd.g_old_rec.payroll_id
420       ,p_location_id_o
421           => per_asg_shd.g_old_rec.location_id
422       ,p_person_referred_by_id_o
423           => per_asg_shd.g_old_rec.person_referred_by_id
424       ,p_supervisor_id_o
425           => per_asg_shd.g_old_rec.supervisor_id
426       ,p_special_ceiling_step_id_o
427           => per_asg_shd.g_old_rec.special_ceiling_step_id
428       ,p_person_id_o
429           => per_asg_shd.g_old_rec.person_id
430       ,p_recruitment_activity_id_o
431           => per_asg_shd.g_old_rec.recruitment_activity_id
432       ,p_source_organization_id_o
433           => per_asg_shd.g_old_rec.source_organization_id
434       ,p_organization_id_o
435           => per_asg_shd.g_old_rec.organization_id
436       ,p_people_group_id_o
437           => per_asg_shd.g_old_rec.people_group_id
438       ,p_soft_coding_keyflex_id_o
439           => per_asg_shd.g_old_rec.soft_coding_keyflex_id
440       ,p_vacancy_id_o
441           => per_asg_shd.g_old_rec.vacancy_id
442       ,p_pay_basis_id_o
443           => per_asg_shd.g_old_rec.pay_basis_id
444       ,p_assignment_sequence_o
445           => per_asg_shd.g_old_rec.assignment_sequence
446       ,p_assignment_type_o
447           => per_asg_shd.g_old_rec.assignment_type
448       ,p_primary_flag_o
449           => per_asg_shd.g_old_rec.primary_flag
450       ,p_application_id_o
451           => per_asg_shd.g_old_rec.application_id
452       ,p_assignment_number_o
453           => per_asg_shd.g_old_rec.assignment_number
454       ,p_change_reason_o
455           => per_asg_shd.g_old_rec.change_reason
456       ,p_comment_id_o
457           => per_asg_shd.g_old_rec.comment_id
458       ,p_date_probation_end_o
459           => per_asg_shd.g_old_rec.date_probation_end
460       ,p_default_code_comb_id_o
461           => per_asg_shd.g_old_rec.default_code_comb_id
462       ,p_employment_category_o
463           => per_asg_shd.g_old_rec.employment_category
464       ,p_frequency_o
465           => per_asg_shd.g_old_rec.frequency
466       ,p_internal_address_line_o
467           => per_asg_shd.g_old_rec.internal_address_line
468       ,p_manager_flag_o
469           => per_asg_shd.g_old_rec.manager_flag
470       ,p_normal_hours_o
471           => per_asg_shd.g_old_rec.normal_hours
472       ,p_perf_review_period_o
473           => per_asg_shd.g_old_rec.perf_review_period
474       ,p_perf_review_period_frequen_o
475           => per_asg_shd.g_old_rec.perf_review_period_frequency
476       ,p_period_of_service_id_o
477           => per_asg_shd.g_old_rec.period_of_service_id
478       ,p_probation_period_o
479           => per_asg_shd.g_old_rec.probation_period
480       ,p_probation_unit_o
481           => per_asg_shd.g_old_rec.probation_unit
482       ,p_sal_review_period_o
483           => per_asg_shd.g_old_rec.sal_review_period
484       ,p_sal_review_period_frequen_o
485           => per_asg_shd.g_old_rec.sal_review_period_frequency
486       ,p_set_of_books_id_o
487           => per_asg_shd.g_old_rec.set_of_books_id
488       ,p_source_type_o
489           => per_asg_shd.g_old_rec.source_type
490       ,p_time_normal_finish_o
491           => per_asg_shd.g_old_rec.time_normal_finish
492       ,p_time_normal_start_o
493           => per_asg_shd.g_old_rec.time_normal_start
494       ,p_bargaining_unit_code_o
495           => per_asg_shd.g_old_rec.bargaining_unit_code
496       ,p_labour_union_member_flag_o
497           => per_asg_shd.g_old_rec.labour_union_member_flag
498       ,p_hourly_salaried_code_o
499           => per_asg_shd.g_old_rec.hourly_salaried_code
500       ,p_request_id_o
501           => per_asg_shd.g_old_rec.request_id
502       ,p_program_application_id_o
503           => per_asg_shd.g_old_rec.program_application_id
504       ,p_program_id_o
505           => per_asg_shd.g_old_rec.program_id
506       ,p_program_update_date_o
507           => per_asg_shd.g_old_rec.program_update_date
508       ,p_ass_attribute_category_o
509           => per_asg_shd.g_old_rec.ass_attribute_category
510       ,p_ass_attribute1_o
511           => per_asg_shd.g_old_rec.ass_attribute1
512       ,p_ass_attribute2_o
513           => per_asg_shd.g_old_rec.ass_attribute2
514       ,p_ass_attribute3_o
515           => per_asg_shd.g_old_rec.ass_attribute3
516       ,p_ass_attribute4_o
517           => per_asg_shd.g_old_rec.ass_attribute4
518       ,p_ass_attribute5_o
519           => per_asg_shd.g_old_rec.ass_attribute5
520       ,p_ass_attribute6_o
521           => per_asg_shd.g_old_rec.ass_attribute6
522       ,p_ass_attribute7_o
523           => per_asg_shd.g_old_rec.ass_attribute7
524       ,p_ass_attribute8_o
525           => per_asg_shd.g_old_rec.ass_attribute8
526       ,p_ass_attribute9_o
527           => per_asg_shd.g_old_rec.ass_attribute9
528       ,p_ass_attribute10_o
529           => per_asg_shd.g_old_rec.ass_attribute10
530       ,p_ass_attribute11_o
531           => per_asg_shd.g_old_rec.ass_attribute11
532       ,p_ass_attribute12_o
533           => per_asg_shd.g_old_rec.ass_attribute12
534       ,p_ass_attribute13_o
535           => per_asg_shd.g_old_rec.ass_attribute13
536       ,p_ass_attribute14_o
537           => per_asg_shd.g_old_rec.ass_attribute14
538       ,p_ass_attribute15_o
539           => per_asg_shd.g_old_rec.ass_attribute15
540       ,p_ass_attribute16_o
541           => per_asg_shd.g_old_rec.ass_attribute16
542       ,p_ass_attribute17_o
543           => per_asg_shd.g_old_rec.ass_attribute17
544       ,p_ass_attribute18_o
545           => per_asg_shd.g_old_rec.ass_attribute18
546       ,p_ass_attribute19_o
547           => per_asg_shd.g_old_rec.ass_attribute19
548       ,p_ass_attribute20_o
549           => per_asg_shd.g_old_rec.ass_attribute20
550       ,p_ass_attribute21_o
551           => per_asg_shd.g_old_rec.ass_attribute21
552       ,p_ass_attribute22_o
553           => per_asg_shd.g_old_rec.ass_attribute22
554       ,p_ass_attribute23_o
555           => per_asg_shd.g_old_rec.ass_attribute23
556       ,p_ass_attribute24_o
557           => per_asg_shd.g_old_rec.ass_attribute24
558       ,p_ass_attribute25_o
559           => per_asg_shd.g_old_rec.ass_attribute25
560       ,p_ass_attribute26_o
561           => per_asg_shd.g_old_rec.ass_attribute26
562       ,p_ass_attribute27_o
563           => per_asg_shd.g_old_rec.ass_attribute27
564       ,p_ass_attribute28_o
565           => per_asg_shd.g_old_rec.ass_attribute28
566       ,p_ass_attribute29_o
567           => per_asg_shd.g_old_rec.ass_attribute29
568       ,p_ass_attribute30_o
569           => per_asg_shd.g_old_rec.ass_attribute30
570       ,p_title_o
571           => per_asg_shd.g_old_rec.title
572       ,p_contract_id_o
573           => per_asg_shd.g_old_rec.contract_id
574       ,p_establishment_id_o
575           => per_asg_shd.g_old_rec.establishment_id
576       ,p_collective_agreement_id_o
577           => per_asg_shd.g_old_rec.collective_agreement_id
578       ,p_cagr_grade_def_id_o
579           => per_asg_shd.g_old_rec.cagr_grade_def_id
580       ,p_cagr_id_flex_num_o
581           => per_asg_shd.g_old_rec.cagr_id_flex_num
582       ,p_object_version_number_o
583           => per_asg_shd.g_old_rec.object_version_number
584       ,p_notice_period_o
585           => per_asg_shd.g_old_rec.notice_period
586       ,p_notice_period_uom_o
587           => per_asg_shd.g_old_rec.notice_period_uom
588       ,p_employee_category_o
589           => per_asg_shd.g_old_rec.employee_category
590       ,p_work_at_home_o
591           => per_asg_shd.g_old_rec.work_at_home
592       ,p_job_post_source_name_o
593           => per_asg_shd.g_old_rec.job_post_source_name
594       ,p_posting_content_id_o
595           => per_asg_shd.g_old_rec.posting_content_id
596       ,p_placement_date_start_o
597           => per_asg_shd.g_old_rec.period_of_placement_date_start
598       ,p_vendor_id_o
599           => per_asg_shd.g_old_rec.vendor_id
600       ,p_vendor_employee_number_o
601           => per_asg_shd.g_old_rec.vendor_employee_number
602       ,p_vendor_assignment_number_o
603           => per_asg_shd.g_old_rec.vendor_assignment_number
604       ,p_assignment_category_o
605           => per_asg_shd.g_old_rec.assignment_category
606       ,p_project_title_o
607           => per_asg_shd.g_old_rec.project_title
608       ,p_applicant_rank_o
609           => per_asg_shd.g_old_rec.applicant_rank
610       ,p_grade_ladder_pgm_id_o
611           => per_asg_shd.g_old_rec.grade_ladder_pgm_id
612       ,p_supervisor_assignment_id_o
613           => per_asg_shd.g_old_rec.supervisor_assignment_id
614       ,p_vendor_site_id_o
615           => per_asg_shd.g_old_rec.vendor_site_id
616       ,p_po_header_id_o
617           => per_asg_shd.g_old_rec.po_header_id
618       ,p_po_line_id_o
619           => per_asg_shd.g_old_rec.po_line_id
620       ,p_projected_assignment_end_o
621           => per_asg_shd.g_old_rec.projected_assignment_end
622        );
623   exception
624     when hr_api.cannot_find_prog_unit then
625       hr_api.cannot_find_prog_unit_error
626         (p_module_name => 'PER_ALL_ASSIGNMENTS_F'
627         ,p_hook_type   => 'AD'
628         );
629   end;
630   -- End of API User Hook for post_delete.
631   --
632   -- Temporary hardcoded hook added for pay object group functionality. Will
633   -- replace by proper hook when dynamic triggers for assignments converted
634   -- to package dynamic triggers.
635   --
636 hr_utility.trace('ovn: '||to_char(p_rec.object_version_number));
637   pay_pog_all_assignments_pkg.after_delete
638   (p_effective_date               => p_effective_date
639   ,p_datetrack_mode               => p_datetrack_mode
640   ,p_validation_start_date        => p_validation_start_date
641   ,p_validation_end_date          => p_validation_end_date
642   ,P_ASSIGNMENT_ID                => p_rec.assignment_id
643   ,P_EFFECTIVE_END_DATE           => p_rec.effective_end_date
644   ,P_EFFECTIVE_START_DATE         => p_rec.effective_start_date
645   ,P_OBJECT_VERSION_NUMBER        => p_rec.object_version_number
646   ,P_ORG_NOW_NO_MANAGER_WARNING   => p_org_now_no_manager_warning
647   ,P_APPLICANT_RANK_O             => per_asg_shd.g_old_rec.applicant_rank
648   ,P_APPLICATION_ID_O             => per_asg_shd.g_old_rec.application_id
649   ,P_ASSIGNMENT_CATEGORY_O        => per_asg_shd.g_old_rec.assignment_category
650   ,P_ASSIGNMENT_NUMBER_O          => per_asg_shd.g_old_rec.assignment_number
651   ,P_ASSIGNMENT_SEQUENCE_O        => per_asg_shd.g_old_rec.assignment_sequence
652   ,P_ASSIGNMENT_STATUS_TYPE_ID_O  => per_asg_shd.g_old_rec.assignment_status_type_id
653   ,P_ASSIGNMENT_TYPE_O            => per_asg_shd.g_old_rec.assignment_type
654   ,P_ASS_ATTRIBUTE1_O             => per_asg_shd.g_old_rec.ass_attribute1
655   ,P_ASS_ATTRIBUTE10_O            => per_asg_shd.g_old_rec.ass_attribute10
656   ,P_ASS_ATTRIBUTE11_O            => per_asg_shd.g_old_rec.ass_attribute11
657   ,P_ASS_ATTRIBUTE12_O            => per_asg_shd.g_old_rec.ass_attribute12
658   ,P_ASS_ATTRIBUTE13_O            => per_asg_shd.g_old_rec.ass_attribute13
659   ,P_ASS_ATTRIBUTE14_O            => per_asg_shd.g_old_rec.ass_attribute14
660   ,P_ASS_ATTRIBUTE15_O            => per_asg_shd.g_old_rec.ass_attribute15
661   ,P_ASS_ATTRIBUTE16_O            => per_asg_shd.g_old_rec.ass_attribute16
662   ,P_ASS_ATTRIBUTE17_O            => per_asg_shd.g_old_rec.ass_attribute17
663   ,P_ASS_ATTRIBUTE18_O            => per_asg_shd.g_old_rec.ass_attribute18
664   ,P_ASS_ATTRIBUTE19_O            => per_asg_shd.g_old_rec.ass_attribute19
665   ,P_ASS_ATTRIBUTE2_O             => per_asg_shd.g_old_rec.ass_attribute2
666   ,P_ASS_ATTRIBUTE20_O            => per_asg_shd.g_old_rec.ass_attribute20
667   ,P_ASS_ATTRIBUTE21_O            => per_asg_shd.g_old_rec.ass_attribute21
668   ,P_ASS_ATTRIBUTE22_O            => per_asg_shd.g_old_rec.ass_attribute22
669   ,P_ASS_ATTRIBUTE23_O            => per_asg_shd.g_old_rec.ass_attribute23
670   ,P_ASS_ATTRIBUTE24_O            => per_asg_shd.g_old_rec.ass_attribute24
671   ,P_ASS_ATTRIBUTE25_O            => per_asg_shd.g_old_rec.ass_attribute25
672   ,P_ASS_ATTRIBUTE26_O            => per_asg_shd.g_old_rec.ass_attribute26
673   ,P_ASS_ATTRIBUTE27_O            => per_asg_shd.g_old_rec.ass_attribute27
674   ,P_ASS_ATTRIBUTE28_O            => per_asg_shd.g_old_rec.ass_attribute28
675   ,P_ASS_ATTRIBUTE29_O            => per_asg_shd.g_old_rec.ass_attribute29
676   ,P_ASS_ATTRIBUTE3_O             => per_asg_shd.g_old_rec.ass_attribute3
677   ,P_ASS_ATTRIBUTE30_O            => per_asg_shd.g_old_rec.ass_attribute30
678   ,P_ASS_ATTRIBUTE4_O             => per_asg_shd.g_old_rec.ass_attribute4
679   ,P_ASS_ATTRIBUTE5_O             => per_asg_shd.g_old_rec.ass_attribute5
680   ,P_ASS_ATTRIBUTE6_O             => per_asg_shd.g_old_rec.ass_attribute6
681   ,P_ASS_ATTRIBUTE7_O             => per_asg_shd.g_old_rec.ass_attribute7
682   ,P_ASS_ATTRIBUTE8_O             => per_asg_shd.g_old_rec.ass_attribute8
683   ,P_ASS_ATTRIBUTE9_O             => per_asg_shd.g_old_rec.ass_attribute9
684   ,P_ASS_ATTRIBUTE_CATEGORY_O     => per_asg_shd.g_old_rec.ass_attribute_category
685   ,P_BARGAINING_UNIT_CODE_O       => per_asg_shd.g_old_rec.bargaining_unit_code
686   ,P_BUSINESS_GROUP_ID_O          => per_asg_shd.g_old_rec.business_group_id
687   ,P_CAGR_GRADE_DEF_ID_O          => per_asg_shd.g_old_rec.cagr_grade_def_id
688   ,P_CAGR_ID_FLEX_NUM_O           => per_asg_shd.g_old_rec.cagr_id_flex_num
689   ,P_CHANGE_REASON_O              => per_asg_shd.g_old_rec.change_reason
690   ,P_COLLECTIVE_AGREEMENT_ID_O    => per_asg_shd.g_old_rec.collective_agreement_id
691   ,P_COMMENT_ID_O                 => per_asg_shd.g_old_rec.comment_id
692   ,P_CONTRACT_ID_O                => per_asg_shd.g_old_rec.contract_id
693   ,P_DATE_PROBATION_END_O         => per_asg_shd.g_old_rec.date_probation_end --fix for bug 5108658
694   ,P_DEFAULT_CODE_COMB_ID_O       => per_asg_shd.g_old_rec.default_code_comb_id
695   ,P_EFFECTIVE_END_DATE_O         => per_asg_shd.g_old_rec.effective_end_date
696   ,P_EFFECTIVE_START_DATE_O       => per_asg_shd.g_old_rec.effective_start_date
697   ,P_EMPLOYEE_CATEGORY_O          => per_asg_shd.g_old_rec.employee_category
698   ,P_EMPLOYMENT_CATEGORY_O        => per_asg_shd.g_old_rec.employment_category
699   ,P_ESTABLISHMENT_ID_O           => per_asg_shd.g_old_rec.establishment_id
700   ,P_FREQUENCY_O                  => per_asg_shd.g_old_rec.frequency
701   ,P_GRADE_ID_O                   => per_asg_shd.g_old_rec.grade_id
702   ,P_HOURLY_SALARIED_CODE_O       => per_asg_shd.g_old_rec.hourly_salaried_code
703   ,P_INTERNAL_ADDRESS_LINE_O      => per_asg_shd.g_old_rec.internal_address_line
704   ,P_JOB_ID_O                     => per_asg_shd.g_old_rec.job_id
705   ,P_JOB_POST_SOURCE_NAME_O       => per_asg_shd.g_old_rec.job_post_source_name
706   ,P_LABOUR_UNION_MEMBER_FLAG_O   => per_asg_shd.g_old_rec.labour_union_member_flag
707   ,P_LOCATION_ID_O                => per_asg_shd.g_old_rec.location_id
708   ,P_MANAGER_FLAG_O               => per_asg_shd.g_old_rec.manager_flag
709   ,P_NORMAL_HOURS_O               => per_asg_shd.g_old_rec.normal_hours
710   ,P_NOTICE_PERIOD_O              => per_asg_shd.g_old_rec.notice_period
711   ,P_NOTICE_PERIOD_UOM_O          => per_asg_shd.g_old_rec.notice_period_uom
712   ,P_OBJECT_VERSION_NUMBER_O      => per_asg_shd.g_old_rec.object_version_number
713   ,P_ORGANIZATION_ID_O            => per_asg_shd.g_old_rec.organization_id
714   ,P_PAYROLL_ID_O                 => per_asg_shd.g_old_rec.payroll_id
715   ,P_PAY_BASIS_ID_O               => per_asg_shd.g_old_rec.pay_basis_id
716   ,P_PEOPLE_GROUP_ID_O            => per_asg_shd.g_old_rec.people_group_id
717   ,P_PERF_REVIEW_PERIOD_O         => per_asg_shd.g_old_rec.perf_review_period
718   ,P_PERF_REVIEW_PERIOD_FREQUEN_O => per_asg_shd.g_old_rec.perf_review_period_frequency
719   ,P_PERIOD_OF_SERVICE_ID_O       => per_asg_shd.g_old_rec.period_of_service_id
720   ,P_PERSON_ID_O                  => per_asg_shd.g_old_rec.person_id
721   ,P_PERSON_REFERRED_BY_ID_O      => per_asg_shd.g_old_rec.person_referred_by_id
722   ,P_PLACEMENT_DATE_START_O       => per_asg_shd.g_old_rec.period_of_placement_date_start
723   ,P_POSITION_ID_O                => per_asg_shd.g_old_rec.position_id
724   ,P_POSTING_CONTENT_ID_O         => per_asg_shd.g_old_rec.posting_content_id
725   ,P_PRIMARY_FLAG_O               => per_asg_shd.g_old_rec.primary_flag
726   ,P_PROBATION_PERIOD_O           => per_asg_shd.g_old_rec.probation_period
727   ,P_PROBATION_UNIT_O             => per_asg_shd.g_old_rec.probation_unit
728   ,P_PROGRAM_APPLICATION_ID_O     => per_asg_shd.g_old_rec.program_application_id
729   ,P_PROGRAM_ID_O                 => per_asg_shd.g_old_rec.program_id
730   ,P_PROGRAM_UPDATE_DATE_O        => per_asg_shd.g_old_rec.program_update_date
731   ,P_PROJECT_TITLE_O              => per_asg_shd.g_old_rec.project_title
732   ,P_RECRUITER_ID_O               => per_asg_shd.g_old_rec.recruiter_id
733   ,P_RECRUITMENT_ACTIVITY_ID_O    => per_asg_shd.g_old_rec.recruitment_activity_id
734   ,P_REQUEST_ID_O                 => per_asg_shd.g_old_rec.request_id
735   ,P_SAL_REVIEW_PERIOD_O          => per_asg_shd.g_old_rec.sal_review_period
736   ,P_SAL_REVIEW_PERIOD_FREQUEN_O  => per_asg_shd.g_old_rec.sal_review_period_frequency
737   ,P_SET_OF_BOOKS_ID_O            => per_asg_shd.g_old_rec.set_of_books_id
738   ,P_SOFT_CODING_KEYFLEX_ID_O     => per_asg_shd.g_old_rec.soft_coding_keyflex_id
739   ,P_SOURCE_ORGANIZATION_ID_O     => per_asg_shd.g_old_rec.source_organization_id
740   ,P_SOURCE_TYPE_O                => per_asg_shd.g_old_rec.source_type
741   ,P_SPECIAL_CEILING_STEP_ID_O    => per_asg_shd.g_old_rec.special_ceiling_step_id
742   ,P_SUPERVISOR_ID_O              => per_asg_shd.g_old_rec.supervisor_id
743   ,P_TIME_NORMAL_FINISH_O         => per_asg_shd.g_old_rec.time_normal_finish
744   ,P_TIME_NORMAL_START_O          => per_asg_shd.g_old_rec.time_normal_start
745   ,P_TITLE_O                      => per_asg_shd.g_old_rec.title
746   ,P_VACANCY_ID_O                 => per_asg_shd.g_old_rec.vacancy_id
747   ,P_VENDOR_ASSIGNMENT_NUMBER_O   => per_asg_shd.g_old_rec.vendor_assignment_number
748   ,P_VENDOR_EMPLOYEE_NUMBER_O     => per_asg_shd.g_old_rec.vendor_employee_number
749   ,P_VENDOR_ID_O                  => per_asg_shd.g_old_rec.vendor_id
750   ,P_WORK_AT_HOME_O               => per_asg_shd.g_old_rec.work_at_home
751   ,P_GRADE_LADDER_PGM_ID_O        => per_asg_shd.g_old_rec.grade_ladder_pgm_id
752   ,P_SUPERVISOR_ASSIGNMENT_ID_O   => per_asg_shd.g_old_rec.supervisor_assignment_id
753   ,P_VENDOR_SITE_ID_O             => per_asg_shd.g_old_rec.vendor_site_id
754   ,P_PO_HEADER_ID_O               => per_asg_shd.g_old_rec.po_header_id
755   ,P_PO_LINE_ID_O                 => per_asg_shd.g_old_rec.po_line_id
756   ,P_PROJECTED_ASSIGNMENT_END_O   => per_asg_shd.g_old_rec.projected_assignment_end
757   );
758  -- Call to Workflow Sync Procedure For Assignments
759     per_pqh_shr.per_asg_wf_sync('POST_DELETE',
760                             p_rec,
761                             per_asg_shd.g_old_rec.position_id,
762                             p_effective_date,
763                             p_validation_start_date,
764                             p_validation_end_date,
765                             p_datetrack_mode);
766 
767   -- End of call to Workflow Sync Procedure For Assignments
768   --
769   hr_utility.set_location(' Leaving:'||l_proc, 10);
770 End post_delete;
771 --
772 -- ----------------------------------------------------------------------------
773 -- |---------------------------------< del >----------------------------------|
774 -- ----------------------------------------------------------------------------
775 Procedure del
776   (
777   p_rec                             in  out nocopy     per_asg_shd.g_rec_type,
778   p_effective_date                  in  date,
779   p_effective_start_date            OUT NOCOPY per_all_assignments_f.effective_start_date%TYPE,
780   p_effective_end_date              OUT NOCOPY per_all_assignments_f.effective_end_date%TYPE,
781   --  p_validation_start_date       out nocopy    date,
782   --  p_validation_end_date         out nocopy    date,
783   p_datetrack_mode                  in  varchar2,
784   p_validate                        in  boolean default false,
785   p_org_now_no_manager_warning      out nocopy boolean,
786   p_loc_change_tax_issues           OUT nocopy boolean,
787   p_delete_asg_budgets              OUT nocopy boolean,
788   p_element_salary_warning          OUT nocopy boolean,
789   p_element_entries_warning         OUT nocopy boolean,
790   p_spp_warning                     OUT nocopy boolean,
791   P_cost_warning                    OUT nocopy Boolean,
792   p_life_events_exists   	    OUT nocopy Boolean,
793   p_cobra_coverage_elements         OUT nocopy Boolean,
794   p_assgt_term_elements             OUT nocopy Boolean
795   ) is
796 --
797   l_proc                       varchar2(72) := g_package||'del';
798   l_validation_start_date      date;
799   l_validation_end_date        date;
800   l_org_now_no_manager_warning boolean;
801   l_loc_change_tax_issues      boolean; --4888485 , all declarations below are new
802   l_delete_asg_budgets         boolean;
803   l_element_salary_warning     boolean;
804   l_element_entries_warning    boolean;
805   l_spp_warning                boolean;
806   l_cost_warning               boolean;
807   l_life_events_exists         boolean;
808   l_cobra_coverage_elements    boolean;
809   l_assgt_term_elements        boolean;
810   l_new_prim_ass_id	       number;
811   l_prim_change_flag	       varchar2(1);
812   l_new_end_date               date;
813   l_new_primary_flag           varchar2(20);
814   l_new_primary_ass_id         number;
815   l_primary_change_flag        varchar2(20);
816   l_s_pay_id                   number;
817   l_cancel_atd                 date;
818   l_cancel_lspd                date;
819   l_reterm_atd                 date;
820   l_reterm_lspd                date;
821   l_appl_asg_new_end_date      date;
822 --
823 Begin
824   hr_utility.set_location('Entering:'||l_proc, 5);
825   --
826   -- Ensure that the DateTrack delete mode is valid
827   --
828   dt_api.validate_dt_del_mode(p_datetrack_mode => p_datetrack_mode);
829   --
830   -- Determine if the business process is to be validated.
831   --
832   If p_validate then
833     --
834     -- Issue the savepoint.
835     --
836     SAVEPOINT del_per_asg;
837   End If;
838   --
839   -- We must lock the row which we need to delete.
840   --
841   per_asg_shd.lck
842     (p_effective_date     => p_effective_date,
843            p_datetrack_mode     => p_datetrack_mode,
844            p_assignment_id     => p_rec.assignment_id,
845            p_object_version_number => p_rec.object_version_number,
846            p_validation_start_date => l_validation_start_date,
847            p_validation_end_date     => l_validation_end_date);
848   --
849   -- Call the supporting delete validate operation
850   --
851   -- 4888485 -- Modified the following call and added new API out params.
852   --
853   per_asg_bus1.delete_validate
854     (p_rec                        => p_rec,
855      p_effective_date             => p_effective_date,
856      p_datetrack_mode             => p_datetrack_mode,
857      p_validation_start_date      => l_validation_start_date,
858      p_validation_end_date        => l_validation_end_date,
859      p_org_now_no_manager_warning => l_org_now_no_manager_warning,
860      p_loc_change_tax_issues      => l_loc_change_tax_issues,
861      p_delete_asg_budgets         => l_delete_asg_budgets,
862      p_element_salary_warning     => l_element_salary_warning,
863      p_element_entries_warning    => l_element_entries_warning,
864      p_spp_warning                => l_spp_warning,
865      P_cost_warning               => l_cost_warning,
866      p_life_events_exists   	  => l_life_events_exists,
867      p_cobra_coverage_elements    => l_cobra_coverage_elements,
868      p_assgt_term_elements        => l_assgt_term_elements,
869      ---
870      p_new_prim_ass_id            => l_new_prim_ass_id,
871      p_prim_change_flag           => l_prim_change_flag,
872      p_new_end_date               => l_new_end_date,
873      p_new_primary_flag           => l_new_primary_flag,
874      p_s_pay_id                   => l_s_pay_id,
875      p_cancel_atd                 => l_cancel_atd,
876      p_cancel_lspd                => l_cancel_lspd,
877      p_reterm_atd                 => l_reterm_atd,
878      p_reterm_lspd                => l_reterm_lspd,
879      ---
880      p_appl_asg_new_end_date      => l_appl_asg_new_end_date);
881   --
882   -- Call to raise any errors on multi-message list
883   hr_multi_message.end_validation_set;
884   --
885   -- Call the supporting pre-delete operation
886   --
887   pre_delete
888     (p_rec             => p_rec,
889      p_effective_date     => p_effective_date,
890      p_datetrack_mode     => p_datetrack_mode,
891      p_validation_start_date => l_validation_start_date,
892      p_validation_end_date     => l_validation_end_date);
893   --
894   -- Delete the row.
895   --
896   delete_dml
897     (p_rec             => p_rec,
898      p_effective_date     => p_effective_date,
899      p_datetrack_mode     => p_datetrack_mode,
900      p_validation_start_date => l_validation_start_date,
901      p_validation_end_date     => l_validation_end_date);
902   --
903   -- Call the supporting post-delete operation
904   --
905   -- 4888485 -- Modified post_delete call and added new out params.
906   --
907   post_delete
908     (p_rec                        => p_rec,
909      p_effective_date             => p_effective_date,
910      p_datetrack_mode             => p_datetrack_mode,
911      p_validation_start_date      => l_validation_start_date,
912      p_validation_end_date        => l_validation_end_date,
913      p_org_now_no_manager_warning => l_org_now_no_manager_warning,
914      p_loc_change_tax_issues      => l_loc_change_tax_issues,
915      p_delete_asg_budgets         => l_delete_asg_budgets,
916      p_element_salary_warning     => l_element_salary_warning,
917      p_element_entries_warning    => l_element_entries_warning,
918      p_spp_warning                => l_spp_warning,
919      P_cost_warning               => l_cost_warning,
920      p_life_events_exists   	  => l_life_events_exists,
921      p_cobra_coverage_elements    => l_cobra_coverage_elements,
922      p_assgt_term_elements        => l_assgt_term_elements,
923      ---
924      p_new_prim_ass_id            => l_new_prim_ass_id,
925      p_prim_change_flag           => l_prim_change_flag,
926      p_new_end_date               => l_new_end_date,
927      p_new_primary_flag           => l_new_primary_flag,
928      p_s_pay_id                   => l_s_pay_id,
929      p_cancel_atd                 => l_cancel_atd,
930      p_cancel_lspd                => l_cancel_lspd,
931      p_reterm_atd                 => l_reterm_atd,
932      p_reterm_lspd                => l_reterm_lspd,
933      ---
934      p_appl_asg_new_end_date      => l_appl_asg_new_end_date );
935   --
936   -- Call to raise any errors on multi-message list
937   hr_multi_message.end_validation_set;
938   --
939   -- Set validation start, end dates and org_now_no_manager_warning
940   --
941 --4888485
942 --  p_validation_start_date    := l_validation_start_date;
943 --  p_validation_end_date      := l_validation_end_date;
944   p_effective_start_date       := l_validation_start_date;
945   p_effective_end_date         := l_validation_end_date;
946   p_org_now_no_manager_warning := l_org_now_no_manager_warning;
947   --
948   -- If we are validating then raise the Validate_Enabled exception
949   --
950   If p_validate then
951     Raise HR_Api.Validate_Enabled;
952   End If;
953   --
954   hr_utility.set_location(' Leaving:'||l_proc, 10);
955 Exception
956   When HR_Api.Validate_Enabled Then
957     --
958     -- As the Validate_Enabled exception has been raised
959     -- we must rollback to the savepoint
960     --
961     ROLLBACK TO del_per_asg;
962 End del;
963 --
964 -- ----------------------------------------------------------------------------
965 -- |---------------------------------< del >----------------------------------|
966 -- ----------------------------------------------------------------------------
967 Procedure del
968   (p_validate                     IN     boolean default false
969   ,p_assignment_id                IN     per_all_assignments_f.assignment_id%TYPE
970   ,p_effective_date               IN     DATE
971   ,p_datetrack_mode               IN     VARCHAR2
972   ,p_object_version_number        IN OUT NOCOPY per_all_assignments_f.object_version_number%TYPE
973   ,p_effective_start_date            OUT NOCOPY per_all_assignments_f.effective_start_date%TYPE
974   ,p_effective_end_date              OUT NOCOPY per_all_assignments_f.effective_end_date%TYPE
975   ,p_loc_change_tax_issues           OUT NOCOPY boolean
976   ,p_delete_asg_budgets              OUT NOCOPY boolean
977   ,p_org_now_no_manager_warning      OUT NOCOPY boolean
978   ,p_element_salary_warning          OUT NOCOPY boolean
979   ,p_element_entries_warning         OUT NOCOPY boolean
980   ,p_spp_warning                     OUT NOCOPY boolean
981   ,P_cost_warning                    OUT NOCOPY Boolean
982   ,p_life_events_exists   	     OUT NOCOPY Boolean
983   ,p_cobra_coverage_elements         OUT NOCOPY Boolean
984   ,p_assgt_term_elements             OUT NOCOPY Boolean
985   )  is
986 --
987   l_rec        per_asg_shd.g_rec_type;
988   l_proc       varchar2(72) := g_package||'del';
989 --
990 Begin
991   hr_utility.set_location('Entering:'||l_proc, 5);
992   --
993   -- As the delete procedure accepts a plsql record structure we do need to
994   -- convert the  arguments into the record structure.
995   -- We don't need to call the supplied conversion argument routine as we
996   -- only need a few attributes.
997   --
998   l_rec.assignment_id             := p_assignment_id;
999   l_rec.object_version_number     := p_object_version_number;
1000   --
1001   -- Having converted the arguments into the per_asg_rec
1002   -- plsql record structure we must call the corresponding entity
1003   -- business process
1004   --
1005   del(l_rec,
1006       p_effective_date,
1007       p_effective_start_date,
1008       p_effective_end_date,
1009 --      p_validation_start_date,
1010 --      p_validation_end_date,
1011       p_datetrack_mode,
1012       p_validate,
1013       p_org_now_no_manager_warning,
1014       p_loc_change_tax_issues,
1015       p_delete_asg_budgets,
1016       p_element_salary_warning,
1017       p_element_entries_warning,
1018       p_spp_warning,
1019       p_cost_warning,
1020       p_life_events_exists,
1021       p_cobra_coverage_elements,
1022       p_assgt_term_elements);
1023   --
1024   -- Set the out arguments
1025   --
1026 
1027   -- 4888485
1028   p_object_version_number := l_rec.object_version_number;
1029   p_effective_start_date  := l_rec.effective_start_date;
1030   p_effective_end_date    := l_rec.effective_end_date;
1031   --  p_business_group_id     := per_asg_shd.g_old_rec.business_group_id;
1032   --
1033   hr_utility.set_location(' Leaving:'||l_proc, 10);
1034 End del;
1035 --
1036 -- ----------------------------------------------------------------------------
1037 -- |---------------------------------< del >----------------------------------|
1038 -- ----------------------------------------------------------------------------
1039 Procedure del
1040   (
1041   p_assignment_id              in  number,
1042   p_effective_start_date       out nocopy date,
1043   p_effective_end_date         out nocopy date,
1044   p_business_group_id          out nocopy number,
1045   p_object_version_number      in  out nocopy number,
1046   p_effective_date             in  date,
1047   p_validation_start_date      out nocopy date,
1048   p_validation_end_date        out nocopy date,
1049   p_datetrack_mode             in  varchar2,
1050   p_validate                   in  boolean default false,
1051   p_org_now_no_manager_warning out nocopy boolean
1052   ) is
1053 --
1054   l_rec         per_asg_shd.g_rec_type;
1055   l_proc        varchar2(72) := g_package||'del';
1056   l_loc_change_tax_issues       boolean;
1057   l_delete_asg_budgets          boolean;  -- addded the new loc vars -- 4888485
1058   l_element_salary_warning      boolean;
1059   l_element_entries_warning     boolean;
1060   l_spp_warning                 boolean;
1061   l_cost_warning                boolean;
1062   l_life_events_exists          boolean;
1063   l_cobra_coverage_elements     boolean;
1064   l_assgt_term_elements         boolean;
1065 --
1066 Begin
1067   hr_utility.set_location('Entering:'||l_proc, 5);
1068   --
1069   del(p_validate,
1070       p_assignment_id,
1071       p_effective_date,
1072       p_datetrack_mode,
1073       p_object_version_number,
1074       p_effective_start_date,
1075       p_effective_end_date,
1076       --      p_validation_start_date,
1077       --      p_validation_end_date,
1078       l_loc_change_tax_issues,
1079       l_delete_asg_budgets,
1080       p_org_now_no_manager_warning,
1081       l_element_salary_warning,
1082       l_element_entries_warning,
1083       l_spp_warning,
1084       l_cost_warning,
1085       l_life_events_exists,
1086       l_cobra_coverage_elements,
1087       l_assgt_term_elements);
1088   --
1089   p_validation_start_date := p_effective_start_date;
1090   p_validation_end_date   := p_effective_end_date;
1091   --Added for 5012244
1092   p_business_group_id     := per_asg_shd.g_old_rec.business_group_id;
1093   --
1094   hr_utility.set_location('Leaving'||l_proc, 25);
1095 End del;
1096 --
1097 end per_asg_del;