DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_NO_ASSIGNMENT_API

Source


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