[Home] [Help]
PACKAGE BODY: APPS.HZ_PARTY_SITE_BO_PUB
Source
1 PACKAGE BODY hz_party_site_bo_pub AS
2 /*$Header: ARHBPSBB.pls 120.19 2006/05/18 22:27:56 acng noship $ */
3
4 -- PRIVATE PROCEDURE assign_party_site_rec
5 --
6 -- DESCRIPTION
7 -- Assign attribute value from party site object to plsql record.
8 --
9 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
10 --
11 -- ARGUMENTS
12 -- IN:
13 -- p_party_site_obj Party site business object.
14 -- p_party_id Party Id.
15 -- p_location_id Location Id.
16 -- p_ps_id Party site Id.
17 -- p_ps_os Party site original system.
18 -- p_ps_osr Party site original system reference.
19 -- p_create_or_update Create or update flag.
20 -- IN/OUT:
21 -- px_party_site_rec Party site plsql record.
22 --
23 -- NOTES
24 --
25 -- MODIFICATION HISTORY
26 --
27 -- 14-DEC-2004 Arnold Ng Created.
28 --
29
30 PROCEDURE assign_party_site_rec(
31 p_party_site_obj IN HZ_PARTY_SITE_BO,
32 p_party_id IN NUMBER,
33 p_location_id IN NUMBER,
34 p_ps_id IN NUMBER,
35 p_ps_os IN VARCHAR2,
36 p_ps_osr IN VARCHAR2,
37 p_create_or_update IN VARCHAR2 := 'C',
38 px_party_site_rec IN OUT NOCOPY HZ_PARTY_SITE_V2PUB.PARTY_SITE_REC_TYPE
39 );
40
41 -- PRIVATE PROCEDURE assign_party_site_rec
42 --
43 -- DESCRIPTION
44 -- Assign attribute value from party site object to plsql record.
45 --
46 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
47 --
48 -- ARGUMENTS
49 -- IN:
50 -- p_party_site_obj Party site business object.
51 -- p_party_id Party Id.
52 -- p_location_id Location Id.
53 -- p_ps_id Party site Id.
54 -- p_ps_os Party site original system.
55 -- p_ps_osr Party site original system reference.
56 -- p_create_or_update Create or update flag.
57 -- IN/OUT:
58 -- px_party_site_rec Party site plsql record.
59 --
60 -- NOTES
61 --
62 -- MODIFICATION HISTORY
63 --
64 -- 14-DEC-2004 Arnold Ng Created.
65 --
66
67 PROCEDURE assign_party_site_rec(
68 p_party_site_obj IN HZ_PARTY_SITE_BO,
69 p_party_id IN NUMBER,
70 p_location_id IN NUMBER,
71 p_ps_id IN NUMBER,
72 p_ps_os IN VARCHAR2,
73 p_ps_osr IN VARCHAR2,
74 p_create_or_update IN VARCHAR2 := 'C',
75 px_party_site_rec IN OUT NOCOPY HZ_PARTY_SITE_V2PUB.PARTY_SITE_REC_TYPE
76 ) IS
77 BEGIN
78 px_party_site_rec.party_site_id := p_ps_id;
79 px_party_site_rec.party_id := p_party_id;
80 px_party_site_rec.location_id := p_location_id;
81 px_party_site_rec.party_site_number := p_party_site_obj.party_site_number;
82 px_party_site_rec.mailstop := p_party_site_obj.mailstop;
83 IF(p_party_site_obj.identifying_address_flag in ('Y','N')) THEN
84 px_party_site_rec.identifying_address_flag := p_party_site_obj.identifying_address_flag;
85 END IF;
86 IF(p_party_site_obj.status in ('A','I')) THEN
87 px_party_site_rec.status := p_party_site_obj.status;
88 END IF;
89 px_party_site_rec.party_site_name := p_party_site_obj.party_site_name;
90 px_party_site_rec.attribute_category := p_party_site_obj.attribute_category;
91 px_party_site_rec.attribute1 := p_party_site_obj.attribute1;
92 px_party_site_rec.attribute2 := p_party_site_obj.attribute2;
93 px_party_site_rec.attribute3 := p_party_site_obj.attribute3;
94 px_party_site_rec.attribute4 := p_party_site_obj.attribute4;
95 px_party_site_rec.attribute5 := p_party_site_obj.attribute5;
96 px_party_site_rec.attribute6 := p_party_site_obj.attribute6;
97 px_party_site_rec.attribute7 := p_party_site_obj.attribute7;
98 px_party_site_rec.attribute8 := p_party_site_obj.attribute8;
99 px_party_site_rec.attribute9 := p_party_site_obj.attribute9;
100 px_party_site_rec.attribute10 := p_party_site_obj.attribute10;
101 px_party_site_rec.attribute11 := p_party_site_obj.attribute11;
102 px_party_site_rec.attribute12 := p_party_site_obj.attribute12;
103 px_party_site_rec.attribute13 := p_party_site_obj.attribute13;
104 px_party_site_rec.attribute14 := p_party_site_obj.attribute14;
105 px_party_site_rec.attribute15 := p_party_site_obj.attribute15;
106 px_party_site_rec.attribute16 := p_party_site_obj.attribute16;
107 px_party_site_rec.attribute17 := p_party_site_obj.attribute17;
108 px_party_site_rec.attribute18 := p_party_site_obj.attribute18;
109 px_party_site_rec.attribute19 := p_party_site_obj.attribute19;
110 px_party_site_rec.attribute20 := p_party_site_obj.attribute20;
111 px_party_site_rec.language := p_party_site_obj.language;
112 px_party_site_rec.addressee := p_party_site_obj.addressee;
113 IF(p_create_or_update = 'C') THEN
114 px_party_site_rec.orig_system := p_ps_os;
115 px_party_site_rec.orig_system_reference := p_ps_osr;
116 px_party_site_rec.created_by_module := HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE;
117 END IF;
118 px_party_site_rec.global_location_number := p_party_site_obj.global_location_number;
119 END assign_party_site_rec;
120
121 -- PROCEDURE create_party_site_bo
122 --
123 -- DESCRIPTION
124 -- Create a party site business object.
125 PROCEDURE do_create_party_site_bo(
126 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
127 p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
128 p_party_site_obj IN OUT NOCOPY HZ_PARTY_SITE_BO,
129 p_created_by_module IN VARCHAR2,
130 p_obj_source IN VARCHAR2 := null,
131 x_return_status OUT NOCOPY VARCHAR2,
132 x_msg_count OUT NOCOPY NUMBER,
133 x_msg_data OUT NOCOPY VARCHAR2,
134 x_party_site_id OUT NOCOPY NUMBER,
135 x_party_site_os OUT NOCOPY VARCHAR2,
136 x_party_site_osr OUT NOCOPY VARCHAR2,
137 px_parent_id IN OUT NOCOPY NUMBER,
138 px_parent_os IN OUT NOCOPY VARCHAR2,
139 px_parent_osr IN OUT NOCOPY VARCHAR2,
140 px_parent_obj_type IN OUT NOCOPY VARCHAR2
141 ) IS
142 l_debug_prefix VARCHAR2(30);
143 l_party_site_rec HZ_PARTY_SITE_V2PUB.PARTY_SITE_REC_TYPE;
144 l_location_rec HZ_LOCATION_V2PUB.LOCATION_REC_TYPE;
145 l_party_site_use_rec HZ_PARTY_SITE_V2PUB.PARTY_SITE_USE_REC_TYPE;
146 l_party_site_id NUMBER;
147 l_ps_number VARCHAR2(30);
148 l_location_id NUMBER;
149 l_valid_obj BOOLEAN;
150 l_bus_object HZ_REGISTRY_VALIDATE_BO_PVT.COMPLETENESS_REC_TYPE;
151 l_errorcode NUMBER;
152 l_cbm VARCHAR2(30);
153 l_edi_objs HZ_EDI_CP_BO_TBL;
154 l_eft_objs HZ_EFT_CP_BO_TBL;
155 l_sms_objs HZ_SMS_CP_BO_TBL;
156 BEGIN
157 -- Standard start of API savepoint
158 SAVEPOINT do_create_party_site_bo_pub;
159
160 -- initialize API return status to success.
161 x_return_status := FND_API.G_RET_STS_SUCCESS;
162
163 -- Initialize message list of p_init_msg_list is set to TRUE.
164 IF FND_API.to_Boolean(p_init_msg_list) THEN
165 FND_MSG_PUB.initialize;
166 END IF;
167
168 -- initialize Global variable
169 HZ_UTILITY_V2PUB.G_CALLING_API := 'BO_API';
170 IF(p_created_by_module IS NULL) THEN
171 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := 'BO_API';
172 ELSE
173 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := p_created_by_module;
174 END IF;
175
176 -- Debug info.
177 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
178 hz_utility_v2pub.debug(p_message=>'do_create_party_site_bo(+)',
179 p_prefix=>l_debug_prefix,
180 p_msg_level=>fnd_log.level_procedure);
181 END IF;
182
183 -- Base on p_validate_bo_flag, check the completeness of business objects
184 IF(p_validate_bo_flag = FND_API.G_TRUE) THEN
185 HZ_REGISTRY_VALIDATE_BO_PVT.get_bus_obj_struct(
186 p_bus_object_code => 'PARTY_SITE',
187 x_bus_object => l_bus_object
188 );
189
190 l_valid_obj := HZ_REGISTRY_VALIDATE_BO_PVT.is_ps_bo_comp(
191 p_ps_objs => HZ_PARTY_SITE_BO_TBL(p_party_site_obj),
192 p_bus_object => l_bus_object
193 );
194 IF NOT(l_valid_obj) THEN
195 RAISE fnd_api.g_exc_error;
196 END IF;
197 END IF;
198
199 -- check pass in parent_id and parent_os+osr
200 hz_registry_validate_bo_pvt.validate_parent_id(
201 px_parent_id => px_parent_id,
202 px_parent_os => px_parent_os,
203 px_parent_osr => px_parent_osr,
204 p_parent_obj_type => px_parent_obj_type,
205 x_return_status => x_return_status,
206 x_msg_count => x_msg_count,
207 x_msg_data => x_msg_data);
208
209 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
210 RAISE FND_API.G_EXC_ERROR;
211 END IF;
212
213 x_party_site_id := p_party_site_obj.party_site_id;
214 x_party_site_os := p_party_site_obj.orig_system;
215 x_party_site_osr := p_party_site_obj.orig_system_reference;
216
217 -- check if pass in contact_point_id and os+osr
218 hz_registry_validate_bo_pvt.validate_ssm_id(
219 px_id => x_party_site_id,
220 px_os => x_party_site_os,
221 px_osr => x_party_site_osr,
222 p_obj_type => 'HZ_PARTY_SITES',
223 p_create_or_update => 'C',
224 x_return_status => x_return_status,
225 x_msg_count => x_msg_count,
226 x_msg_data => x_msg_data);
227
228 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
229 RAISE FND_API.G_EXC_ERROR;
230 END IF;
231
232 ----------------------------
233 -- For location record
234 ----------------------------
235 IF(p_party_site_obj.location_obj IS NULL) THEN
236 fnd_message.set_name('AR', 'HZ_API_MISSING_MANDATORY_ENT');
237 fnd_message.set_token('ENTITY' ,'LOCATION');
238 fnd_msg_pub.add;
239 RAISE FND_API.G_EXC_ERROR;
240 END IF;
241
242 HZ_LOCATION_BO_PUB.assign_location_rec(
243 p_location_obj => p_party_site_obj.location_obj,
244 p_loc_os => p_party_site_obj.location_obj.orig_system,
245 p_loc_osr => p_party_site_obj.location_obj.orig_system_reference,
246 px_location_rec => l_location_rec
247 );
248
249 HZ_LOCATION_V2PUB.create_location(
250 p_location_rec => l_location_rec,
251 x_location_id => l_location_id,
252 x_return_status => x_return_status,
253 x_msg_count => x_msg_count,
254 x_msg_data => x_msg_data
255 );
256
257 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
258 FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_OBJECT_ERROR');
259 FND_MESSAGE.SET_TOKEN('OBJECT', 'LOCATION');
260 FND_MSG_PUB.ADD;
261 RAISE FND_API.G_EXC_ERROR;
262 END IF;
263
264 -- assign location_id
265 p_party_site_obj.location_obj.location_id := l_location_id;
266 ----------------------------
267 -- Create Location Ext Attrs
268 ----------------------------
269 IF((p_party_site_obj.location_obj.ext_attributes_objs IS NOT NULL) AND
270 (p_party_site_obj.location_obj.ext_attributes_objs.COUNT > 0)) THEN
271 HZ_EXT_ATTRIBUTE_BO_PVT.save_ext_attributes(
272 p_ext_attr_objs => p_party_site_obj.location_obj.ext_attributes_objs,
273 p_parent_obj_id => l_location_id,
274 p_parent_obj_type => 'LOCATION',
275 p_create_or_update => 'C',
276 x_return_status => x_return_status,
277 x_errorcode => l_errorcode,
278 x_msg_count => x_msg_count,
279 x_msg_data => x_msg_data
280 );
281
282 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
283 RAISE FND_API.G_EXC_ERROR;
284 END IF;
285 END IF;
286
287 ----------------------------
288 -- For party site record
289 ----------------------------
290 assign_party_site_rec(
291 p_party_site_obj => p_party_site_obj,
292 p_party_id => px_parent_id,
293 p_location_id => l_location_id,
294 p_ps_id => x_party_site_id,
295 p_ps_os => x_party_site_os,
296 p_ps_osr => x_party_site_osr,
297 px_party_site_rec => l_party_site_rec
298 );
299
300 HZ_PARTY_SITE_V2PUB.create_party_site(
301 p_party_site_rec => l_party_site_rec,
302 x_party_site_id => x_party_site_id,
303 x_party_site_number => l_ps_number,
304 x_return_status => x_return_status,
305 x_msg_count => x_msg_count,
306 x_msg_data => x_msg_data
307 );
308
309 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
310 RAISE FND_API.G_EXC_ERROR;
311 END IF;
312
313 -- assign party_site_id
314 p_party_site_obj.party_site_id := x_party_site_id;
315 ------------------------------
316 -- Create Party Site Ext Attrs
317 ------------------------------
318 IF((p_party_site_obj.ext_attributes_objs IS NOT NULL) AND
319 (p_party_site_obj.ext_attributes_objs.COUNT > 0)) THEN
320 HZ_EXT_ATTRIBUTE_BO_PVT.save_ext_attributes(
321 p_ext_attr_objs => p_party_site_obj.ext_attributes_objs,
322 p_parent_obj_id => x_party_site_id,
323 p_parent_obj_type => 'PARTY_SITE',
324 p_create_or_update => 'C',
325 x_return_status => x_return_status,
326 x_errorcode => l_errorcode,
327 x_msg_count => x_msg_count,
328 x_msg_data => x_msg_data
329 );
330
331 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
332 RAISE FND_API.G_EXC_ERROR;
333 END IF;
334 END IF;
335
336 ------------------------
337 -- For party site use
338 ------------------------
339 IF((p_party_site_obj.party_site_use_objs IS NOT NULL) AND
340 (p_party_site_obj.party_site_use_objs.COUNT > 0)) THEN
341 HZ_PARTY_SITE_BO_PVT.create_party_site_uses(
342 p_psu_objs => p_party_site_obj.party_site_use_objs,
343 p_ps_id => x_party_site_id,
344 x_return_status => x_return_status,
345 x_msg_count => x_msg_count,
346 x_msg_data => x_msg_data
347 );
348
349 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
350 RAISE FND_API.G_EXC_ERROR;
351 END IF;
352 END IF;
353
354 l_cbm := HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE;
355
356 ----------------------------------------------------------
357 -- For contact points - phone, telex, email and web
358 ----------------------------------------------------------
359 IF(((p_party_site_obj.phone_objs IS NOT NULL) AND (p_party_site_obj.phone_objs.COUNT > 0)) OR
360 ((p_party_site_obj.telex_objs IS NOT NULL) AND (p_party_site_obj.telex_objs.COUNT > 0)) OR
361 ((p_party_site_obj.email_objs IS NOT NULL) AND (p_party_site_obj.email_objs.COUNT > 0)) OR
362 ((p_party_site_obj.web_objs IS NOT NULL) AND (p_party_site_obj.web_objs.COUNT > 0))) THEN
363 HZ_CONTACT_POINT_BO_PVT.save_contact_points(
364 p_phone_objs => p_party_site_obj.phone_objs,
365 p_telex_objs => p_party_site_obj.telex_objs,
366 p_email_objs => p_party_site_obj.email_objs,
367 p_web_objs => p_party_site_obj.web_objs,
368 p_edi_objs => l_edi_objs,
369 p_eft_objs => l_eft_objs,
370 p_sms_objs => l_sms_objs,
371 p_owner_table_id => x_party_site_id,
372 p_owner_table_os => x_party_site_os,
373 p_owner_table_osr => x_party_site_osr,
374 p_parent_obj_type => 'PARTY_SITE',
375 p_create_update_flag => 'C',
376 p_obj_source => p_obj_source,
377 x_return_status => x_return_status,
378 x_msg_count => x_msg_count,
379 x_msg_data => x_msg_data
380 );
381
382 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
383 RAISE FND_API.G_EXC_ERROR;
384 END IF;
385 END IF;
386
387 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := l_cbm;
388
389 ----------------------------
390 -- For contact preference
391 ----------------------------
392 IF((p_party_site_obj.contact_pref_objs IS NOT NULL) AND
393 (p_party_site_obj.contact_pref_objs.COUNT > 0)) THEN
394 HZ_CONTACT_PREFERENCE_BO_PVT.create_contact_preferences(
395 p_cp_pref_objs => p_party_site_obj.contact_pref_objs,
396 p_contact_level_table_id => x_party_site_id,
397 p_contact_level_table => 'HZ_PARTY_SITES',
398 x_return_status => x_return_status,
399 x_msg_count => x_msg_count,
400 x_msg_data => x_msg_data
401 );
402
403 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
404 RAISE FND_API.G_EXC_ERROR;
405 END IF;
406 END IF;
407
408 -- reset Global variable
409 HZ_UTILITY_V2PUB.G_CALLING_API := NULL;
410 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := NULL;
411
412 -- Debug info.
413 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
414 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
415 p_msg_data=>x_msg_data,
416 p_msg_type=>'WARNING',
417 p_msg_level=>fnd_log.level_exception);
418 END IF;
419 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
420 hz_utility_v2pub.debug(p_message=>'do_create_party_site_bo(-)',
421 p_prefix=>l_debug_prefix,
422 p_msg_level=>fnd_log.level_procedure);
423 END IF;
424
425 EXCEPTION
426 WHEN fnd_api.g_exc_error THEN
427 ROLLBACK TO do_create_party_site_bo_pub;
428
429 -- reset Global variable
430 HZ_UTILITY_V2PUB.G_CALLING_API := NULL;
431 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := NULL;
432
433 FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_OBJECT_ERROR');
434 FND_MESSAGE.SET_TOKEN('OBJECT', 'PARTY_SITE');
435 FND_MSG_PUB.ADD;
436
437 x_return_status := fnd_api.g_ret_sts_error;
438
439 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
440 p_count => x_msg_count,
441 p_data => x_msg_data);
442
443 -- Debug info.
444 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
445 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
446 p_msg_data=>x_msg_data,
447 p_msg_type=>'ERROR',
448 p_msg_level=>fnd_log.level_error);
449 END IF;
450 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
451 hz_utility_v2pub.debug(p_message=>'do_create_party_site_bo(-)',
452 p_prefix=>l_debug_prefix,
453 p_msg_level=>fnd_log.level_procedure);
454 END IF;
455
456 WHEN fnd_api.g_exc_unexpected_error THEN
457 ROLLBACK TO do_create_party_site_bo_pub;
458
459 -- reset Global variable
460 HZ_UTILITY_V2PUB.G_CALLING_API := NULL;
461 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := NULL;
462
463 FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_OBJECT_ERROR');
464 FND_MESSAGE.SET_TOKEN('OBJECT', 'PARTY_SITE');
465 FND_MSG_PUB.ADD;
466
467 x_return_status := fnd_api.g_ret_sts_unexp_error;
468
469 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
470 p_count => x_msg_count,
471 p_data => x_msg_data);
472
473 -- Debug info.
474 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
475 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
476 p_msg_data=>x_msg_data,
477 p_msg_type=>'UNEXPECTED ERROR',
478 p_msg_level=>fnd_log.level_error);
479 END IF;
480 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
481 hz_utility_v2pub.debug(p_message=>'do_create_party_site_bo(-)',
482 p_prefix=>l_debug_prefix,
483 p_msg_level=>fnd_log.level_procedure);
484 END IF;
485
486 WHEN OTHERS THEN
487 ROLLBACK TO do_create_party_site_bo_pub;
488
489 -- reset Global variable
490 HZ_UTILITY_V2PUB.G_CALLING_API := NULL;
491 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := NULL;
492
493 FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_OBJECT_ERROR');
494 FND_MESSAGE.SET_TOKEN('OBJECT', 'PARTY_SITE');
495 FND_MSG_PUB.ADD;
496
497 x_return_status := fnd_api.g_ret_sts_unexp_error;
498
499 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
500 fnd_message.set_token('ERROR' ,SQLERRM);
501 fnd_msg_pub.add;
502
503 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
504 p_count => x_msg_count,
505 p_data => x_msg_data);
506
507 -- Debug info.
508 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
509 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
510 p_msg_data=>x_msg_data,
511 p_msg_type=>'SQL ERROR',
512 p_msg_level=>fnd_log.level_error);
513 END IF;
514 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
515 hz_utility_v2pub.debug(p_message=>'do_create_party_site_bo(-)',
516 p_prefix=>l_debug_prefix,
517 p_msg_level=>fnd_log.level_procedure);
518 END IF;
519 END do_create_party_site_bo;
520
521 PROCEDURE create_party_site_bo(
522 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
523 p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
524 p_party_site_obj IN HZ_PARTY_SITE_BO,
525 p_created_by_module IN VARCHAR2,
526 x_return_status OUT NOCOPY VARCHAR2,
527 x_msg_count OUT NOCOPY NUMBER,
528 x_msg_data OUT NOCOPY VARCHAR2,
529 x_party_site_id OUT NOCOPY NUMBER,
530 x_party_site_os OUT NOCOPY VARCHAR2,
531 x_party_site_osr OUT NOCOPY VARCHAR2,
532 px_parent_id IN OUT NOCOPY NUMBER,
533 px_parent_os IN OUT NOCOPY VARCHAR2,
534 px_parent_osr IN OUT NOCOPY VARCHAR2,
535 px_parent_obj_type IN OUT NOCOPY VARCHAR2
536 ) IS
537 l_ps_obj HZ_PARTY_SITE_BO;
538 BEGIN
539 l_ps_obj := p_party_site_obj;
540 do_create_party_site_bo(
541 p_init_msg_list => p_init_msg_list,
542 p_validate_bo_flag => p_validate_bo_flag,
543 p_party_site_obj => l_ps_obj,
544 p_created_by_module => p_created_by_module,
545 p_obj_source => null,
546 x_return_status => x_return_status,
547 x_msg_count => x_msg_count,
548 x_msg_data => x_msg_data,
549 x_party_site_id => x_party_site_id,
550 x_party_site_os => x_party_site_os,
551 x_party_site_osr => x_party_site_osr,
552 px_parent_id => px_parent_id,
553 px_parent_os => px_parent_os,
554 px_parent_osr => px_parent_osr,
555 px_parent_obj_type => px_parent_obj_type
556 );
557 END create_party_site_bo;
558
559 PROCEDURE create_party_site_bo(
560 p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
561 p_party_site_obj IN HZ_PARTY_SITE_BO,
562 p_created_by_module IN VARCHAR2,
563 p_obj_source IN VARCHAR2 := null,
564 p_return_obj_flag IN VARCHAR2 := fnd_api.g_true,
565 x_return_status OUT NOCOPY VARCHAR2,
566 x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL,
567 x_return_obj OUT NOCOPY HZ_PARTY_SITE_BO,
568 x_party_site_id OUT NOCOPY NUMBER,
569 x_party_site_os OUT NOCOPY VARCHAR2,
570 x_party_site_osr OUT NOCOPY VARCHAR2,
571 px_parent_id IN OUT NOCOPY NUMBER,
572 px_parent_os IN OUT NOCOPY VARCHAR2,
573 px_parent_osr IN OUT NOCOPY VARCHAR2,
574 px_parent_obj_type IN OUT NOCOPY VARCHAR2
575 ) IS
576 l_msg_count NUMBER;
577 l_msg_data VARCHAR2(2000);
578 l_ps_obj HZ_PARTY_SITE_BO;
579 BEGIN
580 l_ps_obj := p_party_site_obj;
581 do_create_party_site_bo(
582 p_init_msg_list => fnd_api.g_true,
583 p_validate_bo_flag => p_validate_bo_flag,
584 p_party_site_obj => l_ps_obj,
585 p_created_by_module => p_created_by_module,
586 p_obj_source => p_obj_source,
587 x_return_status => x_return_status,
588 x_msg_count => l_msg_count,
589 x_msg_data => l_msg_data,
590 x_party_site_id => x_party_site_id,
591 x_party_site_os => x_party_site_os,
592 x_party_site_osr => x_party_site_osr,
593 px_parent_id => px_parent_id,
594 px_parent_os => px_parent_os,
595 px_parent_osr => px_parent_osr,
596 px_parent_obj_type => px_parent_obj_type
597 );
598 x_messages := HZ_PARTY_BO_PVT.return_all_messages(
599 x_return_status => x_return_status,
600 x_msg_count => l_msg_count,
601 x_msg_data => l_msg_data);
602 IF FND_API.to_Boolean(p_return_obj_flag) THEN
603 x_return_obj := l_ps_obj;
604 END IF;
605 END create_party_site_bo;
606
607 -- PROCEDURE update_party_site_bo
608 --
609 -- DESCRIPTION
610 -- Update a party site business object.
611 --
612 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
613 --
614 -- ARGUMENTS
615 -- IN:
616 -- p_init_msg_list Initialize message stack if it is set to
617 -- FND_API.G_TRUE. Default is FND_API.G_FALSE.
618 -- p_party_site_obj Party site business object.
619 -- p_created_by_module Created by module.
620 -- OUT:
621 -- x_return_status Return status after the call. The status can
622 -- be fnd_api.g_ret_sts_success (success),
623 -- fnd_api.g_ret_sts_error (error),
624 -- FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
625 -- x_msg_count Number of messages in message stack.
626 -- x_msg_data Message text if x_msg_count is 1.
627 -- x_party_site_id Party Site ID.
628 -- x_party_site_os Party Site orig system.
629 -- x_party_site_osr Party Site orig system reference.
630 --
631 -- NOTES
632 --
633 -- MODIFICATION HISTORY
634 --
635 -- 14-DEC-2004 Arnold Ng Created.
636 --
637
638 PROCEDURE update_party_site_bo(
639 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
640 p_party_site_obj IN HZ_PARTY_SITE_BO,
641 p_created_by_module IN VARCHAR2,
642 x_return_status OUT NOCOPY VARCHAR2,
643 x_msg_count OUT NOCOPY NUMBER,
644 x_msg_data OUT NOCOPY VARCHAR2,
645 x_party_site_id OUT NOCOPY NUMBER,
646 x_party_site_os OUT NOCOPY VARCHAR2,
647 x_party_site_osr OUT NOCOPY VARCHAR2
648 )IS
649 l_ps_obj HZ_PARTY_SITE_BO;
650 BEGIN
651 l_ps_obj := p_party_site_obj;
652 do_update_party_site_bo(
653 p_init_msg_list => p_init_msg_list,
654 p_party_site_obj => l_ps_obj,
655 p_created_by_module => p_created_by_module,
656 p_obj_source => null,
657 x_return_status => x_return_status,
658 x_msg_count => x_msg_count,
659 x_msg_data => x_msg_data,
660 x_party_site_id => x_party_site_id,
661 x_party_site_os => x_party_site_os,
662 x_party_site_osr => x_party_site_osr,
663 p_parent_os => NULL );
664 END update_party_site_bo;
665
666 PROCEDURE update_party_site_bo(
667 p_party_site_obj IN HZ_PARTY_SITE_BO,
668 p_created_by_module IN VARCHAR2,
669 p_obj_source IN VARCHAR2 := null,
670 p_return_obj_flag IN VARCHAR2 := fnd_api.g_true,
671 x_return_status OUT NOCOPY VARCHAR2,
672 x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL,
673 x_return_obj OUT NOCOPY HZ_PARTY_SITE_BO,
674 x_party_site_id OUT NOCOPY NUMBER,
675 x_party_site_os OUT NOCOPY VARCHAR2,
676 x_party_site_osr OUT NOCOPY VARCHAR2
677 )IS
678 l_msg_count NUMBER;
679 l_msg_data VARCHAR2(2000);
680 l_ps_obj HZ_PARTY_SITE_BO;
681 BEGIN
682 l_ps_obj := p_party_site_obj;
683 do_update_party_site_bo(
684 p_init_msg_list => fnd_api.g_true,
685 p_party_site_obj => l_ps_obj,
686 p_created_by_module => p_created_by_module,
687 p_obj_source => p_obj_source,
688 x_return_status => x_return_status,
689 x_msg_count => l_msg_count,
690 x_msg_data => l_msg_data,
691 x_party_site_id => x_party_site_id,
692 x_party_site_os => x_party_site_os,
693 x_party_site_osr => x_party_site_osr,
694 p_parent_os => NULL
695 );
696 x_messages := HZ_PARTY_BO_PVT.return_all_messages(
697 x_return_status => x_return_status,
698 x_msg_count => l_msg_count,
699 x_msg_data => l_msg_data);
700 IF FND_API.to_Boolean(p_return_obj_flag) THEN
701 x_return_obj := l_ps_obj;
702 END IF;
703 END update_party_site_bo;
704
705 -- PRIVATE PROCEDURE do_update_party_site_bo
706 --
707 -- DESCRIPTION
708 -- Update party site business object.
709 PROCEDURE do_update_party_site_bo(
710 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
711 p_party_site_obj IN OUT NOCOPY HZ_PARTY_SITE_BO,
712 p_created_by_module IN VARCHAR2,
713 p_obj_source IN VARCHAR2 := null,
714 x_return_status OUT NOCOPY VARCHAR2,
715 x_msg_count OUT NOCOPY NUMBER,
716 x_msg_data OUT NOCOPY VARCHAR2,
717 x_party_site_id OUT NOCOPY NUMBER,
718 x_party_site_os OUT NOCOPY VARCHAR2,
719 x_party_site_osr OUT NOCOPY VARCHAR2,
720 p_parent_os IN VARCHAR2
721 )IS
722 l_debug_prefix VARCHAR2(30);
723 l_party_site_rec HZ_PARTY_SITE_V2PUB.PARTY_SITE_REC_TYPE;
724 l_location_rec HZ_LOCATION_V2PUB.LOCATION_REC_TYPE;
725 l_party_site_use_rec HZ_PARTY_SITE_V2PUB.PARTY_SITE_USE_REC_TYPE;
726 l_ps_id NUMBER;
727 l_ps_ovn NUMBER;
728 l_loc_ovn NUMBER;
729 l_location_id NUMBER;
730 l_party_id NUMBER;
731 l_create_update_flag VARCHAR2(1);
732 l_errorcode NUMBER;
733 l_cbm VARCHAR2(30);
734 l_edi_objs HZ_EDI_CP_BO_TBL;
735 l_eft_objs HZ_EFT_CP_BO_TBL;
736 l_sms_objs HZ_SMS_CP_BO_TBL;
737
738 CURSOR get_ovn(l_ps_id NUMBER) IS
739 SELECT ps.object_version_number, loc.object_version_number, ps.party_id, loc.location_id
740 FROM HZ_PARTY_SITES ps, HZ_LOCATIONS loc
741 WHERE ps.party_site_id = l_ps_id
742 AND ps.location_id = loc.location_id
743 AND ps.status in ('A','I');
744
745 BEGIN
746 -- Standard start of API savepoint
747 SAVEPOINT do_update_party_site_bo_pub;
748
749 -- initialize API return status to success.
750 x_return_status := FND_API.G_RET_STS_SUCCESS;
751
752 -- Initialize message list of p_init_msg_list is set to TRUE.
753 IF FND_API.to_Boolean(p_init_msg_list) THEN
754 FND_MSG_PUB.initialize;
755 END IF;
756
757 -- initialize Global variable
758 HZ_UTILITY_V2PUB.G_CALLING_API := 'BO_API';
759 IF(p_created_by_module IS NULL) THEN
760 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := 'BO_API';
761 ELSE
762 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := p_created_by_module;
763 END IF;
764
765 -- Debug info.
766 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
767 hz_utility_v2pub.debug(p_message=>'do_update_party_site_bo(+)',
768 p_prefix=>l_debug_prefix,
769 p_msg_level=>fnd_log.level_procedure);
770 END IF;
771
772 x_party_site_id := p_party_site_obj.party_site_id;
773 x_party_site_os := p_party_site_obj.orig_system;
774 x_party_site_osr := p_party_site_obj.orig_system_reference;
775
776 -- check if pass in party_site_id and ssm is
777 -- valid for update
778 hz_registry_validate_bo_pvt.validate_ssm_id(
779 px_id => x_party_site_id,
780 px_os => x_party_site_os,
781 px_osr => x_party_site_osr,
782 p_obj_type => 'HZ_PARTY_SITES',
783 p_create_or_update => 'U',
784 x_return_status => x_return_status,
785 x_msg_count => x_msg_count,
786 x_msg_data => x_msg_data);
787
788 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
789 RAISE FND_API.G_EXC_ERROR;
790 END IF;
791
792 OPEN get_ovn(x_party_site_id);
793 FETCH get_ovn INTO l_ps_ovn, l_loc_ovn, l_party_id, l_location_id;
794 CLOSE get_ovn;
795
796 ------------------------
797 -- For Party Site
798 ------------------------
799 assign_party_site_rec(
800 p_party_site_obj => p_party_site_obj,
801 p_party_id => l_party_id,
802 p_location_id => l_location_id,
803 p_ps_id => x_party_site_id,
804 p_ps_os => x_party_site_os,
805 p_ps_osr => x_party_site_osr,
806 p_create_or_update => 'U',
807 px_party_site_rec => l_party_site_rec
808 );
809
810 HZ_PARTY_SITE_V2PUB.update_party_site(
811 p_party_site_rec => l_party_site_rec,
812 p_object_version_number => l_ps_ovn,
813 x_return_status => x_return_status,
814 x_msg_count => x_msg_count,
815 x_msg_data => x_msg_data
816 );
817
818 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
819 FND_MSG_PUB.ADD;
820 RAISE FND_API.G_EXC_ERROR;
821 END IF;
822
823 -- assign party_site_id
824 p_party_site_obj.party_site_id := x_party_site_id;
825 ------------------------------
826 -- Create Party Site Ext Attrs
827 ------------------------------
828 IF((p_party_site_obj.ext_attributes_objs IS NOT NULL) AND
829 (p_party_site_obj.ext_attributes_objs.COUNT > 0)) THEN
830 HZ_EXT_ATTRIBUTE_BO_PVT.save_ext_attributes(
831 p_ext_attr_objs => p_party_site_obj.ext_attributes_objs,
832 p_parent_obj_id => x_party_site_id,
833 p_parent_obj_type => 'PARTY_SITE',
834 p_create_or_update => 'U',
835 x_return_status => x_return_status,
836 x_errorcode => l_errorcode,
837 x_msg_count => x_msg_count,
838 x_msg_data => x_msg_data
839 );
840
841 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
842 RAISE FND_API.G_EXC_ERROR;
843 END IF;
844 END IF;
845
846 ----------------------
847 -- For Location
848 ----------------------
849 -- If there is no change in location information, user won't pass in
850 -- location object. Therefore, don't do anything
851 IF(p_party_site_obj.location_obj IS NOT NULL) THEN
852 HZ_LOCATION_BO_PUB.assign_location_rec(
853 p_location_obj => p_party_site_obj.location_obj,
854 p_loc_os => p_party_site_obj.location_obj.orig_system,
855 p_loc_osr => p_party_site_obj.location_obj.orig_system_reference,
856 p_create_or_update => 'U',
857 px_location_rec => l_location_rec
858 );
859
860 l_location_rec.location_id := l_location_id;
861
862 HZ_LOCATION_V2PUB.update_location(
863 p_location_rec => l_location_rec,
864 p_object_version_number => l_loc_ovn,
865 x_return_status => x_return_status,
866 x_msg_count => x_msg_count,
867 x_msg_data => x_msg_data
868 );
869
870 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
871 FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_OBJECT_ERROR');
872 FND_MESSAGE.SET_TOKEN('OBJECT', 'LOCATION');
873 FND_MSG_PUB.ADD;
874 RAISE FND_API.G_EXC_ERROR;
875 END IF;
876
877 -- assign location_id
878 p_party_site_obj.location_obj.location_id := l_location_id;
879 ----------------------------
880 -- Create Location Ext Attrs
881 ----------------------------
882 IF((p_party_site_obj.location_obj.ext_attributes_objs IS NOT NULL) AND
883 (p_party_site_obj.location_obj.ext_attributes_objs.COUNT > 0)) THEN
884 HZ_EXT_ATTRIBUTE_BO_PVT.save_ext_attributes(
885 p_ext_attr_objs => p_party_site_obj.location_obj.ext_attributes_objs,
886 p_parent_obj_id => l_location_id,
887 p_parent_obj_type => 'LOCATION',
888 p_create_or_update => 'U',
889 x_return_status => x_return_status,
890 x_errorcode => l_errorcode,
891 x_msg_count => x_msg_count,
892 x_msg_data => x_msg_data
893 );
894
895 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
896 RAISE FND_API.G_EXC_ERROR;
897 END IF;
898 END IF;
899 END IF;
900
901 ---------------------
902 -- For Party Site Use
903 ---------------------
904 IF((p_party_site_obj.party_site_use_objs IS NOT NULL) AND
905 (p_party_site_obj.party_site_use_objs.COUNT > 0)) THEN
906 HZ_PARTY_SITE_BO_PVT.save_party_site_uses(
907 p_psu_objs => p_party_site_obj.party_site_use_objs,
908 p_ps_id => x_party_site_id,
909 x_return_status => x_return_status,
910 x_msg_count => x_msg_count,
911 x_msg_data => x_msg_data
912 );
913
914 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
915 RAISE FND_API.G_EXC_ERROR;
916 END IF;
917 END IF;
918
919 l_cbm := HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE;
920
921 ---------------------
922 -- For Contact Points
923 ---------------------
924 IF(((p_party_site_obj.phone_objs IS NOT NULL) AND (p_party_site_obj.phone_objs.COUNT > 0)) OR
925 ((p_party_site_obj.telex_objs IS NOT NULL) AND (p_party_site_obj.telex_objs.COUNT > 0)) OR
926 ((p_party_site_obj.email_objs IS NOT NULL) AND (p_party_site_obj.email_objs.COUNT > 0)) OR
927 ((p_party_site_obj.web_objs IS NOT NULL) AND (p_party_site_obj.web_objs.COUNT > 0))) THEN
928 HZ_CONTACT_POINT_BO_PVT.save_contact_points(
929 p_phone_objs => p_party_site_obj.phone_objs,
930 p_telex_objs => p_party_site_obj.telex_objs,
931 p_email_objs => p_party_site_obj.email_objs,
932 p_web_objs => p_party_site_obj.web_objs,
933 p_edi_objs => l_edi_objs,
934 p_eft_objs => l_eft_objs,
935 p_sms_objs => l_sms_objs,
936 p_owner_table_id => x_party_site_id,
937 p_owner_table_os => x_party_site_os,
938 p_owner_table_osr => x_party_site_osr,
939 p_parent_obj_type => 'PARTY_SITE',
940 p_create_update_flag => 'U',
941 p_obj_source => p_obj_source,
942 x_return_status => x_return_status,
943 x_msg_count => x_msg_count,
944 x_msg_data => x_msg_data
945 );
946
947 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
948 RAISE FND_API.G_EXC_ERROR;
949 END IF;
950 END IF;
951
952 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := l_cbm;
953
954 -------------------------
955 -- For Contact Preference
956 -------------------------
957 IF((p_party_site_obj.contact_pref_objs IS NOT NULL) AND
958 (p_party_site_obj.contact_pref_objs.COUNT > 0)) THEN
959 HZ_CONTACT_PREFERENCE_BO_PVT.save_contact_preferences(
960 p_cp_pref_objs => p_party_site_obj.contact_pref_objs,
961 p_contact_level_table_id => x_party_site_id,
962 p_contact_level_table => 'HZ_PARTY_SITES',
963 x_return_status => x_return_status,
964 x_msg_count => x_msg_count,
965 x_msg_data => x_msg_data
966 );
967
968 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
969 RAISE FND_API.G_EXC_ERROR;
970 END IF;
971 END IF;
972
973 -- reset Global variable
974 HZ_UTILITY_V2PUB.G_CALLING_API := NULL;
975 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := NULL;
976
977 -- Debug info.
978 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
979 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
980 p_msg_data=>x_msg_data,
981 p_msg_type=>'WARNING',
982 p_msg_level=>fnd_log.level_exception);
983 END IF;
984 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
985 hz_utility_v2pub.debug(p_message=>'do_update_party_site_bo(-)',
986 p_prefix=>l_debug_prefix,
987 p_msg_level=>fnd_log.level_procedure);
988 END IF;
989
990 EXCEPTION
991 WHEN fnd_api.g_exc_error THEN
992 ROLLBACK TO do_update_party_site_bo_pub;
993
994 -- reset Global variable
995 HZ_UTILITY_V2PUB.G_CALLING_API := NULL;
996 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := NULL;
997
998 FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_OBJECT_ERROR');
999 FND_MESSAGE.SET_TOKEN('OBJECT', 'PARTY_SITE');
1000 FND_MSG_PUB.ADD;
1001
1002 x_return_status := fnd_api.g_ret_sts_error;
1003
1004 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
1005 p_count => x_msg_count,
1006 p_data => x_msg_data);
1007
1008 -- Debug info.
1009 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
1010 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1011 p_msg_data=>x_msg_data,
1012 p_msg_type=>'ERROR',
1013 p_msg_level=>fnd_log.level_error);
1014 END IF;
1015 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1016 hz_utility_v2pub.debug(p_message=>'do_update_party_site_bo(-)',
1017 p_prefix=>l_debug_prefix,
1018 p_msg_level=>fnd_log.level_procedure);
1019 END IF;
1020
1021 WHEN fnd_api.g_exc_unexpected_error THEN
1022 ROLLBACK TO do_update_party_site_bo_pub;
1023
1024 -- reset Global variable
1025 HZ_UTILITY_V2PUB.G_CALLING_API := NULL;
1026 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := NULL;
1027
1028 FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_OBJECT_ERROR');
1029 FND_MESSAGE.SET_TOKEN('OBJECT', 'PARTY_SITE');
1030 FND_MSG_PUB.ADD;
1031
1032 x_return_status := fnd_api.g_ret_sts_unexp_error;
1033
1034 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
1035 p_count => x_msg_count,
1036 p_data => x_msg_data);
1037
1038 -- Debug info.
1039 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
1040 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1041 p_msg_data=>x_msg_data,
1042 p_msg_type=>'UNEXPECTED ERROR',
1043 p_msg_level=>fnd_log.level_error);
1044 END IF;
1045 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1046 hz_utility_v2pub.debug(p_message=>'do_update_party_site_bo(-)',
1047 p_prefix=>l_debug_prefix,
1048 p_msg_level=>fnd_log.level_procedure);
1049 END IF;
1050
1051 WHEN OTHERS THEN
1052 ROLLBACK TO do_update_party_site_bo_pub;
1053
1054 -- reset Global variable
1055 HZ_UTILITY_V2PUB.G_CALLING_API := NULL;
1056 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := NULL;
1057
1058 FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_OBJECT_ERROR');
1059 FND_MESSAGE.SET_TOKEN('OBJECT', 'PARTY_SITE');
1060 FND_MSG_PUB.ADD;
1061
1062 x_return_status := fnd_api.g_ret_sts_unexp_error;
1063
1064 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
1065 fnd_message.set_token('ERROR' ,SQLERRM);
1066 fnd_msg_pub.add;
1067
1068 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
1069 p_count => x_msg_count,
1070 p_data => x_msg_data);
1071
1072 -- Debug info.
1073 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
1074 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1075 p_msg_data=>x_msg_data,
1076 p_msg_type=>'SQL ERROR',
1077 p_msg_level=>fnd_log.level_error);
1078 END IF;
1079 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1080 hz_utility_v2pub.debug(p_message=>'do_update_party_site_bo(-)',
1081 p_prefix=>l_debug_prefix,
1082 p_msg_level=>fnd_log.level_procedure);
1083 END IF;
1084 END do_update_party_site_bo;
1085
1086 -- PROCEDURE do_save_party_site_bo
1087 --
1088 -- DESCRIPTION
1089 -- Create or update a party site business object.
1090 PROCEDURE do_save_party_site_bo(
1091 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
1092 p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
1093 p_party_site_obj IN OUT NOCOPY HZ_PARTY_SITE_BO,
1094 p_created_by_module IN VARCHAR2,
1095 p_obj_source IN VARCHAR2 := null,
1096 x_return_status OUT NOCOPY VARCHAR2,
1097 x_msg_count OUT NOCOPY NUMBER,
1098 x_msg_data OUT NOCOPY VARCHAR2,
1099 x_party_site_id OUT NOCOPY NUMBER,
1100 x_party_site_os OUT NOCOPY VARCHAR2,
1101 x_party_site_osr OUT NOCOPY VARCHAR2,
1102 px_parent_id IN OUT NOCOPY NUMBER,
1103 px_parent_os IN OUT NOCOPY VARCHAR2,
1104 px_parent_osr IN OUT NOCOPY VARCHAR2,
1105 px_parent_obj_type IN OUT NOCOPY VARCHAR2
1106 ) IS
1107 l_return_status VARCHAR2(30);
1108 l_msg_count NUMBER;
1109 l_msg_data VARCHAR2(2000);
1110 l_create_update_flag VARCHAR2(1);
1111 l_debug_prefix VARCHAR2(30);
1112 BEGIN
1113 -- initialize API return status to success.
1114 x_return_status := FND_API.G_RET_STS_SUCCESS;
1115
1116 -- Initialize message list of p_init_msg_list is set to TRUE.
1117 IF FND_API.to_Boolean(p_init_msg_list) THEN
1118 FND_MSG_PUB.initialize;
1119 END IF;
1120
1121 -- Debug info.
1122 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1123 hz_utility_v2pub.debug(p_message=>'do_save_party_site_bo(+)',
1124 p_prefix=>l_debug_prefix,
1125 p_msg_level=>fnd_log.level_procedure);
1126 END IF;
1127
1128 x_party_site_id := p_party_site_obj.party_site_id;
1129 x_party_site_os := p_party_site_obj.orig_system;
1130 x_party_site_osr := p_party_site_obj.orig_system_reference;
1131
1132 -- check root business object to determine that it should be
1133 -- create or update, call HZ_REGISTRY_VALIDATE_BO_PVT
1134 l_create_update_flag := HZ_REGISTRY_VALIDATE_BO_PVT.check_bo_op(
1135 p_entity_id => x_party_site_id,
1136 p_entity_os => x_party_site_os,
1137 p_entity_osr => x_party_site_osr,
1138 p_entity_type => 'HZ_PARTY_SITES',
1139 p_parent_id => px_parent_id,
1140 p_parent_obj_type=> px_parent_obj_type);
1141
1142 IF(l_create_update_flag = 'E') THEN
1143 FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_OBJECT_ERROR');
1144 FND_MESSAGE.SET_TOKEN('OBJECT', 'PARTY_SITE');
1145 FND_MSG_PUB.ADD;
1146 RAISE FND_API.G_EXC_ERROR;
1147 END IF;
1148
1149 IF(l_create_update_flag = 'C') THEN
1150 do_create_party_site_bo(
1151 p_init_msg_list => fnd_api.g_false,
1152 p_validate_bo_flag => p_validate_bo_flag,
1153 p_party_site_obj => p_party_site_obj,
1154 p_created_by_module => p_created_by_module,
1155 p_obj_source => p_obj_source,
1156 x_return_status => x_return_status,
1157 x_msg_count => x_msg_count,
1158 x_msg_data => x_msg_data,
1159 x_party_site_id => x_party_site_id,
1160 x_party_site_os => x_party_site_os,
1161 x_party_site_osr => x_party_site_osr,
1162 px_parent_id => px_parent_id,
1163 px_parent_os => px_parent_os,
1164 px_parent_osr => px_parent_osr,
1165 px_parent_obj_type => px_parent_obj_type
1166 );
1167 ELSIF(l_create_update_flag = 'U') THEN
1168 do_update_party_site_bo(
1169 p_init_msg_list => fnd_api.g_false,
1170 p_party_site_obj => p_party_site_obj,
1171 p_created_by_module => p_created_by_module,
1172 p_obj_source => p_obj_source,
1173 x_return_status => x_return_status,
1174 x_msg_count => x_msg_count,
1175 x_msg_data => x_msg_data,
1176 x_party_site_id => x_party_site_id,
1177 x_party_site_os => x_party_site_os,
1178 x_party_site_osr => x_party_site_osr,
1179 p_parent_os => px_parent_os );
1180 ELSE
1181 RAISE FND_API.G_EXC_ERROR;
1182 END IF;
1183
1184 -- Debug info.
1185 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
1186 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1187 p_msg_data=>x_msg_data,
1188 p_msg_type=>'WARNING',
1189 p_msg_level=>fnd_log.level_exception);
1190 END IF;
1191 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1192 hz_utility_v2pub.debug(p_message=>'do_save_party_site_bo(-)',
1193 p_prefix=>l_debug_prefix,
1194 p_msg_level=>fnd_log.level_procedure);
1195 END IF;
1196
1197 EXCEPTION
1198 WHEN fnd_api.g_exc_error THEN
1199 x_return_status := fnd_api.g_ret_sts_error;
1200
1201 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
1202 p_count => x_msg_count,
1203 p_data => x_msg_data);
1204
1205 -- Debug info.
1206 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
1207 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1208 p_msg_data=>x_msg_data,
1209 p_msg_type=>'ERROR',
1210 p_msg_level=>fnd_log.level_error);
1211 END IF;
1212 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1213 hz_utility_v2pub.debug(p_message=>'do_save_party_site_bo(-)',
1214 p_prefix=>l_debug_prefix,
1215 p_msg_level=>fnd_log.level_procedure);
1216 END IF;
1217
1218 WHEN fnd_api.g_exc_unexpected_error THEN
1219 x_return_status := fnd_api.g_ret_sts_unexp_error;
1220
1221 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
1222 p_count => x_msg_count,
1223 p_data => x_msg_data);
1224
1225 -- Debug info.
1226 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
1227 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1228 p_msg_data=>x_msg_data,
1229 p_msg_type=>'UNEXPECTED ERROR',
1230 p_msg_level=>fnd_log.level_error);
1231 END IF;
1232 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1233 hz_utility_v2pub.debug(p_message=>'do_save_party_site_bo(-)',
1234 p_prefix=>l_debug_prefix,
1235 p_msg_level=>fnd_log.level_procedure);
1236 END IF;
1237 WHEN OTHERS THEN
1238 x_return_status := fnd_api.g_ret_sts_unexp_error;
1239
1240 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
1241 fnd_message.set_token('ERROR' ,SQLERRM);
1242 fnd_msg_pub.add;
1243
1244 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
1245 p_count => x_msg_count,
1246 p_data => x_msg_data);
1247
1248 -- Debug info.
1249 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
1250 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1251 p_msg_data=>x_msg_data,
1252 p_msg_type=>'SQL ERROR',
1253 p_msg_level=>fnd_log.level_error);
1254 END IF;
1255 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1256 hz_utility_v2pub.debug(p_message=>'do_save_party_site_bo(-)',
1257 p_prefix=>l_debug_prefix,
1258 p_msg_level=>fnd_log.level_procedure);
1259 END IF;
1260 END do_save_party_site_bo;
1261
1262 PROCEDURE save_party_site_bo(
1263 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
1264 p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
1265 p_party_site_obj IN HZ_PARTY_SITE_BO,
1266 p_created_by_module IN VARCHAR2,
1267 x_return_status OUT NOCOPY VARCHAR2,
1268 x_msg_count OUT NOCOPY NUMBER,
1269 x_msg_data OUT NOCOPY VARCHAR2,
1270 x_party_site_id OUT NOCOPY NUMBER,
1271 x_party_site_os OUT NOCOPY VARCHAR2,
1272 x_party_site_osr OUT NOCOPY VARCHAR2,
1273 px_parent_id IN OUT NOCOPY NUMBER,
1274 px_parent_os IN OUT NOCOPY VARCHAR2,
1275 px_parent_osr IN OUT NOCOPY VARCHAR2,
1276 px_parent_obj_type IN OUT NOCOPY VARCHAR2
1277 ) IS
1278 l_ps_obj HZ_PARTY_SITE_BO;
1279 BEGIN
1280 l_ps_obj := p_party_site_obj;
1281 do_save_party_site_bo(
1282 p_init_msg_list => p_init_msg_list,
1283 p_validate_bo_flag => p_validate_bo_flag,
1284 p_party_site_obj => l_ps_obj,
1285 p_created_by_module => p_created_by_module,
1286 p_obj_source => null,
1287 x_return_status => x_return_status,
1288 x_msg_count => x_msg_count,
1289 x_msg_data => x_msg_data,
1290 x_party_site_id => x_party_site_id,
1291 x_party_site_os => x_party_site_os,
1292 x_party_site_osr => x_party_site_osr,
1293 px_parent_id => px_parent_id,
1294 px_parent_os => px_parent_os,
1295 px_parent_osr => px_parent_osr,
1296 px_parent_obj_type => px_parent_obj_type
1297 );
1298 END save_party_site_bo;
1299
1300 PROCEDURE save_party_site_bo(
1301 p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
1302 p_party_site_obj IN HZ_PARTY_SITE_BO,
1303 p_created_by_module IN VARCHAR2,
1304 p_obj_source IN VARCHAR2 := null,
1305 p_return_obj_flag IN VARCHAR2 := fnd_api.g_true,
1306 x_return_status OUT NOCOPY VARCHAR2,
1307 x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL,
1308 x_return_obj OUT NOCOPY HZ_PARTY_SITE_BO,
1309 x_party_site_id OUT NOCOPY NUMBER,
1310 x_party_site_os OUT NOCOPY VARCHAR2,
1311 x_party_site_osr OUT NOCOPY VARCHAR2,
1312 px_parent_id IN OUT NOCOPY NUMBER,
1313 px_parent_os IN OUT NOCOPY VARCHAR2,
1314 px_parent_osr IN OUT NOCOPY VARCHAR2,
1315 px_parent_obj_type IN OUT NOCOPY VARCHAR2
1316 ) IS
1317 l_msg_count NUMBER;
1318 l_msg_data VARCHAR2(2000);
1319 l_ps_obj HZ_PARTY_SITE_BO;
1320 BEGIN
1321 l_ps_obj := p_party_site_obj;
1322 do_save_party_site_bo(
1323 p_init_msg_list => fnd_api.g_true,
1324 p_validate_bo_flag => p_validate_bo_flag,
1325 p_party_site_obj => l_ps_obj,
1326 p_created_by_module => p_created_by_module,
1327 x_return_status => x_return_status,
1328 x_msg_count => l_msg_count,
1329 x_msg_data => l_msg_data,
1330 x_party_site_id => x_party_site_id,
1331 x_party_site_os => x_party_site_os,
1332 x_party_site_osr => x_party_site_osr,
1333 px_parent_id => px_parent_id,
1334 px_parent_os => px_parent_os,
1335 px_parent_osr => px_parent_osr,
1336 px_parent_obj_type => px_parent_obj_type
1337 );
1338 x_messages := HZ_PARTY_BO_PVT.return_all_messages(
1339 x_return_status => x_return_status,
1340 x_msg_count => l_msg_count,
1341 x_msg_data => l_msg_data);
1342 IF FND_API.to_Boolean(p_return_obj_flag) THEN
1343 x_return_obj := l_ps_obj;
1344 END IF;
1345 END save_party_site_bo;
1346
1347 --------------------------------------
1348 --
1349 -- PROCEDURE get_party_site_bo
1350 --
1351 -- DESCRIPTION
1352 -- Get a logical party site.
1353 --
1354 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
1355 --
1356 -- ARGUMENTS
1357 -- IN:
1358 -- p_init_msg_list Initialize message stack if it is set to FND_API.G_TRUE. Default is FND_API.G_FALSE.
1359 -- p_party_id party ID.
1360 -- p_party_site_id party site ID. If this id is not passed in, multiple site objects will be returned.
1361 -- p_party_site_os party site orig system.
1362 -- p_party_site_osr party site orig system reference.
1363 --
1364 -- OUT:
1365 -- x_party_site_objs Logical party site records.
1366 -- x_return_status Return status after the call. The status can
1367 -- be fnd_api.g_ret_sts_success (success),
1368 -- fnd_api.g_ret_sts_error (error),
1369 -- FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
1370 -- x_msg_count Number of messages in message stack.
1371 -- x_msg_data Message text if x_msg_count is 1.
1372 --
1373 -- NOTES
1374 --
1375 -- MODIFICATION HISTORY
1376 --
1377 --
1378 -- 1-JUNE-2005 AWU Created.
1379 --
1380
1381 /*
1382 The Get party site API Procedure is a retrieval service that returns a full party site business object.
1383 The user identifies a particular party site business object using the TCA identifier and/or
1384 the object Source System information. Upon proper validation of the object,
1385 the full party site business object is returned. The object consists of all data included within
1386 the party site business object, at all embedded levels. This includes the set of all data stored
1387 in the TCA tables for each embedded entity.
1388
1389 To retrieve the appropriate embedded business objects within the party site business object,
1390 the Get procedure calls the equivalent procedure for the following embedded objects:
1391
1392 Embedded BO Mandatory Multiple Logical API Procedure Comments
1393 Phone N Y get_phone_bos
1394 Telex N Y get_telex_bos
1395 Email N Y get_email_bos
1396 Web N Y get_web_bos
1397
1398 To retrieve the appropriate embedded entities within the party site business object,
1399 the Get procedure returns all records for the particular party site from these TCA entity tables:
1400
1401 Embedded TCA Entity Mandatory Multiple TCA Table Entities
1402
1403 Location Y N HZ_LOCATIONS
1404 Party Site Y N HZ_PARTY_SITES
1405 Party Site Use N Y HZ_PARTY_SITE_USES
1406 Contact Preference N Y HZ_CONTACT_PREFERENCES
1407 */
1408
1409
1410 PROCEDURE get_party_site_bo (
1411 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1412 p_party_site_id IN NUMBER,
1413 p_party_site_os IN VARCHAR2,
1414 p_party_site_osr IN VARCHAR2,
1415 x_party_site_obj OUT NOCOPY HZ_PARTY_SITE_BO,
1416 x_return_status OUT NOCOPY VARCHAR2,
1417 x_msg_count OUT NOCOPY NUMBER,
1418 x_msg_data OUT NOCOPY VARCHAR2
1419 ) is
1420 l_debug_prefix VARCHAR2(30) := '';
1421
1422 l_party_site_id number;
1423 l_party_site_os varchar2(30);
1424 l_party_site_osr varchar2(255);
1425 l_party_site_objs HZ_PARTY_SITE_BO_TBL;
1426 BEGIN
1427
1428 -- initialize API return status to success.
1429 x_return_status := FND_API.G_RET_STS_SUCCESS;
1430
1431 -- Initialize message list if p_init_msg_list is set to TRUE
1432 IF FND_API.to_Boolean(p_init_msg_list) THEN
1433 FND_MSG_PUB.initialize;
1434 END IF;
1435
1436
1437 -- Debug info.
1438 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1439 hz_utility_v2pub.debug(p_message=>'hz_party_site_bo_pub.get_party_site_bo(+)',
1440 p_prefix=>l_debug_prefix,
1441 p_msg_level=>fnd_log.level_procedure);
1442 END IF;
1443
1444 -- check if pass in contact_point_id and/or os+osr
1445 -- extraction validation logic is same as update
1446
1447 l_party_site_id := p_party_site_id;
1448 l_party_site_os := p_party_site_os;
1449 l_party_site_osr := p_party_site_osr;
1450
1451 HZ_EXTRACT_BO_UTIL_PVT.validate_ssm_id(
1452 px_id => l_party_site_id,
1453 px_os => l_party_site_os,
1454 px_osr => l_party_site_osr,
1455 p_obj_type => 'HZ_PARTY_SITES',
1456 x_return_status => x_return_status,
1457 x_msg_count => x_msg_count,
1458 x_msg_data => x_msg_data);
1459
1460 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1461 RAISE fnd_api.g_exc_error;
1462 END IF;
1463
1464 HZ_EXTRACT_PARTY_SITE_BO_PVT.get_party_site_bos
1465 (p_init_msg_list => fnd_api.g_false,
1466 p_party_id => NULL,
1467 p_party_site_id => l_party_site_id,
1468 p_action_type => NULL,
1469 x_party_site_objs => l_party_site_objs,
1470 x_return_status => x_return_status,
1471 x_msg_count => x_msg_count,
1472 x_msg_data => x_msg_data);
1473
1474 x_party_site_obj := l_party_site_objs(1);
1475
1476 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1477 RAISE FND_API.G_EXC_ERROR;
1478 END IF;
1479
1480
1481 -- Debug info.
1482 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
1483 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1484 p_msg_data=>x_msg_data,
1485 p_msg_type=>'WARNING',
1486 p_msg_level=>fnd_log.level_exception);
1487 END IF;
1488
1489 -- Debug info.
1490 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1491 hz_utility_v2pub.debug(p_message=>'hz_party_site_bo_pub.get_party_site_bo (-)',
1492 p_prefix=>l_debug_prefix,
1493 p_msg_level=>fnd_log.level_procedure);
1494 END IF;
1495
1496
1497 EXCEPTION
1498
1499 WHEN fnd_api.g_exc_error THEN
1500 x_return_status := fnd_api.g_ret_sts_error;
1501
1502 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
1503 p_count => x_msg_count,
1504 p_data => x_msg_data);
1505
1506 -- Debug info.
1507 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
1508 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1509 p_msg_data=>x_msg_data,
1510 p_msg_type=>'ERROR',
1511 p_msg_level=>fnd_log.level_error);
1512 END IF;
1513 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1514 hz_utility_v2pub.debug(p_message=>'hz_party_site_bo_pub.get_party_site_bo (-)',
1515 p_prefix=>l_debug_prefix,
1516 p_msg_level=>fnd_log.level_procedure);
1517 END IF;
1518 WHEN fnd_api.g_exc_unexpected_error THEN
1519 x_return_status := fnd_api.g_ret_sts_unexp_error;
1520
1521 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
1522 p_count => x_msg_count,
1523 p_data => x_msg_data);
1524
1525 -- Debug info.
1526 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
1527 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1528 p_msg_data=>x_msg_data,
1529 p_msg_type=>'UNEXPECTED ERROR',
1530 p_msg_level=>fnd_log.level_error);
1531 END IF;
1532 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1533 hz_utility_v2pub.debug(p_message=>'hz_party_site_bo_pub.get_party_site_bo (-)',
1534 p_prefix=>l_debug_prefix,
1535 p_msg_level=>fnd_log.level_procedure);
1536 END IF;
1537 WHEN OTHERS THEN
1538 x_return_status := fnd_api.g_ret_sts_unexp_error;
1539
1540 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
1541 fnd_message.set_token('ERROR' ,SQLERRM);
1542 fnd_msg_pub.add;
1543
1544 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
1545 p_count => x_msg_count,
1546 p_data => x_msg_data);
1547
1548 -- Debug info.
1549 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
1550 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1551 p_msg_data=>x_msg_data,
1552 p_msg_type=>'SQL ERROR',
1553 p_msg_level=>fnd_log.level_error);
1554 END IF;
1555 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1556 hz_utility_v2pub.debug(p_message=>'hz_party_site_bo_pub.get_party_site_bo (-)',
1557 p_prefix=>l_debug_prefix,
1558 p_msg_level=>fnd_log.level_procedure);
1559 END IF;
1560
1561 end;
1562
1563 PROCEDURE get_party_site_bo (
1564 p_party_site_id IN NUMBER,
1565 p_party_site_os IN VARCHAR2,
1566 p_party_site_osr IN VARCHAR2,
1567 x_party_site_obj OUT NOCOPY HZ_PARTY_SITE_BO,
1568 x_return_status OUT NOCOPY VARCHAR2,
1569 x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL
1570 ) IS
1571 l_msg_data VARCHAR2(2000);
1572 l_msg_count NUMBER;
1573 BEGIN
1574 get_party_site_bo(
1575 p_init_msg_list => fnd_api.g_true,
1576 p_party_site_id => p_party_site_id,
1577 p_party_site_os => p_party_site_os,
1578 p_party_site_osr => p_party_site_osr,
1579 x_party_site_obj => x_party_site_obj,
1580 x_return_status => x_return_status,
1581 x_msg_count => l_msg_count,
1582 x_msg_data => l_msg_data
1583 );
1584 x_messages := HZ_PARTY_BO_PVT.return_all_messages(
1585 x_return_status => x_return_status,
1586 x_msg_count => l_msg_count,
1587 x_msg_data => l_msg_data);
1588 END get_party_site_bo;
1589
1590 END hz_party_site_bo_pub;