DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_FI_ASSIGNMENT_API

Source


1 PACKAGE BODY hr_fi_assignment_api AS
2 /* $Header: peasgfii.pkb 120.0 2005/05/31 05:40:34 appldev noship $ */
3 
4 g_package  VARCHAR2(33) := 'hr_fi_assignment_api.';
5 --
6 -- ----------------------------------------------------------------------------
7 -- |---------------------< create_fi_secondary_emp_asg >-----------------------|
8 -- ----------------------------------------------------------------------------
9 --
10 
11 PROCEDURE create_fi_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_employment_type              IN     VARCHAR2 DEFAULT NULL
82   ,p_working_time_type		  IN     VARCHAR2 DEFAULT NULL
83   ,p_shift_work_type		  IN     VARCHAR2 DEFAULT NULL
84   ,p_shift_work_type_days	  IN     VARCHAR2 DEFAULT NULL
85   ,p_community_price_category	  IN     VARCHAR2 DEFAULT NULL
86   ,p_employee_status		  IN     VARCHAR2 DEFAULT NULL
87   ,p_personnel_group		  IN     VARCHAR2 DEFAULT NULL
88   ,p_insurance_occupational_group IN     VARCHAR2 DEFAULT NULL
89   ,p_union_occupational_group     IN     VARCHAR2 DEFAULT NULL
90   ,p_reported_assignment	  IN     VARCHAR2 DEFAULT NULL
91   ,p_tax_category       	  IN     VARCHAR2 DEFAULT NULL
92   ,p_social_security_liable	  IN     VARCHAR2 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   l_business_group_id  per_business_groups.business_group_id%TYPE;
146   l_legislation_code   per_business_groups.legislation_code%TYPE;
147   l_proc               VARCHAR2(72) := g_package||'create_fi_secondary_emp_asg';
148   v_field	VARCHAR2(20);
149   --
150   -- Declare cursors
151   --
152   CURSOR csr_legislation IS
153     SELECT  NULL
154     FROM    per_assignments_f paf,
155             per_business_groups pbg
156     WHERE   paf.person_id = p_person_id
157     AND     l_effective_date BETWEEN paf.effective_start_date AND     paf.effective_end_date
158     AND     pbg.business_group_id = paf.business_group_id
159     AND     pbg.legislation_code = 'FI';
160   --
161   --
162 BEGIN
163   hr_utility.set_location('Entering:'|| l_proc, 10);
164   --
165   -- Initialise local variable
166   --
167   l_effective_date := trunc(p_effective_date);
168   --
169   -- Validation IN addition to Table Handlers
170   --
171   -- Ensure that the employee IS within a FI business group
172   --
173   OPEN  csr_legislation;
174   FETCH csr_legislation
175   INTO l_legislation_code;
176   IF csr_legislation%notfound THEN
177     CLOSE csr_legislation;
178     hr_utility.set_message(801, 'HR_7961_PER_BUS_GRP_INVALID');
179     hr_utility.set_message_token('LEG_CODE', 'FI');
180     hr_utility.raise_error;
181   END IF;
182   CLOSE csr_legislation;
183   --
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_employment_type
259   ,p_scl_segment4                 =>     p_working_time_type
260   ,p_scl_segment5                 =>     p_shift_work_type
261   ,p_scl_segment6                 =>     p_shift_work_type_days
262   ,p_scl_segment7                 =>     p_community_price_category
263   ,p_scl_segment8                 =>     p_employee_status
264   ,p_scl_segment9                 =>     p_personnel_group
265   ,p_scl_segment10                =>	 p_insurance_occupational_group
266   ,p_scl_segment11                =>	 p_union_occupational_group
267   ,p_scl_segment12                =>	 p_reported_assignment
268   ,p_scl_segment13                =>     p_tax_category
269   ,p_scl_segment14                =>     p_social_security_liable
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_fi_secondary_emp_asg;
317 
318   -- ----------------------------------------------------------------------------
319   -- |--------------------------< update_fi_emp_asg >---------------------------|
320   -- ----------------------------------------------------------------------------
321   --
322 PROCEDURE update_fi_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_employment_type              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
385   ,p_working_time_type		  IN     VARCHAR2 DEFAULT hr_api.g_varchar2
386   ,p_shift_work_type		  IN     VARCHAR2 DEFAULT hr_api.g_varchar2
387   ,p_shift_work_type_days	  IN     VARCHAR2 DEFAULT hr_api.g_varchar2
388   ,p_community_price_category	  IN     VARCHAR2 DEFAULT hr_api.g_varchar2
389   ,p_employee_status		  IN     VARCHAR2 DEFAULT hr_api.g_varchar2
390   ,p_personnel_group		  IN     VARCHAR2 DEFAULT hr_api.g_varchar2
391   ,p_insurance_occupational_group IN     VARCHAR2 DEFAULT hr_api.g_varchar2
392   ,p_union_occupational_group     IN    VARCHAR2 DEFAULT hr_api.g_varchar2
393   ,p_reported_assignment	  IN     VARCHAR2 DEFAULT hr_api.g_varchar2
394   ,p_tax_category       	  IN     VARCHAR2 DEFAULT hr_api.g_varchar2
395   ,p_social_security_liable	  IN     VARCHAR2 DEFAULT hr_api.g_varchar2
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_fi_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 'FI'.
452     --
453     IF l_legislation_code <> 'FI' THEN
454       hr_utility.set_message(801, 'HR_7961_PER_BUS_GRP_INVALID');
455       hr_utility.set_message_token('LEG_CODE','FI');
456       hr_utility.raise_error;
457     END IF;
458     hr_utility.set_location(l_proc, 30);
459     --
460 
461     --
462     -- Call update_emp_asg business process
463     --
464        hr_assignment_api.update_emp_asg
465       (p_validate                     => p_validate
466       ,p_effective_date               => p_effective_date
467       ,p_datetrack_update_mode        => p_datetrack_update_mode
468       ,p_assignment_id                => p_assignment_id
469       ,p_object_version_number        => p_object_version_number
470       ,p_supervisor_id                => p_supervisor_id
471       ,p_assignment_number            => p_assignment_number
472       ,p_change_reason                => p_change_reason
473       ,p_comments                     => p_comments
474       ,p_date_probation_end           => p_date_probation_end
475       ,p_default_code_comb_id         => p_default_code_comb_id
476       ,p_frequency                    => p_frequency
477       ,p_internal_address_line        => p_internal_address_line
478       ,p_manager_flag                 => p_manager_flag
479       ,p_normal_hours                 => p_normal_hours
480       ,p_perf_review_period           => p_perf_review_period
481       ,p_perf_review_period_frequency => p_perf_review_period_frequency
482       ,p_probation_period             => p_probation_period
483       ,p_probation_unit               => p_probation_unit
484       ,p_sal_review_period            => p_sal_review_period
485       ,p_sal_review_period_frequency  => p_sal_review_period_frequency
486       ,p_set_of_books_id              => p_set_of_books_id
487       ,p_source_type                  => p_source_type
488       ,p_time_normal_finish           => p_time_normal_finish
489       ,p_time_normal_start            => p_time_normal_start
490       ,p_bargaining_unit_code         => p_bargaining_unit_code
491       ,p_labour_union_member_flag     => p_labour_union_member_flag
492       ,p_hourly_salaried_code         => p_hourly_salaried_code
493       ,p_ass_attribute_category       => p_ass_attribute_category
494       ,p_ass_attribute1               => p_ass_attribute1
495       ,p_ass_attribute2               => p_ass_attribute2
496       ,p_ass_attribute3               => p_ass_attribute3
497       ,p_ass_attribute4               => p_ass_attribute4
498       ,p_ass_attribute5               => p_ass_attribute5
499       ,p_ass_attribute6               => p_ass_attribute6
500       ,p_ass_attribute7               => p_ass_attribute7
501       ,p_ass_attribute8               => p_ass_attribute8
502       ,p_ass_attribute9               => p_ass_attribute9
503       ,p_ass_attribute10              => p_ass_attribute10
504       ,p_ass_attribute11              => p_ass_attribute11
505       ,p_ass_attribute12              => p_ass_attribute12
506       ,p_ass_attribute13              => p_ass_attribute13
507       ,p_ass_attribute14              => p_ass_attribute14
508       ,p_ass_attribute15              => p_ass_attribute15
509       ,p_ass_attribute16              => p_ass_attribute16
510       ,p_ass_attribute17              => p_ass_attribute17
511       ,p_ass_attribute18              => p_ass_attribute18
512       ,p_ass_attribute19              => p_ass_attribute19
513       ,p_ass_attribute20              => p_ass_attribute20
514       ,p_ass_attribute21              => p_ass_attribute21
515       ,p_ass_attribute22              => p_ass_attribute22
516       ,p_ass_attribute23              => p_ass_attribute23
517       ,p_ass_attribute24              => p_ass_attribute24
518       ,p_ass_attribute25              => p_ass_attribute25
519       ,p_ass_attribute26              => p_ass_attribute26
520       ,p_ass_attribute27              => p_ass_attribute27
521       ,p_ass_attribute28              => p_ass_attribute28
522       ,p_ass_attribute29              => p_ass_attribute29
523       ,p_ass_attribute30              => p_ass_attribute30
524       ,p_title                        => p_title
525       ,p_segment2                     => p_local_unit
526       ,p_segment3                     => p_employment_type
527       ,p_segment4                     => p_working_time_type
528       ,p_segment5                     => p_shift_work_type
529       ,p_segment6                     => p_shift_work_type_days
530       ,p_segment7                     => p_community_price_category
531       ,p_segment8                     => p_employee_status
532       ,p_segment9                     => p_personnel_group
533       ,p_segment10                    => p_insurance_occupational_group
534       ,p_segment11                    => p_union_occupational_group
535       ,p_segment12                    => p_reported_assignment
536       ,p_segment13                    => p_tax_category
537       ,p_segment14                    => p_social_security_liable
538       ,p_soft_coding_keyflex_id       => p_soft_coding_keyflex_id
539       ,p_comment_id                   => p_comment_id
540       ,p_effective_start_date         => p_effective_start_date
541       ,p_effective_END_date           => p_effective_end_date
542       ,p_concatenated_segments        => p_concatenated_segments
543       ,p_no_managers_warning          => p_no_managers_warning
544       ,p_other_manager_warning        => p_other_manager_warning
545       );
546 
547     hr_utility.set_location(' Leaving:'||l_proc, 40);
548   END update_fi_emp_asg;
549 
550 
551 END hr_fi_assignment_api;