DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_RU_ASSIGNMENT_API

Source


1 PACKAGE BODY HR_RU_ASSIGNMENT_API AS
2 /* $Header: peasgrui.pkb 120.0 2005/05/31 05:46:02 appldev noship $ */
3 /*
4  +==========================================================================================
5  |              Copyright (c) 1999 Oracle Corporation Ltd
6  |                           All rights reserved.
7  +==========================================================================================
8  |SQL Script File Name : HR RU WR AS . PKB
9  |                Name : hr_ru_assignment_api
10  |         Description : Assignment API Wrapper for RU
11  |
12  |   Name           Date         Version Bug     Text
13  |   -------------- ----------   ------- -----   ----
14  |   sgajula       27-Dec-2004  115.0           Initial Version
15  |   sgajula       29-Dec-2004  115.1           Changed the issue date,end date to date type and changed the default values
16  |   sgajula       29-Dec-2004  115.2           Interchanged segment8,segment9
17  |   sgajula       15-Feb-2005  115.3           Added few more parameters
18  |NOTES
19  +==========================================================================================
20 */
21 
22 g_package  VARCHAR2(33) := 'hr_ru_assignment_api.';
23 --
24 -- ----------------------------------------------------------------------------
25 -- |---------------------< create_ru_secondary_emp_asg >-----------------------|
26 -- ----------------------------------------------------------------------------
27 --
28 
29 PROCEDURE create_ru_secondary_emp_asg
30   (p_validate                     IN     BOOLEAN  DEFAULT FALSE
31   ,p_effective_date               IN     DATE
32   ,p_person_id                    IN     NUMBER
33   ,p_organization_id              IN     NUMBER
34   ,p_grade_id                     IN     NUMBER   DEFAULT NULL
35   ,p_position_id                  IN     NUMBER   DEFAULT NULL
36   ,p_job_id                       IN     NUMBER   DEFAULT NULL
37   ,p_assignment_status_type_id    IN     NUMBER   DEFAULT NULL
38   ,p_payroll_id                   IN     NUMBER   DEFAULT NULL
39   ,p_location_id                  IN     NUMBER   DEFAULT NULL
40   ,p_supervisor_id                IN     NUMBER   DEFAULT NULL
41   ,p_special_ceiling_step_id      IN     NUMBER   DEFAULT NULL
42   ,p_pay_basis_id                 IN     NUMBER   DEFAULT NULL
43   ,p_assignment_number            IN OUT NOCOPY VARCHAR2
44   ,p_start_reason                 IN     VARCHAR2 DEFAULT NULL
45   ,p_comments                     IN     VARCHAR2 DEFAULT NULL
46   ,p_date_probation_end           IN     DATE     DEFAULT NULL
47   ,p_default_code_comb_id         IN     NUMBER   DEFAULT NULL
48   ,p_employment_category          IN     VARCHAR2 DEFAULT NULL
49   ,p_frequency                    IN     VARCHAR2 DEFAULT NULL
50   ,p_internal_address_line        IN     VARCHAR2 DEFAULT NULL
51   ,p_manager_flag                 IN     VARCHAR2 DEFAULT NULL
52   ,p_normal_hours                 IN     NUMBER   DEFAULT NULL
53   ,p_perf_review_period           IN     NUMBER   DEFAULT NULL
54   ,p_perf_review_period_frequency IN     VARCHAR2 DEFAULT NULL
55   ,p_probation_period             IN     NUMBER   DEFAULT NULL
56   ,p_probation_unit               IN     VARCHAR2 DEFAULT NULL
57   ,p_sal_review_period            IN     NUMBER   DEFAULT NULL
58   ,p_sal_review_period_frequency  IN     VARCHAR2 DEFAULT NULL
59   ,p_set_of_books_id              IN     NUMBER   DEFAULT NULL
60   ,p_source_type                  IN     VARCHAR2 DEFAULT NULL
61   ,p_time_normal_finish           IN     VARCHAR2 DEFAULT NULL
62   ,p_time_normal_start            IN     VARCHAR2 DEFAULT NULL
63   ,p_bargaining_unit_code         in     varchar2 default null
64   ,p_labour_union_member_flag     in     varchar2 default 'N'
65   ,p_hourly_salaried_code         in     varchar2 default null
66   ,p_ass_attribute_category       IN     VARCHAR2 DEFAULT NULL
67   ,p_ass_attribute1               IN     VARCHAR2 DEFAULT NULL
68   ,p_ass_attribute2               IN     VARCHAR2 DEFAULT NULL
69   ,p_ass_attribute3               IN     VARCHAR2 DEFAULT NULL
70   ,p_ass_attribute4               IN     VARCHAR2 DEFAULT NULL
71   ,p_ass_attribute5               IN     VARCHAR2 DEFAULT NULL
72   ,p_ass_attribute6               IN     VARCHAR2 DEFAULT NULL
73   ,p_ass_attribute7               IN     VARCHAR2 DEFAULT NULL
74   ,p_ass_attribute8               IN     VARCHAR2 DEFAULT NULL
75   ,p_ass_attribute9               IN     VARCHAR2 DEFAULT NULL
76   ,p_ass_attribute10              IN     VARCHAR2 DEFAULT NULL
77   ,p_ass_attribute11              IN     VARCHAR2 DEFAULT NULL
78   ,p_ass_attribute12              IN     VARCHAR2 DEFAULT NULL
79   ,p_ass_attribute13              IN     VARCHAR2 DEFAULT NULL
80   ,p_ass_attribute14              IN     VARCHAR2 DEFAULT NULL
81   ,p_ass_attribute15              IN     VARCHAR2 DEFAULT NULL
82   ,p_ass_attribute16              IN     VARCHAR2 DEFAULT NULL
83   ,p_ass_attribute17              IN     VARCHAR2 DEFAULT NULL
84   ,p_ass_attribute18              IN     VARCHAR2 DEFAULT NULL
85   ,p_ass_attribute19              IN     VARCHAR2 DEFAULT NULL
86   ,p_ass_attribute20              IN     VARCHAR2 DEFAULT NULL
87   ,p_ass_attribute21              IN     VARCHAR2 DEFAULT NULL
88   ,p_ass_attribute22              IN     VARCHAR2 DEFAULT NULL
89   ,p_ass_attribute23              IN     VARCHAR2 DEFAULT NULL
90   ,p_ass_attribute24              IN     VARCHAR2 DEFAULT NULL
91   ,p_ass_attribute25              IN     VARCHAR2 DEFAULT NULL
92   ,p_ass_attribute26              IN     VARCHAR2 DEFAULT NULL
93   ,p_ass_attribute27              IN     VARCHAR2 DEFAULT NULL
94   ,p_ass_attribute28              IN     VARCHAR2 DEFAULT NULL
95   ,p_ass_attribute29              IN     VARCHAR2 DEFAULT NULL
96   ,p_ass_attribute30              IN     VARCHAR2 DEFAULT NULL
97   ,p_title                        IN     VARCHAR2 DEFAULT NULL
98   ,p_employer		          IN     VARCHAR2 DEFAULT NULL
99   ,p_sec_emp                      IN     VARCHAR2 DEFAULT NULL
100   ,p_contract_number              IN     VARCHAR2 DEFAULT NULL
101   ,p_issue_date     		  IN     DATE     DEFAULT NULL
102   ,p_cont_end_date                IN     DATE     DEFAULT NULL
103   ,p_limit_reason                 IN     VARCHAR2 DEFAULT NULL
104   ,p_end_reason                   IN     VARCHAR2 DEFAULT NULL
105   ,p_territory_cond               IN     VARCHAR2 DEFAULT NULL
106   ,p_spl_work_cond                IN     VARCHAR2 DEFAULT NULL
107   ,p_csr                          IN     VARCHAR2 DEFAULT NULL
108   ,p_csr_add_info                 IN     VARCHAR2 DEFAULT NULL
109   ,p_lsr	                  IN     VARCHAR2 DEFAULT NULL
110   ,p_lsr_add_info                 IN     VARCHAR2 DEFAULT NULL
111   ,p_unint_service_rec            IN     VARCHAR2 DEFAULT NULL
112   ,p_total_service_rec            IN     VARCHAR2 DEFAULT NULL
113   ,p_pension_years		  IN     VARCHAR2 DEFAULT NULL
114   ,p_pension_months		  IN     VARCHAR2 DEFAULT NULL
115   ,p_pension_days		  IN     VARCHAR2 DEFAULT NULL
116   ,p_scl_concat_segments          IN     VARCHAR2 DEFAULT NULL
117   ,p_pgp_segment1                 IN     VARCHAR2 DEFAULT NULL
118   ,p_pgp_segment2                 IN     VARCHAR2 DEFAULT NULL
119   ,p_pgp_segment3                 IN     VARCHAR2 DEFAULT NULL
120   ,p_pgp_segment4                 IN     VARCHAR2 DEFAULT NULL
121   ,p_pgp_segment5                 IN     VARCHAR2 DEFAULT NULL
122   ,p_pgp_segment6                 IN     VARCHAR2 DEFAULT NULL
123   ,p_pgp_segment7                 IN     VARCHAR2 DEFAULT NULL
124   ,p_pgp_segment8                 IN     VARCHAR2 DEFAULT NULL
125   ,p_pgp_segment9                 IN     VARCHAR2 DEFAULT NULL
126   ,p_pgp_segment10                IN     VARCHAR2 DEFAULT NULL
127   ,p_pgp_segment11                IN     VARCHAR2 DEFAULT NULL
128   ,p_pgp_segment12                IN     VARCHAR2 DEFAULT NULL
129   ,p_pgp_segment13                IN     VARCHAR2 DEFAULT NULL
130   ,p_pgp_segment14                IN     VARCHAR2 DEFAULT NULL
131   ,p_pgp_segment15                IN     VARCHAR2 DEFAULT NULL
132   ,p_pgp_segment16                IN     VARCHAR2 DEFAULT NULL
133   ,p_pgp_segment17                IN     VARCHAR2 DEFAULT NULL
134   ,p_pgp_segment18                IN     VARCHAR2 DEFAULT NULL
135   ,p_pgp_segment19                IN     VARCHAR2 DEFAULT NULL
136   ,p_pgp_segment20                IN     VARCHAR2 DEFAULT NULL
137   ,p_pgp_segment21                IN     VARCHAR2 DEFAULT NULL
138   ,p_pgp_segment22                IN     VARCHAR2 DEFAULT NULL
139   ,p_pgp_segment23                IN     VARCHAR2 DEFAULT NULL
140   ,p_pgp_segment24                IN     VARCHAR2 DEFAULT NULL
141   ,p_pgp_segment25                IN     VARCHAR2 DEFAULT NULL
142   ,p_pgp_segment26                IN     VARCHAR2 DEFAULT NULL
143   ,p_pgp_segment27                IN     VARCHAR2 DEFAULT NULL
144   ,p_pgp_segment28                IN     VARCHAR2 DEFAULT NULL
145   ,p_pgp_segment29                IN     VARCHAR2 DEFAULT NULL
146   ,p_pgp_segment30                IN     VARCHAR2 DEFAULT NULL
147   ,p_pgp_concat_segments          IN     VARCHAR2 DEFAULT NULL
148   ,p_contract_id		  IN     NUMBER   DEFAULT NULL
149   ,p_establishment_id             IN     NUMBER   DEFAULT NULL
150   ,p_collective_agreement_id      IN     NUMBER   DEFAULT NULL
151   ,p_cagr_id_flex_num             IN     NUMBER   DEFAULT NULL
152   ,p_cag_segment1                 IN     VARCHAR2 DEFAULT NULL
153   ,p_cag_segment2                 IN     VARCHAR2 DEFAULT NULL
154   ,p_cag_segment3                 IN     VARCHAR2 DEFAULT NULL
155   ,p_cag_segment4                 IN     VARCHAR2 DEFAULT NULL
156   ,p_cag_segment5                 IN     VARCHAR2 DEFAULT NULL
157   ,p_cag_segment6                 IN     VARCHAR2 DEFAULT NULL
158   ,p_cag_segment7                 IN     VARCHAR2 DEFAULT NULL
159   ,p_cag_segment8                 IN     VARCHAR2 DEFAULT NULL
160   ,p_cag_segment9                 IN     VARCHAR2 DEFAULT NULL
161   ,p_cag_segment10                IN     VARCHAR2 DEFAULT NULL
162   ,p_cag_segment11                IN     VARCHAR2 DEFAULT NULL
163   ,p_cag_segment12                IN     VARCHAR2 DEFAULT NULL
164   ,p_cag_segment13                IN     VARCHAR2 DEFAULT NULL
165   ,p_cag_segment14                IN     VARCHAR2 DEFAULT NULL
166   ,p_cag_segment15                IN     VARCHAR2 DEFAULT NULL
167   ,p_cag_segment16                IN     VARCHAR2 DEFAULT NULL
168   ,p_cag_segment17                IN     VARCHAR2 DEFAULT NULL
169   ,p_cag_segment18                IN     VARCHAR2 DEFAULT NULL
170   ,p_cag_segment19                IN     VARCHAR2 DEFAULT NULL
171   ,p_cag_segment20                IN     VARCHAR2 DEFAULT NULL
172   ,p_notice_period		  IN	 NUMBER   DEFAULT NULL
173   ,p_notice_period_uom		  IN     VARCHAR2 DEFAULT NULL
174   ,p_employee_category		  IN     VARCHAR2 DEFAULT NULL
175   ,p_work_at_home		  IN	 VARCHAR2 DEFAULT NULL
176   ,p_job_post_source_name         IN     VARCHAR2 DEFAULT NULL
177   ,p_grade_ladder_pgm_id	  IN	 NUMBER   DEFAULT NULL
178   ,p_supervisor_assignment_id	  IN	 NUMBER   DEFAULT NULL
179   ,p_cagr_grade_def_id            IN OUT NOCOPY NUMBER
180   ,p_cagr_concatenated_segments      OUT NOCOPY VARCHAR2
181   ,p_assignment_id                   OUT NOCOPY NUMBER
182   ,p_soft_coding_keyflex_id          OUT NOCOPY NUMBER
183   ,p_people_group_id                 OUT NOCOPY NUMBER
184   ,p_object_version_number           OUT NOCOPY NUMBER
185   ,p_effective_start_date            OUT NOCOPY DATE
186   ,p_effective_end_date              OUT NOCOPY DATE
187   ,p_assignment_sequence             OUT NOCOPY NUMBER
188   ,p_comment_id                      OUT NOCOPY NUMBER
189   ,p_concatenated_segments           OUT NOCOPY VARCHAR2
190   ,p_group_name                      OUT NOCOPY VARCHAR2
191   ,p_other_manager_warning           OUT NOCOPY BOOLEAN
192   ,p_hourly_salaried_warning         OUT NOCOPY BOOLEAN
193   ,p_gsp_post_process_warning        OUT NOCOPY VARCHAR2
194   ) is
195 
196   -- Declare cursors AND local variables
197   --
198   -- Declare variables
199   --
200 
201   l_assignment_number  per_assignments_f.assignment_number%TYPE;
202   l_effective_date     DATE;
203   --
204   l_business_group_id  per_business_groups.business_group_id%TYPE;
205   l_legislation_code   per_business_groups.legislation_code%TYPE;
206   l_proc               VARCHAR2(72) := g_package||'create_ru_secondary_emp_asg';
207   --
208   -- Declare cursors
209   --
210   CURSOR csr_legislation IS
211     SELECT  NULL
212     FROM    per_assignments_f paf,
213             per_business_groups pbg
214     WHERE   paf.person_id = p_person_id
215     AND     l_effective_date BETWEEN paf.effective_start_date AND     paf.effective_end_date
216     AND     pbg.business_group_id = paf.business_group_id
217     AND     pbg.legislation_code = 'RU';
218   --
219   --
220 BEGIN
221   hr_utility.set_location('Entering:'|| l_proc, 10);
222   --
223   -- Initialise local variable
224   --
225   l_effective_date := trunc(p_effective_date);
226   --
227   -- Validation IN addition to Table Handlers
228   --
229   -- Ensure that the employee IS within a sa business group
230   --
231   OPEN  csr_legislation;
232   FETCH csr_legislation
233   INTO l_legislation_code;
234   IF csr_legislation%notfound THEN
235     CLOSE csr_legislation;
236     hr_utility.set_message(801, 'HR_7961_PER_BUS_GRP_INVALID');
237     hr_utility.set_message_token('LEG_CODE', 'RU');
238     hr_utility.raise_error;
239   END IF;
240   CLOSE csr_legislation;
241   --
242   --
243   -- Call create_secondary_emp_asg
244   --
245 
246 
247  hr_assignment_api.create_secondary_emp_asg
248   (p_validate                     =>     p_validate
249   ,p_effective_date               =>     l_effective_date
250   ,p_person_id                    =>     p_person_id
251   ,p_organization_id              =>     p_organization_id
252   ,p_grade_id                     =>     p_grade_id
253   ,p_position_id                  =>     p_position_id
254   ,p_job_id                       =>     p_job_id
255   ,p_assignment_status_type_id    =>     p_assignment_status_type_id
256   ,p_payroll_id                   =>     p_payroll_id
257   ,p_location_id                  =>     p_location_id
258   ,p_supervisor_id                =>     p_supervisor_id
259   ,p_special_ceiling_step_id      =>     p_special_ceiling_step_id
260   ,p_pay_basis_id                 =>     p_pay_basis_id
261   ,p_assignment_number            =>     l_assignment_number
262   ,p_change_reason                =>     p_start_reason
263   ,p_comments                     =>     p_comments
264   ,p_date_probation_end           =>     trunc(p_date_probation_end)
265   ,p_default_code_comb_id         =>     p_default_code_comb_id
266   ,p_employment_category          =>     p_employment_category
267   ,p_frequency                    =>     p_frequency
268   ,p_internal_address_line        =>     p_internal_address_line
269   ,p_manager_flag                 =>     p_manager_flag
270   ,p_normal_hours                 =>     p_normal_hours
271   ,p_perf_review_period           =>     p_perf_review_period
272   ,p_perf_review_period_frequency =>     p_perf_review_period_frequency
273   ,p_probation_period             =>     p_probation_period
274   ,p_probation_unit               =>     p_probation_unit
275   ,p_sal_review_period            =>     p_sal_review_period
276   ,p_sal_review_period_frequency  =>     p_sal_review_period_frequency
277   ,p_set_of_books_id              =>     p_set_of_books_id
278   ,p_source_type                  =>     p_source_type
279   ,p_time_normal_finish           =>     p_time_normal_finish
280   ,p_time_normal_start            =>     p_time_normal_start
281   ,p_bargaining_unit_code         =>     p_bargaining_unit_code
282   ,p_labour_union_member_flag     =>     p_labour_union_member_flag
283   ,p_hourly_salaried_code         =>     p_hourly_salaried_code
284   ,p_ass_attribute_category       =>     p_ass_attribute_category
285   ,p_ass_attribute1               =>     p_ass_attribute1
286   ,p_ass_attribute2               =>     p_ass_attribute2
287   ,p_ass_attribute3               =>     p_ass_attribute3
288   ,p_ass_attribute4               =>     p_ass_attribute4
289   ,p_ass_attribute5               =>     p_ass_attribute5
290   ,p_ass_attribute6               =>     p_ass_attribute6
291   ,p_ass_attribute7               =>     p_ass_attribute7
292   ,p_ass_attribute8               =>     p_ass_attribute8
293   ,p_ass_attribute9               =>     p_ass_attribute9
294   ,p_ass_attribute10              =>     p_ass_attribute10
295   ,p_ass_attribute11              =>     p_ass_attribute11
296   ,p_ass_attribute12              =>     p_ass_attribute12
297   ,p_ass_attribute13              =>     p_ass_attribute13
298   ,p_ass_attribute14              =>     p_ass_attribute14
299   ,p_ass_attribute15              =>     p_ass_attribute15
300   ,p_ass_attribute16              =>     p_ass_attribute16
301   ,p_ass_attribute17              =>     p_ass_attribute17
302   ,p_ass_attribute18              =>     p_ass_attribute18
303   ,p_ass_attribute19              =>     p_ass_attribute19
304   ,p_ass_attribute20              =>     p_ass_attribute20
305   ,p_ass_attribute21              =>     p_ass_attribute21
306   ,p_ass_attribute22              =>     p_ass_attribute22
307   ,p_ass_attribute23              =>     p_ass_attribute23
308   ,p_ass_attribute24              =>     p_ass_attribute24
309   ,p_ass_attribute25              =>     p_ass_attribute25
310   ,p_ass_attribute26              =>     p_ass_attribute26
311   ,p_ass_attribute27              =>     p_ass_attribute27
312   ,p_ass_attribute28              =>     p_ass_attribute28
313   ,p_ass_attribute29              =>     p_ass_attribute29
314   ,p_ass_attribute30              =>     p_ass_attribute30
315   ,p_title                        =>     p_title
316   ,p_scl_segment1                 =>     p_employer
317   ,p_scl_segment2                 =>     p_sec_emp
318   ,p_scl_segment3                 =>     p_contract_number
319   ,p_scl_segment4                 =>     fnd_date.date_to_canonical(p_issue_date)
320   ,p_scl_segment5                 =>     fnd_date.date_to_canonical(p_cont_end_date)
321   ,p_scl_segment6                 =>     p_limit_reason
322   ,p_scl_segment7                 =>     p_end_reason
323   ,p_scl_segment9                 =>     p_territory_cond
324   ,p_scl_segment8                 =>     p_spl_work_cond
325   ,p_scl_segment10                =>     p_csr
326   ,p_scl_segment11                =>     p_csr_add_info
327   ,p_scl_segment12                =>     p_lsr
328   ,p_scl_segment13                =>     p_lsr_add_info
329   ,p_scl_segment14                =>     p_unint_service_rec
330   ,p_scl_segment15                =>     p_total_service_rec
331   ,p_scl_segment16                =>	 p_pension_years
332   ,p_scl_segment17                =>	 p_pension_months
333   ,p_scl_segment18                =>	 p_pension_days
334   ,p_scl_concat_segments   	  =>	 p_scl_concat_segments
335   ,p_pgp_segment1                 =>     p_pgp_segment1
336   ,p_pgp_segment2                 =>     p_pgp_segment2
337   ,p_pgp_segment3                 =>     p_pgp_segment3
338   ,p_pgp_segment4                 =>     p_pgp_segment4
339   ,p_pgp_segment5                 =>     p_pgp_segment5
340   ,p_pgp_segment6                 =>     p_pgp_segment6
341   ,p_pgp_segment7                 =>     p_pgp_segment7
342   ,p_pgp_segment8                 =>     p_pgp_segment8
343   ,p_pgp_segment9                 =>     p_pgp_segment9
344   ,p_pgp_segment10                =>     p_pgp_segment10
345   ,p_pgp_segment11                =>     p_pgp_segment11
346   ,p_pgp_segment12                =>     p_pgp_segment12
347   ,p_pgp_segment13                =>     p_pgp_segment13
348   ,p_pgp_segment14                =>     p_pgp_segment14
349   ,p_pgp_segment15                =>     p_pgp_segment15
350   ,p_pgp_segment16                =>     p_pgp_segment16
351   ,p_pgp_segment17                =>     p_pgp_segment17
352   ,p_pgp_segment18                =>     p_pgp_segment18
353   ,p_pgp_segment19                =>     p_pgp_segment19
354   ,p_pgp_segment20                =>     p_pgp_segment20
355   ,p_pgp_segment21                =>     p_pgp_segment21
356   ,p_pgp_segment22                =>     p_pgp_segment22
357   ,p_pgp_segment23                =>     p_pgp_segment23
358   ,p_pgp_segment24                =>     p_pgp_segment24
359   ,p_pgp_segment25                =>     p_pgp_segment25
360   ,p_pgp_segment26                =>     p_pgp_segment26
361   ,p_pgp_segment27                =>     p_pgp_segment27
362   ,p_pgp_segment28                =>     p_pgp_segment28
363   ,p_pgp_segment29                =>     p_pgp_segment29
364   ,p_pgp_segment30                =>     p_pgp_segment30
365   ,p_pgp_concat_segments          =>     p_pgp_concat_segments
366    ,p_contract_id           	  =>	 p_contract_id
367    ,p_establishment_id            =>	 p_establishment_id
368    ,p_collective_agreement_id     =>     p_collective_agreement_id
369    ,p_cagr_id_flex_num            =>	 p_cagr_id_flex_num
370    ,p_cag_segment1          	  =>	 p_cag_segment1
371    ,p_cag_segment2          	  =>	 p_cag_segment2
372    ,p_cag_segment3          	  =>	 p_cag_segment3
373    ,p_cag_segment4          	  =>	 p_cag_segment4
374    ,p_cag_segment5          	  =>	 p_cag_segment5
375    ,p_cag_segment6          	  =>	 p_cag_segment6
376    ,p_cag_segment7          	  =>	 p_cag_segment7
377    ,p_cag_segment8          	  =>	 p_cag_segment8
378    ,p_cag_segment9          	  =>	 p_cag_segment9
379    ,p_cag_segment10         	  =>	 p_cag_segment10
380    ,p_cag_segment11         	  =>	 p_cag_segment11
381    ,p_cag_segment12         	  =>	 p_cag_segment12
382    ,p_cag_segment13         	  =>	 p_cag_segment13
383    ,p_cag_segment14         	  =>	 p_cag_segment14
384    ,p_cag_segment15         	  =>	 p_cag_segment15
385    ,p_cag_segment16         	  =>	 p_cag_segment16
386    ,p_cag_segment17         	  =>	 p_cag_segment17
387    ,p_cag_segment18         	  =>	 p_cag_segment18
388    ,p_cag_segment19         	  =>	 p_cag_segment19
389    ,p_cag_segment20         	  =>	 p_cag_segment20
390    ,p_notice_period	    	  =>	 p_notice_period
391    ,p_notice_period_uom	          =>     p_notice_period_uom
392    ,p_employee_category	          =>	 p_employee_category
393    ,p_work_at_home	    	  =>     p_work_at_home
394    ,p_job_post_source_name  	  =>	 p_job_post_source_name
395    ,p_grade_ladder_pgm_id   	  =>     p_grade_ladder_pgm_id
396    ,p_supervisor_assignment_id 	  =>     p_supervisor_assignment_id
397    ,p_group_name                  =>	 p_group_name
398    ,p_concatenated_segments       =>     p_concatenated_segments
399    ,p_cagr_grade_def_id     	  =>	 p_cagr_grade_def_id
400    ,p_cagr_concatenated_segments  =>     p_cagr_concatenated_segments
401    ,p_assignment_id               =>     p_assignment_id
402   ,p_soft_coding_keyflex_id       =>     p_soft_coding_keyflex_id
403   ,p_people_group_id              =>     p_people_group_id
404   ,p_object_version_number        =>     p_object_version_number
405   ,p_effective_start_date         =>     p_effective_start_date
406   ,p_effective_end_date           =>     p_effective_end_date
407   ,p_assignment_sequence          =>     p_assignment_sequence
408   ,p_comment_id                   =>     p_comment_id
409   ,p_other_manager_warning        =>     p_other_manager_warning
410   ,p_hourly_salaried_warning   	  =>     p_hourly_salaried_warning
411   ,p_gsp_post_process_warning     =>     p_gsp_post_process_warning
412   );
413   --
414   hr_utility.set_location(' Leaving:'||l_proc, 30);
415   --
416   END create_ru_secondary_emp_asg;
417 
418   -- ----------------------------------------------------------------------------
419   -- |--------------------------< update_ru_emp_asg >---------------------------|
420   -- ----------------------------------------------------------------------------
421   --
422 PROCEDURE update_ru_emp_asg
423   (p_validate                     IN     BOOLEAN  DEFAULT FALSE
424   ,p_effective_date               IN     DATE
425   ,p_datetrack_update_mode        IN     VARCHAR2
426   ,p_assignment_id                IN     NUMBER
427   ,p_object_version_number        IN OUT NOCOPY NUMBER
428   ,p_supervisor_id                IN     NUMBER   DEFAULT hr_api.g_number
429   ,p_assignment_number            IN     VARCHAR2 DEFAULT hr_api.g_varchar2
430   ,p_change_reason                IN     VARCHAR2 DEFAULT hr_api.g_varchar2
431   ,p_assignment_status_type_id    IN     NUMBER   DEFAULT hr_api.g_number
432   ,p_comments                     IN     VARCHAR2 DEFAULT hr_api.g_varchar2
433   ,p_date_probation_end           IN     DATE     DEFAULT hr_api.g_date
434   ,p_default_code_comb_id         IN     NUMBER   DEFAULT hr_api.g_number
435   ,p_frequency                    IN     VARCHAR2 DEFAULT hr_api.g_varchar2
436   ,p_internal_address_line        IN     VARCHAR2 DEFAULT hr_api.g_varchar2
437   ,p_manager_flag                 IN     VARCHAR2 DEFAULT hr_api.g_varchar2
438   ,p_normal_hours                 IN     NUMBER   DEFAULT hr_api.g_number
439   ,p_perf_review_period           IN     NUMBER   DEFAULT hr_api.g_number
440   ,p_perf_review_period_frequency IN     VARCHAR2 DEFAULT hr_api.g_varchar2
441   ,p_probation_period             IN     NUMBER   DEFAULT hr_api.g_number
442   ,p_probation_unit               IN     VARCHAR2 DEFAULT hr_api.g_varchar2
443   ,p_sal_review_period            IN     NUMBER   DEFAULT hr_api.g_number
444   ,p_sal_review_period_frequency  IN     VARCHAR2 DEFAULT hr_api.g_varchar2
445   ,p_set_of_books_id              IN     NUMBER   DEFAULT hr_api.g_number
446   ,p_source_type                  IN     VARCHAR2 DEFAULT hr_api.g_varchar2
447   ,p_time_normal_finish           IN     VARCHAR2 DEFAULT hr_api.g_varchar2
448   ,p_time_normal_start            IN     VARCHAR2 DEFAULT hr_api.g_varchar2
449   ,p_bargaining_unit_code         IN     VARCHAR2 DEFAULT hr_api.g_varchar2
450   ,p_labour_union_member_flag     IN     VARCHAR2 DEFAULT hr_api.g_varchar2
451   ,p_hourly_salaried_code         IN     VARCHAR2 DEFAULT hr_api.g_varchar2
452   ,p_ass_attribute_category       IN     VARCHAR2 DEFAULT hr_api.g_varchar2
453   ,p_ass_attribute1               IN     VARCHAR2 DEFAULT hr_api.g_varchar2
454   ,p_ass_attribute2               IN     VARCHAR2 DEFAULT hr_api.g_varchar2
455   ,p_ass_attribute3               IN     VARCHAR2 DEFAULT hr_api.g_varchar2
456   ,p_ass_attribute4               IN     VARCHAR2 DEFAULT hr_api.g_varchar2
457   ,p_ass_attribute5               IN     VARCHAR2 DEFAULT hr_api.g_varchar2
458   ,p_ass_attribute6               IN     VARCHAR2 DEFAULT hr_api.g_varchar2
459   ,p_ass_attribute7               IN     VARCHAR2 DEFAULT hr_api.g_varchar2
460   ,p_ass_attribute8               IN     VARCHAR2 DEFAULT hr_api.g_varchar2
461   ,p_ass_attribute9               IN     VARCHAR2 DEFAULT hr_api.g_varchar2
462   ,p_ass_attribute10              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
463   ,p_ass_attribute11              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
464   ,p_ass_attribute12              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
465   ,p_ass_attribute13              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
466   ,p_ass_attribute14              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
467   ,p_ass_attribute15              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
468   ,p_ass_attribute16              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
469   ,p_ass_attribute17              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
470   ,p_ass_attribute18              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
471   ,p_ass_attribute19              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
472   ,p_ass_attribute20              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
473   ,p_ass_attribute21              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
474   ,p_ass_attribute22              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
475   ,p_ass_attribute23              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
476   ,p_ass_attribute24              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
477   ,p_ass_attribute25              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
478   ,p_ass_attribute26              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
479   ,p_ass_attribute27              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
480   ,p_ass_attribute28              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
481   ,p_ass_attribute29              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
482   ,p_ass_attribute30              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
483   ,p_title                        IN     VARCHAR2 DEFAULT hr_api.g_varchar2
484   ,p_employer		          IN     VARCHAR2 DEFAULT hr_api.g_varchar2
485   ,p_sec_emp                      IN     VARCHAR2 DEFAULT hr_api.g_varchar2
486   ,p_contract_number              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
487   ,p_issue_date     		  IN     DATE     DEFAULT hr_api.g_date
488   ,p_cont_end_date                IN     DATE     DEFAULT hr_api.g_date
489   ,p_limit_reason                 IN     VARCHAR2 DEFAULT hr_api.g_varchar2
490   ,p_end_reason                   IN     VARCHAR2 DEFAULT hr_api.g_varchar2
491   ,p_territory_cond               IN     VARCHAR2 DEFAULT hr_api.g_varchar2
492   ,p_spl_work_cond                IN     VARCHAR2 DEFAULT hr_api.g_varchar2
493   ,p_csr                          IN     VARCHAR2 DEFAULT hr_api.g_varchar2
494   ,p_csr_add_info                 IN     VARCHAR2 DEFAULT hr_api.g_varchar2
495   ,p_lsr	                  IN     VARCHAR2 DEFAULT hr_api.g_varchar2
496   ,p_lsr_add_info                 IN     VARCHAR2 DEFAULT hr_api.g_varchar2
497   ,p_unint_service_rec            IN     VARCHAR2 DEFAULT hr_api.g_varchar2
498   ,p_total_service_rec            IN     VARCHAR2 DEFAULT hr_api.g_varchar2
499   ,p_pension_years		  IN     VARCHAR2 DEFAULT hr_api.g_varchar2
500   ,p_pension_months		  IN     VARCHAR2 DEFAULT hr_api.g_varchar2
501   ,p_pension_days		  IN     VARCHAR2 DEFAULT hr_api.g_varchar2
502   ,p_concat_segments              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
503   ,p_contract_id		  IN     NUMBER   DEFAULT hr_api.g_number
504   ,p_establishment_id             IN     NUMBER   DEFAULT hr_api.g_number
505   ,p_collective_agreement_id      IN     NUMBER   DEFAULT hr_api.g_number
506   ,p_cagr_id_flex_num             IN     NUMBER   DEFAULT hr_api.g_number
507   ,p_cag_segment1                 IN     VARCHAR2 DEFAULT hr_api.g_varchar2
508   ,p_cag_segment2                 IN     VARCHAR2 DEFAULT hr_api.g_varchar2
509   ,p_cag_segment3                 IN     VARCHAR2 DEFAULT hr_api.g_varchar2
510   ,p_cag_segment4                 IN     VARCHAR2 DEFAULT hr_api.g_varchar2
511   ,p_cag_segment5                 IN     VARCHAR2 DEFAULT hr_api.g_varchar2
512   ,p_cag_segment6                 IN     VARCHAR2 DEFAULT hr_api.g_varchar2
513   ,p_cag_segment7                 IN     VARCHAR2 DEFAULT hr_api.g_varchar2
514   ,p_cag_segment8                 IN     VARCHAR2 DEFAULT hr_api.g_varchar2
515   ,p_cag_segment9                 IN     VARCHAR2 DEFAULT hr_api.g_varchar2
516   ,p_cag_segment10                IN     VARCHAR2 DEFAULT hr_api.g_varchar2
517   ,p_cag_segment11                IN     VARCHAR2 DEFAULT hr_api.g_varchar2
518   ,p_cag_segment12                IN     VARCHAR2 DEFAULT hr_api.g_varchar2
519   ,p_cag_segment13                IN     VARCHAR2 DEFAULT hr_api.g_varchar2
520   ,p_cag_segment14                IN     VARCHAR2 DEFAULT hr_api.g_varchar2
521   ,p_cag_segment15                IN     VARCHAR2 DEFAULT hr_api.g_varchar2
522   ,p_cag_segment16                IN     VARCHAR2 DEFAULT hr_api.g_varchar2
523   ,p_cag_segment17                IN     VARCHAR2 DEFAULT hr_api.g_varchar2
524   ,p_cag_segment18                IN     VARCHAR2 DEFAULT hr_api.g_varchar2
525   ,p_cag_segment19                IN     VARCHAR2 DEFAULT hr_api.g_varchar2
526   ,p_cag_segment20                IN     VARCHAR2 DEFAULT hr_api.g_varchar2
527   ,p_notice_period		  IN	 NUMBER   DEFAULT hr_api.g_varchar2
528   ,p_notice_period_uom		  IN     VARCHAR2 DEFAULT hr_api.g_varchar2
529   ,p_employee_category		  IN     VARCHAR2 DEFAULT hr_api.g_varchar2
530   ,p_work_at_home		  IN	 VARCHAR2 DEFAULT hr_api.g_varchar2
531   ,p_job_post_source_name         IN     VARCHAR2 DEFAULT hr_api.g_varchar2
532   ,p_supervisor_assignment_id	  IN	 NUMBER   DEFAULT hr_api.g_number
533   ,p_cagr_grade_def_id            IN OUT NOCOPY NUMBER
534   ,p_cagr_concatenated_segments      OUT NOCOPY VARCHAR2
535   ,p_soft_coding_keyflex_id       IN OUT NOCOPY NUMBER
536   ,p_effective_start_date            OUT NOCOPY DATE
537   ,p_effective_end_date              OUT NOCOPY DATE
538   ,p_comment_id                      OUT NOCOPY NUMBER
539   ,p_concatenated_segments           OUT NOCOPY VARCHAR2
540   ,p_no_managers_warning             OUT NOCOPY BOOLEAN
541   ,p_other_manager_warning           OUT NOCOPY BOOLEAN
542   ,p_hourly_salaried_warning         OUT NOCOPY BOOLEAN
543   ,p_gsp_post_process_warning        OUT NOCOPY VARCHAR2
544   ) is
545 
546  --
547     -- Declare cursors AND local variables
548     --
549     l_proc                       VARCHAR2(72) := g_package||'update_ru_emp_asg';
550     l_effective_date             DATE;
551     l_legislation_code           per_business_groups.legislation_code%TYPE;
552     l_business_group_id          per_business_groups.business_group_id%type;
553     l_issue_date         hr_soft_coding_keyflex.segment4%TYPE;
554     l_cont_end_date      hr_soft_coding_keyflex.segment5%TYPE;
555 
556    --
557     CURSOR check_legislation
558       (c_assignment_id  per_assignments_f.assignment_id%TYPE,
559        c_effective_date DATE
560       )
561     IS
562       SELECT    bgp.legislation_code
563       FROM      per_assignments_f asg,
564                 per_business_groups bgp
565       WHERE     asg.business_group_id = bgp.business_group_id
566       AND       asg.assignment_id     = c_assignment_id
567       AND       c_effective_date BETWEEN effective_start_date AND effective_end_date;
568     --
569 
570 
571   BEGIN
572     hr_utility.set_location('Entering:'|| l_proc, 10);
573 
574     --
575     -- Truncate DATE variables
576     --
577     l_effective_date := trunc(p_effective_date);
578     --
579     -- Validate IN addition to Table Handlers
580     --
581     -- Check that the assignment exists.
582     --
583     OPEN    check_legislation(p_assignment_id, l_effective_date);
584     FETCH   check_legislation into l_legislation_code;
585     IF check_legislation%notfound THEN
586       CLOSE check_legislation;
587       hr_utility.set_message(801,'HR_7220_INVALID_PRIMARY_KEY');
588       hr_utility.raise_error;
589     END IF;
590     CLOSE check_legislation;
591     hr_utility.set_location(l_proc, 20);
592     --
593     -- Check that the legislation of the specified business group IS 'RU'.
594     --
595     IF l_legislation_code <> 'RU' THEN
596       hr_utility.set_message(801, 'HR_7961_PER_BUS_GRP_INVALID');
597       hr_utility.set_message_token('LEG_CODE','RU');
598       hr_utility.raise_error;
599     END IF;
600     hr_utility.set_location(l_proc, 30);
601     --
602     --
603     -- Call update_emp_asg business process
604     --
605     if p_issue_date = hr_api.g_date THEN
606        l_issue_date := hr_api.g_varchar2;
607     else
608        l_issue_date := fnd_date.date_to_canonical(p_issue_date);
609     end if;
610 
611     if p_cont_end_date = hr_api.g_date THEN
612        l_cont_end_date := hr_api.g_varchar2;
613     else
614        l_cont_end_date := fnd_date.date_to_canonical(p_cont_end_date);
615     end if;
616 
617        hr_assignment_api.update_emp_asg
618       (p_validate                     => p_validate
619       ,p_effective_date               => p_effective_date
620       ,p_datetrack_update_mode        => p_datetrack_update_mode
621       ,p_assignment_id                => p_assignment_id
622       ,p_object_version_number        => p_object_version_number
623       ,p_supervisor_id                => p_supervisor_id
624       ,p_assignment_number            => p_assignment_number
625       ,p_change_reason                => p_change_reason
626       ,p_assignment_status_type_id    => p_assignment_status_type_id
627       ,p_comments                     => p_comments
628       ,p_date_probation_end           => p_date_probation_end
629       ,p_default_code_comb_id         => p_default_code_comb_id
630       ,p_frequency                    => p_frequency
631       ,p_internal_address_line        => p_internal_address_line
632       ,p_manager_flag                 => p_manager_flag
633       ,p_normal_hours                 => p_normal_hours
634       ,p_perf_review_period           => p_perf_review_period
635       ,p_perf_review_period_frequency => p_perf_review_period_frequency
636       ,p_probation_period             => p_probation_period
637       ,p_probation_unit               => p_probation_unit
638       ,p_sal_review_period            => p_sal_review_period
639       ,p_sal_review_period_frequency  => p_sal_review_period_frequency
640       ,p_set_of_books_id              => p_set_of_books_id
641       ,p_source_type                  => p_source_type
642       ,p_time_normal_finish           => p_time_normal_finish
643       ,p_time_normal_start            => p_time_normal_start
644       ,p_bargaining_unit_code         => p_bargaining_unit_code
645       ,p_labour_union_member_flag     => p_labour_union_member_flag
646       ,p_hourly_salaried_code         => p_hourly_salaried_code
647       ,p_ass_attribute_category       => p_ass_attribute_category
648       ,p_ass_attribute1               => p_ass_attribute1
649       ,p_ass_attribute2               => p_ass_attribute2
650       ,p_ass_attribute3               => p_ass_attribute3
651       ,p_ass_attribute4               => p_ass_attribute4
652       ,p_ass_attribute5               => p_ass_attribute5
653       ,p_ass_attribute6               => p_ass_attribute6
654       ,p_ass_attribute7               => p_ass_attribute7
655       ,p_ass_attribute8               => p_ass_attribute8
656       ,p_ass_attribute9               => p_ass_attribute9
657       ,p_ass_attribute10              => p_ass_attribute10
658       ,p_ass_attribute11              => p_ass_attribute11
659       ,p_ass_attribute12              => p_ass_attribute12
660       ,p_ass_attribute13              => p_ass_attribute13
661       ,p_ass_attribute14              => p_ass_attribute14
662       ,p_ass_attribute15              => p_ass_attribute15
663       ,p_ass_attribute16              => p_ass_attribute16
664       ,p_ass_attribute17              => p_ass_attribute17
665       ,p_ass_attribute18              => p_ass_attribute18
666       ,p_ass_attribute19              => p_ass_attribute19
667       ,p_ass_attribute20              => p_ass_attribute20
668       ,p_ass_attribute21              => p_ass_attribute21
669       ,p_ass_attribute22              => p_ass_attribute22
670       ,p_ass_attribute23              => p_ass_attribute23
671       ,p_ass_attribute24              => p_ass_attribute24
672       ,p_ass_attribute25              => p_ass_attribute25
673       ,p_ass_attribute26              => p_ass_attribute26
674       ,p_ass_attribute27              => p_ass_attribute27
675       ,p_ass_attribute28              => p_ass_attribute28
676       ,p_ass_attribute29              => p_ass_attribute29
677       ,p_ass_attribute30              => p_ass_attribute30
678       ,p_title                        => p_title
679       ,p_segment1                 => p_employer
680       ,p_segment2                 => p_sec_emp
681       ,p_segment3                 => p_contract_number
682       ,p_segment4                 => l_issue_date
683       ,p_segment5                 => l_cont_end_date
684       ,p_segment6                 => p_limit_reason
685       ,p_segment7                 => p_end_reason
686       ,p_segment9                 => p_territory_cond
687       ,p_segment8                 => p_spl_work_cond
688       ,p_segment10                => p_csr
689       ,p_segment11                => p_csr_add_info
690       ,p_segment12                => p_lsr
691       ,p_segment13                => p_lsr_add_info
692       ,p_segment14                => p_unint_service_rec
693       ,p_segment15                => p_total_service_rec
694       ,p_segment16                => p_pension_years
695       ,p_segment17                => p_pension_months
696       ,p_segment18                => p_pension_days
697       ,p_concat_segments                   =>         p_concat_segments
698       ,p_contract_id                       =>         p_contract_id
699       ,p_establishment_id                  =>         p_establishment_id
700       ,p_collective_agreement_id           =>         p_collective_agreement_id
701       ,p_cagr_id_flex_num                  =>         p_cagr_id_flex_num
702       ,p_cag_segment1                      =>         p_cag_segment1
703       ,p_cag_segment2                      =>         p_cag_segment2
704       ,p_cag_segment3                      =>         p_cag_segment3
705       ,p_cag_segment4                      =>         p_cag_segment4
706       ,p_cag_segment5                      =>         p_cag_segment5
707       ,p_cag_segment6                      =>         p_cag_segment6
708       ,p_cag_segment7                      =>         p_cag_segment7
709       ,p_cag_segment8                      =>         p_cag_segment8
710       ,p_cag_segment9                      =>         p_cag_segment9
711       ,p_cag_segment10                     =>         p_cag_segment10
712       ,p_cag_segment11                     =>         p_cag_segment11
713       ,p_cag_segment12                     =>         p_cag_segment12
714       ,p_cag_segment13                     =>         p_cag_segment13
715       ,p_cag_segment14                     =>         p_cag_segment14
716       ,p_cag_segment15                     =>         p_cag_segment15
717       ,p_cag_segment16                     =>         p_cag_segment16
718       ,p_cag_segment17                     =>         p_cag_segment17
719       ,p_cag_segment18                     =>         p_cag_segment18
720       ,p_cag_segment19                     =>         p_cag_segment19
721       ,p_cag_segment20                     =>         p_cag_segment20
722       ,p_notice_period		      =>         p_notice_period
723       ,p_notice_period_uom	      	      =>         p_notice_period_uom
724       ,p_employee_category	              =>         p_employee_category
725       ,p_work_at_home		      => 	 p_work_at_home
726       ,p_job_post_source_name	      => 	 p_job_post_source_name
727       ,p_supervisor_assignment_id          =>         p_supervisor_assignment_id
728       ,p_cagr_grade_def_id                 =>         p_cagr_grade_def_id
729       ,p_cagr_concatenated_segments        =>	 p_cagr_concatenated_segments
730       ,p_concatenated_segments             =>         p_concatenated_segments
731       ,p_soft_coding_keyflex_id   => p_soft_coding_keyflex_id
732       ,p_comment_id               => p_comment_id
733       ,p_effective_start_date     => p_effective_start_date
734       ,p_effective_end_date       => p_effective_end_date
735       ,p_no_managers_warning      => p_no_managers_warning
736       ,p_other_manager_warning    => p_other_manager_warning
737       ,p_hourly_salaried_warning           =>         p_hourly_salaried_warning
738       ,p_gsp_post_process_warning => p_gsp_post_process_warning
739 
740       );
741 
742 
743     hr_utility.set_location(' Leaving:'||l_proc, 40);
744   END update_ru_emp_asg;
745 
746 
747 END hr_ru_assignment_api;