DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_ASSIGNMENT_ISETUP_SWI

Source


1 Package Body hr_assignment_isetup_swi As
2 /* $Header: hrasgstp.pkb 120.3 2005/09/16 01:33:20 ndorai noship $ */
3 --
4 -- Package variables
5 --
6 g_package  varchar2(33) := 'hr_assignment_swi.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |-----------------------< create_secondary_apl_asg >-----------------------|
10 -- ----------------------------------------------------------------------------
11 PROCEDURE create_secondary_apl_asg
12   (p_validate                     in     number    default hr_api.g_false_num
13   ,p_effective_date               in     date
14   ,p_person_id                    in     number
15   ,p_organization_id              in     number
16   ,p_recruiter_id                 in     number    default null
17   ,p_grade_id                     in     number    default null
18   ,p_position_id                  in     number    default null
19   ,p_job_id                       in     number    default null
20   ,p_assignment_status_type_id    in     number    default null
21   ,p_payroll_id                   in     number    default null
22   ,p_location_id                  in     number    default null
23   ,p_person_referred_by_id        in     number    default null
24   ,p_supervisor_id                in     number    default null
25   ,p_special_ceiling_step_id      in     number    default null
26   ,p_recruitment_activity_id      in     number    default null
27   ,p_source_organization_id       in     number    default null
28   ,p_vacancy_id                   in     number    default null
29   ,p_pay_basis_id                 in     number    default null
30   ,p_change_reason                in     varchar2  default null
31   ,p_comments                     in     varchar2  default null
32   ,p_date_probation_end           in     date      default null
33   ,p_default_code_comb_id         in     number    default null
34   ,p_employment_category          in     varchar2  default null
35   ,p_frequency                    in     varchar2  default null
36   ,p_internal_address_line        in     varchar2  default null
37   ,p_manager_flag                 in     varchar2  default null
38   ,p_normal_hours                 in     number    default null
39   ,p_perf_review_period           in     number    default null
40   ,p_perf_review_period_frequency in     varchar2  default null
41   ,p_probation_period             in     number    default null
42   ,p_probation_unit               in     varchar2  default null
43   ,p_sal_review_period            in     number    default null
44   ,p_sal_review_period_frequency  in     varchar2  default null
45   ,p_set_of_books_id              in     number    default null
46   ,p_source_type                  in     varchar2  default null
47   ,p_time_normal_finish           in     varchar2  default null
48   ,p_time_normal_start            in     varchar2  default null
49   ,p_bargaining_unit_code         in     varchar2  default null
50   ,p_ass_attribute_category       in     varchar2  default null
51   ,p_ass_attribute1               in     varchar2  default null
52   ,p_ass_attribute2               in     varchar2  default null
53   ,p_ass_attribute3               in     varchar2  default null
54   ,p_ass_attribute4               in     varchar2  default null
55   ,p_ass_attribute5               in     varchar2  default null
56   ,p_ass_attribute6               in     varchar2  default null
57   ,p_ass_attribute7               in     varchar2  default null
58   ,p_ass_attribute8               in     varchar2  default null
59   ,p_ass_attribute9               in     varchar2  default null
60   ,p_ass_attribute10              in     varchar2  default null
61   ,p_ass_attribute11              in     varchar2  default null
62   ,p_ass_attribute12              in     varchar2  default null
63   ,p_ass_attribute13              in     varchar2  default null
64   ,p_ass_attribute14              in     varchar2  default null
65   ,p_ass_attribute15              in     varchar2  default null
66   ,p_ass_attribute16              in     varchar2  default null
67   ,p_ass_attribute17              in     varchar2  default null
68   ,p_ass_attribute18              in     varchar2  default null
69   ,p_ass_attribute19              in     varchar2  default null
70   ,p_ass_attribute20              in     varchar2  default null
71   ,p_ass_attribute21              in     varchar2  default null
72   ,p_ass_attribute22              in     varchar2  default null
73   ,p_ass_attribute23              in     varchar2  default null
74   ,p_ass_attribute24              in     varchar2  default null
75   ,p_ass_attribute25              in     varchar2  default null
76   ,p_ass_attribute26              in     varchar2  default null
77   ,p_ass_attribute27              in     varchar2  default null
78   ,p_ass_attribute28              in     varchar2  default null
79   ,p_ass_attribute29              in     varchar2  default null
80   ,p_ass_attribute30              in     varchar2  default null
81   ,p_title                        in     varchar2  default null
82   ,p_concatenated_segments           out nocopy varchar2
83   ,p_contract_id                  in     number    default null
84   ,p_establishment_id             in     number    default null
85   ,p_collective_agreement_id      in     number    default null
86   ,p_notice_period                in     number    default null
87   ,p_notice_period_uom            in     varchar2  default null
88   ,p_employee_category            in     varchar2  default null
89   ,p_work_at_home                 in     varchar2  default null
90   ,p_job_post_source_name         in     varchar2  default null
91   ,p_applicant_rank               in     number    default null
92   ,p_posting_content_id           in     number    default null
93   ,p_cagr_grade_def_id            in out nocopy number
94   ,p_cagr_concatenated_segments      out nocopy varchar2
95   ,p_group_name                      out nocopy varchar2
96   ,p_assignment_id                in     number
97   ,p_people_group_id              in out nocopy number
98   ,p_soft_coding_keyflex_id       in out nocopy number
99   ,p_comment_id                      out nocopy number
100   ,p_object_version_number           out nocopy number
101   ,p_effective_start_date            out nocopy date
102   ,p_effective_end_date              out nocopy date
103   ,p_assignment_sequence             out nocopy number
104   ,p_return_status                   out nocopy varchar2
105   ) is
106   --
107   -- Variables for API Boolean parameters
108   l_validate                      boolean;
109   --
110   -- Variables for IN/OUT parameters
111   l_cagr_grade_def_id             number;
112   l_people_group_id               number;
113   l_soft_coding_keyflex_id        number;
114   --
115   -- Other variables
116   l_assignment_id                number;
117   l_proc    varchar2(72) := g_package ||'create_secondary_apl_asg';
118 Begin
119   hr_utility.set_location(' Entering:' || l_proc,10);
120   --
121   -- Issue a savepoint
122   --
123   savepoint create_secondary_apl_asg_swi;
124   --
125   -- Initialise Multiple Message Detection
126   --
127   hr_multi_message.enable_message_list;
128   --
129   -- Remember IN OUT parameter IN values
130   --
131   l_cagr_grade_def_id             := p_cagr_grade_def_id;
132   l_people_group_id               := p_people_group_id;
133   l_soft_coding_keyflex_id        := p_soft_coding_keyflex_id;
134   --
135   -- Convert constant values to their corresponding boolean value
136   --
137   l_validate :=
138     hr_api.constant_to_boolean
139       (p_constant_value => p_validate);
140   --
141   -- Register Surrogate ID or user key values
142   --
143   --per_asg_ins.set_base_key_value
144   --  (p_assignment_id => p_assignment_id
145   --  );
146   --
147   -- Call API
148   --
149   hr_assignment_api.create_secondary_apl_asg
150     (p_validate                     => l_validate
151     ,p_effective_date               => p_effective_date
152     ,p_person_id                    => p_person_id
153     ,p_organization_id              => p_organization_id
154     ,p_recruiter_id                 => p_recruiter_id
155     ,p_grade_id                     => p_grade_id
156     ,p_position_id                  => p_position_id
157     ,p_job_id                       => p_job_id
158     ,p_assignment_status_type_id    => p_assignment_status_type_id
159     ,p_payroll_id                   => p_payroll_id
160     ,p_location_id                  => p_location_id
161     ,p_person_referred_by_id        => p_person_referred_by_id
162     ,p_supervisor_id                => p_supervisor_id
163     ,p_special_ceiling_step_id      => p_special_ceiling_step_id
164     ,p_recruitment_activity_id      => p_recruitment_activity_id
165     ,p_source_organization_id       => p_source_organization_id
166     ,p_vacancy_id                   => p_vacancy_id
167     ,p_pay_basis_id                 => p_pay_basis_id
168     ,p_change_reason                => p_change_reason
169     ,p_comments                     => p_comments
170     ,p_date_probation_end           => p_date_probation_end
171     ,p_default_code_comb_id         => p_default_code_comb_id
172     ,p_employment_category          => p_employment_category
173     ,p_frequency                    => p_frequency
174     ,p_internal_address_line        => p_internal_address_line
175     ,p_manager_flag                 => p_manager_flag
176     ,p_normal_hours                 => p_normal_hours
177     ,p_perf_review_period           => p_perf_review_period
178     ,p_perf_review_period_frequency => p_perf_review_period_frequency
179     ,p_probation_period             => p_probation_period
180     ,p_probation_unit               => p_probation_unit
181     ,p_sal_review_period            => p_sal_review_period
182     ,p_sal_review_period_frequency  => p_sal_review_period_frequency
183     ,p_set_of_books_id              => p_set_of_books_id
184     ,p_source_type                  => p_source_type
185     ,p_time_normal_finish           => p_time_normal_finish
186     ,p_time_normal_start            => p_time_normal_start
187     ,p_bargaining_unit_code         => p_bargaining_unit_code
188     ,p_ass_attribute_category       => p_ass_attribute_category
189     ,p_ass_attribute1               => p_ass_attribute1
190     ,p_ass_attribute2               => p_ass_attribute2
191     ,p_ass_attribute3               => p_ass_attribute3
192     ,p_ass_attribute4               => p_ass_attribute4
193     ,p_ass_attribute5               => p_ass_attribute5
194     ,p_ass_attribute6               => p_ass_attribute6
195     ,p_ass_attribute7               => p_ass_attribute7
196     ,p_ass_attribute8               => p_ass_attribute8
197     ,p_ass_attribute9               => p_ass_attribute9
198     ,p_ass_attribute10              => p_ass_attribute10
199     ,p_ass_attribute11              => p_ass_attribute11
200     ,p_ass_attribute12              => p_ass_attribute12
201     ,p_ass_attribute13              => p_ass_attribute13
202     ,p_ass_attribute14              => p_ass_attribute14
203     ,p_ass_attribute15              => p_ass_attribute15
204     ,p_ass_attribute16              => p_ass_attribute16
205     ,p_ass_attribute17              => p_ass_attribute17
206     ,p_ass_attribute18              => p_ass_attribute18
207     ,p_ass_attribute19              => p_ass_attribute19
208     ,p_ass_attribute20              => p_ass_attribute20
209     ,p_ass_attribute21              => p_ass_attribute21
210     ,p_ass_attribute22              => p_ass_attribute22
211     ,p_ass_attribute23              => p_ass_attribute23
212     ,p_ass_attribute24              => p_ass_attribute24
213     ,p_ass_attribute25              => p_ass_attribute25
214     ,p_ass_attribute26              => p_ass_attribute26
215     ,p_ass_attribute27              => p_ass_attribute27
216     ,p_ass_attribute28              => p_ass_attribute28
217     ,p_ass_attribute29              => p_ass_attribute29
218     ,p_ass_attribute30              => p_ass_attribute30
219     ,p_title                        => p_title
220     ,p_concatenated_segments        => p_concatenated_segments
221     ,p_contract_id                  => p_contract_id
222     ,p_establishment_id             => p_establishment_id
223     ,p_collective_agreement_id      => p_collective_agreement_id
224     ,p_notice_period                => p_notice_period
225     ,p_notice_period_uom            => p_notice_period_uom
226     ,p_employee_category            => p_employee_category
227     ,p_work_at_home                 => p_work_at_home
228     ,p_job_post_source_name         => p_job_post_source_name
229     --,p_applicant_rank               => p_applicant_rank
230     --,p_posting_content_id           => p_posting_content_id
231     ,p_cagr_grade_def_id            => p_cagr_grade_def_id
232     ,p_cagr_concatenated_segments   => p_cagr_concatenated_segments
233     ,p_group_name                   => p_group_name
234     ,p_assignment_id                => l_assignment_id
235     ,p_people_group_id              => p_people_group_id
236     ,p_soft_coding_keyflex_id       => p_soft_coding_keyflex_id
237     ,p_comment_id                   => p_comment_id
238     ,p_object_version_number        => p_object_version_number
239     ,p_effective_start_date         => p_effective_start_date
240     ,p_effective_end_date           => p_effective_end_date
241     ,p_assignment_sequence          => p_assignment_sequence
242     );
243   --
244   -- Convert API warning boolean parameter values to specific
245   -- messages and add them to Multiple Message List
246   --
247   --
248   -- Convert API non-warning boolean parameter values
249   --
250   --
251   -- Derive the API return status value based on whether
252   -- messages of any type exist in the Multiple Message List.
253   -- Also disable Multiple Message Detection.
254   --
255   p_return_status := hr_multi_message.get_return_status_disable;
256   hr_utility.set_location(' Leaving:' || l_proc,20);
257   --
258 exception
259   when hr_multi_message.error_message_exist then
260     --
261     -- Catch the Multiple Message List exception which
262     -- indicates API processing has been aborted because
263     -- at least one message exists in the list.
264     --
265     rollback to create_secondary_apl_asg_swi;
266     --
267     -- Reset IN OUT parameters and set OUT parameters
268     --
269     p_concatenated_segments        := null;
270     p_cagr_grade_def_id            := l_cagr_grade_def_id;
271     p_cagr_concatenated_segments   := null;
272     p_group_name                   := null;
273     p_people_group_id              := l_people_group_id;
274     p_soft_coding_keyflex_id       := l_soft_coding_keyflex_id;
275     p_comment_id                   := null;
276     p_object_version_number        := null;
277     p_effective_start_date         := null;
278     p_effective_end_date           := null;
279     p_assignment_sequence          := null;
280     p_return_status := hr_multi_message.get_return_status_disable;
281     hr_utility.set_location(' Leaving:' || l_proc, 30);
282   when others then
283     --
284     -- When Multiple Message Detection is enabled catch
285     -- any Application specific or other unexpected
286     -- exceptions.  Adding appropriate details to the
287     -- Multiple Message List.  Otherwise re-raise the
288     -- error.
289     --
290     rollback to create_secondary_apl_asg_swi;
291     if hr_multi_message.unexpected_error_add(l_proc) then
292        hr_utility.set_location(' Leaving:' || l_proc,40);
293        raise;
294     end if;
295     --
296     -- Reset IN OUT and set OUT parameters
297     --
298     p_concatenated_segments        := null;
299     p_cagr_grade_def_id            := l_cagr_grade_def_id;
300     p_cagr_concatenated_segments   := null;
301     p_group_name                   := null;
302     p_people_group_id              := l_people_group_id;
303     p_soft_coding_keyflex_id       := l_soft_coding_keyflex_id;
304     p_comment_id                   := null;
305     p_object_version_number        := null;
306     p_effective_start_date         := null;
307     p_effective_end_date           := null;
308     p_assignment_sequence          := null;
309     p_return_status := hr_multi_message.get_return_status_disable;
310     hr_utility.set_location(' Leaving:' || l_proc,50);
311 end create_secondary_apl_asg;
312 -- ----------------------------------------------------------------------------
313 -- |----------------------------< accept_apl_asg >----------------------------|
314 -- ----------------------------------------------------------------------------
315 PROCEDURE accept_apl_asg
316   (p_validate                     in     number    default hr_api.g_false_num
320   ,p_object_version_number        in out nocopy number
317   ,p_effective_date               in     date
318   ,p_datetrack_update_mode        in     varchar2
319   ,p_assignment_id                in     number
321   ,p_assignment_status_type_id    in     number    default hr_api.g_number
322   ,p_change_reason                in     varchar2  default hr_api.g_varchar2
323   ,p_effective_start_date            out nocopy date
324   ,p_effective_end_date              out nocopy date
325   ,p_return_status                   out nocopy varchar2
326   ) is
327   --
328   -- Variables for API Boolean parameters
329   l_validate                      boolean;
330   --
331   -- Variables for IN/OUT parameters
332   l_object_version_number         number;
333   --
334   -- Other variables
335   l_proc    varchar2(72) := g_package ||'accept_apl_asg';
336 Begin
337   hr_utility.set_location(' Entering:' || l_proc,10);
338   --
339   -- Issue a savepoint
340   --
341   savepoint accept_apl_asg_swi;
342   --
343   -- Initialise Multiple Message Detection
344   --
345   hr_multi_message.enable_message_list;
346   --
347   -- Remember IN OUT parameter IN values
348   --
349   l_object_version_number         := p_object_version_number;
350   --
351   -- Convert constant values to their corresponding boolean value
352   --
353   l_validate :=
354     hr_api.constant_to_boolean
355       (p_constant_value => p_validate);
356   --
357   -- Register Surrogate ID or user key values
358   --
359   --
360   -- Call API
361   --
362   hr_assignment_api.accept_apl_asg
363     (p_validate                     => l_validate
364     ,p_effective_date               => p_effective_date
365     ,p_datetrack_update_mode        => p_datetrack_update_mode
366     ,p_assignment_id                => p_assignment_id
367     ,p_object_version_number        => p_object_version_number
368     ,p_assignment_status_type_id    => p_assignment_status_type_id
369     ,p_change_reason                => p_change_reason
370     ,p_effective_start_date         => p_effective_start_date
371     ,p_effective_end_date           => p_effective_end_date
372     );
373   --
374   -- Convert API warning boolean parameter values to specific
375   -- messages and add them to Multiple Message List
376   --
377   --
378   -- Convert API non-warning boolean parameter values
379   --
380   --
381   -- Derive the API return status value based on whether
382   -- messages of any type exist in the Multiple Message List.
383   -- Also disable Multiple Message Detection.
384   --
385   p_return_status := hr_multi_message.get_return_status_disable;
386   hr_utility.set_location(' Leaving:' || l_proc,20);
387   --
388 exception
389   when hr_multi_message.error_message_exist then
390     --
391     -- Catch the Multiple Message List exception which
392     -- indicates API processing has been aborted because
393     -- at least one message exists in the list.
394     --
395     rollback to accept_apl_asg_swi;
396     --
397     -- Reset IN OUT parameters and set OUT parameters
398     --
399     p_object_version_number        := l_object_version_number;
400     p_effective_start_date         := null;
401     p_effective_end_date           := null;
402     p_return_status := hr_multi_message.get_return_status_disable;
403     hr_utility.set_location(' Leaving:' || l_proc, 30);
404   when others then
405     --
406     -- When Multiple Message Detection is enabled catch
407     -- any Application specific or other unexpected
408     -- exceptions.  Adding appropriate details to the
409     -- Multiple Message List.  Otherwise re-raise the
410     -- error.
411     --
412     rollback to accept_apl_asg_swi;
413     if hr_multi_message.unexpected_error_add(l_proc) then
414        hr_utility.set_location(' Leaving:' || l_proc,40);
415        raise;
416     end if;
417     --
418     -- Reset IN OUT and set OUT parameters
419     --
420     p_object_version_number        := l_object_version_number;
421     p_effective_start_date         := null;
422     p_effective_end_date           := null;
423     p_return_status := hr_multi_message.get_return_status_disable;
424     hr_utility.set_location(' Leaving:' || l_proc,50);
425 end accept_apl_asg;
426 -- ----------------------------------------------------------------------------
427 -- |---------------------------< activate_apl_asg >---------------------------|
428 -- ----------------------------------------------------------------------------
429 PROCEDURE activate_apl_asg
430   (p_validate                     in     number    default hr_api.g_false_num
431   ,p_effective_date               in     date
432   ,p_datetrack_update_mode        in     varchar2
433   ,p_assignment_id                in     number
434   ,p_object_version_number        in out nocopy number
435   ,p_assignment_status_type_id    in     number    default hr_api.g_number
436   ,p_change_reason                in     varchar2  default hr_api.g_varchar2
437   ,p_effective_start_date            out nocopy date
438   ,p_effective_end_date              out nocopy date
439   ,p_return_status                   out nocopy varchar2
440   ) is
441   --
442   -- Variables for API Boolean parameters
443   l_validate                      boolean;
444   --
445   -- Variables for IN/OUT parameters
446   l_object_version_number         number;
447   --
448   -- Other variables
452   --
449   l_proc    varchar2(72) := g_package ||'activate_apl_asg';
450 Begin
451   hr_utility.set_location(' Entering:' || l_proc,10);
453   -- Issue a savepoint
454   --
455   savepoint activate_apl_asg_swi;
456   --
457   -- Initialise Multiple Message Detection
458   --
459   hr_multi_message.enable_message_list;
460   --
461   -- Remember IN OUT parameter IN values
462   --
463   l_object_version_number         := p_object_version_number;
464   --
465   -- Convert constant values to their corresponding boolean value
466   --
467   l_validate :=
468     hr_api.constant_to_boolean
469       (p_constant_value => p_validate);
470   --
471   -- Register Surrogate ID or user key values
472   --
473   --
474   -- Call API
475   --
476   hr_assignment_api.activate_apl_asg
477     (p_validate                     => l_validate
478     ,p_effective_date               => p_effective_date
479     ,p_datetrack_update_mode        => p_datetrack_update_mode
480     ,p_assignment_id                => p_assignment_id
481     ,p_object_version_number        => p_object_version_number
482     ,p_assignment_status_type_id    => p_assignment_status_type_id
483     ,p_change_reason                => p_change_reason
484     ,p_effective_start_date         => p_effective_start_date
485     ,p_effective_end_date           => p_effective_end_date
486     );
487   --
488   -- Convert API warning boolean parameter values to specific
489   -- messages and add them to Multiple Message List
490   --
491   --
492   -- Convert API non-warning boolean parameter values
493   --
494   --
495   -- Derive the API return status value based on whether
496   -- messages of any type exist in the Multiple Message List.
497   -- Also disable Multiple Message Detection.
498   --
499   p_return_status := hr_multi_message.get_return_status_disable;
500   hr_utility.set_location(' Leaving:' || l_proc,20);
501   --
502 exception
503   when hr_multi_message.error_message_exist then
504     --
505     -- Catch the Multiple Message List exception which
506     -- indicates API processing has been aborted because
507     -- at least one message exists in the list.
508     --
509     rollback to activate_apl_asg_swi;
510     --
511     -- Reset IN OUT parameters and set OUT parameters
512     --
513     p_object_version_number        := l_object_version_number;
514     p_effective_start_date         := null;
515     p_effective_end_date           := null;
516     p_return_status := hr_multi_message.get_return_status_disable;
517     hr_utility.set_location(' Leaving:' || l_proc, 30);
518   when others then
519     --
520     -- When Multiple Message Detection is enabled catch
521     -- any Application specific or other unexpected
522     -- exceptions.  Adding appropriate details to the
523     -- Multiple Message List.  Otherwise re-raise the
524     -- error.
525     --
526     rollback to activate_apl_asg_swi;
527     if hr_multi_message.unexpected_error_add(l_proc) then
528        hr_utility.set_location(' Leaving:' || l_proc,40);
529        raise;
530     end if;
531     --
532     -- Reset IN OUT and set OUT parameters
533     --
534     p_object_version_number        := l_object_version_number;
535     p_effective_start_date         := null;
536     p_effective_end_date           := null;
537     p_return_status := hr_multi_message.get_return_status_disable;
538     hr_utility.set_location(' Leaving:' || l_proc,50);
539 end activate_apl_asg;
540 -- ----------------------------------------------------------------------------
541 -- |-----------------------------< offer_apl_asg >----------------------------|
542 -- ----------------------------------------------------------------------------
543 PROCEDURE offer_apl_asg
544   (p_validate                     in     number    default hr_api.g_false_num
545   ,p_effective_date               in     date
546   ,p_datetrack_update_mode        in     varchar2
547   ,p_assignment_id                in     number
548   ,p_object_version_number        in out nocopy number
549   ,p_assignment_status_type_id    in     number    default hr_api.g_number
550   ,p_change_reason                in     varchar2  default hr_api.g_varchar2
551   ,p_effective_start_date            out nocopy date
552   ,p_effective_end_date              out nocopy date
553   ,p_return_status                   out nocopy varchar2
554   ) is
555   --
556   -- Variables for API Boolean parameters
557   l_validate                      boolean;
558   --
559   -- Variables for IN/OUT parameters
560   l_object_version_number         number;
561   --
562   -- Other variables
563   l_proc    varchar2(72) := g_package ||'offer_apl_asg';
564 Begin
565   hr_utility.set_location(' Entering:' || l_proc,10);
566   --
567   -- Issue a savepoint
568   --
569   savepoint offer_apl_asg_swi;
570   --
571   -- Initialise Multiple Message Detection
572   --
573   hr_multi_message.enable_message_list;
574   --
575   -- Remember IN OUT parameter IN values
576   --
577   l_object_version_number         := p_object_version_number;
578   --
579   -- Convert constant values to their corresponding boolean value
580   --
581   l_validate :=
582     hr_api.constant_to_boolean
583       (p_constant_value => p_validate);
584   --
585   -- Register Surrogate ID or user key values
586   --
590   hr_assignment_api.offer_apl_asg
587   --
588   -- Call API
589   --
591     (p_validate                     => l_validate
592     ,p_effective_date               => p_effective_date
593     ,p_datetrack_update_mode        => p_datetrack_update_mode
594     ,p_assignment_id                => p_assignment_id
595     ,p_object_version_number        => p_object_version_number
596     ,p_assignment_status_type_id    => p_assignment_status_type_id
597     ,p_change_reason                => p_change_reason
598     ,p_effective_start_date         => p_effective_start_date
599     ,p_effective_end_date           => p_effective_end_date
600     );
601   --
602   -- Convert API warning boolean parameter values to specific
603   -- messages and add them to Multiple Message List
604   --
605   --
606   -- Convert API non-warning boolean parameter values
607   --
608   --
609   -- Derive the API return status value based on whether
610   -- messages of any type exist in the Multiple Message List.
611   -- Also disable Multiple Message Detection.
612   --
613   p_return_status := hr_multi_message.get_return_status_disable;
614   hr_utility.set_location(' Leaving:' || l_proc,20);
615   --
616 exception
617   when hr_multi_message.error_message_exist then
618     --
619     -- Catch the Multiple Message List exception which
620     -- indicates API processing has been aborted because
621     -- at least one message exists in the list.
622     --
623     rollback to offer_apl_asg_swi;
624     --
625     -- Reset IN OUT parameters and set OUT parameters
626     --
627     p_object_version_number        := l_object_version_number;
628     p_effective_start_date         := null;
629     p_effective_end_date           := null;
630     p_return_status := hr_multi_message.get_return_status_disable;
631     hr_utility.set_location(' Leaving:' || l_proc, 30);
632   when others then
633     --
634     -- When Multiple Message Detection is enabled catch
635     -- any Application specific or other unexpected
636     -- exceptions.  Adding appropriate details to the
637     -- Multiple Message List.  Otherwise re-raise the
638     -- error.
639     --
640     rollback to offer_apl_asg_swi;
641     if hr_multi_message.unexpected_error_add(l_proc) then
642        hr_utility.set_location(' Leaving:' || l_proc,40);
643        raise;
644     end if;
645     --
646     -- Reset IN OUT and set OUT parameters
647     --
648     p_object_version_number        := l_object_version_number;
649     p_effective_start_date         := null;
650     p_effective_end_date           := null;
651     p_return_status := hr_multi_message.get_return_status_disable;
652     hr_utility.set_location(' Leaving:' || l_proc,50);
653 end offer_apl_asg;
654 -- ----------------------------------------------------------------------------
655 -- |---------------------------< terminate_apl_asg >--------------------------|
656 -- ----------------------------------------------------------------------------
657 PROCEDURE terminate_apl_asg
658   (p_validate                     in     number    default hr_api.g_false_num
659   ,p_effective_date               in     date
660   ,p_assignment_id                in     number
661   ,p_object_version_number        in out nocopy number
662   ,p_effective_start_date            out nocopy date
663   ,p_effective_end_date              out nocopy date
664   ,p_return_status                   out nocopy varchar2
665   ) is
666   --
667   -- Variables for API Boolean parameters
668   l_validate                      boolean;
669   --
670   -- Variables for IN/OUT parameters
671   l_object_version_number         number;
672   --
673   -- Other variables
674   l_proc    varchar2(72) := g_package ||'terminate_apl_asg';
675 Begin
676   hr_utility.set_location(' Entering:' || l_proc,10);
677   --
678   -- Issue a savepoint
679   --
680   savepoint terminate_apl_asg_swi;
681   --
682   -- Initialise Multiple Message Detection
683   --
684   hr_multi_message.enable_message_list;
685   --
686   -- Remember IN OUT parameter IN values
687   --
688   l_object_version_number         := p_object_version_number;
689   --
690   -- Convert constant values to their corresponding boolean value
691   --
692   l_validate :=
693     hr_api.constant_to_boolean
694       (p_constant_value => p_validate);
695   --
696   -- Register Surrogate ID or user key values
697   --
698   --
699   -- Call API
700   --
701   hr_assignment_api.terminate_apl_asg
702     (p_validate                     => l_validate
703     ,p_effective_date               => p_effective_date
704     ,p_assignment_id                => p_assignment_id
705     ,p_object_version_number        => p_object_version_number
706     ,p_effective_start_date         => p_effective_start_date
707     ,p_effective_end_date           => p_effective_end_date
708     );
709   --
710   -- Convert API warning boolean parameter values to specific
711   -- messages and add them to Multiple Message List
712   --
713   --
714   -- Convert API non-warning boolean parameter values
715   --
716   --
717   -- Derive the API return status value based on whether
718   -- messages of any type exist in the Multiple Message List.
719   -- Also disable Multiple Message Detection.
720   --
721   p_return_status := hr_multi_message.get_return_status_disable;
722   hr_utility.set_location(' Leaving:' || l_proc,20);
723   --
724 exception
728     -- indicates API processing has been aborted because
725   when hr_multi_message.error_message_exist then
726     --
727     -- Catch the Multiple Message List exception which
729     -- at least one message exists in the list.
730     --
731     rollback to terminate_apl_asg_swi;
732     --
733     -- Reset IN OUT parameters and set OUT parameters
734     --
735     p_object_version_number        := l_object_version_number;
736     p_effective_start_date         := null;
737     p_effective_end_date           := null;
738     p_return_status := hr_multi_message.get_return_status_disable;
739     hr_utility.set_location(' Leaving:' || l_proc, 30);
740   when others then
741     --
742     -- When Multiple Message Detection is enabled catch
743     -- any Application specific or other unexpected
744     -- exceptions.  Adding appropriate details to the
745     -- Multiple Message List.  Otherwise re-raise the
746     -- error.
747     --
748     rollback to terminate_apl_asg_swi;
749     if hr_multi_message.unexpected_error_add(l_proc) then
750        hr_utility.set_location(' Leaving:' || l_proc,40);
751        raise;
752     end if;
753     --
754     -- Reset IN OUT and set OUT parameters
755     --
756     p_object_version_number        := l_object_version_number;
757     p_effective_start_date         := null;
758     p_effective_end_date           := null;
759     p_return_status := hr_multi_message.get_return_status_disable;
760     hr_utility.set_location(' Leaving:' || l_proc,50);
761 end terminate_apl_asg;
762 -- ----------------------------------------------------------------------------
763 -- |----------------------------< update_apl_asg >----------------------------|
764 -- ----------------------------------------------------------------------------
765 PROCEDURE update_apl_asg
766   (p_validate                     in     number    default hr_api.g_false_num
767   ,p_effective_date               in     date
768   ,p_datetrack_update_mode        in     varchar2
769   ,p_assignment_id                in     number
770   ,p_object_version_number        in out nocopy number
771   ,p_recruiter_id                 in     number    default hr_api.g_number
772   ,p_grade_id                     in     number    default hr_api.g_number
773   ,p_position_id                  in     number    default hr_api.g_number
774   ,p_job_id                       in     number    default hr_api.g_number
775   ,p_payroll_id                   in     number    default hr_api.g_number
776   ,p_location_id                  in     number    default hr_api.g_number
777   ,p_person_referred_by_id        in     number    default hr_api.g_number
778   ,p_supervisor_id                in     number    default hr_api.g_number
779   ,p_special_ceiling_step_id      in     number    default hr_api.g_number
780   ,p_recruitment_activity_id      in     number    default hr_api.g_number
781   ,p_source_organization_id       in     number    default hr_api.g_number
782   ,p_organization_id              in     number    default hr_api.g_number
783   ,p_vacancy_id                   in     number    default hr_api.g_number
784   ,p_pay_basis_id                 in     number    default hr_api.g_number
785   ,p_application_id               in     number    default hr_api.g_number
786   ,p_change_reason                in     varchar2  default hr_api.g_varchar2
787   ,p_assignment_status_type_id    in     number    default hr_api.g_number
788   ,p_comments                     in     varchar2  default hr_api.g_varchar2
789   ,p_date_probation_end           in     date      default hr_api.g_date
790   ,p_default_code_comb_id         in     number    default hr_api.g_number
791   ,p_employment_category          in     varchar2  default hr_api.g_varchar2
792   ,p_frequency                    in     varchar2  default hr_api.g_varchar2
793   ,p_internal_address_line        in     varchar2  default hr_api.g_varchar2
794   ,p_manager_flag                 in     varchar2  default hr_api.g_varchar2
795   ,p_normal_hours                 in     number    default hr_api.g_number
796   ,p_perf_review_period           in     number    default hr_api.g_number
797   ,p_perf_review_period_frequency in     varchar2  default hr_api.g_varchar2
798   ,p_probation_period             in     number    default hr_api.g_number
799   ,p_probation_unit               in     varchar2  default hr_api.g_varchar2
800   ,p_sal_review_period            in     number    default hr_api.g_number
801   ,p_sal_review_period_frequency  in     varchar2  default hr_api.g_varchar2
802   ,p_set_of_books_id              in     number    default hr_api.g_number
803   ,p_source_type                  in     varchar2  default hr_api.g_varchar2
804   ,p_time_normal_finish           in     varchar2  default hr_api.g_varchar2
805   ,p_time_normal_start            in     varchar2  default hr_api.g_varchar2
806   ,p_bargaining_unit_code         in     varchar2  default hr_api.g_varchar2
807   ,p_ass_attribute_category       in     varchar2  default hr_api.g_varchar2
808   ,p_ass_attribute1               in     varchar2  default hr_api.g_varchar2
809   ,p_ass_attribute2               in     varchar2  default hr_api.g_varchar2
810   ,p_ass_attribute3               in     varchar2  default hr_api.g_varchar2
811   ,p_ass_attribute4               in     varchar2  default hr_api.g_varchar2
812   ,p_ass_attribute5               in     varchar2  default hr_api.g_varchar2
813   ,p_ass_attribute6               in     varchar2  default hr_api.g_varchar2
814   ,p_ass_attribute7               in     varchar2  default hr_api.g_varchar2
815   ,p_ass_attribute8               in     varchar2  default hr_api.g_varchar2
816   ,p_ass_attribute9               in     varchar2  default hr_api.g_varchar2
820   ,p_ass_attribute13              in     varchar2  default hr_api.g_varchar2
817   ,p_ass_attribute10              in     varchar2  default hr_api.g_varchar2
818   ,p_ass_attribute11              in     varchar2  default hr_api.g_varchar2
819   ,p_ass_attribute12              in     varchar2  default hr_api.g_varchar2
821   ,p_ass_attribute14              in     varchar2  default hr_api.g_varchar2
822   ,p_ass_attribute15              in     varchar2  default hr_api.g_varchar2
823   ,p_ass_attribute16              in     varchar2  default hr_api.g_varchar2
824   ,p_ass_attribute17              in     varchar2  default hr_api.g_varchar2
825   ,p_ass_attribute18              in     varchar2  default hr_api.g_varchar2
826   ,p_ass_attribute19              in     varchar2  default hr_api.g_varchar2
827   ,p_ass_attribute20              in     varchar2  default hr_api.g_varchar2
828   ,p_ass_attribute21              in     varchar2  default hr_api.g_varchar2
829   ,p_ass_attribute22              in     varchar2  default hr_api.g_varchar2
830   ,p_ass_attribute23              in     varchar2  default hr_api.g_varchar2
831   ,p_ass_attribute24              in     varchar2  default hr_api.g_varchar2
832   ,p_ass_attribute25              in     varchar2  default hr_api.g_varchar2
833   ,p_ass_attribute26              in     varchar2  default hr_api.g_varchar2
834   ,p_ass_attribute27              in     varchar2  default hr_api.g_varchar2
835   ,p_ass_attribute28              in     varchar2  default hr_api.g_varchar2
836   ,p_ass_attribute29              in     varchar2  default hr_api.g_varchar2
837   ,p_ass_attribute30              in     varchar2  default hr_api.g_varchar2
838   ,p_title                        in     varchar2  default hr_api.g_varchar2
839   ,p_concatenated_segments           out nocopy varchar2
840   ,p_contract_id                  in     number    default hr_api.g_number
841   ,p_establishment_id             in     number    default hr_api.g_number
842   ,p_collective_agreement_id      in     number    default hr_api.g_number
843   ,p_notice_period                in     number    default hr_api.g_number
844   ,p_notice_period_uom            in     varchar2  default hr_api.g_varchar2
845   ,p_employee_category            in     varchar2  default hr_api.g_varchar2
846   ,p_work_at_home                 in     varchar2  default hr_api.g_varchar2
847   ,p_job_post_source_name         in     varchar2  default hr_api.g_varchar2
848   ,p_posting_content_id           in     number    default hr_api.g_number
849   ,p_applicant_rank               in     number    default hr_api.g_number
850   ,p_cagr_grade_def_id            in out nocopy number
851   ,p_cagr_concatenated_segments      out nocopy varchar2
852   ,p_group_name                      out nocopy varchar2
853   ,p_comment_id                      out nocopy number
854   ,p_people_group_id              in out nocopy number
855   ,p_soft_coding_keyflex_id       in out nocopy number
856   ,p_effective_start_date            out nocopy date
857   ,p_effective_end_date              out nocopy date
858   ,p_return_status                   out nocopy varchar2
859   ) is
860   --
861   -- Variables for API Boolean parameters
862   l_validate                      boolean;
863   --
864   -- Variables for IN/OUT parameters
865   l_object_version_number         number;
866   l_cagr_grade_def_id             number;
867   l_people_group_id               number;
868   l_soft_coding_keyflex_id        number;
869   --
870   -- Other variables
871   l_proc    varchar2(72) := g_package ||'update_apl_asg';
872 Begin
873   hr_utility.set_location(' Entering:' || l_proc,10);
874   --
875   -- Issue a savepoint
876   --
877   savepoint update_apl_asg_swi;
878   --
879   -- Initialise Multiple Message Detection
880   --
881   hr_multi_message.enable_message_list;
882   --
883   -- Remember IN OUT parameter IN values
884   --
885   l_object_version_number         := p_object_version_number;
886   l_cagr_grade_def_id             := p_cagr_grade_def_id;
887   l_people_group_id               := p_people_group_id;
888   l_soft_coding_keyflex_id        := p_soft_coding_keyflex_id;
889   --
890   -- Convert constant values to their corresponding boolean value
891   --
892   l_validate :=
893     hr_api.constant_to_boolean
894       (p_constant_value => p_validate);
895   --
896   -- Register Surrogate ID or user key values
897   --
898   --
899   -- Call API
900   --
901   hr_assignment_api.update_apl_asg
902     (p_validate                     => l_validate
903     ,p_effective_date               => p_effective_date
904     ,p_datetrack_update_mode        => p_datetrack_update_mode
905     ,p_assignment_id                => p_assignment_id
906     ,p_object_version_number        => p_object_version_number
907     ,p_recruiter_id                 => p_recruiter_id
908     ,p_grade_id                     => p_grade_id
909     ,p_position_id                  => p_position_id
910     ,p_job_id                       => p_job_id
911     ,p_payroll_id                   => p_payroll_id
912     ,p_location_id                  => p_location_id
913     ,p_person_referred_by_id        => p_person_referred_by_id
914     ,p_supervisor_id                => p_supervisor_id
915     ,p_special_ceiling_step_id      => p_special_ceiling_step_id
916     ,p_recruitment_activity_id      => p_recruitment_activity_id
917     ,p_source_organization_id       => p_source_organization_id
918     ,p_organization_id              => p_organization_id
919     ,p_vacancy_id                   => p_vacancy_id
920     ,p_pay_basis_id                 => p_pay_basis_id
924     ,p_comments                     => p_comments
921     ,p_application_id               => p_application_id
922     ,p_change_reason                => p_change_reason
923     ,p_assignment_status_type_id    => p_assignment_status_type_id
925     ,p_date_probation_end           => p_date_probation_end
926     ,p_default_code_comb_id         => p_default_code_comb_id
927     ,p_employment_category          => p_employment_category
928     ,p_frequency                    => p_frequency
929     ,p_internal_address_line        => p_internal_address_line
930     ,p_manager_flag                 => p_manager_flag
931     ,p_normal_hours                 => p_normal_hours
932     ,p_perf_review_period           => p_perf_review_period
933     ,p_perf_review_period_frequency => p_perf_review_period_frequency
934     ,p_probation_period             => p_probation_period
935     ,p_probation_unit               => p_probation_unit
936     ,p_sal_review_period            => p_sal_review_period
937     ,p_sal_review_period_frequency  => p_sal_review_period_frequency
938     ,p_set_of_books_id              => p_set_of_books_id
939     ,p_source_type                  => p_source_type
940     ,p_time_normal_finish           => p_time_normal_finish
941     ,p_time_normal_start            => p_time_normal_start
942     ,p_bargaining_unit_code         => p_bargaining_unit_code
943     ,p_ass_attribute_category       => p_ass_attribute_category
944     ,p_ass_attribute1               => p_ass_attribute1
945     ,p_ass_attribute2               => p_ass_attribute2
946     ,p_ass_attribute3               => p_ass_attribute3
947     ,p_ass_attribute4               => p_ass_attribute4
948     ,p_ass_attribute5               => p_ass_attribute5
949     ,p_ass_attribute6               => p_ass_attribute6
950     ,p_ass_attribute7               => p_ass_attribute7
951     ,p_ass_attribute8               => p_ass_attribute8
952     ,p_ass_attribute9               => p_ass_attribute9
953     ,p_ass_attribute10              => p_ass_attribute10
954     ,p_ass_attribute11              => p_ass_attribute11
955     ,p_ass_attribute12              => p_ass_attribute12
956     ,p_ass_attribute13              => p_ass_attribute13
957     ,p_ass_attribute14              => p_ass_attribute14
958     ,p_ass_attribute15              => p_ass_attribute15
959     ,p_ass_attribute16              => p_ass_attribute16
960     ,p_ass_attribute17              => p_ass_attribute17
961     ,p_ass_attribute18              => p_ass_attribute18
962     ,p_ass_attribute19              => p_ass_attribute19
963     ,p_ass_attribute20              => p_ass_attribute20
964     ,p_ass_attribute21              => p_ass_attribute21
965     ,p_ass_attribute22              => p_ass_attribute22
966     ,p_ass_attribute23              => p_ass_attribute23
967     ,p_ass_attribute24              => p_ass_attribute24
968     ,p_ass_attribute25              => p_ass_attribute25
969     ,p_ass_attribute26              => p_ass_attribute26
970     ,p_ass_attribute27              => p_ass_attribute27
971     ,p_ass_attribute28              => p_ass_attribute28
972     ,p_ass_attribute29              => p_ass_attribute29
973     ,p_ass_attribute30              => p_ass_attribute30
974     ,p_title                        => p_title
975     ,p_concatenated_segments        => p_concatenated_segments
976     ,p_contract_id                  => p_contract_id
977     ,p_establishment_id             => p_establishment_id
978     ,p_collective_agreement_id      => p_collective_agreement_id
979     ,p_notice_period                => p_notice_period
980     ,p_notice_period_uom            => p_notice_period_uom
981     ,p_employee_category            => p_employee_category
982     ,p_work_at_home                 => p_work_at_home
983     ,p_job_post_source_name         => p_job_post_source_name
984     --,p_posting_content_id           => p_posting_content_id
985     --,p_applicant_rank               => p_applicant_rank
986     ,p_cagr_grade_def_id            => p_cagr_grade_def_id
987     ,p_cagr_concatenated_segments   => p_cagr_concatenated_segments
988     ,p_group_name                   => p_group_name
989     ,p_comment_id                   => p_comment_id
990     ,p_people_group_id              => p_people_group_id
991     ,p_soft_coding_keyflex_id       => p_soft_coding_keyflex_id
992     ,p_effective_start_date         => p_effective_start_date
993     ,p_effective_end_date           => p_effective_end_date
994     );
995   --
996   -- Convert API warning boolean parameter values to specific
997   -- messages and add them to Multiple Message List
998   --
999   --
1000   -- Convert API non-warning boolean parameter values
1001   --
1002   --
1003   -- Derive the API return status value based on whether
1004   -- messages of any type exist in the Multiple Message List.
1005   -- Also disable Multiple Message Detection.
1006   --
1007   p_return_status := hr_multi_message.get_return_status_disable;
1008   hr_utility.set_location(' Leaving:' || l_proc,20);
1009   --
1010 exception
1011   when hr_multi_message.error_message_exist then
1012     --
1013     -- Catch the Multiple Message List exception which
1014     -- indicates API processing has been aborted because
1015     -- at least one message exists in the list.
1016     --
1017     rollback to update_apl_asg_swi;
1018     --
1019     -- Reset IN OUT parameters and set OUT parameters
1020     --
1021     p_object_version_number        := l_object_version_number;
1022     p_concatenated_segments        := null;
1023     p_cagr_grade_def_id            := l_cagr_grade_def_id;
1024     p_cagr_concatenated_segments   := null;
1025     p_group_name                   := null;
1026     p_comment_id                   := null;
1030     p_effective_end_date           := null;
1027     p_people_group_id              := l_people_group_id;
1028     p_soft_coding_keyflex_id       := l_soft_coding_keyflex_id;
1029     p_effective_start_date         := null;
1031     p_return_status := hr_multi_message.get_return_status_disable;
1032     hr_utility.set_location(' Leaving:' || l_proc, 30);
1033   when others then
1034     --
1035     -- When Multiple Message Detection is enabled catch
1036     -- any Application specific or other unexpected
1037     -- exceptions.  Adding appropriate details to the
1038     -- Multiple Message List.  Otherwise re-raise the
1039     -- error.
1040     --
1041     rollback to update_apl_asg_swi;
1042     if hr_multi_message.unexpected_error_add(l_proc) then
1043        hr_utility.set_location(' Leaving:' || l_proc,40);
1044        raise;
1045     end if;
1046     --
1047     -- Reset IN OUT and set OUT parameters
1048     --
1049     p_object_version_number        := l_object_version_number;
1050     p_concatenated_segments        := null;
1051     p_cagr_grade_def_id            := l_cagr_grade_def_id;
1052     p_cagr_concatenated_segments   := null;
1053     p_group_name                   := null;
1054     p_comment_id                   := null;
1055     p_people_group_id              := l_people_group_id;
1056     p_soft_coding_keyflex_id       := l_soft_coding_keyflex_id;
1057     p_effective_start_date         := null;
1058     p_effective_end_date           := null;
1059     p_return_status := hr_multi_message.get_return_status_disable;
1060     hr_utility.set_location(' Leaving:' || l_proc,50);
1061 end update_apl_asg;
1062 --
1063 -- ----------------------------------------------------------------------------
1064 -- |----------------------------< update_emp_asg >----------------------------|
1065 -- ----------------------------------------------------------------------------
1066 PROCEDURE update_emp_asg
1067   (p_validate                     in     number    default hr_api.g_false_num
1068   ,p_effective_date               in     date
1069   ,p_datetrack_update_mode        in     varchar2
1070   ,p_assignment_id                in     number
1071   ,p_object_version_number        in out nocopy number
1072   ,p_supervisor_id                in     number    default hr_api.g_number
1073   ,p_assignment_number            in     varchar2  default hr_api.g_varchar2
1074   ,p_change_reason                in     varchar2  default hr_api.g_varchar2
1075   ,p_assignment_status_type_id    in     number    default hr_api.g_number
1076   ,p_comments                     in     varchar2  default hr_api.g_varchar2
1077   ,p_date_probation_end           in     date      default hr_api.g_date
1078   ,p_default_code_comb_id         in     number    default hr_api.g_number
1079   ,p_frequency                    in     varchar2  default hr_api.g_varchar2
1080   ,p_internal_address_line        in     varchar2  default hr_api.g_varchar2
1081   ,p_manager_flag                 in     varchar2  default hr_api.g_varchar2
1082   ,p_normal_hours                 in     number    default hr_api.g_number
1083   ,p_perf_review_period           in     number    default hr_api.g_number
1084   ,p_perf_review_period_frequency in     varchar2  default hr_api.g_varchar2
1085   ,p_probation_period             in     number    default hr_api.g_number
1086   ,p_probation_unit               in     varchar2  default hr_api.g_varchar2
1087   ,p_sal_review_period            in     number    default hr_api.g_number
1088   ,p_sal_review_period_frequency  in     varchar2  default hr_api.g_varchar2
1089   ,p_set_of_books_id              in     number    default hr_api.g_number
1090   ,p_source_type                  in     varchar2  default hr_api.g_varchar2
1091   ,p_time_normal_finish           in     varchar2  default hr_api.g_varchar2
1092   ,p_time_normal_start            in     varchar2  default hr_api.g_varchar2
1093   ,p_bargaining_unit_code         in     varchar2  default hr_api.g_varchar2
1094   ,p_labour_union_member_flag     in     varchar2  default hr_api.g_varchar2
1095   ,p_hourly_salaried_code         in     varchar2  default hr_api.g_varchar2
1096   ,p_ass_attribute_category       in     varchar2  default hr_api.g_varchar2
1097   ,p_ass_attribute1               in     varchar2  default hr_api.g_varchar2
1098   ,p_ass_attribute2               in     varchar2  default hr_api.g_varchar2
1099   ,p_ass_attribute3               in     varchar2  default hr_api.g_varchar2
1100   ,p_ass_attribute4               in     varchar2  default hr_api.g_varchar2
1101   ,p_ass_attribute5               in     varchar2  default hr_api.g_varchar2
1102   ,p_ass_attribute6               in     varchar2  default hr_api.g_varchar2
1103   ,p_ass_attribute7               in     varchar2  default hr_api.g_varchar2
1104   ,p_ass_attribute8               in     varchar2  default hr_api.g_varchar2
1105   ,p_ass_attribute9               in     varchar2  default hr_api.g_varchar2
1106   ,p_ass_attribute10              in     varchar2  default hr_api.g_varchar2
1107   ,p_ass_attribute11              in     varchar2  default hr_api.g_varchar2
1108   ,p_ass_attribute12              in     varchar2  default hr_api.g_varchar2
1109   ,p_ass_attribute13              in     varchar2  default hr_api.g_varchar2
1110   ,p_ass_attribute14              in     varchar2  default hr_api.g_varchar2
1111   ,p_ass_attribute15              in     varchar2  default hr_api.g_varchar2
1112   ,p_ass_attribute16              in     varchar2  default hr_api.g_varchar2
1113   ,p_ass_attribute17              in     varchar2  default hr_api.g_varchar2
1114   ,p_ass_attribute18              in     varchar2  default hr_api.g_varchar2
1118   ,p_ass_attribute22              in     varchar2  default hr_api.g_varchar2
1115   ,p_ass_attribute19              in     varchar2  default hr_api.g_varchar2
1116   ,p_ass_attribute20              in     varchar2  default hr_api.g_varchar2
1117   ,p_ass_attribute21              in     varchar2  default hr_api.g_varchar2
1119   ,p_ass_attribute23              in     varchar2  default hr_api.g_varchar2
1120   ,p_ass_attribute24              in     varchar2  default hr_api.g_varchar2
1121   ,p_ass_attribute25              in     varchar2  default hr_api.g_varchar2
1122   ,p_ass_attribute26              in     varchar2  default hr_api.g_varchar2
1123   ,p_ass_attribute27              in     varchar2  default hr_api.g_varchar2
1124   ,p_ass_attribute28              in     varchar2  default hr_api.g_varchar2
1125   ,p_ass_attribute29              in     varchar2  default hr_api.g_varchar2
1126   ,p_ass_attribute30              in     varchar2  default hr_api.g_varchar2
1127   ,p_title                        in     varchar2  default hr_api.g_varchar2
1128   ,p_segment1                     in     varchar2  default hr_api.g_varchar2
1129   ,p_segment2                     in     varchar2  default hr_api.g_varchar2
1130   ,p_segment3                     in     varchar2  default hr_api.g_varchar2
1131   ,p_segment4                     in     varchar2  default hr_api.g_varchar2
1132   ,p_segment5                     in     varchar2  default hr_api.g_varchar2
1133   ,p_segment6                     in     varchar2  default hr_api.g_varchar2
1134   ,p_segment7                     in     varchar2  default hr_api.g_varchar2
1135   ,p_segment8                     in     varchar2  default hr_api.g_varchar2
1136   ,p_segment9                     in     varchar2  default hr_api.g_varchar2
1137   ,p_segment10                    in     varchar2  default hr_api.g_varchar2
1138   ,p_segment11                    in     varchar2  default hr_api.g_varchar2
1139   ,p_segment12                    in     varchar2  default hr_api.g_varchar2
1140   ,p_segment13                    in     varchar2  default hr_api.g_varchar2
1141   ,p_segment14                    in     varchar2  default hr_api.g_varchar2
1142   ,p_segment15                    in     varchar2  default hr_api.g_varchar2
1143   ,p_segment16                    in     varchar2  default hr_api.g_varchar2
1144   ,p_segment17                    in     varchar2  default hr_api.g_varchar2
1145   ,p_segment18                    in     varchar2  default hr_api.g_varchar2
1146   ,p_segment19                    in     varchar2  default hr_api.g_varchar2
1147   ,p_segment20                    in     varchar2  default hr_api.g_varchar2
1148   ,p_segment21                    in     varchar2  default hr_api.g_varchar2
1149   ,p_segment22                    in     varchar2  default hr_api.g_varchar2
1150   ,p_segment23                    in     varchar2  default hr_api.g_varchar2
1151   ,p_segment24                    in     varchar2  default hr_api.g_varchar2
1152   ,p_segment25                    in     varchar2  default hr_api.g_varchar2
1153   ,p_segment26                    in     varchar2  default hr_api.g_varchar2
1154   ,p_segment27                    in     varchar2  default hr_api.g_varchar2
1155   ,p_segment28                    in     varchar2  default hr_api.g_varchar2
1156   ,p_segment29                    in     varchar2  default hr_api.g_varchar2
1157   ,p_segment30                    in     varchar2  default hr_api.g_varchar2
1158   ,p_concat_segments              in     varchar2  default hr_api.g_varchar2
1159   ,p_contract_id                  in     number    default hr_api.g_number
1160   ,p_establishment_id             in     number    default hr_api.g_number
1161   ,p_collective_agreement_id      in     number    default hr_api.g_number
1162   ,p_cagr_id_flex_num             in     number    default hr_api.g_number
1163   ,p_cag_segment1                 in     varchar2  default hr_api.g_varchar2
1164   ,p_cag_segment2                 in     varchar2  default hr_api.g_varchar2
1165   ,p_cag_segment3                 in     varchar2  default hr_api.g_varchar2
1166   ,p_cag_segment4                 in     varchar2  default hr_api.g_varchar2
1167   ,p_cag_segment5                 in     varchar2  default hr_api.g_varchar2
1168   ,p_cag_segment6                 in     varchar2  default hr_api.g_varchar2
1169   ,p_cag_segment7                 in     varchar2  default hr_api.g_varchar2
1170   ,p_cag_segment8                 in     varchar2  default hr_api.g_varchar2
1171   ,p_cag_segment9                 in     varchar2  default hr_api.g_varchar2
1172   ,p_cag_segment10                in     varchar2  default hr_api.g_varchar2
1173   ,p_cag_segment11                in     varchar2  default hr_api.g_varchar2
1174   ,p_cag_segment12                in     varchar2  default hr_api.g_varchar2
1175   ,p_cag_segment13                in     varchar2  default hr_api.g_varchar2
1176   ,p_cag_segment14                in     varchar2  default hr_api.g_varchar2
1177   ,p_cag_segment15                in     varchar2  default hr_api.g_varchar2
1178   ,p_cag_segment16                in     varchar2  default hr_api.g_varchar2
1179   ,p_cag_segment17                in     varchar2  default hr_api.g_varchar2
1180   ,p_cag_segment18                in     varchar2  default hr_api.g_varchar2
1181   ,p_cag_segment19                in     varchar2  default hr_api.g_varchar2
1182   ,p_cag_segment20                in     varchar2  default hr_api.g_varchar2
1183   ,p_notice_period                in     number    default hr_api.g_number
1184   ,p_notice_period_uom            in     varchar2  default hr_api.g_varchar2
1185   ,p_employee_category            in     varchar2  default hr_api.g_varchar2
1186   ,p_work_at_home                 in     varchar2  default hr_api.g_varchar2
1187   ,p_job_post_source_name         in     varchar2  default hr_api.g_varchar2
1191   ,p_scl_concatenated_segments    in     varchar2  default hr_api.g_varchar2
1188   ,p_business_group_id            in     varchar2  default hr_api.g_number
1189   ,p_tax_unit_name                in     varchar2  default hr_api.g_varchar2
1190   ,p_scl_flex_struc_code          in     varchar2  default hr_api.g_varchar2
1192   ,p_cagr_grade_def_id               out nocopy number
1193   ,p_cagr_concatenated_segments      out nocopy varchar2
1194   ,p_concatenated_segments           out nocopy varchar2
1195   ,p_soft_coding_keyflex_id          out nocopy number
1196   ,p_comment_id                      out nocopy number
1197   ,p_effective_start_date            out nocopy date
1198   ,p_effective_end_date              out nocopy date
1199   ,p_return_status                   out nocopy varchar2
1200   ) is
1201   --
1202   -- Variables for API Boolean parameters
1203   l_validate                      boolean;
1204   l_no_managers_warning           boolean;
1205   l_other_manager_warning         boolean;
1206   l_hourly_salaried_warning       boolean;
1207   --
1208   -- Variables for IN/OUT parameters
1209   l_object_version_number         number;
1210   --
1211   -- Other variables
1212   l_proc    varchar2(72) := g_package ||'update_emp_asg';
1213   l_scl_keyflex_id number(15);
1214 Begin
1215   hr_utility.set_location(' Entering:' || l_proc,10);
1216   --
1217   -- Issue a savepoint
1218   --
1219   savepoint update_emp_asg_swi;
1220   --
1221   -- Initialise Multiple Message Detection
1222   --
1223   hr_multi_message.enable_message_list;
1224   --
1225   -- Remember IN OUT parameter IN values
1226   --
1227   if p_object_version_number is null then
1228      select object_version_number
1229        into p_object_version_number
1230        from per_all_assignments_f
1231       where assignment_id = p_assignment_id;
1232   end if;
1233   l_object_version_number         := p_object_version_number;
1234   --
1235   -- Convert constant values to their corresponding boolean value
1236   --
1237   l_validate :=
1238     hr_api.constant_to_boolean
1239       (p_constant_value => p_validate);
1240   --
1241   -- call insert_soft_coding_keyflex to insert record into SCL during migration
1242   --
1243   l_scl_keyflex_id := insert_soft_coding_keyflex
1244                        ( p_bg_id                     => p_business_group_id
1245                         ,p_tax_unit_name             => p_tax_unit_name
1246                         ,p_scl_flex_struc_code   => p_scl_flex_struc_code
1247                         ,p_scl_concat_segments => p_scl_concatenated_segments);
1248   --
1249   -- Register Surrogate ID or user key values
1250   --
1251   --
1252   -- Call API
1253   --
1254   hr_assignment_api.update_emp_asg
1255     (p_validate                     => l_validate
1256     ,p_effective_date               => p_effective_date
1257     ,p_datetrack_update_mode        => p_datetrack_update_mode
1258     ,p_assignment_id                => p_assignment_id
1259     ,p_object_version_number        => p_object_version_number
1260     ,p_supervisor_id                => p_supervisor_id
1261     ,p_assignment_number            => p_assignment_number
1262     ,p_change_reason                => p_change_reason
1263     ,p_assignment_status_type_id    => p_assignment_status_type_id
1264     ,p_comments                     => p_comments
1265     ,p_date_probation_end           => p_date_probation_end
1266     ,p_default_code_comb_id         => p_default_code_comb_id
1267     ,p_frequency                    => p_frequency
1268     ,p_internal_address_line        => p_internal_address_line
1269     ,p_manager_flag                 => p_manager_flag
1270     ,p_normal_hours                 => p_normal_hours
1271     ,p_perf_review_period           => p_perf_review_period
1272     ,p_perf_review_period_frequency => p_perf_review_period_frequency
1273     ,p_probation_period             => p_probation_period
1274     ,p_probation_unit               => p_probation_unit
1275     ,p_sal_review_period            => p_sal_review_period
1276     ,p_sal_review_period_frequency  => p_sal_review_period_frequency
1277     ,p_set_of_books_id              => p_set_of_books_id
1278     ,p_source_type                  => p_source_type
1279     ,p_time_normal_finish           => p_time_normal_finish
1280     ,p_time_normal_start            => p_time_normal_start
1281     ,p_bargaining_unit_code         => p_bargaining_unit_code
1282     ,p_labour_union_member_flag     => p_labour_union_member_flag
1283     ,p_hourly_salaried_code         => p_hourly_salaried_code
1284     ,p_ass_attribute_category       => p_ass_attribute_category
1285     ,p_ass_attribute1               => p_ass_attribute1
1286     ,p_ass_attribute2               => p_ass_attribute2
1287     ,p_ass_attribute3               => p_ass_attribute3
1288     ,p_ass_attribute4               => p_ass_attribute4
1289     ,p_ass_attribute5               => p_ass_attribute5
1290     ,p_ass_attribute6               => p_ass_attribute6
1291     ,p_ass_attribute7               => p_ass_attribute7
1292     ,p_ass_attribute8               => p_ass_attribute8
1293     ,p_ass_attribute9               => p_ass_attribute9
1294     ,p_ass_attribute10              => p_ass_attribute10
1295     ,p_ass_attribute11              => p_ass_attribute11
1296     ,p_ass_attribute12              => p_ass_attribute12
1297     ,p_ass_attribute13              => p_ass_attribute13
1298     ,p_ass_attribute14              => p_ass_attribute14
1299     ,p_ass_attribute15              => p_ass_attribute15
1300     ,p_ass_attribute16              => p_ass_attribute16
1301     ,p_ass_attribute17              => p_ass_attribute17
1302     ,p_ass_attribute18              => p_ass_attribute18
1303     ,p_ass_attribute19              => p_ass_attribute19
1307     ,p_ass_attribute23              => p_ass_attribute23
1304     ,p_ass_attribute20              => p_ass_attribute20
1305     ,p_ass_attribute21              => p_ass_attribute21
1306     ,p_ass_attribute22              => p_ass_attribute22
1308     ,p_ass_attribute24              => p_ass_attribute24
1309     ,p_ass_attribute25              => p_ass_attribute25
1310     ,p_ass_attribute26              => p_ass_attribute26
1311     ,p_ass_attribute27              => p_ass_attribute27
1312     ,p_ass_attribute28              => p_ass_attribute28
1313     ,p_ass_attribute29              => p_ass_attribute29
1314     ,p_ass_attribute30              => p_ass_attribute30
1315     ,p_title                        => p_title
1316     ,p_segment1                     => p_segment1
1317     ,p_segment2                     => p_segment2
1318     ,p_segment3                     => p_segment3
1319     ,p_segment4                     => p_segment4
1320     ,p_segment5                     => p_segment5
1321     ,p_segment6                     => p_segment6
1322     ,p_segment7                     => p_segment7
1323     ,p_segment8                     => p_segment8
1324     ,p_segment9                     => p_segment9
1325     ,p_segment10                    => p_segment10
1326     ,p_segment11                    => p_segment11
1327     ,p_segment12                    => p_segment12
1328     ,p_segment13                    => p_segment13
1329     ,p_segment14                    => p_segment14
1330     ,p_segment15                    => p_segment15
1331     ,p_segment16                    => p_segment16
1332     ,p_segment17                    => p_segment17
1333     ,p_segment18                    => p_segment18
1334     ,p_segment19                    => p_segment19
1335     ,p_segment20                    => p_segment20
1336     ,p_segment21                    => p_segment21
1337     ,p_segment22                    => p_segment22
1338     ,p_segment23                    => p_segment23
1339     ,p_segment24                    => p_segment24
1340     ,p_segment25                    => p_segment25
1341     ,p_segment26                    => p_segment26
1342     ,p_segment27                    => p_segment27
1343     ,p_segment28                    => p_segment28
1344     ,p_segment29                    => p_segment29
1345     ,p_segment30                    => p_segment30
1346     ,p_concat_segments              => p_concat_segments
1347     ,p_contract_id                  => p_contract_id
1348     ,p_establishment_id             => p_establishment_id
1349     ,p_collective_agreement_id      => p_collective_agreement_id
1350     ,p_cagr_id_flex_num             => p_cagr_id_flex_num
1351     ,p_cag_segment1                 => p_cag_segment1
1352     ,p_cag_segment2                 => p_cag_segment2
1353     ,p_cag_segment3                 => p_cag_segment3
1354     ,p_cag_segment4                 => p_cag_segment4
1355     ,p_cag_segment5                 => p_cag_segment5
1356     ,p_cag_segment6                 => p_cag_segment6
1357     ,p_cag_segment7                 => p_cag_segment7
1358     ,p_cag_segment8                 => p_cag_segment8
1359     ,p_cag_segment9                 => p_cag_segment9
1360     ,p_cag_segment10                => p_cag_segment10
1361     ,p_cag_segment11                => p_cag_segment11
1362     ,p_cag_segment12                => p_cag_segment12
1363     ,p_cag_segment13                => p_cag_segment13
1364     ,p_cag_segment14                => p_cag_segment14
1365     ,p_cag_segment15                => p_cag_segment15
1366     ,p_cag_segment16                => p_cag_segment16
1367     ,p_cag_segment17                => p_cag_segment17
1368     ,p_cag_segment18                => p_cag_segment18
1369     ,p_cag_segment19                => p_cag_segment19
1370     ,p_cag_segment20                => p_cag_segment20
1371     ,p_notice_period                => p_notice_period
1372     ,p_notice_period_uom            => p_notice_period_uom
1373     ,p_employee_category            => p_employee_category
1374     ,p_work_at_home                 => p_work_at_home
1375     ,p_job_post_source_name         => p_job_post_source_name
1376     ,p_cagr_grade_def_id            => p_cagr_grade_def_id
1377     ,p_cagr_concatenated_segments   => p_cagr_concatenated_segments
1378     ,p_concatenated_segments        => p_concatenated_segments
1379    /* ,p_soft_coding_keyflex_id       => p_soft_coding_keyflex_id */
1380     ,p_soft_coding_keyflex_id       => l_scl_keyflex_id
1381     ,p_comment_id                   => p_comment_id
1382     ,p_effective_start_date         => p_effective_start_date
1383     ,p_effective_end_date           => p_effective_end_date
1384     ,p_no_managers_warning          => l_no_managers_warning
1385     ,p_other_manager_warning        => l_other_manager_warning
1386     ,p_hourly_salaried_warning      => l_hourly_salaried_warning
1387     );
1388   --
1389   -- Convert API warning boolean parameter values to specific
1390   -- messages and add them to Multiple Message List
1391   --
1392   if l_no_managers_warning then
1393       fnd_message.set_name('PER', 'HR_289214_NO_MANAGERS');
1394       hr_multi_message.add
1395         (p_message_type => hr_multi_message.g_warning_msg
1396         );
1397   end if;
1398   /*
1399   if l_other_manager_warning then
1400      fnd_message.set_name('PER', 'HR_289215_DUPLICATE_MANAGERS');
1401       hr_multi_message.add
1402         (p_message_type => hr_multi_message.g_warning_msg
1403         );
1404   end if;
1405   */
1406   if l_hourly_salaried_warning then
1407      fnd_message.set_name('PER', 'HR_289648_CWK_HR_CODE_NOT_NULL');
1408       hr_multi_message.add
1409         (p_message_type => hr_multi_message.g_warning_msg
1413   --
1410         );
1411   end if;  --
1412   -- Convert API non-warning boolean parameter values
1414   --
1415   -- Derive the API return status value based on whether
1416   -- messages of any type exist in the Multiple Message List.
1417   -- Also disable Multiple Message Detection.
1418   --
1419   p_return_status := hr_multi_message.get_return_status_disable;
1420   hr_utility.set_location(' Leaving:' || l_proc,20);
1421   --
1422 exception
1423   when hr_multi_message.error_message_exist then
1424     --
1425     -- Catch the Multiple Message List exception which
1426     -- indicates API processing has been aborted because
1427     -- at least one message exists in the list.
1428     --
1429     rollback to update_emp_asg_swi;
1430     --
1431     -- Reset IN OUT parameters and set OUT parameters
1432     --
1433     p_object_version_number        := l_object_version_number;
1434     p_cagr_grade_def_id            := null;
1435     p_cagr_concatenated_segments   := null;
1436     p_concatenated_segments        := null;
1437     p_soft_coding_keyflex_id       := null;
1438     p_comment_id                   := null;
1439     p_effective_start_date         := null;
1440     p_effective_end_date           := null;
1441     p_return_status := hr_multi_message.get_return_status_disable;
1442     hr_utility.set_location(' Leaving:' || l_proc, 30);
1443   when others then
1444     --
1445     -- When Multiple Message Detection is enabled catch
1446     -- any Application specific or other unexpected
1447     -- exceptions.  Adding appropriate details to the
1448     -- Multiple Message List.  Otherwise re-raise the
1449     -- error.
1450     --
1451     rollback to update_emp_asg_swi;
1452     if hr_multi_message.unexpected_error_add(l_proc) then
1453        hr_utility.set_location(' Leaving:' || l_proc,40);
1454        raise;
1455     end if;
1456     --
1457     -- Reset IN OUT and set OUT parameters
1458     --
1459     p_object_version_number        := l_object_version_number;
1460     p_cagr_grade_def_id            := null;
1461     p_cagr_concatenated_segments   := null;
1462     p_concatenated_segments        := null;
1463     p_soft_coding_keyflex_id       := null;
1464     p_comment_id                   := null;
1465     p_effective_start_date         := null;
1466     p_effective_end_date           := null;
1467     p_return_status := hr_multi_message.get_return_status_disable;
1468     hr_utility.set_location(' Leaving:' || l_proc,50);
1469 end update_emp_asg;
1470 --
1471 --
1472 --
1473 -- ----------------------------------------------------------------------------
1474 -- |------------------------< update_emp_asg_criteria >-----------------------|
1475 -- ----------------------------------------------------------------------------
1476 PROCEDURE update_emp_asg_criteria
1477   (p_validate                     in     number    default hr_api.g_false_num
1478   ,p_effective_date               in     date
1479   ,p_datetrack_update_mode        in     varchar2
1480   ,p_assignment_id                in     number
1481   ,p_object_version_number        in out nocopy number
1482   ,p_grade_id                     in     number    default hr_api.g_number
1483   ,p_position_id                  in     number    default hr_api.g_number
1484   ,p_job_id                       in     number    default hr_api.g_number
1485   ,p_payroll_id                   in     number    default hr_api.g_number
1486   ,p_location_id                  in     number    default hr_api.g_number
1487   ,p_special_ceiling_step_id      in out nocopy number
1488   ,p_organization_id              in     number    default hr_api.g_number
1489   ,p_pay_basis_id                 in     number    default hr_api.g_number
1490   ,p_segment1                     in     varchar2  default hr_api.g_varchar2
1491   ,p_segment2                     in     varchar2  default hr_api.g_varchar2
1492   ,p_segment3                     in     varchar2  default hr_api.g_varchar2
1493   ,p_segment4                     in     varchar2  default hr_api.g_varchar2
1494   ,p_segment5                     in     varchar2  default hr_api.g_varchar2
1495   ,p_segment6                     in     varchar2  default hr_api.g_varchar2
1496   ,p_segment7                     in     varchar2  default hr_api.g_varchar2
1497   ,p_segment8                     in     varchar2  default hr_api.g_varchar2
1498   ,p_segment9                     in     varchar2  default hr_api.g_varchar2
1499   ,p_segment10                    in     varchar2  default hr_api.g_varchar2
1500   ,p_segment11                    in     varchar2  default hr_api.g_varchar2
1501   ,p_segment12                    in     varchar2  default hr_api.g_varchar2
1502   ,p_segment13                    in     varchar2  default hr_api.g_varchar2
1503   ,p_segment14                    in     varchar2  default hr_api.g_varchar2
1504   ,p_segment15                    in     varchar2  default hr_api.g_varchar2
1505   ,p_segment16                    in     varchar2  default hr_api.g_varchar2
1506   ,p_segment17                    in     varchar2  default hr_api.g_varchar2
1507   ,p_segment18                    in     varchar2  default hr_api.g_varchar2
1508   ,p_segment19                    in     varchar2  default hr_api.g_varchar2
1509   ,p_segment20                    in     varchar2  default hr_api.g_varchar2
1510   ,p_segment21                    in     varchar2  default hr_api.g_varchar2
1511   ,p_segment22                    in     varchar2  default hr_api.g_varchar2
1512   ,p_segment23                    in     varchar2  default hr_api.g_varchar2
1513   ,p_segment24                    in     varchar2  default hr_api.g_varchar2
1517   ,p_segment28                    in     varchar2  default hr_api.g_varchar2
1514   ,p_segment25                    in     varchar2  default hr_api.g_varchar2
1515   ,p_segment26                    in     varchar2  default hr_api.g_varchar2
1516   ,p_segment27                    in     varchar2  default hr_api.g_varchar2
1518   ,p_segment29                    in     varchar2  default hr_api.g_varchar2
1519   ,p_segment30                    in     varchar2  default hr_api.g_varchar2
1520   ,p_concat_segments              in     varchar2  default hr_api.g_varchar2
1521   ,p_group_name                      out nocopy varchar2
1522   ,p_employment_category          in     varchar2  default hr_api.g_varchar2
1523   ,p_effective_start_date            out nocopy date
1524   ,p_effective_end_date              out nocopy date
1525   ,p_people_group_id                 out nocopy number
1526   ,p_entries_changed_warning         out nocopy varchar2
1527   ,p_return_status                   out nocopy varchar2
1528   ) is
1529   --
1530   -- Variables for API Boolean parameters
1531   l_validate                      boolean;
1532   l_org_now_no_manager_warning    boolean;
1533   l_other_manager_warning         boolean;
1534   l_spp_delete_warning            boolean;
1535   l_tax_district_changed_warning  boolean;
1536   --
1537   -- Variables for IN/OUT parameters
1538   l_object_version_number         number;
1539   l_special_ceiling_step_id       number;
1540   --
1541   -- Other variables
1542   l_proc    varchar2(72) := g_package ||'update_emp_asg_criteria';
1543 Begin
1544   hr_utility.set_location(' Entering:' || l_proc,10);
1545   --
1546   -- Issue a savepoint
1547   --
1548   savepoint update_emp_asg_criteria_swi;
1549   --
1550   -- Initialise Multiple Message Detection
1551   --
1552   hr_multi_message.enable_message_list;
1553   --
1554   -- Remember IN OUT parameter IN values
1555   --
1556    if p_object_version_number is null then
1557       select object_version_number
1558         into p_object_version_number
1559         from per_all_assignments_f
1560        where assignment_id = p_assignment_id;
1561    end if;
1562   l_object_version_number         := p_object_version_number;
1563   l_special_ceiling_step_id       := p_special_ceiling_step_id;
1564   --
1565   -- Convert constant values to their corresponding boolean value
1566   --
1567   l_validate :=
1568     hr_api.constant_to_boolean
1569       (p_constant_value => p_validate);
1570   --
1571   -- Register Surrogate ID or user key values
1572   --
1573   --
1574   -- Call API
1575   --
1576   hr_assignment_api.update_emp_asg_criteria
1577     (p_validate                     => l_validate
1578     ,p_effective_date               => p_effective_date
1579     ,p_datetrack_update_mode        => p_datetrack_update_mode
1580     ,p_assignment_id                => p_assignment_id
1581     ,p_object_version_number        => p_object_version_number
1582     ,p_grade_id                     => p_grade_id
1583     ,p_position_id                  => p_position_id
1584     ,p_job_id                       => p_job_id
1585     ,p_payroll_id                   => p_payroll_id
1586     ,p_location_id                  => p_location_id
1587     ,p_special_ceiling_step_id      => p_special_ceiling_step_id
1588     ,p_organization_id              => p_organization_id
1589     ,p_pay_basis_id                 => p_pay_basis_id
1590     ,p_segment1                     => p_segment1
1591     ,p_segment2                     => p_segment2
1592     ,p_segment3                     => p_segment3
1593     ,p_segment4                     => p_segment4
1594     ,p_segment5                     => p_segment5
1595     ,p_segment6                     => p_segment6
1596     ,p_segment7                     => p_segment7
1597     ,p_segment8                     => p_segment8
1601     ,p_segment12                    => p_segment12
1598     ,p_segment9                     => p_segment9
1599     ,p_segment10                    => p_segment10
1600     ,p_segment11                    => p_segment11
1602     ,p_segment13                    => p_segment13
1603     ,p_segment14                    => p_segment14
1604     ,p_segment15                    => p_segment15
1605     ,p_segment16                    => p_segment16
1606     ,p_segment17                    => p_segment17
1607     ,p_segment18                    => p_segment18
1608     ,p_segment19                    => p_segment19
1609     ,p_segment20                    => p_segment20
1610     ,p_segment21                    => p_segment21
1611     ,p_segment22                    => p_segment22
1612     ,p_segment23                    => p_segment23
1613     ,p_segment24                    => p_segment24
1614     ,p_segment25                    => p_segment25
1615     ,p_segment26                    => p_segment26
1616     ,p_segment27                    => p_segment27
1617     ,p_segment28                    => p_segment28
1618     ,p_segment29                    => p_segment29
1619     ,p_segment30                    => p_segment30
1620     ,p_concat_segments              => p_concat_segments
1621     ,p_group_name                   => p_group_name
1622     ,p_employment_category          => p_employment_category
1623     ,p_effective_start_date         => p_effective_start_date
1624     ,p_effective_end_date           => p_effective_end_date
1625     ,p_people_group_id              => p_people_group_id
1626     ,p_org_now_no_manager_warning   => l_org_now_no_manager_warning
1627     ,p_other_manager_warning        => l_other_manager_warning
1628     ,p_spp_delete_warning           => l_spp_delete_warning
1629     ,p_entries_changed_warning      => p_entries_changed_warning
1630     ,p_tax_district_changed_warning => l_tax_district_changed_warning
1631     );
1632   --
1633   -- Convert API warning boolean parameter values to specific
1634   -- messages and add them to Multiple Message List
1635   --
1636   if l_org_now_no_manager_warning then
1637       fnd_message.set_name('PER', 'HR_289214_NO_MANAGERS');
1638       hr_multi_message.add
1639         (p_message_type => hr_multi_message.g_warning_msg
1640         );
1641   end if;
1642   /*
1643   if l_other_manager_warning then
1644      fnd_message.set_name('PER', 'HR_289215_DUPLICATE_MANAGERS');
1645       hr_multi_message.add
1646         (p_message_type => hr_multi_message.g_warning_msg
1647         );
1648   end if; */
1649   if l_spp_delete_warning then
1650      fnd_message.set_name('PER', 'HR_289826_SPP_DELETE_WARN_API');
1651       hr_multi_message.add
1652         (p_message_type => hr_multi_message.g_warning_msg
1653         );
1654   end if;
1655   if l_tax_district_changed_warning then
1656      fnd_message.set_name('EDIT HERE: APP_CODE', 'EDIT_HERE: MESSAGE_NAME ');
1657       hr_multi_message.add
1658         (p_message_type => hr_multi_message.g_warning_msg
1659         );
1660   end if;  --
1661   -- Convert API non-warning boolean parameter values
1662   --
1663   --
1664   -- Derive the API return status value based on whether
1665   -- messages of any type exist in the Multiple Message List.
1666   -- Also disable Multiple Message Detection.
1667   --
1668   p_return_status := hr_multi_message.get_return_status_disable;
1669   hr_utility.set_location(' Leaving:' || l_proc,20);
1670   --
1671 exception
1672   when hr_multi_message.error_message_exist then
1673     --
1674     -- Catch the Multiple Message List exception which
1675     -- indicates API processing has been aborted because
1676     -- at least one message exists in the list.
1677     --
1678     rollback to update_emp_asg_criteria_swi;
1679     --
1680     -- Reset IN OUT parameters and set OUT parameters
1681     --
1682     p_object_version_number        := l_object_version_number;
1683     p_special_ceiling_step_id      := l_special_ceiling_step_id;
1684     p_group_name                   := null;
1685     p_effective_start_date         := null;
1686     p_effective_end_date           := null;
1687     p_people_group_id              := null;
1688     p_return_status := hr_multi_message.get_return_status_disable;
1689     hr_utility.set_location(' Leaving:' || l_proc, 30);
1690   when others then
1691     --
1692     -- When Multiple Message Detection is enabled catch
1693     -- any Application specific or other unexpected
1694     -- exceptions.  Adding appropriate details to the
1698     rollback to update_emp_asg_criteria_swi;
1695     -- Multiple Message List.  Otherwise re-raise the
1696     -- error.
1697     --
1699     if hr_multi_message.unexpected_error_add(l_proc) then
1700        hr_utility.set_location(' Leaving:' || l_proc,40);
1701        raise;
1702     end if;
1703     --
1704     -- Reset IN OUT and set OUT parameters
1705     --
1706     p_object_version_number        := l_object_version_number;
1707     p_special_ceiling_step_id      := l_special_ceiling_step_id;
1708     p_group_name                   := null;
1709     p_effective_start_date         := null;
1710     p_effective_end_date           := null;
1711     p_people_group_id              := null;
1712     p_return_status := hr_multi_message.get_return_status_disable;
1713     hr_utility.set_location(' Leaving:' || l_proc,50);
1714 end update_emp_asg_criteria;
1715 --
1716 --
1717 -- ----------------------------------------------------------------------------
1718 -- |------------------------< insert_soft_coding_keyflex >---------------------|
1719 -- ----------------------------------------------------------------------------
1720 FUNCTION insert_soft_coding_keyflex
1721   (p_tax_unit_name    in     varchar2
1722   ,p_bg_id            in     number
1723   ,p_scl_flex_struc_code  in     varchar2
1724   ,p_scl_concat_segments  in     varchar2) RETURN NUMBER AS
1725   --
1726   l_scl_keyflex_id  hr_soft_coding_keyflex.soft_coding_keyflex_id%type;
1727   l_id_flex_num fnd_id_flex_structures.id_flex_num%type;
1728   l_tax_unit_id hr_all_organization_units.organization_id%type;
1729  --
1730  --
1731  begin
1732  --
1733  --
1734   if p_tax_unit_name is not null then
1735     SELECT id_flex_num INTO l_id_flex_num
1736       FROM fnd_id_flex_structures
1737      WHERE id_flex_structure_code = p_scl_flex_struc_code
1738        AND application_id = 800;
1739 
1740     SELECT organization_id INTO l_tax_unit_id
1741       FROM hr_all_organization_units
1742      WHERE name = p_tax_unit_name
1743        AND business_group_id = p_bg_id;
1744     --
1745     begin
1746       SELECT soft_coding_keyflex_id
1747         INTO l_scl_keyflex_id
1748         FROM hr_soft_coding_keyflex
1749        WHERE segment1 = l_tax_unit_id;
1750        --concatenated_segments = p_scl_concat_segments;
1751 
1752     exception
1753       when no_data_found then
1754          SELECT hr_soft_coding_keyflex_s.nextval
1755            INTO l_scl_keyflex_id
1756            FROM dual;
1757          --
1758          INSERT INTO hr_soft_coding_keyflex
1759            (soft_coding_keyflex_id,
1760             concatenated_segments,
1761             id_flex_num,
1762             summary_flag,
1763             enabled_flag,
1764             segment1)
1765           VALUES (l_scl_keyflex_id,
1766                   p_scl_concat_segments,
1767                   l_id_flex_num,
1768                   'N',
1769                   'Y',
1770                   l_tax_unit_id);
1771     end;
1772   end if;
1773   return l_scl_keyflex_id;
1774 
1775  end insert_soft_coding_keyflex;
1776 --
1777 --
1778 end hr_assignment_isetup_swi;