[Home] [Help]
PACKAGE BODY: APPS.HR_NZ_PERSON_API
Source
1 PACKAGE BODY hr_nz_person_api AS
2 /* $Header: hrnzwrup.pkb 120.2 2005/10/06 05:07:30 rpalli noship $ */
3 --
4 -- Package Variables
5 --
6 g_package varchar2(33) := 'hr_nz_person_api.';
7
8
9 ------------------------------------------------------------
10 -- Private Procedures
11 ------------------------------------------------------------
12
13
14 ------------------------------------------------------------
15 -- Private Functions
16 ------------------------------------------------------------
17
18 ------------------------------------------------------------
19 -- Public Procedures
20 ------------------------------------------------------------
21
22 -- update_nz_person
23
24 PROCEDURE update_nz_person
25 (p_validate IN BOOLEAN DEFAULT FALSE
26 ,p_effective_date IN DATE
27 ,p_datetrack_update_mode IN VARCHAR2
28 ,p_person_id IN NUMBER
29 ,p_object_version_number IN OUT NOCOPY NUMBER
30 ,p_person_type_id IN NUMBER DEFAULT hr_api.g_number
31 ,p_last_name IN VARCHAR2 DEFAULT hr_api.g_varchar2
32 ,p_applicant_number IN VARCHAR2 DEFAULT hr_api.g_varchar2
33 ,p_comments IN VARCHAR2 DEFAULT hr_api.g_varchar2
34 ,p_date_employee_data_verified IN DATE DEFAULT hr_api.g_date
35 ,p_date_of_birth IN DATE DEFAULT hr_api.g_date
36 ,p_email_address IN VARCHAR2 DEFAULT hr_api.g_varchar2
37 ,p_employee_number IN OUT NOCOPY VARCHAR2
38 ,p_expense_check_send_to_addres IN VARCHAR2 DEFAULT hr_api.g_varchar2
39 ,p_first_name IN VARCHAR2 DEFAULT hr_api.g_varchar2
40 ,p_known_as IN VARCHAR2 DEFAULT hr_api.g_varchar2
41 ,p_marital_status IN VARCHAR2 DEFAULT hr_api.g_varchar2
42 ,p_middle_names IN VARCHAR2 DEFAULT hr_api.g_varchar2
43 ,p_nationality IN VARCHAR2 DEFAULT hr_api.g_varchar2
44 ,p_ird_number IN VARCHAR2 DEFAULT hr_api.g_varchar2
45 ,p_previous_last_name IN VARCHAR2 DEFAULT hr_api.g_varchar2
46 ,p_registered_disabled_flag IN VARCHAR2 DEFAULT hr_api.g_varchar2
47 ,p_sex IN VARCHAR2 DEFAULT hr_api.g_varchar2
48 ,p_title IN VARCHAR2 DEFAULT hr_api.g_varchar2
49 ,p_vendor_id IN NUMBER DEFAULT hr_api.g_number
50 ,p_work_telephone IN VARCHAR2 DEFAULT hr_api.g_varchar2
51 ,p_attribute_category IN VARCHAR2 DEFAULT hr_api.g_varchar2
52 ,p_attribute1 IN VARCHAR2 DEFAULT hr_api.g_varchar2
53 ,p_attribute2 IN VARCHAR2 DEFAULT hr_api.g_varchar2
54 ,p_attribute3 IN VARCHAR2 DEFAULT hr_api.g_varchar2
55 ,p_attribute4 IN VARCHAR2 DEFAULT hr_api.g_varchar2
56 ,p_attribute5 IN VARCHAR2 DEFAULT hr_api.g_varchar2
57 ,p_attribute6 IN VARCHAR2 DEFAULT hr_api.g_varchar2
58 ,p_attribute7 IN VARCHAR2 DEFAULT hr_api.g_varchar2
59 ,p_attribute8 IN VARCHAR2 DEFAULT hr_api.g_varchar2
60 ,p_attribute9 IN VARCHAR2 DEFAULT hr_api.g_varchar2
61 ,p_attribute10 IN VARCHAR2 DEFAULT hr_api.g_varchar2
62 ,p_attribute11 IN VARCHAR2 DEFAULT hr_api.g_varchar2
63 ,p_attribute12 IN VARCHAR2 DEFAULT hr_api.g_varchar2
64 ,p_attribute13 IN VARCHAR2 DEFAULT hr_api.g_varchar2
65 ,p_attribute14 IN VARCHAR2 DEFAULT hr_api.g_varchar2
66 ,p_attribute15 IN VARCHAR2 DEFAULT hr_api.g_varchar2
67 ,p_attribute16 IN VARCHAR2 DEFAULT hr_api.g_varchar2
68 ,p_attribute17 IN VARCHAR2 DEFAULT hr_api.g_varchar2
69 ,p_attribute18 IN VARCHAR2 DEFAULT hr_api.g_varchar2
70 ,p_attribute19 IN VARCHAR2 DEFAULT hr_api.g_varchar2
71 ,p_attribute20 IN VARCHAR2 DEFAULT hr_api.g_varchar2
72 ,p_attribute21 IN VARCHAR2 DEFAULT hr_api.g_varchar2
73 ,p_attribute22 IN VARCHAR2 DEFAULT hr_api.g_varchar2
74 ,p_attribute23 IN VARCHAR2 DEFAULT hr_api.g_varchar2
75 ,p_attribute24 IN VARCHAR2 DEFAULT hr_api.g_varchar2
76 ,p_attribute25 IN VARCHAR2 DEFAULT hr_api.g_varchar2
77 ,p_attribute26 IN VARCHAR2 DEFAULT hr_api.g_varchar2
78 ,p_attribute27 IN VARCHAR2 DEFAULT hr_api.g_varchar2
79 ,p_attribute28 IN VARCHAR2 DEFAULT hr_api.g_varchar2
80 ,p_attribute29 IN VARCHAR2 DEFAULT hr_api.g_varchar2
81 ,p_attribute30 IN VARCHAR2 DEFAULT hr_api.g_varchar2
82 ,p_country_born IN VARCHAR2 DEFAULT hr_api.g_varchar2
83 ,p_work_permit_number IN VARCHAR2 DEFAULT hr_api.g_varchar2
84 ,p_work_permit_expiry_date IN VARCHAR2 DEFAULT hr_api.g_varchar2
85 ,p_ethnic_origin IN VARCHAR2 DEFAULT hr_api.g_varchar2
86 ,p_tribal_group IN VARCHAR2 DEFAULT hr_api.g_varchar2
87 ,p_district_of_origin IN VARCHAR2 DEFAULT hr_api.g_varchar2
88 ,p_employment_category IN VARCHAR2 DEFAULT hr_api.g_varchar2
89 ,p_working_time IN VARCHAR2 DEFAULT hr_api.g_varchar2
90 ,p_date_of_death IN DATE DEFAULT hr_api.g_date
91 ,p_background_check_status IN VARCHAR2 DEFAULT hr_api.g_varchar2
92 ,p_background_date_check IN DATE DEFAULT hr_api.g_date
93 ,p_blood_type IN VARCHAR2 DEFAULT hr_api.g_varchar2
94 ,p_correspondence_language IN VARCHAR2 DEFAULT hr_api.g_varchar2
95 ,p_fast_path_employee IN VARCHAR2 DEFAULT hr_api.g_varchar2
96 ,p_fte_capacity IN NUMBER DEFAULT hr_api.g_number
97 ,p_hold_applicant_date_until IN DATE DEFAULT hr_api.g_date
98 ,p_honors IN VARCHAR2 DEFAULT hr_api.g_varchar2
99 ,p_internal_location IN VARCHAR2 DEFAULT hr_api.g_varchar2
100 ,p_last_medical_test_by IN VARCHAR2 DEFAULT hr_api.g_varchar2
101 ,p_last_medical_test_date IN DATE DEFAULT hr_api.g_date
102 ,p_mailstop IN VARCHAR2 DEFAULT hr_api.g_varchar2
103 ,p_office_number IN VARCHAR2 DEFAULT hr_api.g_varchar2
104 ,p_on_military_service IN VARCHAR2 DEFAULT hr_api.g_varchar2
105 ,p_pre_name_adjunct IN VARCHAR2 DEFAULT hr_api.g_varchar2
106 ,p_projected_start_date IN DATE DEFAULT hr_api.g_date
107 ,p_rehire_authorizor IN VARCHAR2 DEFAULT hr_api.g_varchar2
108 ,p_rehire_recommendation IN VARCHAR2 DEFAULT hr_api.g_varchar2
109 ,p_resume_exists IN VARCHAR2 DEFAULT hr_api.g_varchar2
110 ,p_resume_last_updated IN DATE DEFAULT hr_api.g_date
111 ,p_second_passport_exists IN VARCHAR2 DEFAULT hr_api.g_varchar2
112 ,p_student_status IN VARCHAR2 DEFAULT hr_api.g_varchar2
113 ,p_work_schedule IN VARCHAR2 DEFAULT hr_api.g_varchar2
114 ,p_rehire_reason IN VARCHAR2 DEFAULT hr_api.g_varchar2
115 ,p_suffix IN VARCHAR2 DEFAULT hr_api.g_varchar2
116 ,p_benefit_group_id in number default hr_api.g_number
117 ,p_receipt_of_death_cert_date in date default hr_api.g_date
118 ,p_coord_ben_med_pln_no in VARCHAR2 default hr_api.g_varchar2
119 ,p_coord_ben_no_cvg_flag in varchar2 default hr_api.g_varchar2
120 ,p_coord_ben_med_ext_er in varchar2 default hr_api.g_varchar2
121 ,p_coord_ben_med_pl_name in varchar2 default hr_api.g_varchar2
122 ,p_coord_ben_med_insr_crr_name in varchar2 default hr_api.g_varchar2
123 ,p_coord_ben_med_insr_crr_ident in varchar2 default hr_api.g_varchar2
124 ,p_coord_ben_med_cvg_strt_dt in date default hr_api.g_date
125 ,p_coord_ben_med_cvg_end_dt in date default hr_api.g_date
126 ,p_uses_tobacco_flag in varchar2 default hr_api.g_varchar2
127 ,p_dpdnt_adoption_date in date default hr_api.g_date
128 ,p_dpdnt_vlntry_svce_flag in varchar2 default hr_api.g_varchar2
129 ,p_original_date_of_hire in date default hr_api.g_date
130 ,p_adjusted_svc_date in date default hr_api.g_date
131 ,p_town_of_birth in varchar2 default hr_api.g_varchar2
132 ,p_region_of_birth in varchar2 default hr_api.g_varchar2
133 ,p_country_of_birth in varchar2 default hr_api.g_varchar2
134 ,p_global_person_id in varchar2 default hr_api.g_varchar2
135 ,p_party_id in number default hr_api.g_number
136 ,p_npw_number in varchar2 default hr_api.g_varchar2
137 ,p_effective_start_date OUT NOCOPY DATE
138 ,p_effective_end_date OUT NOCOPY DATE
139 ,p_full_name OUT NOCOPY VARCHAR2
140 ,p_comment_id OUT NOCOPY NUMBER
141 ,p_name_combination_warning OUT NOCOPY BOOLEAN
142 ,p_assign_payroll_warning OUT NOCOPY BOOLEAN
143 ,p_orig_hire_warning OUT NOCOPY BOOLEAN
144 )
145 IS
146 --
147 -- Declare cursors and local variables
148 --
149
150 l_proc VARCHAR2(72) := g_package||'update_nz_person';
151 l_effective_date DATE;
152 l_legislation_code per_business_groups.legislation_code%TYPE;
153 l_discard_varchar2 VARCHAR2(30);
154 --
155 CURSOR check_legislation
156 (c_person_id per_people_f.person_id%TYPE,
157 c_effective_date DATE
158 )
159 IS
160 SELECT bgp.legislation_code
161 FROM per_people_f per,
162 per_business_groups bgp
163 WHERE per.business_group_id = bgp.business_group_id
164 AND per.person_id = c_person_id
165 AND c_effective_date
166 BETWEEN per.effective_start_date and per.effective_end_date;
167 --
168 BEGIN
169 hr_utility.set_location('Entering:'|| l_proc, 5);
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 hr_utility.set_location(l_proc, 20);
188 --
189 -- Check that the legislation of the specified business group is 'GB'.
190 --
191 IF (l_legislation_code <> 'NZ') THEN
192 hr_utility.set_message(801, 'HR_7961_PER_BUS_GRP_INVALID');
193 hr_utility.set_message_token('LEG_CODE','NZ');
194 hr_utility.raise_error;
195 END IF;
196 hr_utility.set_location(l_proc, 30);
197 --
198 -- Update the person record using the update_person BP
199 --
200 hr_person_api.update_person
201 (p_validate => p_validate
202 ,p_effective_date => l_effective_date
203 ,p_datetrack_update_mode => p_datetrack_update_mode
204 ,p_person_id => p_person_id
205 ,p_object_version_number => p_object_version_number
206 ,p_person_type_id => p_person_type_id
207 ,p_last_name => p_last_name
208 ,p_applicant_number => p_applicant_number
209 ,p_comments => p_comments
210 ,p_date_employee_data_verified => p_date_employee_data_verified
211 ,p_date_of_birth => p_date_of_birth
212 ,p_email_address => p_email_address
213 ,p_employee_number => p_employee_number
214 ,p_expense_check_send_to_addres => p_expense_check_send_to_addres
215 ,p_first_name => p_first_name
216 ,p_known_as => p_known_as
217 ,p_marital_status => p_marital_status
218 ,p_middle_names => p_middle_names
219 ,p_nationality => p_nationality
220 ,p_national_identifier => p_ird_number
221 ,p_previous_last_name => p_previous_last_name
222 ,p_registered_disabled_flag => p_registered_disabled_flag
223 ,p_sex => p_sex
224 ,p_title => p_title
225 ,p_vendor_id => p_vendor_id
226 ,p_work_telephone => p_work_telephone
227 ,p_attribute_category => p_attribute_category
228 ,p_attribute1 => p_attribute1
229 ,p_attribute2 => p_attribute2
230 ,p_attribute3 => p_attribute3
231 ,p_attribute4 => p_attribute4
232 ,p_attribute5 => p_attribute5
233 ,p_attribute6 => p_attribute6
234 ,p_attribute7 => p_attribute7
235 ,p_attribute8 => p_attribute8
236 ,p_attribute9 => p_attribute9
237 ,p_attribute10 => p_attribute10
238 ,p_attribute11 => p_attribute11
239 ,p_attribute12 => p_attribute12
240 ,p_attribute13 => p_attribute13
241 ,p_attribute14 => p_attribute14
242 ,p_attribute15 => p_attribute15
243 ,p_attribute16 => p_attribute16
244 ,p_attribute17 => p_attribute17
245 ,p_attribute18 => p_attribute18
246 ,p_attribute19 => p_attribute19
247 ,p_attribute20 => p_attribute20
248 ,p_attribute21 => p_attribute21
249 ,p_attribute22 => p_attribute22
250 ,p_attribute23 => p_attribute23
251 ,p_attribute24 => p_attribute24
252 ,p_attribute25 => p_attribute25
253 ,p_attribute26 => p_attribute26
254 ,p_attribute27 => p_attribute27
255 ,p_attribute28 => p_attribute28
256 ,p_attribute29 => p_attribute29
257 ,p_attribute30 => p_attribute30
258 ,p_per_information_category => 'NZ'
259 ,p_country_of_birth => p_country_born
260 ,p_per_information2 => p_work_permit_number
261 ,p_per_information3 => p_work_permit_expiry_date
262 ,p_per_information4 => p_ethnic_origin
263 ,p_per_information5 => p_tribal_group
264 ,p_per_information6 => p_district_of_origin
265 ,p_per_information7 => p_employment_category
266 ,p_per_information8 => p_working_time
267 ,p_date_of_death => p_date_of_death
268 ,p_background_check_status => p_background_check_status
269 ,p_background_date_check => p_background_date_check
270 ,p_blood_type => p_blood_type
271 ,p_correspondence_language => p_correspondence_language
272 ,p_fast_path_employee => p_fast_path_employee
273 ,p_fte_capacity => p_fte_capacity
274 ,p_hold_applicant_date_until => p_hold_applicant_date_until
275 ,p_honors => p_honors
276 ,p_internal_location => p_internal_location
277 ,p_last_medical_test_by => p_last_medical_test_by
278 ,p_last_medical_test_date => p_last_medical_test_date
279 ,p_mailstop => p_mailstop
280 ,p_office_number => p_office_number
281 ,p_on_military_service => p_on_military_service
282 ,p_pre_name_adjunct => p_pre_name_adjunct
283 ,p_projected_start_date => p_projected_start_date
284 ,p_rehire_authorizor => p_rehire_authorizor
285 ,p_rehire_recommendation => p_rehire_recommendation
286 ,p_resume_exists => p_resume_exists
287 ,p_resume_last_updated => p_resume_last_updated
288 ,p_second_passport_exists => p_second_passport_exists
289 ,p_student_status => p_student_status
290 ,p_work_schedule => p_work_schedule
291 ,p_rehire_reason => p_rehire_reason
292 ,p_suffix => p_suffix
293 ,p_benefit_group_id => p_benefit_group_id
294 ,p_receipt_of_death_cert_date => p_receipt_of_death_cert_date
295 ,p_coord_ben_med_pln_no => p_coord_ben_med_pln_no
296 ,p_coord_ben_no_cvg_flag => p_coord_ben_no_cvg_flag
297 ,p_coord_ben_med_ext_er => p_coord_ben_med_ext_er
298 ,p_coord_ben_med_pl_name => p_coord_ben_med_pl_name
299 ,p_coord_ben_med_insr_crr_name => p_coord_ben_med_insr_crr_name
300 ,p_coord_ben_med_insr_crr_ident => p_coord_ben_med_insr_crr_ident
301 ,p_coord_ben_med_cvg_strt_dt => p_coord_ben_med_cvg_strt_dt
302 ,p_coord_ben_med_cvg_end_dt => p_coord_ben_med_cvg_end_dt
303 ,p_uses_tobacco_flag => p_uses_tobacco_flag
304 ,p_dpdnt_adoption_date => p_dpdnt_adoption_date
305 ,p_dpdnt_vlntry_svce_flag => p_dpdnt_vlntry_svce_flag
306 ,p_original_date_of_hire => p_original_date_of_hire
307 ,p_adjusted_svc_date => p_adjusted_svc_date
308 ,p_town_of_birth => p_town_of_birth
309 ,p_region_of_birth => p_region_of_birth
310 ,p_global_person_id => p_global_person_id
311 ,p_party_id => p_party_id
312 ,p_npw_number => p_npw_number
313 ,p_effective_start_date => p_effective_start_date
314 ,p_effective_end_date => p_effective_end_date
315 ,p_full_name => p_full_name
316 ,p_comment_id => p_comment_id
317 ,p_name_combination_warning => p_name_combination_warning
318 ,p_assign_payroll_warning => p_assign_payroll_warning
319 ,p_orig_hire_warning => p_orig_hire_warning
320 );
321 --
322 hr_utility.set_location(' Leaving:'||l_proc, 7);
323 --
324 END update_nz_person;
325 END hr_nz_person_api;