DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_CA_ASSIGNMENT_API

Source


1 Package Body hr_ca_assignment_api as
2 /* $Header: peasgcai.pkb 115.3 2002/12/10 05:02:03 raranjan noship $ */
3 --
4 -- Package Variables
5 --
6 g_package  varchar2(33) := '  hr_ca_assignment_api.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |---------------------< create_ca_secondary_emp_asg >-----------------------|
10 -- ----------------------------------------------------------------------------
11 --
12 procedure create_ca_secondary_emp_asg
13 (p_validate                     in     boolean  default false
14   ,p_effective_date               in     date
15   ,p_person_id                    in     number
16   ,p_organization_id              in     number
17   ,p_grade_id                     in     number   default null
18   ,p_position_id                  in     number   default null
19   ,p_job_id                       in     number   default null
20   ,p_assignment_status_type_id    in     number   default null
21   ,p_payroll_id                   in     number   default null
22   ,p_location_id                  in     number   default null
23   ,p_supervisor_id                in     number   default null
24   ,p_special_ceiling_step_id      in     number   default null
25   ,p_pay_basis_id                 in     number   default null
26   ,p_assignment_number            in out nocopy varchar2
27   ,p_change_reason                in     varchar2 default null
28   ,p_comments                     in     varchar2 default null
29   ,p_date_probation_end           in     date     default null
30   ,p_default_code_comb_id         in     number   default null
31   ,p_employment_category          in     varchar2 default null
32   ,p_frequency                    in     varchar2 default null
33   ,p_internal_address_line        in     varchar2 default null
34   ,p_manager_flag                 in     varchar2 default null
35   ,p_normal_hours                 in     number   default null
36   ,p_perf_review_period           in     number   default null
37   ,p_perf_review_period_frequency in     varchar2 default null
38   ,p_probation_period             in     number   default null
39   ,p_probation_unit               in     varchar2 default null
40   ,p_sal_review_period            in     number   default null
41   ,p_sal_review_period_frequency  in     varchar2 default null
42   ,p_set_of_books_id              in     number   default null
43   ,p_source_type                  in     varchar2 default null
44   ,p_time_normal_finish           in     varchar2 default null
45   ,p_time_normal_start            in     varchar2 default null
46   ,p_bargaining_unit_code         in     varchar2 default null
47   ,p_labour_union_member_flag     in     varchar2 default 'N'
48   ,p_hourly_salaried_code         in     varchar2 default null
49   ,p_ass_attribute_category       in     varchar2 default null
50   ,p_ass_attribute1               in     varchar2 default null
51   ,p_ass_attribute2               in     varchar2 default null
52   ,p_ass_attribute3               in     varchar2 default null
53   ,p_ass_attribute4               in     varchar2 default null
54   ,p_ass_attribute5               in     varchar2 default null
55   ,p_ass_attribute6               in     varchar2 default null
56   ,p_ass_attribute7               in     varchar2 default null
57   ,p_ass_attribute8               in     varchar2 default null
58   ,p_ass_attribute9               in     varchar2 default null
59   ,p_ass_attribute10              in     varchar2 default null
60   ,p_ass_attribute11              in     varchar2 default null
61   ,p_ass_attribute12              in     varchar2 default null
62   ,p_ass_attribute13              in     varchar2 default null
63   ,p_ass_attribute14              in     varchar2 default null
64   ,p_ass_attribute15              in     varchar2 default null
65   ,p_ass_attribute16              in     varchar2 default null
66   ,p_ass_attribute17              in     varchar2 default null
67   ,p_ass_attribute18              in     varchar2 default null
68   ,p_ass_attribute19              in     varchar2 default null
69   ,p_ass_attribute20              in     varchar2 default null
70   ,p_ass_attribute21              in     varchar2 default null
71   ,p_ass_attribute22              in     varchar2 default null
72   ,p_ass_attribute23              in     varchar2 default null
73   ,p_ass_attribute24              in     varchar2 default null
74   ,p_ass_attribute25              in     varchar2 default null
75   ,p_ass_attribute26              in     varchar2 default null
76   ,p_ass_attribute27              in     varchar2 default null
77   ,p_ass_attribute28              in     varchar2 default null
78   ,p_ass_attribute29              in     varchar2 default null
79   ,p_ass_attribute30              in     varchar2 default null
80   ,p_title                        in     varchar2 default null
81   ,p_tax_unit                     in     varchar2 default null
82   ,p_timecard_approver            in     varchar2 default null
83   ,p_timecard_required            in     varchar2 default null
84   ,p_work_schedule                in     varchar2 default null
85   ,p_shift                        in     varchar2 default null
86   ,p_naic_override_code           in     varchar2 default null
87   ,p_seasonal_worker              in     varchar2 default null
88   ,p_officer_code                 in     varchar2 default null
89   ,p_wci_account_number           in     varchar2 default null
90   ,p_wci_code_override            in     varchar2 default null
91   ,p_ca_concat_segments           in     varchar2 default null
92   ,p_pgp_segment1                 in     varchar2 default null
93   ,p_pgp_segment2                 in     varchar2 default null
94   ,p_pgp_segment3                 in     varchar2 default null
95   ,p_pgp_segment4                 in     varchar2 default null
96   ,p_pgp_segment5                 in     varchar2 default null
97   ,p_pgp_segment6                 in     varchar2 default null
98   ,p_pgp_segment7                 in     varchar2 default null
99   ,p_pgp_segment8                 in     varchar2 default null
100   ,p_pgp_segment9                 in     varchar2 default null
101   ,p_pgp_segment10                in     varchar2 default null
102   ,p_pgp_segment11                in     varchar2 default null
103   ,p_pgp_segment12                in     varchar2 default null
104   ,p_pgp_segment13                in     varchar2 default null
105   ,p_pgp_segment14                in     varchar2 default null
106   ,p_pgp_segment15                in     varchar2 default null
107   ,p_pgp_segment16                in     varchar2 default null
108   ,p_pgp_segment17                in     varchar2 default null
109   ,p_pgp_segment18                in     varchar2 default null
110   ,p_pgp_segment19                in     varchar2 default null
111   ,p_pgp_segment20                in     varchar2 default null
112   ,p_pgp_segment21                in     varchar2 default null
113   ,p_pgp_segment22                in     varchar2 default null
114   ,p_pgp_segment23                in     varchar2 default null
115   ,p_pgp_segment24                in     varchar2 default null
116   ,p_pgp_segment25                in     varchar2 default null
117   ,p_pgp_segment26                in     varchar2 default null
118   ,p_pgp_segment27                in     varchar2 default null
119   ,p_pgp_segment28                in     varchar2 default null
120   ,p_pgp_segment29                in     varchar2 default null
121   ,p_pgp_segment30                in     varchar2 default null
122   ,p_pgp_concat_segments          in     varchar2 default null
123   ,p_contract_id                  in     number   default null
124   ,p_establishment_id             in     number   default null
125   ,p_collective_agreement_id      in     number   default null
126   ,p_cagr_id_flex_num             in     number   default null
127   ,p_cag_segment1                 in     varchar2 default null
128   ,p_cag_segment2                 in     varchar2 default null
129   ,p_cag_segment3                 in     varchar2 default null
130   ,p_cag_segment4                 in     varchar2 default null
131   ,p_cag_segment5                 in     varchar2 default null
132   ,p_cag_segment6                 in     varchar2 default null
133   ,p_cag_segment7                 in     varchar2 default null
134   ,p_cag_segment8                 in     varchar2 default null
135   ,p_cag_segment9                 in     varchar2 default null
136   ,p_cag_segment10                in     varchar2 default null
137   ,p_cag_segment11                in     varchar2 default null
138   ,p_cag_segment12                in     varchar2 default null
139   ,p_cag_segment13                in     varchar2 default null
140   ,p_cag_segment14                in     varchar2 default null
141   ,p_cag_segment15                in     varchar2 default null
142   ,p_cag_segment16                in     varchar2 default null
143   ,p_cag_segment17                in     varchar2 default null
144   ,p_cag_segment18                in     varchar2 default null
145   ,p_cag_segment19                in     varchar2 default null
146   ,p_cag_segment20                in     varchar2 default null
147   ,p_cagr_grade_def_id               out nocopy number
148   ,p_cagr_concatenated_segments      out nocopy varchar2
149   ,p_assignment_id                   out nocopy number
150   ,p_soft_coding_keyflex_id          out nocopy number
151   ,p_people_group_id                 out nocopy number
152   ,p_object_version_number           out nocopy number
153   ,p_effective_start_date            out nocopy date
154   ,p_effective_end_date              out nocopy date
155   ,p_assignment_sequence             out nocopy number
156   ,p_comment_id                      out nocopy number
157   ,p_concatenated_segments           out nocopy varchar2
158   ,p_group_name                      out nocopy varchar2
159   ,p_other_manager_warning           out nocopy boolean
160   ) is
161   --
162   -- Declare cursors and local variables
163   --
164   l_assignment_number  per_assignments_f.assignment_number%TYPE;
165   l_effective_date     date;
166   l_legislation_code   per_business_groups.legislation_code%TYPE;
167   l_proc               varchar2(72) := g_package||'create_ca_secondary_emp_asg';
168   --
169   -- Declare dummy variables
170   l_concatenated_segments  hr_soft_coding_keyflex.concatenated_segments%TYPE;
171   l_soft_coding_keyflex_id per_assignments_f.soft_coding_keyflex_id%TYPE;
172   --
173   -- Declare cursors
174   --
175   cursor csr_legislation is
176     select null
177     from per_assignments_f paf,
178          per_business_groups pbg
179     where paf.person_id = p_person_id
180     and   l_effective_date between paf.effective_start_date
181                            and     paf.effective_end_date
182     and   pbg.business_group_id = paf.business_group_id
183     and   pbg.legislation_code = 'CA';
184   --
185   --
186 begin
187   hr_utility.set_location('Entering:'|| l_proc, 10);
188   --
189   -- Initialise local variable
190   --
191   l_effective_date := trunc(p_effective_date);
192   --
193   -- Validation in addition to Table Handlers
194   --
195   -- Ensure that the employee is within a CA business group
196   --
197   open csr_legislation;
198   fetch csr_legislation
199   into l_legislation_code;
200   if csr_legislation%notfound then
201     close csr_legislation;
202     hr_utility.set_message(801, 'HR_7961_PER_BUS_GRP_INVALID');
203     hr_utility.set_message_token('LEG_CODE', 'CA');
204     hr_utility.raise_error;
205   end if;
206   close csr_legislation;
207   --
208   hr_utility.set_location(l_proc, 20);
209   --
210   -- Call create_secondary_emp_asg
211   --
212   hr_assignment_api.create_secondary_emp_asg
213   (p_validate                     =>     p_validate
214   ,p_effective_date               =>     l_effective_date
215   ,p_person_id                    =>     p_person_id
216   ,p_organization_id              =>     p_organization_id
217   ,p_grade_id                     =>     p_grade_id
218   ,p_position_id                  =>     p_position_id
219   ,p_job_id                       =>     p_job_id
220   ,p_assignment_status_type_id    =>     p_assignment_status_type_id
221   ,p_payroll_id                   =>     p_payroll_id
222   ,p_location_id                  =>     p_location_id
223   ,p_supervisor_id                =>     p_supervisor_id
224   ,p_special_ceiling_step_id      =>     p_special_ceiling_step_id
225   ,p_pay_basis_id                 =>     p_pay_basis_id
226   ,p_assignment_number            =>     l_assignment_number
227   ,p_change_reason                =>     p_change_reason
228   ,p_comments                     =>     p_comments
229   ,p_date_probation_end           =>     trunc(p_date_probation_end)
230   ,p_default_code_comb_id         =>     p_default_code_comb_id
231   ,p_employment_category          =>     p_employment_category
232   ,p_frequency                    =>     p_frequency
233   ,p_internal_address_line        =>     p_internal_address_line
234   ,p_manager_flag                 =>     p_manager_flag
235   ,p_normal_hours                 =>     p_normal_hours
236   ,p_perf_review_period           =>     p_perf_review_period
237   ,p_perf_review_period_frequency =>     p_perf_review_period_frequency
238   ,p_probation_period             =>     p_probation_period
239   ,p_probation_unit               =>     p_probation_unit
240   ,p_sal_review_period            =>     p_sal_review_period
241   ,p_sal_review_period_frequency  =>     p_sal_review_period_frequency
242   ,p_set_of_books_id              =>     p_set_of_books_id
243   ,p_source_type                  =>     p_source_type
244   ,p_time_normal_finish           =>     p_time_normal_finish
245   ,p_time_normal_start            =>     p_time_normal_start
246   ,p_bargaining_unit_code         =>     p_bargaining_unit_code
247   ,p_labour_union_member_flag     =>     p_labour_union_member_flag
248   ,p_hourly_salaried_code         =>     p_hourly_salaried_code
249   ,p_ass_attribute_category       =>     p_ass_attribute_category
250   ,p_ass_attribute1               =>     p_ass_attribute1
251   ,p_ass_attribute2               =>     p_ass_attribute2
252   ,p_ass_attribute3               =>     p_ass_attribute3
253   ,p_ass_attribute4               =>     p_ass_attribute4
254   ,p_ass_attribute5               =>     p_ass_attribute5
255   ,p_ass_attribute6               =>     p_ass_attribute6
256   ,p_ass_attribute7               =>     p_ass_attribute7
257   ,p_ass_attribute8               =>     p_ass_attribute8
258   ,p_ass_attribute9               =>     p_ass_attribute9
259   ,p_ass_attribute10              =>     p_ass_attribute10
260   ,p_ass_attribute11              =>     p_ass_attribute11
261   ,p_ass_attribute12              =>     p_ass_attribute12
262   ,p_ass_attribute13              =>     p_ass_attribute13
263   ,p_ass_attribute14              =>     p_ass_attribute14
264   ,p_ass_attribute15              =>     p_ass_attribute15
265   ,p_ass_attribute16              =>     p_ass_attribute16
266   ,p_ass_attribute17              =>     p_ass_attribute17
267   ,p_ass_attribute18              =>     p_ass_attribute18
268   ,p_ass_attribute19              =>     p_ass_attribute19
269   ,p_ass_attribute20              =>     p_ass_attribute20
270   ,p_ass_attribute21              =>     p_ass_attribute21
271   ,p_ass_attribute22              =>     p_ass_attribute22
272   ,p_ass_attribute23              =>     p_ass_attribute23
273   ,p_ass_attribute24              =>     p_ass_attribute24
274   ,p_ass_attribute25              =>     p_ass_attribute25
275   ,p_ass_attribute26              =>     p_ass_attribute26
276   ,p_ass_attribute27              =>     p_ass_attribute27
277   ,p_ass_attribute28              =>     p_ass_attribute28
278   ,p_ass_attribute29              =>     p_ass_attribute29
279   ,p_ass_attribute30              =>     p_ass_attribute30
280   ,p_title                        =>     p_title
281   ,p_scl_segment1                 =>     p_tax_unit
282   ,p_scl_segment2                 =>     p_timecard_approver
283   ,p_scl_segment3                 =>     p_timecard_required
284   ,p_scl_segment4                 =>     p_work_schedule
285   ,p_scl_segment5                 =>     p_shift
286   ,p_scl_segment6                 =>     p_naic_override_code
287   ,p_scl_segment7                 =>     p_seasonal_worker
288   ,p_scl_segment8                 =>     p_officer_code
289   ,p_scl_segment9                 =>     p_wci_account_number
290   ,p_scl_segment10                =>     p_wci_code_override
291   ,p_scl_concat_segments          =>	 p_ca_concat_segments
292   ,p_pgp_segment1                 =>     p_pgp_segment1
293   ,p_pgp_segment2                 =>     p_pgp_segment2
294   ,p_pgp_segment3                 =>     p_pgp_segment3
295   ,p_pgp_segment4                 =>     p_pgp_segment4
296   ,p_pgp_segment5                 =>     p_pgp_segment5
297   ,p_pgp_segment6                 =>     p_pgp_segment6
298   ,p_pgp_segment7                 =>     p_pgp_segment7
299   ,p_pgp_segment8                 =>     p_pgp_segment8
300   ,p_pgp_segment9                 =>     p_pgp_segment9
301   ,p_pgp_segment10                =>     p_pgp_segment10
302   ,p_pgp_segment11                =>     p_pgp_segment11
303   ,p_pgp_segment12                =>     p_pgp_segment12
304   ,p_pgp_segment13                =>     p_pgp_segment13
305   ,p_pgp_segment14                =>     p_pgp_segment14
306   ,p_pgp_segment15                =>     p_pgp_segment15
307   ,p_pgp_segment16                =>     p_pgp_segment16
308   ,p_pgp_segment17                =>     p_pgp_segment17
309   ,p_pgp_segment18                =>     p_pgp_segment18
310   ,p_pgp_segment19                =>     p_pgp_segment19
311   ,p_pgp_segment20                =>     p_pgp_segment20
312   ,p_pgp_segment21                =>     p_pgp_segment21
313   ,p_pgp_segment22                =>     p_pgp_segment22
314   ,p_pgp_segment23                =>     p_pgp_segment23
315   ,p_pgp_segment24                =>     p_pgp_segment24
316   ,p_pgp_segment25                =>     p_pgp_segment25
317   ,p_pgp_segment26                =>     p_pgp_segment26
318   ,p_pgp_segment27                =>     p_pgp_segment27
319   ,p_pgp_segment28                =>     p_pgp_segment28
320   ,p_pgp_segment29                =>     p_pgp_segment29
321   ,p_pgp_segment30                =>     p_pgp_segment30
322   ,p_pgp_concat_segments	  =>     p_pgp_concat_segments
323   ,p_contract_id                  =>     p_contract_id
324   ,p_establishment_id             =>     p_establishment_id
325   ,p_collective_agreement_id      =>     p_collective_agreement_id
326   ,p_cagr_id_flex_num             =>     p_cagr_id_flex_num
327   ,p_cag_segment1                 =>     p_cag_segment1
328   ,p_cag_segment2                 =>     p_cag_segment2
329   ,p_cag_segment3                 =>     p_cag_segment3
330   ,p_cag_segment4                 =>     p_cag_segment4
331   ,p_cag_segment5                 =>     p_cag_segment5
332   ,p_cag_segment6                 =>     p_cag_segment6
333   ,p_cag_segment7                 =>     p_cag_segment7
334   ,p_cag_segment8                 =>     p_cag_segment8
335   ,p_cag_segment9                 =>     p_cag_segment9
336   ,p_cag_segment10                =>     p_cag_segment10
337   ,p_cag_segment11                =>     p_cag_segment11
338   ,p_cag_segment12                =>     p_cag_segment12
339   ,p_cag_segment13                =>     p_cag_segment13
340   ,p_cag_segment14                =>     p_cag_segment14
341   ,p_cag_segment15                =>     p_cag_segment15
342   ,p_cag_segment16                =>     p_cag_segment16
343   ,p_cag_segment17                =>     p_cag_segment17
344   ,p_cag_segment18                =>     p_cag_segment18
345   ,p_cag_segment19                =>     p_cag_segment19
346   ,p_cag_segment20                =>     p_cag_segment20
347   ,p_cagr_grade_def_id            =>     p_cagr_grade_def_id
348   ,p_cagr_concatenated_segments   =>     p_cagr_concatenated_segments
349   ,p_assignment_id                =>     p_assignment_id
350   ,p_soft_coding_keyflex_id       =>     p_soft_coding_keyflex_id
351   ,p_people_group_id              =>     p_people_group_id
352   ,p_object_version_number        =>     p_object_version_number
353   ,p_effective_start_date         =>     p_effective_start_date
354   ,p_effective_end_date           =>     p_effective_end_date
355   ,p_assignment_sequence          =>     p_assignment_sequence
356   ,p_comment_id                   =>     p_comment_id
357   ,p_concatenated_segments        =>     p_concatenated_segments
358   ,p_group_name                   =>     p_group_name
359   ,p_other_manager_warning        =>     p_other_manager_warning
360   );
361   --
362   hr_utility.set_location(' Leaving:'||l_proc, 30);
363   --
364 end create_ca_secondary_emp_asg;
365 --
366 -- ----------------------------------------------------------------------------
367 -- |--------------------------< update_ca_emp_asg >----------------------------|
368 -- ----------------------------------------------------------------------------
369 --
370 procedure update_ca_emp_asg
371   (p_validate                     in     boolean  default false
372   ,p_effective_date               in     date
373   ,p_datetrack_update_mode        in     varchar2
374   ,p_assignment_id                in     number
375   ,p_object_version_number        in out nocopy number
376   ,p_supervisor_id                in     number   default hr_api.g_number
377   ,p_assignment_number            in out nocopy varchar2
378   ,p_change_reason                in     varchar2 default hr_api.g_varchar2
379   ,p_comments                     in     varchar2 default hr_api.g_varchar2
380   ,p_date_probation_end           in     date     default hr_api.g_date
381   ,p_default_code_comb_id         in     number   default hr_api.g_number
382   ,p_frequency                    in     varchar2 default hr_api.g_varchar2
383   ,p_internal_address_line        in     varchar2 default hr_api.g_varchar2
384   ,p_manager_flag                 in     varchar2 default hr_api.g_varchar2
385   ,p_normal_hours                 in     number   default hr_api.g_number
386   ,p_perf_review_period           in     number   default hr_api.g_number
387   ,p_perf_review_period_frequency in     varchar2 default hr_api.g_varchar2
388   ,p_probation_period             in     number   default hr_api.g_number
389   ,p_probation_unit               in     varchar2 default hr_api.g_varchar2
390   ,p_sal_review_period            in     number   default hr_api.g_number
391   ,p_sal_review_period_frequency  in     varchar2 default hr_api.g_varchar2
392   ,p_set_of_books_id              in     number   default hr_api.g_number
393   ,p_source_type                  in     varchar2 default hr_api.g_varchar2
394   ,p_time_normal_finish           in     varchar2 default hr_api.g_varchar2
395   ,p_time_normal_start            in     varchar2 default hr_api.g_varchar2
396   ,p_bargaining_unit_code         in     varchar2 default hr_api.g_varchar2
397   ,p_labour_union_member_flag     in     varchar2 default hr_api.g_varchar2
398   ,p_hourly_salaried_code         in     varchar2 default hr_api.g_varchar2
399   ,p_ass_attribute_category       in     varchar2 default hr_api.g_varchar2
400   ,p_ass_attribute1               in     varchar2 default hr_api.g_varchar2
401   ,p_ass_attribute2               in     varchar2 default hr_api.g_varchar2
402   ,p_ass_attribute3               in     varchar2 default hr_api.g_varchar2
403   ,p_ass_attribute4               in     varchar2 default hr_api.g_varchar2
404   ,p_ass_attribute5               in     varchar2 default hr_api.g_varchar2
405   ,p_ass_attribute6               in     varchar2 default hr_api.g_varchar2
406   ,p_ass_attribute7               in     varchar2 default hr_api.g_varchar2
407   ,p_ass_attribute8               in     varchar2 default hr_api.g_varchar2
408   ,p_ass_attribute9               in     varchar2 default hr_api.g_varchar2
409   ,p_ass_attribute10              in     varchar2 default hr_api.g_varchar2
410   ,p_ass_attribute11              in     varchar2 default hr_api.g_varchar2
411   ,p_ass_attribute12              in     varchar2 default hr_api.g_varchar2
412   ,p_ass_attribute13              in     varchar2 default hr_api.g_varchar2
413   ,p_ass_attribute14              in     varchar2 default hr_api.g_varchar2
414   ,p_ass_attribute15              in     varchar2 default hr_api.g_varchar2
415   ,p_ass_attribute16              in     varchar2 default hr_api.g_varchar2
416   ,p_ass_attribute17              in     varchar2 default hr_api.g_varchar2
417   ,p_ass_attribute18              in     varchar2 default hr_api.g_varchar2
418   ,p_ass_attribute19              in     varchar2 default hr_api.g_varchar2
419   ,p_ass_attribute20              in     varchar2 default hr_api.g_varchar2
420   ,p_ass_attribute21              in     varchar2 default hr_api.g_varchar2
421   ,p_ass_attribute22              in     varchar2 default hr_api.g_varchar2
422   ,p_ass_attribute23              in     varchar2 default hr_api.g_varchar2
423   ,p_ass_attribute24              in     varchar2 default hr_api.g_varchar2
424   ,p_ass_attribute25              in     varchar2 default hr_api.g_varchar2
425   ,p_ass_attribute26              in     varchar2 default hr_api.g_varchar2
426   ,p_ass_attribute27              in     varchar2 default hr_api.g_varchar2
427   ,p_ass_attribute28              in     varchar2 default hr_api.g_varchar2
428   ,p_ass_attribute29              in     varchar2 default hr_api.g_varchar2
429   ,p_ass_attribute30              in     varchar2 default hr_api.g_varchar2
430   ,p_title                        in     varchar2 default hr_api.g_varchar2
431   ,p_tax_unit                     in     varchar2 default hr_api.g_varchar2
432   ,p_timecard_approver            in     varchar2 default hr_api.g_varchar2
433   ,p_timecard_required            in     varchar2 default hr_api.g_varchar2
434   ,p_work_schedule                in     varchar2 default hr_api.g_varchar2
435   ,p_shift                        in     varchar2 default hr_api.g_varchar2
436   ,p_naic_override_code           in     varchar2 default hr_api.g_varchar2
437   ,p_seasonal_worker              in     varchar2 default hr_api.g_varchar2
438   ,p_officer_code                 in     varchar2 default hr_api.g_varchar2
439   ,p_wci_account_number           in     varchar2 default hr_api.g_varchar2
440   ,p_wci_code_override            in     varchar2 default hr_api.g_varchar2
441   ,p_ca_concat_segments           in     varchar2 default hr_api.g_varchar2
442   ,p_contract_id                  in     number default hr_api.g_number
443   ,p_establishment_id             in     number default hr_api.g_number
444   ,p_collective_agreement_id      in     number default hr_api.g_number
445   ,p_cagr_id_flex_num             in     number default hr_api.g_number
446   ,p_cag_segment1                 in     varchar2 default hr_api.g_varchar2
447   ,p_cag_segment2                 in     varchar2 default hr_api.g_varchar2
448   ,p_cag_segment3                 in     varchar2 default hr_api.g_varchar2
449   ,p_cag_segment4                 in     varchar2 default hr_api.g_varchar2
450   ,p_cag_segment5                 in     varchar2 default hr_api.g_varchar2
451   ,p_cag_segment6                 in     varchar2 default hr_api.g_varchar2
452   ,p_cag_segment7                 in     varchar2 default hr_api.g_varchar2
453   ,p_cag_segment8                 in     varchar2 default hr_api.g_varchar2
454   ,p_cag_segment9                 in     varchar2 default hr_api.g_varchar2
455   ,p_cag_segment10                in     varchar2 default hr_api.g_varchar2
456   ,p_cag_segment11                in     varchar2 default hr_api.g_varchar2
457   ,p_cag_segment12                in     varchar2 default hr_api.g_varchar2
458   ,p_cag_segment13                in     varchar2 default hr_api.g_varchar2
459   ,p_cag_segment14                in     varchar2 default hr_api.g_varchar2
460   ,p_cag_segment15                in     varchar2 default hr_api.g_varchar2
461   ,p_cag_segment16                in     varchar2 default hr_api.g_varchar2
462   ,p_cag_segment17                in     varchar2 default hr_api.g_varchar2
463   ,p_cag_segment18                in     varchar2 default hr_api.g_varchar2
464   ,p_cag_segment19                in     varchar2 default hr_api.g_varchar2
465   ,p_cag_segment20                in     varchar2 default hr_api.g_varchar2
466   ,p_cagr_grade_def_id               out nocopy number
467   ,p_cagr_concatenated_segments      out nocopy varchar2
468   ,p_soft_coding_keyflex_id          out nocopy number
469   ,p_comment_id                      out nocopy number
470   ,p_effective_start_date            out nocopy date
471   ,p_effective_end_date              out nocopy date
472   ,p_concatenated_segments           out nocopy varchar2
473   ,p_no_managers_warning             out nocopy boolean
474   ,p_other_manager_warning           out nocopy boolean
475   ) is
476   --
477   -- Declare cursors and local variables
478   --
479   l_proc                       varchar2(72) := g_package||'update_ca_emp_asg';
480   l_effective_date             date;
481   l_soft_coding_keyflex_id     per_assignments_f.soft_coding_keyflex_id%TYPE;
482   l_concatenated_segments      varchar2(2000);
483   l_legislation_code           per_business_groups.legislation_code%TYPE;
484   --
485   cursor check_legislation
486     (c_assignment_id  per_assignments_f.assignment_id%TYPE,
487      c_effective_date date
488     )
489   is
490     select bgp.legislation_code
491     from per_assignments_f asg,
492          per_business_groups bgp
493     where asg.business_group_id = bgp.business_group_id
494     and   asg.assignment_id     = c_assignment_id
495     and   c_effective_date
496       between effective_start_date and effective_end_date;
497   --
498 begin
499   hr_utility.set_location('Entering:'|| l_proc, 10);
500   --
501   -- Truncate date variables
502   --
503   l_effective_date := trunc(p_effective_date);
504   --
505   -- Validate in addition to Table Handlers
506   --
507   -- Check that the assignment exists.
508   --
509   open check_legislation(p_assignment_id, l_effective_date);
510   fetch check_legislation into l_legislation_code;
511   if check_legislation%notfound then
512     close check_legislation;
513     hr_utility.set_message(801,'HR_7220_INVALID_PRIMARY_KEY');
514     hr_utility.raise_error;
515   end if;
516   close check_legislation;
517   hr_utility.set_location(l_proc, 20);
518   --
519   -- Check that the legislation of the specified business group is 'CA'.
520   --
521   if l_legislation_code <> 'CA' then
522     hr_utility.set_message(801, 'HR_7961_PER_BUS_GRP_INVALID');
523     hr_utility.set_message_token('LEG_CODE','CA');
524     hr_utility.raise_error;
525   end if;
526   hr_utility.set_location(l_proc, 30);
527   --
528   -- Call update_emp_asg business process
529   --
530   hr_assignment_api.update_emp_asg
531   (p_validate                     =>     p_validate
532   ,p_effective_date               =>     l_effective_date
533   ,p_datetrack_update_mode        =>     p_datetrack_update_mode
534   ,p_assignment_id                =>     p_assignment_id
535   ,p_object_version_number        =>     p_object_version_number
536   ,p_supervisor_id                =>     p_supervisor_id
537   ,p_assignment_number            =>     p_assignment_number
538   ,p_change_reason                =>     p_change_reason
539   ,p_comments                     =>     p_comments
540   ,p_date_probation_end           =>     trunc(p_date_probation_end)
541   ,p_default_code_comb_id         =>     p_default_code_comb_id
542   ,p_frequency                    =>     p_frequency
543   ,p_internal_address_line        =>     p_internal_address_line
544   ,p_manager_flag                 =>     p_manager_flag
545   ,p_normal_hours                 =>     p_normal_hours
546   ,p_perf_review_period           =>     p_perf_review_period
547   ,p_perf_review_period_frequency =>     p_perf_review_period_frequency
548   ,p_probation_period             =>     p_probation_period
549   ,p_probation_unit               =>     p_probation_unit
550   ,p_sal_review_period            =>     p_sal_review_period
551   ,p_sal_review_period_frequency  =>     p_sal_review_period_frequency
552   ,p_set_of_books_id              =>     p_set_of_books_id
553   ,p_source_type                  =>     p_source_type
554   ,p_time_normal_finish           =>     p_time_normal_finish
555   ,p_time_normal_start            =>     p_time_normal_start
556   ,p_bargaining_unit_code         =>     p_bargaining_unit_code
557   ,p_labour_union_member_flag     =>     p_labour_union_member_flag
558   ,p_hourly_salaried_code         =>     p_hourly_salaried_code
559   ,p_ass_attribute_category       =>     p_ass_attribute_category
560   ,p_ass_attribute1               =>     p_ass_attribute1
561   ,p_ass_attribute2               =>     p_ass_attribute2
562   ,p_ass_attribute3               =>     p_ass_attribute3
563   ,p_ass_attribute4               =>     p_ass_attribute4
564   ,p_ass_attribute5               =>     p_ass_attribute5
565   ,p_ass_attribute6               =>     p_ass_attribute6
566   ,p_ass_attribute7               =>     p_ass_attribute7
567   ,p_ass_attribute8               =>     p_ass_attribute8
568   ,p_ass_attribute9               =>     p_ass_attribute9
569   ,p_ass_attribute10              =>     p_ass_attribute10
570   ,p_ass_attribute11              =>     p_ass_attribute11
571   ,p_ass_attribute12              =>     p_ass_attribute12
572   ,p_ass_attribute13              =>     p_ass_attribute13
573   ,p_ass_attribute14              =>     p_ass_attribute14
574   ,p_ass_attribute15              =>     p_ass_attribute15
575   ,p_ass_attribute16              =>     p_ass_attribute16
576   ,p_ass_attribute17              =>     p_ass_attribute17
577   ,p_ass_attribute18              =>     p_ass_attribute18
578   ,p_ass_attribute19              =>     p_ass_attribute19
579   ,p_ass_attribute20              =>     p_ass_attribute20
580   ,p_ass_attribute21              =>     p_ass_attribute21
581   ,p_ass_attribute22              =>     p_ass_attribute22
582   ,p_ass_attribute23              =>     p_ass_attribute23
583   ,p_ass_attribute24              =>     p_ass_attribute24
584   ,p_ass_attribute25              =>     p_ass_attribute25
585   ,p_ass_attribute26              =>     p_ass_attribute26
586   ,p_ass_attribute27              =>     p_ass_attribute27
587   ,p_ass_attribute28              =>     p_ass_attribute28
588   ,p_ass_attribute29              =>     p_ass_attribute29
589   ,p_ass_attribute30              =>     p_ass_attribute30
590   ,p_title                        =>     p_title
591   ,p_segment1                     =>     p_tax_unit
592   ,p_segment2                     =>     p_timecard_approver
593   ,p_segment3                     =>     p_timecard_required
594   ,p_segment4                     =>     p_work_schedule
595   ,p_segment5                     =>     p_shift
596   ,p_segment6                     =>     p_naic_override_code
597   ,p_segment7                     =>     p_seasonal_worker
598   ,p_segment8                     =>     p_officer_code
599   ,p_segment9                     =>     p_wci_account_number
600   ,p_segment10                    =>     p_wci_code_override
601   ,p_concat_segments              =>     p_ca_concat_segments
602   ,p_contract_id                  =>     p_contract_id
603   ,p_establishment_id             =>     p_establishment_id
604   ,p_collective_agreement_id      =>     p_collective_agreement_id
605   ,p_cagr_id_flex_num             =>     p_cagr_id_flex_num
606   ,p_cag_segment1                 =>     p_cag_segment1
607   ,p_cag_segment2                 =>     p_cag_segment2
608   ,p_cag_segment3                 =>     p_cag_segment3
609   ,p_cag_segment4                 =>     p_cag_segment4
610   ,p_cag_segment5                 =>     p_cag_segment5
611   ,p_cag_segment6                 =>     p_cag_segment6
612   ,p_cag_segment7                 =>     p_cag_segment7
613   ,p_cag_segment8                 =>     p_cag_segment8
614   ,p_cag_segment9                 =>     p_cag_segment9
615   ,p_cag_segment10                =>     p_cag_segment10
616   ,p_cag_segment11                =>     p_cag_segment11
617   ,p_cag_segment12                =>     p_cag_segment12
618   ,p_cag_segment13                =>     p_cag_segment13
619   ,p_cag_segment14                =>     p_cag_segment14
620   ,p_cag_segment15                =>     p_cag_segment15
621   ,p_cag_segment16                =>     p_cag_segment16
622   ,p_cag_segment17                =>     p_cag_segment17
623   ,p_cag_segment18                =>     p_cag_segment18
624   ,p_cag_segment19                =>     p_cag_segment19
625   ,p_cag_segment20                =>     p_cag_segment20
626   ,p_cagr_grade_def_id            =>     p_cagr_grade_def_id
627   ,p_cagr_concatenated_segments   =>     p_cagr_concatenated_segments
628   ,p_soft_coding_keyflex_id       =>     p_soft_coding_keyflex_id
629   ,p_comment_id                   =>     p_comment_id
630   ,p_effective_start_date         =>     p_effective_start_date
631   ,p_effective_end_date           =>     p_effective_end_date
632   ,p_concatenated_segments        =>     p_concatenated_segments
633   ,p_no_managers_warning          =>     p_no_managers_warning
634   ,p_other_manager_warning        =>     p_other_manager_warning
635    );
636   --
637   hr_utility.set_location(' Leaving:'||l_proc, 30);
638   --
639   end update_ca_emp_asg;
640 --
641 end hr_ca_assignment_api;