DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_CN_ASSIGNMENT_API

Source


1 PACKAGE BODY hr_cn_assignment_api AS
2 /* $Header: hrcnwras.pkb 120.1 2011/12/20 11:31:13 jmarupil ship $ */
3 
4 
5      g_package  VARCHAR2(33);
6 
7 -- ----------------------------------------------------------------------------
8 -- |---------------------< create_cn_secondary_emp_asg >-------------------------|
9 -- ----------------------------------------------------------------------------
10 -- {Start Of Comments}
11 --
12 -- Description:
13 --   Procedure creates secondary employment assignment for an employee.
14 --
15 -- Prerequisites:
16 --   The person (p_person_id) and the organization (p_organization_id)
17 --   must exist at the effective start date of the assignment (p_effective_date).
18 --
19 -- In Parameters:
20 --   Name                           Reqd Type     Description
21 --   p_validate                          boolean  If true, the database remains
22 --                                                unchanged. If false a valid
23 --                                                assignment is created in
24 --                                                the database.
25 --   p_effective_date                Yes date     The effective start date of
26 --                                                this assignment
27 --   p_person_id                     Yes number   The person for whom this
28 --                                                assigment applies
29 --   p_organization_id               Yes number   Organization
30 --   p_grade_id                          number   Grade
31 --   p_position_id                       number   Position
32 --   p_job_id                            number   Job
33 --   p_assignment_status_type_id         number   Assigmnent status
34 --   p_payroll_id                        number   Payroll
35 --   p_location_id                       number   Location
36 --   p_supervisor_id                     number   Supervisor
37 --   p_special_ceiling_step_id           number   Special ceiling step
38 --   p_pay_basis_id                      number   Salary basis
39 --   p_assignment_number                 varchar2 Assignment number
40 --   p_change_reason                     varchar2 Change reason
41 --   p_comments                          varchar2 Comments
42 --   p_date_probation_end                date     End date of probation period
43 --   p_default_code_comb_id              number   Foreign key to
44 --                                                GL_CODE_COMBINATIONS
45 --   p_employment_category               varchar2 Employment category
46 --   p_frequency                         varchar2 Frequency for quoting --                                                working hours (eg per week)
47 --   p_internal_address_line             varchar2 Internal address line
48 --   p_manager_flag                      varchar2 Indicates whether employee
49 --                                                is a manager
50 --   p_normal_hours                      number   Normal working hours
51 --   p_perf_review_period                number   Performance review period
52 --   p_perf_review_period_frequency      varchar2 Units for quoting performance
53 --                                                review period (eg months)
54 --   p_probation_period                  number   Length of probation period
55 --   p_probation_unit                    varchar2 Units for quoting --                                                probation period (eg months)
56 --   p_sal_review_period                 number   Salary review period
57 --   p_sal_review_period_frequency       varchar2 Units for quoting salary
58 --                                                review period (eg months)
59 --   p_set_of_books_id                   number   Set of books (GL)
60 --   p_source_type                       varchar2 Recruitment activity source
61 --   p_time_normal_finish                varchar2 Normal work finish time
62 --   p_time_normal_start                 varchar2 Normal work start time
63 --   p_bargaining_unit_code              varchar2 Code for bargaining unit
64 --   p_labour_union_member_flag          varchar2 Indicates whether employee
65 --                                                is a labour union member
66 --   p_hourly_salaried_code              varchar2 Hourly or salaried pay code
67 --   p_ass_attribute_category            varchar2 Descriptive flexfield
68 --                                                attribute category
69 --   p_ass_attribute1                    varchar2 Descriptive flexfield
70 --   p_ass_attribute2                    varchar2 Descriptive flexfield
71 --   p_ass_attribute3                    varchar2 Descriptive flexfield
72 --   p_ass_attribute4                    varchar2 Descriptive flexfield
73 --   p_ass_attribute5                    varchar2 Descriptive flexfield
74 --   p_ass_attribute6                    varchar2 Descriptive flexfield
75 --   p_ass_attribute7                    varchar2 Descriptive flexfield
76 --   p_ass_attribute8                    varchar2 Descriptive flexfield
77 --   p_ass_attribute9                    varchar2 Descriptive flexfield
78 --   p_ass_attribute10                   varchar2 Descriptive flexfield
79 --   p_ass_attribute11                   varchar2 Descriptive flexfield
80 --   p_ass_attribute12                   varchar2 Descriptive flexfield
81 --   p_ass_attribute13                   varchar2 Descriptive flexfield
82 --   p_ass_attribute14                   varchar2 Descriptive flexfield
83 --   p_ass_attribute15                   varchar2 Descriptive flexfield
84 --   p_ass_attribute16                   varchar2 Descriptive flexfield
85 --   p_ass_attribute17                   varchar2 Descriptive flexfield
86 --   p_ass_attribute18                   varchar2 Descriptive flexfield
87 --   p_ass_attribute19                   varchar2 Descriptive flexfield
88 --   p_ass_attribute20                   varchar2 Descriptive flexfield
89 --   p_ass_attribute21                   varchar2 Descriptive flexfield
90 --   p_ass_attribute22                   varchar2 Descriptive flexfield
91 --   p_ass_attribute23                   varchar2 Descriptive flexfield
92 --   p_ass_attribute24                   varchar2 Descriptive flexfield
93 --   p_ass_attribute25                   varchar2 Descriptive flexfield
94 --   p_ass_attribute26                   varchar2 Descriptive flexfield
95 --   p_ass_attribute27                   varchar2 Descriptive flexfield
96 --   p_ass_attribute28                   varchar2 Descriptive flexfield
97 --   p_ass_attribute29                   varchar2 Descriptive flexfield
98 --   p_ass_attribute30                   varchar2 Descriptive flexfield
99 --   p_title                             varchar2 Title -must be NULL
100 --   p_employer_id                  Yes  varchar2 Employer ID
101 --   p_tax_area_code                Yes  varchar2 Tax Area Code
102 --   p_sic_area_code                     varchar2 SIC Area Code
103 --   p_salary_payout_locn                varchar2 Salary Payout Location
104 --   p_special_tax_exmp_category         varchar2 Special Tax Exemption Category --   Bug 3828396 Added
105 --   p_pgp_segment1                      varchar2 People group segment
106 --   p_pgp_segment2                      varchar2 People group segment
107 --   p_pgp_segment3                      varchar2 People group segment
108 --   p_pgp_segment4                      varchar2 People group segment
109 --   p_pgp_segment5                      varchar2 People group segment
110 --   p_pgp_segment6                      varchar2 People group segment
111 --   p_pgp_segment7                      varchar2 People group segment
112 --   p_pgp_segment8                      varchar2 People group segment
113 --   p_pgp_segment9                      varchar2 People group segment
114 --   p_pgp_segment10                     varchar2 People group segment
115 --   p_pgp_segment11                     varchar2 People group segment
116 --   p_pgp_segment12                     varchar2 People group segment
117 --   p_pgp_segment13                     varchar2 People group segment
118 --   p_pgp_segment14                     varchar2 People group segment
119 --   p_pgp_segment15                     varchar2 People group segment
120 --   p_pgp_segment16                     varchar2 People group segment
121 --   p_pgp_segment17                     varchar2 People group segment
122 --   p_pgp_segment18                     varchar2 People group segment
123 --   p_pgp_segment19                     varchar2 People group segment
124 --   p_pgp_segment20                     varchar2 People group segment
125 --   p_pgp_segment21                     varchar2 People group segment
126 --   p_pgp_segment22                     varchar2 People group segment
127 --   p_pgp_segment23                     varchar2 People group segment
128 --   p_pgp_segment24                     varchar2 People group segment
129 --   p_pgp_segment25                     varchar2 People group segment
130 --   p_pgp_segment26                     varchar2 People group segment
131 --   p_pgp_segment27                     varchar2 People group segment
132 --   p_pgp_segment28                     varchar2 People group segment
133 --   p_pgp_segment29                     varchar2 People group segment
134 --   p_pgp_segment30                     varchar2 People group segment
135 --   p_contract_id                       in number contract
136 --   p_establishment_id                  in number establishment
137 --   p_collective_agreement_id           in number collective_agreement
138 --   p_cagr_id_flex_num                  in number collective_Agreement
139 --                                                 grade structure
140 --   p_cag_segment1                      in varchar2 Collective agreement grade
141 --   p_cag_segment2                      in varchar2 Collective agreement grade
142 --   p_cag_segment3                      in varchar2 Collective agreement grade
143 --   p_cag_segment4                      in varchar2 Collective agreement grade
144 --   p_cag_segment5                      in varchar2 Collective agreement grade
145 --   p_cag_segment6                      in varchar2 Collective agreement grade
146 --   p_cag_segment7                      in varchar2 Collective agreement grade
147 --   p_cag_segment8                      in varchar2 Collective agreement grade
148 --   p_cag_segment9                      in varchar2 Collective agreement grade
149 --   p_cag_segment10                     in varchar2 Collective agreement grade
150 --   p_cag_segment11                     in varchar2 Collective agreement grade
151 --   p_cag_segment12                     in varchar2 Collective agreement grade
152 --   p_cag_segment13                     in varchar2 Collective agreement grade
153 --   p_cag_segment14                     in varchar2 Collective agreement grade
154 --   p_cag_segment15                     in varchar2 Collective agreement grade
155 --   p_cag_segment16                     in varchar2 Collective agreement grade
156 --   p_cag_segment17                     in varchar2 Collective agreement grade
157 --   p_cag_segment18                     in varchar2 Collective agreement grade
158 --   p_cag_segment19                     in varchar2 Collective agreement grade
159 --   p_cag_segment20                     in varchar2 Collective agreement grade
160 --   p_notice_period                     in number   Notice Period
161 --   p_notice_period_uom                 in varchar2 Notice Period Units
162 --   p_employee_category                 in varchar2 Employee Category
163 --   p_work_at_home                      in varchar2 Work At Home
164 --   p_job_post_source_name		 in varchar2 Job Source
165 --
166 -- Post Success:
167 --   The API sets the following out parameters:
168 --
169 --   Name                           Type     Description
170 --   p_assignment_number            varchar2 If an assignment number is not
171 --                                           passed in, a value is generated.
172 --   p_assignment_id                number   Unique ID for the assignment
173 --                                           created by the API
174 --   p_soft_coding_keyflex_id       number   Soft coding combination ID
175 --   p_people_group_id              number   People Group combination ID
176 --   p_object_version_number        number   Version number of the new
177 --                                           assignment
178 --   p_effective_start_date         date     Effective start date of this
179 --                                           assignment
180 --   p_effective_end_date           date     Effective end date of this
181 --                                           assignment
182 --   p_assignment_sequence          number
183 --   p_comment_id                   number
184 --   p_concatenated_segments        varchar2 Soft Coding combination name
185 --   p_group_name                   varchar2 People Group name
186 --   p_other_manager_warning        boolean  Set to true if manager_flag is 'Y'
187 --                                           and a manager already exists in
188 --                                           the organization
189 --                                           (p_organization_id) at
190 --   p_hourly_salaried_warning      boolean  Set to true if combination values
191 --                                           entered for pay_basis and
192 --                                           hourly_salaried_code are invalid
193 --                                  date     p_effective_date
194 --
195 --  p_cagr_grade_def_id             number   Set to the ID value of the grade if
196 --                                           cag_segments and a cagr_id_flex_num
197 --                                           are available
198 --  p_cagr_concatenated_segments    varchar2 If p_validate is false and any
199 --                                           p_segment parameters have set
200 --                                           text, set to the concatenation
201 --                                           of all p_segment parameters with
202 --                                           set text. If p_validate is
203 --                                           true, or no p_segment parameters
204 --                                           have set text, this will be null.
205 -- Post Failure:
206 --   The API does not create the assignment and raises an error.
207 --
208 -- Access Status:
209 --   Public.
210 --
211 -- {End Of Comments}
212 --
213 
214 
215 
216 PROCEDURE create_cn_secondary_emp_asg
217   (p_validate                     IN     BOOLEAN  DEFAULT   false
218   ,p_effective_date               IN     DATE
219   ,p_person_id                    IN     NUMBER
220   ,p_organization_id              IN     NUMBER
221   ,p_grade_id                     IN     NUMBER   DEFAULT   null
222   ,p_position_id                  IN     NUMBER   DEFAULT   null
223   ,p_job_id                       IN     NUMBER   DEFAULT   null
224   ,p_assignment_status_type_id    IN     NUMBER   DEFAULT   null
225   ,p_payroll_id                   IN     NUMBER   DEFAULT   null
226   ,p_location_id                  IN     NUMBER   DEFAULT   null
227   ,p_supervisor_id                IN     NUMBER   DEFAULT   null
228   ,p_special_ceiling_step_id      IN     NUMBER   DEFAULT   null
229   ,p_pay_basis_id                 IN     NUMBER   DEFAULT   null
230   ,p_assignment_number            IN OUT NOCOPY   VARCHAR2
231   ,p_change_reason                IN     VARCHAR2 DEFAULT   null
232   ,p_comments                     IN     hr_comments.comment_text%TYPE DEFAULT   null
233   ,p_date_probation_end           IN     DATE     DEFAULT   null
234   ,p_default_code_comb_id         IN     NUMBER   DEFAULT     null
235   ,p_employment_category          IN     VARCHAR2 DEFAULT   null
236   ,p_frequency                    IN     VARCHAR2 DEFAULT   null
237   ,p_internal_address_line        IN     VARCHAR2 DEFAULT   null
238   ,p_manager_flag                 IN     VARCHAR2 DEFAULT   null
239   ,p_normal_hours                 IN     NUMBER   DEFAULT   null
240   ,p_perf_review_period           IN     NUMBER   DEFAULT   null
241   ,p_perf_review_period_frequency IN     VARCHAR2 DEFAULT   null
242   ,p_probation_period             IN     NUMBER   DEFAULT   null
243   ,p_probation_unit               IN     VARCHAR2 DEFAULT   null
244   ,p_sal_review_period            IN     NUMBER   DEFAULT   null
245   ,p_sal_review_period_frequency  IN     VARCHAR2 DEFAULT   null
246   ,p_set_of_books_id              IN     NUMBER   DEFAULT   null
247   ,p_source_type                  IN     VARCHAR2 DEFAULT   null
248   ,p_time_normal_finish           IN     VARCHAR2 DEFAULT   null
249   ,p_time_normal_start            IN     VARCHAR2 DEFAULT   null
250   ,p_bargaining_unit_code         IN     VARCHAR2 DEFAULT   null
251   ,p_labour_union_member_flag     IN     VARCHAR2 DEFAULT   null
252   ,p_hourly_salaried_code         IN     VARCHAR2 DEFAULT   null
253   ,p_ass_attribute_category       IN     VARCHAR2 DEFAULT   null
254   ,p_ass_attribute1               IN     VARCHAR2 DEFAULT   null
255   ,p_ass_attribute2               IN     VARCHAR2 DEFAULT   null
256   ,p_ass_attribute3               IN     VARCHAR2 DEFAULT   null
257   ,p_ass_attribute4               IN     VARCHAR2 DEFAULT   null
258   ,p_ass_attribute5               IN     VARCHAR2 DEFAULT   null
259   ,p_ass_attribute6               IN     VARCHAR2 DEFAULT   null
260   ,p_ass_attribute7               IN     VARCHAR2 DEFAULT   null
261   ,p_ass_attribute8               IN     VARCHAR2 DEFAULT   null
262   ,p_ass_attribute9               IN     VARCHAR2 DEFAULT   null
263   ,p_ass_attribute10              IN     VARCHAR2 DEFAULT   null
264   ,p_ass_attribute11              IN     VARCHAR2 DEFAULT   null
265   ,p_ass_attribute12              IN     VARCHAR2 DEFAULT   null
266   ,p_ass_attribute13              IN     VARCHAR2 DEFAULT   null
267   ,p_ass_attribute14              IN     VARCHAR2 DEFAULT   null
268   ,p_ass_attribute15              IN     VARCHAR2 DEFAULT   null
269   ,p_ass_attribute16              IN     VARCHAR2 DEFAULT   null
270   ,p_ass_attribute17              IN     VARCHAR2 DEFAULT   null
271   ,p_ass_attribute18              IN     VARCHAR2 DEFAULT   null
272   ,p_ass_attribute19              IN     VARCHAR2 DEFAULT   null
273   ,p_ass_attribute20              IN     VARCHAR2 DEFAULT   null
274   ,p_ass_attribute21              IN     VARCHAR2 DEFAULT   null
275   ,p_ass_attribute22              IN     VARCHAR2 DEFAULT   null
276   ,p_ass_attribute23              IN     VARCHAR2 DEFAULT   null
277   ,p_ass_attribute24              IN     VARCHAR2 DEFAULT   null
278   ,p_ass_attribute25              IN     VARCHAR2 DEFAULT   null
279   ,p_ass_attribute26              IN     VARCHAR2 DEFAULT   null
280   ,p_ass_attribute27              IN     VARCHAR2 DEFAULT   null
281   ,p_ass_attribute28              IN     VARCHAR2 DEFAULT   null
282   ,p_ass_attribute29              IN     VARCHAR2 DEFAULT   null
283   ,p_ass_attribute30              IN     VARCHAR2 DEFAULT   null
284   ,p_title                        IN     VARCHAR2 DEFAULT   null
285   ,p_employer_id                  IN     VARCHAR2
286   ,p_tax_area_code                IN     VARCHAR2
287   ,p_sic_area_code                IN     VARCHAR2                -- Bug 2955433 Removed DEFAULT
288   ,p_salary_payout_locn           IN     VARCHAR2 DEFAULT   null
289   ,p_special_tax_exmp_category    IN     VARCHAR2 DEFAULT   null -- Bug 3828396 Added segment
290   ,p_scl_concat_segments    	  IN 	 VARCHAR2 DEFAULT   null
291   ,p_pgp_segment1                 IN     VARCHAR2 DEFAULT   null
292   ,p_pgp_segment2                 IN     VARCHAR2 DEFAULT   null
293   ,p_pgp_segment3                 IN     VARCHAR2 DEFAULT   null
294   ,p_pgp_segment4                 IN     VARCHAR2 DEFAULT   null
295   ,p_pgp_segment5                 IN     VARCHAR2 DEFAULT   null
296   ,p_pgp_segment6                 IN     VARCHAR2 DEFAULT   null
297   ,p_pgp_segment7                 IN     VARCHAR2 DEFAULT   null
298   ,p_pgp_segment8                 IN     VARCHAR2 DEFAULT   null
299   ,p_pgp_segment9                 IN     VARCHAR2 DEFAULT   null
300   ,p_pgp_segment10                IN     VARCHAR2 DEFAULT   null
301   ,p_pgp_segment11                IN     VARCHAR2 DEFAULT   null
302   ,p_pgp_segment12                IN     VARCHAR2 DEFAULT   null
303   ,p_pgp_segment13                IN     VARCHAR2 DEFAULT   null
304   ,p_pgp_segment14                IN     VARCHAR2 DEFAULT   null
305   ,p_pgp_segment15                IN     VARCHAR2 DEFAULT   null
306   ,p_pgp_segment16                IN     VARCHAR2 DEFAULT   null
307   ,p_pgp_segment17                IN     VARCHAR2 DEFAULT   null
308   ,p_pgp_segment18                IN     VARCHAR2 DEFAULT   null
309   ,p_pgp_segment19                IN     VARCHAR2 DEFAULT   null
310   ,p_pgp_segment20                IN     VARCHAR2 DEFAULT   null
311   ,p_pgp_segment21                IN     VARCHAR2 DEFAULT   null
312   ,p_pgp_segment22                IN     VARCHAR2 DEFAULT   null
313   ,p_pgp_segment23                IN     VARCHAR2 DEFAULT   null
314   ,p_pgp_segment24                IN     VARCHAR2 DEFAULT   null
315   ,p_pgp_segment25                IN     VARCHAR2 DEFAULT   null
316   ,p_pgp_segment26                IN     VARCHAR2 DEFAULT   null
317   ,p_pgp_segment27                IN     VARCHAR2 DEFAULT   null
318   ,p_pgp_segment28                IN     VARCHAR2 DEFAULT   null
319   ,p_pgp_segment29                IN     VARCHAR2 DEFAULT   null
320   ,p_pgp_segment30                IN     VARCHAR2 DEFAULT   null
321   ,p_pgp_concat_segments	  IN     VARCHAR2 DEFAULT   null
322   ,p_contract_id                  IN     NUMBER   DEFAULT   null
323   ,p_establishment_id             IN     NUMBER   DEFAULT   null
324   ,p_collective_agreement_id      IN     NUMBER   DEFAULT   null
325   ,p_cagr_id_flex_num             IN     NUMBER   DEFAULT   null
326   ,p_cag_segment1                 IN     VARCHAR2 DEFAULT   null
327   ,p_cag_segment2                 IN     VARCHAR2 DEFAULT   null
328   ,p_cag_segment3                 IN     VARCHAR2 DEFAULT   null
329   ,p_cag_segment4                 IN     VARCHAR2 DEFAULT   null
330   ,p_cag_segment5                 IN     VARCHAR2 DEFAULT   null
331   ,p_cag_segment6                 IN     VARCHAR2 DEFAULT   null
332   ,p_cag_segment7                 IN     VARCHAR2 DEFAULT   null
333   ,p_cag_segment8                 IN     VARCHAR2 DEFAULT   null
334   ,p_cag_segment9                 IN     VARCHAR2 DEFAULT   null
335   ,p_cag_segment10                IN     VARCHAR2 DEFAULT   null
336   ,p_cag_segment11                IN     VARCHAR2 DEFAULT   null
337   ,p_cag_segment12                IN     VARCHAR2 DEFAULT   null
338   ,p_cag_segment13                IN     VARCHAR2 DEFAULT   null
339   ,p_cag_segment14                IN     VARCHAR2 DEFAULT   null
340   ,p_cag_segment15                IN     VARCHAR2 DEFAULT   null
341   ,p_cag_segment16                IN     VARCHAR2 DEFAULT   null
342   ,p_cag_segment17                IN     VARCHAR2 DEFAULT   null
343   ,p_cag_segment18                IN     VARCHAR2 DEFAULT   null
344   ,p_cag_segment19                IN     VARCHAR2 DEFAULT   null
345   ,p_cag_segment20                IN     VARCHAR2 DEFAULT   null
346   ,p_notice_period		  IN	 NUMBER   DEFAULT   null
347   ,p_notice_period_uom		  IN     VARCHAR2 DEFAULT   null
348   ,p_employee_category		  IN     VARCHAR2 DEFAULT   null
349   ,p_work_at_home		  IN	 VARCHAR2 DEFAULT   null
350   ,p_job_post_source_name         IN     VARCHAR2 DEFAULT   null
351   ,p_group_name                      OUT NOCOPY   VARCHAR2
352   ,p_concatenated_segments           OUT NOCOPY   VARCHAR2
353   ,p_cagr_grade_def_id            IN OUT NOCOPY   NUMBER
354   ,p_cagr_concatenated_segments      OUT NOCOPY   VARCHAR2
355   ,p_assignment_id                   OUT NOCOPY   NUMBER
356   ,p_soft_coding_keyflex_id       IN OUT NOCOPY   NUMBER
357   ,p_people_group_id              IN OUT NOCOPY   NUMBER
358   ,p_object_version_number           OUT NOCOPY   NUMBER
359   ,p_effective_start_date            OUT NOCOPY   DATE
360   ,p_effective_end_date              OUT NOCOPY   DATE
361   ,p_assignment_sequence             OUT NOCOPY   NUMBER
362   ,p_comment_id                      OUT NOCOPY   NUMBER
363   ,p_other_manager_warning           OUT NOCOPY   BOOLEAN
364   ,p_hourly_salaried_warning         OUT NOCOPY   BOOLEAN  )
365  IS
366 --
367   -- Declare cursors AND local variables
368   --
369   -- Declare variables
370   --
371 
372   l_assignment_number  per_assignments_f.assignment_number%TYPE;
373   l_effective_date     DATE;
374   --
375   l_proc               VARCHAR2(72);
376   --
377   --
378 BEGIN
379 
380   l_proc := g_package||'create_cn_secondary_emp_asg';
381   hr_cn_api.set_location(g_trace, 'Entering:'|| l_proc, 10);
382 
383   --
384   -- Initialise local variable
385   --
386   l_effective_date := trunc(p_effective_date);
387 
388   --
389   -- Ensure that the employee IS within a cn business group
390   --
391   hr_cn_api.check_person (p_person_id, 'CN', l_effective_date);
392 
393   hr_cn_api.set_location(g_trace, l_proc, 20);
394 
395   --
396   --
397   -- Call create_secondary_emp_asg
398   --
399 
400   hr_assignment_api.create_secondary_emp_asg
401   (p_validate                    	=>	  p_validate
402   ,p_effective_date             	=>	  p_effective_date
403   ,p_person_id                		=>	  p_person_id
404   ,p_organization_id             	=>	  p_organization_id
405   ,p_grade_id                    	=>	  p_grade_id
406   ,p_position_id                	=>	  p_position_id
407   ,p_job_id                      	=>	  p_job_id
408   ,p_assignment_status_type_id   	=>	  p_assignment_status_type_id
409   ,p_payroll_id                  	=>	  p_payroll_id
410   ,p_location_id                 	=>	  p_location_id
411   ,p_supervisor_id              	=>	  p_supervisor_id
412   ,p_special_ceiling_step_id     	=>	  p_special_ceiling_step_id
413   ,p_pay_basis_id                	=>	  p_pay_basis_id
414   ,p_assignment_number           	=>	  p_assignment_number
415   ,p_change_reason                	=>	  p_change_reason
416   ,p_comments                     	=>	  p_comments
417   ,p_date_probation_end         	=>	  p_date_probation_end
418   ,p_default_code_comb_id        	=>	  p_default_code_comb_id
419   ,p_employment_category         	=>	  p_employment_category
420   ,p_frequency                  	=>	  p_frequency
421   ,p_internal_address_line       	=>	  p_internal_address_line
422   ,p_manager_flag                	=>	  p_manager_flag
423   ,p_normal_hours                	=>	  p_normal_hours
424   ,p_perf_review_period          	=>	  p_perf_review_period
425   ,p_perf_review_period_frequency 	=>	  p_perf_review_period_frequency
426   ,p_probation_period            	=>	  p_probation_period
427   ,p_probation_unit              	=>	  p_probation_unit
428   ,p_sal_review_period             	=>	  p_sal_review_period
429   ,p_sal_review_period_frequency 	=>	  p_sal_review_period_frequency
430   ,p_set_of_books_id               	=>	  p_set_of_books_id
431   ,p_source_type                 	=>	  p_source_type
432   ,p_time_normal_finish          	=>	  p_time_normal_finish
433   ,p_time_normal_start           	=>	  p_time_normal_start
434   ,p_bargaining_unit_code        	=>	  p_bargaining_unit_code
435   ,p_labour_union_member_flag    	=>	  p_labour_union_member_flag
436   ,p_hourly_salaried_code        	=>	  p_hourly_salaried_code
437   ,p_ass_attribute_category      	=>	  p_ass_attribute_category
438   ,p_ass_attribute1              	=>	  p_ass_attribute1
439   ,p_ass_attribute2              	=>	  p_ass_attribute2
440   ,p_ass_attribute3              	=>	  p_ass_attribute3
441   ,p_ass_attribute4              	=>	  p_ass_attribute4
442   ,p_ass_attribute5              	=>	  p_ass_attribute5
443   ,p_ass_attribute6              	=>	  p_ass_attribute6
444   ,p_ass_attribute7              	=>	  p_ass_attribute7
445   ,p_ass_attribute8              	=>	  p_ass_attribute8
446   ,p_ass_attribute9              	=>	  p_ass_attribute9
447   ,p_ass_attribute10             	=>	  p_ass_attribute10
448   ,p_ass_attribute11             	=>	  p_ass_attribute11
449   ,p_ass_attribute12             	=>	  p_ass_attribute12
450   ,p_ass_attribute13             	=>	  p_ass_attribute13
451   ,p_ass_attribute14             	=>	  p_ass_attribute14
452   ,p_ass_attribute15             	=>	  p_ass_attribute15
453   ,p_ass_attribute16             	=>	  p_ass_attribute16
454   ,p_ass_attribute17             	=>	  p_ass_attribute17
455   ,p_ass_attribute18             	=>	  p_ass_attribute18
456   ,p_ass_attribute19             	=>	  p_ass_attribute19
457   ,p_ass_attribute20             	=>	  p_ass_attribute20
458   ,p_ass_attribute21             	=>	  p_ass_attribute21
459   ,p_ass_attribute22             	=>	  p_ass_attribute22
460   ,p_ass_attribute23             	=>	  p_ass_attribute23
461   ,p_ass_attribute24             	=>	  p_ass_attribute24
462   ,p_ass_attribute25             	=>	  p_ass_attribute25
463   ,p_ass_attribute26             	=>	  p_ass_attribute26
464   ,p_ass_attribute27             	=>	  p_ass_attribute27
465   ,p_ass_attribute28             	=>	  p_ass_attribute28
466   ,p_ass_attribute29             	=>	  p_ass_attribute29
467   ,p_ass_attribute30             	=>	  p_ass_attribute30
468   ,p_title                       	=>	  p_title
469   ,p_scl_segment1                	=>	  p_employer_id
470   ,p_scl_segment20               	=>	  p_tax_area_code
471   ,p_scl_segment21               	=>	  p_sic_area_code
472   ,p_scl_segment22               	=>	  p_salary_payout_locn
473   ,p_scl_segment23                      =>        p_special_tax_exmp_category -- Bug 3828396 Added segment
474   ,p_scl_concat_segments    		=>	  p_scl_concat_segments
475   ,p_pgp_segment1                	=>	  p_pgp_segment1
476   ,p_pgp_segment2                	=>	  p_pgp_segment2
477   ,p_pgp_segment3                	=>	  p_pgp_segment3
478   ,p_pgp_segment4                	=>	  p_pgp_segment4
479   ,p_pgp_segment5                	=>	  p_pgp_segment5
480   ,p_pgp_segment6                	=>	  p_pgp_segment6
481   ,p_pgp_segment7                	=>	  p_pgp_segment7
482   ,p_pgp_segment8                	=>	  p_pgp_segment8
483   ,p_pgp_segment9                	=>	  p_pgp_segment9
484   ,p_pgp_segment10               	=>	  p_pgp_segment10
485   ,p_pgp_segment11               	=>	  p_pgp_segment11
486   ,p_pgp_segment12               	=>	  p_pgp_segment12
487   ,p_pgp_segment13               	=>	  p_pgp_segment13
488   ,p_pgp_segment14               	=>	  p_pgp_segment14
489   ,p_pgp_segment15               	=>	  p_pgp_segment15
490   ,p_pgp_segment16               	=>	  p_pgp_segment16
491   ,p_pgp_segment17               	=>	  p_pgp_segment17
492   ,p_pgp_segment18               	=>	  p_pgp_segment18
493   ,p_pgp_segment19               	=>	  p_pgp_segment19
494   ,p_pgp_segment20               	=>	  p_pgp_segment20
495   ,p_pgp_segment21               	=>	  p_pgp_segment21
496   ,p_pgp_segment22               	=>	  p_pgp_segment22
497   ,p_pgp_segment23               	=>	  p_pgp_segment23
498   ,p_pgp_segment24               	=>	  p_pgp_segment24
499   ,p_pgp_segment25               	=>	  p_pgp_segment25
500   ,p_pgp_segment26               	=>	  p_pgp_segment26
501   ,p_pgp_segment27               	=>	  p_pgp_segment27
502   ,p_pgp_segment28               	=>	  p_pgp_segment28
503   ,p_pgp_segment29               	=>	  p_pgp_segment29
504   ,p_pgp_segment30               	=>	  p_pgp_segment30
505   ,p_pgp_concat_segments		=>	  p_pgp_concat_segments
506   ,p_contract_id                   	=>	  p_contract_id
507   ,p_establishment_id              	=>	  p_establishment_id
508   ,p_collective_agreement_id       	=>	  p_collective_agreement_id
509   ,p_cagr_id_flex_num              	=>	  p_cagr_id_flex_num
510   ,p_cag_segment1                	=>	  p_cag_segment1
511   ,p_cag_segment2                	=>	  p_cag_segment2
512   ,p_cag_segment3                	=>	  p_cag_segment3
513   ,p_cag_segment4                	=>	  p_cag_segment4
514   ,p_cag_segment5                	=>	  p_cag_segment5
515   ,p_cag_segment6                	=>	  p_cag_segment6
516   ,p_cag_segment7                	=>	  p_cag_segment7
517   ,p_cag_segment8                	=>	  p_cag_segment8
518   ,p_cag_segment9                	=>	  p_cag_segment9
519   ,p_cag_segment10               	=>	  p_cag_segment10
520   ,p_cag_segment11               	=>	  p_cag_segment11
521   ,p_cag_segment12               	=>	  p_cag_segment12
522   ,p_cag_segment13               	=>	  p_cag_segment13
523   ,p_cag_segment14               	=>	  p_cag_segment14
524   ,p_cag_segment15               	=>	  p_cag_segment15
525   ,p_cag_segment16               	=>	  p_cag_segment16
526   ,p_cag_segment17               	=>	  p_cag_segment17
527   ,p_cag_segment18               	=>	  p_cag_segment18
528   ,p_cag_segment19               	=>	  p_cag_segment19
529   ,p_cag_segment20               	=>	  p_cag_segment20
530   ,p_notice_period			=>	  p_notice_period
531   ,p_notice_period_uom			=>	  p_notice_period_uom
532   ,p_employee_category			=>	  p_employee_category
533   ,p_work_at_home			=>	  p_work_at_home
534   ,p_job_post_source_name        	=>	  p_job_post_source_name
535   ,p_group_name                     	=>	  p_group_name
536   ,p_concatenated_segments          	=>	  p_concatenated_segments
537   ,p_cagr_grade_def_id            	=>	  p_cagr_grade_def_id
538   ,p_cagr_concatenated_segments      	=>	  p_cagr_concatenated_segments
539   ,p_assignment_id                  	=>	  p_assignment_id
540   ,p_soft_coding_keyflex_id       	=>	  p_soft_coding_keyflex_id
541   ,p_people_group_id              	=>	  p_people_group_id
542   ,p_object_version_number          	=>	  p_object_version_number
543   ,p_effective_start_date            	=>	  p_effective_start_date
544   ,p_effective_end_date             	=>	  p_effective_end_date
545   ,p_assignment_sequence             	=>	  p_assignment_sequence
546   ,p_comment_id                      	=>	  p_comment_id
547   ,p_other_manager_warning          	=>	  p_other_manager_warning
548   ,p_hourly_salaried_warning        	=>	  p_hourly_salaried_warning );
549 
550   hr_cn_api.set_location(g_trace, 'Leaving:'|| l_proc, 30);
551 
552 END create_cn_secondary_emp_asg;
553 
554 -- ----------------------------------------------------------------------------
555 -- |--------------------------< update_cn_emp_asg >------------------------------|
556 -- ----------------------------------------------------------------------------
557 -- {Start Of Comments}
558 --
559 -- Description:
560 --   procedure to update employee assignment.
561 --
562 -- Prerequisites:
563 --   The assignment (p_assignment_id) must exist as of the effective date
564 --   of the update (p_effective_date).
565 --
566 -- In Parameters:
567 --   Name                           Reqd Type     Description
568 --   p_validate                          boolean  If true, the database remains
569 --                                                unchanged. If false a valid
570 --                                                assignment is created in
571 --                                                the database.
572 --   p_effective_date                Yes date     The effective date of the
573 --                                                change
574 --   p_datetrack_update_mode         Yes varchar2 Update mode
575 --   p_assignment_id                     number   ID of the assignment
576 --   p_object_version_number         Yes number   Version number of the
577 --                                                assignment record
578 --   p_supervisor_id                     number   Supervisor
579 --   p_assignment_number                 number   Assignment number
580 --   p_change_reason                     varchar2 Reason for the change
581 --   p_assignment_status_type_id         varchar2 Assignment status
582 --   p_comments                          varchar2 Comments
583 --   p_date_probation_end                date     End date of probation period
584 --   p_default_code_comb_id              number   Foreign key to
585 --                                                GL_CODE_COMBINATIONS
586 --   p_frequency                         varchar2 Frequency for quoting working hours (eg per week)
587 --   p_internal_address_line             varchar2 Internal address line
588 --   p_manager_flag                      varchar2 Indicates whether the
589 --                                                employee is a manager
590 --   p_normal_hours                      number   Normal working hours
591 --   p_perf_review_period                number   Performance review period
592 --   p_perf_review_period_frequency      varchar2 Units for quoting  performance
593 --                                                review period (eg months)
594 --   p_probation_period                  number   Length of probation period
595 --   p_probation_unit                    varchar2 Units for quoting probation period (eg months)
596 --   p_sal_review_period                 number   Salary review period
597 --   p_sal_review_period_frequency       varchar2 Units for quoting salary review
598 --                                                period (eg months)
599 --   p_set_of_books_id                   number   Set of books (GL)
600 --   p_source_type                       varchar2 Recruitment activity source
601 --   p_time_normal_finish                varchar2 Normal work finish time
602 --   p_time_normal_start                 varchar2 Normal work start time
603 --   p_bargaining_unit_code              varchar2 Code for bargaining unit
604 --   p_labour_union_member_flag          varchar2 Indicates whether employee is--                                                union member
605 --   p_hourly_salaried_code              varchar2 Hourly or salaried pay code
606 --   p_ass_attribute_category            varchar2 Descriptive flexfield
607 --                                                attribute category
608 --   p_ass_attribute1                    varchar2 Descriptive flexfield
609 --   p_ass_attribute2                    varchar2 Descriptive flexfield
610 --   p_ass_attribute3                    varchar2 Descriptive flexfield
611 --   p_ass_attribute4                    varchar2 Descriptive flexfield
612 --   p_ass_attribute5                    varchar2 Descriptive flexfield
613 --   p_ass_attribute6                    varchar2 Descriptive flexfield
614 --   p_ass_attribute7                    varchar2 Descriptive flexfield
615 --   p_ass_attribute8                    varchar2 Descriptive flexfield
616 --   p_ass_attribute9                    varchar2 Descriptive flexfield
617 --   p_ass_attribute10                   varchar2 Descriptive flexfield
618 --   p_ass_attribute11                   varchar2 Descriptive flexfield
619 --   p_ass_attribute12                   varchar2 Descriptive flexfield
620 --   p_ass_attribute13                   varchar2 Descriptive flexfield
621 --   p_ass_attribute14                   varchar2 Descriptive flexfield
622 --   p_ass_attribute15                   varchar2 Descriptive flexfield
623 --   p_ass_attribute16                   varchar2 Descriptive flexfield
624 --   p_ass_attribute17                   varchar2 Descriptive flexfield
625 --   p_ass_attribute18                   varchar2 Descriptive flexfield
626 --   p_ass_attribute19                   varchar2 Descriptive flexfield
627 --   p_ass_attribute20                   varchar2 Descriptive flexfield
628 --   p_ass_attribute21                   varchar2 Descriptive flexfield
629 --   p_ass_attribute22                   varchar2 Descriptive flexfield
630 --   p_ass_attribute23                   varchar2 Descriptive flexfield
631 --   p_ass_attribute24                   varchar2 Descriptive flexfield
632 --   p_ass_attribute25                   varchar2 Descriptive flexfield
633 --   p_ass_attribute26                   varchar2 Descriptive flexfield
634 --   p_ass_attribute27                   varchar2 Descriptive flexfield
635 --   p_ass_attribute28                   varchar2 Descriptive flexfield
636 --   p_ass_attribute29                   varchar2 Descriptive flexfield
637 --   p_ass_attribute30                   varchar2 Descriptive flexfield
638 --   p_title                             varchar2 Title -must be NULL
639 --   p_employer_id                  Yes  varchar2 Employer Id
640 --   p_tax_area_code                Yes  varchar2 Tax Area Code
641 --   p_sic_area_code                     varchar2 SIC Area Code
642 --   p_salary_payout_locn                varchar2 Salary Payout Location
643 --   p_special_tax_exmp_category         varchar2 Special tax Exemption Category -- Bug 3828396 Added segment
644 --   p_contract_id                       in number collective agreement
645 --   p_establishment_id                  in number establishment
646 --   p_collective_agreement_id           in number collective_agreement
647 --   p_cagr_id_flex_num                  in number collective_Agreement
648 --                                                 grade structure
649 --   p_cag_segment1                      in varchar2 Collective agreement grade
650 --   p_cag_segment2                      in varchar2 Collective agreement grade
651 --   p_cag_segment3                      in varchar2 Collective agreement grade
652 --   p_cag_segment4                      in varchar2 Collective agreement grade
653 --   p_cag_segment5                      in varchar2 Collective agreement grade
654 --   p_cag_segment6                      in varchar2 Collective agreement grade
655 --   p_cag_segment7                      in varchar2 Collective agreement grade
656 --   p_cag_segment8                      in varchar2 Collective agreement grade
657 --   p_cag_segment9                      in varchar2 Collective agreement grade
658 --   p_cag_segment10                     in varchar2 Collective agreement grade
659 --   p_cag_segment11                     in varchar2 Collective agreement grade
660 --   p_cag_segment12                     in varchar2 Collective agreement grade
661 --   p_cag_segment13                     in varchar2 Collective agreement grade
662 --   p_cag_segment14                     in varchar2 Collective agreement grade
663 --   p_cag_segment15                     in varchar2 Collective agreement grade
664 --   p_cag_segment16                     in varchar2 Collective agreement grade
665 --   p_cag_segment17                     in varchar2 Collective agreement grade
666 --   p_cag_segment18                     in varchar2 Collective agreement grade
667 --   p_cag_segment19                     in varchar2 Collective agreement grade
668 --   p_cag_segment20                     in varchar2 Collective agreement grade
669 --   p_notice_period                     in number   Notice Period
670 --   p_notice_period_uom                 in varchar2 Notice Period Units
671 --   p_employee_category                 in varchar2 Employee Category
672 --   p_work_at_home                      in varchar2 Work At Home
673 --   p_job_post_source_name		 in varchar2 Job Source
674 --
675 -- Post Success:
676 --
677 --   The API sets the following out parameters:
678 --
679 --   Name                           Type     Description
680 --   p_object_version_number        number   New version number of the
681 --                                           assignment
682 --   p_soft_coding_keyflex_id       number   If p_validate is false and any
683 --                                           p_segment parameters have set
684 --                                           text, set to the id
685 --                                           of the corresponding soft coding
686 --                                           keyflex row.  If p_validate is
687 --                                           true, or no p_segment parameters
688 --                                           have set text, this will be null.
689 --   p_comment_id                   number   If p_validate is false and any
690 --                                           comment text exists, set to the id
691 --                                           of the corresponding person
692 --                                           comment row.  If p_validate is
693 --                                           true, or no comment text exists
694 --                                           this will be null.
695 --   p_effective_start_date         date     The effective start date for the
696 --                                           assignment changes
697 --   p_effective_end_date           date     The effective end date for the
698 --                                           assignment changes
699 --   p_concatenated_segments        varchar2 If p_validate is false and any
700 --                                           p_segment parameters have set
701 --                                           text, set to the concatenation
702 --                                           of all p_segment parameters with
703 --                                           set text. If p_validate is
704 --                                           true, or no p_segment parameters
705 --                                           have set text, this will be null.
706 --   p_no_managers_warning          boolean  Set to true if manager_flag is
707 --                                           updated from 'Y' to 'N' and no
708 --                                           other manager exists in
709 --                                           p_organization_id.
710 --                                           Set to false if another manager
711 --                                           exists in p_organization_id.
712 --                                           This parameter is always set
713 --                                           to false if manager_flag is
714 --                                           not updated. The warning value
715 --                                           only applies as of
716 --                                           p_effective_date.
717 --   p_other_manager_warning        boolean  Set to true if manager_flag is
718 --                                           changed from 'N' to 'Y' and a
719 --                                           manager already exists in the
720 --                                           organization, p_organization_id,
721 --                                           at p_effective_date.
722 --                                           Set to false if no other managers
723 --                                           exist in p_organization_id.
724 --                                           This is always set to false
725 --                                           if manager_flag is not updated.
726 --                                           The warning value only applies as
727 --                                           of p_effective_date.
728 --  p_hourly_salaried_warning       boolean  Set to True if Invalid Combination
729 --					     for pay_basis and hourly_salaried_code
730 --  p_cagr_grade_def_id             number   Set to the ID value of the grade if
731 --                                           cag_segments and a cagr_id_flex_num
732 --                                           are available
733 --  p_cagr_concatenated_segments    varchar2 If p_validate is false and any
734 --                                           p_segment parameters have set
735 --                                           text, set to the concatenation
736 --                                           of all p_segment parameters with
737 --                                           set text. If p_validate is
738 --                                           true, or no p_segment parameters
739 --                                           have set text, this will be null.
740 --
741 -- Post Failure:
742 --   The API does not update the assignment and raises an error.
743 --
744 -- Access Status:
745 --   Public.
746 --
747 -- {End Of Comments}
748 --
749 
750  PROCEDURE update_cn_emp_asg
751  ( p_validate                     IN     BOOLEAN  DEFAULT   false
752   ,p_effective_date               IN     DATE
753   ,p_datetrack_update_mode        IN     VARCHAR2
754   ,p_assignment_id                IN     NUMBER
755   ,p_object_version_number        IN OUT NOCOPY   NUMBER
756   ,p_supervisor_id                IN     NUMBER   DEFAULT   hr_api.g_number
757   ,p_assignment_number            IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
758   ,p_change_reason                IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
759   ,p_assignment_status_type_id    IN     NUMBER   DEFAULT   hr_api.g_number
760   ,p_comments                     IN     hr_comments.comment_text%TYPE DEFAULT   hr_api.g_varchar2
761   ,p_date_probation_end           IN     DATE     DEFAULT   hr_api.g_date
762   ,p_default_code_comb_id         IN     NUMBER   DEFAULT   hr_api.g_number
763   ,p_frequency                    IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
764   ,p_internal_address_line        IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
765   ,p_manager_flag                 IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
766   ,p_normal_hours                 IN     NUMBER   DEFAULT   hr_api.g_number
767   ,p_perf_review_period           IN     NUMBER   DEFAULT   hr_api.g_number
768   ,p_perf_review_period_frequency IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
769   ,p_probation_period             IN     NUMBER   DEFAULT   hr_api.g_number
770   ,p_probation_unit               IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
771   ,p_sal_review_period            IN     NUMBER   DEFAULT   hr_api.g_number
772   ,p_sal_review_period_frequency  IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
773   ,p_set_of_books_id              IN     NUMBER   DEFAULT   hr_api.g_number
774   ,p_source_type                  IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
775   ,p_time_normal_finish           IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
776   ,p_time_normal_start            IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
777   ,p_bargaining_unit_code         IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
778   ,p_labour_union_member_flag     IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
779   ,p_hourly_salaried_code         IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
780   ,p_ass_attribute_category       IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
781   ,p_ass_attribute1               IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
782   ,p_ass_attribute2               IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
783   ,p_ass_attribute3               IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
784   ,p_ass_attribute4               IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
785   ,p_ass_attribute5               IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
786   ,p_ass_attribute6               IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
787   ,p_ass_attribute7               IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
788   ,p_ass_attribute8               IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
789   ,p_ass_attribute9               IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
790   ,p_ass_attribute10              IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
791   ,p_ass_attribute11              IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
792   ,p_ass_attribute12              IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
793   ,p_ass_attribute13              IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
794   ,p_ass_attribute14              IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
795   ,p_ass_attribute15              IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
796   ,p_ass_attribute16              IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
797   ,p_ass_attribute17              IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
798   ,p_ass_attribute18              IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
799   ,p_ass_attribute19              IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
800   ,p_ass_attribute20              IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
801   ,p_ass_attribute21              IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
802   ,p_ass_attribute22              IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
803   ,p_ass_attribute23              IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
804   ,p_ass_attribute24              IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
805   ,p_ass_attribute25              IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
806   ,p_ass_attribute26              IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
807   ,p_ass_attribute27              IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
808   ,p_ass_attribute28              IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
809   ,p_ass_attribute29              IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
810   ,p_ass_attribute30              IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
811   ,p_title                        IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
812   ,p_employer_id                  IN     VARCHAR2 DEFAULT   hr_api.g_varchar2 -- Bug 2955433 Added DEFAULT
813   ,p_tax_area_code                IN     VARCHAR2 DEFAULT   hr_api.g_varchar2 -- Bug 2955433 Added DEFAULT
814   ,p_sic_area_code                IN     VARCHAR2 DEFAULT   hr_api.g_varchar2 -- Bug 2955433 Added DEFAULT
815   ,p_salary_payout_locn           IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
816   ,p_special_tax_exmp_category    IN     VARCHAR2 DEFAULT   hr_api.g_varchar2 -- Bug 3828396 Added segment
817   ,p_concat_segments              IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
818   ,p_contract_id                  IN     NUMBER   DEFAULT   hr_api.g_number
819   ,p_establishment_id             IN     NUMBER   DEFAULT   hr_api.g_number
820   ,p_collective_agreement_id      IN     NUMBER   DEFAULT   hr_api.g_number
821   ,p_cagr_id_flex_num             IN     NUMBER   DEFAULT   hr_api.g_number
822   ,p_cag_segment1                 IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
823   ,p_cag_segment2                 IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
824   ,p_cag_segment3                 IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
825   ,p_cag_segment4                 IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
826   ,p_cag_segment5                 IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
827   ,p_cag_segment6                 IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
828   ,p_cag_segment7                 IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
829   ,p_cag_segment8                 IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
830   ,p_cag_segment9                 IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
831   ,p_cag_segment10                IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
832   ,p_cag_segment11                IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
833   ,p_cag_segment12                IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
834   ,p_cag_segment13                IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
835   ,p_cag_segment14                IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
836   ,p_cag_segment15                IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
837   ,p_cag_segment16                IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
838   ,p_cag_segment17                IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
839   ,p_cag_segment18                IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
840   ,p_cag_segment19                IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
841   ,p_cag_segment20                IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
842   ,p_notice_period		  IN     NUMBER   DEFAULT   hr_api.g_number
843   ,p_notice_period_uom            IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
844   ,p_employee_category		  IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
845   ,p_work_at_home		  IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
846   ,p_job_post_source_name	  IN     VARCHAR2 DEFAULT   hr_api.g_varchar2
847   ,p_cagr_grade_def_id            IN OUT NOCOPY   NUMBER
848   ,p_cagr_concatenated_segments      OUT NOCOPY   VARCHAR2
849   ,p_concatenated_segments           OUT NOCOPY   VARCHAR2
850   ,p_soft_coding_keyflex_id       IN OUT NOCOPY   NUMBER
851   ,p_comment_id                      OUT NOCOPY   NUMBER
852   ,p_effective_start_date            OUT NOCOPY   DATE
853   ,p_effective_end_date              OUT NOCOPY   DATE
854   ,p_no_managers_warning             OUT NOCOPY   BOOLEAN
855   ,p_other_manager_warning           OUT NOCOPY   BOOLEAN
856   ,p_hourly_salaried_warning         OUT NOCOPY   BOOLEAN  )
857    IS
858    --
859    -- Declare cursors AND local variables
860    --
861    l_proc                       VARCHAR2(72);
862    l_effective_date             DATE;
863    l_legislation_code           per_business_groups.legislation_code%TYPE;
864    --
865 
866 
867  BEGIN
868 
869   l_proc  := g_package||'update_cn_emp_asg';
870   hr_cn_api.set_location(g_trace, 'Entering:'|| l_proc, 10);
871 
872    --
873    -- Truncate DATE variables
874    --
875     l_effective_date := trunc(p_effective_date);
876    --
877    hr_cn_api.check_assignment(p_assignment_id, 'CN', l_effective_date);
878    --
879 
880    hr_cn_api.set_location(g_trace, l_proc, 20);
881 
882     --
883     -- Call update_emp_asg business process
884     --    --
885    hr_assignment_api.update_emp_asg
886   (p_validate                   	=>	  p_validate
887   ,p_effective_date              	=>	  p_effective_date
888   ,p_datetrack_update_mode      	=>	  p_datetrack_update_mode
889   ,p_assignment_id                	=>	  p_assignment_id
890   ,p_object_version_number       	=>	  p_object_version_number
891   ,p_supervisor_id                 	=>	  p_supervisor_id
892   ,p_assignment_number           	=>	  p_assignment_number
893   ,p_change_reason               	=>	  p_change_reason
894   ,p_assignment_status_type_id     	=>	  p_assignment_status_type_id
895   ,p_comments                    	=>	  p_comments
896   ,p_date_probation_end               	=>	  p_date_probation_end
897   ,p_default_code_comb_id          	=>	  p_default_code_comb_id
898   ,p_frequency                   	=>	  p_frequency
899   ,p_internal_address_line       	=>	  p_internal_address_line
900   ,p_manager_flag                	=>	  p_manager_flag
901   ,p_normal_hours                  	=>	  p_normal_hours
902   ,p_perf_review_period            	=>	  p_perf_review_period
903   ,p_perf_review_period_frequency	=>	  p_perf_review_period_frequency
904   ,p_probation_period              	=>	  p_probation_period
905   ,p_probation_unit              	=>	  p_probation_unit
906   ,p_sal_review_period             	=>	  p_sal_review_period
907   ,p_sal_review_period_frequency 	=>	  p_sal_review_period_frequency
908   ,p_set_of_books_id               	=>	  p_set_of_books_id
909   ,p_source_type                 	=>	  p_source_type
910   ,p_time_normal_finish          	=>	  p_time_normal_finish
911   ,p_time_normal_start           	=>	  p_time_normal_start
912   ,p_bargaining_unit_code        	=>	  p_bargaining_unit_code
913   ,p_labour_union_member_flag    	=>	  p_labour_union_member_flag
914   ,p_hourly_salaried_code        	=>	  p_hourly_salaried_code
915   ,p_ass_attribute_category      	=>	  p_ass_attribute_category
916   ,p_ass_attribute1              	=>	  p_ass_attribute1
917   ,p_ass_attribute2              	=>	  p_ass_attribute2
918   ,p_ass_attribute3              	=>	  p_ass_attribute3
919   ,p_ass_attribute4              	=>	  p_ass_attribute4
920   ,p_ass_attribute5              	=>	  p_ass_attribute5
921   ,p_ass_attribute6              	=>	  p_ass_attribute6
922   ,p_ass_attribute7              	=>	  p_ass_attribute7
923   ,p_ass_attribute8              	=>	  p_ass_attribute8
924   ,p_ass_attribute9              	=>	  p_ass_attribute9
925   ,p_ass_attribute10             	=>	  p_ass_attribute10
926   ,p_ass_attribute11             	=>	  p_ass_attribute11
927   ,p_ass_attribute12             	=>	  p_ass_attribute12
928   ,p_ass_attribute13             	=>	  p_ass_attribute13
929   ,p_ass_attribute14             	=>	  p_ass_attribute14
930   ,p_ass_attribute15             	=>	  p_ass_attribute15
931   ,p_ass_attribute16             	=>	  p_ass_attribute16
932   ,p_ass_attribute17             	=>	  p_ass_attribute17
933   ,p_ass_attribute18             	=>	  p_ass_attribute18
934   ,p_ass_attribute19             	=>	  p_ass_attribute19
935   ,p_ass_attribute20             	=>	  p_ass_attribute20
936   ,p_ass_attribute21             	=>	  p_ass_attribute21
937   ,p_ass_attribute22             	=>	  p_ass_attribute22
938   ,p_ass_attribute23             	=>	  p_ass_attribute23
939   ,p_ass_attribute24             	=>	  p_ass_attribute24
940   ,p_ass_attribute25             	=>	  p_ass_attribute25
941   ,p_ass_attribute26             	=>	  p_ass_attribute26
942   ,p_ass_attribute27             	=>	  p_ass_attribute27
943   ,p_ass_attribute28             	=>	  p_ass_attribute28
944   ,p_ass_attribute29             	=>	  p_ass_attribute29
945   ,p_ass_attribute30             	=>	  p_ass_attribute30
946   ,p_title                       	=>	  p_title
947   ,p_segment1                    	=>	  p_employer_id
948   ,p_segment20                   	=>	  p_tax_area_code
949   ,p_segment21                   	=>	  p_sic_area_code
950   ,p_segment22                   	=>	  p_salary_payout_locn
951   ,p_segment23                          =>        p_special_tax_exmp_category -- Bug 3828396 Added segment
952   ,p_concat_segments             	=>	  p_concat_segments
953   ,p_contract_id                 	=>	  p_contract_id
954   ,p_establishment_id            	=>	  p_establishment_id
955   ,p_collective_agreement_id     	=>	  p_collective_agreement_id
956   ,p_cagr_id_flex_num            	=>	  p_cagr_id_flex_num
957   ,p_cag_segment1                	=>	  p_cag_segment1
958   ,p_cag_segment2                	=>	  p_cag_segment2
959   ,p_cag_segment3                	=>	  p_cag_segment3
960   ,p_cag_segment4                	=>	  p_cag_segment4
961   ,p_cag_segment5                	=>	  p_cag_segment5
962   ,p_cag_segment6                	=>	  p_cag_segment6
963   ,p_cag_segment7                	=>	  p_cag_segment7
964   ,p_cag_segment8                	=>	  p_cag_segment8
965   ,p_cag_segment9                	=>	  p_cag_segment9
966   ,p_cag_segment10               	=>	  p_cag_segment10
967   ,p_cag_segment11               	=>	  p_cag_segment11
968   ,p_cag_segment12               	=>	  p_cag_segment12
969   ,p_cag_segment13               	=>	  p_cag_segment13
970   ,p_cag_segment14               	=>	  p_cag_segment14
971   ,p_cag_segment15               	=>	  p_cag_segment15
972   ,p_cag_segment16               	=>	  p_cag_segment16
973   ,p_cag_segment17               	=>	  p_cag_segment17
974   ,p_cag_segment18               	=>	  p_cag_segment18
975   ,p_cag_segment19               	=>	  p_cag_segment19
976   ,p_cag_segment20               	=>	  p_cag_segment20
977   ,p_notice_period			=>	  p_notice_period
978   ,p_notice_period_uom			=>	  p_notice_period_uom
979   ,p_employee_category			=>	  p_employee_category
980   ,p_work_at_home			=>	  p_work_at_home
981   ,p_job_post_source_name		=>	  p_job_post_source_name
982   ,p_cagr_grade_def_id          	=>	  p_cagr_grade_def_id
983   ,p_cagr_concatenated_segments     	=>	  p_cagr_concatenated_segments
984   ,p_concatenated_segments           	=>	  p_concatenated_segments
985   ,p_soft_coding_keyflex_id       	=>	  p_soft_coding_keyflex_id
986   ,p_comment_id                      	=>	  p_comment_id
987   ,p_effective_start_date            	=>	  p_effective_start_date
988   ,p_effective_end_date              	=>	  p_effective_end_date
989   ,p_no_managers_warning            	=>	  p_no_managers_warning
990   ,p_other_manager_warning           	=>	  p_other_manager_warning
991   ,p_hourly_salaried_warning         	=>	  p_hourly_salaried_warning );
992 
993 
994   hr_cn_api.set_location(g_trace, 'Leaving:'|| l_proc, 30);
995 
996 --
997 End update_cn_emp_asg;
998 
999 BEGIN
1000   g_package := 'hr_cn_assignment_api.';
1001 END hr_cn_assignment_api;