DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_DE_ASSIGNMENT_API

Source


1 Package Body hr_de_assignment_api as
2 /* $Header: peasgdei.pkb 115.1 2002/12/10 04:51:41 raranjan noship $ */
3 --
4 -- Package Variables
5 --
6 g_package  varchar2(33) := '  hr_de_assignment_api.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |---------------------< create_de_secondary_emp_asg >-----------------------|
10 -- ----------------------------------------------------------------------------
11 --
12 procedure create_de_secondary_emp_asg
13   (p_validate                     in     boolean  default false
14   ,p_effective_date               in     date
15   ,p_person_id                    in     number
16   ,p_organization_id              in     number
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_supervisor_id                in     number   default null
24   ,p_special_ceiling_step_id      in     number   default null
25   ,p_pay_basis_id                 in     number   default null
26   ,p_assignment_number            in out nocopy varchar2
27   ,p_change_reason                in     varchar2 default null
28   ,p_comments                     in     varchar2 default null
29   ,p_date_probation_end           in     date     default null
30   ,p_default_code_comb_id         in     number   default null
31   ,p_employment_category          in     varchar2 default null
32   ,p_frequency                    in     varchar2 default null
33   ,p_internal_address_line        in     varchar2 default null
34   ,p_manager_flag                 in     varchar2 default null
35   ,p_normal_hours                 in     number   default null
36   ,p_perf_review_period           in     number   default null
37   ,p_perf_review_period_frequency in     varchar2 default null
38   ,p_probation_period             in     number   default null
39   ,p_probation_unit               in     varchar2 default null
40   ,p_sal_review_period            in     number   default null
41   ,p_sal_review_period_frequency  in     varchar2 default null
42   ,p_set_of_books_id              in     number   default null
43   ,p_source_type                  in     varchar2 default null
44   ,p_time_normal_finish           in     varchar2 default null
45   ,p_time_normal_start            in     varchar2 default null
46   ,p_bargaining_unit_code         in     varchar2 default null
47   ,p_hourly_salaried_code         in     varchar2 default null
48   ,p_ass_attribute_category       in     varchar2 default null
49   ,p_ass_attribute1               in     varchar2 default null
50   ,p_ass_attribute2               in     varchar2 default null
51   ,p_ass_attribute3               in     varchar2 default null
52   ,p_ass_attribute4               in     varchar2 default null
53   ,p_ass_attribute5               in     varchar2 default null
54   ,p_ass_attribute6               in     varchar2 default null
55   ,p_ass_attribute7               in     varchar2 default null
56   ,p_ass_attribute8               in     varchar2 default null
57   ,p_ass_attribute9               in     varchar2 default null
58   ,p_ass_attribute10              in     varchar2 default null
59   ,p_ass_attribute11              in     varchar2 default null
60   ,p_ass_attribute12              in     varchar2 default null
61   ,p_ass_attribute13              in     varchar2 default null
62   ,p_ass_attribute14              in     varchar2 default null
63   ,p_ass_attribute15              in     varchar2 default null
64   ,p_ass_attribute16              in     varchar2 default null
65   ,p_ass_attribute17              in     varchar2 default null
66   ,p_ass_attribute18              in     varchar2 default null
67   ,p_ass_attribute19              in     varchar2 default null
68   ,p_ass_attribute20              in     varchar2 default null
69   ,p_ass_attribute21              in     varchar2 default null
70   ,p_ass_attribute22              in     varchar2 default null
71   ,p_ass_attribute23              in     varchar2 default null
72   ,p_ass_attribute24              in     varchar2 default null
73   ,p_ass_attribute25              in     varchar2 default null
74   ,p_ass_attribute26              in     varchar2 default null
75   ,p_ass_attribute27              in     varchar2 default null
76   ,p_ass_attribute28              in     varchar2 default null
77   ,p_ass_attribute29              in     varchar2 default null
78   ,p_ass_attribute30              in     varchar2 default null
79   ,p_title                        in     varchar2 default null
80   ,p_scl_segment1                 in     varchar2 default null
81   ,p_scl_segment2                 in     varchar2 default null
82   ,p_scl_segment3                 in     varchar2 default null
83   ,p_scl_segment4                 in     varchar2 default null
84   ,p_scl_segment5                 in     varchar2 default null
85   ,p_scl_segment6                 in     varchar2 default null
86   ,p_scl_segment7                 in     varchar2 default null
87   ,p_scl_segment8                 in     varchar2 default null
88   ,p_scl_segment9                 in     varchar2 default null
89   ,p_scl_segment10                in     varchar2 default null
90   ,p_scl_segment11                in     varchar2 default null
91   ,p_scl_segment12                in     varchar2 default null
92   ,p_scl_segment13                in     varchar2 default null
93   ,p_scl_segment14                in     varchar2 default null
94   ,p_scl_segment15                in     varchar2 default null
95   ,p_scl_segment16                in     varchar2 default null
96   ,p_scl_segment17                in     varchar2 default null
97   ,p_scl_segment18                in     varchar2 default null
98   ,p_scl_segment19                in     varchar2 default null
99   ,p_scl_segment20                in     varchar2 default null
100   ,p_scl_segment21                in     varchar2 default null
101   ,p_scl_segment22                in     varchar2 default null
102   ,p_scl_segment23                in     varchar2 default null
103   ,p_scl_segment24                in     varchar2 default null
104   ,p_scl_segment25                in     varchar2 default null
105   ,p_scl_segment26                in     varchar2 default null
106   ,p_scl_segment27                in     varchar2 default null
107   ,p_scl_segment28                in     varchar2 default null
108   ,p_scl_segment29                in     varchar2 default null
109   ,p_scl_segment30                in     varchar2 default null
110   ,p_scl_concat_segments          in     varchar2 default null
111   ,p_pgp_segment1                 in     varchar2 default null
112   ,p_pgp_segment2                 in     varchar2 default null
113   ,p_pgp_segment3                 in     varchar2 default null
114   ,p_pgp_segment4                 in     varchar2 default null
115   ,p_pgp_segment5                 in     varchar2 default null
116   ,p_pgp_segment6                 in     varchar2 default null
117   ,p_pgp_segment7                 in     varchar2 default null
118   ,p_pgp_segment8                 in     varchar2 default null
119   ,p_pgp_segment9                 in     varchar2 default null
120   ,p_pgp_segment10                in     varchar2 default null
121   ,p_pgp_segment11                in     varchar2 default null
122   ,p_pgp_segment12                in     varchar2 default null
123   ,p_pgp_segment13                in     varchar2 default null
124   ,p_pgp_segment14                in     varchar2 default null
125   ,p_pgp_segment15                in     varchar2 default null
126   ,p_pgp_segment16                in     varchar2 default null
127   ,p_pgp_segment17                in     varchar2 default null
128   ,p_pgp_segment18                in     varchar2 default null
129   ,p_pgp_segment19                in     varchar2 default null
130   ,p_pgp_segment20                in     varchar2 default null
131   ,p_pgp_segment21                in     varchar2 default null
132   ,p_pgp_segment22                in     varchar2 default null
133   ,p_pgp_segment23                in     varchar2 default null
134   ,p_pgp_segment24                in     varchar2 default null
135   ,p_pgp_segment25                in     varchar2 default null
136   ,p_pgp_segment26                in     varchar2 default null
137   ,p_pgp_segment27                in     varchar2 default null
138   ,p_pgp_segment28                in     varchar2 default null
139   ,p_pgp_segment29                in     varchar2 default null
140   ,p_pgp_segment30                in     varchar2 default null
141   ,p_pgp_concat_segments	    in     varchar2 default null
142   ,p_contract_id                  in     number default null
143   ,p_establishment_id             in     number default null
144   ,p_collective_agreement_id      in     number default null
145   ,p_cagr_id_flex_num             in     number default null
146   ,p_cag_segment1                 in     varchar2 default null
147   ,p_cag_segment2                 in     varchar2 default null
148   ,p_cag_segment3                 in     varchar2 default null
149   ,p_cag_segment4                 in     varchar2 default null
150   ,p_cag_segment5                 in     varchar2 default null
151   ,p_cag_segment6                 in     varchar2 default null
152   ,p_cag_segment7                 in     varchar2 default null
153   ,p_cag_segment8                 in     varchar2 default null
154   ,p_cag_segment9                 in     varchar2 default null
155   ,p_cag_segment10                in     varchar2 default null
156   ,p_cag_segment11                in     varchar2 default null
157   ,p_cag_segment12                in     varchar2 default null
158   ,p_cag_segment13                in     varchar2 default null
159   ,p_cag_segment14                in     varchar2 default null
160   ,p_cag_segment15                in     varchar2 default null
161   ,p_cag_segment16                in     varchar2 default null
162   ,p_cag_segment17                in     varchar2 default null
163   ,p_cag_segment18                in     varchar2 default null
164   ,p_cag_segment19                in     varchar2 default null
165   ,p_cag_segment20                in     varchar2 default null
166 --
167   ,p_group_name                      out nocopy varchar2
168   ,p_concatenated_segments           out nocopy varchar2
169   ,p_cagr_grade_def_id               out nocopy number
170   ,p_cagr_concatenated_segments      out nocopy varchar2
171   ,p_assignment_id                   out nocopy number
172   ,p_soft_coding_keyflex_id          out nocopy number
173   ,p_people_group_id                 out nocopy number
174   ,p_object_version_number           out nocopy number
175   ,p_effective_start_date            out nocopy date
176   ,p_effective_end_date              out nocopy date
177   ,p_assignment_sequence             out nocopy number
178   ,p_comment_id                      out nocopy number
179   ,p_other_manager_warning           out nocopy boolean
180   ) is
181   --
182   -- Declare cursors and local variables
183   --
184   l_assignment_number  per_assignments_f.assignment_number%TYPE;
185   l_effective_date     date;
186   l_legislation_code   per_business_groups.legislation_code%TYPE;
187   l_proc               varchar2(72) := g_package||'create_de_secondary_emp_asg';
188   --
189   -- Declare dummy variables
190   l_concatenated_segments  hr_soft_coding_keyflex.concatenated_segments%TYPE;
191   l_soft_coding_keyflex_id per_assignments_f.soft_coding_keyflex_id%TYPE;
192   --
193   -- Declare cursors
194   --
195   cursor csr_legislation is
196     select null
197     from per_assignments_f paf,
198          per_business_groups pbg
199     where paf.person_id = p_person_id
200     and   l_effective_date between paf.effective_start_date
201                            and     paf.effective_end_date
202     and   pbg.business_group_id = paf.business_group_id
203     and   pbg.legislation_code = 'DE';
204   --
205   --
206 begin
207   hr_utility.set_location('Entering:'|| l_proc, 10);
208   --
209   -- Initialise local variable
210   --
211   l_effective_date := trunc(p_effective_date);
212   --
213   -- Validation in addition to Table Handlers
214   --
215   -- Ensure that the employee is within a DE business group
216   --
217   open csr_legislation;
218   fetch csr_legislation
219   into l_legislation_code;
220   if csr_legislation%notfound then
221     close csr_legislation;
222     hr_utility.set_message(801, 'HR_7961_PER_BUS_GRP_INVALID');
223     hr_utility.set_message_token('LEG_CODE', 'DE');
224     hr_utility.raise_error;
225   end if;
226   close csr_legislation;
227   --
228   hr_utility.set_location(l_proc, 20);
229   --
230   -- Call create_secondary_emp_asg
231   --
232   hr_assignment_api.create_secondary_emp_asg
233   (p_validate                     => p_validate
234   ,p_effective_date               => p_effective_date
235   ,p_person_id                    => p_person_id
236   ,p_organization_id              => p_organization_id
237   ,p_grade_id                     => p_grade_id
238   ,p_position_id                  => p_position_id
239   ,p_job_id                       => p_job_id
240   ,p_assignment_status_type_id    => p_assignment_status_type_id
241   ,p_payroll_id                   => p_payroll_id
242   ,p_location_id                  => p_location_id
243   ,p_supervisor_id                => p_supervisor_id
244   ,p_special_ceiling_step_id      => p_special_ceiling_step_id
245   ,p_pay_basis_id                 => p_pay_basis_id
246   ,p_assignment_number            => p_assignment_number
247   ,p_change_reason                => p_change_reason
248   ,p_comments                     => p_comments
249   ,p_date_probation_end           => trunc(p_date_probation_end)
250   ,p_default_code_comb_id         => p_default_code_comb_id
251   ,p_employment_category          => p_employment_category
252   ,p_frequency                    => p_frequency
253   ,p_internal_address_line        => p_internal_address_line
254   ,p_manager_flag                 => p_manager_flag
255   ,p_normal_hours                 => p_normal_hours
256   ,p_perf_review_period           => p_perf_review_period
257   ,p_perf_review_period_frequency => p_perf_review_period_frequency
258   ,p_probation_period             => p_probation_period
259   ,p_probation_unit               => p_probation_unit
260   ,p_sal_review_period            => p_sal_review_period
261   ,p_sal_review_period_frequency  => p_sal_review_period_frequency
262   ,p_set_of_books_id              => p_set_of_books_id
263   ,p_source_type                  => p_source_type
264   ,p_time_normal_finish           => p_time_normal_finish
265   ,p_time_normal_start            => p_time_normal_start
266   ,p_bargaining_unit_code         => p_bargaining_unit_code
267   ,p_labour_union_member_flag     => null
268   ,p_hourly_salaried_code         => p_hourly_salaried_code
269   ,p_ass_attribute_category       => p_ass_attribute_category
270   ,p_ass_attribute1               => p_ass_attribute1
271   ,p_ass_attribute2               => p_ass_attribute2
272   ,p_ass_attribute3               => p_ass_attribute3
273   ,p_ass_attribute4               => p_ass_attribute4
274   ,p_ass_attribute5               => p_ass_attribute5
275   ,p_ass_attribute6               => p_ass_attribute6
276   ,p_ass_attribute7               => p_ass_attribute7
277   ,p_ass_attribute8               => p_ass_attribute8
278   ,p_ass_attribute9               => p_ass_attribute9
279   ,p_ass_attribute10              => p_ass_attribute10
280   ,p_ass_attribute11              => p_ass_attribute11
281   ,p_ass_attribute12              => p_ass_attribute12
282   ,p_ass_attribute13              => p_ass_attribute13
283   ,p_ass_attribute14              => p_ass_attribute14
284   ,p_ass_attribute15              => p_ass_attribute15
285   ,p_ass_attribute16              => p_ass_attribute16
286   ,p_ass_attribute17              => p_ass_attribute17
287   ,p_ass_attribute18              => p_ass_attribute18
288   ,p_ass_attribute19              => p_ass_attribute19
289   ,p_ass_attribute20              => p_ass_attribute20
290   ,p_ass_attribute21              => p_ass_attribute21
291   ,p_ass_attribute22              => p_ass_attribute22
292   ,p_ass_attribute23              => p_ass_attribute23
293   ,p_ass_attribute24              => p_ass_attribute24
294   ,p_ass_attribute25              => p_ass_attribute25
295   ,p_ass_attribute26              => p_ass_attribute26
296   ,p_ass_attribute27              => p_ass_attribute27
297   ,p_ass_attribute28              => p_ass_attribute28
298   ,p_ass_attribute29              => p_ass_attribute29
299   ,p_ass_attribute30              => p_ass_attribute30
300   ,p_title                        => p_title
301   ,p_scl_segment1                 => p_scl_segment1
302   ,p_scl_segment2                 => p_scl_segment2
303   ,p_scl_segment3                 => p_scl_segment3
304   ,p_scl_segment4                 => p_scl_segment4
305   ,p_scl_segment5                 => p_scl_segment5
306   ,p_scl_segment6                 => p_scl_segment6
307   ,p_scl_segment7                 => p_scl_segment7
308   ,p_scl_segment8                 => p_scl_segment8
309   ,p_scl_segment9                 => p_scl_segment9
310   ,p_scl_segment10                => p_scl_segment10
311   ,p_scl_segment11                => p_scl_segment11
312   ,p_scl_segment12                => p_scl_segment12
313   ,p_scl_segment13                => p_scl_segment13
314   ,p_scl_segment14                => p_scl_segment14
315   ,p_scl_segment15                => p_scl_segment15
316   ,p_scl_segment16                => p_scl_segment16
317   ,p_scl_segment17                => p_scl_segment17
318   ,p_scl_segment18                => p_scl_segment18
319   ,p_scl_segment19                => p_scl_segment19
320   ,p_scl_segment20                => p_scl_segment20
321   ,p_scl_segment21                => p_scl_segment21
322   ,p_scl_segment22                => p_scl_segment22
323   ,p_scl_segment23                => p_scl_segment23
324   ,p_scl_segment24                => p_scl_segment24
325   ,p_scl_segment25                => p_scl_segment25
326   ,p_scl_segment26                => p_scl_segment26
327   ,p_scl_segment27                => p_scl_segment27
328   ,p_scl_segment28                => p_scl_segment28
329   ,p_scl_segment29                => p_scl_segment29
330   ,p_scl_segment30                => p_scl_segment30
331   ,p_scl_concat_segments          => p_scl_concat_segments
332   ,p_pgp_segment1                 => p_pgp_segment1
333   ,p_pgp_segment2                 => p_pgp_segment2
334   ,p_pgp_segment3                 => p_pgp_segment3
335   ,p_pgp_segment4                 => p_pgp_segment4
336   ,p_pgp_segment5                 => p_pgp_segment5
337   ,p_pgp_segment6                 => p_pgp_segment6
338   ,p_pgp_segment7                 => p_pgp_segment7
339   ,p_pgp_segment8                 => p_pgp_segment8
340   ,p_pgp_segment9                 => p_pgp_segment9
341   ,p_pgp_segment10                => p_pgp_segment10
342   ,p_pgp_segment11                => p_pgp_segment11
343   ,p_pgp_segment12                => p_pgp_segment12
344   ,p_pgp_segment13                => p_pgp_segment13
345   ,p_pgp_segment14                => p_pgp_segment14
346   ,p_pgp_segment15                => p_pgp_segment15
347   ,p_pgp_segment16                => p_pgp_segment16
348   ,p_pgp_segment17                => p_pgp_segment17
349   ,p_pgp_segment18                => p_pgp_segment18
350   ,p_pgp_segment19                => p_pgp_segment19
351   ,p_pgp_segment20                => p_pgp_segment20
352   ,p_pgp_segment21                => p_pgp_segment21
353   ,p_pgp_segment22                => p_pgp_segment22
354   ,p_pgp_segment23                => p_pgp_segment23
355   ,p_pgp_segment24                => p_pgp_segment24
356   ,p_pgp_segment25                => p_pgp_segment25
357   ,p_pgp_segment26                => p_pgp_segment26
358   ,p_pgp_segment27                => p_pgp_segment27
359   ,p_pgp_segment28                => p_pgp_segment28
360   ,p_pgp_segment29                => p_pgp_segment29
361   ,p_pgp_segment30                => p_pgp_segment30
362   ,p_pgp_concat_segments	    => p_pgp_concat_segments
363   ,p_contract_id                  => p_contract_id
364   ,p_establishment_id             => p_establishment_id
365   ,p_collective_agreement_id      => p_collective_agreement_id
366   ,p_cagr_id_flex_num             => p_cagr_id_flex_num
367   ,p_cag_segment1                 => p_cag_segment1
368   ,p_cag_segment2                 => p_cag_segment2
369   ,p_cag_segment3                 => p_cag_segment3
370   ,p_cag_segment4                 => p_cag_segment4
371   ,p_cag_segment5                 => p_cag_segment5
372   ,p_cag_segment6                 => p_cag_segment6
373   ,p_cag_segment7                 => p_cag_segment7
374   ,p_cag_segment8                 => p_cag_segment8
375   ,p_cag_segment9                 => p_cag_segment9
376   ,p_cag_segment10                => p_cag_segment10
377   ,p_cag_segment11                => p_cag_segment11
378   ,p_cag_segment12                => p_cag_segment12
379   ,p_cag_segment13                => p_cag_segment13
380   ,p_cag_segment14                => p_cag_segment14
381   ,p_cag_segment15                => p_cag_segment15
382   ,p_cag_segment16                => p_cag_segment16
383   ,p_cag_segment17                => p_cag_segment17
384   ,p_cag_segment18                => p_cag_segment18
385   ,p_cag_segment19                => p_cag_segment19
386   ,p_cag_segment20                => p_cag_segment20
387   ,p_cagr_grade_def_id            => p_cagr_grade_def_id
388   ,p_cagr_concatenated_segments   => p_cagr_concatenated_segments
389   ,p_assignment_id                => p_assignment_id
390   ,p_soft_coding_keyflex_id       => p_soft_coding_keyflex_id
391   ,p_people_group_id              => p_people_group_id
392   ,p_object_version_number        => p_object_version_number
393   ,p_effective_start_date         => p_effective_start_date
394   ,p_effective_end_date           => p_effective_end_date
395   ,p_assignment_sequence          => p_assignment_sequence
396   ,p_comment_id                   => p_comment_id
397   ,p_concatenated_segments        => p_concatenated_segments
398   ,p_group_name                   => p_group_name
399   ,p_other_manager_warning        => p_other_manager_warning
400   );
401   --
402   hr_utility.set_location(' Leaving:'||l_proc, 30);
403   --
404 end create_de_secondary_emp_asg;
405 --
406 -- ----------------------------------------------------------------------------
407 -- |--------------------------< update_de_emp_asg >----------------------------|
408 -- ----------------------------------------------------------------------------
409 --
410 procedure update_de_emp_asg
411   (p_validate                     in     boolean  default false
412   ,p_effective_date               in     date
413   ,p_datetrack_update_mode        in     varchar2
414   ,p_assignment_id                in     number
415   ,p_object_version_number        in out nocopy number
416   ,p_supervisor_id                in     number   default hr_api.g_number
417   ,p_assignment_number            in     varchar2 default hr_api.g_varchar2
418   ,p_change_reason                in     varchar2 default hr_api.g_varchar2
419   ,p_comments                     in     varchar2 default hr_api.g_varchar2
420   ,p_date_probation_end           in     date     default hr_api.g_date
421   ,p_default_code_comb_id         in     number   default hr_api.g_number
422   ,p_frequency                    in     varchar2 default hr_api.g_varchar2
423   ,p_internal_address_line        in     varchar2 default hr_api.g_varchar2
424   ,p_manager_flag                 in     varchar2 default hr_api.g_varchar2
425   ,p_normal_hours                 in     number   default hr_api.g_number
426   ,p_perf_review_period           in     number   default hr_api.g_number
427   ,p_perf_review_period_frequency in     varchar2 default hr_api.g_varchar2
428   ,p_probation_period             in     number   default hr_api.g_number
429   ,p_probation_unit               in     varchar2 default hr_api.g_varchar2
430   ,p_sal_review_period            in     number   default hr_api.g_number
431   ,p_sal_review_period_frequency  in     varchar2 default hr_api.g_varchar2
432   ,p_set_of_books_id              in     number   default hr_api.g_number
433   ,p_source_type                  in     varchar2 default hr_api.g_varchar2
434   ,p_time_normal_finish           in     varchar2 default hr_api.g_varchar2
435   ,p_time_normal_start            in     varchar2 default hr_api.g_varchar2
436   ,p_bargaining_unit_code         in     varchar2 default hr_api.g_varchar2
437   ,p_hourly_salaried_code         in     varchar2 default hr_api.g_varchar2
438   ,p_ass_attribute_category       in     varchar2 default hr_api.g_varchar2
439   ,p_ass_attribute1               in     varchar2 default hr_api.g_varchar2
440   ,p_ass_attribute2               in     varchar2 default hr_api.g_varchar2
441   ,p_ass_attribute3               in     varchar2 default hr_api.g_varchar2
442   ,p_ass_attribute4               in     varchar2 default hr_api.g_varchar2
443   ,p_ass_attribute5               in     varchar2 default hr_api.g_varchar2
444   ,p_ass_attribute6               in     varchar2 default hr_api.g_varchar2
445   ,p_ass_attribute7               in     varchar2 default hr_api.g_varchar2
446   ,p_ass_attribute8               in     varchar2 default hr_api.g_varchar2
447   ,p_ass_attribute9               in     varchar2 default hr_api.g_varchar2
448   ,p_ass_attribute10              in     varchar2 default hr_api.g_varchar2
449   ,p_ass_attribute11              in     varchar2 default hr_api.g_varchar2
450   ,p_ass_attribute12              in     varchar2 default hr_api.g_varchar2
451   ,p_ass_attribute13              in     varchar2 default hr_api.g_varchar2
452   ,p_ass_attribute14              in     varchar2 default hr_api.g_varchar2
453   ,p_ass_attribute15              in     varchar2 default hr_api.g_varchar2
454   ,p_ass_attribute16              in     varchar2 default hr_api.g_varchar2
455   ,p_ass_attribute17              in     varchar2 default hr_api.g_varchar2
456   ,p_ass_attribute18              in     varchar2 default hr_api.g_varchar2
457   ,p_ass_attribute19              in     varchar2 default hr_api.g_varchar2
458   ,p_ass_attribute20              in     varchar2 default hr_api.g_varchar2
459   ,p_ass_attribute21              in     varchar2 default hr_api.g_varchar2
460   ,p_ass_attribute22              in     varchar2 default hr_api.g_varchar2
461   ,p_ass_attribute23              in     varchar2 default hr_api.g_varchar2
462   ,p_ass_attribute24              in     varchar2 default hr_api.g_varchar2
463   ,p_ass_attribute25              in     varchar2 default hr_api.g_varchar2
464   ,p_ass_attribute26              in     varchar2 default hr_api.g_varchar2
465   ,p_ass_attribute27              in     varchar2 default hr_api.g_varchar2
466   ,p_ass_attribute28              in     varchar2 default hr_api.g_varchar2
467   ,p_ass_attribute29              in     varchar2 default hr_api.g_varchar2
468   ,p_ass_attribute30              in     varchar2 default hr_api.g_varchar2
469   ,p_title                        in     varchar2 default hr_api.g_varchar2
470   ,p_segment1                     in     varchar2 default hr_api.g_varchar2
471   ,p_segment2                     in     varchar2 default hr_api.g_varchar2
472   ,p_segment3                     in     varchar2 default hr_api.g_varchar2
473   ,p_segment4                     in     varchar2 default hr_api.g_varchar2
474   ,p_segment5                     in     varchar2 default hr_api.g_varchar2
475   ,p_segment6                     in     varchar2 default hr_api.g_varchar2
476   ,p_segment7                     in     varchar2 default hr_api.g_varchar2
477   ,p_segment8                     in     varchar2 default hr_api.g_varchar2
478   ,p_segment9                     in     varchar2 default hr_api.g_varchar2
479   ,p_segment10                    in     varchar2 default hr_api.g_varchar2
480   ,p_segment11                    in     varchar2 default hr_api.g_varchar2
481   ,p_segment12                    in     varchar2 default hr_api.g_varchar2
482   ,p_segment13                    in     varchar2 default hr_api.g_varchar2
483   ,p_segment14                    in     varchar2 default hr_api.g_varchar2
484   ,p_segment15                    in     varchar2 default hr_api.g_varchar2
485   ,p_segment16                    in     varchar2 default hr_api.g_varchar2
486   ,p_segment17                    in     varchar2 default hr_api.g_varchar2
487   ,p_segment18                    in     varchar2 default hr_api.g_varchar2
488   ,p_segment19                    in     varchar2 default hr_api.g_varchar2
489   ,p_segment20                    in     varchar2 default hr_api.g_varchar2
490   ,p_segment21                    in     varchar2 default hr_api.g_varchar2
491   ,p_segment22                    in     varchar2 default hr_api.g_varchar2
492   ,p_segment23                    in     varchar2 default hr_api.g_varchar2
493   ,p_segment24                    in     varchar2 default hr_api.g_varchar2
494   ,p_segment25                    in     varchar2 default hr_api.g_varchar2
495   ,p_segment26                    in     varchar2 default hr_api.g_varchar2
496   ,p_segment27                    in     varchar2 default hr_api.g_varchar2
497   ,p_segment28                    in     varchar2 default hr_api.g_varchar2
498   ,p_segment29                    in     varchar2 default hr_api.g_varchar2
499   ,p_segment30                    in     varchar2 default hr_api.g_varchar2
500   ,p_concat_segments              in     varchar2 default hr_api.g_varchar2
501   ,p_contract_id                  in     number default hr_api.g_number
502   ,p_establishment_id             in     number default hr_api.g_number
503   ,p_collective_agreement_id      in     number default hr_api.g_number
504   ,p_cagr_id_flex_num             in     number default hr_api.g_number
505   ,p_cag_segment1                 in     varchar2 default hr_api.g_varchar2
506   ,p_cag_segment2                 in     varchar2 default hr_api.g_varchar2
507   ,p_cag_segment3                 in     varchar2 default hr_api.g_varchar2
508   ,p_cag_segment4                 in     varchar2 default hr_api.g_varchar2
509   ,p_cag_segment5                 in     varchar2 default hr_api.g_varchar2
510   ,p_cag_segment6                 in     varchar2 default hr_api.g_varchar2
511   ,p_cag_segment7                 in     varchar2 default hr_api.g_varchar2
512   ,p_cag_segment8                 in     varchar2 default hr_api.g_varchar2
513   ,p_cag_segment9                 in     varchar2 default hr_api.g_varchar2
514   ,p_cag_segment10                in     varchar2 default hr_api.g_varchar2
515   ,p_cag_segment11                in     varchar2 default hr_api.g_varchar2
516   ,p_cag_segment12                in     varchar2 default hr_api.g_varchar2
517   ,p_cag_segment13                in     varchar2 default hr_api.g_varchar2
518   ,p_cag_segment14                in     varchar2 default hr_api.g_varchar2
519   ,p_cag_segment15                in     varchar2 default hr_api.g_varchar2
520   ,p_cag_segment16                in     varchar2 default hr_api.g_varchar2
521   ,p_cag_segment17                in     varchar2 default hr_api.g_varchar2
522   ,p_cag_segment18                in     varchar2 default hr_api.g_varchar2
523   ,p_cag_segment19                in     varchar2 default hr_api.g_varchar2
524   ,p_cag_segment20                in     varchar2 default hr_api.g_varchar2
525   ,p_cagr_grade_def_id               out nocopy number
526   ,p_cagr_concatenated_segments      out nocopy varchar2
527   ,p_concatenated_segments           out nocopy varchar2
528   ,p_soft_coding_keyflex_id          out nocopy number
529   ,p_comment_id                      out nocopy number
530   ,p_effective_start_date            out nocopy date
531   ,p_effective_end_date              out nocopy date
532   ,p_no_managers_warning             out nocopy boolean
533   ,p_other_manager_warning           out nocopy boolean
534   ) is
535   --
536   -- Declare cursors and local variables
537   --
538   l_proc                       varchar2(72) := g_package||'update_ca_emp_asg';
539   l_effective_date             date;
540   l_soft_coding_keyflex_id     per_assignments_f.soft_coding_keyflex_id%TYPE;
541   l_concatenated_segments      varchar2(2000);
542   l_legislation_code           per_business_groups.legislation_code%TYPE;
543   --
544   cursor check_legislation
545     (c_assignment_id  per_assignments_f.assignment_id%TYPE,
546      c_effective_date date
547     )
548   is
549     select bgp.legislation_code
550     from per_assignments_f asg,
551          per_business_groups bgp
552     where asg.business_group_id = bgp.business_group_id
553     and   asg.assignment_id     = c_assignment_id
554     and   c_effective_date
555       between effective_start_date and effective_end_date;
556   --
557 begin
558   hr_utility.set_location('Entering:'|| l_proc, 10);
559   --
560   -- Truncate date variables
561   --
562   l_effective_date := trunc(p_effective_date);
563   --
564   -- Validate in addition to Table Handlers
565   --
566   -- Check that the assignment exists.
567   --
568   open check_legislation(p_assignment_id, l_effective_date);
569   fetch check_legislation into l_legislation_code;
570   if check_legislation%notfound then
571     close check_legislation;
572     hr_utility.set_message(801,'HR_7220_INVALID_PRIMARY_KEY');
573     hr_utility.raise_error;
574   end if;
575   close check_legislation;
576   hr_utility.set_location(l_proc, 20);
577   --
578   -- Check that the legislation of the specified business group is 'DE'.
579   --
580   if l_legislation_code <> 'DE' then
581     hr_utility.set_message(801, 'HR_7961_PER_BUS_GRP_INVALID');
582     hr_utility.set_message_token('LEG_CODE','DE');
583     hr_utility.raise_error;
584   end if;
585   hr_utility.set_location(l_proc, 30);
586   --
587   -- Call update_emp_asg business process
588   --
589   hr_assignment_api.update_emp_asg
590   (p_validate                     => p_validate
591   ,p_effective_date               => p_effective_date
592   ,p_datetrack_update_mode        => p_datetrack_update_mode
593   ,p_assignment_id                => p_assignment_id
594   ,p_object_version_number        => p_object_version_number
595   ,p_supervisor_id                => p_supervisor_id
596   ,p_assignment_number            => p_assignment_number
597   ,p_change_reason                => p_change_reason
598   ,p_comments                     => p_comments
599   ,p_date_probation_end           => p_date_probation_end
600   ,p_default_code_comb_id         => p_default_code_comb_id
601   ,p_frequency                    => p_frequency
602   ,p_internal_address_line        => p_internal_address_line
603   ,p_manager_flag                 => p_manager_flag
604   ,p_normal_hours                 => p_normal_hours
605   ,p_perf_review_period           => p_perf_review_period
606   ,p_perf_review_period_frequency => p_perf_review_period_frequency
607   ,p_probation_period             => p_probation_period
608   ,p_probation_unit               => p_probation_unit
609   ,p_sal_review_period            => p_sal_review_period
610   ,p_sal_review_period_frequency  => p_sal_review_period_frequency
611   ,p_set_of_books_id              => p_set_of_books_id
612   ,p_source_type                  => p_source_type
613   ,p_time_normal_finish           => p_time_normal_finish
614   ,p_time_normal_start            => p_time_normal_start
615   ,p_bargaining_unit_code         => p_bargaining_unit_code
616   ,p_labour_union_member_flag     => null
617   ,p_hourly_salaried_code         => p_hourly_salaried_code
618   ,p_ass_attribute_category       => p_ass_attribute_category
619   ,p_ass_attribute1               => p_ass_attribute1
620   ,p_ass_attribute2               => p_ass_attribute2
621   ,p_ass_attribute3               => p_ass_attribute3
622   ,p_ass_attribute4               => p_ass_attribute4
623   ,p_ass_attribute5               => p_ass_attribute5
624   ,p_ass_attribute6               => p_ass_attribute6
625   ,p_ass_attribute7               => p_ass_attribute7
626   ,p_ass_attribute8               => p_ass_attribute8
627   ,p_ass_attribute9               => p_ass_attribute9
628   ,p_ass_attribute10              => p_ass_attribute10
629   ,p_ass_attribute11              => p_ass_attribute11
630   ,p_ass_attribute12              => p_ass_attribute12
631   ,p_ass_attribute13              => p_ass_attribute13
632   ,p_ass_attribute14              => p_ass_attribute14
633   ,p_ass_attribute15              => p_ass_attribute15
634   ,p_ass_attribute16              => p_ass_attribute16
635   ,p_ass_attribute17              => p_ass_attribute17
636   ,p_ass_attribute18              => p_ass_attribute18
637   ,p_ass_attribute19              => p_ass_attribute19
638   ,p_ass_attribute20              => p_ass_attribute20
639   ,p_ass_attribute21              => p_ass_attribute21
640   ,p_ass_attribute22              => p_ass_attribute22
641   ,p_ass_attribute23              => p_ass_attribute23
642   ,p_ass_attribute24              => p_ass_attribute24
643   ,p_ass_attribute25              => p_ass_attribute25
644   ,p_ass_attribute26              => p_ass_attribute26
645   ,p_ass_attribute27              => p_ass_attribute27
646   ,p_ass_attribute28              => p_ass_attribute28
647   ,p_ass_attribute29              => p_ass_attribute29
648   ,p_ass_attribute30              => p_ass_attribute30
649   ,p_title                        => p_title
650   ,p_segment1                     => p_segment1
651   ,p_segment2                     => p_segment2
652   ,p_segment3                     => p_segment3
653   ,p_segment4                     => p_segment4
654   ,p_segment5                     => p_segment5
655   ,p_segment6                     => p_segment6
656   ,p_segment7                     => p_segment7
657   ,p_segment8                     => p_segment8
658   ,p_segment9                     => p_segment9
659   ,p_segment10                    => p_segment10
660   ,p_segment11                    => p_segment11
661   ,p_segment12                    => p_segment12
662   ,p_segment13                    => p_segment13
663   ,p_segment14                    => p_segment14
664   ,p_segment15                    => p_segment15
665   ,p_segment16                    => p_segment16
666   ,p_segment17                    => p_segment17
667   ,p_segment18                    => p_segment18
668   ,p_segment19                    => p_segment19
669   ,p_segment20                    => p_segment20
670   ,p_segment21                    => p_segment21
671   ,p_segment22                    => p_segment22
672   ,p_segment23                    => p_segment23
673   ,p_segment24                    => p_segment24
674   ,p_segment25                    => p_segment25
675   ,p_segment26                    => p_segment26
676   ,p_segment27                    => p_segment27
677   ,p_segment28                    => p_segment28
678   ,p_segment29                    => p_segment29
679   ,p_segment30                    => p_segment30
680   ,p_concat_segments              => p_concat_segments
681   ,p_contract_id                  => p_contract_id
682   ,p_establishment_id             => p_establishment_id
683   ,p_collective_agreement_id      => p_collective_agreement_id
684   ,p_cagr_id_flex_num             => p_cagr_id_flex_num
685   ,p_cag_segment1                 => p_cag_segment1
686   ,p_cag_segment2                 => p_cag_segment2
687   ,p_cag_segment3                 => p_cag_segment3
688   ,p_cag_segment4                 => p_cag_segment4
689   ,p_cag_segment5                 => p_cag_segment5
690   ,p_cag_segment6                 => p_cag_segment6
691   ,p_cag_segment7                 => p_cag_segment7
692   ,p_cag_segment8                 => p_cag_segment8
693   ,p_cag_segment9                 => p_cag_segment9
694   ,p_cag_segment10                => p_cag_segment10
695   ,p_cag_segment11                => p_cag_segment11
696   ,p_cag_segment12                => p_cag_segment12
697   ,p_cag_segment13                => p_cag_segment13
698   ,p_cag_segment14                => p_cag_segment14
699   ,p_cag_segment15                => p_cag_segment15
700   ,p_cag_segment16                => p_cag_segment16
701   ,p_cag_segment17                => p_cag_segment17
702   ,p_cag_segment18                => p_cag_segment18
703   ,p_cag_segment19                => p_cag_segment19
704   ,p_cag_segment20                => p_cag_segment20
705   ,p_cagr_grade_def_id            => p_cagr_grade_def_id
706   ,p_cagr_concatenated_segments   => p_cagr_concatenated_segments
707   ,p_soft_coding_keyflex_id       => p_soft_coding_keyflex_id
708   ,p_comment_id                   => p_comment_id
709   ,p_effective_start_date         => p_effective_start_date
710   ,p_effective_end_date           => p_effective_end_date
711   ,p_concatenated_segments        => p_concatenated_segments
712   ,p_no_managers_warning          => p_no_managers_warning
713   ,p_other_manager_warning        => p_other_manager_warning
714    );
715   --
716   hr_utility.set_location(' Leaving:'||l_proc, 30);
717   --
718   end update_de_emp_asg;
719 --
720 end hr_de_assignment_api;