DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_NL_ASSIGNMENT_API

Source


1 PACKAGE BODY hr_nl_assignment_api AS
2 /* $Header: peasgnli.pkb 120.2 2006/01/18 00:09:45 summohan noship $ */
3 
4 --
5 --------------------------------------------------------------------------------
6 -- create_nl_secondary_emp_asg
7 --------------------------------------------------------------------------------
8 --
9 --
10 -- Description:
11 --   Procedure creates secondary employment assignment for an employee.
12 --
13 -- Prerequisites:
14 --   The person (p_person_id) and the organization (p_organization_id)
15 --   must exist at the effective start date of the assignment (p_effective_date).
16 --
17 -- In Parameters:
18 --   Name                           Reqd Type     Description
19 --   p_validate                          boolean  If true, the database remains
20 --                                                unchanged. If false a valid
21 --                                                assignment is created in
22 --                                                the database.
23 --   p_effective_date                Yes date     The effective start date of
24 --                                                this assignment
25 --   p_person_id                     Yes number   The person for whom this
26 --                                                assigment applies
27 --   p_organization_id               Yes number   Organization
28 --   p_grade_id                          number   Grade
29 --   p_position_id                       number   Position
30 --   p_job_id                            number   Job
31 --   p_assignment_status_type_id         number   Assigmnent status
32 --   p_payroll_id                        number   Payroll
33 --   p_location_id                       number   Location
34 --   p_supervisor_id                     number   Supervisor
35 --   p_special_ceiling_step_id           number   Special ceiling step
36 --   p_pay_basis_id                      number   Salary basis
37 --   p_assignment_number                 varchar2 Assignment number
38 --   p_change_reason                     varchar2 Change reason
39 --   p_comments                          varchar2 Comments
40 --   p_date_probation_end                date     End date of probation period
41 --   p_default_code_comb_id              number   Foreign key to
42 --                                                GL_CODE_COMBINATIONS
43 --   p_employment_category               varchar2 Employment category
44 --   p_frequency                         varchar2 Frequency for quoting working hours (eg per week)
45 --   p_internal_address_line             varchar2 Internal address line
46 --   p_manager_flag                      varchar2 Indicates whether employee
47 --                                                is a manager
48 --   p_regular_working_hrs               number   Normal working hours
49 --   p_perf_review_period                number   Performance review period
50 --   p_perf_review_period_frequency      varchar2 Units for quoting performance
51 --                                                review period (eg months)
52 --   p_probation_period                  number   Length of probation period
53 --   p_probation_unit                    varchar2 Units for quoting probation period (eg months)
54 --   p_sal_review_period                 number   Salary review period
55 --   p_sal_review_period_frequency       varchar2 Units for quoting salary
56 --                                                review period (eg months)
57 --   p_set_of_books_id                   number   Set of books (GL)
58 --   p_source_type                       varchar2 Recruitment activity source
59 --   p_time_normal_finish                varchar2 Normal work finish time
60 --   p_time_normal_start                 varchar2 Normal work start time
61 --   p_bargaining_unit_code              varchar2 Code for bargaining unit
62 --   p_labour_union_member_flag          varchar2 Indicates whether employee
63 --                                                is a labour union member
64 --   p_hourly_salaried_code              varchar2 Hourly or salaried pay code
65 --   p_ass_attribute_category            varchar2 Descriptive flexfield
66 --                                                attribute category
67 --   p_ass_attribute1                    varchar2 Descriptive flexfield
68 --   p_ass_attribute2                    varchar2 Descriptive flexfield
69 --   p_ass_attribute3                    varchar2 Descriptive flexfield
70 --   p_ass_attribute4                    varchar2 Descriptive flexfield
71 --   p_ass_attribute5                    varchar2 Descriptive flexfield
72 --   p_ass_attribute6                    varchar2 Descriptive flexfield
73 --   p_ass_attribute7                    varchar2 Descriptive flexfield
74 --   p_ass_attribute8                    varchar2 Descriptive flexfield
75 --   p_ass_attribute9                    varchar2 Descriptive flexfield
76 --   p_ass_attribute10                   varchar2 Descriptive flexfield
77 --   p_ass_attribute11                   varchar2 Descriptive flexfield
78 --   p_ass_attribute12                   varchar2 Descriptive flexfield
79 --   p_ass_attribute13                   varchar2 Descriptive flexfield
80 --   p_ass_attribute14                   varchar2 Descriptive flexfield
81 --   p_ass_attribute15                   varchar2 Descriptive flexfield
82 --   p_ass_attribute16                   varchar2 Descriptive flexfield
83 --   p_ass_attribute17                   varchar2 Descriptive flexfield
84 --   p_ass_attribute18                   varchar2 Descriptive flexfield
85 --   p_ass_attribute19                   varchar2 Descriptive flexfield
86 --   p_ass_attribute20                   varchar2 Descriptive flexfield
87 --   p_ass_attribute21                   varchar2 Descriptive flexfield
88 --   p_ass_attribute22                   varchar2 Descriptive flexfield
89 --   p_ass_attribute23                   varchar2 Descriptive flexfield
90 --   p_ass_attribute24                   varchar2 Descriptive flexfield
91 --   p_ass_attribute25                   varchar2 Descriptive flexfield
92 --   p_ass_attribute26                   varchar2 Descriptive flexfield
93 --   p_ass_attribute27                   varchar2 Descriptive flexfield
94 --   p_ass_attribute28                   varchar2 Descriptive flexfield
95 --   p_ass_attribute29                   varchar2 Descriptive flexfield
96 --   p_ass_attribute30                   varchar2 Descriptive flexfield
97 --   p_title				 varchar2 Title
98 --   p_employment_type                   varchar2 Employment Type
99 --   p_employment_subtype                varchar2 Employment Sub Type
100 --   p_tax_reductions_apply              varchar2 Tax Reductions Apply
101 --   p_paid_parental_leave_apply         varchar2 Paid Parental Leave
102 --   p_work_pattern                      varchar2 Work Pattern
103 --   p_labour_tax_apply                  varchar2 Labour Tax Reduction
104 --   p_income_code                       varchar2 Income Code
105 --   p_addl_snr_tax_apply                varchar2 Additional Sr Tax Reduction
106 --   p_special_indicators                varchar2 Special Indicators
107 --Indicates whether an employee's assignment is eligible for certain allowance or not.
108 --The value being the corresponding Iindicator code(from lookup NL_SPECIAL_INDICATORS)
109 --The codes for all Special Indicators are concatenated together and stored in this segment.
110 --If the user has selected Special Indicators 01, 28 and 41,
111 --then this segment would have the value '012841' stored in it.
112 --A maximum of 13 indicators can be specified
113 
114 --   p_tax_code                          varchar2 Tax Code
115 --   p_last_year_salary                  varchar2 Last Years Salary
116 --   p_low_wages_apply                   varchar2 Low Wages
117 --   p_education_apply                   varchar2 Education
118 --   p_child_day_care_apply              varchar2 Child Day Care
119 --   p_anonymous_employee                varchar2 Anonymous Employee
120 --   p_long_term_unemployed              varchar2 Long Term Unemployed
121 --   p_foreigner_with_spl_knowledge      varchar2 Foreigner with Sp Knowledge
122 --   p_beneficial_rule_apply             varchar2 Use Beneficial Rule
123 --   p_individual_percentage             number   Individual Percentage
124 --   p_commencing_from                   date     Commencing From
125 --   p_date_approved                     date     Date Approved
126 --   p_date_ending                       date     Date Ending
127 --   p_foreigner_tax_expiry              date     Foreigner Tax Expiry Date
128 --   p_job_level                         varchar2 Job Level
129 --   p_max_days_method                   varchar2 Maximum Days Method
130 --   p_override_real_si_days             number   Override Real SI Days
131 --   p_indiv_working_hrs                 number   Individual Working Hours
132 --   p_part_time_percentage              number   Part time percentage
133 --   p_si_special_indicators             varchar2 SI Special Indicators
134 --   p_deviating_working_hours           varchar2 Reasons for deviating working hours
135 --   p_incidental_worker                 varchar2 Incidental Worker Flag
136 --   p_scl_concat_segments               varchar2 Concatenated scl segments
137 --   p_pgp_segment1                      varchar2 People group segment
138 --   p_pgp_segment2                      varchar2 People group segment
139 --   p_pgp_segment3                      varchar2 People group segment
140 --   p_pgp_segment4                      varchar2 People group segment
141 --   p_pgp_segment5                      varchar2 People group segment
142 --   p_pgp_segment6                      varchar2 People group segment
143 --   p_pgp_segment7                      varchar2 People group segment
144 --   p_pgp_segment8                      varchar2 People group segment
145 --   p_pgp_segment9                      varchar2 People group segment
146 --   p_pgp_segment10                     varchar2 People group segment
147 --   p_pgp_segment11                     varchar2 People group segment
148 --   p_pgp_segment12                     varchar2 People group segment
149 --   p_pgp_segment13                     varchar2 People group segment
150 --   p_pgp_segment14                     varchar2 People group segment
151 --   p_pgp_segment15                     varchar2 People group segment
152 --   p_pgp_segment16                     varchar2 People group segment
153 --   p_pgp_segment17                     varchar2 People group segment
154 --   p_pgp_segment18                     varchar2 People group segment
155 --   p_pgp_segment19                     varchar2 People group segment
156 --   p_pgp_segment20                     varchar2 People group segment
157 --   p_pgp_segment21                     varchar2 People group segment
158 --   p_pgp_segment22                     varchar2 People group segment
159 --   p_pgp_segment23                     varchar2 People group segment
160 --   p_pgp_segment24                     varchar2 People group segment
161 --   p_pgp_segment25                     varchar2 People group segment
162 --   p_pgp_segment26                     varchar2 People group segment
163 --   p_pgp_segment27                     varchar2 People group segment
164 --   p_pgp_segment28                     varchar2 People group segment
165 --   p_pgp_segment29                     varchar2 People group segment
166 --   p_pgp_segment30                     varchar2 People group segment
167 --   p_contract_id                       number   contract
168 --   p_establishment_id                  number   establishment
169 --   p_collective_agreement_id           number   collective_agreement
170 --   p_cagr_id_flex_num                  number   collective_Agreement
171 --                                                 grade structure
172 --   p_cag_segment1                      varchar2 Collective agreement grade
173 --   p_cag_segment2                      varchar2 Collective agreement grade
174 --   p_cag_segment3                      varchar2 Collective agreement grade
175 --   p_cag_segment4                      varchar2 Collective agreement grade
176 --   p_cag_segment5                      varchar2 Collective agreement grade
177 --   p_cag_segment6                      varchar2 Collective agreement grade
178 --   p_cag_segment7                      varchar2 Collective agreement grade
179 --   p_cag_segment8                      varchar2 Collective agreement grade
180 --   p_cag_segment9                      varchar2 Collective agreement grade
181 --   p_cag_segment10                     varchar2 Collective agreement grade
182 --   p_cag_segment11                     varchar2 Collective agreement grade
183 --   p_cag_segment12                     varchar2 Collective agreement grade
184 --   p_cag_segment13                     varchar2 Collective agreement grade
185 --   p_cag_segment14                     varchar2 Collective agreement grade
186 --   p_cag_segment15                     varchar2 Collective agreement grade
187 --   p_cag_segment16                     varchar2 Collective agreement grade
188 --   p_cag_segment17                     varchar2 Collective agreement grade
189 --   p_cag_segment18                     varchar2 Collective agreement grade
190 --   p_cag_segment19                     varchar2 Collective agreement grade
191 --   p_cag_segment20                     varchar2 Collective agreement grade
192 --   p_notice_period                     number   Notice Period
193 --   p_notice_period_uom                 varchar2 Notice Period Units
194 --   p_employee_category                 varchar2 Employee Category
195 --   p_work_at_home                      varchar2 Work At Home
196 --   p_job_post_source_name		 varchar2 Job Source
197 --
198 -- Post Success:
199 --   The API sets the following out parameters:
200 --
201 --   Name                           Type     Description
202 --   p_assignment_number            varchar2 If an assignment number is not
203 --                                           passed in, a value is generated.
204 --   p_assignment_id                number   Unique ID for the assignment
205 --                                           created by the API
206 --   p_soft_coding_keyflex_id       number   Soft coding combination ID
207 --   p_people_group_id              number   People Group combination ID
208 --   p_object_version_number        number   Version number of the new
209 --                                           assignment
210 --   p_effective_start_date         date     Effective start date of this
211 --                                           assignment
212 --   p_effective_end_date           date     Effective end date of this
213 --                                           assignment
214 --   p_assignment_sequence          number
215 --   p_comment_id                   number
216 --   p_concatenated_segments        varchar2 Soft Coding combination name
217 --   p_group_name                   varchar2 People Group name
218 --   p_other_manager_warning        boolean  Set to true if manager_flag is 'Y'
219 --                                           and a manager already exists in
220 --                                           the organization
221 --                                           (p_organization_id) at
222 --   p_hourly_salaried_warning      boolean  Set to true if combination values
223 --                                           entered for pay_basis and
224 --                                           hourly_salaried_code are invalid
225 --                                  date     p_effective_date
226 --
227 --  p_cagr_grade_def_id             number   Set to the ID value of the grade if
228 --                                           cag_segments and a cagr_id_flex_num
229 --                                           are available
230 --  p_cagr_concatenated_segments    varchar2 If p_validate is false and any
231 --                                           p_segment parameters have set
232 --                                           text, set to the concatenation
233 --                                           of all p_segment parameters with
234 --                                           set text. If p_validate is
235 --                                           true, or no p_segment parameters
236 --                                           have set text, this will be null.
237 
238 --  p_hourly_salaried_warning       boolean  Set to True if Invalid Combination
239 --					     for pay_basis and hourly_salaried_code
240 --  p_gsp_post_process_warning      varchar2 Set to a warning message name
241 --                                           from pqh_gsp_post_process.
242 
243 
244 -- Post Failure:
245 --   The API does not create the assignment and raises an error.
246 --
247 --
248 --
249 --
250 PROCEDURE create_nl_secondary_emp_asg
251     (p_validate                     IN     BOOLEAN   DEFAULT   false
252     ,p_effective_date               IN     DATE
253     ,p_person_id                    IN     NUMBER
254     ,p_organization_id              IN     NUMBER
255     ,p_grade_id                     IN     NUMBER    DEFAULT null
256     ,p_position_id                  IN     NUMBER    DEFAULT null
257     ,p_job_id                       IN     NUMBER    DEFAULT null
258     ,p_assignment_status_type_id    IN     NUMBER    DEFAULT null
259     ,p_payroll_id                   IN     NUMBER    DEFAULT null
260     ,p_location_id                  IN     NUMBER    DEFAULT null
261     ,p_supervisor_id                IN     NUMBER    DEFAULT null
262     ,p_special_ceiling_step_id      IN     NUMBER    DEFAULT null
263     ,p_pay_basis_id                 IN     NUMBER    DEFAULT null
264     ,p_assignment_number            IN OUT NOCOPY VARCHAR2
265     ,p_change_reason                IN     VARCHAR2  DEFAULT null
266     ,p_comments                     IN     VARCHAR2  DEFAULT null
267     ,p_date_probation_end           IN     DATE      DEFAULT null
268     ,p_default_code_comb_id         IN     NUMBER    DEFAULT null
269     ,p_employment_category          IN     VARCHAR2  DEFAULT null
270     ,p_frequency                    IN     VARCHAR2  DEFAULT null
271     ,p_internal_address_line        IN     VARCHAR2  DEFAULT null
272     ,p_manager_flag                 IN     VARCHAR2  DEFAULT null
273     ,p_regular_working_hrs          IN     NUMBER    DEFAULT null
274     ,p_perf_review_period           IN     NUMBER    DEFAULT null
275     ,p_perf_review_period_frequency IN     VARCHAR2  DEFAULT null
276     ,p_probation_period             IN     NUMBER    DEFAULT null
277     ,p_probation_unit               IN     VARCHAR2  DEFAULT null
278     ,p_sal_review_period            IN     NUMBER    DEFAULT null
279     ,p_sal_review_period_frequency  IN     VARCHAR2  DEFAULT null
280     ,p_set_of_books_id              IN     NUMBER    DEFAULT null
281     ,p_source_type                  IN     VARCHAR2  DEFAULT null
282     ,p_time_normal_finish           IN     VARCHAR2  DEFAULT null
283     ,p_time_normal_start            IN     VARCHAR2  DEFAULT null
284     ,p_bargaining_unit_code         IN     VARCHAR2  DEFAULT null
285     ,p_labour_union_member_flag     IN     VARCHAR2  DEFAULT null
286     ,p_hourly_salaried_code         IN     VARCHAR2  DEFAULT null
287     ,p_ass_attribute_category       IN     VARCHAR2  DEFAULT null
288     ,p_ass_attribute1               IN     VARCHAR2  DEFAULT null
289     ,p_ass_attribute2               IN     VARCHAR2  DEFAULT null
290     ,p_ass_attribute3               IN     VARCHAR2  DEFAULT null
291     ,p_ass_attribute4               IN     VARCHAR2  DEFAULT null
292     ,p_ass_attribute5               IN     VARCHAR2  DEFAULT null
293     ,p_ass_attribute6               IN     VARCHAR2  DEFAULT null
294     ,p_ass_attribute7               IN     VARCHAR2  DEFAULT null
295     ,p_ass_attribute8               IN     VARCHAR2  DEFAULT null
296     ,p_ass_attribute9               IN     VARCHAR2  DEFAULT null
297     ,p_ass_attribute10              IN     VARCHAR2  DEFAULT null
298     ,p_ass_attribute11              IN     VARCHAR2  DEFAULT null
299     ,p_ass_attribute12              IN     VARCHAR2  DEFAULT null
300     ,p_ass_attribute13              IN     VARCHAR2  DEFAULT null
301     ,p_ass_attribute14              IN     VARCHAR2  DEFAULT null
302     ,p_ass_attribute15              IN     VARCHAR2  DEFAULT null
303     ,p_ass_attribute16              IN     VARCHAR2  DEFAULT null
304     ,p_ass_attribute17              IN     VARCHAR2  DEFAULT null
305     ,p_ass_attribute18              IN     VARCHAR2  DEFAULT null
306     ,p_ass_attribute19              IN     VARCHAR2  DEFAULT null
307     ,p_ass_attribute20              IN     VARCHAR2  DEFAULT null
308     ,p_ass_attribute21              IN     VARCHAR2  DEFAULT null
309     ,p_ass_attribute22              IN     VARCHAR2  DEFAULT null
310     ,p_ass_attribute23              IN     VARCHAR2  DEFAULT null
311     ,p_ass_attribute24              IN     VARCHAR2  DEFAULT null
312     ,p_ass_attribute25              IN     VARCHAR2  DEFAULT null
313     ,p_ass_attribute26              IN     VARCHAR2  DEFAULT null
314     ,p_ass_attribute27              IN     VARCHAR2  DEFAULT null
315     ,p_ass_attribute28              IN     VARCHAR2  DEFAULT null
316     ,p_ass_attribute29              IN     VARCHAR2  DEFAULT null
317     ,p_ass_attribute30              IN     VARCHAR2  DEFAULT null
318     ,p_title                        IN     VARCHAR2  DEFAULT null
319     ,p_employment_type              IN     VARCHAR2  DEFAULT null  --Employment Type
320     ,p_employment_subtype           IN     VARCHAR2  DEFAULT null  --Employment Sub Type
321     ,p_tax_reductions_apply         IN     VARCHAR2  DEFAULT null  --Tax Reductions Apply
322     ,p_paid_parental_leave_apply    IN     VARCHAR2  DEFAULT null  -- Paid Parental Leave
323     ,p_work_pattern                 IN     VARCHAR2  DEFAULT null  --Work Pattern
324     ,p_labour_tax_apply             IN     VARCHAR2  DEFAULT null  --Labour Tax Reduction
325     ,p_income_code                  IN     VARCHAR2  DEFAULT null  --Income Code
326     ,p_addl_snr_tax_apply           IN     VARCHAR2  DEFAULT null  --Additional Sr Tax Reduction
327     ,p_special_indicators           IN     VARCHAR2  DEFAULT null  --Special Indicators
328     ,p_tax_code                     IN     VARCHAR2  DEFAULT null  --Tax Code
329     ,p_last_year_salary             IN     VARCHAR2  DEFAULT null  --Last Years Salary
330     ,p_low_wages_apply              IN     VARCHAR2  DEFAULT null  --Low Wages
331     ,p_education_apply              IN     VARCHAR2  DEFAULT null  --Education
332     ,p_child_day_care_apply         IN     VARCHAR2  DEFAULT null  --Child Day Care
333     ,p_anonymous_employee           IN     VARCHAR2  DEFAULT null  --Anonymous Employee
334     ,p_long_term_unemployed         IN     VARCHAR2  DEFAULT null  --Long Term Unemployed
335     ,p_foreigner_with_spl_knowledge IN     VARCHAR2  DEFAULT null  --Foreigner with Sp Knowledge
336     ,p_beneficial_rule_apply        IN     VARCHAR2  DEFAULT null  --Use Beneficial Rule
337     ,p_individual_percentage        IN     NUMBER    DEFAULT null  --Individual Percentage
338     ,p_commencing_from              IN     DATE      DEFAULT null  --Commencing From
339     ,p_date_approved                IN     DATE      DEFAULT null  --Date Approved
340     ,p_date_ending                  IN     DATE      DEFAULT null  --Date Ending
341     ,p_foreigner_tax_expiry         IN     DATE      DEFAULT null  --Foreigner Tax Expiry Date
342     ,p_job_level                    IN     VARCHAR2  DEFAULT null  --Job Level
343     ,p_max_days_method              IN     VARCHAR2  DEFAULT null  --Maximum Days Method
344     ,p_override_real_si_days        IN     NUMBER    DEFAULT null  --Override Real SI Days
345     ,p_indiv_working_hrs            IN     NUMBER    DEFAULT null  --Individual Working Hours
346     ,p_part_time_percentage         IN     NUMBER    DEFAULT null  --Part time percentage
347     ,p_si_special_indicators        IN     VARCHAR2  DEFAULT null  --SI Special Indicators
348     ,p_deviating_working_hours      IN     VARCHAR2  DEFAULT null  --Deviating Working Hours
349     ,p_incidental_worker            IN     VARCHAR2  DEFAULT null  --Incidental Worker
350     ,p_scl_concat_segments          IN     VARCHAR2  DEFAULT null
351     ,p_pgp_segment1                 IN     VARCHAR2  DEFAULT null
352     ,p_pgp_segment2                 IN     VARCHAR2  DEFAULT null
353     ,p_pgp_segment3                 IN     VARCHAR2  DEFAULT null
354     ,p_pgp_segment4                 IN     VARCHAR2  DEFAULT null
355     ,p_pgp_segment5                 IN     VARCHAR2  DEFAULT null
356     ,p_pgp_segment6                 IN     VARCHAR2  DEFAULT null
357     ,p_pgp_segment7                 IN     VARCHAR2  DEFAULT null
358     ,p_pgp_segment8                 IN     VARCHAR2  DEFAULT null
359     ,p_pgp_segment9                 IN     VARCHAR2  DEFAULT null
360     ,p_pgp_segment10                IN     VARCHAR2  DEFAULT null
361     ,p_pgp_segment11                IN     VARCHAR2  DEFAULT null
362     ,p_pgp_segment12                IN     VARCHAR2  DEFAULT null
363     ,p_pgp_segment13                IN     VARCHAR2  DEFAULT null
364     ,p_pgp_segment14                IN     VARCHAR2  DEFAULT null
365     ,p_pgp_segment15                IN     VARCHAR2  DEFAULT null
366     ,p_pgp_segment16                IN     VARCHAR2  DEFAULT null
367     ,p_pgp_segment17                IN     VARCHAR2  DEFAULT null
368     ,p_pgp_segment18                IN     VARCHAR2  DEFAULT null
369     ,p_pgp_segment19                IN     VARCHAR2  DEFAULT null
370     ,p_pgp_segment20                IN     VARCHAR2  DEFAULT null
371     ,p_pgp_segment21                IN     VARCHAR2  DEFAULT null
372     ,p_pgp_segment22                IN     VARCHAR2  DEFAULT null
373     ,p_pgp_segment23                IN     VARCHAR2  DEFAULT null
374     ,p_pgp_segment24                IN     VARCHAR2  DEFAULT null
375     ,p_pgp_segment25                IN     VARCHAR2  DEFAULT null
376     ,p_pgp_segment26                IN     VARCHAR2  DEFAULT null
377     ,p_pgp_segment27                IN     VARCHAR2  DEFAULT null
378     ,p_pgp_segment28                IN     VARCHAR2  DEFAULT null
379     ,p_pgp_segment29                IN     VARCHAR2  DEFAULT null
380     ,p_pgp_segment30                IN     VARCHAR2  DEFAULT null
381     ,p_pgp_concat_segments          IN     VARCHAR2  DEFAULT null
382     ,p_contract_id                  IN     NUMBER    DEFAULT null
383     ,p_establishment_id             IN     NUMBER    DEFAULT null
384     ,p_collective_agreement_id      IN     NUMBER    DEFAULT null
385     ,p_cagr_id_flex_num             IN     NUMBER    DEFAULT null
386     ,p_cag_segment1                 IN     VARCHAR2  DEFAULT null
387     ,p_cag_segment2                 IN     VARCHAR2  DEFAULT null
388     ,p_cag_segment3                 IN     VARCHAR2  DEFAULT null
389     ,p_cag_segment4                 IN     VARCHAR2  DEFAULT null
390     ,p_cag_segment5                 IN     VARCHAR2  DEFAULT null
391     ,p_cag_segment6                 IN     VARCHAR2  DEFAULT null
392     ,p_cag_segment7                 IN     VARCHAR2  DEFAULT null
393     ,p_cag_segment8                 IN     VARCHAR2  DEFAULT null
394     ,p_cag_segment9                 IN     VARCHAR2  DEFAULT null
395     ,p_cag_segment10                IN     VARCHAR2  DEFAULT null
396     ,p_cag_segment11                IN     VARCHAR2  DEFAULT null
397     ,p_cag_segment12                IN     VARCHAR2  DEFAULT null
398     ,p_cag_segment13                IN     VARCHAR2  DEFAULT null
399     ,p_cag_segment14                IN     VARCHAR2  DEFAULT null
400     ,p_cag_segment15                IN     VARCHAR2  DEFAULT null
401     ,p_cag_segment16                IN     VARCHAR2  DEFAULT null
402     ,p_cag_segment17                IN     VARCHAR2  DEFAULT null
403     ,p_cag_segment18                IN     VARCHAR2  DEFAULT null
404     ,p_cag_segment19                IN     VARCHAR2  DEFAULT null
405     ,p_cag_segment20                IN     VARCHAR2  DEFAULT null
406     ,p_notice_period                IN     NUMBER   DEFAULT null
407     ,p_notice_period_uom            IN     VARCHAR2  DEFAULT null
408     ,p_employee_category            IN     VARCHAR2   DEFAULT null
409     ,p_work_at_home                 IN     VARCHAR2   DEFAULT null
410     ,p_job_post_source_name         IN     VARCHAR2   DEFAULT null
411     ,p_grade_ladder_pgm_id          in     number
412     ,p_supervisor_assignment_id     in     number
413     ,p_group_name                   OUT    NOCOPY VARCHAR2
414     ,p_concatenated_segments        OUT    NOCOPY VARCHAR2
415     ,p_cagr_grade_def_id            IN     OUT NOCOPY NUMBER
416     ,p_cagr_concatenated_segments   OUT    NOCOPY VARCHAR2
417     ,p_assignment_id                OUT    NOCOPY NUMBER
418     ,p_soft_coding_keyflex_id       IN OUT NOCOPY NUMBER
419     ,p_people_group_id              IN OUT NOCOPY NUMBER
420     ,p_object_version_number        OUT   NOCOPY NUMBER
421     ,p_effective_start_date         OUT   NOCOPY DATE
422     ,p_effective_end_date           OUT   NOCOPY DATE
423     ,p_assignment_sequence          OUT   NOCOPY NUMBER
424     ,p_comment_id                   OUT   NOCOPY NUMBER
425     ,p_other_manager_warning        OUT   NOCOPY BOOLEAN
426     ,p_hourly_salaried_warning      OUT   NOCOPY BOOLEAN
427     ,p_gsp_post_process_warning        out nocopy varchar2) IS
428 
429     --
430     -- Declare Local Variables
431     --
432     l_assignment_number per_assignments_f.assignment_number%TYPE;
433     l_legislation_code  per_business_groups.legislation_code%TYPE;
434 
435     --
436     l_concatenated_segments  hr_soft_coding_keyflex.concatenated_segments%TYPE;
437     l_soft_coding_keyflex_id per_assignments_f.soft_coding_keyflex_id%TYPE;
438 
439     --
440     l_commencing_from varchar2(100);
441     l_date_approved   varchar2(100);
442     l_date_ending     varchar2(100);
443     l_foreigner_tax_expiry varchar2(100);
444     --
445 
446     p_override_real_si_days1 varchar2(100);
447     p_indiv_working_hrs1   varchar2(100);
448     p_part_time_percentage1 varchar2(100);
449     p_individual_percentage1 varchar2(100);
450 
451     l_effective_date DATE;
452 
453     --
454 
455     -- Cursor Definitions
456     --
457     CURSOR csr_check_legislation IS
458     SELECT NULL
459     FROM   per_assignments_f        paf
460           ,per_business_groups      pbg
461     WHERE  paf.person_id            = p_person_id
462     AND    pbg.business_group_id    = paf.business_group_id
463     AND    pbg.legislation_code     = 'NL'
464     AND    l_effective_date         BETWEEN paf.effective_start_date
465                                     AND     paf.effective_end_date;
466     --
467     --
468 BEGIN
469     --
470     l_effective_date := trunc(p_effective_date);
471     --
472 
473     --
474     -- Ensure that the employee is within a NL business group
475     --
476     OPEN csr_check_legislation;
477         FETCH csr_check_legislation INTO l_legislation_code;
478         IF  csr_check_legislation%NOTFOUND THEN
479             CLOSE csr_check_legislation;
480             hr_utility.set_message(801, 'HR_7961_PER_BUS_GRP_INVALID');
481             hr_utility.set_message_token('LEG_CODE', 'NL');
482             hr_utility.raise_error;
483         END IF;
484     CLOSE csr_check_legislation;
485     --
486 
487 
488 
489     IF p_commencing_from IS NULL THEN
490         l_commencing_from  := NULL;
491     ELSE
492 	l_commencing_from  := FND_DATE.DATE_TO_CANONICAL(p_commencing_from);
493     END IF;
494 
495     IF p_date_approved IS NULL THEN
496         l_date_approved  := NULL;
497     ELSE
498 	l_date_approved  := FND_DATE.DATE_TO_CANONICAL(p_date_approved);
499     END IF;
500 
501     IF p_date_ending IS NULL THEN
502         l_date_ending  := NULL;
503     ELSE
504 	l_date_ending  := FND_DATE.DATE_TO_CANONICAL(p_date_ending);
505     END IF;
506 
507     IF p_foreigner_tax_expiry IS NULL THEN
508         l_foreigner_tax_expiry  := NULL;
509     ELSE
510 	l_foreigner_tax_expiry  := FND_DATE.DATE_TO_CANONICAL(p_foreigner_tax_expiry);
511     END IF;
512 
513     IF p_override_real_si_days IS NULL THEN
514 	p_override_real_si_days1  := NULL;
515     ELSIF (p_override_real_si_days <> hr_api.g_number) THEN
516 	p_override_real_si_days1  := FND_NUMBER.NUMBER_TO_CANONICAL(p_override_real_si_days);
517     ELSE
518         p_override_real_si_days1  := hr_api.g_varchar2 ;
519     END IF;
520 
521     IF p_indiv_working_hrs IS NULL THEN
522 	p_indiv_working_hrs1  := NULL;
523     ELSIF (p_indiv_working_hrs <> hr_api.g_number) THEN
524 	p_indiv_working_hrs1  := FND_NUMBER.NUMBER_TO_CANONICAL(p_indiv_working_hrs);
525     ELSE
526         p_indiv_working_hrs1  := hr_api.g_varchar2 ;
527     END IF;
528 
529     IF p_part_time_percentage IS NULL THEN
530 	p_part_time_percentage1  := NULL;
531     ELSIF (p_part_time_percentage <> hr_api.g_number) THEN
532 	p_part_time_percentage1 := FND_NUMBER.NUMBER_TO_CANONICAL(p_part_time_percentage);
533     ELSE
534         p_part_time_percentage1 := hr_api.g_varchar2 ;
535     END IF;
536 
537     IF (p_individual_percentage <> hr_api.g_number) THEN
538 	p_individual_percentage1 := FND_NUMBER.NUMBER_TO_CANONICAL(p_individual_percentage);
539     ELSIF p_individual_percentage IS NULL THEN
540 	p_individual_percentage1  := NULL;
541     ELSE
542         p_individual_percentage1 := hr_api.g_varchar2 ;
543     END IF;
544 
545     --
546     -- Call create_secondary_emp_asg
547     --
548     hr_assignment_api.create_secondary_emp_asg
549         (p_validate                     => p_validate
550         ,p_effective_date               => p_effective_date
551         ,p_person_id                    => p_person_id
552         ,p_organization_id              => p_organization_id
553         ,p_grade_id                     => p_grade_id
554         ,p_position_id                  => p_position_id
555         ,p_job_id                       => p_job_id
556         ,p_assignment_status_type_id    => p_assignment_status_type_id
557         ,p_payroll_id                   => p_payroll_id
558         ,p_location_id                  => p_location_id
559         ,p_supervisor_id                => p_supervisor_id
560         ,p_special_ceiling_step_id      => p_special_ceiling_step_id
561         ,p_pay_basis_id                 => p_pay_basis_id
562         ,p_assignment_number            => p_assignment_number
563         ,p_change_reason                => p_change_reason
564         ,p_comments                     => p_comments
565         ,p_date_probation_end           => p_date_probation_end
566         ,p_default_code_comb_id         => p_default_code_comb_id
567         ,p_employment_category          => p_employment_category
568         ,p_frequency                    => p_frequency
569         ,p_internal_address_line        => p_internal_address_line
570         ,p_manager_flag                 => p_manager_flag
571         ,p_normal_hours                 => p_regular_working_hrs
572         ,p_perf_review_period           => p_perf_review_period
573         ,p_perf_review_period_frequency => p_perf_review_period_frequency
574         ,p_probation_period             => p_probation_period
575         ,p_probation_unit               => p_probation_unit
576         ,p_sal_review_period            => p_sal_review_period
577         ,p_sal_review_period_frequency  => p_sal_review_period_frequency
578         ,p_set_of_books_id              => p_set_of_books_id
579         ,p_source_type                  => p_source_type
580         ,p_time_normal_finish           => p_time_normal_finish
581         ,p_time_normal_start            => p_time_normal_start
582         ,p_bargaining_unit_code         => p_bargaining_unit_code
583         ,p_labour_union_member_flag     => p_labour_union_member_flag
584         ,p_hourly_salaried_code         => p_hourly_salaried_code
585         ,p_ass_attribute_category       => p_ass_attribute_category
586         ,p_ass_attribute1               => p_ass_attribute1
587         ,p_ass_attribute2               => p_ass_attribute2
588         ,p_ass_attribute3               => p_ass_attribute3
589         ,p_ass_attribute4               => p_ass_attribute4
590         ,p_ass_attribute5               => p_ass_attribute5
591         ,p_ass_attribute6               => p_ass_attribute6
592         ,p_ass_attribute7               => p_ass_attribute7
593         ,p_ass_attribute8               => p_ass_attribute8
594         ,p_ass_attribute9               => p_ass_attribute9
595         ,p_ass_attribute10              => p_ass_attribute10
596         ,p_ass_attribute11              => p_ass_attribute11
597         ,p_ass_attribute12              => p_ass_attribute12
598         ,p_ass_attribute13              => p_ass_attribute13
599         ,p_ass_attribute14              => p_ass_attribute14
600         ,p_ass_attribute15              => p_ass_attribute15
601         ,p_ass_attribute16              => p_ass_attribute16
602         ,p_ass_attribute17              => p_ass_attribute17
603         ,p_ass_attribute18              => p_ass_attribute18
604         ,p_ass_attribute19              => p_ass_attribute19
605         ,p_ass_attribute20              => p_ass_attribute20
606         ,p_ass_attribute21              => p_ass_attribute21
607         ,p_ass_attribute22              => p_ass_attribute22
608         ,p_ass_attribute23              => p_ass_attribute23
609         ,p_ass_attribute24              => p_ass_attribute24
610         ,p_ass_attribute25              => p_ass_attribute25
611         ,p_ass_attribute26              => p_ass_attribute26
612         ,p_ass_attribute27              => p_ass_attribute27
613         ,p_ass_attribute28              => p_ass_attribute28
614         ,p_ass_attribute29              => p_ass_attribute29
615         ,p_ass_attribute30              => p_ass_attribute30
616         ,p_title                        => p_title
617         ,p_scl_segment1                 => p_incidental_worker
618         ,p_scl_segment2                 => p_employment_type
619         ,p_scl_segment3                 => p_employment_subtype
620         ,p_scl_segment4                 => p_tax_reductions_apply
621         ,p_scl_segment5                 => p_paid_parental_leave_apply
622         ,p_scl_segment6                 => p_work_pattern
623         ,p_scl_segment7                 => p_labour_tax_apply
624         ,p_scl_segment8                 => p_income_code
625         ,p_scl_segment9                 => p_addl_snr_tax_apply
626         ,p_scl_segment10                => p_special_indicators
627         ,p_scl_segment11                => p_tax_code
628         ,p_scl_segment12                => p_last_year_salary
629         ,p_scl_segment13                => p_deviating_working_hours
630         ,p_scl_segment14                => p_low_wages_apply
631         ,p_scl_segment15                => p_education_apply
632         ,p_scl_segment16                => p_anonymous_employee
633         ,p_scl_segment17                => p_long_term_unemployed
634         ,p_scl_segment18                => p_foreigner_with_spl_knowledge
635         ,p_scl_segment19                => p_beneficial_rule_apply
636         ,p_scl_segment20                => p_individual_percentage1
637         ,p_scl_segment21                => l_commencing_from
638         ,p_scl_segment22                => l_date_approved
639         ,p_scl_segment23                => l_date_ending
640         ,p_scl_segment24                => l_foreigner_tax_expiry
641         ,p_scl_segment25                => p_job_level
642         ,p_scl_segment26                => p_max_days_method
643         ,p_scl_segment27                => p_override_real_si_days1
644         ,p_scl_segment28                => p_indiv_working_hrs1
645         ,p_scl_segment29                => p_part_time_percentage1
646         ,p_scl_segment30                => p_si_special_indicators
647         ,p_scl_concat_segments          => p_scl_concat_segments
648         ,p_pgp_segment1                 => p_pgp_segment1
649 	,p_pgp_segment2                 => p_pgp_segment2
650 	,p_pgp_segment3                 => p_pgp_segment3
651 	,p_pgp_segment4                 => p_pgp_segment4
652 	,p_pgp_segment5                 => p_pgp_segment5
653 	,p_pgp_segment6                 => p_pgp_segment6
654 	,p_pgp_segment7                 => p_pgp_segment7
655 	,p_pgp_segment8                 => p_pgp_segment8
656 	,p_pgp_segment9                 => p_pgp_segment9
657 	,p_pgp_segment10                => p_pgp_segment10
658 	,p_pgp_segment11                => p_pgp_segment11
659 	,p_pgp_segment12                => p_pgp_segment12
660 	,p_pgp_segment13                => p_pgp_segment13
661 	,p_pgp_segment14                => p_pgp_segment14
662 	,p_pgp_segment15                => p_pgp_segment15
663 	,p_pgp_segment16                => p_pgp_segment16
664 	,p_pgp_segment17                => p_pgp_segment17
665 	,p_pgp_segment18                => p_pgp_segment18
666 	,p_pgp_segment19                => p_pgp_segment19
667         ,p_pgp_segment20                => p_pgp_segment20
668         ,p_pgp_segment21                => p_pgp_segment21
669 	,p_pgp_segment22                => p_pgp_segment22
670 	,p_pgp_segment23                => p_pgp_segment23
671 	,p_pgp_segment24                => p_pgp_segment24
672 	,p_pgp_segment25                => p_pgp_segment25
673 	,p_pgp_segment26                => p_pgp_segment26
674 	,p_pgp_segment27                => p_pgp_segment27
675 	,p_pgp_segment28                => p_pgp_segment28
676 	,p_pgp_segment29                => p_pgp_segment29
677 	,p_pgp_segment30                => p_pgp_segment30
678         ,p_pgp_concat_segments          => p_pgp_concat_segments
679         ,p_contract_id                  => p_contract_id
680         ,p_establishment_id             => p_establishment_id
681         ,p_collective_agreement_id      => p_collective_agreement_id
682         ,p_cagr_id_flex_num             => p_cagr_id_flex_num
683         ,p_cag_segment1                 => p_cag_segment1
684         ,p_cag_segment2                 => p_cag_segment2
685         ,p_cag_segment3                 => p_cag_segment3
686         ,p_cag_segment4                 => p_cag_segment4
687         ,p_cag_segment5                 => p_cag_segment5
688         ,p_cag_segment6                 => p_cag_segment6
689         ,p_cag_segment7                 => p_cag_segment7
690         ,p_cag_segment8                 => p_cag_segment8
691         ,p_cag_segment9                 => p_cag_segment9
692         ,p_cag_segment10                => p_cag_segment10
693         ,p_cag_segment11                => p_cag_segment11
694         ,p_cag_segment12                => p_cag_segment12
695         ,p_cag_segment13                => p_cag_segment13
696         ,p_cag_segment14                => p_cag_segment14
697         ,p_cag_segment15                => p_cag_segment15
698         ,p_cag_segment16                => p_cag_segment16
699         ,p_cag_segment17                => p_cag_segment17
700         ,p_cag_segment18                => p_cag_segment18
701         ,p_cag_segment19                => p_cag_segment19
702         ,p_cag_segment20                => p_cag_segment20
703         ,p_notice_period                => p_notice_period
704         ,p_notice_period_uom            => p_notice_period_uom
705         ,p_employee_category            => p_employee_category
706         ,p_work_at_home                 => p_work_at_home
707         ,p_job_post_source_name         => p_job_post_source_name
708         ,p_grade_ladder_pgm_id          => p_grade_ladder_pgm_id
709         ,p_supervisor_assignment_id     => p_supervisor_assignment_id
710         ,p_group_name                   => p_group_name
711         ,p_concatenated_segments        => p_concatenated_segments
712         ,p_cagr_grade_def_id            => p_cagr_grade_def_id
713         ,p_cagr_concatenated_segments   => p_cagr_concatenated_segments
714         ,p_assignment_id                => p_assignment_id
715         ,p_soft_coding_keyflex_id       => p_soft_coding_keyflex_id
716         ,p_people_group_id              => p_people_group_id
717         ,p_object_version_number        => p_object_version_number
718         ,p_effective_start_date         => p_effective_start_date
719         ,p_effective_end_date           => p_effective_end_date
720         ,p_assignment_sequence          => p_assignment_sequence
721         ,p_comment_id                   => p_comment_id
722         ,p_other_manager_warning        => p_other_manager_warning
723         ,p_hourly_salaried_warning      => p_hourly_salaried_warning
724         ,p_gsp_post_process_warning     => p_gsp_post_process_warning);
725 
726   --
727 END create_nl_secondary_emp_asg;
728 --
729 --------------------------------------------------------------------------------
730 --  update_nl_emp_asg
731 --------------------------------------------------------------------------------
732 --
733 -- Description:
734 --   procedure to update employee assignment.
735 --
736 -- Prerequisites:
737 --   The assignment (p_assignment_id) must exist as of the effective date
738 --   of the update (p_effective_date).
739 --
740 -- In Parameters:
741 --   Name                           Reqd Type     Description
742 --   p_validate                          boolean  If true, the database remains
743 --                                                unchanged. If false a valid
744 --                                                assignment is created in
745 --                                                the database.
746 --   p_effective_date                Yes date     The effective start date of
747 --                                                this assignment
748 --   p_person_id                     Yes number   The person for whom this
749 --                                                assigment applies
750 --   p_assignment_id		     Yes number	  The id of the assignment to be updated
751 --   p_organization_id               Yes number   Organization
752 --   p_grade_id                          number   Grade
753 --   p_position_id                       number   Position
754 --   p_job_id                            number   Job
755 --   p_assignment_status_type_id         number   Assigmnent status
756 --   p_location_id                       number   Location
757 --   p_supervisor_id                     number   Supervisor
758 --   p_special_ceiling_step_id           number   Special ceiling step
759 --   p_pay_basis_id                      number   Salary basis
760 --   p_assignment_number                 varchar2 Assignment number
761 --   p_change_reason                     varchar2 Change reason
762 --   p_comments                          varchar2 Comments
763 --   p_date_probation_end                date     End date of probation period
764 --   p_default_code_comb_id              number   Foreign key to
765 --                                                GL_CODE_COMBINATIONS
766 --   p_employment_category               varchar2 Employment category
767 --   p_frequency                         varchar2 Frequency for quoting working hours (eg per week)
768 --   p_internal_address_line             varchar2 Internal address line
769 --   p_manager_flag                      varchar2 Indicates whether employee
770 --                                                is a manager
771 --   p_regular_working_hours             number   Normal working hours
772 --   p_perf_review_period                number   Performance review period
773 --   p_perf_review_period_frequency      varchar2 Units for quoting performance
774 --                                                review period (eg months)
775 --   p_probation_period                  number   Length of probation period
776 --   p_probation_unit                    varchar2 Units for quoting probation period (eg months)
777 --   p_sal_review_period                 number   Salary review period
778 --   p_sal_review_period_frequency       varchar2 Units for quoting salary
779 --                                                review period (eg months)
780 --   p_set_of_books_id                   number   Set of books (GL)
781 --   p_source_type                       varchar2 Recruitment activity source
782 --   p_time_normal_finish                varchar2 Normal work finish time
783 --   p_time_normal_start                 varchar2 Normal work start time
784 --   p_bargaining_unit_code              varchar2 Code for bargaining unit
785 --   p_labour_union_member_flag          varchar2 Indicates whether employee
786 --                                                is a labour union member
787 --   p_hourly_salaried_code              varchar2 Hourly or salaried pay code
788 --   p_ass_attribute_category            varchar2 Descriptive flexfield
789 --                                                attribute category
790 --   p_ass_attribute1                    varchar2 Descriptive flexfield
791 --   p_ass_attribute2                    varchar2 Descriptive flexfield
792 --   p_ass_attribute3                    varchar2 Descriptive flexfield
793 --   p_ass_attribute4                    varchar2 Descriptive flexfield
794 --   p_ass_attribute5                    varchar2 Descriptive flexfield
795 --   p_ass_attribute6                    varchar2 Descriptive flexfield
796 --   p_ass_attribute7                    varchar2 Descriptive flexfield
797 --   p_ass_attribute8                    varchar2 Descriptive flexfield
798 --   p_ass_attribute9                    varchar2 Descriptive flexfield
799 --   p_ass_attribute10                   varchar2 Descriptive flexfield
800 --   p_ass_attribute11                   varchar2 Descriptive flexfield
801 --   p_ass_attribute12                   varchar2 Descriptive flexfield
802 --   p_ass_attribute13                   varchar2 Descriptive flexfield
803 --   p_ass_attribute14                   varchar2 Descriptive flexfield
804 --   p_ass_attribute15                   varchar2 Descriptive flexfield
805 --   p_ass_attribute16                   varchar2 Descriptive flexfield
806 --   p_ass_attribute17                   varchar2 Descriptive flexfield
807 --   p_ass_attribute18                   varchar2 Descriptive flexfield
808 --   p_ass_attribute19                   varchar2 Descriptive flexfield
809 --   p_ass_attribute20                   varchar2 Descriptive flexfield
810 --   p_ass_attribute21                   varchar2 Descriptive flexfield
811 --   p_ass_attribute22                   varchar2 Descriptive flexfield
812 --   p_ass_attribute23                   varchar2 Descriptive flexfield
813 --   p_ass_attribute24                   varchar2 Descriptive flexfield
814 --   p_ass_attribute25                   varchar2 Descriptive flexfield
815 --   p_ass_attribute26                   varchar2 Descriptive flexfield
816 --   p_ass_attribute27                   varchar2 Descriptive flexfield
817 --   p_ass_attribute28                   varchar2 Descriptive flexfield
818 --   p_ass_attribute29                   varchar2 Descriptive flexfield
819 --   p_ass_attribute30                   varchar2 Descriptive flexfield
820 --   p_title				 varchar2 Title -must be NULL
821 --   p_employment_type                   varchar2 Employment Type
822 --   p_employment_subtype                varchar2 Employment Sub Type
823 --   p_tax_reductions_apply              varchar2 Tax Reductions Apply
824 --   p_paid_parental_leave_apply         varchar2 Paid Parental Leave
825 --   p_work_pattern                      varchar2 Work Pattern
826 --   p_labour_tax_apply                  varchar2 Labour Tax Reduction
827 --   p_income_code                       varchar2 Income Code
828 --   p_addl_snr_tax_apply                varchar2 Additional Sr Tax Reduction
829 --   p_special_indicators                varchar2 Special Indicators
830 --Indicates whether an employee's assignment is eligible for certain allowance or not.
831 --The value being the corresponding Iindicator code(from lookup NL_SPECIAL_INDICATORS)
832 --The codes for all Special Indicators are concatenated together and stored in this segment.
833 --If the user has selected Special Indicators 01, 28 and 41,
834 --then this segment would have the value '012841' stored in it.
835 --A maximum of 13 indicators can be specified
836 --   p_tax_code                          varchar2 Tax Code
837 --   p_last_year_salary                  varchar2 Last Years Salary
838 --   p_low_wages_apply                   varchar2 Low Wages
839 --   p_education_apply                   varchar2 Education
840 --   p_child_day_care_apply              varchar2 Child Day Care
841 --   p_anonymous_employee                varchar2 Anonymous Employee
842 --   p_long_term_unemployed              varchar2 Long Term Unemployed
843 --   p_foreigner_with_spl_knowledge      varchar2 Foreigner with Sp Knowledge
844 --   p_beneficial_rule_apply             varchar2 Use Beneficial Rule
845 --   p_individual_percentage             number   Individual Percentage
846 --   p_commencing_from                   date     Commencing From
847 --   p_date_approved                     date     Date Approved
848 --   p_date_ending                       date     Date Ending
849 --   p_foreigner_tax_expiry              date     Foreigner Tax Expiry
850 --   p_job_level                         varchar2 Job Level
851 --   p_max_days_method                   varchar2 Maximum Days Method
852 --   p_override_real_si_days             number   Override Real SI Days
853 --   p_indiv_working_hrs                 number   Individual Working Hours
854 --   p_part_time_percentage              number   Part time percentage
855 --   p_si_special_indicators             varchar2 SI Special Indicators
856 --   p_deviating_working_hours           varchar2 Reasons for deviating Working hours
857 --   p_incidental_worker                 varchar2 Incidental Worker Flag
858 --   p_scl_concat_segments               varchar2 Concatenated scl segments
859 --   p_pgp_segment1                      varchar2 People group segment
860 --   p_pgp_segment2                      varchar2 People group segment
861 --   p_pgp_segment3                      varchar2 People group segment
862 --   p_pgp_segment4                      varchar2 People group segment
863 --   p_pgp_segment5                      varchar2 People group segment
864 --   p_pgp_segment6                      varchar2 People group segment
865 --   p_pgp_segment7                      varchar2 People group segment
866 --   p_pgp_segment8                      varchar2 People group segment
867 --   p_pgp_segment9                      varchar2 People group segment
868 --   p_pgp_segment10                     varchar2 People group segment
869 --   p_pgp_segment11                     varchar2 People group segment
870 --   p_pgp_segment12                     varchar2 People group segment
871 --   p_pgp_segment13                     varchar2 People group segment
872 --   p_pgp_segment14                     varchar2 People group segment
873 --   p_pgp_segment15                     varchar2 People group segment
874 --   p_pgp_segment16                     varchar2 People group segment
875 --   p_pgp_segment17                     varchar2 People group segment
876 --   p_pgp_segment18                     varchar2 People group segment
877 --   p_pgp_segment19                     varchar2 People group segment
878 --   p_pgp_segment20                     varchar2 People group segment
879 --   p_pgp_segment21                     varchar2 People group segment
880 --   p_pgp_segment22                     varchar2 People group segment
881 --   p_pgp_segment23                     varchar2 People group segment
882 --   p_pgp_segment24                     varchar2 People group segment
883 --   p_pgp_segment25                     varchar2 People group segment
884 --   p_pgp_segment26                     varchar2 People group segment
885 --   p_pgp_segment27                     varchar2 People group segment
886 --   p_pgp_segment28                     varchar2 People group segment
887 --   p_pgp_segment29                     varchar2 People group segment
888 --   p_pgp_segment30                     varchar2 People group segment
889 --   p_contract_id                       number   contract
890 --   p_establishment_id                  number   establishment
891 --   p_collective_agreement_id           number   collective_agreement
892 --   p_cagr_id_flex_num                  number   collective_Agreement
893 --                                                 grade structure
894 --   p_cag_segment1                      varchar2 Collective agreement grade
895 --   p_cag_segment2                      varchar2 Collective agreement grade
896 --   p_cag_segment3                      varchar2 Collective agreement grade
897 --   p_cag_segment4                      varchar2 Collective agreement grade
898 --   p_cag_segment5                      varchar2 Collective agreement grade
899 --   p_cag_segment6                      varchar2 Collective agreement grade
900 --   p_cag_segment7                      varchar2 Collective agreement grade
901 --   p_cag_segment8                      varchar2 Collective agreement grade
902 --   p_cag_segment9                      varchar2 Collective agreement grade
903 --   p_cag_segment10                     varchar2 Collective agreement grade
904 --   p_cag_segment11                     varchar2 Collective agreement grade
905 --   p_cag_segment12                     varchar2 Collective agreement grade
906 --   p_cag_segment13                     varchar2 Collective agreement grade
907 --   p_cag_segment14                     varchar2 Collective agreement grade
908 --   p_cag_segment15                     varchar2 Collective agreement grade
909 --   p_cag_segment16                     varchar2 Collective agreement grade
910 --   p_cag_segment17                     varchar2 Collective agreement grade
911 --   p_cag_segment18                     varchar2 Collective agreement grade
912 --   p_cag_segment19                     varchar2 Collective agreement grade
913 --   p_cag_segment20                     varchar2 Collective agreement grade
914 --   p_notice_period                     number   Notice Period
915 --   p_notice_period_uom                 varchar2 Notice Period Units
916 --   p_employee_category                 varchar2 Employee Category
917 --   p_work_at_home                      varchar2 Work At Home
918 --   p_job_post_source_name		 varchar2 Job Source
919 --
920 -- Post Success:
921 --
922 --   The API sets the following out parameters:
923 --
924 --   Name                           Type     Description
925 --   p_object_version_number        number   New version number of the
926 --                                           assignment
927 --   p_soft_coding_keyflex_id       number   If p_validate is false and any
928 --                                           p_segment parameters have set
929 --                                           text, set to the id
930 --                                           of the corresponding soft coding
931 --                                           keyflex row.  If p_validate is
932 --                                           true, or no p_segment parameters
933 --                                           have set text, this will be null.
934 --   p_comment_id                   number   If p_validate is false and any
935 --                                           comment text exists, set to the id
936 --                                           of the corresponding person
937 --                                           comment row.  If p_validate is
938 --                                           true, or no comment text exists
939 --                                           this will be null.
940 --   p_effective_start_date         date     The effective start date for the
941 --                                           assignment changes
942 --   p_effective_end_date           date     The effective end date for the
943 --                                           assignment changes
944 --   p_concatenated_segments        varchar2 If p_validate is false and any
945 --                                           p_segment parameters have set
946 --                                           text, set to the concatenation
947 --                                           of all p_segment parameters with
948 --                                           set text. If p_validate is
949 --                                           true, or no p_segment parameters
950 --                                           have set text, this will be null.
951 --
952 --  p_gsp_post_process_warning      varchar2 Set to a warning message name
953 --                                           from pqh_gsp_post_process.
954 
955 -- Post Failure:
956 --   The API does not update the assignment and raises an error.
957 --
958 --
959 
960 PROCEDURE update_nl_emp_asg
961     (p_validate                     IN     BOOLEAN     default false
962     ,p_effective_date               IN     DATE
963     ,p_person_id                    IN     NUMBER
964     ,p_datetrack_update_mode        IN     VARCHAR2
965     ,p_assignment_id                IN     NUMBER
966     ,p_object_version_number        IN OUT NOCOPY NUMBER
967     ,p_supervisor_id                IN     NUMBER       default hr_api.g_number
968     ,p_assignment_number            IN     VARCHAR2     default hr_api.g_varchar2
969     ,p_change_reason                IN     VARCHAR2     default hr_api.g_varchar2
970     ,p_assignment_status_type_id    IN     NUMBER       default hr_api.g_number
971     ,p_comments                     IN     VARCHAR2     default hr_api.g_varchar2
972     ,p_date_probation_end           IN     DATE         default hr_api.g_date
973     ,p_default_code_comb_id         IN     NUMBER       default hr_api.g_number
974     ,p_frequency                    IN     VARCHAR2     default hr_api.g_varchar2
975     ,p_internal_address_line        IN     VARCHAR2     default hr_api.g_varchar2
976     ,p_manager_flag                 IN     VARCHAR2     default hr_api.g_varchar2
977     ,p_regular_working_hrs          IN     NUMBER       default hr_api.g_number
978     ,p_perf_review_period           IN     NUMBER       default hr_api.g_number
979     ,p_perf_review_period_frequency IN     VARCHAR2     default hr_api.g_varchar2
980     ,p_probation_period             IN     NUMBER       default hr_api.g_number
981     ,p_probation_unit               IN     VARCHAR2     default hr_api.g_varchar2
982     ,p_sal_review_period            IN     NUMBER       default hr_api.g_number
983     ,p_sal_review_period_frequency  IN     VARCHAR2     default hr_api.g_varchar2
984     ,p_set_of_books_id              IN     NUMBER       default hr_api.g_number
985     ,p_source_type                  IN     VARCHAR2     default hr_api.g_varchar2
986     ,p_time_normal_finish           IN     VARCHAR2     default hr_api.g_varchar2
987     ,p_time_normal_start            IN     VARCHAR2     default hr_api.g_varchar2
988     ,p_bargaining_unit_code         IN     VARCHAR2     default hr_api.g_varchar2
989     ,p_labour_union_member_flag     IN     VARCHAR2     default hr_api.g_varchar2
990     ,p_hourly_salaried_code         IN     VARCHAR2     default hr_api.g_varchar2
991     ,p_ass_attribute_category       IN     VARCHAR2     default hr_api.g_varchar2
992     ,p_ass_attribute1               IN     VARCHAR2     default hr_api.g_varchar2
993     ,p_ass_attribute2               IN     VARCHAR2     default hr_api.g_varchar2
994     ,p_ass_attribute3               IN     VARCHAR2     default hr_api.g_varchar2
995     ,p_ass_attribute4               IN     VARCHAR2     default hr_api.g_varchar2
996     ,p_ass_attribute5               IN     VARCHAR2     default hr_api.g_varchar2
997     ,p_ass_attribute6               IN     VARCHAR2     default hr_api.g_varchar2
998     ,p_ass_attribute7               IN     VARCHAR2     default hr_api.g_varchar2
999     ,p_ass_attribute8               IN     VARCHAR2     default hr_api.g_varchar2
1000     ,p_ass_attribute9               IN     VARCHAR2     default hr_api.g_varchar2
1001     ,p_ass_attribute10              IN     VARCHAR2     default hr_api.g_varchar2
1002     ,p_ass_attribute11              IN     VARCHAR2     default hr_api.g_varchar2
1003     ,p_ass_attribute12              IN     VARCHAR2     default hr_api.g_varchar2
1004     ,p_ass_attribute13              IN     VARCHAR2     default hr_api.g_varchar2
1005     ,p_ass_attribute14              IN     VARCHAR2     default hr_api.g_varchar2
1006     ,p_ass_attribute15              IN     VARCHAR2     default hr_api.g_varchar2
1007     ,p_ass_attribute16              IN     VARCHAR2     default hr_api.g_varchar2
1008     ,p_ass_attribute17              IN     VARCHAR2     default hr_api.g_varchar2
1009     ,p_ass_attribute18              IN     VARCHAR2     default hr_api.g_varchar2
1010     ,p_ass_attribute19              IN     VARCHAR2     default hr_api.g_varchar2
1011     ,p_ass_attribute20              IN     VARCHAR2     default hr_api.g_varchar2
1012     ,p_ass_attribute21              IN     VARCHAR2     default hr_api.g_varchar2
1013     ,p_ass_attribute22              IN     VARCHAR2     default hr_api.g_varchar2
1014     ,p_ass_attribute23              IN     VARCHAR2     default hr_api.g_varchar2
1015     ,p_ass_attribute24              IN     VARCHAR2     default hr_api.g_varchar2
1016     ,p_ass_attribute25              IN     VARCHAR2     default hr_api.g_varchar2
1017     ,p_ass_attribute26              IN     VARCHAR2     default hr_api.g_varchar2
1018     ,p_ass_attribute27              IN     VARCHAR2     default hr_api.g_varchar2
1019     ,p_ass_attribute28              IN     VARCHAR2     default hr_api.g_varchar2
1020     ,p_ass_attribute29              IN     VARCHAR2     default hr_api.g_varchar2
1021     ,p_ass_attribute30              IN     VARCHAR2     default hr_api.g_varchar2
1022     ,p_title                        IN     VARCHAR2     default hr_api.g_varchar2
1023     ,p_employment_type              IN     VARCHAR2     default hr_api.g_varchar2
1024     ,p_employment_subtype           IN     VARCHAR2     default hr_api.g_varchar2
1025     ,p_tax_reductions_apply         IN     VARCHAR2     default hr_api.g_varchar2
1026     ,p_paid_parental_leave_apply    IN     VARCHAR2     default hr_api.g_varchar2
1027     ,p_work_pattern                 IN     VARCHAR2     default hr_api.g_varchar2
1028     ,p_labour_tax_apply             IN     VARCHAR2     default hr_api.g_varchar2
1029     ,p_income_code                  IN     VARCHAR2     default hr_api.g_varchar2
1030     ,p_addl_snr_tax_apply           IN     VARCHAR2     default hr_api.g_varchar2
1031     ,p_special_indicators           IN     VARCHAR2     default hr_api.g_varchar2
1032     ,p_tax_code                     IN     VARCHAR2     default hr_api.g_varchar2
1033     ,p_last_year_salary             IN     VARCHAR2     default hr_api.g_varchar2
1034     ,p_low_wages_apply              IN     VARCHAR2     default hr_api.g_varchar2
1035     ,p_education_apply              IN     VARCHAR2     default hr_api.g_varchar2
1036     ,p_child_day_care_apply         IN     VARCHAR2     default hr_api.g_varchar2
1037     ,p_anonymous_employee           IN     VARCHAR2     default hr_api.g_varchar2
1038     ,p_long_term_unemployed         IN     VARCHAR2     default hr_api.g_varchar2
1039     ,p_foreigner_with_spl_knowledge IN     VARCHAR2     default hr_api.g_varchar2
1040     ,p_beneficial_rule_apply        IN     VARCHAR2     default hr_api.g_varchar2
1041     ,p_individual_percentage        IN     NUMBER       default hr_api.g_number
1042     ,p_commencing_from              IN     DATE         default hr_api.g_date
1043     ,p_date_approved                IN     DATE         default hr_api.g_date
1044     ,p_date_ending                  IN     DATE         default hr_api.g_date
1045     ,p_foreigner_tax_expiry         IN     DATE         default hr_api.g_date
1046     ,p_job_level                    IN     VARCHAR2     default hr_api.g_varchar2
1047     ,p_max_days_method              IN     VARCHAR2     default hr_api.g_varchar2
1048     ,p_override_real_si_days        IN     NUMBER       default hr_api.g_number
1049     ,p_indiv_working_hrs            IN     NUMBER       default hr_api.g_number
1050     ,p_part_time_percentage         IN     NUMBER       default hr_api.g_number
1051     ,p_si_special_indicators	    IN     VARCHAR2     default hr_api.g_varchar2
1052     ,p_deviating_working_hours      IN     VARCHAR2     default hr_api.g_varchar2
1053     ,p_incidental_worker     	    IN     VARCHAR2     default hr_api.g_varchar2
1054     ,p_concat_segments              IN     VARCHAR2     default hr_api.g_varchar2
1055     ,p_contract_id                  IN     NUMBER       DEFAULT   hr_api.g_number
1056     ,p_establishment_id             IN     NUMBER       DEFAULT   hr_api.g_number
1057     ,p_collective_agreement_id      IN     NUMBER       DEFAULT   hr_api.g_number
1058     ,p_cagr_id_flex_num             IN     NUMBER       DEFAULT   hr_api.g_number
1059     ,p_cag_segment1                 IN     VARCHAR2     DEFAULT   hr_api.g_varchar2
1060     ,p_cag_segment2                 IN     VARCHAR2     DEFAULT   hr_api.g_varchar2
1061     ,p_cag_segment3                 IN     VARCHAR2     DEFAULT   hr_api.g_varchar2
1062     ,p_cag_segment4                 IN     VARCHAR2     DEFAULT   hr_api.g_varchar2
1063     ,p_cag_segment5                 IN     VARCHAR2     DEFAULT   hr_api.g_varchar2
1064     ,p_cag_segment6                 IN     VARCHAR2     DEFAULT   hr_api.g_varchar2
1065     ,p_cag_segment7                 IN     VARCHAR2     DEFAULT   hr_api.g_varchar2
1066     ,p_cag_segment8                 IN     VARCHAR2     DEFAULT   hr_api.g_varchar2
1067     ,p_cag_segment9                 IN     VARCHAR2     DEFAULT   hr_api.g_varchar2
1068     ,p_cag_segment10                IN     VARCHAR2     DEFAULT   hr_api.g_varchar2
1069     ,p_cag_segment11                IN     VARCHAR2     DEFAULT   hr_api.g_varchar2
1070     ,p_cag_segment12                IN     VARCHAR2     DEFAULT   hr_api.g_varchar2
1071     ,p_cag_segment13                IN     VARCHAR2     DEFAULT   hr_api.g_varchar2
1072     ,p_cag_segment14                IN     VARCHAR2     DEFAULT   hr_api.g_varchar2
1073     ,p_cag_segment15                IN     VARCHAR2     DEFAULT   hr_api.g_varchar2
1074     ,p_cag_segment16                IN     VARCHAR2     DEFAULT   hr_api.g_varchar2
1075     ,p_cag_segment17                IN     VARCHAR2     DEFAULT   hr_api.g_varchar2
1076     ,p_cag_segment18                IN     VARCHAR2     DEFAULT   hr_api.g_varchar2
1077     ,p_cag_segment19                IN     VARCHAR2     DEFAULT   hr_api.g_varchar2
1078     ,p_cag_segment20                IN     VARCHAR2     DEFAULT   hr_api.g_varchar2
1079     ,p_notice_period                IN     NUMBER       DEFAULT   hr_api.g_number
1080     ,p_notice_period_uom            IN     VARCHAR2     DEFAULT   hr_api.g_varchar2
1081     ,p_employee_category            IN     VARCHAR2     DEFAULT   hr_api.g_varchar2
1082     ,p_work_at_home                 IN     VARCHAR2     DEFAULT   hr_api.g_varchar2
1083     ,p_job_post_source_name         IN     VARCHAR2     DEFAULT   hr_api.g_varchar2
1084     ,p_cagr_grade_def_id            IN OUT NOCOPY NUMBER
1085     ,p_cagr_concatenated_segments      OUT NOCOPY VARCHAR2
1086     ,p_concatenated_segments           OUT NOCOPY VARCHAR2
1087     ,p_soft_coding_keyflex_id       IN OUT NOCOPY NUMBER
1088     ,p_comment_id                      OUT NOCOPY NUMBER
1089     ,p_effective_start_date            OUT NOCOPY DATE
1090     ,p_effective_end_date              OUT NOCOPY DATE
1091     ,p_no_managers_warning             OUT NOCOPY BOOLEAN
1092     ,p_other_manager_warning           OUT NOCOPY BOOLEAN
1093     ,p_hourly_salaried_warning         OUT NOCOPY BOOLEAN
1094     ,p_gsp_post_process_warning        out nocopy varchar2) IS
1095     --
1096     -- Declare cursors and local variables
1097     --
1098     l_soft_coding_keyflex_id     per_assignments_f.soft_coding_keyflex_id%TYPE;
1099     l_concatenated_segments      varchar2(2000);
1100     l_legislation_code           per_business_groups.legislation_code%TYPE;
1101     l_effective_date             DATE;
1102     --
1103 
1104     p_override_real_si_days1 varchar2(100);
1105     p_indiv_working_hrs1   varchar2(100);
1106     p_part_time_percentage1 varchar2(100);
1107     p_individual_percentage1 varchar2(100);
1108 
1109     CURSOR csr_check_legislation
1110         (c_assignment_id  per_assignments_f.assignment_id%TYPE
1111         ,c_effective_date DATE) IS
1112     SELECT bgp.legislation_code
1113     FROM   per_assignments_f asg
1114         ,per_business_groups bgp
1115     WHERE  asg.business_group_id = bgp.business_group_id
1116     AND    asg.assignment_id     = c_assignment_id
1117     AND    c_effective_date      BETWEEN effective_start_date
1118                                AND     effective_end_date;
1119     --
1120     --
1121     l_commencing_from varchar2(100);
1122     l_date_approved   varchar2(100);
1123     l_date_ending     varchar2(100);
1124     l_foreigner_tax_expiry varchar2(100);
1125     --
1126 
1127 BEGIN
1128     --
1129     -- Truncate date variables
1130     --
1131     l_effective_date := trunc(p_effective_date);
1132     --
1133     --
1134     -- Check that the assignment exists.
1135     --
1136     OPEN csr_check_legislation(p_assignment_id, l_effective_date);
1137       FETCH csr_check_legislation INTO l_legislation_code;
1138       IF  csr_check_legislation%NOTFOUND THEN
1139           CLOSE csr_check_legislation;
1140           hr_utility.set_message(801,'HR_7220_INVALID_PRIMARY_KEY');
1141           hr_utility.raise_error;
1142       END IF;
1143     CLOSE csr_check_legislation;
1144     --
1145     -- Check that the legislation of the specified business group is 'NL'.
1146     --
1147     IF  l_legislation_code <> 'NL' then
1148         hr_utility.set_message(801, 'HR_7961_PER_BUS_GRP_INVALID');
1149         hr_utility.set_message_token('LEG_CODE','NL');
1150         hr_utility.raise_error;
1151     END IF;
1152     --
1153 
1154     IF p_commencing_from IS NULL THEN
1155         l_commencing_from  := NULL;
1156     ELSIF (p_commencing_from <> hr_api.g_date) THEN
1157 	l_commencing_from  := FND_DATE.DATE_TO_CANONICAL(p_commencing_from);
1158     ELSE
1159         l_commencing_from  := hr_api.g_varchar2 ;
1160     END IF;
1161 
1162     IF p_date_approved IS NULL THEN
1163         l_date_approved  := NULL;
1164     ELSIF (p_date_approved <> hr_api.g_date) THEN
1165 	l_date_approved  := FND_DATE.DATE_TO_CANONICAL(p_date_approved);
1166     ELSE
1167         l_date_approved  := hr_api.g_varchar2 ;
1168     END IF;
1169 
1170     IF p_date_ending IS NULL THEN
1171         l_date_ending  := NULL;
1172     ELSIF (p_date_ending <> hr_api.g_date) THEN
1173 	l_date_ending  := FND_DATE.DATE_TO_CANONICAL(p_date_ending);
1174     ELSE
1175         l_date_ending  := hr_api.g_varchar2 ;
1176     END IF;
1177 
1178     IF p_foreigner_tax_expiry IS NULL THEN
1179         l_foreigner_tax_expiry  := NULL;
1180     ELSIF (p_foreigner_tax_expiry <> hr_api.g_date) THEN
1181 	l_foreigner_tax_expiry  := FND_DATE.DATE_TO_CANONICAL(p_foreigner_tax_expiry);
1182     ELSE
1183         l_foreigner_tax_expiry  := hr_api.g_varchar2 ;
1184     END IF;
1185 
1186 
1187     IF p_override_real_si_days IS NULL THEN
1188         p_override_real_si_days1  := NULL;
1189     ELSIF (p_override_real_si_days <> hr_api.g_number) THEN
1190 	p_override_real_si_days1  := FND_NUMBER.NUMBER_TO_CANONICAL(p_override_real_si_days);
1191     ELSE
1192         p_override_real_si_days1  := hr_api.g_varchar2 ;
1193     END IF;
1194 
1195     IF p_indiv_working_hrs IS NULL THEN
1196         p_indiv_working_hrs1  := NULL;
1197     ELSIF (p_indiv_working_hrs <> hr_api.g_number) THEN
1198 	p_indiv_working_hrs1  := FND_NUMBER.NUMBER_TO_CANONICAL(p_indiv_working_hrs);
1199     ELSE
1200         p_indiv_working_hrs1  := hr_api.g_varchar2 ;
1201     END IF;
1202 
1203     IF p_part_time_percentage IS NULL THEN
1204         p_part_time_percentage1  := NULL;
1205     ELSIF (p_part_time_percentage <> hr_api.g_number) THEN
1206 	p_part_time_percentage1 := FND_NUMBER.NUMBER_TO_CANONICAL(p_part_time_percentage);
1207     ELSE
1208         p_part_time_percentage1 := hr_api.g_varchar2 ;
1209     END IF;
1210 
1211     IF p_individual_percentage IS NULL THEN
1212         p_individual_percentage1  := NULL;
1213     ELSIF (p_individual_percentage <> hr_api.g_number) THEN
1214 	p_individual_percentage1 := FND_NUMBER.NUMBER_TO_CANONICAL(p_individual_percentage);
1215     ELSE
1216         p_individual_percentage1 := hr_api.g_varchar2 ;
1217     END IF;
1218 
1219     --
1220     -- Call update_emp_asg business process
1221     --
1222     hr_assignment_api.update_emp_asg
1223         (p_validate                     => p_validate
1224         ,p_effective_date               => p_effective_date
1225         ,p_datetrack_update_mode        => p_datetrack_update_mode
1226         ,p_assignment_id                => p_assignment_id
1227         ,p_object_version_number        => p_object_version_number
1228         ,p_supervisor_id                => p_supervisor_id
1229         ,p_assignment_number            => p_assignment_number
1230         ,p_change_reason                => p_change_reason
1231         ,p_assignment_status_type_id    => p_assignment_status_type_id
1232         ,p_comments                     => p_comments
1233         ,p_date_probation_end           => p_date_probation_end
1234         ,p_default_code_comb_id         => p_default_code_comb_id
1235         ,p_frequency                    => p_frequency
1236         ,p_internal_address_line        => p_internal_address_line
1237         ,p_manager_flag                 => p_manager_flag
1238         ,p_normal_hours                 => p_regular_working_hrs
1239         ,p_perf_review_period           => p_perf_review_period
1240         ,p_perf_review_period_frequency => p_perf_review_period_frequency
1241         ,p_probation_period             => p_probation_period
1242         ,p_probation_unit               => p_probation_unit
1243         ,p_sal_review_period            => p_sal_review_period
1244         ,p_sal_review_period_frequency  => p_sal_review_period_frequency
1245         ,p_set_of_books_id              => p_set_of_books_id
1246         ,p_source_type                  => p_source_type
1247         ,p_time_normal_finish           => p_time_normal_finish
1248         ,p_time_normal_start            => p_time_normal_start
1249         ,p_bargaining_unit_code         => p_bargaining_unit_code
1250         ,p_labour_union_member_flag     => p_labour_union_member_flag
1251         ,p_hourly_salaried_code         => p_hourly_salaried_code
1252         ,p_ass_attribute_category       => p_ass_attribute_category
1253         ,p_ass_attribute1               => p_ass_attribute1
1254         ,p_ass_attribute2               => p_ass_attribute2
1255         ,p_ass_attribute3               => p_ass_attribute3
1256         ,p_ass_attribute4               => p_ass_attribute4
1257         ,p_ass_attribute5               => p_ass_attribute5
1258         ,p_ass_attribute6               => p_ass_attribute6
1259         ,p_ass_attribute7               => p_ass_attribute7
1260         ,p_ass_attribute8               => p_ass_attribute8
1261         ,p_ass_attribute9               => p_ass_attribute9
1262         ,p_ass_attribute10              => p_ass_attribute10
1263         ,p_ass_attribute11              => p_ass_attribute11
1264         ,p_ass_attribute12              => p_ass_attribute12
1265         ,p_ass_attribute13              => p_ass_attribute13
1266         ,p_ass_attribute14              => p_ass_attribute14
1267         ,p_ass_attribute15              => p_ass_attribute15
1268         ,p_ass_attribute16              => p_ass_attribute16
1269         ,p_ass_attribute17              => p_ass_attribute17
1270         ,p_ass_attribute18              => p_ass_attribute18
1271         ,p_ass_attribute19              => p_ass_attribute19
1272         ,p_ass_attribute20              => p_ass_attribute20
1273         ,p_ass_attribute21              => p_ass_attribute21
1274         ,p_ass_attribute22              => p_ass_attribute22
1275         ,p_ass_attribute23              => p_ass_attribute23
1276         ,p_ass_attribute24              => p_ass_attribute24
1277         ,p_ass_attribute25              => p_ass_attribute25
1278         ,p_ass_attribute26              => p_ass_attribute26
1279         ,p_ass_attribute27              => p_ass_attribute27
1280         ,p_ass_attribute28              => p_ass_attribute28
1281         ,p_ass_attribute29              => p_ass_attribute29
1282         ,p_ass_attribute30              => p_ass_attribute30
1283         ,p_title                        => p_title
1284         ,p_segment1                     => p_incidental_worker
1285         ,p_segment2                 	=> p_employment_type
1286         ,p_segment3                 	=> p_employment_subtype
1287         ,p_segment4                 	=> p_tax_reductions_apply
1288         ,p_segment5                 	=> p_paid_parental_leave_apply
1289         ,p_segment6                 	=> p_work_pattern
1290         ,p_segment7                 	=> p_labour_tax_apply
1291         ,p_segment8                 	=> p_income_code
1292         ,p_segment9                 	=> p_addl_snr_tax_apply
1293         ,p_segment10                	=> p_special_indicators
1294         ,p_segment11                	=> p_tax_code
1295         ,p_segment12                	=> p_last_year_salary
1296         ,p_segment13               	=> p_deviating_working_hours
1297         ,p_segment14               	=> p_low_wages_apply
1298         ,p_segment15                	=> p_education_apply
1299         ,p_segment16                	=> p_anonymous_employee
1300         ,p_segment17               	=> p_long_term_unemployed
1301         ,p_segment18                	=> p_foreigner_with_spl_knowledge
1302         ,p_segment19                	=> p_beneficial_rule_apply
1303         ,p_segment20                	=> p_individual_percentage1
1304         ,p_segment21                	=> l_commencing_from
1305         ,p_segment22                	=> l_date_approved
1306         ,p_segment23                	=> l_date_ending
1307         ,p_segment24                	=> l_foreigner_tax_expiry
1308         ,p_segment25                	=> p_job_level
1309         ,p_segment26                	=> p_max_days_method
1310         ,p_segment27                	=> p_override_real_si_days1
1311         ,p_segment28                	=> p_indiv_working_hrs1
1312         ,p_segment29                	=> p_part_time_percentage1
1313         ,p_segment30                    => p_si_special_indicators
1314         ,p_concat_segments              => p_concat_segments
1315         ,p_contract_id                  => p_contract_id
1316         ,p_establishment_id             => p_establishment_id
1317         ,p_collective_agreement_id      => p_collective_agreement_id
1318         ,p_cagr_id_flex_num             => p_cagr_id_flex_num
1319         ,p_cag_segment1                 => p_cag_segment1
1320         ,p_cag_segment2                 => p_cag_segment2
1321         ,p_cag_segment3                 => p_cag_segment3
1322         ,p_cag_segment4                 => p_cag_segment4
1323         ,p_cag_segment5                 => p_cag_segment5
1324         ,p_cag_segment6                 => p_cag_segment6
1325         ,p_cag_segment7                 => p_cag_segment7
1326         ,p_cag_segment8                 => p_cag_segment8
1327         ,p_cag_segment9                 => p_cag_segment9
1328         ,p_cag_segment10                => p_cag_segment10
1329         ,p_cag_segment11                => p_cag_segment11
1330         ,p_cag_segment12                => p_cag_segment12
1331         ,p_cag_segment13                => p_cag_segment13
1332         ,p_cag_segment14                => p_cag_segment14
1333         ,p_cag_segment15                => p_cag_segment15
1334         ,p_cag_segment16                => p_cag_segment16
1335         ,p_cag_segment17                => p_cag_segment17
1336         ,p_cag_segment18                => p_cag_segment18
1337         ,p_cag_segment19                => p_cag_segment19
1338         ,p_cag_segment20                => p_cag_segment20
1339         ,p_notice_period                => p_notice_period
1340         ,p_notice_period_uom	      	=> p_notice_period_uom
1341         ,p_employee_category	        => p_employee_category
1342         ,p_work_at_home                 => p_work_at_home
1343         ,p_job_post_source_name         => p_job_post_source_name
1344         ,p_cagr_grade_def_id            => p_cagr_grade_def_id
1345         ,p_cagr_concatenated_segments   => p_cagr_concatenated_segments
1346         ,p_concatenated_segments        => p_concatenated_segments
1347         ,p_soft_coding_keyflex_id       => p_soft_coding_keyflex_id
1348         ,p_comment_id                   => p_comment_id
1349         ,p_effective_start_date         => p_effective_start_date
1350         ,p_effective_end_date           => p_effective_end_date
1351         ,p_no_managers_warning          => p_no_managers_warning
1352         ,p_other_manager_warning        => p_other_manager_warning
1353         ,p_hourly_salaried_warning      => p_hourly_salaried_warning
1354         ,p_gsp_post_process_warning    =>  p_gsp_post_process_warning);
1355 
1356   --
1357   END update_nl_emp_asg;
1358 --
1359 END hr_nl_assignment_api;