DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_SE_ASSIGNMENT_API

Source


1 PACKAGE BODY hr_se_assignment_api AS
2 /* $Header: peasgsei.pkb 120.0 2005/05/31 05:46:49 appldev noship $ */
3 
4 g_package  VARCHAR2(33) := 'hr_se_assignment_api.';
5 --
6 -- ----------------------------------------------------------------------------
7 -- |---------------------< create_se_secondary_emp_asg >-----------------------|
8 -- ----------------------------------------------------------------------------
9 --
10 
11 PROCEDURE create_se_secondary_emp_asg
12   (p_validate                     IN     BOOLEAN  DEFAULT FALSE
13   ,p_effective_date               IN     DATE
14   ,p_person_id                    IN     NUMBER
15   ,p_organization_id              IN     NUMBER
16   ,p_grade_id                     IN     NUMBER   DEFAULT NULL
17   ,p_position_id                  IN     NUMBER   DEFAULT NULL
18   ,p_job_id                       IN     NUMBER   DEFAULT NULL
19   ,p_assignment_status_type_id    IN     NUMBER   DEFAULT NULL
20   ,p_payroll_id                   IN     NUMBER   DEFAULT NULL
21   ,p_location_id                  IN     NUMBER   DEFAULT NULL
22   ,p_supervisor_id                IN     NUMBER   DEFAULT NULL
23   ,p_special_ceiling_step_id      IN     NUMBER   DEFAULT NULL
24   ,p_pay_basis_id                 IN     NUMBER   DEFAULT NULL
25   ,p_assignment_number            IN OUT NOCOPY VARCHAR2
26   ,p_change_reason                IN     VARCHAR2 DEFAULT NULL
27   ,p_comments                     IN     VARCHAR2 DEFAULT NULL
28   ,p_date_probation_end           IN     DATE     DEFAULT NULL
29   ,p_default_code_comb_id         IN     NUMBER   DEFAULT NULL
30   ,p_employment_category          IN     VARCHAR2 DEFAULT NULL
31   ,p_frequency                    IN     VARCHAR2 DEFAULT NULL
32   ,p_internal_address_line        IN     VARCHAR2 DEFAULT NULL
33   ,p_manager_flag                 IN     VARCHAR2 DEFAULT NULL
34   ,p_normal_hours                 IN     NUMBER   DEFAULT NULL
35   ,p_perf_review_period           IN     NUMBER   DEFAULT NULL
36   ,p_perf_review_period_frequency IN     VARCHAR2 DEFAULT NULL
37   ,p_probation_period             IN     NUMBER   DEFAULT NULL
38   ,p_probation_unit               IN     VARCHAR2 DEFAULT NULL
39   ,p_sal_review_period            IN     NUMBER   DEFAULT NULL
40   ,p_sal_review_period_frequency  IN     VARCHAR2 DEFAULT NULL
41   ,p_set_of_books_id              IN     NUMBER   DEFAULT NULL
42   ,p_source_type                  IN     VARCHAR2 DEFAULT NULL
43   ,p_time_normal_finish           IN     VARCHAR2 DEFAULT NULL
44   ,p_time_normal_start            IN     VARCHAR2 DEFAULT NULL
45   ,p_bargaining_unit_code         in     varchar2 default null
46   ,p_labour_union_member_flag     in     varchar2 default 'N'
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_local_unit			  IN     VARCHAR2 DEFAULT NULL
81   ,p_ssyk_skills_code		  IN     VARCHAR2 DEFAULT NULL
82   ,p_work_title			  IN     VARCHAR2 DEFAULT NULL
83   ,p_notification_date		  IN	 VARCHAR2 DEFAULT NULL
84   ,p_asg_termination_date	  IN	 VARCHAR2 DEFAULT NULL
85   ,p_termination_reason		  IN     VARCHAR2 DEFAULT NULL
86   ,p_pgp_segment1                 IN     VARCHAR2 DEFAULT NULL
87   ,p_pgp_segment2                 IN     VARCHAR2 DEFAULT NULL
88   ,p_pgp_segment3                 IN     VARCHAR2 DEFAULT NULL
89   ,p_pgp_segment4                 IN     VARCHAR2 DEFAULT NULL
90   ,p_pgp_segment5                 IN     VARCHAR2 DEFAULT NULL
91   ,p_pgp_segment6                 IN     VARCHAR2 DEFAULT NULL
92   ,p_pgp_segment7                 IN     VARCHAR2 DEFAULT NULL
93   ,p_pgp_segment8                 IN     VARCHAR2 DEFAULT NULL
94   ,p_pgp_segment9                 IN     VARCHAR2 DEFAULT NULL
95   ,p_pgp_segment10                IN     VARCHAR2 DEFAULT NULL
96   ,p_pgp_segment11                IN     VARCHAR2 DEFAULT NULL
97   ,p_pgp_segment12                IN     VARCHAR2 DEFAULT NULL
98   ,p_pgp_segment13                IN     VARCHAR2 DEFAULT NULL
99   ,p_pgp_segment14                IN     VARCHAR2 DEFAULT NULL
100   ,p_pgp_segment15                IN     VARCHAR2 DEFAULT NULL
101   ,p_pgp_segment16                IN     VARCHAR2 DEFAULT NULL
102   ,p_pgp_segment17                IN     VARCHAR2 DEFAULT NULL
103   ,p_pgp_segment18                IN     VARCHAR2 DEFAULT NULL
104   ,p_pgp_segment19                IN     VARCHAR2 DEFAULT NULL
105   ,p_pgp_segment20                IN     VARCHAR2 DEFAULT NULL
106   ,p_pgp_segment21                IN     VARCHAR2 DEFAULT NULL
107   ,p_pgp_segment22                IN     VARCHAR2 DEFAULT NULL
108   ,p_pgp_segment23                IN     VARCHAR2 DEFAULT NULL
109   ,p_pgp_segment24                IN     VARCHAR2 DEFAULT NULL
110   ,p_pgp_segment25                IN     VARCHAR2 DEFAULT NULL
111   ,p_pgp_segment26                IN     VARCHAR2 DEFAULT NULL
112   ,p_pgp_segment27                IN     VARCHAR2 DEFAULT NULL
113   ,p_pgp_segment28                IN     VARCHAR2 DEFAULT NULL
114   ,p_pgp_segment29                IN     VARCHAR2 DEFAULT NULL
115   ,p_pgp_segment30                IN     VARCHAR2 DEFAULT NULL
116   ,p_pgp_concat_segments          IN     VARCHAR2 DEFAULT NULL
117   ,p_assignment_id                   OUT NOCOPY NUMBER
118   ,p_soft_coding_keyflex_id          OUT NOCOPY NUMBER
119   ,p_people_group_id                 OUT NOCOPY NUMBER
120   ,p_object_version_number           OUT NOCOPY NUMBER
121   ,p_effective_start_date            OUT NOCOPY DATE
122   ,p_effective_end_date              OUT NOCOPY DATE
123   ,p_assignment_sequence             OUT NOCOPY NUMBER
124   ,p_comment_id                      OUT NOCOPY NUMBER
125   ,p_concatenated_segments           OUT NOCOPY VARCHAR2
126   ,p_group_name                      OUT NOCOPY VARCHAR2
127   ,p_other_manager_warning           OUT NOCOPY BOOLEAN
128   ) is
129 
130   -- Declare cursors AND local variables
131   --
132   -- Declare variables
133   --
134 
135   l_assignment_number  per_assignments_f.assignment_number%TYPE;
136   l_effective_date     DATE;
137   --
138   l_business_group_id  per_business_groups.business_group_id%TYPE;
139   l_legislation_code   per_business_groups.legislation_code%TYPE;
140   l_proc               VARCHAR2(72) := g_package||'create_se_secondary_emp_asg';
141   v_field	VARCHAR2(20);
142   --
143   -- Declare cursors
144   --
145   CURSOR csr_legislation IS
146     SELECT  NULL
147     FROM    per_assignments_f paf,
148             per_business_groups pbg
149     WHERE   paf.person_id = p_person_id
150     AND     l_effective_date BETWEEN paf.effective_start_date AND     paf.effective_end_date
151     AND     pbg.business_group_id = paf.business_group_id
152     AND     pbg.legislation_code = 'SE';
153   --
154   --
155 BEGIN
156   hr_utility.set_location('Entering:'|| l_proc, 10);
157   --
158   -- Initialise local variable
159   --
160   l_effective_date := trunc(p_effective_date);
161   --
162   -- Validation IN addition to Table Handlers
163   --
164   -- Ensure that the employee IS within a SE business group
165   --
166   OPEN  csr_legislation;
167   FETCH csr_legislation
168   INTO l_legislation_code;
169   IF csr_legislation%notfound THEN
170     CLOSE csr_legislation;
171     hr_utility.set_message(801, 'HR_7961_PER_BUS_GRP_INVALID');
172     hr_utility.set_message_token('LEG_CODE', 'SE');
173     hr_utility.raise_error;
174   END IF;
175   CLOSE csr_legislation;
176   --
177   --
178   -- Call create_secondary_emp_asg
179   --
180 
181  hr_assignment_api.create_secondary_emp_asg
182   (p_validate                     =>     p_validate
183   ,p_effective_date               =>     l_effective_date
184   ,p_person_id                    =>     p_person_id
185   ,p_organization_id              =>     p_organization_id
186   ,p_grade_id                     =>     p_grade_id
187   ,p_position_id                  =>     p_position_id
188   ,p_job_id                       =>     p_job_id
189   ,p_assignment_status_type_id    =>     p_assignment_status_type_id
190   ,p_payroll_id                   =>     p_payroll_id
191   ,p_location_id                  =>     p_location_id
192   ,p_supervisor_id                =>     p_supervisor_id
193   ,p_special_ceiling_step_id      =>     p_special_ceiling_step_id
194   ,p_pay_basis_id                 =>     p_pay_basis_id
195   ,p_assignment_number            =>     l_assignment_number
196   ,p_change_reason                =>     p_change_reason
197   ,p_comments                     =>     p_comments
198   ,p_date_probation_end           =>     trunc(p_date_probation_end)
199   ,p_default_code_comb_id         =>     p_default_code_comb_id
200   ,p_employment_category          =>     p_employment_category
201   ,p_frequency                    =>     p_frequency
202   ,p_internal_address_line        =>     p_internal_address_line
203   ,p_manager_flag                 =>     p_manager_flag
204   ,p_normal_hours                 =>     p_normal_hours
205   ,p_perf_review_period           =>     p_perf_review_period
206   ,p_perf_review_period_frequency =>     p_perf_review_period_frequency
207   ,p_probation_period             =>     p_probation_period
208   ,p_probation_unit               =>     p_probation_unit
209   ,p_sal_review_period            =>     p_sal_review_period
210   ,p_sal_review_period_frequency  =>     p_sal_review_period_frequency
211   ,p_set_of_books_id              =>     p_set_of_books_id
212   ,p_source_type                  =>     p_source_type
213   ,p_time_normal_finish           =>     p_time_normal_finish
214   ,p_time_normal_start            =>     p_time_normal_start
215   ,p_bargaining_unit_code         =>     p_bargaining_unit_code
216   ,p_labour_union_member_flag     =>     p_labour_union_member_flag
217   ,p_hourly_salaried_code         =>     p_hourly_salaried_code
218   ,p_ass_attribute_category       =>     p_ass_attribute_category
219   ,p_ass_attribute1               =>     p_ass_attribute1
220   ,p_ass_attribute2               =>     p_ass_attribute2
221   ,p_ass_attribute3               =>     p_ass_attribute3
222   ,p_ass_attribute4               =>     p_ass_attribute4
223   ,p_ass_attribute5               =>     p_ass_attribute5
224   ,p_ass_attribute6               =>     p_ass_attribute6
225   ,p_ass_attribute7               =>     p_ass_attribute7
226   ,p_ass_attribute8               =>     p_ass_attribute8
227   ,p_ass_attribute9               =>     p_ass_attribute9
228   ,p_ass_attribute10              =>     p_ass_attribute10
229   ,p_ass_attribute11              =>     p_ass_attribute11
230   ,p_ass_attribute12              =>     p_ass_attribute12
231   ,p_ass_attribute13              =>     p_ass_attribute13
232   ,p_ass_attribute14              =>     p_ass_attribute14
233   ,p_ass_attribute15              =>     p_ass_attribute15
234   ,p_ass_attribute16              =>     p_ass_attribute16
235   ,p_ass_attribute17              =>     p_ass_attribute17
236   ,p_ass_attribute18              =>     p_ass_attribute18
237   ,p_ass_attribute19              =>     p_ass_attribute19
238   ,p_ass_attribute20              =>     p_ass_attribute20
239   ,p_ass_attribute21              =>     p_ass_attribute21
240   ,p_ass_attribute22              =>     p_ass_attribute22
241   ,p_ass_attribute23              =>     p_ass_attribute23
242   ,p_ass_attribute24              =>     p_ass_attribute24
243   ,p_ass_attribute25              =>     p_ass_attribute25
244   ,p_ass_attribute26              =>     p_ass_attribute26
245   ,p_ass_attribute27              =>     p_ass_attribute27
246   ,p_ass_attribute28              =>     p_ass_attribute28
247   ,p_ass_attribute29              =>     p_ass_attribute29
248   ,p_ass_attribute30              =>     p_ass_attribute30
249   ,p_title                        =>     p_title
250   ,p_scl_segment2                 =>     p_local_unit
251   ,p_scl_segment3                 =>     p_ssyk_skills_code
252   ,p_scl_segment4                 =>     p_work_title
253   ,p_scl_segment5                 =>     p_notification_date
254   ,p_scl_segment6                 =>     p_asg_termination_date
255   ,p_scl_segment7                 =>     p_termination_reason
256   ,p_pgp_segment1                 =>     p_pgp_segment1
257   ,p_pgp_segment2                 =>     p_pgp_segment2
258   ,p_pgp_segment3                 =>     p_pgp_segment3
259   ,p_pgp_segment4                 =>     p_pgp_segment4
263   ,p_pgp_segment8                 =>     p_pgp_segment8
260   ,p_pgp_segment5                 =>     p_pgp_segment5
261   ,p_pgp_segment6                 =>     p_pgp_segment6
262   ,p_pgp_segment7                 =>     p_pgp_segment7
264   ,p_pgp_segment9                 =>     p_pgp_segment9
265   ,p_pgp_segment10                =>     p_pgp_segment10
266   ,p_pgp_segment11                =>     p_pgp_segment11
267   ,p_pgp_segment12                =>     p_pgp_segment12
268   ,p_pgp_segment13                =>     p_pgp_segment13
269   ,p_pgp_segment14                =>     p_pgp_segment14
270   ,p_pgp_segment15                =>     p_pgp_segment15
271   ,p_pgp_segment16                =>     p_pgp_segment16
272   ,p_pgp_segment17                =>     p_pgp_segment17
273   ,p_pgp_segment18                =>     p_pgp_segment18
274   ,p_pgp_segment19                =>     p_pgp_segment19
275   ,p_pgp_segment20                =>     p_pgp_segment20
276   ,p_pgp_segment21                =>     p_pgp_segment21
277   ,p_pgp_segment22                =>     p_pgp_segment22
278   ,p_pgp_segment23                =>     p_pgp_segment23
279   ,p_pgp_segment24                =>     p_pgp_segment24
280   ,p_pgp_segment25                =>     p_pgp_segment25
281   ,p_pgp_segment26                =>     p_pgp_segment26
282   ,p_pgp_segment27                =>     p_pgp_segment27
283   ,p_pgp_segment28                =>     p_pgp_segment28
284   ,p_pgp_segment29                =>     p_pgp_segment29
285   ,p_pgp_segment30                =>     p_pgp_segment30
286   ,p_pgp_concat_segments          =>     p_pgp_concat_segments
287   ,p_assignment_id                =>     p_assignment_id
288   ,p_soft_coding_keyflex_id       =>     p_soft_coding_keyflex_id
289   ,p_people_group_id              =>     p_people_group_id
290   ,p_object_version_number        =>     p_object_version_number
291   ,p_effective_start_date         =>     p_effective_start_date
292   ,p_effective_end_date           =>     p_effective_end_date
293   ,p_assignment_sequence          =>     p_assignment_sequence
294   ,p_comment_id                   =>     p_comment_id
295   ,p_concatenated_segments        =>     p_concatenated_segments
296   ,p_group_name                   =>     p_group_name
297   ,p_other_manager_warning        =>     p_other_manager_warning
298   );
299   --
300   hr_utility.set_location(' Leaving:'||l_proc, 30);
301   --
302   END create_se_secondary_emp_asg;
303 
304   -- ----------------------------------------------------------------------------
305   -- |--------------------------< update_se_emp_asg >---------------------------|
306   -- ----------------------------------------------------------------------------
307   --
308 PROCEDURE update_se_emp_asg
309   (p_validate                     IN     BOOLEAN  DEFAULT FALSE
310   ,p_effective_date               IN     DATE
311   ,p_datetrack_update_mode        IN     VARCHAR2
312   ,p_assignment_id                IN     NUMBER
313   ,p_object_version_number        IN OUT NOCOPY NUMBER
314   ,p_supervisor_id                IN     NUMBER   DEFAULT hr_api.g_number
315   ,p_assignment_number            IN     VARCHAR2 DEFAULT hr_api.g_varchar2
316   ,p_change_reason                IN     VARCHAR2 DEFAULT hr_api.g_varchar2
317   ,p_comments                     IN     VARCHAR2 DEFAULT hr_api.g_varchar2
318   ,p_date_probation_end           IN     DATE     DEFAULT hr_api.g_date
319   ,p_default_code_comb_id         IN     NUMBER   DEFAULT hr_api.g_number
320   ,p_frequency                    IN     VARCHAR2 DEFAULT hr_api.g_varchar2
321   ,p_internal_address_line        IN     VARCHAR2 DEFAULT hr_api.g_varchar2
322   ,p_manager_flag                 IN     VARCHAR2 DEFAULT hr_api.g_varchar2
323   ,p_normal_hours                 IN     NUMBER   DEFAULT hr_api.g_number
324   ,p_perf_review_period           IN     NUMBER   DEFAULT hr_api.g_number
325   ,p_perf_review_period_frequency IN     VARCHAR2 DEFAULT hr_api.g_varchar2
326   ,p_probation_period             IN     NUMBER   DEFAULT hr_api.g_number
327   ,p_probation_unit               IN     VARCHAR2 DEFAULT hr_api.g_varchar2
328   ,p_sal_review_period            IN     NUMBER   DEFAULT hr_api.g_number
329   ,p_sal_review_period_frequency  IN     VARCHAR2 DEFAULT hr_api.g_varchar2
330   ,p_set_of_books_id              IN     NUMBER   DEFAULT hr_api.g_number
331   ,p_source_type                  IN     VARCHAR2 DEFAULT hr_api.g_varchar2
332   ,p_time_normal_finish           IN     VARCHAR2 DEFAULT hr_api.g_varchar2
333   ,p_time_normal_start            IN     VARCHAR2 DEFAULT hr_api.g_varchar2
334   ,p_bargaining_unit_code         IN     VARCHAR2 DEFAULT hr_api.g_varchar2
335   ,p_labour_union_member_flag     IN     VARCHAR2 DEFAULT hr_api.g_varchar2
336   ,p_hourly_salaried_code         IN     VARCHAR2 DEFAULT hr_api.g_varchar2
337   ,p_ass_attribute_category       IN     VARCHAR2 DEFAULT hr_api.g_varchar2
338   ,p_ass_attribute1               IN     VARCHAR2 DEFAULT hr_api.g_varchar2
339   ,p_ass_attribute2               IN     VARCHAR2 DEFAULT hr_api.g_varchar2
340   ,p_ass_attribute3               IN     VARCHAR2 DEFAULT hr_api.g_varchar2
341   ,p_ass_attribute4               IN     VARCHAR2 DEFAULT hr_api.g_varchar2
342   ,p_ass_attribute5               IN     VARCHAR2 DEFAULT hr_api.g_varchar2
343   ,p_ass_attribute6               IN     VARCHAR2 DEFAULT hr_api.g_varchar2
344   ,p_ass_attribute7               IN     VARCHAR2 DEFAULT hr_api.g_varchar2
345   ,p_ass_attribute8               IN     VARCHAR2 DEFAULT hr_api.g_varchar2
346   ,p_ass_attribute9               IN     VARCHAR2 DEFAULT hr_api.g_varchar2
347   ,p_ass_attribute10              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
348   ,p_ass_attribute11              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
349   ,p_ass_attribute12              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
350   ,p_ass_attribute13              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
351   ,p_ass_attribute14              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
352   ,p_ass_attribute15              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
353   ,p_ass_attribute16              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
357   ,p_ass_attribute20              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
354   ,p_ass_attribute17              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
355   ,p_ass_attribute18              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
356   ,p_ass_attribute19              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
358   ,p_ass_attribute21              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
359   ,p_ass_attribute22              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
360   ,p_ass_attribute23              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
361   ,p_ass_attribute24              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
362   ,p_ass_attribute25              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
363   ,p_ass_attribute26              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
364   ,p_ass_attribute27              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
365   ,p_ass_attribute28              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
366   ,p_ass_attribute29              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
367   ,p_ass_attribute30              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
368   ,p_title                        IN     VARCHAR2 DEFAULT hr_api.g_varchar2
369   ,p_local_unit			  IN     VARCHAR2 DEFAULT hr_api.g_varchar2
370   ,p_ssyk_skills_code		  IN     VARCHAR2 DEFAULT hr_api.g_varchar2
371   ,p_work_title			  IN     VARCHAR2 DEFAULT hr_api.g_varchar2
372   ,p_notification_date		  IN	 VARCHAR2 DEFAULT hr_api.g_varchar2
373   ,p_asg_termination_date	  IN	 VARCHAR2 DEFAULT hr_api.g_varchar2
374   ,p_termination_reason		  IN     VARCHAR2 DEFAULT hr_api.g_varchar2
375   ,p_comment_id                      OUT NOCOPY NUMBER
376   ,p_soft_coding_keyflex_id          OUT NOCOPY NUMBER
377   ,p_effective_start_date            OUT NOCOPY DATE
378   ,p_effective_end_date              OUT NOCOPY DATE
379   ,p_concatenated_segments           OUT NOCOPY VARCHAR2
380   ,p_no_managers_warning             OUT NOCOPY BOOLEAN
381   ,p_other_manager_warning           OUT NOCOPY BOOLEAN
382   ) is
383 
384  --
385     -- Declare cursors AND local variables
386     --
387     l_proc                       VARCHAR2(72) := g_package||'update_se_emp_asg';
388     l_effective_date             DATE;
389     l_legislation_code           per_business_groups.legislation_code%TYPE;
390     l_business_group_id          per_business_groups.business_group_id%type;
391     a              varchar2(100);
392     v_field varchar2(20);
393    --
394     CURSOR check_legislation
395       (c_assignment_id  per_assignments_f.assignment_id%TYPE,
396        c_effective_date DATE
397       )
398     IS
399       SELECT    bgp.legislation_code
400       FROM      per_assignments_f asg,
401                 per_business_groups bgp
402       WHERE     asg.business_group_id = bgp.business_group_id
403       AND       asg.assignment_id     = c_assignment_id
404       AND       c_effective_date BETWEEN effective_start_date AND effective_end_date;
405     --
406 
407 
408   BEGIN
409     hr_utility.set_location('Entering:'|| l_proc, 10);
410 
411     --
412     -- Truncate DATE variables
413     --
414     l_effective_date := trunc(p_effective_date);
415     --
416     -- Validate IN addition to Table Handlers
417     --
418     -- Check that the assignment exists.
419     --
420     OPEN    check_legislation(p_assignment_id, l_effective_date);
421     FETCH   check_legislation into l_legislation_code;
422     IF check_legislation%notfound THEN
423       CLOSE check_legislation;
424       hr_utility.set_message(801,'HR_7220_INVALID_PRIMARY_KEY');
425       hr_utility.raise_error;
426     END IF;
427     CLOSE check_legislation;
428     hr_utility.set_location(l_proc, 20);
429     --
430     -- Check that the legislation of the specified business group IS 'SE.
431     --
432     IF l_legislation_code <> 'SE' THEN
433       hr_utility.set_message(801, 'HR_7961_PER_BUS_GRP_INVALID');
434       hr_utility.set_message_token('LEG_CODE','SE');
435       hr_utility.raise_error;
436     END IF;
437     hr_utility.set_location(l_proc, 30);
438     --
439 
440     --
441     -- Call update_emp_asg business process
442     --
443        hr_assignment_api.update_emp_asg
444       (p_validate                     => p_validate
445       ,p_effective_date               => p_effective_date
446       ,p_datetrack_update_mode        => p_datetrack_update_mode
447       ,p_assignment_id                => p_assignment_id
448       ,p_object_version_number        => p_object_version_number
449       ,p_supervisor_id                => p_supervisor_id
450       ,p_assignment_number            => p_assignment_number
451       ,p_change_reason                => p_change_reason
452       ,p_comments                     => p_comments
453       ,p_date_probation_end           => p_date_probation_end
454       ,p_default_code_comb_id         => p_default_code_comb_id
455       ,p_frequency                    => p_frequency
456       ,p_internal_address_line        => p_internal_address_line
457       ,p_manager_flag                 => p_manager_flag
458       ,p_normal_hours                 => p_normal_hours
459       ,p_perf_review_period           => p_perf_review_period
460       ,p_perf_review_period_frequency => p_perf_review_period_frequency
461       ,p_probation_period             => p_probation_period
462       ,p_probation_unit               => p_probation_unit
463       ,p_sal_review_period            => p_sal_review_period
464       ,p_sal_review_period_frequency  => p_sal_review_period_frequency
465       ,p_set_of_books_id              => p_set_of_books_id
466       ,p_source_type                  => p_source_type
467       ,p_time_normal_finish           => p_time_normal_finish
468       ,p_time_normal_start            => p_time_normal_start
469       ,p_bargaining_unit_code         => p_bargaining_unit_code
470       ,p_labour_union_member_flag     => p_labour_union_member_flag
471       ,p_hourly_salaried_code         => p_hourly_salaried_code
472       ,p_ass_attribute_category       => p_ass_attribute_category
473       ,p_ass_attribute1               => p_ass_attribute1
474       ,p_ass_attribute2               => p_ass_attribute2
475       ,p_ass_attribute3               => p_ass_attribute3
476       ,p_ass_attribute4               => p_ass_attribute4
477       ,p_ass_attribute5               => p_ass_attribute5
478       ,p_ass_attribute6               => p_ass_attribute6
479       ,p_ass_attribute7               => p_ass_attribute7
480       ,p_ass_attribute8               => p_ass_attribute8
481       ,p_ass_attribute9               => p_ass_attribute9
482       ,p_ass_attribute10              => p_ass_attribute10
483       ,p_ass_attribute11              => p_ass_attribute11
484       ,p_ass_attribute12              => p_ass_attribute12
485       ,p_ass_attribute13              => p_ass_attribute13
486       ,p_ass_attribute14              => p_ass_attribute14
487       ,p_ass_attribute15              => p_ass_attribute15
488       ,p_ass_attribute16              => p_ass_attribute16
489       ,p_ass_attribute17              => p_ass_attribute17
490       ,p_ass_attribute18              => p_ass_attribute18
491       ,p_ass_attribute19              => p_ass_attribute19
492       ,p_ass_attribute20              => p_ass_attribute20
493       ,p_ass_attribute21              => p_ass_attribute21
494       ,p_ass_attribute22              => p_ass_attribute22
495       ,p_ass_attribute23              => p_ass_attribute23
496       ,p_ass_attribute24              => p_ass_attribute24
497       ,p_ass_attribute25              => p_ass_attribute25
498       ,p_ass_attribute26              => p_ass_attribute26
499       ,p_ass_attribute27              => p_ass_attribute27
500       ,p_ass_attribute28              => p_ass_attribute28
501       ,p_ass_attribute29              => p_ass_attribute29
502       ,p_ass_attribute30              => p_ass_attribute30
503       ,p_title                        => p_title
504       ,p_segment2                     => p_local_unit
505       ,p_segment3                     => p_ssyk_skills_code
506       ,p_segment4                     => p_work_title
507       ,p_segment5		      => p_notification_date
508       ,p_segment6                     => p_asg_termination_date
509       ,p_segment7                     => p_termination_reason
510       ,p_soft_coding_keyflex_id       => p_soft_coding_keyflex_id
511       ,p_comment_id                   => p_comment_id
512       ,p_effective_start_date         => p_effective_start_date
513       ,p_effective_END_date           => p_effective_end_date
514       ,p_concatenated_segments        => p_concatenated_segments
515       ,p_no_managers_warning          => p_no_managers_warning
516       ,p_other_manager_warning        => p_other_manager_warning
517       );
518 
519     hr_utility.set_location(' Leaving:'||l_proc, 40);
520   END update_se_emp_asg;
521 
522 
523 END hr_se_assignment_api;