DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_SG_ASSIGNMENT_API

Source


1 package body hr_sg_assignment_api as
2 /* $Header: hrsgwras.pkb 115.3 2002/12/03 06:05:17 apunekar ship $ */
3 
4 g_package  varchar2(33) := 'hr_sg_assignment_api.';
5 
6 PROCEDURE create_sg_secondary_emp_asg
7  (p_validate                         in        boolean    default false
8  ,p_effective_date                   in	       date
9  ,p_person_id                        in	       number
10  ,p_organization_id                  in	       number
11  ,p_grade_id                         in        number     default null
12  ,p_position_id                      in        number     default null
13  ,p_job_id                           in        number     default null
14  ,p_assignment_status_type_id        in        number     default null
15  ,p_payroll_id                       in        number     default null
16  ,p_location_id                      in        number     default null
17  ,p_supervisor_id                    in        number     default null
18  ,p_special_ceiling_step_id          in        number     default null
19  ,p_pay_basis_id                     in        number     default null
20  ,p_assignment_number                in out    nocopy varchar2
21  ,p_change_reason                    in        varchar2   default null
22  ,p_comments                         in        varchar2   default null
23  ,p_date_probation_end               in        date       default null
24  ,p_default_code_comb_id             in        number     default null
25  ,p_employment_category              in        varchar2   default null
26  ,p_frequency                        in        varchar2   default null
27  ,p_internal_address_line            in        varchar2   default null
28  ,p_manager_flag                     in        varchar2   default null
29  ,p_normal_hours                     in        number     default null
30  ,p_perf_review_period               in        number     default null
31  ,p_perf_review_period_frequency     in        varchar2   default null
32  ,p_probation_period                 in        number     default null
33  ,p_probation_unit                   in        varchar2   default null
34  ,p_sal_review_period                in        number     default null
35  ,p_sal_review_period_frequency      in        varchar2   default null
36  ,p_set_of_books_id                  in        number     default null
37  ,p_source_type                      in        varchar2   default null
38  ,p_time_normal_finish               in        varchar2   default null
39  ,p_time_normal_start                in        varchar2   default null
40  ,p_bargaining_unit_code             in        varchar2   default null
41  ,p_labour_union_member_flag         in        varchar2   default null
42  ,p_hourly_salaried_code             in        varchar2   default null
43  ,p_ass_attribute_category           in        varchar2   default null
44  ,p_ass_attribute1                   in        varchar2   default null
45  ,p_ass_attribute2                   in        varchar2   default null
46  ,p_ass_attribute3                   in        varchar2   default null
47  ,p_ass_attribute4                   in        varchar2   default null
48  ,p_ass_attribute5                   in        varchar2   default null
49  ,p_ass_attribute6                   in        varchar2   default null
50  ,p_ass_attribute7                   in        varchar2   default null
51  ,p_ass_attribute8                   in        varchar2   default null
52  ,p_ass_attribute9                   in        varchar2   default null
53  ,p_ass_attribute10                  in        varchar2   default null
54  ,p_ass_attribute11                  in        varchar2   default null
55  ,p_ass_attribute12                  in        varchar2   default null
56  ,p_ass_attribute13                  in        varchar2   default null
57  ,p_ass_attribute14                  in        varchar2   default null
58  ,p_ass_attribute15                  in        varchar2   default null
59  ,p_ass_attribute16                  in        varchar2   default null
60  ,p_ass_attribute17                  in        varchar2   default null
61  ,p_ass_attribute18                  in        varchar2   default null
62  ,p_ass_attribute19                  in        varchar2   default null
63  ,p_ass_attribute20                  in        varchar2   default null
64  ,p_ass_attribute21                  in        varchar2   default null
65  ,p_ass_attribute22                  in        varchar2   default null
66  ,p_ass_attribute23                  in        varchar2   default null
67  ,p_ass_attribute24                  in        varchar2   default null
68  ,p_ass_attribute25                  in        varchar2   default null
69  ,p_ass_attribute26                  in        varchar2   default null
70  ,p_ass_attribute27                  in        varchar2   default null
71  ,p_ass_attribute28                  in        varchar2   default null
72  ,p_ass_attribute29                  in        varchar2   default null
73  ,p_ass_attribute30                  in        varchar2   default null
74  ,p_title                            in        varchar2   default null
75  ,p_legal_employer_id                in        varchar2   default null
76  ,p_contract_id                      in        number     default null
77  ,p_establishment_id                 in        number     default null
78  ,p_collective_agreement_id          in        number     default null
79  ,p_cagr_id_flex_num                 in        number     default null
80  ,p_cag_segment1                     in        varchar2   default null
81  ,p_cag_segment2                     in        varchar2   default null
82  ,p_cag_segment3                     in        varchar2   default null
83  ,p_cag_segment4                     in        varchar2   default null
84  ,p_cag_segment5                     in        varchar2   default null
85  ,p_cag_segment6                     in        varchar2   default null
86  ,p_cag_segment7                     in        varchar2   default null
87  ,p_cag_segment8                     in        varchar2   default null
88  ,p_cag_segment9                     in        varchar2   default null
89  ,p_cag_segment10                    in        varchar2   default null
90  ,p_cag_segment11                    in        varchar2   default null
91  ,p_cag_segment12                    in        varchar2   default null
92  ,p_cag_segment13                    in        varchar2   default null
93  ,p_cag_segment14                    in        varchar2   default null
94  ,p_cag_segment15                    in        varchar2   default null
95  ,p_cag_segment16                    in        varchar2   default null
96  ,p_cag_segment17                    in        varchar2   default null
97  ,p_cag_segment18                    in        varchar2   default null
98  ,p_cag_segment19                    in        varchar2   default null
99  ,p_cag_segment20                    in        varchar2   default null
100  ,p_group_name                       out       nocopy varchar2
101  ,p_concatenated_segments            out       nocopy varchar2
102  ,p_cagr_grade_def_id                out       nocopy number
103  ,p_cagr_concatenated_segments       out       nocopy varchar2
104  ,p_assignment_id                    out       nocopy number
105  ,p_soft_coding_keyflex_id           out       nocopy number
106  ,p_people_group_id                  out       nocopy number
107  ,p_object_version_number            out       nocopy number
108  ,p_effective_start_date             out       nocopy date
109  ,p_effective_end_date               out       nocopy date
110  ,p_assignment_sequence              out       nocopy number
111  ,p_comment_id                       out       nocopy number
112  ,p_other_manager_warning            out       nocopy boolean)
113  IS
114 --
115   -- Declare cursors AND local variables
116   --
117   -- Declare variables
118   --
119   l_assignment_number  per_assignments_f.assignment_number%TYPE;
120   l_effective_date     DATE;
121   --
122   l_business_group_id  per_business_groups.business_group_id%TYPE;
123   l_legislation_code   per_business_groups.legislation_code%TYPE;
124   l_proc               VARCHAR2(72) := g_package||'create_sg_secondary_emp_asg';
125   --
126   -- Declare cursors
127   --
128   CURSOR csr_legislation IS
129     SELECT  NULL
130     FROM    per_assignments_f paf,
131             per_business_groups pbg
132     WHERE   paf.person_id = p_person_id
133     AND     l_effective_date BETWEEN paf.effective_start_date AND paf.effective_end_date
134     AND     pbg.business_group_id = paf.business_group_id
135     AND     pbg.legislation_code = 'SG';
136   --
137   --
138  Begin
139   hr_utility.set_location('Entering:'|| l_proc, 10);
140   --
141   -- Initialise local variable
142   --
143   l_effective_date := trunc(p_effective_date);
144   --
145   -- Validation IN addition to Table Handlers
146   --
147   -- Ensure that the employee IS within a sg business group
148   --
149   OPEN  csr_legislation;
150   FETCH csr_legislation
151   INTO l_legislation_code;
152   IF csr_legislation%notfound THEN
153     CLOSE csr_legislation;
154     hr_utility.set_message(801, 'HR_7961_PER_BUS_GRP_INVALID');
155     hr_utility.set_message_token('LEG_CODE', 'SG');
156     hr_utility.raise_error;
157   END IF;
158   CLOSE csr_legislation;
159   --
160   --
161   -- Call create_secondary_emp_asg
162   --
163 
164       hr_assignment_api.create_secondary_emp_asg
165       (p_validate			 =>	p_validate
166       ,p_effective_date		         =>	p_effective_date
167       ,p_person_id			 =>	p_person_id
168       ,p_organization_id		 =>	p_organization_id
169       ,p_grade_id			 =>	p_grade_id
170       ,p_position_id			 =>	p_position_id
171       ,p_job_id			         =>	p_job_id
172       ,p_assignment_status_type_id	 =>	p_assignment_status_type_id
173       ,p_payroll_id			 =>	p_payroll_id
174       ,p_location_id			 =>	p_location_id
175       ,p_supervisor_id		         =>	p_supervisor_id
176       ,p_special_ceiling_step_id         =>	p_special_ceiling_step_id
177       ,p_pay_basis_id		         =>	p_pay_basis_id
178       ,p_assignment_number		 =>	p_assignment_number
179       ,p_change_reason		         =>	p_change_reason
180       ,p_comments			 =>	p_comments
181       ,p_date_probation_end		 =>	p_date_probation_end
182       ,p_default_code_comb_id	         =>	p_default_code_comb_id
183       ,p_employment_category		 =>	p_employment_category
184       ,p_frequency			 =>	p_frequency
185       ,p_internal_address_line		 =>	p_internal_address_line
186       ,p_manager_flag		         =>	p_manager_flag
187       ,p_normal_hours		         =>	p_normal_hours
188       ,p_perf_review_period		 =>	p_perf_review_period
189       ,p_perf_review_period_frequency    =>	p_perf_review_period_frequency
190       ,p_probation_period		 =>	p_probation_period
191       ,p_probation_unit		         =>	p_probation_unit
192       ,p_sal_review_period		 =>	p_sal_review_period
193       ,p_sal_review_period_frequency	 =>	p_sal_review_period_frequency
194       ,p_set_of_books_id		 =>	p_set_of_books_id
195       ,p_source_type			 =>	p_source_type
196       ,p_time_normal_finish		 =>	p_time_normal_finish
197       ,p_time_normal_start		 =>	p_time_normal_start
198       ,p_bargaining_unit_code		 =>	p_bargaining_unit_code
199       ,p_labour_union_member_flag	 =>	p_labour_union_member_flag
200       ,p_hourly_salaried_code	         =>	p_hourly_salaried_code
201       ,p_ass_attribute_category	         =>	p_ass_attribute_category
202       ,p_ass_attribute1		         =>	p_ass_attribute1
203       ,p_ass_attribute2		         =>	p_ass_attribute2
204       ,p_ass_attribute3		         =>	p_ass_attribute3
205       ,p_ass_attribute4		         =>	p_ass_attribute4
206       ,p_ass_attribute5		         =>	p_ass_attribute5
207       ,p_ass_attribute6		         =>	p_ass_attribute6
208       ,p_ass_attribute7		         =>	p_ass_attribute7
209       ,p_ass_attribute8		         =>	p_ass_attribute8
210       ,p_ass_attribute9		         =>	p_ass_attribute9
211       ,p_ass_attribute10		 =>	p_ass_attribute10
212       ,p_ass_attribute11		 =>	p_ass_attribute11
213       ,p_ass_attribute12		 =>	p_ass_attribute12
214       ,p_ass_attribute13		 =>	p_ass_attribute13
215       ,p_ass_attribute14		 =>	p_ass_attribute14
216       ,p_ass_attribute15		 =>	p_ass_attribute15
217       ,p_ass_attribute16		 =>	p_ass_attribute16
218       ,p_ass_attribute17		 =>	p_ass_attribute17
219       ,p_ass_attribute18		 =>	p_ass_attribute18
220       ,p_ass_attribute19		 =>	p_ass_attribute19
221       ,p_ass_attribute20		 =>	p_ass_attribute20
222       ,p_ass_attribute21		 =>	p_ass_attribute21
223       ,p_ass_attribute22		 =>	p_ass_attribute22
224       ,p_ass_attribute23		 =>	p_ass_attribute23
225       ,p_ass_attribute24		 =>	p_ass_attribute24
226       ,p_ass_attribute25		 =>	p_ass_attribute25
227       ,p_ass_attribute26		 =>	p_ass_attribute26
228       ,p_ass_attribute27		 =>	p_ass_attribute27
229       ,p_ass_attribute28		 =>	p_ass_attribute28
230       ,p_ass_attribute29		 =>	p_ass_attribute29
231       ,p_ass_attribute30		 =>	p_ass_attribute30
232       ,p_title			         =>	p_title
233       ,p_scl_segment1		         =>	p_legal_employer_id
234       ,p_group_name			 =>	p_group_name
235       ,p_concatenated_segments	         =>	p_concatenated_segments
236       ,p_assignment_id		         =>	p_assignment_id
237       ,p_soft_coding_keyflex_id	         =>	p_soft_coding_keyflex_id
238       ,p_people_group_id		 =>	p_people_group_id
239       ,p_object_version_number	         =>	p_object_version_number
240       ,p_effective_start_date	         =>	p_effective_start_date
241       ,p_effective_end_date		 =>	p_effective_end_date
242       ,p_assignment_sequence		 =>	p_assignment_sequence
243       ,p_comment_id			 =>	p_comment_id
244       ,p_other_manager_warning		 =>	p_other_manager_warning);
245 
246       hr_utility.set_location(' Leaving:'||l_proc, 30);
247 
248  End create_sg_secondary_emp_asg;
249 
250   -- ----------------------------------------------------------------------------
251   -- |--------------------------< update_au_emp_asg >---------------------------|
252   -- ----------------------------------------------------------------------------
253   --
254 
255  PROCEDURE update_sg_emp_asg
256  (p_validate                            in 	boolean  default false
257  ,p_effective_date               	in 	date
258  ,p_datetrack_update_mode        	in 	varchar2
259  ,p_assignment_id                	in 	number
260  ,p_object_version_number        	in out 	nocopy number
261  ,p_supervisor_id                	in  	number   default null
262  ,p_assignment_number            	in  	varchar2 default null
263  ,p_change_reason                	in  	varchar2 default null
264  ,p_comments                     	in  	varchar2 default null
265  ,p_date_probation_end           	in  	date     default null
266  ,p_default_code_comb_id         	in  	number   default null
267  ,p_frequency                    	in  	varchar2 default null
268  ,p_internal_address_line        	in  	varchar2 default null
269  ,p_manager_flag                 	in  	varchar2 default null
270  ,p_normal_hours                 	in  	number   default null
271  ,p_perf_review_period           	in  	number   default null
272  ,p_perf_review_period_frequency 	in  	varchar2 default null
273  ,p_probation_period             	in  	number   default null
274  ,p_probation_unit               	in  	varchar2 default null
275  ,p_sal_review_period            	in  	number   default null
276  ,p_sal_review_period_frequency  	in  	varchar2 default null
277  ,p_set_of_books_id              	in  	number   default null
278  ,p_source_type                  	in  	varchar2 default null
279  ,p_time_normal_finish           	in  	varchar2 default null
280  ,p_time_normal_start            	in  	varchar2 default null
281  ,p_bargaining_unit_code         	in  	varchar2 default null
282  ,p_labour_union_member_flag     	in  	varchar2 default null
283  ,p_hourly_salaried_code         	in  	varchar2 default null
284  ,p_ass_attribute_category       	in  	varchar2 default null
285  ,p_ass_attribute1               	in  	varchar2 default null
286  ,p_ass_attribute2               	in  	varchar2 default null
287  ,p_ass_attribute3               	in  	varchar2 default null
288  ,p_ass_attribute4               	in  	varchar2 default null
289  ,p_ass_attribute5               	in  	varchar2 default null
290  ,p_ass_attribute6               	in  	varchar2 default null
291  ,p_ass_attribute7               	in  	varchar2 default null
292  ,p_ass_attribute8               	in  	varchar2 default null
293  ,p_ass_attribute9               	in  	varchar2 default null
294  ,p_ass_attribute10              	in  	varchar2 default null
295  ,p_ass_attribute11              	in  	varchar2 default null
296  ,p_ass_attribute12              	in  	varchar2 default null
297  ,p_ass_attribute13              	in  	varchar2 default null
298  ,p_ass_attribute14              	in  	varchar2 default null
299  ,p_ass_attribute15              	in  	varchar2 default null
300  ,p_ass_attribute16              	in  	varchar2 default null
301  ,p_ass_attribute17              	in  	varchar2 default null
302  ,p_ass_attribute18              	in  	varchar2 default null
303  ,p_ass_attribute19              	in  	varchar2 default null
304  ,p_ass_attribute20              	in  	varchar2 default null
305  ,p_ass_attribute21              	in  	varchar2 default null
306  ,p_ass_attribute22              	in  	varchar2 default null
307  ,p_ass_attribute23              	in  	varchar2 default null
308  ,p_ass_attribute24              	in  	varchar2 default null
309  ,p_ass_attribute25              	in  	varchar2 default null
310  ,p_ass_attribute26              	in  	varchar2 default null
311  ,p_ass_attribute27              	in  	varchar2 default null
312  ,p_ass_attribute28              	in  	varchar2 default null
313  ,p_ass_attribute29              	in  	varchar2 default null
314  ,p_ass_attribute30              	in  	varchar2 default null
315  ,p_title                        	in  	varchar2 default null
316  ,p_legal_employer_id                   in 	varchar2 default null
317  ,p_cagr_grade_def_id            	out 	nocopy varchar2
318  ,p_cagr_concatenated_segments   	out 	nocopy varchar2
319  ,p_concatenated_segments        	out 	nocopy varchar2
320  ,p_soft_coding_keyflex_id       	out 	nocopy number
321  ,p_comment_id                   	out 	nocopy number
322  ,p_effective_start_date         	out 	nocopy date
323  ,p_effective_end_date           	out 	nocopy date
324  ,p_no_managers_warning          	out 	nocopy boolean
325  ,p_other_manager_warning		out	nocopy boolean)
326  IS
327    --
328    -- Declare cursors AND local variables
329    --
330    l_proc                       VARCHAR2(72) := g_package||'update_sg_emp_asg';
331    l_effective_date             DATE;
332    l_legislation_code           per_business_groups.legislation_code%TYPE;
333    --
334 
335  CURSOR check_legislation
336        (c_assignment_id  per_assignments_f.assignment_id%TYPE,
337         c_effective_date DATE
338        )
339        IS
340 
341        SELECT    bgp.legislation_code
342        FROM      per_assignments_f asg,
343                  per_business_groups bgp
344        WHERE     asg.business_group_id = bgp.business_group_id
345        AND       asg.assignment_id     = c_assignment_id
346        AND       c_effective_date BETWEEN effective_start_date AND effective_end_date;
347 
348  Begin
349  hr_utility.set_location('Entering:'|| l_proc, 10);
350     --
351     -- Truncate DATE variables
352     --
353     l_effective_date := trunc(p_effective_date);
354     --
355     -- Validate IN addition to Table Handlers
356     --
357     -- Check that the assignment exists.
358     --
359     OPEN    check_legislation(p_assignment_id, l_effective_date);
360     FETCH   check_legislation into l_legislation_code;
361     IF check_legislation%notfound THEN
362       CLOSE check_legislation;
363       hr_utility.set_message(801,'HR_7220_INVALID_PRIMARY_KEY');
364       hr_utility.raise_error;
365     END IF;
366     CLOSE check_legislation;
367     hr_utility.set_location(l_proc, 20);
368     --
369     -- Check that the legislation of the specified business group IS 'SG'.
370     --
371     IF l_legislation_code <> 'SG' THEN
372       hr_utility.set_message(801, 'HR_7961_PER_BUS_GRP_INVALID');
373       hr_utility.set_message_token('LEG_CODE','SG');
374       hr_utility.raise_error;
375     END IF;
376     hr_utility.set_location(l_proc, 30);
377     --
378     -- Call update_emp_asg business process
379     --    --
380        hr_assignment_api.update_emp_asg
381        (p_validate                     =>	p_validate
382        ,p_effective_date               =>       p_effective_date
383        ,p_datetrack_update_mode        =>       p_datetrack_update_mode
384        ,p_assignment_id                =>       p_assignment_id
385        ,p_object_version_number        =>       p_object_version_number
386        ,p_supervisor_id                =>	p_supervisor_id
387        ,p_assignment_number            =>	p_assignment_number
388        ,p_change_reason                =>	p_change_reason
389        ,p_comments                     =>	p_comments
390        ,p_date_probation_end           =>	p_date_probation_end
391        ,p_default_code_comb_id         =>	p_default_code_comb_id
392        ,p_frequency                    =>	p_frequency
393        ,p_internal_address_line        =>	p_internal_address_line
394        ,p_manager_flag                 =>	p_manager_flag
395        ,p_normal_hours                 =>	p_normal_hours
396        ,p_perf_review_period           =>	p_perf_review_period
397        ,p_perf_review_period_frequency =>	p_perf_review_period_frequency
398        ,p_probation_period             =>	p_probation_period
399        ,p_probation_unit               =>	p_probation_unit
400        ,p_sal_review_period            =>	p_sal_review_period
401        ,p_sal_review_period_frequency  =>	p_sal_review_period_frequency
402        ,p_set_of_books_id              =>	p_set_of_books_id
403        ,p_source_type                  =>	p_source_type
404        ,p_time_normal_finish           =>	p_time_normal_finish
405        ,p_time_normal_start            =>	p_time_normal_start
406        ,p_bargaining_unit_code         =>	p_bargaining_unit_code
407        ,p_labour_union_member_flag     =>	p_labour_union_member_flag
408        ,p_hourly_salaried_code         =>	p_hourly_salaried_code
409        ,p_ass_attribute_category       =>	p_ass_attribute_category
410        ,p_ass_attribute1               =>	p_ass_attribute1
411        ,p_ass_attribute2               =>	p_ass_attribute2
412        ,p_ass_attribute3               =>	p_ass_attribute3
413        ,p_ass_attribute4               =>	p_ass_attribute4
414        ,p_ass_attribute5               =>	p_ass_attribute5
415        ,p_ass_attribute6               =>	p_ass_attribute6
416        ,p_ass_attribute7               =>	p_ass_attribute7
417        ,p_ass_attribute8               =>	p_ass_attribute8
418        ,p_ass_attribute9               =>	p_ass_attribute9
419        ,p_ass_attribute10              =>	p_ass_attribute10
420        ,p_ass_attribute11              =>	p_ass_attribute11
421        ,p_ass_attribute12              =>	p_ass_attribute12
422        ,p_ass_attribute13              =>	p_ass_attribute13
423        ,p_ass_attribute14              =>	p_ass_attribute14
424        ,p_ass_attribute15              =>	p_ass_attribute15
425        ,p_ass_attribute16              =>	p_ass_attribute16
426        ,p_ass_attribute17              =>	p_ass_attribute17
427        ,p_ass_attribute18              =>	p_ass_attribute18
428        ,p_ass_attribute19              =>	p_ass_attribute19
429        ,p_ass_attribute20              =>	p_ass_attribute20
430        ,p_ass_attribute21              =>	p_ass_attribute21
431        ,p_ass_attribute22              =>	p_ass_attribute22
432        ,p_ass_attribute23              =>	p_ass_attribute23
433        ,p_ass_attribute24              =>	p_ass_attribute24
434        ,p_ass_attribute25              =>	p_ass_attribute25
435        ,p_ass_attribute26              =>	p_ass_attribute26
436        ,p_ass_attribute27              =>	p_ass_attribute27
437        ,p_ass_attribute28              =>	p_ass_attribute28
438        ,p_ass_attribute29              =>	p_ass_attribute29
439        ,p_ass_attribute30              =>	p_ass_attribute30
440        ,p_title                        =>	p_title
441        ,p_segment1                     =>	p_legal_employer_id
442        ,p_cagr_grade_def_id            => 	p_cagr_grade_def_id
443        ,p_cagr_concatenated_segments   =>	p_cagr_concatenated_segments
444        ,p_concatenated_segments        =>	p_concatenated_segments
445        ,p_soft_coding_keyflex_id       =>	p_soft_coding_keyflex_id
446        ,p_comment_id                   =>	p_comment_id
447        ,p_effective_start_date         =>	p_effective_start_date
448        ,p_effective_end_date           =>	p_effective_end_date
449        ,p_no_managers_warning          =>	p_no_managers_warning
450        ,p_other_manager_warning        =>      p_other_manager_warning);
451 
452     hr_utility.set_location(' Leaving:'||l_proc, 40);
453 --
454 End update_sg_emp_asg;
455 
456 END hr_sg_assignment_api;