DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_HK_ASSIGNMENT_API

Source


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