[Home] [Help]
PACKAGE BODY: APPS.PER_PER_AGGR
Source
1 PACKAGE BODY PER_PER_AGGR AS
2 /* $Header: pegbperhi.pkb 120.3 2010/05/28 09:21:34 sidsaxen noship $ */
3
4 -- Start : bug#8370225
5
6 PROCEDURE AI_check_PAYE_NI_flags (p_person_id IN NUMBER,
7 p_effective_date IN DATE) IS
8
9 CURSOR GET_PERSON_DETAILS IS
10 SELECT papf.person_id, PAPF.object_version_number, PAPF.employee_number,
11 PER_INFORMATION9,PER_INFORMATION10 ,CURRENT_EMPLOYEE_FLAG
12 FROM per_all_people_f PAPF
13 WHERE papf.person_id = p_person_id
14 AND p_effective_date BETWEEN PAPF.EFFECTIVE_START_DATE AND PAPF.effective_end_date;
15
16 L_PERSON_ID PER_ALL_PEOPLE_F.PERSON_ID%TYPE;
17 l_validate Boolean;
18 l_object_version_number NUMBER;
19 l_employee_number PER_ALL_PEOPLE_F.EMPLOYEE_NUMBER%TYPE;
20 l_paye_aggregate_assignment PER_ALL_PEOPLE_F.PER_INFORMATION10%type;
21 l_ni_aggregate_assignment PER_ALL_PEOPLE_F.PER_INFORMATION10%type;
22 l_full_name PER_ALL_PEOPLE_F.full_name%TYPE;
23 l_comment_id number;
24 l_name_combination_warning boolean;
25 l_assign_payroll_warning boolean;
26 l_orig_hire_warning boolean;
27 l_end_date date;
28 l_start_date date;
29 l_profile_value varchar2(30);
30 l_CURRENT_EMPLOYEE_FLAG PER_ALL_PEOPLE_F.CURRENT_EMPLOYEE_FLAG%type;
31
32 BEGIN
33
34 fnd_profile.get('GB_PAYE_NI_AGGREGATION',l_profile_value);
35 IF NVL(l_profile_value,'N') = 'Y' then
36
37 OPEN GET_PERSON_DETAILS;
38 FETCH GET_PERSON_DETAILS INTO L_PERSON_ID, l_object_version_number,
39 l_employee_number,l_ni_aggregate_assignment,
40 l_paye_aggregate_assignment,l_CURRENT_EMPLOYEE_FLAG;
41
42 IF GET_PERSON_DETAILS%FOUND THEN
43 IF NVL(l_paye_aggregate_assignment,'N') = 'N'
44 and NVL(l_ni_aggregate_assignment,'N') = 'N'
45 and l_CURRENT_EMPLOYEE_FLAG = 'Y' THEN
46
47 l_ni_aggregate_assignment := 'Y';
48 l_paye_aggregate_assignment := 'Y';
49
50 HR_PERSON_API.update_gb_person (
51 p_validate => l_validate
52 ,p_effective_date => p_effective_date
53 ,p_datetrack_update_mode => 'CORRECTION'
54 ,p_person_id => L_PERSON_ID
55 ,p_object_version_number => l_object_version_number
56 ,p_person_type_id => hr_api.g_number
57 ,p_last_name => hr_api.g_varchar2
58 ,p_applicant_number => hr_api.g_varchar2
59 ,p_comments => hr_api.g_varchar2
60 ,p_date_employee_data_verified => hr_api.g_date
61 ,p_date_of_birth => hr_api.g_date
62 ,p_email_address => hr_api.g_varchar2
63 ,p_employee_number => l_employee_number
64 ,p_expense_check_send_to_addres => hr_api.g_varchar2
65 ,p_first_name => hr_api.g_varchar2
66 ,p_known_as => hr_api.g_varchar2
67 ,p_marital_status => hr_api.g_varchar2
68 ,p_middle_names => hr_api.g_varchar2
69 ,p_nationality => hr_api.g_varchar2
70 ,p_ni_number => hr_api.g_varchar2
71 ,p_previous_last_name => hr_api.g_varchar2
72 ,p_registered_disabled_flag => hr_api.g_varchar2
73 ,p_sex => hr_api.g_varchar2
74 ,p_title => hr_api.g_varchar2
75 ,p_vendor_id => hr_api.g_number
76 ,p_work_telephone => hr_api.g_varchar2
77 ,p_attribute_category => hr_api.g_varchar2
78 ,p_attribute1 => hr_api.g_varchar2
79 ,p_attribute2 => hr_api.g_varchar2
80 ,p_attribute3 => hr_api.g_varchar2
81 ,p_attribute4 => hr_api.g_varchar2
82 ,p_attribute5 => hr_api.g_varchar2
86 ,p_attribute9 => hr_api.g_varchar2
83 ,p_attribute6 => hr_api.g_varchar2
84 ,p_attribute7 => hr_api.g_varchar2
85 ,p_attribute8 => hr_api.g_varchar2
87 ,p_attribute10 => hr_api.g_varchar2
88 ,p_attribute11 => hr_api.g_varchar2
89 ,p_attribute12 => hr_api.g_varchar2
90 ,p_attribute13 => hr_api.g_varchar2
91 ,p_attribute14 => hr_api.g_varchar2
92 ,p_attribute15 => hr_api.g_varchar2
93 ,p_attribute16 => hr_api.g_varchar2
94 ,p_attribute17 => hr_api.g_varchar2
95 ,p_attribute18 => hr_api.g_varchar2
96 ,p_attribute19 => hr_api.g_varchar2
97 ,p_attribute20 => hr_api.g_varchar2
98 ,p_attribute21 => hr_api.g_varchar2
99 ,p_attribute22 => hr_api.g_varchar2
100 ,p_attribute23 => hr_api.g_varchar2
101 ,p_attribute24 => hr_api.g_varchar2
102 ,p_attribute25 => hr_api.g_varchar2
103 ,p_attribute26 => hr_api.g_varchar2
104 ,p_attribute27 => hr_api.g_varchar2
105 ,p_attribute28 => hr_api.g_varchar2
106 ,p_attribute29 => hr_api.g_varchar2
107 ,p_attribute30 => hr_api.g_varchar2
108 ,p_ethnic_origin => hr_api.g_varchar2
109 ,p_director => hr_api.g_varchar2
110 ,p_pensioner => hr_api.g_varchar2
111 ,p_work_permit_number => hr_api.g_varchar2
112 ,p_addl_pension_years => hr_api.g_varchar2
113 ,p_addl_pension_months => hr_api.g_varchar2
114 ,p_addl_pension_days => hr_api.g_varchar2
115 ,p_ni_multiple_asg => l_ni_aggregate_assignment
116 ,p_paye_aggregate_assignment => l_paye_aggregate_assignment
117 ,p_date_of_death => hr_api.g_date
118 ,p_background_check_status => hr_api.g_varchar2
119 ,p_background_date_check => hr_api.g_date
120 ,p_blood_type => hr_api.g_varchar2
121 ,p_correspondence_language => hr_api.g_varchar2
122 ,p_fast_path_employee => hr_api.g_varchar2
123 ,p_fte_capacity => hr_api.g_number
124 ,p_hold_applicant_date_until => hr_api.g_date
125 ,p_honors => hr_api.g_varchar2
126 ,p_internal_location => hr_api.g_varchar2
127 ,p_last_medical_test_by => hr_api.g_varchar2
128 ,p_last_medical_test_date => hr_api.g_date
129 ,p_mailstop => hr_api.g_varchar2
130 ,p_office_number => hr_api.g_varchar2
131 ,p_on_military_service => hr_api.g_varchar2
132 ,p_pre_name_adjunct => hr_api.g_varchar2
133 ,p_projected_start_date => hr_api.g_date
134 ,p_rehire_authorizor => hr_api.g_varchar2
135 ,p_rehire_recommendation => hr_api.g_varchar2
136 ,p_resume_exists => hr_api.g_varchar2
137 ,p_resume_last_updated => hr_api.g_date
138 ,p_second_passport_exists => hr_api.g_varchar2
139 ,p_student_status => hr_api.g_varchar2
140 ,p_work_schedule => hr_api.g_varchar2
141 ,p_rehire_reason => hr_api.g_varchar2
142 ,p_suffix => hr_api.g_varchar2
143 ,p_benefit_group_id => hr_api.g_number
144 ,p_receipt_of_death_cert_date => hr_api.g_date
145 ,p_coord_ben_med_pln_no => hr_api.g_varchar2
146 ,p_coord_ben_no_cvg_flag => hr_api.g_varchar2
147 ,p_coord_ben_med_ext_er => hr_api.g_varchar2
148 ,p_coord_ben_med_pl_name => hr_api.g_varchar2
149 ,p_coord_ben_med_insr_crr_name => hr_api.g_varchar2
150 ,p_coord_ben_med_insr_crr_ident => hr_api.g_varchar2
151 ,p_coord_ben_med_cvg_strt_dt => hr_api.g_date
152 ,p_coord_ben_med_cvg_end_dt => hr_api.g_date
153 ,p_uses_tobacco_flag => hr_api.g_varchar2
154 ,p_dpdnt_adoption_date => hr_api.g_date
155 ,p_dpdnt_vlntry_svce_flag => hr_api.g_varchar2
156 ,p_original_date_of_hire => hr_api.g_date
157 ,p_adjusted_svc_date => hr_api.g_date
158 ,p_town_of_birth => hr_api.g_varchar2
159 ,p_region_of_birth => hr_api.g_varchar2
160 ,p_country_of_birth => hr_api.g_varchar2
161 ,p_global_person_id => hr_api.g_varchar2
162 ,p_party_id => hr_api.g_number
163 ,p_npw_number => hr_api.g_varchar2
164 ,p_effective_start_date => l_start_date
165 ,p_effective_end_date => l_end_date
166 ,p_full_name => l_full_name
167 ,p_comment_id => l_comment_id
168 ,p_name_combination_warning => l_name_combination_warning
169 ,p_assign_payroll_warning => l_assign_payroll_warning
170 ,p_orig_hire_warning => l_orig_hire_warning );
171
172 END IF;
173 END IF;
174 CLOSE GET_PERSON_DETAILS;
175 END IF;
176
177
178 END AI_check_PAYE_NI_flags;
179
180
181 PROCEDURE AU_check_PAYE_NI_flags (p_person_id IN NUMBER,
182 p_effective_date IN DATE,
183 p_datetrack_mode IN VARCHAR2,
184 P_CURRENT_EMPLOYEE_FLAG_O IN VARCHAR2) IS
185
186 CURSOR GET_PERSON_DETAILS IS
187 SELECT papf.person_id, PAPF.object_version_number, PAPF.employee_number,
188 PER_INFORMATION9, PER_INFORMATION10 ,CURRENT_EMPLOYEE_FLAG
189 FROM per_all_people_f PAPF
190 WHERE papf.person_id = p_person_id
191 AND p_effective_date BETWEEN PAPF.EFFECTIVE_START_DATE AND PAPF.effective_end_date;
192
193 L_PERSON_ID PER_ALL_PEOPLE_F.PERSON_ID%TYPE;
194 l_validate Boolean;
195 l_object_version_number NUMBER;
196 l_employee_number PER_ALL_PEOPLE_F.EMPLOYEE_NUMBER%TYPE;
200 l_comment_id number;
197 l_paye_aggregate_assignment PER_ALL_PEOPLE_F.PER_INFORMATION10%type;
198 l_ni_aggregate_assignment PER_ALL_PEOPLE_F.PER_INFORMATION10%type;
199 l_full_name PER_ALL_PEOPLE_F.full_name%TYPE;
201 l_name_combination_warning boolean;
202 l_assign_payroll_warning boolean;
203 l_orig_hire_warning boolean;
204 l_end_date date;
205 l_start_date date;
206 l_profile_value varchar2(30);
207 l_CURRENT_EMPLOYEE_FLAG PER_ALL_PEOPLE_F.CURRENT_EMPLOYEE_FLAG%type;
208
209 BEGIN
210
211 fnd_profile.get('GB_PAYE_NI_AGGREGATION',l_profile_value);
212 IF NVL(l_profile_value,'N') = 'Y' then
213
214 OPEN GET_PERSON_DETAILS;
215 FETCH GET_PERSON_DETAILS INTO L_PERSON_ID, l_object_version_number,
216 l_employee_number,l_ni_aggregate_assignment,
217 l_paye_aggregate_assignment,l_CURRENT_EMPLOYEE_FLAG;
218
219 IF GET_PERSON_DETAILS%FOUND THEN
220 IF NVL(l_paye_aggregate_assignment,'N') = 'N'
221 and NVL(l_ni_aggregate_assignment,'N') = 'N'
222 and NVL(l_CURRENT_EMPLOYEE_FLAG,'N') = 'Y'
223 and NVL(P_CURRENT_EMPLOYEE_FLAG_O,'N') = 'N' THEN
224
225 l_ni_aggregate_assignment := 'Y';
226 l_paye_aggregate_assignment := 'Y';
227
228 HR_PERSON_API.update_gb_person (
229 p_validate => l_validate
230 ,p_effective_date => p_effective_date
231 ,p_datetrack_update_mode => 'CORRECTION'
232 ,p_person_id => L_PERSON_ID
233 ,p_object_version_number => l_object_version_number
234 ,p_person_type_id => hr_api.g_number
235 ,p_last_name => hr_api.g_varchar2
236 ,p_applicant_number => hr_api.g_varchar2
237 ,p_comments => hr_api.g_varchar2
238 ,p_date_employee_data_verified => hr_api.g_date
239 ,p_date_of_birth => hr_api.g_date
240 ,p_email_address => hr_api.g_varchar2
241 ,p_employee_number => l_employee_number
242 ,p_expense_check_send_to_addres => hr_api.g_varchar2
243 ,p_first_name => hr_api.g_varchar2
244 ,p_known_as => hr_api.g_varchar2
245 ,p_marital_status => hr_api.g_varchar2
246 ,p_middle_names => hr_api.g_varchar2
247 ,p_nationality => hr_api.g_varchar2
248 ,p_ni_number => hr_api.g_varchar2
249 ,p_previous_last_name => hr_api.g_varchar2
250 ,p_registered_disabled_flag => hr_api.g_varchar2
251 ,p_sex => hr_api.g_varchar2
252 ,p_title => hr_api.g_varchar2
253 ,p_vendor_id => hr_api.g_number
254 ,p_work_telephone => hr_api.g_varchar2
255 ,p_attribute_category => hr_api.g_varchar2
256 ,p_attribute1 => hr_api.g_varchar2
257 ,p_attribute2 => hr_api.g_varchar2
258 ,p_attribute3 => hr_api.g_varchar2
259 ,p_attribute4 => hr_api.g_varchar2
260 ,p_attribute5 => hr_api.g_varchar2
261 ,p_attribute6 => hr_api.g_varchar2
262 ,p_attribute7 => hr_api.g_varchar2
263 ,p_attribute8 => hr_api.g_varchar2
264 ,p_attribute9 => hr_api.g_varchar2
265 ,p_attribute10 => hr_api.g_varchar2
266 ,p_attribute11 => hr_api.g_varchar2
267 ,p_attribute12 => hr_api.g_varchar2
268 ,p_attribute13 => hr_api.g_varchar2
269 ,p_attribute14 => hr_api.g_varchar2
270 ,p_attribute15 => hr_api.g_varchar2
271 ,p_attribute16 => hr_api.g_varchar2
272 ,p_attribute17 => hr_api.g_varchar2
273 ,p_attribute18 => hr_api.g_varchar2
274 ,p_attribute19 => hr_api.g_varchar2
275 ,p_attribute20 => hr_api.g_varchar2
276 ,p_attribute21 => hr_api.g_varchar2
277 ,p_attribute22 => hr_api.g_varchar2
278 ,p_attribute23 => hr_api.g_varchar2
279 ,p_attribute24 => hr_api.g_varchar2
280 ,p_attribute25 => hr_api.g_varchar2
281 ,p_attribute26 => hr_api.g_varchar2
282 ,p_attribute27 => hr_api.g_varchar2
283 ,p_attribute28 => hr_api.g_varchar2
284 ,p_attribute29 => hr_api.g_varchar2
285 ,p_attribute30 => hr_api.g_varchar2
286 ,p_ethnic_origin => hr_api.g_varchar2
287 ,p_director => hr_api.g_varchar2
288 ,p_pensioner => hr_api.g_varchar2
289 ,p_work_permit_number => hr_api.g_varchar2
290 ,p_addl_pension_years => hr_api.g_varchar2
291 ,p_addl_pension_months => hr_api.g_varchar2
292 ,p_addl_pension_days => hr_api.g_varchar2
293 ,p_ni_multiple_asg => l_ni_aggregate_assignment
294 ,p_paye_aggregate_assignment => l_paye_aggregate_assignment
295 ,p_date_of_death => hr_api.g_date
296 ,p_background_check_status => hr_api.g_varchar2
297 ,p_background_date_check => hr_api.g_date
298 ,p_blood_type => hr_api.g_varchar2
299 ,p_correspondence_language => hr_api.g_varchar2
300 ,p_fast_path_employee => hr_api.g_varchar2
301 ,p_fte_capacity => hr_api.g_number
302 ,p_hold_applicant_date_until => hr_api.g_date
303 ,p_honors => hr_api.g_varchar2
304 ,p_internal_location => hr_api.g_varchar2
305 ,p_last_medical_test_by => hr_api.g_varchar2
306 ,p_last_medical_test_date => hr_api.g_date
307 ,p_mailstop => hr_api.g_varchar2
308 ,p_office_number => hr_api.g_varchar2
309 ,p_on_military_service => hr_api.g_varchar2
313 ,p_rehire_recommendation => hr_api.g_varchar2
310 ,p_pre_name_adjunct => hr_api.g_varchar2
311 ,p_projected_start_date => hr_api.g_date
312 ,p_rehire_authorizor => hr_api.g_varchar2
314 ,p_resume_exists => hr_api.g_varchar2
315 ,p_resume_last_updated => hr_api.g_date
316 ,p_second_passport_exists => hr_api.g_varchar2
317 ,p_student_status => hr_api.g_varchar2
318 ,p_work_schedule => hr_api.g_varchar2
319 ,p_rehire_reason => hr_api.g_varchar2
320 ,p_suffix => hr_api.g_varchar2
321 ,p_benefit_group_id => hr_api.g_number
322 ,p_receipt_of_death_cert_date => hr_api.g_date
323 ,p_coord_ben_med_pln_no => hr_api.g_varchar2
324 ,p_coord_ben_no_cvg_flag => hr_api.g_varchar2
325 ,p_coord_ben_med_ext_er => hr_api.g_varchar2
326 ,p_coord_ben_med_pl_name => hr_api.g_varchar2
327 ,p_coord_ben_med_insr_crr_name => hr_api.g_varchar2
328 ,p_coord_ben_med_insr_crr_ident => hr_api.g_varchar2
329 ,p_coord_ben_med_cvg_strt_dt => hr_api.g_date
330 ,p_coord_ben_med_cvg_end_dt => hr_api.g_date
331 ,p_uses_tobacco_flag => hr_api.g_varchar2
332 ,p_dpdnt_adoption_date => hr_api.g_date
333 ,p_dpdnt_vlntry_svce_flag => hr_api.g_varchar2
334 ,p_original_date_of_hire => hr_api.g_date
335 ,p_adjusted_svc_date => hr_api.g_date
336 ,p_town_of_birth => hr_api.g_varchar2
337 ,p_region_of_birth => hr_api.g_varchar2
338 ,p_country_of_birth => hr_api.g_varchar2
339 ,p_global_person_id => hr_api.g_varchar2
340 ,p_party_id => hr_api.g_number
341 ,p_npw_number => hr_api.g_varchar2
342 ,p_effective_start_date => l_start_date
343 ,p_effective_end_date => l_end_date
344 ,p_full_name => l_full_name
345 ,p_comment_id => l_comment_id
346 ,p_name_combination_warning => l_name_combination_warning
347 ,p_assign_payroll_warning => l_assign_payroll_warning
348 ,p_orig_hire_warning => l_orig_hire_warning );
349
350 END IF;
351 END IF;
352 CLOSE GET_PERSON_DETAILS;
353 END IF;
354
355 END AU_check_PAYE_NI_flags;
356 -- End : bug#8370225
357 END PER_PER_AGGR;
358 --