DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_SA_ASSIGNMENT_API

Source


1 PACKAGE BODY hr_sa_assignment_api AS
2 /* $Header: peasgsai.pkb 115.0 2003/09/10 01:49:57 adevanat noship $ */
3 /*
4  +==========================================================================================
5  |              Copyright (c) 1999 Oracle Corporation Ltd
6  |                           All rights reserved.
7  +==========================================================================================
8  |SQL Script File Name : HR SA WR AS . PKB
9  |                Name : hr_sa_assignment_api
10  |         Description : Assignment API Wrapper for SA
11  |
12  |   Name           Date         Version Bug     Text
13  |   -------------- ----------   ------- -----   ----
14  |   adevanat       09-Sep-2003  115.0           Initial Version(Copied from pesawras.pkb)
15  |NOTES
16  +==========================================================================================
17 */
18 
19 g_package  VARCHAR2(33) := 'hr_sa_assignment_api.';
20 --
21 -- ----------------------------------------------------------------------------
22 -- |---------------------< create_sa_secondary_emp_asg >-----------------------|
23 -- ----------------------------------------------------------------------------
24 --
25 
26 PROCEDURE create_sa_secondary_emp_asg
27   (p_validate                     IN     BOOLEAN  DEFAULT FALSE
28   ,p_effective_date               IN     DATE
29   ,p_person_id                    IN     NUMBER
30   ,p_organization_id              IN     NUMBER
31   ,p_grade_id                     IN     NUMBER   DEFAULT NULL
32   ,p_position_id                  IN     NUMBER   DEFAULT NULL
33   ,p_job_id                       IN     NUMBER   DEFAULT NULL
34   ,p_assignment_status_type_id    IN     NUMBER   DEFAULT NULL
35   ,p_payroll_id                   IN     NUMBER   DEFAULT NULL
36   ,p_location_id                  IN     NUMBER   DEFAULT NULL
37   ,p_supervisor_id                IN     NUMBER   DEFAULT NULL
38   ,p_special_ceiling_step_id      IN     NUMBER   DEFAULT NULL
39   ,p_pay_basis_id                 IN     NUMBER   DEFAULT NULL
40   ,p_assignment_number            IN OUT NOCOPY VARCHAR2
41   ,p_change_reason                IN     VARCHAR2 DEFAULT NULL
42   ,p_comments                     IN     VARCHAR2 DEFAULT NULL
43   ,p_date_probation_end           IN     DATE     DEFAULT NULL
44   ,p_default_code_comb_id         IN     NUMBER   DEFAULT NULL
45   ,p_employment_category          IN     VARCHAR2 DEFAULT NULL
46   ,p_frequency                    IN     VARCHAR2 DEFAULT NULL
47   ,p_internal_address_line        IN     VARCHAR2 DEFAULT NULL
48   ,p_manager_flag                 IN     VARCHAR2 DEFAULT NULL
49   ,p_normal_hours                 IN     NUMBER   DEFAULT NULL
50   ,p_perf_review_period           IN     NUMBER   DEFAULT NULL
51   ,p_perf_review_period_frequency IN     VARCHAR2 DEFAULT NULL
52   ,p_probation_period             IN     NUMBER   DEFAULT NULL
53   ,p_probation_unit               IN     VARCHAR2 DEFAULT NULL
54   ,p_sal_review_period            IN     NUMBER   DEFAULT NULL
55   ,p_sal_review_period_frequency  IN     VARCHAR2 DEFAULT NULL
56   ,p_set_of_books_id              IN     NUMBER   DEFAULT NULL
57   ,p_source_type                  IN     VARCHAR2 DEFAULT NULL
58   ,p_time_normal_finish           IN     VARCHAR2 DEFAULT NULL
59   ,p_time_normal_start            IN     VARCHAR2 DEFAULT NULL
60   ,p_bargaining_unit_code         in     varchar2 default null
61   ,p_labour_union_member_flag     in     varchar2 default 'N'
62   ,p_hourly_salaried_code         in     varchar2 default null
63   ,p_ass_attribute_category       IN     VARCHAR2 DEFAULT NULL
64   ,p_ass_attribute1               IN     VARCHAR2 DEFAULT NULL
65   ,p_ass_attribute2               IN     VARCHAR2 DEFAULT NULL
66   ,p_ass_attribute3               IN     VARCHAR2 DEFAULT NULL
67   ,p_ass_attribute4               IN     VARCHAR2 DEFAULT NULL
68   ,p_ass_attribute5               IN     VARCHAR2 DEFAULT NULL
69   ,p_ass_attribute6               IN     VARCHAR2 DEFAULT NULL
70   ,p_ass_attribute7               IN     VARCHAR2 DEFAULT NULL
71   ,p_ass_attribute8               IN     VARCHAR2 DEFAULT NULL
72   ,p_ass_attribute9               IN     VARCHAR2 DEFAULT NULL
73   ,p_ass_attribute10              IN     VARCHAR2 DEFAULT NULL
74   ,p_ass_attribute11              IN     VARCHAR2 DEFAULT NULL
75   ,p_ass_attribute12              IN     VARCHAR2 DEFAULT NULL
76   ,p_ass_attribute13              IN     VARCHAR2 DEFAULT NULL
77   ,p_ass_attribute14              IN     VARCHAR2 DEFAULT NULL
78   ,p_ass_attribute15              IN     VARCHAR2 DEFAULT NULL
79   ,p_ass_attribute16              IN     VARCHAR2 DEFAULT NULL
80   ,p_ass_attribute17              IN     VARCHAR2 DEFAULT NULL
81   ,p_ass_attribute18              IN     VARCHAR2 DEFAULT NULL
82   ,p_ass_attribute19              IN     VARCHAR2 DEFAULT NULL
83   ,p_ass_attribute20              IN     VARCHAR2 DEFAULT NULL
84   ,p_ass_attribute21              IN     VARCHAR2 DEFAULT NULL
85   ,p_ass_attribute22              IN     VARCHAR2 DEFAULT NULL
86   ,p_ass_attribute23              IN     VARCHAR2 DEFAULT NULL
87   ,p_ass_attribute24              IN     VARCHAR2 DEFAULT NULL
88   ,p_ass_attribute25              IN     VARCHAR2 DEFAULT NULL
89   ,p_ass_attribute26              IN     VARCHAR2 DEFAULT NULL
90   ,p_ass_attribute27              IN     VARCHAR2 DEFAULT NULL
91   ,p_ass_attribute28              IN     VARCHAR2 DEFAULT NULL
92   ,p_ass_attribute29              IN     VARCHAR2 DEFAULT NULL
93   ,p_ass_attribute30              IN     VARCHAR2 DEFAULT NULL
94   ,p_title                        IN     VARCHAR2 DEFAULT NULL
95   ,p_employer		          IN     VARCHAR2 DEFAULT NULL
96   ,p_gosi_num                     IN     VARCHAR2 DEFAULT NULL
97   ,p_gosi_annuities               IN     VARCHAR2 DEFAULT NULL
98   ,p_annuities_branch_join_date   IN     VARCHAR2 DEFAULT NULL
99   ,p_gosi_hazards                 IN     VARCHAR2 DEFAULT NULL
100   ,p_hazards_branch_join_date     IN     VARCHAR2 DEFAULT NULL
101   ,p_pgp_segment1                 IN     VARCHAR2 DEFAULT NULL
102   ,p_pgp_segment2                 IN     VARCHAR2 DEFAULT NULL
103   ,p_pgp_segment3                 IN     VARCHAR2 DEFAULT NULL
104   ,p_pgp_segment4                 IN     VARCHAR2 DEFAULT NULL
105   ,p_pgp_segment5                 IN     VARCHAR2 DEFAULT NULL
106   ,p_pgp_segment6                 IN     VARCHAR2 DEFAULT NULL
107   ,p_pgp_segment7                 IN     VARCHAR2 DEFAULT NULL
108   ,p_pgp_segment8                 IN     VARCHAR2 DEFAULT NULL
109   ,p_pgp_segment9                 IN     VARCHAR2 DEFAULT NULL
110   ,p_pgp_segment10                IN     VARCHAR2 DEFAULT NULL
111   ,p_pgp_segment11                IN     VARCHAR2 DEFAULT NULL
112   ,p_pgp_segment12                IN     VARCHAR2 DEFAULT NULL
113   ,p_pgp_segment13                IN     VARCHAR2 DEFAULT NULL
114   ,p_pgp_segment14                IN     VARCHAR2 DEFAULT NULL
115   ,p_pgp_segment15                IN     VARCHAR2 DEFAULT NULL
116   ,p_pgp_segment16                IN     VARCHAR2 DEFAULT NULL
117   ,p_pgp_segment17                IN     VARCHAR2 DEFAULT NULL
118   ,p_pgp_segment18                IN     VARCHAR2 DEFAULT NULL
119   ,p_pgp_segment19                IN     VARCHAR2 DEFAULT NULL
120   ,p_pgp_segment20                IN     VARCHAR2 DEFAULT NULL
121   ,p_pgp_segment21                IN     VARCHAR2 DEFAULT NULL
122   ,p_pgp_segment22                IN     VARCHAR2 DEFAULT NULL
123   ,p_pgp_segment23                IN     VARCHAR2 DEFAULT NULL
124   ,p_pgp_segment24                IN     VARCHAR2 DEFAULT NULL
125   ,p_pgp_segment25                IN     VARCHAR2 DEFAULT NULL
126   ,p_pgp_segment26                IN     VARCHAR2 DEFAULT NULL
127   ,p_pgp_segment27                IN     VARCHAR2 DEFAULT NULL
128   ,p_pgp_segment28                IN     VARCHAR2 DEFAULT NULL
129   ,p_pgp_segment29                IN     VARCHAR2 DEFAULT NULL
130   ,p_pgp_segment30                IN     VARCHAR2 DEFAULT NULL
131   ,p_pgp_concat_segments          IN     VARCHAR2 DEFAULT NULL
132   ,p_assignment_id                   OUT NOCOPY NUMBER
133   ,p_soft_coding_keyflex_id          OUT NOCOPY NUMBER
134   ,p_people_group_id                 OUT NOCOPY NUMBER
135   ,p_object_version_number           OUT NOCOPY NUMBER
136   ,p_effective_start_date            OUT NOCOPY DATE
137   ,p_effective_end_date              OUT NOCOPY DATE
138   ,p_assignment_sequence             OUT NOCOPY NUMBER
139   ,p_comment_id                      OUT NOCOPY NUMBER
140   ,p_concatenated_segments           OUT NOCOPY VARCHAR2
141   ,p_group_name                      OUT NOCOPY VARCHAR2
142   ,p_other_manager_warning           OUT NOCOPY BOOLEAN
143   ) is
144 
145   -- Declare cursors AND local variables
146   --
147   -- Declare variables
148   --
149 
150   l_assignment_number  per_assignments_f.assignment_number%TYPE;
151   l_effective_date     DATE;
152   --
153   l_business_group_id  per_business_groups.business_group_id%TYPE;
154   l_legislation_code   per_business_groups.legislation_code%TYPE;
155   l_proc               VARCHAR2(72) := g_package||'create_sa_secondary_emp_asg';
156   --
157   -- Declare cursors
158   --
159   CURSOR csr_legislation IS
160     SELECT  NULL
161     FROM    per_assignments_f paf,
162             per_business_groups pbg
163     WHERE   paf.person_id = p_person_id
164     AND     l_effective_date BETWEEN paf.effective_start_date AND     paf.effective_end_date
165     AND     pbg.business_group_id = paf.business_group_id
166     AND     pbg.legislation_code = 'SA';
167   --
168   --
169 BEGIN
170   hr_utility.set_location('Entering:'|| l_proc, 10);
171   --
172   -- Initialise local variable
173   --
174   l_effective_date := trunc(p_effective_date);
175   --
176   -- Validation IN addition to Table Handlers
177   --
178   -- Ensure that the employee IS within a sa business group
179   --
180   OPEN  csr_legislation;
181   FETCH csr_legislation
182   INTO l_legislation_code;
183   IF csr_legislation%notfound THEN
184     CLOSE csr_legislation;
185     hr_utility.set_message(801, 'HR_7961_PER_BUS_GRP_INVALID');
186     hr_utility.set_message_token('LEG_CODE', 'SA');
187     hr_utility.raise_error;
188   END IF;
189   CLOSE csr_legislation;
190   --
191   --
192   -- Call create_secondary_emp_asg
193   --
194 
195  hr_assignment_api.create_secondary_emp_asg
196   (p_validate                     =>     p_validate
197   ,p_effective_date               =>     l_effective_date
198   ,p_person_id                    =>     p_person_id
199   ,p_organization_id              =>     p_organization_id
200   ,p_grade_id                     =>     p_grade_id
201   ,p_position_id                  =>     p_position_id
202   ,p_job_id                       =>     p_job_id
203   ,p_assignment_status_type_id    =>     p_assignment_status_type_id
204   ,p_payroll_id                   =>     p_payroll_id
205   ,p_location_id                  =>     p_location_id
206   ,p_supervisor_id                =>     p_supervisor_id
207   ,p_special_ceiling_step_id      =>     p_special_ceiling_step_id
208   ,p_pay_basis_id                 =>     p_pay_basis_id
209   ,p_assignment_number            =>     l_assignment_number
210   ,p_change_reason                =>     p_change_reason
211   ,p_comments                     =>     p_comments
212   ,p_date_probation_end           =>     trunc(p_date_probation_end)
213   ,p_default_code_comb_id         =>     p_default_code_comb_id
214   ,p_employment_category          =>     p_employment_category
215   ,p_frequency                    =>     p_frequency
216   ,p_internal_address_line        =>     p_internal_address_line
217   ,p_manager_flag                 =>     p_manager_flag
218   ,p_normal_hours                 =>     p_normal_hours
219   ,p_perf_review_period           =>     p_perf_review_period
220   ,p_perf_review_period_frequency =>     p_perf_review_period_frequency
221   ,p_probation_period             =>     p_probation_period
222   ,p_probation_unit               =>     p_probation_unit
223   ,p_sal_review_period            =>     p_sal_review_period
224   ,p_sal_review_period_frequency  =>     p_sal_review_period_frequency
225   ,p_set_of_books_id              =>     p_set_of_books_id
226   ,p_source_type                  =>     p_source_type
227   ,p_time_normal_finish           =>     p_time_normal_finish
228   ,p_time_normal_start            =>     p_time_normal_start
229   ,p_bargaining_unit_code         =>     p_bargaining_unit_code
230   ,p_labour_union_member_flag     =>     p_labour_union_member_flag
231   ,p_hourly_salaried_code         =>     p_hourly_salaried_code
232   ,p_ass_attribute_category       =>     p_ass_attribute_category
233   ,p_ass_attribute1               =>     p_ass_attribute1
234   ,p_ass_attribute2               =>     p_ass_attribute2
235   ,p_ass_attribute3               =>     p_ass_attribute3
236   ,p_ass_attribute4               =>     p_ass_attribute4
237   ,p_ass_attribute5               =>     p_ass_attribute5
238   ,p_ass_attribute6               =>     p_ass_attribute6
239   ,p_ass_attribute7               =>     p_ass_attribute7
240   ,p_ass_attribute8               =>     p_ass_attribute8
241   ,p_ass_attribute9               =>     p_ass_attribute9
242   ,p_ass_attribute10              =>     p_ass_attribute10
243   ,p_ass_attribute11              =>     p_ass_attribute11
244   ,p_ass_attribute12              =>     p_ass_attribute12
245   ,p_ass_attribute13              =>     p_ass_attribute13
246   ,p_ass_attribute14              =>     p_ass_attribute14
247   ,p_ass_attribute15              =>     p_ass_attribute15
248   ,p_ass_attribute16              =>     p_ass_attribute16
249   ,p_ass_attribute17              =>     p_ass_attribute17
250   ,p_ass_attribute18              =>     p_ass_attribute18
251   ,p_ass_attribute19              =>     p_ass_attribute19
252   ,p_ass_attribute20              =>     p_ass_attribute20
253   ,p_ass_attribute21              =>     p_ass_attribute21
254   ,p_ass_attribute22              =>     p_ass_attribute22
255   ,p_ass_attribute23              =>     p_ass_attribute23
256   ,p_ass_attribute24              =>     p_ass_attribute24
257   ,p_ass_attribute25              =>     p_ass_attribute25
258   ,p_ass_attribute26              =>     p_ass_attribute26
259   ,p_ass_attribute27              =>     p_ass_attribute27
260   ,p_ass_attribute28              =>     p_ass_attribute28
261   ,p_ass_attribute29              =>     p_ass_attribute29
262   ,p_ass_attribute30              =>     p_ass_attribute30
263   ,p_title                        =>     p_title
264   ,p_scl_segment1                 =>     p_employer
265   ,p_scl_segment2                 =>     p_gosi_num
266   ,p_scl_segment3                 =>     p_gosi_annuities
267   ,p_scl_segment4                 =>     p_annuities_branch_join_date
268   ,p_scl_segment5                 =>     p_gosi_hazards
269   ,p_scl_segment6                 =>     p_hazards_branch_join_date
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_sa_secondary_emp_asg;
317 
318   -- ----------------------------------------------------------------------------
319   -- |--------------------------< update_sa_emp_asg >---------------------------|
320   -- ----------------------------------------------------------------------------
321   --
322 PROCEDURE update_sa_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_employer                     IN     VARCHAR2 DEFAULT hr_api.g_varchar2
384   ,p_gosi_num                     IN     VARCHAR2 DEFAULT hr_api.g_varchar2
385   ,p_gosi_annuities               IN     VARCHAR2 DEFAULT hr_api.g_varchar2
386   ,p_annuities_branch_join_date   IN     VARCHAR2 DEFAULT hr_api.g_varchar2
387   ,p_gosi_hazards                 IN     VARCHAR2 DEFAULT hr_api.g_varchar2
388   ,p_hazards_branch_join_date     IN     VARCHAR2 DEFAULT hr_api.g_varchar2
389   ,p_comment_id                      OUT NOCOPY NUMBER
390   ,p_soft_coding_keyflex_id          OUT NOCOPY NUMBER
391   ,p_effective_start_date            OUT NOCOPY DATE
392   ,p_effective_end_date              OUT NOCOPY DATE
393   ,p_concatenated_segments           OUT NOCOPY VARCHAR2
394   ,p_no_managers_warning             OUT NOCOPY BOOLEAN
395   ,p_other_manager_warning           OUT NOCOPY BOOLEAN
396   ) is
397 
398  --
399     -- Declare cursors AND local variables
400     --
401     l_proc                       VARCHAR2(72) := g_package||'update_sa_emp_asg';
402     l_effective_date             DATE;
403     l_legislation_code           per_business_groups.legislation_code%TYPE;
404     l_business_group_id          per_business_groups.business_group_id%type;
405     a              varchar2(100);
406 
407    --
408     CURSOR check_legislation
409       (c_assignment_id  per_assignments_f.assignment_id%TYPE,
410        c_effective_date DATE
411       )
412     IS
413       SELECT    bgp.legislation_code
414       FROM      per_assignments_f asg,
415                 per_business_groups bgp
416       WHERE     asg.business_group_id = bgp.business_group_id
417       AND       asg.assignment_id     = c_assignment_id
418       AND       c_effective_date BETWEEN effective_start_date AND effective_end_date;
419     --
420 
421 
422   BEGIN
423     hr_utility.set_location('Entering:'|| l_proc, 10);
424 
425     --
426     -- Truncate DATE variables
427     --
428     l_effective_date := trunc(p_effective_date);
429     --
430     -- Validate IN addition to Table Handlers
431     --
432     -- Check that the assignment exists.
433     --
434     OPEN    check_legislation(p_assignment_id, l_effective_date);
435     FETCH   check_legislation into l_legislation_code;
436     IF check_legislation%notfound THEN
437       CLOSE check_legislation;
438       hr_utility.set_message(801,'HR_7220_INVALID_PRIMARY_KEY');
439       hr_utility.raise_error;
440     END IF;
441     CLOSE check_legislation;
442     hr_utility.set_location(l_proc, 20);
443     --
444     -- Check that the legislation of the specified business group IS 'SA'.
445     --
446     IF l_legislation_code <> 'SA' THEN
447       hr_utility.set_message(801, 'HR_7961_PER_BUS_GRP_INVALID');
448       hr_utility.set_message_token('LEG_CODE','SA');
449       hr_utility.raise_error;
450     END IF;
451     hr_utility.set_location(l_proc, 30);
452     --
453     --
454     -- Call update_emp_asg business process
455     --
456        hr_assignment_api.update_emp_asg
457       (p_validate                     => p_validate
458       ,p_effective_date               => p_effective_date
459       ,p_datetrack_update_mode        => p_datetrack_update_mode
460       ,p_assignment_id                => p_assignment_id
461       ,p_object_version_number        => p_object_version_number
462       ,p_supervisor_id                => p_supervisor_id
463       ,p_assignment_number            => p_assignment_number
464       ,p_change_reason                => p_change_reason
465       ,p_comments                     => p_comments
466       ,p_date_probation_end           => p_date_probation_end
467       ,p_default_code_comb_id         => p_default_code_comb_id
468       ,p_frequency                    => p_frequency
469       ,p_internal_address_line        => p_internal_address_line
470       ,p_manager_flag                 => p_manager_flag
471       ,p_normal_hours                 => p_normal_hours
472       ,p_perf_review_period           => p_perf_review_period
473       ,p_perf_review_period_frequency => p_perf_review_period_frequency
474       ,p_probation_period             => p_probation_period
475       ,p_probation_unit               => p_probation_unit
476       ,p_sal_review_period            => p_sal_review_period
477       ,p_sal_review_period_frequency  => p_sal_review_period_frequency
478       ,p_set_of_books_id              => p_set_of_books_id
479       ,p_source_type                  => p_source_type
480       ,p_time_normal_finish           => p_time_normal_finish
481       ,p_time_normal_start            => p_time_normal_start
482       ,p_bargaining_unit_code         => p_bargaining_unit_code
483       ,p_labour_union_member_flag     => p_labour_union_member_flag
484       ,p_hourly_salaried_code         => p_hourly_salaried_code
485       ,p_ass_attribute_category       => p_ass_attribute_category
486       ,p_ass_attribute1               => p_ass_attribute1
487       ,p_ass_attribute2               => p_ass_attribute2
488       ,p_ass_attribute3               => p_ass_attribute3
489       ,p_ass_attribute4               => p_ass_attribute4
490       ,p_ass_attribute5               => p_ass_attribute5
491       ,p_ass_attribute6               => p_ass_attribute6
492       ,p_ass_attribute7               => p_ass_attribute7
493       ,p_ass_attribute8               => p_ass_attribute8
494       ,p_ass_attribute9               => p_ass_attribute9
495       ,p_ass_attribute10              => p_ass_attribute10
496       ,p_ass_attribute11              => p_ass_attribute11
497       ,p_ass_attribute12              => p_ass_attribute12
498       ,p_ass_attribute13              => p_ass_attribute13
499       ,p_ass_attribute14              => p_ass_attribute14
500       ,p_ass_attribute15              => p_ass_attribute15
501       ,p_ass_attribute16              => p_ass_attribute16
502       ,p_ass_attribute17              => p_ass_attribute17
503       ,p_ass_attribute18              => p_ass_attribute18
504       ,p_ass_attribute19              => p_ass_attribute19
505       ,p_ass_attribute20              => p_ass_attribute20
506       ,p_ass_attribute21              => p_ass_attribute21
507       ,p_ass_attribute22              => p_ass_attribute22
508       ,p_ass_attribute23              => p_ass_attribute23
509       ,p_ass_attribute24              => p_ass_attribute24
510       ,p_ass_attribute25              => p_ass_attribute25
511       ,p_ass_attribute26              => p_ass_attribute26
512       ,p_ass_attribute27              => p_ass_attribute27
513       ,p_ass_attribute28              => p_ass_attribute28
514       ,p_ass_attribute29              => p_ass_attribute29
515       ,p_ass_attribute30              => p_ass_attribute30
516       ,p_title                        => p_title
517       ,p_segment1                     => p_employer
518       ,p_segment2                     => p_gosi_num
519       ,p_segment3                     => p_gosi_annuities
520       ,p_segment4                     => p_annuities_branch_join_date
521       ,p_segment5                     => p_gosi_hazards
522       ,p_segment6                     => p_hazards_branch_join_date
523       ,p_soft_coding_keyflex_id       => p_soft_coding_keyflex_id
524       ,p_comment_id                   => p_comment_id
525       ,p_effective_start_date         => p_effective_start_date
526       ,p_effective_END_date           => p_effective_end_date
527       ,p_concatenated_segments        => p_concatenated_segments
528       ,p_no_managers_warning          => p_no_managers_warning
529       ,p_other_manager_warning        => p_other_manager_warning
530       );
531 
532 
533     hr_utility.set_location(' Leaving:'||l_proc, 40);
534   END update_sa_emp_asg;
535 
536 
537 END hr_sa_assignment_api;