DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_DK_ASSIGNMENT_API

Source


1 PACKAGE BODY hr_dk_assignment_api AS
2 /* $Header: peasgdki.pkb 120.1.12000000.2 2007/05/08 07:23:20 saurai ship $ */
3 
4 g_package  VARCHAR2(33) := 'hr_dk_assignment_api.';
5 --
6 -- ----------------------------------------------------------------------------
7 -- |---------------------< create_dk_secondary_emp_asg >-----------------------|
8 -- ----------------------------------------------------------------------------
9 --
10 
11 PROCEDURE create_dk_secondary_emp_asg
12   (p_validate                     IN     BOOLEAN  DEFAULT FALSE
13   ,p_effective_date               IN     DATE
14   ,p_person_id                    IN     NUMBER
15   ,p_organization_id              IN     NUMBER
16   ,p_grade_id                     IN     NUMBER   DEFAULT NULL
17   ,p_position_id                  IN     NUMBER   DEFAULT NULL
18   ,p_job_id                       IN     NUMBER   DEFAULT NULL
19   ,p_assignment_status_type_id    IN     NUMBER   DEFAULT NULL
20   ,p_payroll_id                   IN     NUMBER   DEFAULT NULL
21   ,p_location_id                  IN     NUMBER   DEFAULT NULL
22   ,p_supervisor_id                IN     NUMBER   DEFAULT NULL
23   ,p_special_ceiling_step_id      IN     NUMBER   DEFAULT NULL
24   ,p_pay_basis_id                 IN     NUMBER   DEFAULT NULL
25   ,p_assignment_number            IN OUT NOCOPY VARCHAR2
26   ,p_change_reason                IN     VARCHAR2 DEFAULT NULL
27   ,p_comments                     IN     VARCHAR2 DEFAULT NULL
28   ,p_date_probation_end           IN     DATE     DEFAULT NULL
29   ,p_default_code_comb_id         IN     NUMBER   DEFAULT NULL
30   ,p_employment_category          IN     VARCHAR2 DEFAULT NULL
31   ,p_frequency                    IN     VARCHAR2 DEFAULT NULL
32   ,p_internal_address_line        IN     VARCHAR2 DEFAULT NULL
33   ,p_manager_flag                 IN     VARCHAR2 DEFAULT NULL
34   ,p_normal_hours                 IN     NUMBER   DEFAULT NULL
35   ,p_perf_review_period           IN     NUMBER   DEFAULT NULL
36   ,p_perf_review_period_frequency IN     VARCHAR2 DEFAULT NULL
37   ,p_probation_period             IN     NUMBER   DEFAULT NULL
38   ,p_probation_unit               IN     VARCHAR2 DEFAULT NULL
39   ,p_sal_review_period            IN     NUMBER   DEFAULT NULL
40   ,p_sal_review_period_frequency  IN     VARCHAR2 DEFAULT NULL
41   ,p_set_of_books_id              IN     NUMBER   DEFAULT NULL
42   ,p_source_type                  IN     VARCHAR2 DEFAULT NULL
43   ,p_time_normal_finish           IN     VARCHAR2 DEFAULT NULL
44   ,p_time_normal_start            IN     VARCHAR2 DEFAULT NULL
45   ,p_bargaining_unit_code         in     varchar2 default null
46   ,p_labour_union_member_flag     in     varchar2 default 'N'
47   ,p_hourly_salaried_code         in     varchar2 default null
48   ,p_ass_attribute_category       IN     VARCHAR2 DEFAULT NULL
49   ,p_ass_attribute1               IN     VARCHAR2 DEFAULT NULL
50   ,p_ass_attribute2               IN     VARCHAR2 DEFAULT NULL
51   ,p_ass_attribute3               IN     VARCHAR2 DEFAULT NULL
52   ,p_ass_attribute4               IN     VARCHAR2 DEFAULT NULL
53   ,p_ass_attribute5               IN     VARCHAR2 DEFAULT NULL
54   ,p_ass_attribute6               IN     VARCHAR2 DEFAULT NULL
55   ,p_ass_attribute7               IN     VARCHAR2 DEFAULT NULL
56   ,p_ass_attribute8               IN     VARCHAR2 DEFAULT NULL
57   ,p_ass_attribute9               IN     VARCHAR2 DEFAULT NULL
58   ,p_ass_attribute10              IN     VARCHAR2 DEFAULT NULL
59   ,p_ass_attribute11              IN     VARCHAR2 DEFAULT NULL
60   ,p_ass_attribute12              IN     VARCHAR2 DEFAULT NULL
61   ,p_ass_attribute13              IN     VARCHAR2 DEFAULT NULL
62   ,p_ass_attribute14              IN     VARCHAR2 DEFAULT NULL
63   ,p_ass_attribute15              IN     VARCHAR2 DEFAULT NULL
64   ,p_ass_attribute16              IN     VARCHAR2 DEFAULT NULL
65   ,p_ass_attribute17              IN     VARCHAR2 DEFAULT NULL
66   ,p_ass_attribute18              IN     VARCHAR2 DEFAULT NULL
67   ,p_ass_attribute19              IN     VARCHAR2 DEFAULT NULL
68   ,p_ass_attribute20              IN     VARCHAR2 DEFAULT NULL
69   ,p_ass_attribute21              IN     VARCHAR2 DEFAULT NULL
70   ,p_ass_attribute22              IN     VARCHAR2 DEFAULT NULL
71   ,p_ass_attribute23              IN     VARCHAR2 DEFAULT NULL
72   ,p_ass_attribute24              IN     VARCHAR2 DEFAULT NULL
73   ,p_ass_attribute25              IN     VARCHAR2 DEFAULT NULL
74   ,p_ass_attribute26              IN     VARCHAR2 DEFAULT NULL
75   ,p_ass_attribute27              IN     VARCHAR2 DEFAULT NULL
76   ,p_ass_attribute28              IN     VARCHAR2 DEFAULT NULL
77   ,p_ass_attribute29              IN     VARCHAR2 DEFAULT NULL
78   ,p_ass_attribute30              IN     VARCHAR2 DEFAULT NULL
79   ,p_title                        IN     VARCHAR2 DEFAULT NULL
80   ,p_legal_entity	          IN     VARCHAR2 DEFAULT NULL
81   --,p_pension_provider	          IN     VARCHAR2 DEFAULT NULL Removed from assignment level and it's captured at Element entry level
82   ,p_cond_of_emp	          IN     VARCHAR2 DEFAULT NULL
83   ,p_emp_group		          IN     VARCHAR2 DEFAULT NULL
84   ,p_union_membership	          IN     VARCHAR2 DEFAULT NULL
85   ,p_termination_reason		  IN	 VARCHAR2 DEFAULT NULL
86   ,p_notified_date		  IN	 DATE	  DEFAULT NULL
87   ,p_termination_date		  IN	 DATE	  DEFAULT NULL
88   ,p_adjusted_seniority_date	  IN	 DATE	  DEFAULT NULL
89   ,p_default_work_pattern	  IN     VARCHAR2 DEFAULT NULL	-- Holiday Entitlement
90   ,p_hourly_accrual_rate	  IN     NUMBER   DEFAULT NULL	-- Holiday Entitlement
91   ,p_accrual_type		  IN     VARCHAR2 DEFAULT NULL	-- Holiday Entitlement
92   ,p_salaried_allowance_rate	  IN     NUMBER   DEFAULT NULL	-- Holiday Entitlement
93   ,p_job_occupation_employee_code IN     VARCHAR2 DEFAULT NULL	-- DA Office codes
94   ,p_job_status_employee_code	  IN     VARCHAR2 DEFAULT NULL	-- DA Office codes
95   ,p_salary_basis_employee_code	  IN     VARCHAR2 DEFAULT NULL	-- DA Office codes
96   ,p_time_off_in_lieu		  IN     VARCHAR2 DEFAULT NULL	-- DA Office codes
97   ,p_section_28_registration	  IN     VARCHAR2 DEFAULT NULL	-- Sick Pay Defaults
98   ,p_pgp_segment1                 IN     VARCHAR2 DEFAULT NULL
99   ,p_pgp_segment2                 IN     VARCHAR2 DEFAULT NULL
100   ,p_pgp_segment3                 IN     VARCHAR2 DEFAULT NULL
101   ,p_pgp_segment4                 IN     VARCHAR2 DEFAULT NULL
102   ,p_pgp_segment5                 IN     VARCHAR2 DEFAULT NULL
103   ,p_pgp_segment6                 IN     VARCHAR2 DEFAULT NULL
104   ,p_pgp_segment7                 IN     VARCHAR2 DEFAULT NULL
105   ,p_pgp_segment8                 IN     VARCHAR2 DEFAULT NULL
106   ,p_pgp_segment9                 IN     VARCHAR2 DEFAULT NULL
107   ,p_pgp_segment10                IN     VARCHAR2 DEFAULT NULL
108   ,p_pgp_segment11                IN     VARCHAR2 DEFAULT NULL
109   ,p_pgp_segment12                IN     VARCHAR2 DEFAULT NULL
110   ,p_pgp_segment13                IN     VARCHAR2 DEFAULT NULL
111   ,p_pgp_segment14                IN     VARCHAR2 DEFAULT NULL
112   ,p_pgp_segment15                IN     VARCHAR2 DEFAULT NULL
113   ,p_pgp_segment16                IN     VARCHAR2 DEFAULT NULL
114   ,p_pgp_segment17                IN     VARCHAR2 DEFAULT NULL
115   ,p_pgp_segment18                IN     VARCHAR2 DEFAULT NULL
116   ,p_pgp_segment19                IN     VARCHAR2 DEFAULT NULL
117   ,p_pgp_segment20                IN     VARCHAR2 DEFAULT NULL
118   ,p_pgp_segment21                IN     VARCHAR2 DEFAULT NULL
119   ,p_pgp_segment22                IN     VARCHAR2 DEFAULT NULL
120   ,p_pgp_segment23                IN     VARCHAR2 DEFAULT NULL
121   ,p_pgp_segment24                IN     VARCHAR2 DEFAULT NULL
122   ,p_pgp_segment25                IN     VARCHAR2 DEFAULT NULL
123   ,p_pgp_segment26                IN     VARCHAR2 DEFAULT NULL
124   ,p_pgp_segment27                IN     VARCHAR2 DEFAULT NULL
125   ,p_pgp_segment28                IN     VARCHAR2 DEFAULT NULL
126   ,p_pgp_segment29                IN     VARCHAR2 DEFAULT NULL
127   ,p_pgp_segment30                IN     VARCHAR2 DEFAULT NULL
128   ,p_pgp_concat_segments          IN     VARCHAR2 DEFAULT NULL
129   ,p_assignment_id                   OUT NOCOPY NUMBER
130   ,p_soft_coding_keyflex_id          OUT NOCOPY NUMBER
131   ,p_people_group_id                 OUT NOCOPY NUMBER
132   ,p_object_version_number           OUT NOCOPY NUMBER
133   ,p_effective_start_date            OUT NOCOPY DATE
134   ,p_effective_end_date              OUT NOCOPY DATE
135   ,p_assignment_sequence             OUT NOCOPY NUMBER
136   ,p_comment_id                      OUT NOCOPY NUMBER
137   ,p_concatenated_segments           OUT NOCOPY VARCHAR2
138   ,p_group_name                      OUT NOCOPY VARCHAR2
139   ,p_other_manager_warning           OUT NOCOPY BOOLEAN
140   ) is
141 
142   -- Declare cursors AND local variables
143   --
144   -- Declare variables
145   --
146 
147   l_assignment_number  per_assignments_f.assignment_number%TYPE;
148   l_effective_date     DATE;
149   --
150   l_business_group_id  per_business_groups.business_group_id%TYPE;
151   l_legislation_code   per_business_groups.legislation_code%TYPE;
152   l_proc               VARCHAR2(72) := g_package||'create_dk_secondary_emp_asg';
153   --
154   -- Declare cursors
155   --
156   CURSOR csr_legislation IS
157     SELECT  NULL
158     FROM    per_assignments_f paf,
159             per_business_groups pbg
160     WHERE   paf.person_id = p_person_id
161     AND     l_effective_date BETWEEN paf.effective_start_date AND     paf.effective_end_date
162     AND     pbg.business_group_id = paf.business_group_id
163     AND     pbg.legislation_code = 'DK';
164   --
165   --
166 BEGIN
167   hr_utility.set_location('Entering:'|| l_proc, 10);
168   --
169   -- Initialise local variable
170   --
171   l_effective_date := trunc(p_effective_date);
172   --
173   -- Validation IN addition to Table Handlers
174   --
175   -- Ensure that the employee IS within a dk business group
176   --
177   OPEN  csr_legislation;
178   FETCH csr_legislation
179   INTO l_legislation_code;
180   IF csr_legislation%notfound THEN
181     CLOSE csr_legislation;
182     hr_utility.set_message(801, 'HR_7961_PER_BUS_GRP_INVALID');
183     hr_utility.set_message_token('LEG_CODE', 'DK');
184     hr_utility.raise_error;
185   END IF;
186   CLOSE csr_legislation;
187   --
188   --
189   -- Call create_secondary_emp_asg
190   --
191 
192  hr_assignment_api.create_secondary_emp_asg
193   (p_validate                     =>     p_validate
194   ,p_effective_date               =>     l_effective_date
195   ,p_person_id                    =>     p_person_id
196   ,p_organization_id              =>     p_organization_id
197   ,p_grade_id                     =>     p_grade_id
198   ,p_position_id                  =>     p_position_id
199   ,p_job_id                       =>     p_job_id
200   ,p_assignment_status_type_id    =>     p_assignment_status_type_id
201   ,p_payroll_id                   =>     p_payroll_id
202   ,p_location_id                  =>     p_location_id
203   ,p_supervisor_id                =>     p_supervisor_id
204   ,p_special_ceiling_step_id      =>     p_special_ceiling_step_id
205   ,p_pay_basis_id                 =>     p_pay_basis_id
206   ,p_assignment_number            =>     l_assignment_number
207   ,p_change_reason                =>     p_change_reason
208   ,p_comments                     =>     p_comments
209   ,p_date_probation_end           =>     trunc(p_date_probation_end)
210   ,p_default_code_comb_id         =>     p_default_code_comb_id
211   ,p_employment_category          =>     p_employment_category
212   ,p_frequency                    =>     p_frequency
213   ,p_internal_address_line        =>     p_internal_address_line
214   ,p_manager_flag                 =>     p_manager_flag
215   ,p_normal_hours                 =>     p_normal_hours
216   ,p_perf_review_period           =>     p_perf_review_period
217   ,p_perf_review_period_frequency =>     p_perf_review_period_frequency
218   ,p_probation_period             =>     p_probation_period
219   ,p_probation_unit               =>     p_probation_unit
220   ,p_sal_review_period            =>     p_sal_review_period
221   ,p_sal_review_period_frequency  =>     p_sal_review_period_frequency
222   ,p_set_of_books_id              =>     p_set_of_books_id
223   ,p_source_type                  =>     p_source_type
224   ,p_time_normal_finish           =>     p_time_normal_finish
225   ,p_time_normal_start            =>     p_time_normal_start
226   ,p_bargaining_unit_code         =>     p_bargaining_unit_code
227   ,p_labour_union_member_flag     =>     p_labour_union_member_flag
228   ,p_hourly_salaried_code         =>     p_hourly_salaried_code
229   ,p_ass_attribute_category       =>     p_ass_attribute_category
230   ,p_ass_attribute1               =>     p_ass_attribute1
231   ,p_ass_attribute2               =>     p_ass_attribute2
232   ,p_ass_attribute3               =>     p_ass_attribute3
233   ,p_ass_attribute4               =>     p_ass_attribute4
234   ,p_ass_attribute5               =>     p_ass_attribute5
235   ,p_ass_attribute6               =>     p_ass_attribute6
236   ,p_ass_attribute7               =>     p_ass_attribute7
237   ,p_ass_attribute8               =>     p_ass_attribute8
238   ,p_ass_attribute9               =>     p_ass_attribute9
239   ,p_ass_attribute10              =>     p_ass_attribute10
240   ,p_ass_attribute11              =>     p_ass_attribute11
241   ,p_ass_attribute12              =>     p_ass_attribute12
242   ,p_ass_attribute13              =>     p_ass_attribute13
243   ,p_ass_attribute14              =>     p_ass_attribute14
244   ,p_ass_attribute15              =>     p_ass_attribute15
245   ,p_ass_attribute16              =>     p_ass_attribute16
246   ,p_ass_attribute17              =>     p_ass_attribute17
247   ,p_ass_attribute18              =>     p_ass_attribute18
248   ,p_ass_attribute19              =>     p_ass_attribute19
249   ,p_ass_attribute20              =>     p_ass_attribute20
250   ,p_ass_attribute21              =>     p_ass_attribute21
251   ,p_ass_attribute22              =>     p_ass_attribute22
252   ,p_ass_attribute23              =>     p_ass_attribute23
253   ,p_ass_attribute24              =>     p_ass_attribute24
254   ,p_ass_attribute25              =>     p_ass_attribute25
255   ,p_ass_attribute26              =>     p_ass_attribute26
256   ,p_ass_attribute27              =>     p_ass_attribute27
257   ,p_ass_attribute28              =>     p_ass_attribute28
258   ,p_ass_attribute29              =>     p_ass_attribute29
259   ,p_ass_attribute30              =>     p_ass_attribute30
260   ,p_title                        =>     p_title
261   ,p_scl_segment1                 =>     p_legal_entity
262   --,p_scl_segment2                 =>     p_pension_provider Removed from assignment level and it's captured at Element entry level
263   ,p_scl_segment3                 =>     p_cond_of_emp
264   ,p_scl_segment4                 =>     p_emp_group
265   ,p_scl_segment5                 =>     p_union_membership
266   ,p_scl_segment6                 =>     p_termination_reason
267   ,p_scl_segment7                 =>     p_notified_date
268   ,p_scl_segment8                 =>     p_termination_date
269   ,p_scl_segment9                 =>     p_adjusted_seniority_date
270   ,p_scl_segment10                =>     p_default_work_pattern		-- Holiday Entitlement
271   ,p_scl_segment11                =>     p_hourly_accrual_rate		-- Holiday Entitlement
272   ,p_scl_segment12                =>     p_accrual_type			-- Holiday Entitlement
273   ,p_scl_segment13                =>     p_salaried_allowance_rate	-- Holiday Entitlement
274   ,p_scl_segment14                =>     p_job_occupation_employee_code	-- DA Office codes
275   ,p_scl_segment15                =>     p_job_status_employee_code	-- DA Office codes
276   ,p_scl_segment16                =>     p_salary_basis_employee_code	-- DA Office codes
277   ,p_scl_segment17                =>     p_time_off_in_lieu		-- DA Office codes
278   ,p_scl_segment18                =>     p_section_28_registration	-- Sick Pay Defaults
279   ,p_pgp_segment1                 =>     p_pgp_segment1
280   ,p_pgp_segment2                 =>     p_pgp_segment2
281   ,p_pgp_segment3                 =>     p_pgp_segment3
282   ,p_pgp_segment4                 =>     p_pgp_segment4
283   ,p_pgp_segment5                 =>     p_pgp_segment5
284   ,p_pgp_segment6                 =>     p_pgp_segment6
285   ,p_pgp_segment7                 =>     p_pgp_segment7
286   ,p_pgp_segment8                 =>     p_pgp_segment8
287   ,p_pgp_segment9                 =>     p_pgp_segment9
288   ,p_pgp_segment10                =>     p_pgp_segment10
289   ,p_pgp_segment11                =>     p_pgp_segment11
290   ,p_pgp_segment12                =>     p_pgp_segment12
291   ,p_pgp_segment13                =>     p_pgp_segment13
292   ,p_pgp_segment14                =>     p_pgp_segment14
293   ,p_pgp_segment15                =>     p_pgp_segment15
294   ,p_pgp_segment16                =>     p_pgp_segment16
295   ,p_pgp_segment17                =>     p_pgp_segment17
296   ,p_pgp_segment18                =>     p_pgp_segment18
297   ,p_pgp_segment19                =>     p_pgp_segment19
298   ,p_pgp_segment20                =>     p_pgp_segment20
299   ,p_pgp_segment21                =>     p_pgp_segment21
300   ,p_pgp_segment22                =>     p_pgp_segment22
301   ,p_pgp_segment23                =>     p_pgp_segment23
302   ,p_pgp_segment24                =>     p_pgp_segment24
303   ,p_pgp_segment25                =>     p_pgp_segment25
304   ,p_pgp_segment26                =>     p_pgp_segment26
305   ,p_pgp_segment27                =>     p_pgp_segment27
306   ,p_pgp_segment28                =>     p_pgp_segment28
307   ,p_pgp_segment29                =>     p_pgp_segment29
308   ,p_pgp_segment30                =>     p_pgp_segment30
309   ,p_pgp_concat_segments          =>     p_pgp_concat_segments
310   ,p_assignment_id                =>     p_assignment_id
311   ,p_soft_coding_keyflex_id       =>     p_soft_coding_keyflex_id
312   ,p_people_group_id              =>     p_people_group_id
313   ,p_object_version_number        =>     p_object_version_number
314   ,p_effective_start_date         =>     p_effective_start_date
315   ,p_effective_end_date           =>     p_effective_end_date
316   ,p_assignment_sequence          =>     p_assignment_sequence
317   ,p_comment_id                   =>     p_comment_id
318   ,p_concatenated_segments        =>     p_concatenated_segments
319   ,p_group_name                   =>     p_group_name
320   ,p_other_manager_warning        =>     p_other_manager_warning
321   );
322   --
323   hr_utility.set_location(' Leaving:'||l_proc, 30);
324   --
325   END create_dk_secondary_emp_asg;
326 
327   -- ----------------------------------------------------------------------------
328   -- |--------------------------< update_dk_emp_asg >---------------------------|
329   -- ----------------------------------------------------------------------------
330   --
331 PROCEDURE update_dk_emp_asg
332   (p_validate                     IN     BOOLEAN  DEFAULT FALSE
333   ,p_effective_date               IN     DATE
334   ,p_datetrack_update_mode        IN     VARCHAR2
335   ,p_assignment_id                IN     NUMBER
336   ,p_object_version_number        IN OUT NOCOPY NUMBER
337   ,p_supervisor_id                IN     NUMBER   DEFAULT hr_api.g_number
338   ,p_assignment_number            IN     VARCHAR2 DEFAULT hr_api.g_varchar2
339   ,p_change_reason                IN     VARCHAR2 DEFAULT hr_api.g_varchar2
340   ,p_comments                     IN     VARCHAR2 DEFAULT hr_api.g_varchar2
341   ,p_date_probation_end           IN     DATE     DEFAULT hr_api.g_date
342   ,p_default_code_comb_id         IN     NUMBER   DEFAULT hr_api.g_number
343   ,p_frequency                    IN     VARCHAR2 DEFAULT hr_api.g_varchar2
344   ,p_internal_address_line        IN     VARCHAR2 DEFAULT hr_api.g_varchar2
345   ,p_manager_flag                 IN     VARCHAR2 DEFAULT hr_api.g_varchar2
346   ,p_normal_hours                 IN     NUMBER   DEFAULT hr_api.g_number
347   ,p_perf_review_period           IN     NUMBER   DEFAULT hr_api.g_number
348   ,p_perf_review_period_frequency IN     VARCHAR2 DEFAULT hr_api.g_varchar2
349   ,p_probation_period             IN     NUMBER   DEFAULT hr_api.g_number
350   ,p_probation_unit               IN     VARCHAR2 DEFAULT hr_api.g_varchar2
351   ,p_sal_review_period            IN     NUMBER   DEFAULT hr_api.g_number
352   ,p_sal_review_period_frequency  IN     VARCHAR2 DEFAULT hr_api.g_varchar2
353   ,p_set_of_books_id              IN     NUMBER   DEFAULT hr_api.g_number
354   ,p_source_type                  IN     VARCHAR2 DEFAULT hr_api.g_varchar2
355   ,p_time_normal_finish           IN     VARCHAR2 DEFAULT hr_api.g_varchar2
356   ,p_time_normal_start            IN     VARCHAR2 DEFAULT hr_api.g_varchar2
357   ,p_bargaining_unit_code         IN     VARCHAR2 DEFAULT hr_api.g_varchar2
358   ,p_labour_union_member_flag     IN     VARCHAR2 DEFAULT hr_api.g_varchar2
359   ,p_hourly_salaried_code         IN     VARCHAR2 DEFAULT hr_api.g_varchar2
360   ,p_ass_attribute_category       IN     VARCHAR2 DEFAULT hr_api.g_varchar2
361   ,p_ass_attribute1               IN     VARCHAR2 DEFAULT hr_api.g_varchar2
362   ,p_ass_attribute2               IN     VARCHAR2 DEFAULT hr_api.g_varchar2
363   ,p_ass_attribute3               IN     VARCHAR2 DEFAULT hr_api.g_varchar2
364   ,p_ass_attribute4               IN     VARCHAR2 DEFAULT hr_api.g_varchar2
365   ,p_ass_attribute5               IN     VARCHAR2 DEFAULT hr_api.g_varchar2
366   ,p_ass_attribute6               IN     VARCHAR2 DEFAULT hr_api.g_varchar2
367   ,p_ass_attribute7               IN     VARCHAR2 DEFAULT hr_api.g_varchar2
368   ,p_ass_attribute8               IN     VARCHAR2 DEFAULT hr_api.g_varchar2
369   ,p_ass_attribute9               IN     VARCHAR2 DEFAULT hr_api.g_varchar2
370   ,p_ass_attribute10              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
371   ,p_ass_attribute11              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
372   ,p_ass_attribute12              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
373   ,p_ass_attribute13              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
374   ,p_ass_attribute14              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
375   ,p_ass_attribute15              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
376   ,p_ass_attribute16              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
377   ,p_ass_attribute17              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
378   ,p_ass_attribute18              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
379   ,p_ass_attribute19              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
380   ,p_ass_attribute20              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
381   ,p_ass_attribute21              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
382   ,p_ass_attribute22              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
383   ,p_ass_attribute23              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
384   ,p_ass_attribute24              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
385   ,p_ass_attribute25              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
386   ,p_ass_attribute26              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
387   ,p_ass_attribute27              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
388   ,p_ass_attribute28              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
389   ,p_ass_attribute29              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
390   ,p_ass_attribute30              IN     VARCHAR2 DEFAULT hr_api.g_varchar2
391   ,p_title                        IN     VARCHAR2 DEFAULT hr_api.g_varchar2
392   ,p_legal_entity                 IN     VARCHAR2 DEFAULT hr_api.g_varchar2
393   --,p_pension_provider             IN     VARCHAR2 DEFAULT hr_api.g_varchar2 Removed from assignment level and it's captured at Element entry level
394   ,p_cond_of_emp		  IN     VARCHAR2 DEFAULT hr_api.g_varchar2
395   ,p_emp_group		          IN     VARCHAR2 DEFAULT hr_api.g_varchar2
396   ,p_union_membership             IN     VARCHAR2 DEFAULT hr_api.g_varchar2
397   ,p_termination_reason		  IN	 VARCHAR2 DEFAULT hr_api.g_varchar2
398   ,p_notified_date		  IN	 DATE	  DEFAULT hr_api.g_date
399   ,p_termination_date		  IN	 DATE	  DEFAULT hr_api.g_date
400   ,p_adjusted_seniority_date	  IN	 DATE	  DEFAULT hr_api.g_date
401   ,p_default_work_pattern	  IN     VARCHAR2 DEFAULT hr_api.g_varchar2  -- Holiday Entitlement
402   ,p_hourly_accrual_rate	  IN     NUMBER   DEFAULT hr_api.g_number    -- Holiday Entitlement
403   ,p_accrual_type		  IN     VARCHAR2 DEFAULT hr_api.g_varchar2  -- Holiday Entitlement
404   ,p_salaried_allowance_rate	  IN     NUMBER   DEFAULT hr_api.g_number    -- Holiday Entitlement
405   ,p_job_occupation_employee_code IN     VARCHAR2 DEFAULT hr_api.g_varchar2  -- DA Office codes
406   ,p_job_status_employee_code	  IN     VARCHAR2 DEFAULT hr_api.g_varchar2  -- DA Office codes
407   ,p_salary_basis_employee_code	  IN     VARCHAR2 DEFAULT hr_api.g_varchar2  -- DA Office codes
408   ,p_time_off_in_lieu		  IN     VARCHAR2 DEFAULT hr_api.g_varchar2  -- DA Office codes
409   ,p_section_28_registration	  IN     VARCHAR2 DEFAULT hr_api.g_varchar2  -- Sick Pay Defaults
410   ,p_comment_id                      OUT NOCOPY NUMBER
411   ,p_soft_coding_keyflex_id          OUT NOCOPY NUMBER
412   ,p_effective_start_date            OUT NOCOPY DATE
413   ,p_effective_end_date              OUT NOCOPY DATE
414   ,p_concatenated_segments           OUT NOCOPY VARCHAR2
415   ,p_no_managers_warning             OUT NOCOPY BOOLEAN
416   ,p_other_manager_warning           OUT NOCOPY BOOLEAN
417   ) is
418 
419  --
420     -- Declare cursors AND local variables
421     --
422     l_proc                       VARCHAR2(72) := g_package||'update_dk_emp_asg';
423     l_effective_date             DATE;
424     l_legislation_code           per_business_groups.legislation_code%TYPE;
425     l_business_group_id          per_business_groups.business_group_id%type;
426     a              varchar2(100);
427 
428    --
429     CURSOR check_legislation
430       (c_assignment_id  per_assignments_f.assignment_id%TYPE,
431        c_effective_date DATE
432       )
433     IS
434       SELECT    bgp.legislation_code
435       FROM      per_assignments_f asg,
436                 per_business_groups bgp
437       WHERE     asg.business_group_id = bgp.business_group_id
438       AND       asg.assignment_id     = c_assignment_id
439       AND       c_effective_date BETWEEN effective_start_date AND effective_end_date;
440     --
441 
442 
443   BEGIN
444     hr_utility.set_location('Entering:'|| l_proc, 10);
445 
446     --
447     -- Truncate DATE variables
448     --
449     l_effective_date := trunc(p_effective_date);
450     --
451     -- Validate IN addition to Table Handlers
452     --
453     -- Check that the assignment exists.
454     --
455     OPEN    check_legislation(p_assignment_id, l_effective_date);
456     FETCH   check_legislation into l_legislation_code;
457     IF check_legislation%notfound THEN
458       CLOSE check_legislation;
459       hr_utility.set_message(801,'HR_7220_INVALID_PRIMARY_KEY');
460       hr_utility.raise_error;
461     END IF;
462     CLOSE check_legislation;
463     hr_utility.set_location(l_proc, 20);
464     --
465     -- Check that the legislation of the specified business group IS 'DK'.
466     --
467     IF l_legislation_code <> 'DK' THEN
468       hr_utility.set_message(801, 'HR_7961_PER_BUS_GRP_INVALID');
469       hr_utility.set_message_token('LEG_CODE','DK');
470       hr_utility.raise_error;
471     END IF;
472     hr_utility.set_location(l_proc, 30);
473     --
474     --
475     -- Call update_emp_asg business process
476     --
477        hr_assignment_api.update_emp_asg
478       (p_validate                     => p_validate
479       ,p_effective_date               => p_effective_date
480       ,p_datetrack_update_mode        => p_datetrack_update_mode
481       ,p_assignment_id                => p_assignment_id
482       ,p_object_version_number        => p_object_version_number
483       ,p_supervisor_id                => p_supervisor_id
484       ,p_assignment_number            => p_assignment_number
485       ,p_change_reason                => p_change_reason
486       ,p_comments                     => p_comments
487       ,p_date_probation_end           => p_date_probation_end
488       ,p_default_code_comb_id         => p_default_code_comb_id
489       ,p_frequency                    => p_frequency
490       ,p_internal_address_line        => p_internal_address_line
491       ,p_manager_flag                 => p_manager_flag
492       ,p_normal_hours                 => p_normal_hours
493       ,p_perf_review_period           => p_perf_review_period
494       ,p_perf_review_period_frequency => p_perf_review_period_frequency
495       ,p_probation_period             => p_probation_period
496       ,p_probation_unit               => p_probation_unit
497       ,p_sal_review_period            => p_sal_review_period
498       ,p_sal_review_period_frequency  => p_sal_review_period_frequency
499       ,p_set_of_books_id              => p_set_of_books_id
500       ,p_source_type                  => p_source_type
501       ,p_time_normal_finish           => p_time_normal_finish
502       ,p_time_normal_start            => p_time_normal_start
503       ,p_bargaining_unit_code         => p_bargaining_unit_code
504       ,p_labour_union_member_flag     => p_labour_union_member_flag
505       ,p_hourly_salaried_code         => p_hourly_salaried_code
506       ,p_ass_attribute_category       => p_ass_attribute_category
507       ,p_ass_attribute1               => p_ass_attribute1
508       ,p_ass_attribute2               => p_ass_attribute2
509       ,p_ass_attribute3               => p_ass_attribute3
510       ,p_ass_attribute4               => p_ass_attribute4
511       ,p_ass_attribute5               => p_ass_attribute5
512       ,p_ass_attribute6               => p_ass_attribute6
513       ,p_ass_attribute7               => p_ass_attribute7
514       ,p_ass_attribute8               => p_ass_attribute8
515       ,p_ass_attribute9               => p_ass_attribute9
516       ,p_ass_attribute10              => p_ass_attribute10
517       ,p_ass_attribute11              => p_ass_attribute11
518       ,p_ass_attribute12              => p_ass_attribute12
519       ,p_ass_attribute13              => p_ass_attribute13
520       ,p_ass_attribute14              => p_ass_attribute14
521       ,p_ass_attribute15              => p_ass_attribute15
522       ,p_ass_attribute16              => p_ass_attribute16
523       ,p_ass_attribute17              => p_ass_attribute17
524       ,p_ass_attribute18              => p_ass_attribute18
525       ,p_ass_attribute19              => p_ass_attribute19
526       ,p_ass_attribute20              => p_ass_attribute20
527       ,p_ass_attribute21              => p_ass_attribute21
528       ,p_ass_attribute22              => p_ass_attribute22
529       ,p_ass_attribute23              => p_ass_attribute23
530       ,p_ass_attribute24              => p_ass_attribute24
531       ,p_ass_attribute25              => p_ass_attribute25
532       ,p_ass_attribute26              => p_ass_attribute26
533       ,p_ass_attribute27              => p_ass_attribute27
534       ,p_ass_attribute28              => p_ass_attribute28
535       ,p_ass_attribute29              => p_ass_attribute29
536       ,p_ass_attribute30              => p_ass_attribute30
537       ,p_title                        => p_title
538       ,p_segment1                     => p_legal_entity
539       --,p_segment2                     => p_pension_provider Removed from assignment level and it's captured at Element entry level
540       ,p_segment3                     => p_cond_of_emp
541       ,p_segment4                     => p_emp_group
542       ,p_segment5                     => p_union_membership
543       ,p_segment6                     => p_termination_reason
544       ,p_segment7                     => p_notified_date
545       ,p_segment8                     => p_termination_date
546       ,p_segment9                     => p_adjusted_seniority_date
547       ,p_segment10                    => p_default_work_pattern		-- Holiday Entitlement
548       ,p_segment11                    => p_hourly_accrual_rate		-- Holiday Entitlement
549       ,p_segment12                    => p_accrual_type			-- Holiday Entitlement
550       ,p_segment13                    => p_salaried_allowance_rate	-- Holiday Entitlement
551       ,p_segment14                    => p_job_occupation_employee_code	-- DA Office codes
552       ,p_segment15                    => p_job_status_employee_code	-- DA Office codes
553       ,p_segment16                    => p_salary_basis_employee_code	-- DA Office codes
554       ,p_segment17                    => p_time_off_in_lieu		-- DA Office codes
555       ,p_segment18                    => p_section_28_registration	-- Sick Pay Defaults
556       ,p_soft_coding_keyflex_id       => p_soft_coding_keyflex_id
557       ,p_comment_id                   => p_comment_id
558       ,p_effective_start_date         => p_effective_start_date
559       ,p_effective_END_date           => p_effective_end_date
560       ,p_concatenated_segments        => p_concatenated_segments
561       ,p_no_managers_warning          => p_no_managers_warning
562       ,p_other_manager_warning        => p_other_manager_warning
563       );
564 
565 
566     hr_utility.set_location(' Leaving:'||l_proc, 40);
567   END update_dk_emp_asg;
568 
569 
570 END hr_dk_assignment_api;