[Home] [Help]
PACKAGE BODY: APPS.HR_FI_PERSON_API
Source
1 PACKAGE BODY HR_FI_PERSON_API AS
2 /* $Header: peperfii.pkb 120.1.12000000.2 2007/02/14 12:29:01 dbehera noship $ */
3
4 -- Package Variables
5 g_package VARCHAR2(33) := 'hr_fi_person_api.';
6 g_debug boolean := hr_utility.debug_enabled;
7
8 procedure update_fi_person
9 (p_validate in boolean default false
10 ,p_effective_date in date
11 ,p_datetrack_update_mode in varchar2
12 ,p_person_id in number
13 ,p_object_version_number in out nocopy number
14 ,p_person_type_id in number default hr_api.g_number
15 ,p_last_name in varchar2 default hr_api.g_varchar2
16 ,p_applicant_number in varchar2 default hr_api.g_varchar2
17 ,p_comments in varchar2 default hr_api.g_varchar2
18 ,p_date_employee_data_verified in date default hr_api.g_date
19 ,p_date_of_birth in date default hr_api.g_date
20 ,p_email_address in varchar2 default hr_api.g_varchar2
21 ,p_employee_number in out nocopy varchar2
22 ,p_expense_check_send_to_addres in varchar2 default hr_api.g_varchar2
23 ,p_first_name in varchar2 default hr_api.g_varchar2
24 ,p_known_as in varchar2 default hr_api.g_varchar2
25 ,p_marital_status in varchar2 default hr_api.g_varchar2
26 ,p_nationality in varchar2 default hr_api.g_varchar2
27 ,p_national_identifier in varchar2 default hr_api.g_varchar2
28 ,p_previous_last_name in varchar2 default hr_api.g_varchar2
29 ,p_registered_disabled_flag in varchar2 default hr_api.g_varchar2
30 ,p_sex in varchar2 default hr_api.g_varchar2
31 ,p_title in varchar2 default hr_api.g_varchar2
32 ,p_vendor_id in number default hr_api.g_number
33 ,p_work_telephone in varchar2 default hr_api.g_varchar2
34 ,p_attribute_category in varchar2 default hr_api.g_varchar2
35 ,p_attribute1 in varchar2 default hr_api.g_varchar2
36 ,p_attribute2 in varchar2 default hr_api.g_varchar2
37 ,p_attribute3 in varchar2 default hr_api.g_varchar2
38 ,p_attribute4 in varchar2 default hr_api.g_varchar2
39 ,p_attribute5 in varchar2 default hr_api.g_varchar2
40 ,p_attribute6 in varchar2 default hr_api.g_varchar2
41 ,p_attribute7 in varchar2 default hr_api.g_varchar2
42 ,p_attribute8 in varchar2 default hr_api.g_varchar2
43 ,p_attribute9 in varchar2 default hr_api.g_varchar2
44 ,p_attribute10 in varchar2 default hr_api.g_varchar2
45 ,p_attribute11 in varchar2 default hr_api.g_varchar2
46 ,p_attribute12 in varchar2 default hr_api.g_varchar2
47 ,p_attribute13 in varchar2 default hr_api.g_varchar2
48 ,p_attribute14 in varchar2 default hr_api.g_varchar2
49 ,p_attribute15 in varchar2 default hr_api.g_varchar2
50 ,p_attribute16 in varchar2 default hr_api.g_varchar2
51 ,p_attribute17 in varchar2 default hr_api.g_varchar2
52 ,p_attribute18 in varchar2 default hr_api.g_varchar2
53 ,p_attribute19 in varchar2 default hr_api.g_varchar2
54 ,p_attribute20 in varchar2 default hr_api.g_varchar2
55 ,p_attribute21 in varchar2 default hr_api.g_varchar2
56 ,p_attribute22 in varchar2 default hr_api.g_varchar2
57 ,p_attribute23 in varchar2 default hr_api.g_varchar2
58 ,p_attribute24 in varchar2 default hr_api.g_varchar2
59 ,p_attribute25 in varchar2 default hr_api.g_varchar2
60 ,p_attribute26 in varchar2 default hr_api.g_varchar2
61 ,p_attribute27 in varchar2 default hr_api.g_varchar2
62 ,p_attribute28 in varchar2 default hr_api.g_varchar2
63 ,p_attribute29 in varchar2 default hr_api.g_varchar2
64 ,p_attribute30 in varchar2 default hr_api.g_varchar2
65 ,p_place_of_residence in varchar2 default hr_api.g_varchar2
66 ,p_secondary_email in varchar2 default hr_api.g_varchar2
67 ,p_epost_address in varchar2 default hr_api.g_varchar2
68 ,p_speed_dial_number in varchar2 default hr_api.g_varchar2
69 ,p_qualification in varchar2 default hr_api.g_varchar2
70 ,p_level in varchar2 default hr_api.g_varchar2
71 ,p_field in varchar2 default hr_api.g_varchar2
72 ,p_retirement_date in varchar2 default hr_api.g_varchar2
73 ,p_union_name in varchar2 default hr_api.g_varchar2
74 ,p_membership_number in varchar2 default hr_api.g_varchar2
75 ,p_payment_mode in varchar2 default hr_api.g_varchar2
76 ,p_fixed_amount in varchar2 default hr_api.g_varchar2
77 ,p_percentage in varchar2 default hr_api.g_varchar2
78 ,p_pension_joining_date in varchar2 default hr_api.g_varchar2
79 ,p_pension_type in varchar2 default hr_api.g_varchar2
80 ,p_pension_group in varchar2 default hr_api.g_varchar2
81 ,p_planned_retirement_age in varchar2 default hr_api.g_varchar2
82 ,p_membership_start_date in varchar2 default hr_api.g_varchar2
83 ,p_membership_end_date in varchar2 default hr_api.g_varchar2
84 ,p_termination_date in varchar2 default hr_api.g_varchar2
85 ,p_termination_reason in varchar2 default hr_api.g_varchar2
86 ,p_mother_tongue in varchar2 default hr_api.g_varchar2
87 ,p_foreign_personal_id in varchar2 default hr_api.g_varchar2
88 ,p_pension_insurance_number in varchar2 default hr_api.g_varchar2
89 ,p_date_of_death in date default hr_api.g_date
90 ,p_background_check_status in varchar2 default hr_api.g_varchar2
91 ,p_background_date_check in date default hr_api.g_date
92 ,p_blood_type in varchar2 default hr_api.g_varchar2
93 ,p_correspondence_language in varchar2 default hr_api.g_varchar2
94 ,p_fast_path_employee in varchar2 default hr_api.g_varchar2
95 ,p_fte_capacity in number default hr_api.g_number
96 ,p_hold_applicant_date_until in date default hr_api.g_date
97 ,p_honors in varchar2 default hr_api.g_varchar2
98 ,p_internal_location in varchar2 default hr_api.g_varchar2
99 ,p_last_medical_test_by in varchar2 default hr_api.g_varchar2
100 ,p_last_medical_test_date in date default hr_api.g_date
101 ,p_mailstop in varchar2 default hr_api.g_varchar2
102 ,p_office_number in varchar2 default hr_api.g_varchar2
103 ,p_on_military_service in varchar2 default hr_api.g_varchar2
104 ,p_projected_start_date in date default hr_api.g_date
105 ,p_rehire_authorizor in varchar2 default hr_api.g_varchar2
106 ,p_rehire_recommendation in varchar2 default hr_api.g_varchar2
107 ,p_resume_exists in varchar2 default hr_api.g_varchar2
108 ,p_resume_last_updated in date default hr_api.g_date
109 ,p_second_passport_exists in varchar2 default hr_api.g_varchar2
110 ,p_student_status in varchar2 default hr_api.g_varchar2
111 ,p_work_schedule in varchar2 default hr_api.g_varchar2
112 ,p_rehire_reason in varchar2 default hr_api.g_varchar2
113 ,p_benefit_group_id in number default hr_api.g_number
114 ,p_receipt_of_death_cert_date in date default hr_api.g_date
115 ,p_coord_ben_med_pln_no in varchar2 default hr_api.g_varchar2
116 ,p_coord_ben_no_cvg_flag in varchar2 default hr_api.g_varchar2
117 ,p_coord_ben_med_ext_er in varchar2 default hr_api.g_varchar2
118 ,p_coord_ben_med_pl_name in varchar2 default hr_api.g_varchar2
119 ,p_coord_ben_med_insr_crr_name in varchar2 default hr_api.g_varchar2
120 ,p_coord_ben_med_insr_crr_ident in varchar2 default hr_api.g_varchar2
121 ,p_coord_ben_med_cvg_strt_dt in date default hr_api.g_date
122 ,p_coord_ben_med_cvg_end_dt in date default hr_api.g_date
123 ,p_uses_tobacco_flag in varchar2 default hr_api.g_varchar2
124 ,p_dpdnt_adoption_date in date default hr_api.g_date
125 ,p_dpdnt_vlntry_svce_flag in varchar2 default hr_api.g_varchar2
126 ,p_original_date_of_hire in date default hr_api.g_date
127 ,p_adjusted_svc_date in date default hr_api.g_date
128 ,p_town_of_birth in varchar2 default hr_api.g_varchar2
129 ,p_region_of_birth in varchar2 default hr_api.g_varchar2
130 ,p_country_of_birth in varchar2 default hr_api.g_varchar2
131 ,p_global_person_id in varchar2 default hr_api.g_varchar2
132 ,p_party_id in number default hr_api.g_number
133 ,p_npw_number in varchar2 default hr_api.g_varchar2
134 ,p_effective_start_date out nocopy date
135 ,p_effective_end_date out nocopy date
136 ,p_full_name out nocopy varchar2
137 ,p_comment_id out nocopy number
138 ,p_name_combination_warning out nocopy boolean
139 ,p_assign_payroll_warning out nocopy boolean
140 ,p_orig_hire_warning out nocopy boolean
141 ) is
142
143 --
144 -- Declare cursors and local variables
145 --
146 l_proc VARCHAR2(72) ;
147 l_effective_date date;
148 l_legislation_code per_business_groups.legislation_code%type;
149 l_discard_varchar2 varchar2(30);
150 --
151 cursor check_legislation
152 (c_person_id per_people_f.person_id%TYPE,
153 c_effective_date date
154 )
155 is
156 select bgp.legislation_code
157 from per_people_f per,
158 per_business_groups bgp
159 where per.business_group_id = bgp.business_group_id
160 and per.person_id = c_person_id
161 and c_effective_date
162 between per.effective_start_date and per.effective_end_date;
163 --
164 begin
165 hr_utility.trace_on(null,'X');
166 l_proc:= g_package||'update_fi_person';
167 if g_debug then
168 hr_utility.set_location('Entering:'|| l_proc, 5);
169 end if;
170 --
171 -- Initialise local variables
172 --
173 l_effective_date := trunc(p_effective_date);
174 --
175 -- Validation in addition to Row Handlers
176 --
177 -- Check that the person exists.
178 --
179 open check_legislation(p_person_id, l_effective_date);
180 fetch check_legislation into l_legislation_code;
181 if check_legislation%notfound then
182 close check_legislation;
183 hr_utility.set_message(801,'HR_7220_INVALID_PRIMARY_KEY');
184 hr_utility.raise_error;
185 end if;
186 close check_legislation;
187 if g_debug then
188 hr_utility.set_location(l_proc, 20);
189 end if;
190 --
191 -- Check that the legislation of the specified business group is 'FI'.
192 --
193 if l_legislation_code <> 'FI' then
194 hr_utility.set_message(801, 'HR_7961_PER_BUS_GRP_INVALID');
195 hr_utility.set_message_token('LEG_CODE','FI');
196 hr_utility.raise_error;
197 end if;
198
199 if p_membership_start_date is not null and p_membership_end_date is not null and
200 p_membership_start_date > p_membership_end_date then
201 hr_utility.set_message(801, 'HR_376639_FI_VALID_DATE');
202 hr_utility.set_message_token('LEG_CODE','FI');
203 hr_utility.raise_error;
204 end if;
205
206
207 if g_debug then
208 hr_utility.set_location(l_proc, 30);
209 end if;
210 --
211 -- Update the person record using the update_person
212 --
213 hr_person_api.update_person
214 (p_validate => p_validate
215 ,p_effective_date => l_effective_date
216 ,p_datetrack_update_mode => p_datetrack_update_mode
217 ,p_person_id => p_person_id
218 ,p_object_version_number => p_object_version_number
219 ,p_person_type_id => p_person_type_id
220 ,p_last_name => p_last_name
221 ,p_applicant_number => p_applicant_number
222 ,p_comments => p_comments
223 ,p_date_employee_data_verified => p_date_employee_data_verified
224 ,p_date_of_birth => p_date_of_birth
225 ,p_email_address => p_email_address
226 ,p_employee_number => p_employee_number
227 ,p_expense_check_send_to_addres => p_expense_check_send_to_addres
228 ,p_first_name => p_first_name
229 ,p_known_as => p_known_as
230 ,p_marital_status => p_marital_status
231 ,p_nationality => p_nationality
232 ,p_national_identifier => p_national_identifier
233 ,p_previous_last_name => p_previous_last_name
234 ,p_registered_disabled_flag => p_registered_disabled_flag
235 ,p_sex => p_sex
236 ,p_title => p_title
237 ,p_vendor_id => p_vendor_id
238 ,p_work_telephone => p_work_telephone
239 ,p_attribute_category => p_attribute_category
240 ,p_attribute1 => p_attribute1
241 ,p_attribute2 => p_attribute2
242 ,p_attribute3 => p_attribute3
243 ,p_attribute4 => p_attribute4
244 ,p_attribute5 => p_attribute5
245 ,p_attribute6 => p_attribute6
246 ,p_attribute7 => p_attribute7
247 ,p_attribute8 => p_attribute8
248 ,p_attribute9 => p_attribute9
249 ,p_attribute10 => p_attribute10
250 ,p_attribute11 => p_attribute11
251 ,p_attribute12 => p_attribute12
252 ,p_attribute13 => p_attribute13
253 ,p_attribute14 => p_attribute14
254 ,p_attribute15 => p_attribute15
255 ,p_attribute16 => p_attribute16
256 ,p_attribute17 => p_attribute17
257 ,p_attribute18 => p_attribute18
258 ,p_attribute19 => p_attribute19
259 ,p_attribute20 => p_attribute20
260 ,p_attribute21 => p_attribute21
261 ,p_attribute22 => p_attribute22
262 ,p_attribute23 => p_attribute23
263 ,p_attribute24 => p_attribute24
264 ,p_attribute25 => p_attribute25
265 ,p_attribute26 => p_attribute26
266 ,p_attribute27 => p_attribute27
267 ,p_attribute28 => p_attribute28
268 ,p_attribute29 => p_attribute29
269 ,p_attribute30 => p_attribute30
270 ,p_per_information_category => 'FI'
271 ,p_per_information1 => p_place_of_residence
272 ,p_per_information2 => p_secondary_email
273 ,p_per_information3 => p_epost_address
274 ,p_per_information4 => p_speed_dial_number
275 ,p_per_information5 => p_qualification
276 ,p_per_information6 => p_level
277 ,p_per_information7 => p_field
278 ,p_per_information8 => p_retirement_date
279 ,p_per_information9 => p_union_name
280 ,p_per_information10 => p_membership_number
281 ,p_per_information11 => p_payment_mode
282 ,p_per_information12 => p_fixed_amount
283 ,p_per_information13 => p_percentage
284 ,p_per_information14 => p_pension_joining_date
285 ,p_per_information15 => p_pension_type
286 ,p_per_information16 => p_pension_group
287 ,p_per_information17 => p_planned_retirement_age
288 ,p_per_information18 => p_membership_start_date
289 ,p_per_information19 => p_membership_end_date
290 ,p_per_information20 => p_termination_date
291 ,p_per_information21 => p_termination_reason
292 ,p_per_information22 => p_mother_tongue
293 ,p_per_information23 => p_foreign_personal_id
294 ,p_per_information24 => p_pension_insurance_number
295 ,p_date_of_death => p_date_of_death
296 ,p_background_check_status => p_background_check_status
297 ,p_background_date_check => p_background_date_check
298 ,p_blood_type => p_blood_type
299 ,p_correspondence_language => p_correspondence_language
300 ,p_fast_path_employee => p_fast_path_employee
301 ,p_fte_capacity => p_fte_capacity
302 ,p_hold_applicant_date_until => p_hold_applicant_date_until
303 ,p_honors => p_honors
304 ,p_internal_location => p_internal_location
305 ,p_last_medical_test_by => p_last_medical_test_by
306 ,p_last_medical_test_date => p_last_medical_test_date
307 ,p_mailstop => p_mailstop
308 ,p_office_number => p_office_number
309 ,p_on_military_service => p_on_military_service
310 ,p_projected_start_date => p_projected_start_date
311 ,p_rehire_authorizor => p_rehire_authorizor
312 ,p_rehire_recommendation => p_rehire_recommendation
313 ,p_resume_exists => p_resume_exists
314 ,p_resume_last_updated => p_resume_last_updated
315 ,p_second_passport_exists => p_second_passport_exists
316 ,p_student_status => p_student_status
317 ,p_work_schedule => p_work_schedule
318 ,p_rehire_reason => p_rehire_reason
319 ,p_benefit_group_id => p_benefit_group_id
320 ,p_receipt_of_death_cert_date => p_receipt_of_death_cert_date
321 ,p_coord_ben_med_pln_no => p_coord_ben_med_pln_no
322 ,p_coord_ben_no_cvg_flag => p_coord_ben_no_cvg_flag
323 ,p_coord_ben_med_ext_er => p_coord_ben_med_ext_er
324 ,p_coord_ben_med_pl_name => p_coord_ben_med_pl_name
325 ,p_coord_ben_med_insr_crr_name => p_coord_ben_med_insr_crr_name
326 ,p_coord_ben_med_insr_crr_ident => p_coord_ben_med_insr_crr_ident
327 ,p_coord_ben_med_cvg_strt_dt => p_coord_ben_med_cvg_strt_dt
328 ,p_coord_ben_med_cvg_end_dt => p_coord_ben_med_cvg_end_dt
329 ,p_uses_tobacco_flag => p_uses_tobacco_flag
330 ,p_dpdnt_adoption_date => p_dpdnt_adoption_date
331 ,p_dpdnt_vlntry_svce_flag => p_dpdnt_vlntry_svce_flag
332 ,p_original_date_of_hire => p_original_date_of_hire
333 ,p_adjusted_svc_date => p_adjusted_svc_date
334 ,p_town_of_birth => p_town_of_birth
335 ,p_region_of_birth => p_region_of_birth
336 ,p_country_of_birth => p_country_of_birth
337 ,p_global_person_id => p_global_person_id
338 ,p_party_id => p_party_id
339 ,p_npw_number => p_npw_number
340 ,p_effective_start_date => p_effective_start_date
341 ,p_effective_end_date => p_effective_end_date
342 ,p_full_name => p_full_name
343 ,p_comment_id => p_comment_id
344 ,p_name_combination_warning => p_name_combination_warning
345 ,p_assign_payroll_warning => p_assign_payroll_warning
346 ,p_orig_hire_warning => p_orig_hire_warning
347 );
348 --
349 if g_debug then
350 hr_utility.set_location(' Leaving:'||l_proc, 7);
351 end if;
352 --
353 end update_fi_person;
354
355 END HR_FI_PERSON_API;