DBA Data[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 --