[Home] [Help]
PACKAGE BODY: APPS.HR_PERSON_ADDRESS_SWI
Source
1 Package Body hr_person_address_swi As
2 /* $Header: hraddswi.pkb 120.0 2005/05/30 22:33:49 appldev noship $ */
3 --
4 -- Package variables
5 --
6 g_package varchar2(33) := 'hr_person_address_swi.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |-------------------------< create_person_address >------------------------|
10 -- ----------------------------------------------------------------------------
11 PROCEDURE create_person_address
12 (p_validate in number default hr_api.g_false_num
13 ,p_effective_date in date
14 ,p_pradd_ovlapval_override in number default null
15 ,p_validate_county in number default null
16 ,p_person_id in number default null
17 ,p_primary_flag in varchar2
18 ,p_style in varchar2
19 ,p_date_from in date
20 ,p_date_to in date default null
21 ,p_address_type in varchar2 default null
22 ,p_comments in long default null
23 ,p_address_line1 in varchar2 default null
24 ,p_address_line2 in varchar2 default null
25 ,p_address_line3 in varchar2 default null
26 ,p_town_or_city in varchar2 default null
27 ,p_region_1 in varchar2 default null
28 ,p_region_2 in varchar2 default null
29 ,p_region_3 in varchar2 default null
30 ,p_postal_code in varchar2 default null
31 ,p_country in varchar2 default null
32 ,p_telephone_number_1 in varchar2 default null
33 ,p_telephone_number_2 in varchar2 default null
34 ,p_telephone_number_3 in varchar2 default null
35 ,p_addr_attribute_category in varchar2 default null
36 ,p_addr_attribute1 in varchar2 default null
37 ,p_addr_attribute2 in varchar2 default null
38 ,p_addr_attribute3 in varchar2 default null
39 ,p_addr_attribute4 in varchar2 default null
40 ,p_addr_attribute5 in varchar2 default null
41 ,p_addr_attribute6 in varchar2 default null
42 ,p_addr_attribute7 in varchar2 default null
43 ,p_addr_attribute8 in varchar2 default null
44 ,p_addr_attribute9 in varchar2 default null
45 ,p_addr_attribute10 in varchar2 default null
46 ,p_addr_attribute11 in varchar2 default null
47 ,p_addr_attribute12 in varchar2 default null
48 ,p_addr_attribute13 in varchar2 default null
49 ,p_addr_attribute14 in varchar2 default null
50 ,p_addr_attribute15 in varchar2 default null
51 ,p_addr_attribute16 in varchar2 default null
52 ,p_addr_attribute17 in varchar2 default null
53 ,p_addr_attribute18 in varchar2 default null
54 ,p_addr_attribute19 in varchar2 default null
55 ,p_addr_attribute20 in varchar2 default null
56 ,p_add_information13 in varchar2 default null
57 ,p_add_information14 in varchar2 default null
58 ,p_add_information15 in varchar2 default null
59 ,p_add_information16 in varchar2 default null
60 ,p_add_information17 in varchar2 default null
61 ,p_add_information18 in varchar2 default null
62 ,p_add_information19 in varchar2 default null
63 ,p_add_information20 in varchar2 default null
64 ,p_party_id in number default null
65 ,p_address_id in number
66 ,p_object_version_number out nocopy number
67 ,p_return_status out nocopy varchar2
68 ) is
69 --
70 -- Variables for API Boolean parameters
71 l_validate boolean;
72 l_pradd_ovlapval_override boolean;
73 l_validate_county boolean;
74 --
75 -- Variables for IN/OUT parameters
76 --
77 -- Other variables
78 l_address_id number;
79 l_proc varchar2(72) := g_package ||'create_person_address';
80 Begin
81 hr_utility.set_location(' Entering:' || l_proc,10);
82 --
83 -- Issue a savepoint
84 --
85 savepoint create_person_address_swi;
86 --
87 -- Initialise Multiple Message Detection
88 --
89 hr_multi_message.enable_message_list;
90 --
91 -- Remember IN OUT parameter IN values
92 --
93 --
94 -- Convert constant values to their corresponding boolean value
95 --
96 l_validate :=
97 hr_api.constant_to_boolean
98 (p_constant_value => p_validate);
99 l_pradd_ovlapval_override :=
100 hr_api.constant_to_boolean
101 (p_constant_value => p_pradd_ovlapval_override);
102 l_validate_county :=
103 hr_api.constant_to_boolean
104 (p_constant_value => p_validate_county);
105 --
106 -- Register Surrogate ID or user key values
107 --
108 per_add_ins.set_base_key_value
109 (p_address_id => p_address_id
110 );
111 --
112 -- Call API
113 --
114 hr_person_address_api.create_person_address
115 (p_validate => l_validate
116 ,p_effective_date => p_effective_date
117 ,p_pradd_ovlapval_override => l_pradd_ovlapval_override
118 ,p_validate_county => l_validate_county
119 ,p_person_id => p_person_id
120 ,p_primary_flag => p_primary_flag
121 ,p_style => p_style
122 ,p_date_from => p_date_from
123 ,p_date_to => p_date_to
124 ,p_address_type => p_address_type
125 ,p_comments => p_comments
126 ,p_address_line1 => p_address_line1
127 ,p_address_line2 => p_address_line2
128 ,p_address_line3 => p_address_line3
129 ,p_town_or_city => p_town_or_city
130 ,p_region_1 => p_region_1
131 ,p_region_2 => p_region_2
132 ,p_region_3 => p_region_3
133 ,p_postal_code => p_postal_code
134 ,p_country => p_country
135 ,p_telephone_number_1 => p_telephone_number_1
136 ,p_telephone_number_2 => p_telephone_number_2
137 ,p_telephone_number_3 => p_telephone_number_3
138 ,p_addr_attribute_category => p_addr_attribute_category
139 ,p_addr_attribute1 => p_addr_attribute1
140 ,p_addr_attribute2 => p_addr_attribute2
141 ,p_addr_attribute3 => p_addr_attribute3
142 ,p_addr_attribute4 => p_addr_attribute4
143 ,p_addr_attribute5 => p_addr_attribute5
144 ,p_addr_attribute6 => p_addr_attribute6
145 ,p_addr_attribute7 => p_addr_attribute7
146 ,p_addr_attribute8 => p_addr_attribute8
147 ,p_addr_attribute9 => p_addr_attribute9
148 ,p_addr_attribute10 => p_addr_attribute10
149 ,p_addr_attribute11 => p_addr_attribute11
150 ,p_addr_attribute12 => p_addr_attribute12
151 ,p_addr_attribute13 => p_addr_attribute13
152 ,p_addr_attribute14 => p_addr_attribute14
153 ,p_addr_attribute15 => p_addr_attribute15
154 ,p_addr_attribute16 => p_addr_attribute16
155 ,p_addr_attribute17 => p_addr_attribute17
156 ,p_addr_attribute18 => p_addr_attribute18
157 ,p_addr_attribute19 => p_addr_attribute19
158 ,p_addr_attribute20 => p_addr_attribute20
159 ,p_add_information13 => p_add_information13
160 ,p_add_information14 => p_add_information14
161 ,p_add_information15 => p_add_information15
162 ,p_add_information16 => p_add_information16
163 ,p_add_information17 => p_add_information17
164 ,p_add_information18 => p_add_information18
165 ,p_add_information19 => p_add_information19
166 ,p_add_information20 => p_add_information20
167 ,p_party_id => p_party_id
168 ,p_address_id => l_address_id
169 ,p_object_version_number => p_object_version_number
170 );
171 --
172 -- Convert API warning boolean parameter values to specific
173 -- messages and add them to Multiple Message List
174 --
175 --
176 -- Convert API non-warning boolean parameter values
177 --
178 --
179 -- Derive the API return status value based on whether
180 -- messages of any type exist in the Multiple Message List.
181 -- Also disable Multiple Message Detection.
182 --
183 p_return_status := hr_multi_message.get_return_status_disable;
184 hr_utility.set_location(' Leaving:' || l_proc,20);
185 --
186 exception
187 when hr_multi_message.error_message_exist then
188 --
189 -- Catch the Multiple Message List exception which
190 -- indicates API processing has been aborted because
191 -- at least one error message exists in the list.
192 --
193 rollback to create_person_address_swi;
194 --
195 -- Reset IN OUT paramters and set OUT parameters
196 --
197 p_object_version_number := null;
198 p_return_status := hr_multi_message.get_return_status_disable;
199 hr_utility.set_location(' Leaving:' || l_proc,30);
200 when others then
201 --
202 -- When Multiple Message Detection is enabled catch
203 -- any Application specific or other unexpected
204 -- exceptions. Adding appropriate details to the
205 -- Multiple Message List. Otherwise re-raise
206 -- the error.
207 --
208 rollback to create_person_address_swi;
209 if hr_multi_message.unexpected_error_add(l_proc) then
210 hr_utility.set_location(' Leaving:' || l_proc, 40);
211 raise;
212 end if;
213 --
214 -- Reset IN OUT parameters and set OUT parameters
215 --
216 p_object_version_number := null;
217 p_return_status := hr_multi_message.get_return_status_disable;
218 hr_utility.set_location(' Leaving: ' || l_proc, 50);
219 end create_person_address;
220 -- ----------------------------------------------------------------------------
221 -- |-------------------------< update_person_address >------------------------|
222 -- ----------------------------------------------------------------------------
223 PROCEDURE update_person_address
224 (p_validate in number default hr_api.g_false_num
225 ,p_effective_date in date
226 ,p_validate_county in number default hr_api.g_true_num
227 ,p_address_id in number
228 ,p_object_version_number in out nocopy number
229 ,p_date_from in date default hr_api.g_date
230 ,p_date_to in date default hr_api.g_date
231 ,p_address_type in varchar2 default hr_api.g_varchar2
232 ,p_comments in long default hr_api.g_varchar2
233 ,p_address_line1 in varchar2 default hr_api.g_varchar2
234 ,p_address_line2 in varchar2 default hr_api.g_varchar2
235 ,p_address_line3 in varchar2 default hr_api.g_varchar2
236 ,p_town_or_city in varchar2 default hr_api.g_varchar2
237 ,p_region_1 in varchar2 default hr_api.g_varchar2
238 ,p_region_2 in varchar2 default hr_api.g_varchar2
239 ,p_region_3 in varchar2 default hr_api.g_varchar2
240 ,p_postal_code in varchar2 default hr_api.g_varchar2
241 ,p_country in varchar2 default hr_api.g_varchar2
242 ,p_telephone_number_1 in varchar2 default hr_api.g_varchar2
243 ,p_telephone_number_2 in varchar2 default hr_api.g_varchar2
244 ,p_telephone_number_3 in varchar2 default hr_api.g_varchar2
245 ,p_addr_attribute_category in varchar2 default hr_api.g_varchar2
246 ,p_addr_attribute1 in varchar2 default hr_api.g_varchar2
247 ,p_addr_attribute2 in varchar2 default hr_api.g_varchar2
248 ,p_addr_attribute3 in varchar2 default hr_api.g_varchar2
249 ,p_addr_attribute4 in varchar2 default hr_api.g_varchar2
250 ,p_addr_attribute5 in varchar2 default hr_api.g_varchar2
251 ,p_addr_attribute6 in varchar2 default hr_api.g_varchar2
252 ,p_addr_attribute7 in varchar2 default hr_api.g_varchar2
253 ,p_addr_attribute8 in varchar2 default hr_api.g_varchar2
254 ,p_addr_attribute9 in varchar2 default hr_api.g_varchar2
255 ,p_addr_attribute10 in varchar2 default hr_api.g_varchar2
256 ,p_addr_attribute11 in varchar2 default hr_api.g_varchar2
257 ,p_addr_attribute12 in varchar2 default hr_api.g_varchar2
258 ,p_addr_attribute13 in varchar2 default hr_api.g_varchar2
259 ,p_addr_attribute14 in varchar2 default hr_api.g_varchar2
260 ,p_addr_attribute15 in varchar2 default hr_api.g_varchar2
261 ,p_addr_attribute16 in varchar2 default hr_api.g_varchar2
262 ,p_addr_attribute17 in varchar2 default hr_api.g_varchar2
263 ,p_addr_attribute18 in varchar2 default hr_api.g_varchar2
264 ,p_addr_attribute19 in varchar2 default hr_api.g_varchar2
265 ,p_addr_attribute20 in varchar2 default hr_api.g_varchar2
266 ,p_add_information13 in varchar2 default hr_api.g_varchar2
267 ,p_add_information14 in varchar2 default hr_api.g_varchar2
268 ,p_add_information15 in varchar2 default hr_api.g_varchar2
269 ,p_add_information16 in varchar2 default hr_api.g_varchar2
270 ,p_add_information17 in varchar2 default hr_api.g_varchar2
271 ,p_add_information18 in varchar2 default hr_api.g_varchar2
272 ,p_add_information19 in varchar2 default hr_api.g_varchar2
273 ,p_add_information20 in varchar2 default hr_api.g_varchar2
274 ,p_party_id in number default hr_api.g_number
275 ,p_style in varchar2
276 ,p_return_status out nocopy varchar2
277 ) is
278 --
279 -- Variables for API Boolean parameters
280 l_validate boolean;
281 l_validate_county boolean;
282 --
283 -- Variables for IN/OUT parameters
284 l_object_version_number number;
285 --
286 -- Other variables
287 l_proc varchar2(72) := g_package ||'update_person_address';
288 Begin
289 hr_utility.set_location(' Entering:' || l_proc,10);
290 --
291 -- Issue a savepoint
292 --
293 savepoint update_person_address_swi;
294 --
295 -- Initialise Multiple Message Detection
296 --
297 hr_multi_message.enable_message_list;
298 --
299 -- Remember IN OUT parameter IN values
300 --
301 l_object_version_number := p_object_version_number;
302 --
303 -- Convert constant values to their corresponding boolean value
304 --
305 l_validate :=
306 hr_api.constant_to_boolean
307 (p_constant_value => p_validate);
308 l_validate_county :=
309 hr_api.constant_to_boolean
310 (p_constant_value => p_validate_county);
311 --
312 -- Register Surrogate ID or user key values
313 --
314 --
315 -- Call API
316 --
317 hr_person_address_api.update_pers_addr_with_style
318 (p_validate => l_validate
319 ,p_effective_date => p_effective_date
320 ,p_validate_county => l_validate_county
321 ,p_address_id => p_address_id
322 ,p_object_version_number => p_object_version_number
323 ,p_date_from => p_date_from
324 ,p_date_to => p_date_to
325 ,p_address_type => p_address_type
326 ,p_comments => p_comments
327 ,p_address_line1 => p_address_line1
328 ,p_address_line2 => p_address_line2
329 ,p_address_line3 => p_address_line3
330 ,p_town_or_city => p_town_or_city
331 ,p_region_1 => p_region_1
332 ,p_region_2 => p_region_2
333 ,p_region_3 => p_region_3
334 ,p_postal_code => p_postal_code
335 ,p_country => p_country
336 ,p_telephone_number_1 => p_telephone_number_1
337 ,p_telephone_number_2 => p_telephone_number_2
338 ,p_telephone_number_3 => p_telephone_number_3
339 ,p_addr_attribute_category => p_addr_attribute_category
340 ,p_addr_attribute1 => p_addr_attribute1
341 ,p_addr_attribute2 => p_addr_attribute2
342 ,p_addr_attribute3 => p_addr_attribute3
343 ,p_addr_attribute4 => p_addr_attribute4
344 ,p_addr_attribute5 => p_addr_attribute5
345 ,p_addr_attribute6 => p_addr_attribute6
346 ,p_addr_attribute7 => p_addr_attribute7
347 ,p_addr_attribute8 => p_addr_attribute8
348 ,p_addr_attribute9 => p_addr_attribute9
349 ,p_addr_attribute10 => p_addr_attribute10
350 ,p_addr_attribute11 => p_addr_attribute11
351 ,p_addr_attribute12 => p_addr_attribute12
352 ,p_addr_attribute13 => p_addr_attribute13
353 ,p_addr_attribute14 => p_addr_attribute14
354 ,p_addr_attribute15 => p_addr_attribute15
355 ,p_addr_attribute16 => p_addr_attribute16
356 ,p_addr_attribute17 => p_addr_attribute17
357 ,p_addr_attribute18 => p_addr_attribute18
358 ,p_addr_attribute19 => p_addr_attribute19
359 ,p_addr_attribute20 => p_addr_attribute20
360 ,p_add_information13 => p_add_information13
361 ,p_add_information14 => p_add_information14
362 ,p_add_information15 => p_add_information15
363 ,p_add_information16 => p_add_information16
364 ,p_add_information17 => p_add_information17
365 ,p_add_information18 => p_add_information18
366 ,p_add_information19 => p_add_information19
367 ,p_add_information20 => p_add_information20
368 ,p_party_id => p_party_id
369 ,p_style => p_style
370 );
371 --
372 -- Convert API warning boolean parameter values to specific
373 -- messages and add them to Multiple Message List
374 --
375 --
376 -- Convert API non-warning boolean parameter values
377 --
378 --
379 -- Derive the API return status value based on whether
380 -- messages of any type exist in the Multiple Message List.
381 -- Also disable Multiple Message Detection.
382 --
383 p_return_status := hr_multi_message.get_return_status_disable;
384 hr_utility.set_location(' Leaving:' || l_proc,20);
385 --
386 exception
387 when hr_multi_message.error_message_exist then
388 --
389 -- Catch the Multiple Message List exception which
390 -- indicates API processing has been aborted because
391 -- at least one error message exists in the list.
392 --
393 rollback to update_person_address_swi;
394 --
395 -- Reset IN OUT paramters and set OUT parameters
396 --
397 p_object_version_number := l_object_version_number;
398 p_return_status := hr_multi_message.get_return_status_disable;
399 hr_utility.set_location(' Leaving:' || l_proc,30);
400 when others then
401 --
402 -- When Multiple Message Detection is enabled catch
403 -- any Application specific or other unexpected
404 -- exceptions. Adding appropriate details to the
405 -- Multiple Message List. Otherwise re-raise
406 -- the error.
407 --
408 rollback to update_person_address_swi;
409 if hr_multi_message.unexpected_error_add(l_proc) then
410 hr_utility.set_location(' Leaving:' || l_proc, 40);
411 raise;
412 end if;
413 --
414 -- Reset IN OUT parameters and set OUT parameters
415 --
416 p_object_version_number := l_object_version_number;
417 p_return_status := hr_multi_message.get_return_status_disable;
418 hr_utility.set_location(' Leaving: ' || l_proc, 50);
419 end update_person_address;
420 end hr_person_address_swi;