[Home] [Help]
PACKAGE BODY: APPS.HZ_CONTACT_POINT_BO_PUB
Source
1 PACKAGE BODY hz_contact_point_bo_pub AS
2 /*$Header: ARHBCPBB.pls 120.14 2006/05/18 22:23:28 acng noship $ */
3
4 -- PRIVATE PROCEDURE assign_phone_rec
5 --
6 -- DESCRIPTION
7 -- Assign attribute value from phone business object to plsql record.
8 --
9 -- ARGUMENTS
10 -- IN:
11 -- p_phone_obj Phone business object.
12 -- p_owner_table_id Owner table Id.
13 -- p_owner_table_name Owner table name.
14 -- p_cp_id Contact point Id.
15 -- p_cp_os Contact point original system.
16 -- p_cp_osr Contact point original system reference.
17 -- p_cp_type Contact point type.
18 -- p_created_by_module Created by module.
19 -- IN/OUT:
20 -- px_phone_rec Phone plsql record.
21 -- px_contact_point_rec Contact point plsql record.
22 --
23 -- NOTES
24 --
25 -- MODIFICATION HISTORY
26 --
27 -- 14-DEC-2004 Arnold Ng Created.
28
29 PROCEDURE assign_phone_rec(
30 p_phone_obj IN HZ_PHONE_CP_BO,
31 p_owner_table_id IN NUMBER,
32 p_owner_table_name IN VARCHAR2,
33 p_cp_id IN NUMBER,
34 p_cp_os IN VARCHAR2,
35 p_cp_osr IN VARCHAR2,
36 p_cp_type IN VARCHAR2,
37 p_create_or_update IN VARCHAR2 := 'C',
38 px_phone_rec IN OUT NOCOPY HZ_CONTACT_POINT_V2PUB.PHONE_REC_TYPE,
39 px_contact_point_rec IN OUT NOCOPY HZ_CONTACT_POINT_V2PUB.CONTACT_POINT_REC_TYPE
40 );
41
42 -- PRIVATE PROCEDURE assign_telex_rec
43 --
44 -- DESCRIPTION
45 -- Assign attribute value from telex business object to plsql record.
46 --
47 -- ARGUMENTS
48 -- IN:
49 -- p_telex_obj Telex business object.
50 -- p_owner_table_id Owner table Id.
51 -- p_owner_table_name Owner table name.
52 -- p_cp_id Contact point Id.
53 -- p_cp_os Contact point original system.
54 -- p_cp_osr Contact point original system reference.
55 -- p_cp_type Contact point type.
56 -- p_created_by_module Created by module.
57 -- IN/OUT:
58 -- px_telex_rec Telex plsql record.
59 -- px_contact_point_rec Contact point plsql record.
60 --
61 -- NOTES
62 --
63 -- MODIFICATION HISTORY
64 --
65 -- 14-DEC-2004 Arnold Ng Created.
66
67 PROCEDURE assign_telex_rec(
68 p_telex_obj IN HZ_TELEX_CP_BO,
69 p_owner_table_id IN NUMBER,
70 p_owner_table_name IN VARCHAR2,
71 p_cp_id IN NUMBER,
72 p_cp_os IN VARCHAR2,
73 p_cp_osr IN VARCHAR2,
74 p_cp_type IN VARCHAR2,
75 p_create_or_update IN VARCHAR2 := 'C',
76 px_telex_rec IN OUT NOCOPY HZ_CONTACT_POINT_V2PUB.TELEX_REC_TYPE,
77 px_contact_point_rec IN OUT NOCOPY HZ_CONTACT_POINT_V2PUB.CONTACT_POINT_REC_TYPE
78 );
79
80 -- PRIVATE PROCEDURE assign_email_rec
81 --
82 -- DESCRIPTION
83 -- Assign attribute value from email business object to plsql record.
84 --
85 -- ARGUMENTS
86 -- IN:
87 -- p_email_obj Email business object.
88 -- p_owner_table_id Owner table Id.
89 -- p_owner_table_name Owner table name.
90 -- p_cp_id Contact point Id.
91 -- p_cp_os Contact point original system.
92 -- p_cp_osr Contact point original system reference.
93 -- p_cp_type Contact point type.
94 -- p_created_by_module Created by module.
95 -- IN/OUT:
96 -- px_email_rec Email plsql record.
97 -- px_contact_point_rec Contact point plsql record.
98 --
99 -- NOTES
100 --
101 -- MODIFICATION HISTORY
102 --
103 -- 14-DEC-2004 Arnold Ng Created.
104
105 PROCEDURE assign_email_rec(
106 p_email_obj IN HZ_EMAIL_CP_BO,
107 p_owner_table_id IN NUMBER,
108 p_owner_table_name IN VARCHAR2,
109 p_cp_id IN NUMBER,
110 p_cp_os IN VARCHAR2,
111 p_cp_osr IN VARCHAR2,
112 p_cp_type IN VARCHAR2,
113 p_create_or_update IN VARCHAR2 := 'C',
114 px_email_rec IN OUT NOCOPY HZ_CONTACT_POINT_V2PUB.EMAIL_REC_TYPE,
115 px_contact_point_rec IN OUT NOCOPY HZ_CONTACT_POINT_V2PUB.CONTACT_POINT_REC_TYPE
116 );
117
118 -- PRIVATE PROCEDURE assign_web_rec
119 --
120 -- DESCRIPTION
121 -- Assign attribute value from web business object to plsql record.
122 --
123 -- ARGUMENTS
124 -- IN:
125 -- p_web_obj Web business object.
126 -- p_owner_table_id Owner table Id.
127 -- p_owner_table_name Owner table name.
128 -- p_cp_id Contact point Id.
129 -- p_cp_os Contact point original system.
130 -- p_cp_osr Contact point original system reference.
131 -- p_cp_type Contact point type.
132 -- p_created_by_module Created by module.
133 -- IN/OUT:
134 -- px_web_rec Web plsql record.
135 -- px_contact_point_rec Contact point plsql record.
136 --
137 -- NOTES
138 --
139 -- MODIFICATION HISTORY
140 --
141 -- 14-DEC-2004 Arnold Ng Created.
142
143 PROCEDURE assign_web_rec(
144 p_web_obj IN HZ_WEB_CP_BO,
145 p_owner_table_id IN NUMBER,
146 p_owner_table_name IN VARCHAR2,
147 p_cp_id IN NUMBER,
148 p_cp_os IN VARCHAR2,
149 p_cp_osr IN VARCHAR2,
150 p_cp_type IN VARCHAR2,
151 p_create_or_update IN VARCHAR2 := 'C',
152 px_web_rec IN OUT NOCOPY HZ_CONTACT_POINT_V2PUB.WEB_REC_TYPE,
153 px_contact_point_rec IN OUT NOCOPY HZ_CONTACT_POINT_V2PUB.CONTACT_POINT_REC_TYPE
154 );
155
156 -- PRIVATE PROCEDURE assign_edi_rec
157 --
158 -- DESCRIPTION
159 -- Assign attribute value from edi business object to plsql record.
160 --
161 -- ARGUMENTS
162 -- IN:
163 -- p_edi_obj EDI business object.
164 -- p_owner_table_id Owner table Id.
165 -- p_owner_table_name Owner table name.
166 -- p_cp_id Contact point Id.
167 -- p_cp_os Contact point original system.
168 -- p_cp_osr Contact point original system reference.
169 -- p_cp_type Contact point type.
170 -- p_created_by_module Created by module.
171 -- IN/OUT:
172 -- px_edi_rec EDI plsql record.
173 -- px_contact_point_rec Contact point plsql record.
174 --
175 -- NOTES
176 --
177 -- MODIFICATION HISTORY
178 --
179 -- 14-DEC-2004 Arnold Ng Created.
180
181 PROCEDURE assign_edi_rec(
182 p_edi_obj IN HZ_EDI_CP_BO,
183 p_owner_table_id IN NUMBER,
184 p_owner_table_name IN VARCHAR2,
185 p_cp_id IN NUMBER,
186 p_cp_os IN VARCHAR2,
187 p_cp_osr IN VARCHAR2,
188 p_cp_type IN VARCHAR2,
189 p_create_or_update IN VARCHAR2 := 'C',
190 px_edi_rec IN OUT NOCOPY HZ_CONTACT_POINT_V2PUB.EDI_REC_TYPE,
191 px_contact_point_rec IN OUT NOCOPY HZ_CONTACT_POINT_V2PUB.CONTACT_POINT_REC_TYPE
192 );
193
194 -- PRIVATE PROCEDURE assign_eft_rec
195 --
196 -- DESCRIPTION
197 -- Assign attribute value from eft business object to plsql record.
198 --
199 -- ARGUMENTS
200 -- IN:
201 -- p_eft_obj EFT business object.
202 -- p_owner_table_id Owner table Id.
203 -- p_owner_table_name Owner table name.
204 -- p_cp_id Contact point Id.
205 -- p_cp_os Contact point original system.
206 -- p_cp_osr Contact point original system reference.
207 -- p_cp_type Contact point type.
208 -- p_created_by_module Created by module.
209 -- IN/OUT:
210 -- px_eft_rec EFT plsql record.
211 -- px_contact_point_rec Contact point plsql record.
212 --
213 -- NOTES
214 --
215 -- MODIFICATION HISTORY
216 --
217 -- 14-DEC-2004 Arnold Ng Created.
218
219 PROCEDURE assign_eft_rec(
220 p_eft_obj IN HZ_EFT_CP_BO,
221 p_owner_table_id IN NUMBER,
222 p_owner_table_name IN VARCHAR2,
223 p_cp_id IN NUMBER,
224 p_cp_os IN VARCHAR2,
225 p_cp_osr IN VARCHAR2,
226 p_cp_type IN VARCHAR2,
227 p_create_or_update IN VARCHAR2 := 'C',
228 px_eft_rec IN OUT NOCOPY HZ_CONTACT_POINT_V2PUB.EFT_REC_TYPE,
229 px_contact_point_rec IN OUT NOCOPY HZ_CONTACT_POINT_V2PUB.CONTACT_POINT_REC_TYPE
230 );
231
232 -- PRIVATE PROCEDURE assign_sms_rec
233 --
234 -- DESCRIPTION
235 -- Assign attribute value from sms business object to plsql record.
236 --
237 -- ARGUMENTS
238 -- IN:
239 -- p_sms_obj SMS business object.
240 -- p_owner_table_id Owner table Id.
241 -- p_owner_table_name Owner table name.
242 -- p_cp_id Contact point Id.
243 -- p_cp_os Contact point original system.
244 -- p_cp_osr Contact point original system reference.
245 -- p_cp_type Contact point type.
246 -- p_created_by_module Created by module.
247 -- IN/OUT:
248 -- px_sms_rec SMS plsql record.
249 -- px_contact_point_rec Contact point plsql record.
250 --
251 -- NOTES
252 --
253 -- MODIFICATION HISTORY
254 --
255 -- 14-DEC-2004 Arnold Ng Created.
256
257 PROCEDURE assign_sms_rec(
258 p_sms_obj IN HZ_SMS_CP_BO,
259 p_owner_table_id IN NUMBER,
260 p_owner_table_name IN VARCHAR2,
261 p_cp_id IN NUMBER,
262 p_cp_os IN VARCHAR2,
263 p_cp_osr IN VARCHAR2,
264 p_cp_type IN VARCHAR2,
265 p_create_or_update IN VARCHAR2 := 'C',
266 px_sms_rec IN OUT NOCOPY HZ_CONTACT_POINT_V2PUB.PHONE_REC_TYPE,
267 px_contact_point_rec IN OUT NOCOPY HZ_CONTACT_POINT_V2PUB.CONTACT_POINT_REC_TYPE
268 );
269
270 -- PROCEDURE create_phone_bo
271 --
272 -- DESCRIPTION
273 -- Create a logical phone contact point.
274 PROCEDURE create_phone_bo(
275 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
276 p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
277 p_phone_obj IN HZ_PHONE_CP_BO,
278 p_created_by_module IN VARCHAR2,
279 x_return_status OUT NOCOPY VARCHAR2,
280 x_msg_count OUT NOCOPY NUMBER,
281 x_msg_data OUT NOCOPY VARCHAR2,
282 x_phone_id OUT NOCOPY NUMBER,
286 px_parent_os IN OUT NOCOPY VARCHAR2,
283 x_phone_os OUT NOCOPY VARCHAR2,
284 x_phone_osr OUT NOCOPY VARCHAR2,
285 px_parent_id IN OUT NOCOPY NUMBER,
287 px_parent_osr IN OUT NOCOPY VARCHAR2,
288 px_parent_obj_type IN OUT NOCOPY VARCHAR2
289 ) IS
290 l_phone_obj HZ_PHONE_CP_BO;
291 BEGIN
292 l_phone_obj := p_phone_obj;
293 do_create_contact_point (
294 p_init_msg_list => p_init_msg_list,
295 p_validate_bo_flag => p_validate_bo_flag,
296 p_cp_id => l_phone_obj.phone_id,
297 p_cp_os => l_phone_obj.orig_system,
298 p_cp_osr => l_phone_obj.orig_system_reference,
299 p_phone_obj => l_phone_obj,
300 p_email_obj => NULL,
301 p_telex_obj => NULL,
302 p_web_obj => NULL,
303 p_edi_obj => NULL,
304 p_eft_obj => NULL,
305 p_sms_obj => NULL,
306 p_cp_pref_objs => l_phone_obj.contact_pref_objs,
307 p_cp_type => 'PHONE',
308 p_created_by_module => p_created_by_module,
309 p_obj_source => null,
310 x_return_status => x_return_status,
311 x_msg_count => x_msg_count,
312 x_msg_data => x_msg_data,
313 x_cp_id => x_phone_id,
314 x_cp_os => x_phone_os,
315 x_cp_osr => x_phone_osr,
316 px_parent_id => px_parent_id,
317 px_parent_os => px_parent_os,
318 px_parent_osr => px_parent_osr,
319 px_parent_obj_type => px_parent_obj_type
320 );
321 END create_phone_bo;
322
323 PROCEDURE create_phone_bo(
324 p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
325 p_phone_obj IN HZ_PHONE_CP_BO,
326 p_created_by_module IN VARCHAR2,
327 p_obj_source IN VARCHAR2 := null,
328 p_return_obj_flag IN VARCHAR2 := fnd_api.g_true,
329 x_return_status OUT NOCOPY VARCHAR2,
330 x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL,
331 x_return_obj OUT NOCOPY HZ_PHONE_CP_BO,
332 x_phone_id OUT NOCOPY NUMBER,
333 x_phone_os OUT NOCOPY VARCHAR2,
334 x_phone_osr OUT NOCOPY VARCHAR2,
335 px_parent_id IN OUT NOCOPY NUMBER,
336 px_parent_os IN OUT NOCOPY VARCHAR2,
337 px_parent_osr IN OUT NOCOPY VARCHAR2,
338 px_parent_obj_type IN OUT NOCOPY VARCHAR2
339 ) IS
340 l_msg_count NUMBER;
341 l_msg_data VARCHAR2(2000);
342 l_phone_obj HZ_PHONE_CP_BO;
343 BEGIN
344 l_phone_obj := p_phone_obj;
345 do_create_contact_point (
346 p_init_msg_list => fnd_api.g_true,
347 p_validate_bo_flag => p_validate_bo_flag,
348 p_cp_id => l_phone_obj.phone_id,
349 p_cp_os => l_phone_obj.orig_system,
350 p_cp_osr => l_phone_obj.orig_system_reference,
351 p_phone_obj => l_phone_obj,
352 p_email_obj => NULL,
353 p_telex_obj => NULL,
354 p_web_obj => NULL,
355 p_edi_obj => NULL,
356 p_eft_obj => NULL,
357 p_sms_obj => NULL,
358 p_cp_pref_objs => l_phone_obj.contact_pref_objs,
359 p_cp_type => 'PHONE',
360 p_created_by_module => p_created_by_module,
361 p_obj_source => p_obj_source,
362 x_return_status => x_return_status,
363 x_msg_count => l_msg_count,
364 x_msg_data => l_msg_data,
365 x_cp_id => x_phone_id,
366 x_cp_os => x_phone_os,
367 x_cp_osr => x_phone_osr,
368 px_parent_id => px_parent_id,
369 px_parent_os => px_parent_os,
370 px_parent_osr => px_parent_osr,
371 px_parent_obj_type => px_parent_obj_type
372 );
373 l_phone_obj.phone_id := x_phone_id;
374 x_messages := HZ_PARTY_BO_PVT.return_all_messages(
375 x_return_status => x_return_status,
376 x_msg_count => l_msg_count,
377 x_msg_data => l_msg_data);
378 IF FND_API.to_Boolean(p_return_obj_flag) THEN
379 x_return_obj := l_phone_obj;
380 END IF;
381 END create_phone_bo;
382
383 -- PROCEDURE create_telex_bo
384 --
385 -- DESCRIPTION
386 -- Create a logical telex contact point.
387 PROCEDURE create_telex_bo(
388 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
389 p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
390 p_telex_obj IN HZ_TELEX_CP_BO,
391 p_created_by_module IN VARCHAR2,
392 x_return_status OUT NOCOPY VARCHAR2,
393 x_msg_count OUT NOCOPY NUMBER,
394 x_msg_data OUT NOCOPY VARCHAR2,
395 x_telex_id OUT NOCOPY NUMBER,
396 x_telex_os OUT NOCOPY VARCHAR2,
397 x_telex_osr OUT NOCOPY VARCHAR2,
398 px_parent_id IN OUT NOCOPY NUMBER,
399 px_parent_os IN OUT NOCOPY VARCHAR2,
400 px_parent_osr IN OUT NOCOPY VARCHAR2,
401 px_parent_obj_type IN OUT NOCOPY VARCHAR2
402 ) IS
403 l_telex_obj HZ_TELEX_CP_BO;
404 BEGIN
405 l_telex_obj := p_telex_obj;
406 do_create_contact_point (
407 p_init_msg_list => p_init_msg_list,
408 p_validate_bo_flag => p_validate_bo_flag,
409 p_cp_id => l_telex_obj.telex_id,
413 p_email_obj => NULL,
410 p_cp_os => l_telex_obj.orig_system,
411 p_cp_osr => l_telex_obj.orig_system_reference,
412 p_phone_obj => NULL,
414 p_telex_obj => l_telex_obj,
415 p_web_obj => NULL,
416 p_edi_obj => NULL,
417 p_eft_obj => NULL,
418 p_sms_obj => NULL,
419 p_cp_pref_objs => l_telex_obj.contact_pref_objs,
420 p_cp_type => 'TLX',
421 p_created_by_module => p_created_by_module,
422 p_obj_source => null,
423 x_return_status => x_return_status,
424 x_msg_count => x_msg_count,
425 x_msg_data => x_msg_data,
426 x_cp_id => x_telex_id,
427 x_cp_os => x_telex_os,
428 x_cp_osr => x_telex_osr,
429 px_parent_id => px_parent_id,
430 px_parent_os => px_parent_os,
431 px_parent_osr => px_parent_osr,
432 px_parent_obj_type => px_parent_obj_type
433 );
434 END create_telex_bo;
435
436 PROCEDURE create_telex_bo(
437 p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
438 p_telex_obj IN HZ_TELEX_CP_BO,
439 p_created_by_module IN VARCHAR2,
440 p_obj_source IN VARCHAR2 := null,
441 p_return_obj_flag IN VARCHAR2 := fnd_api.g_true,
442 x_return_status OUT NOCOPY VARCHAR2,
443 x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL,
444 x_return_obj OUT NOCOPY HZ_TELEX_CP_BO,
445 x_telex_id OUT NOCOPY NUMBER,
446 x_telex_os OUT NOCOPY VARCHAR2,
447 x_telex_osr OUT NOCOPY VARCHAR2,
448 px_parent_id IN OUT NOCOPY NUMBER,
449 px_parent_os IN OUT NOCOPY VARCHAR2,
450 px_parent_osr IN OUT NOCOPY VARCHAR2,
451 px_parent_obj_type IN OUT NOCOPY VARCHAR2
452 ) IS
453 l_msg_data VARCHAR2(2000);
454 l_msg_count NUMBER;
455 l_telex_obj HZ_TELEX_CP_BO;
456 BEGIN
457 l_telex_obj := p_telex_obj;
458 do_create_contact_point (
459 p_init_msg_list => fnd_api.g_true,
460 p_validate_bo_flag => p_validate_bo_flag,
461 p_cp_id => l_telex_obj.telex_id,
462 p_cp_os => l_telex_obj.orig_system,
463 p_cp_osr => l_telex_obj.orig_system_reference,
464 p_phone_obj => NULL,
465 p_email_obj => NULL,
466 p_telex_obj => l_telex_obj,
467 p_web_obj => NULL,
468 p_edi_obj => NULL,
469 p_eft_obj => NULL,
470 p_sms_obj => NULL,
471 p_cp_pref_objs => l_telex_obj.contact_pref_objs,
472 p_cp_type => 'TLX',
473 p_created_by_module => p_created_by_module,
474 p_obj_source => p_obj_source,
475 x_return_status => x_return_status,
476 x_msg_count => l_msg_count,
477 x_msg_data => l_msg_data,
478 x_cp_id => x_telex_id,
479 x_cp_os => x_telex_os,
480 x_cp_osr => x_telex_osr,
481 px_parent_id => px_parent_id,
482 px_parent_os => px_parent_os,
483 px_parent_osr => px_parent_osr,
484 px_parent_obj_type => px_parent_obj_type
485 );
486 l_telex_obj.telex_id := x_telex_id;
487 x_messages := HZ_PARTY_BO_PVT.return_all_messages(
488 x_return_status => x_return_status,
489 x_msg_count => l_msg_count,
490 x_msg_data => l_msg_data);
491 IF FND_API.to_Boolean(p_return_obj_flag) THEN
492 x_return_obj := l_telex_obj;
493 END IF;
494 END create_telex_bo;
495
496 -- PROCEDURE create_email_bo
497 --
498 -- DESCRIPTION
499 -- Create a logical email contact point.
500 PROCEDURE create_email_bo(
501 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
502 p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
503 p_email_obj IN HZ_EMAIL_CP_BO,
504 p_created_by_module IN VARCHAR2,
505 x_return_status OUT NOCOPY VARCHAR2,
506 x_msg_count OUT NOCOPY NUMBER,
507 x_msg_data OUT NOCOPY VARCHAR2,
508 x_email_id OUT NOCOPY NUMBER,
509 x_email_os OUT NOCOPY VARCHAR2,
510 x_email_osr OUT NOCOPY VARCHAR2,
511 px_parent_id IN OUT NOCOPY NUMBER,
512 px_parent_os IN OUT NOCOPY VARCHAR2,
513 px_parent_osr IN OUT NOCOPY VARCHAR2,
514 px_parent_obj_type IN OUT NOCOPY VARCHAR2
515 ) IS
516 l_email_obj HZ_EMAIL_CP_BO;
517 BEGIN
518 l_email_obj := p_email_obj;
519 do_create_contact_point (
520 p_init_msg_list => p_init_msg_list,
521 p_validate_bo_flag => p_validate_bo_flag,
522 p_cp_id => l_email_obj.email_id,
523 p_cp_os => l_email_obj.orig_system,
524 p_cp_osr => l_email_obj.orig_system_reference,
525 p_phone_obj => NULL,
526 p_email_obj => l_email_obj,
527 p_telex_obj => NULL,
528 p_web_obj => NULL,
529 p_edi_obj => NULL,
530 p_eft_obj => NULL,
531 p_sms_obj => NULL,
532 p_cp_pref_objs => l_email_obj.contact_pref_objs,
533 p_cp_type => 'EMAIL',
534 p_created_by_module => p_created_by_module,
535 p_obj_source => null,
536 x_return_status => x_return_status,
540 x_cp_os => x_email_os,
537 x_msg_count => x_msg_count,
538 x_msg_data => x_msg_data,
539 x_cp_id => x_email_id,
541 x_cp_osr => x_email_osr,
542 px_parent_id => px_parent_id,
543 px_parent_os => px_parent_os,
544 px_parent_osr => px_parent_osr,
545 px_parent_obj_type => px_parent_obj_type);
546 END create_email_bo;
547
548 PROCEDURE create_email_bo(
549 p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
550 p_email_obj IN HZ_EMAIL_CP_BO,
551 p_created_by_module IN VARCHAR2,
552 p_obj_source IN VARCHAR2 := null,
553 p_return_obj_flag IN VARCHAR2 := fnd_api.g_true,
554 x_return_status OUT NOCOPY VARCHAR2,
555 x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL,
556 x_return_obj OUT NOCOPY HZ_EMAIL_CP_BO,
557 x_email_id OUT NOCOPY NUMBER,
558 x_email_os OUT NOCOPY VARCHAR2,
559 x_email_osr OUT NOCOPY VARCHAR2,
560 px_parent_id IN OUT NOCOPY NUMBER,
561 px_parent_os IN OUT NOCOPY VARCHAR2,
562 px_parent_osr IN OUT NOCOPY VARCHAR2,
563 px_parent_obj_type IN OUT NOCOPY VARCHAR2
564 ) IS
565 l_msg_data VARCHAR2(2000);
566 l_msg_count NUMBER;
567 l_email_obj HZ_EMAIL_CP_BO;
568 BEGIN
569 l_email_obj := p_email_obj;
570 do_create_contact_point (
571 p_init_msg_list => fnd_api.g_true,
572 p_validate_bo_flag => p_validate_bo_flag,
573 p_cp_id => l_email_obj.email_id,
574 p_cp_os => l_email_obj.orig_system,
575 p_cp_osr => l_email_obj.orig_system_reference,
576 p_phone_obj => NULL,
577 p_email_obj => l_email_obj,
578 p_telex_obj => NULL,
579 p_web_obj => NULL,
580 p_edi_obj => NULL,
581 p_eft_obj => NULL,
582 p_sms_obj => NULL,
583 p_cp_pref_objs => l_email_obj.contact_pref_objs,
584 p_cp_type => 'EMAIL',
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_cp_id => x_email_id,
591 x_cp_os => x_email_os,
592 x_cp_osr => x_email_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 l_email_obj.email_id := x_email_id;
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_email_obj;
604 END IF;
605 END create_email_bo;
606
607 -- PROCEDURE create_web_bo
608 --
609 -- DESCRIPTION
610 -- Create a logical web contact point.
611 PROCEDURE create_web_bo(
612 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
613 p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
614 p_web_obj IN HZ_WEB_CP_BO,
615 p_created_by_module IN VARCHAR2,
616 x_return_status OUT NOCOPY VARCHAR2,
617 x_msg_count OUT NOCOPY NUMBER,
618 x_msg_data OUT NOCOPY VARCHAR2,
619 x_web_id OUT NOCOPY NUMBER,
620 x_web_os OUT NOCOPY VARCHAR2,
621 x_web_osr OUT NOCOPY VARCHAR2,
622 px_parent_id IN OUT NOCOPY NUMBER,
623 px_parent_os IN OUT NOCOPY VARCHAR2,
624 px_parent_osr IN OUT NOCOPY VARCHAR2,
625 px_parent_obj_type IN OUT NOCOPY VARCHAR2
626 ) IS
627 l_web_obj HZ_WEB_CP_BO;
628 BEGIN
629 l_web_obj := p_web_obj;
630 do_create_contact_point (
631 p_init_msg_list => p_init_msg_list,
632 p_validate_bo_flag => p_validate_bo_flag,
633 p_cp_id => l_web_obj.web_id,
634 p_cp_os => l_web_obj.orig_system,
635 p_cp_osr => l_web_obj.orig_system_reference,
636 p_phone_obj => NULL,
637 p_email_obj => NULL,
638 p_telex_obj => NULL,
639 p_web_obj => l_web_obj,
640 p_edi_obj => NULL,
641 p_eft_obj => NULL,
642 p_sms_obj => NULL,
643 p_cp_pref_objs => l_web_obj.contact_pref_objs,
644 p_cp_type => 'WEB',
645 p_created_by_module => p_created_by_module,
646 p_obj_source => null,
647 x_return_status => x_return_status,
648 x_msg_count => x_msg_count,
649 x_msg_data => x_msg_data,
650 x_cp_id => x_web_id,
651 x_cp_os => x_web_os,
652 x_cp_osr => x_web_osr,
653 px_parent_id => px_parent_id,
654 px_parent_os => px_parent_os,
655 px_parent_osr => px_parent_osr,
656 px_parent_obj_type => px_parent_obj_type);
657 END create_web_bo;
658
659 PROCEDURE create_web_bo(
660 p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
661 p_web_obj IN HZ_WEB_CP_BO,
662 p_created_by_module IN VARCHAR2,
666 x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL,
663 p_obj_source IN VARCHAR2 := null,
664 p_return_obj_flag IN VARCHAR2 := fnd_api.g_true,
665 x_return_status OUT NOCOPY VARCHAR2,
667 x_return_obj OUT NOCOPY HZ_WEB_CP_BO,
668 x_web_id OUT NOCOPY NUMBER,
669 x_web_os OUT NOCOPY VARCHAR2,
670 x_web_osr OUT NOCOPY VARCHAR2,
671 px_parent_id IN OUT NOCOPY NUMBER,
672 px_parent_os IN OUT NOCOPY VARCHAR2,
673 px_parent_osr IN OUT NOCOPY VARCHAR2,
674 px_parent_obj_type IN OUT NOCOPY VARCHAR2
675 ) IS
676 l_msg_data VARCHAR2(2000);
677 l_msg_count NUMBER;
678 l_web_obj HZ_WEB_CP_BO;
679 BEGIN
680 l_web_obj := p_web_obj;
681 do_create_contact_point (
682 p_init_msg_list => fnd_api.g_true,
683 p_validate_bo_flag => p_validate_bo_flag,
684 p_cp_id => l_web_obj.web_id,
685 p_cp_os => l_web_obj.orig_system,
686 p_cp_osr => l_web_obj.orig_system_reference,
687 p_phone_obj => NULL,
688 p_email_obj => NULL,
689 p_telex_obj => NULL,
690 p_web_obj => l_web_obj,
691 p_edi_obj => NULL,
692 p_eft_obj => NULL,
693 p_sms_obj => NULL,
694 p_cp_pref_objs => l_web_obj.contact_pref_objs,
695 p_cp_type => 'WEB',
696 p_created_by_module => p_created_by_module,
697 p_obj_source => p_obj_source,
698 x_return_status => x_return_status,
699 x_msg_count => l_msg_count,
700 x_msg_data => l_msg_data,
701 x_cp_id => x_web_id,
702 x_cp_os => x_web_os,
703 x_cp_osr => x_web_osr,
704 px_parent_id => px_parent_id,
705 px_parent_os => px_parent_os,
706 px_parent_osr => px_parent_osr,
707 px_parent_obj_type => px_parent_obj_type);
708 l_web_obj.web_id := x_web_id;
709 x_messages := HZ_PARTY_BO_PVT.return_all_messages(
710 x_return_status => x_return_status,
711 x_msg_count => l_msg_count,
712 x_msg_data => l_msg_data);
713 IF FND_API.to_Boolean(p_return_obj_flag) THEN
714 x_return_obj := l_web_obj;
715 END IF;
716 END create_web_bo;
717
718 -- PROCEDURE create_edi_bo
719 --
720 -- DESCRIPTION
721 -- Create a logical edi contact point.
722 PROCEDURE create_edi_bo(
723 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
724 p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
725 p_edi_obj IN HZ_EDI_CP_BO,
726 p_created_by_module IN VARCHAR2,
727 x_return_status OUT NOCOPY VARCHAR2,
728 x_msg_count OUT NOCOPY NUMBER,
729 x_msg_data OUT NOCOPY VARCHAR2,
730 x_edi_id OUT NOCOPY NUMBER,
731 x_edi_os OUT NOCOPY VARCHAR2,
732 x_edi_osr OUT NOCOPY VARCHAR2,
733 px_parent_id IN OUT NOCOPY NUMBER,
734 px_parent_os IN OUT NOCOPY VARCHAR2,
735 px_parent_osr IN OUT NOCOPY VARCHAR2,
736 px_parent_obj_type IN OUT NOCOPY VARCHAR2
737 ) IS
738 l_edi_obj HZ_EDI_CP_BO;
739 BEGIN
740 l_edi_obj := p_edi_obj;
741 do_create_contact_point (
742 p_init_msg_list => p_init_msg_list,
743 p_validate_bo_flag => p_validate_bo_flag,
744 p_cp_id => l_edi_obj.edi_id,
745 p_cp_os => l_edi_obj.orig_system,
746 p_cp_osr => l_edi_obj.orig_system_reference,
747 p_phone_obj => NULL,
748 p_email_obj => NULL,
749 p_telex_obj => NULL,
750 p_web_obj => NULL,
751 p_edi_obj => l_edi_obj,
752 p_eft_obj => NULL,
753 p_sms_obj => NULL,
754 p_cp_pref_objs => l_edi_obj.contact_pref_objs,
755 p_cp_type => 'EDI',
756 p_created_by_module => p_created_by_module,
757 p_obj_source => null,
758 x_return_status => x_return_status,
759 x_msg_count => x_msg_count,
760 x_msg_data => x_msg_data,
761 x_cp_id => x_edi_id,
762 x_cp_os => x_edi_os,
763 x_cp_osr => x_edi_osr,
764 px_parent_id => px_parent_id,
765 px_parent_os => px_parent_os,
766 px_parent_osr => px_parent_osr,
767 px_parent_obj_type => px_parent_obj_type);
768 END create_edi_bo;
769
770 PROCEDURE create_edi_bo(
771 p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
772 p_edi_obj IN HZ_EDI_CP_BO,
773 p_created_by_module IN VARCHAR2,
774 p_obj_source IN VARCHAR2 := null,
775 p_return_obj_flag IN VARCHAR2 := fnd_api.g_true,
776 x_return_status OUT NOCOPY VARCHAR2,
777 x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL,
778 x_return_obj OUT NOCOPY HZ_EDI_CP_BO,
779 x_edi_id OUT NOCOPY NUMBER,
780 x_edi_os OUT NOCOPY VARCHAR2,
781 x_edi_osr OUT NOCOPY VARCHAR2,
782 px_parent_id IN OUT NOCOPY NUMBER,
783 px_parent_os IN OUT NOCOPY VARCHAR2,
784 px_parent_osr IN OUT NOCOPY VARCHAR2,
785 px_parent_obj_type IN OUT NOCOPY VARCHAR2
786 ) IS
787 l_msg_data VARCHAR2(2000);
788 l_msg_count NUMBER;
792 do_create_contact_point (
789 l_edi_obj HZ_EDI_CP_BO;
790 BEGIN
791 l_edi_obj := p_edi_obj;
793 p_init_msg_list => fnd_api.g_true,
794 p_validate_bo_flag => p_validate_bo_flag,
795 p_cp_id => l_edi_obj.edi_id,
796 p_cp_os => l_edi_obj.orig_system,
797 p_cp_osr => l_edi_obj.orig_system_reference,
798 p_phone_obj => NULL,
799 p_email_obj => NULL,
800 p_telex_obj => NULL,
801 p_web_obj => NULL,
802 p_edi_obj => l_edi_obj,
803 p_eft_obj => NULL,
804 p_sms_obj => NULL,
805 p_cp_pref_objs => l_edi_obj.contact_pref_objs,
806 p_cp_type => 'EDI',
807 p_created_by_module => p_created_by_module,
808 p_obj_source => p_obj_source,
809 x_return_status => x_return_status,
810 x_msg_count => l_msg_count,
811 x_msg_data => l_msg_data,
812 x_cp_id => x_edi_id,
813 x_cp_os => x_edi_os,
814 x_cp_osr => x_edi_osr,
815 px_parent_id => px_parent_id,
816 px_parent_os => px_parent_os,
817 px_parent_osr => px_parent_osr,
818 px_parent_obj_type => px_parent_obj_type);
819 l_edi_obj.edi_id := x_edi_id;
820 x_messages := HZ_PARTY_BO_PVT.return_all_messages(
821 x_return_status => x_return_status,
822 x_msg_count => l_msg_count,
823 x_msg_data => l_msg_data);
824 IF FND_API.to_Boolean(p_return_obj_flag) THEN
825 x_return_obj := l_edi_obj;
826 END IF;
827 END create_edi_bo;
828
829 -- PROCEDURE create_eft_bo
830 --
831 -- DESCRIPTION
832 -- Create a logical eft contact point.
833 PROCEDURE create_eft_bo(
834 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
835 p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
836 p_eft_obj IN HZ_EFT_CP_BO,
837 p_created_by_module IN VARCHAR2,
838 x_return_status OUT NOCOPY VARCHAR2,
839 x_msg_count OUT NOCOPY NUMBER,
840 x_msg_data OUT NOCOPY VARCHAR2,
841 x_eft_id OUT NOCOPY NUMBER,
842 x_eft_os OUT NOCOPY VARCHAR2,
843 x_eft_osr OUT NOCOPY VARCHAR2,
844 px_parent_id IN OUT NOCOPY NUMBER,
845 px_parent_os IN OUT NOCOPY VARCHAR2,
846 px_parent_osr IN OUT NOCOPY VARCHAR2,
847 px_parent_obj_type IN OUT NOCOPY VARCHAR2
848 ) IS
849 l_eft_obj HZ_EFT_CP_BO;
850 BEGIN
851 l_eft_obj := p_eft_obj;
852 do_create_contact_point (
853 p_init_msg_list => p_init_msg_list,
854 p_validate_bo_flag => p_validate_bo_flag,
855 p_cp_id => l_eft_obj.eft_id,
856 p_cp_os => l_eft_obj.orig_system,
857 p_cp_osr => l_eft_obj.orig_system_reference,
858 p_phone_obj => NULL,
859 p_email_obj => NULL,
860 p_telex_obj => NULL,
861 p_web_obj => NULL,
862 p_edi_obj => NULL,
863 p_eft_obj => l_eft_obj,
864 p_sms_obj => NULL,
865 p_cp_pref_objs => l_eft_obj.contact_pref_objs,
866 p_cp_type => 'EFT',
867 p_created_by_module => p_created_by_module,
868 p_obj_source => null,
869 x_return_status => x_return_status,
870 x_msg_count => x_msg_count,
871 x_msg_data => x_msg_data,
872 x_cp_id => x_eft_id,
873 x_cp_os => x_eft_os,
874 x_cp_osr => x_eft_osr,
875 px_parent_id => px_parent_id,
876 px_parent_os => px_parent_os,
877 px_parent_osr => px_parent_osr,
878 px_parent_obj_type => px_parent_obj_type);
879 END create_eft_bo;
880
881 PROCEDURE create_eft_bo(
882 p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
883 p_eft_obj IN HZ_EFT_CP_BO,
884 p_created_by_module IN VARCHAR2,
885 p_obj_source IN VARCHAR2 := null,
886 p_return_obj_flag IN VARCHAR2 := fnd_api.g_true,
887 x_return_status OUT NOCOPY VARCHAR2,
888 x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL,
889 x_return_obj OUT NOCOPY HZ_EFT_CP_BO,
890 x_eft_id OUT NOCOPY NUMBER,
891 x_eft_os OUT NOCOPY VARCHAR2,
892 x_eft_osr OUT NOCOPY VARCHAR2,
893 px_parent_id IN OUT NOCOPY NUMBER,
894 px_parent_os IN OUT NOCOPY VARCHAR2,
895 px_parent_osr IN OUT NOCOPY VARCHAR2,
896 px_parent_obj_type IN OUT NOCOPY VARCHAR2
897 ) IS
898 l_msg_data VARCHAR2(2000);
899 l_msg_count NUMBER;
900 l_eft_obj HZ_EFT_CP_BO;
901 BEGIN
902 l_eft_obj := p_eft_obj;
903 do_create_contact_point (
904 p_init_msg_list => fnd_api.g_true,
905 p_validate_bo_flag => p_validate_bo_flag,
906 p_cp_id => l_eft_obj.eft_id,
907 p_cp_os => l_eft_obj.orig_system,
908 p_cp_osr => l_eft_obj.orig_system_reference,
909 p_phone_obj => NULL,
910 p_email_obj => NULL,
911 p_telex_obj => NULL,
912 p_web_obj => NULL,
913 p_edi_obj => NULL,
914 p_eft_obj => l_eft_obj,
915 p_sms_obj => NULL,
916 p_cp_pref_objs => l_eft_obj.contact_pref_objs,
920 x_return_status => x_return_status,
917 p_cp_type => 'EFT',
918 p_created_by_module => p_created_by_module,
919 p_obj_source => p_obj_source,
921 x_msg_count => l_msg_count,
922 x_msg_data => l_msg_data,
923 x_cp_id => x_eft_id,
924 x_cp_os => x_eft_os,
925 x_cp_osr => x_eft_osr,
926 px_parent_id => px_parent_id,
927 px_parent_os => px_parent_os,
928 px_parent_osr => px_parent_osr,
929 px_parent_obj_type => px_parent_obj_type);
930 l_eft_obj.eft_id := x_eft_id;
931 x_messages := HZ_PARTY_BO_PVT.return_all_messages(
932 x_return_status => x_return_status,
933 x_msg_count => l_msg_count,
934 x_msg_data => l_msg_data);
935 IF FND_API.to_Boolean(p_return_obj_flag) THEN
936 x_return_obj := l_eft_obj;
937 END IF;
938 END create_eft_bo;
939
940 -- PROCEDURE create_sms_bo
941 --
942 -- DESCRIPTION
943 -- Create a logical sms contact point.
944 PROCEDURE create_sms_bo(
945 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
946 p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
947 p_sms_obj IN HZ_SMS_CP_BO,
948 p_created_by_module IN VARCHAR2,
949 x_return_status OUT NOCOPY VARCHAR2,
950 x_msg_count OUT NOCOPY NUMBER,
951 x_msg_data OUT NOCOPY VARCHAR2,
952 x_sms_id OUT NOCOPY NUMBER,
953 x_sms_os OUT NOCOPY VARCHAR2,
954 x_sms_osr OUT NOCOPY VARCHAR2,
955 px_parent_id IN OUT NOCOPY NUMBER,
956 px_parent_os IN OUT NOCOPY VARCHAR2,
957 px_parent_osr IN OUT NOCOPY VARCHAR2,
958 px_parent_obj_type IN OUT NOCOPY VARCHAR2
959 ) IS
960 l_sms_obj HZ_SMS_CP_BO;
961 BEGIN
962 l_sms_obj := p_sms_obj;
963 do_create_contact_point (
964 p_init_msg_list => p_init_msg_list,
965 p_validate_bo_flag => p_validate_bo_flag,
966 p_cp_id => l_sms_obj.sms_id,
967 p_cp_os => l_sms_obj.orig_system,
968 p_cp_osr => l_sms_obj.orig_system_reference,
969 p_phone_obj => NULL,
970 p_email_obj => NULL,
971 p_telex_obj => NULL,
972 p_web_obj => NULL,
973 p_edi_obj => NULL,
974 p_eft_obj => NULL,
975 p_sms_obj => l_sms_obj,
976 p_cp_pref_objs => l_sms_obj.contact_pref_objs,
977 p_cp_type => 'SMS',
978 p_created_by_module => p_created_by_module,
979 p_obj_source => null,
980 x_return_status => x_return_status,
981 x_msg_count => x_msg_count,
982 x_msg_data => x_msg_data,
983 x_cp_id => x_sms_id,
984 x_cp_os => x_sms_os,
985 x_cp_osr => x_sms_osr,
986 px_parent_id => px_parent_id,
987 px_parent_os => px_parent_os,
988 px_parent_osr => px_parent_osr,
989 px_parent_obj_type => px_parent_obj_type);
990 END create_sms_bo;
991
992 PROCEDURE create_sms_bo(
993 p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
994 p_sms_obj IN HZ_SMS_CP_BO,
995 p_created_by_module IN VARCHAR2,
996 p_obj_source IN VARCHAR2 := null,
997 p_return_obj_flag IN VARCHAr2 := fnd_api.g_true,
998 x_return_status OUT NOCOPY VARCHAR2,
999 x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL,
1000 x_return_obj OUT NOCOPY HZ_SMS_CP_BO,
1001 x_sms_id OUT NOCOPY NUMBER,
1002 x_sms_os OUT NOCOPY VARCHAR2,
1003 x_sms_osr OUT NOCOPY VARCHAR2,
1004 px_parent_id IN OUT NOCOPY NUMBER,
1005 px_parent_os IN OUT NOCOPY VARCHAR2,
1006 px_parent_osr IN OUT NOCOPY VARCHAR2,
1007 px_parent_obj_type IN OUT NOCOPY VARCHAR2
1008 ) IS
1009 l_msg_data VARCHAR2(2000);
1010 l_msg_count NUMBER;
1011 l_sms_obj HZ_SMS_CP_BO;
1012 BEGIN
1013 l_sms_obj := p_sms_obj;
1014 do_create_contact_point (
1015 p_init_msg_list => fnd_api.g_true,
1016 p_validate_bo_flag => p_validate_bo_flag,
1017 p_cp_id => l_sms_obj.sms_id,
1018 p_cp_os => l_sms_obj.orig_system,
1019 p_cp_osr => l_sms_obj.orig_system_reference,
1020 p_phone_obj => NULL,
1021 p_email_obj => NULL,
1022 p_telex_obj => NULL,
1023 p_web_obj => NULL,
1024 p_edi_obj => NULL,
1025 p_eft_obj => NULL,
1026 p_sms_obj => l_sms_obj,
1027 p_cp_pref_objs => l_sms_obj.contact_pref_objs,
1028 p_cp_type => 'SMS',
1029 p_created_by_module => p_created_by_module,
1030 p_obj_source => p_obj_source,
1031 x_return_status => x_return_status,
1032 x_msg_count => l_msg_count,
1033 x_msg_data => l_msg_data,
1034 x_cp_id => x_sms_id,
1035 x_cp_os => x_sms_os,
1036 x_cp_osr => x_sms_osr,
1037 px_parent_id => px_parent_id,
1038 px_parent_os => px_parent_os,
1039 px_parent_osr => px_parent_osr,
1040 px_parent_obj_type => px_parent_obj_type);
1041 l_sms_obj.sms_id := x_sms_id;
1042 x_messages := HZ_PARTY_BO_PVT.return_all_messages(
1046 IF FND_API.to_Boolean(p_return_obj_flag) THEN
1043 x_return_status => x_return_status,
1044 x_msg_count => l_msg_count,
1045 x_msg_data => l_msg_data);
1047 x_return_obj := l_sms_obj;
1048 END IF;
1049 END create_sms_bo;
1050
1051 -- PRIVATE PROCEDURE assign_phone_rec
1052 --
1053 -- DESCRIPTION
1054 -- Assign attribute value from phone business object to plsql record.
1055 --
1056 -- ARGUMENTS
1057 -- IN:
1058 -- p_phone_obj Phone business object.
1059 -- p_owner_table_id Owner table Id.
1060 -- p_owner_table_name Owner table name.
1061 -- p_cp_id Contact point Id.
1062 -- p_cp_os Contact point original system.
1063 -- p_cp_osr Contact point original system reference.
1064 -- p_cp_type Contact point type.
1065 -- p_created_by_module Created by module.
1066 -- IN/OUT:
1067 -- px_phone_rec Phone plsql record.
1068 -- px_contact_point_rec Contact point plsql record.
1069 --
1070 -- NOTES
1071 --
1072 -- MODIFICATION HISTORY
1073 --
1074 -- 14-DEC-2004 Arnold Ng Created.
1075
1076 PROCEDURE assign_phone_rec(
1077 p_phone_obj IN HZ_PHONE_CP_BO,
1078 p_owner_table_id IN NUMBER,
1079 p_owner_table_name IN VARCHAR2,
1080 p_cp_id IN NUMBER,
1081 p_cp_os IN VARCHAR2,
1082 p_cp_osr IN VARCHAR2,
1083 p_cp_type IN VARCHAR2,
1084 p_create_or_update IN VARCHAR2 := 'C',
1085 px_phone_rec IN OUT NOCOPY HZ_CONTACT_POINT_V2PUB.PHONE_REC_TYPE,
1086 px_contact_point_rec IN OUT NOCOPY HZ_CONTACT_POINT_V2PUB.CONTACT_POINT_REC_TYPE
1087 ) IS
1088 BEGIN
1089 px_contact_point_rec.contact_point_id := p_cp_id;
1090 px_contact_point_rec.contact_point_type := p_cp_type;
1091 IF(p_phone_obj.status IN ('A','I')) THEN
1092 px_contact_point_rec.status := p_phone_obj.status;
1093 ELSE
1094 px_contact_point_rec.status := NULL;
1095 END IF;
1096 px_contact_point_rec.owner_table_name := p_owner_table_name;
1097 px_contact_point_rec.owner_table_id := p_owner_table_id;
1098 IF(p_phone_obj.primary_flag in ('Y','N')) THEN
1099 px_contact_point_rec.primary_flag := p_phone_obj.primary_flag;
1100 ELSE
1101 px_contact_point_rec.primary_flag := NULL;
1102 END IF;
1103 px_contact_point_rec.attribute_category := p_phone_obj.attribute_category;
1104 px_contact_point_rec.attribute1 := p_phone_obj.attribute1;
1105 px_contact_point_rec.attribute2 := p_phone_obj.attribute2;
1106 px_contact_point_rec.attribute3 := p_phone_obj.attribute3;
1107 px_contact_point_rec.attribute4 := p_phone_obj.attribute4;
1108 px_contact_point_rec.attribute5 := p_phone_obj.attribute5;
1109 px_contact_point_rec.attribute6 := p_phone_obj.attribute6;
1110 px_contact_point_rec.attribute7 := p_phone_obj.attribute7;
1111 px_contact_point_rec.attribute8 := p_phone_obj.attribute8;
1112 px_contact_point_rec.attribute9 := p_phone_obj.attribute9;
1113 px_contact_point_rec.attribute10 := p_phone_obj.attribute10;
1114 px_contact_point_rec.attribute11 := p_phone_obj.attribute11;
1115 px_contact_point_rec.attribute12 := p_phone_obj.attribute12;
1116 px_contact_point_rec.attribute13 := p_phone_obj.attribute13;
1117 px_contact_point_rec.attribute14 := p_phone_obj.attribute14;
1118 px_contact_point_rec.attribute15 := p_phone_obj.attribute15;
1119 px_contact_point_rec.attribute16 := p_phone_obj.attribute16;
1120 px_contact_point_rec.attribute17 := p_phone_obj.attribute17;
1121 px_contact_point_rec.attribute18 := p_phone_obj.attribute18;
1122 px_contact_point_rec.attribute19 := p_phone_obj.attribute19;
1123 px_contact_point_rec.attribute20 := p_phone_obj.attribute20;
1124 px_contact_point_rec.contact_point_purpose := p_phone_obj.contact_point_purpose;
1125 px_contact_point_rec.primary_by_purpose := p_phone_obj.primary_by_purpose;
1126 IF(p_create_or_update = 'C') THEN
1127 px_contact_point_rec.orig_system := p_cp_os;
1128 px_contact_point_rec.orig_system_reference := p_cp_osr;
1129 px_contact_point_rec.created_by_module := HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE;
1130 END IF;
1131 px_contact_point_rec.actual_content_source := p_phone_obj.actual_content_source;
1132 px_phone_rec.phone_calling_calendar := p_phone_obj.phone_calling_calendar;
1133 px_phone_rec.last_contact_dt_time := p_phone_obj.last_contact_dt_time;
1134 px_phone_rec.timezone_id := p_phone_obj.timezone_id;
1135 px_phone_rec.phone_area_code := p_phone_obj.phone_area_code;
1136 px_phone_rec.phone_country_code := p_phone_obj.phone_country_code;
1137 px_phone_rec.phone_number := p_phone_obj.phone_number;
1138 px_phone_rec.phone_extension := p_phone_obj.phone_extension;
1139 px_phone_rec.phone_line_type := p_phone_obj.phone_line_type;
1140 px_phone_rec.raw_phone_number := p_phone_obj.raw_phone_number;
1141 END assign_phone_rec;
1142
1143 -- PRIVATE PROCEDURE assign_telex_rec
1144 --
1145 -- DESCRIPTION
1146 -- Assign attribute value from telex business object to plsql record.
1147 --
1148 -- ARGUMENTS
1149 -- IN:
1150 -- p_telex_obj Telex business object.
1151 -- p_owner_table_id Owner table Id.
1152 -- p_owner_table_name Owner table name.
1153 -- p_cp_id Contact point Id.
1157 -- p_created_by_module Created by module.
1154 -- p_cp_os Contact point original system.
1155 -- p_cp_osr Contact point original system reference.
1156 -- p_cp_type Contact point type.
1158 -- IN/OUT:
1159 -- px_telex_rec Telex plsql record.
1160 -- px_contact_point_rec Contact point plsql record.
1161 --
1162 -- NOTES
1163 --
1164 -- MODIFICATION HISTORY
1165 --
1166 -- 14-DEC-2004 Arnold Ng Created.
1167
1168 PROCEDURE assign_telex_rec(
1169 p_telex_obj IN HZ_TELEX_CP_BO,
1170 p_owner_table_id IN NUMBER,
1171 p_owner_table_name IN VARCHAR2,
1172 p_cp_id IN NUMBER,
1173 p_cp_os IN VARCHAR2,
1174 p_cp_osr IN VARCHAR2,
1175 p_cp_type IN VARCHAR2,
1176 p_create_or_update IN VARCHAR2 := 'C',
1177 px_telex_rec IN OUT NOCOPY HZ_CONTACT_POINT_V2PUB.TELEX_REC_TYPE,
1178 px_contact_point_rec IN OUT NOCOPY HZ_CONTACT_POINT_V2PUB.CONTACT_POINT_REC_TYPE
1179 ) IS
1180 BEGIN
1181 px_contact_point_rec.contact_point_id := p_cp_id;
1182 px_contact_point_rec.contact_point_type := p_cp_type;
1183 IF(p_telex_obj.status in ('A','I')) THEN
1184 px_contact_point_rec.status := p_telex_obj.status;
1185 ELSE
1186 px_contact_point_rec.status := NULL;
1187 END IF;
1188 px_contact_point_rec.owner_table_name := p_owner_table_name;
1189 px_contact_point_rec.owner_table_id := p_owner_table_id;
1190 IF(p_telex_obj.primary_flag in ('Y','N')) THEN
1191 px_contact_point_rec.primary_flag := p_telex_obj.primary_flag;
1192 ELSE
1193 px_contact_point_rec.primary_flag := NULL;
1194 END IF;
1195 px_contact_point_rec.attribute_category := p_telex_obj.attribute_category;
1196 px_contact_point_rec.attribute1 := p_telex_obj.attribute1;
1197 px_contact_point_rec.attribute2 := p_telex_obj.attribute2;
1198 px_contact_point_rec.attribute3 := p_telex_obj.attribute3;
1199 px_contact_point_rec.attribute4 := p_telex_obj.attribute4;
1200 px_contact_point_rec.attribute5 := p_telex_obj.attribute5;
1201 px_contact_point_rec.attribute6 := p_telex_obj.attribute6;
1202 px_contact_point_rec.attribute7 := p_telex_obj.attribute7;
1203 px_contact_point_rec.attribute8 := p_telex_obj.attribute8;
1204 px_contact_point_rec.attribute9 := p_telex_obj.attribute9;
1205 px_contact_point_rec.attribute10 := p_telex_obj.attribute10;
1206 px_contact_point_rec.attribute11 := p_telex_obj.attribute11;
1207 px_contact_point_rec.attribute12 := p_telex_obj.attribute12;
1208 px_contact_point_rec.attribute13 := p_telex_obj.attribute13;
1209 px_contact_point_rec.attribute14 := p_telex_obj.attribute14;
1210 px_contact_point_rec.attribute15 := p_telex_obj.attribute15;
1211 px_contact_point_rec.attribute16 := p_telex_obj.attribute16;
1212 px_contact_point_rec.attribute17 := p_telex_obj.attribute17;
1213 px_contact_point_rec.attribute18 := p_telex_obj.attribute18;
1214 px_contact_point_rec.attribute19 := p_telex_obj.attribute19;
1215 px_contact_point_rec.attribute20 := p_telex_obj.attribute20;
1216 px_contact_point_rec.contact_point_purpose := p_telex_obj.contact_point_purpose;
1217 px_contact_point_rec.primary_by_purpose := p_telex_obj.primary_by_purpose;
1218 IF(p_create_or_update = 'C') THEN
1219 px_contact_point_rec.orig_system := p_cp_os;
1220 px_contact_point_rec.orig_system_reference := p_cp_osr;
1221 px_contact_point_rec.created_by_module := HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE;
1222 END IF;
1223 px_contact_point_rec.actual_content_source := p_telex_obj.actual_content_source;
1224 px_telex_rec.telex_number := p_telex_obj.telex_number;
1225 END assign_telex_rec;
1226
1227 -- PRIVATE PROCEDURE assign_email_rec
1228 --
1229 -- DESCRIPTION
1230 -- Assign attribute value from email business object to plsql record.
1231 --
1232 -- ARGUMENTS
1233 -- IN:
1234 -- p_email_obj Email business object.
1235 -- p_owner_table_id Owner table Id.
1236 -- p_owner_table_name Owner table name.
1237 -- p_cp_id Contact point Id.
1238 -- p_cp_os Contact point original system.
1239 -- p_cp_osr Contact point original system reference.
1240 -- p_cp_type Contact point type.
1241 -- p_created_by_module Created by module.
1242 -- IN/OUT:
1243 -- px_email_rec Email plsql record.
1244 -- px_contact_point_rec Contact point plsql record.
1245 --
1246 -- NOTES
1247 --
1248 -- MODIFICATION HISTORY
1249 --
1250 -- 14-DEC-2004 Arnold Ng Created.
1251
1252 PROCEDURE assign_email_rec(
1253 p_email_obj IN HZ_EMAIL_CP_BO,
1254 p_owner_table_id IN NUMBER,
1255 p_owner_table_name IN VARCHAR2,
1256 p_cp_id IN NUMBER,
1257 p_cp_os IN VARCHAR2,
1258 p_cp_osr IN VARCHAR2,
1259 p_cp_type IN VARCHAR2,
1260 p_create_or_update IN VARCHAR2 := 'C',
1261 px_email_rec IN OUT NOCOPY HZ_CONTACT_POINT_V2PUB.EMAIL_REC_TYPE,
1262 px_contact_point_rec IN OUT NOCOPY HZ_CONTACT_POINT_V2PUB.CONTACT_POINT_REC_TYPE
1263 ) IS
1264 BEGIN
1265 px_contact_point_rec.contact_point_id := p_cp_id;
1269 ELSE
1266 px_contact_point_rec.contact_point_type := p_cp_type;
1267 IF(p_email_obj.status in ('A','I')) THEN
1268 px_contact_point_rec.status := p_email_obj.status;
1270 px_contact_point_rec.status := NULL;
1271 END IF;
1272 px_contact_point_rec.owner_table_name := p_owner_table_name;
1273 px_contact_point_rec.owner_table_id := p_owner_table_id;
1274 IF(p_email_obj.primary_flag in ('Y','N')) THEN
1275 px_contact_point_rec.primary_flag := p_email_obj.primary_flag;
1276 ELSE
1277 px_contact_point_rec.primary_flag := NULL;
1278 END IF;
1279 px_contact_point_rec.attribute_category := p_email_obj.attribute_category;
1280 px_contact_point_rec.attribute1 := p_email_obj.attribute1;
1281 px_contact_point_rec.attribute2 := p_email_obj.attribute2;
1282 px_contact_point_rec.attribute3 := p_email_obj.attribute3;
1283 px_contact_point_rec.attribute4 := p_email_obj.attribute4;
1284 px_contact_point_rec.attribute5 := p_email_obj.attribute5;
1285 px_contact_point_rec.attribute6 := p_email_obj.attribute6;
1286 px_contact_point_rec.attribute7 := p_email_obj.attribute7;
1287 px_contact_point_rec.attribute8 := p_email_obj.attribute8;
1288 px_contact_point_rec.attribute9 := p_email_obj.attribute9;
1289 px_contact_point_rec.attribute10 := p_email_obj.attribute10;
1290 px_contact_point_rec.attribute11 := p_email_obj.attribute11;
1291 px_contact_point_rec.attribute12 := p_email_obj.attribute12;
1292 px_contact_point_rec.attribute13 := p_email_obj.attribute13;
1293 px_contact_point_rec.attribute14 := p_email_obj.attribute14;
1294 px_contact_point_rec.attribute15 := p_email_obj.attribute15;
1295 px_contact_point_rec.attribute16 := p_email_obj.attribute16;
1296 px_contact_point_rec.attribute17 := p_email_obj.attribute17;
1297 px_contact_point_rec.attribute18 := p_email_obj.attribute18;
1298 px_contact_point_rec.attribute19 := p_email_obj.attribute19;
1299 px_contact_point_rec.attribute20 := p_email_obj.attribute20;
1300 px_contact_point_rec.contact_point_purpose := p_email_obj.contact_point_purpose;
1301 px_contact_point_rec.primary_by_purpose := p_email_obj.primary_by_purpose;
1302 IF(p_create_or_update = 'C') THEN
1303 px_contact_point_rec.orig_system := p_cp_os;
1304 px_contact_point_rec.orig_system_reference := p_cp_osr;
1305 px_contact_point_rec.created_by_module := HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE;
1306 END IF;
1307 px_contact_point_rec.actual_content_source := p_email_obj.actual_content_source;
1308 px_email_rec.email_format := p_email_obj.email_format;
1309 px_email_rec.email_address := p_email_obj.email_address;
1310 END assign_email_rec;
1311
1312 -- PRIVATE PROCEDURE assign_web_rec
1313 --
1314 -- DESCRIPTION
1315 -- Assign attribute value from web business object to plsql record.
1316 --
1317 -- ARGUMENTS
1318 -- IN:
1319 -- p_web_obj Web business object.
1320 -- p_owner_table_id Owner table Id.
1321 -- p_owner_table_name Owner table name.
1322 -- p_cp_id Contact point Id.
1323 -- p_cp_os Contact point original system.
1324 -- p_cp_osr Contact point original system reference.
1325 -- p_cp_type Contact point type.
1326 -- p_created_by_module Created by module.
1327 -- IN/OUT:
1328 -- px_web_rec Web plsql record.
1329 -- px_contact_point_rec Contact point plsql record.
1330 --
1331 -- NOTES
1332 --
1333 -- MODIFICATION HISTORY
1334 --
1335 -- 14-DEC-2004 Arnold Ng Created.
1336
1337 PROCEDURE assign_web_rec(
1338 p_web_obj IN HZ_WEB_CP_BO,
1339 p_owner_table_id IN NUMBER,
1340 p_owner_table_name IN VARCHAR2,
1341 p_cp_id IN NUMBER,
1342 p_cp_os IN VARCHAR2,
1343 p_cp_osr IN VARCHAR2,
1344 p_cp_type IN VARCHAR2,
1345 p_create_or_update IN VARCHAR2 := 'C',
1346 px_web_rec IN OUT NOCOPY HZ_CONTACT_POINT_V2PUB.WEB_REC_TYPE,
1347 px_contact_point_rec IN OUT NOCOPY HZ_CONTACT_POINT_V2PUB.CONTACT_POINT_REC_TYPE
1348 ) IS
1349 BEGIN
1350 px_contact_point_rec.contact_point_id := p_cp_id;
1351 px_contact_point_rec.contact_point_type := p_cp_type;
1352 IF(p_web_obj.status in ('A','I')) THEN
1353 px_contact_point_rec.status := p_web_obj.status;
1354 ELSE
1355 px_contact_point_rec.status := NULL;
1356 END IF;
1357 px_contact_point_rec.owner_table_name := p_owner_table_name;
1358 px_contact_point_rec.owner_table_id := p_owner_table_id;
1359 IF(p_web_obj.primary_flag in ('Y','N')) THEN
1360 px_contact_point_rec.primary_flag := p_web_obj.primary_flag;
1361 ELSE
1362 px_contact_point_rec.primary_flag := NULL;
1363 END IF;
1364 px_contact_point_rec.attribute_category := p_web_obj.attribute_category;
1365 px_contact_point_rec.attribute1 := p_web_obj.attribute1;
1366 px_contact_point_rec.attribute2 := p_web_obj.attribute2;
1367 px_contact_point_rec.attribute3 := p_web_obj.attribute3;
1368 px_contact_point_rec.attribute4 := p_web_obj.attribute4;
1369 px_contact_point_rec.attribute5 := p_web_obj.attribute5;
1370 px_contact_point_rec.attribute6 := p_web_obj.attribute6;
1371 px_contact_point_rec.attribute7 := p_web_obj.attribute7;
1372 px_contact_point_rec.attribute8 := p_web_obj.attribute8;
1376 px_contact_point_rec.attribute12 := p_web_obj.attribute12;
1373 px_contact_point_rec.attribute9 := p_web_obj.attribute9;
1374 px_contact_point_rec.attribute10 := p_web_obj.attribute10;
1375 px_contact_point_rec.attribute11 := p_web_obj.attribute11;
1377 px_contact_point_rec.attribute13 := p_web_obj.attribute13;
1378 px_contact_point_rec.attribute14 := p_web_obj.attribute14;
1379 px_contact_point_rec.attribute15 := p_web_obj.attribute15;
1380 px_contact_point_rec.attribute16 := p_web_obj.attribute16;
1381 px_contact_point_rec.attribute17 := p_web_obj.attribute17;
1382 px_contact_point_rec.attribute18 := p_web_obj.attribute18;
1383 px_contact_point_rec.attribute19 := p_web_obj.attribute19;
1384 px_contact_point_rec.attribute20 := p_web_obj.attribute20;
1385 px_contact_point_rec.contact_point_purpose := p_web_obj.contact_point_purpose;
1386 px_contact_point_rec.primary_by_purpose := p_web_obj.primary_by_purpose;
1387 IF(p_create_or_update = 'C') THEN
1388 px_contact_point_rec.orig_system := p_cp_os;
1389 px_contact_point_rec.orig_system_reference := p_cp_osr;
1390 px_contact_point_rec.created_by_module := HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE;
1391 END IF;
1392 px_contact_point_rec.actual_content_source := p_web_obj.actual_content_source;
1393 px_web_rec.web_type := p_web_obj.web_type;
1394 px_web_rec.url := p_web_obj.url;
1395 END assign_web_rec;
1396
1397 -- PRIVATE PROCEDURE assign_edi_rec
1398 --
1399 -- DESCRIPTION
1400 -- Assign attribute value from edi business object to plsql record.
1401 --
1402 -- ARGUMENTS
1403 -- IN:
1404 -- p_edi_obj EDI business object.
1405 -- p_owner_table_id Owner table Id.
1406 -- p_owner_table_name Owner table name.
1407 -- p_cp_id Contact point Id.
1408 -- p_cp_os Contact point original system.
1409 -- p_cp_osr Contact point original system reference.
1410 -- p_cp_type Contact point type.
1411 -- p_created_by_module Created by module.
1412 -- IN/OUT:
1413 -- px_edi_rec EDI plsql record.
1414 -- px_contact_point_rec Contact point plsql record.
1415 --
1416 -- NOTES
1417 --
1418 -- MODIFICATION HISTORY
1419 --
1420 -- 14-DEC-2004 Arnold Ng Created.
1421
1422 PROCEDURE assign_edi_rec(
1423 p_edi_obj IN HZ_EDI_CP_BO,
1424 p_owner_table_id IN NUMBER,
1425 p_owner_table_name IN VARCHAR2,
1426 p_cp_id IN NUMBER,
1427 p_cp_os IN VARCHAR2,
1428 p_cp_osr IN VARCHAR2,
1429 p_cp_type IN VARCHAR2,
1430 p_create_or_update IN VARCHAR2 := 'C',
1431 px_edi_rec IN OUT NOCOPY HZ_CONTACT_POINT_V2PUB.EDI_REC_TYPE,
1432 px_contact_point_rec IN OUT NOCOPY HZ_CONTACT_POINT_V2PUB.CONTACT_POINT_REC_TYPE
1433 ) IS
1434 BEGIN
1435 px_contact_point_rec.contact_point_id := p_cp_id;
1436 px_contact_point_rec.contact_point_type := p_cp_type;
1437 IF(p_edi_obj.status in ('A','I')) THEN
1438 px_contact_point_rec.status := p_edi_obj.status;
1439 ELSE
1440 px_contact_point_rec.status := NULL;
1441 END IF;
1442 px_contact_point_rec.owner_table_name := p_owner_table_name;
1443 px_contact_point_rec.owner_table_id := p_owner_table_id;
1444 IF(p_edi_obj.primary_flag in ('Y','N')) THEN
1445 px_contact_point_rec.primary_flag := p_edi_obj.primary_flag;
1446 ELSE
1447 px_contact_point_rec.primary_flag := NULL;
1448 END IF;
1449 px_contact_point_rec.attribute_category := p_edi_obj.attribute_category;
1450 px_contact_point_rec.attribute1 := p_edi_obj.attribute1;
1451 px_contact_point_rec.attribute2 := p_edi_obj.attribute2;
1452 px_contact_point_rec.attribute3 := p_edi_obj.attribute3;
1453 px_contact_point_rec.attribute4 := p_edi_obj.attribute4;
1454 px_contact_point_rec.attribute5 := p_edi_obj.attribute5;
1455 px_contact_point_rec.attribute6 := p_edi_obj.attribute6;
1456 px_contact_point_rec.attribute7 := p_edi_obj.attribute7;
1457 px_contact_point_rec.attribute8 := p_edi_obj.attribute8;
1458 px_contact_point_rec.attribute9 := p_edi_obj.attribute9;
1459 px_contact_point_rec.attribute10 := p_edi_obj.attribute10;
1460 px_contact_point_rec.attribute11 := p_edi_obj.attribute11;
1461 px_contact_point_rec.attribute12 := p_edi_obj.attribute12;
1462 px_contact_point_rec.attribute13 := p_edi_obj.attribute13;
1463 px_contact_point_rec.attribute14 := p_edi_obj.attribute14;
1464 px_contact_point_rec.attribute15 := p_edi_obj.attribute15;
1465 px_contact_point_rec.attribute16 := p_edi_obj.attribute16;
1466 px_contact_point_rec.attribute17 := p_edi_obj.attribute17;
1467 px_contact_point_rec.attribute18 := p_edi_obj.attribute18;
1468 px_contact_point_rec.attribute19 := p_edi_obj.attribute19;
1469 px_contact_point_rec.attribute20 := p_edi_obj.attribute20;
1470 px_contact_point_rec.contact_point_purpose := p_edi_obj.contact_point_purpose;
1471 px_contact_point_rec.primary_by_purpose := p_edi_obj.primary_by_purpose;
1472 IF(p_create_or_update = 'C') THEN
1473 px_contact_point_rec.orig_system := p_cp_os;
1474 px_contact_point_rec.orig_system_reference := p_cp_osr;
1475 px_contact_point_rec.created_by_module := HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE;
1476 END IF;
1480 px_edi_rec.edi_payment_method := p_edi_obj.edi_payment_method;
1477 px_contact_point_rec.actual_content_source := p_edi_obj.actual_content_source;
1478 px_edi_rec.edi_transaction_handling := p_edi_obj.edi_transaction_handling;
1479 px_edi_rec.edi_id_number := p_edi_obj.edi_id_number;
1481 px_edi_rec.edi_payment_format := p_edi_obj.edi_payment_format;
1482 px_edi_rec.edi_remittance_method := p_edi_obj.edi_remittance_method;
1483 px_edi_rec.edi_remittance_instruction := p_edi_obj.edi_remittance_instruction;
1484 px_edi_rec.edi_tp_header_id := p_edi_obj.edi_tp_header_id;
1485 px_edi_rec.edi_ece_tp_location_code := p_edi_obj.edi_ece_tp_location_code;
1486 END assign_edi_rec;
1487
1488 -- PRIVATE PROCEDURE assign_eft_rec
1489 --
1490 -- DESCRIPTION
1491 -- Assign attribute value from eft business object to plsql record.
1492 --
1493 -- ARGUMENTS
1494 -- IN:
1495 -- p_eft_obj EFT business object.
1496 -- p_owner_table_id Owner table Id.
1497 -- p_owner_table_name Owner table name.
1498 -- p_cp_id Contact point Id.
1499 -- p_cp_os Contact point original system.
1500 -- p_cp_osr Contact point original system reference.
1501 -- p_cp_type Contact point type.
1502 -- p_created_by_module Created by module.
1503 -- IN/OUT:
1504 -- px_eft_rec EFT plsql record.
1505 -- px_contact_point_rec Contact point plsql record.
1506 --
1507 -- NOTES
1508 --
1509 -- MODIFICATION HISTORY
1510 --
1511 -- 14-DEC-2004 Arnold Ng Created.
1512
1513 PROCEDURE assign_eft_rec(
1514 p_eft_obj IN HZ_EFT_CP_BO,
1515 p_owner_table_id IN NUMBER,
1516 p_owner_table_name IN VARCHAR2,
1517 p_cp_id IN NUMBER,
1518 p_cp_os IN VARCHAR2,
1519 p_cp_osr IN VARCHAR2,
1520 p_cp_type IN VARCHAR2,
1521 p_create_or_update IN VARCHAR2 := 'C',
1522 px_eft_rec IN OUT NOCOPY HZ_CONTACT_POINT_V2PUB.EFT_REC_TYPE,
1523 px_contact_point_rec IN OUT NOCOPY HZ_CONTACT_POINT_V2PUB.CONTACT_POINT_REC_TYPE
1524 ) IS
1525 BEGIN
1526 px_contact_point_rec.contact_point_id := p_cp_id;
1527 px_contact_point_rec.contact_point_type := p_cp_type;
1528 IF(p_eft_obj.status in ('A','I')) THEN
1529 px_contact_point_rec.status := p_eft_obj.status;
1530 ELSE
1531 px_contact_point_rec.status := NULL;
1532 END IF;
1533 px_contact_point_rec.owner_table_name := p_owner_table_name;
1534 px_contact_point_rec.owner_table_id := p_owner_table_id;
1535 IF(p_eft_obj.primary_flag in ('Y','N')) THEN
1536 px_contact_point_rec.primary_flag := p_eft_obj.primary_flag;
1537 ELSE
1538 px_contact_point_rec.primary_flag := NULL;
1539 END IF;
1540 px_contact_point_rec.attribute_category := p_eft_obj.attribute_category;
1541 px_contact_point_rec.attribute1 := p_eft_obj.attribute1;
1542 px_contact_point_rec.attribute2 := p_eft_obj.attribute2;
1543 px_contact_point_rec.attribute3 := p_eft_obj.attribute3;
1544 px_contact_point_rec.attribute4 := p_eft_obj.attribute4;
1545 px_contact_point_rec.attribute5 := p_eft_obj.attribute5;
1546 px_contact_point_rec.attribute6 := p_eft_obj.attribute6;
1547 px_contact_point_rec.attribute7 := p_eft_obj.attribute7;
1548 px_contact_point_rec.attribute8 := p_eft_obj.attribute8;
1549 px_contact_point_rec.attribute9 := p_eft_obj.attribute9;
1550 px_contact_point_rec.attribute10 := p_eft_obj.attribute10;
1551 px_contact_point_rec.attribute11 := p_eft_obj.attribute11;
1552 px_contact_point_rec.attribute12 := p_eft_obj.attribute12;
1553 px_contact_point_rec.attribute13 := p_eft_obj.attribute13;
1554 px_contact_point_rec.attribute14 := p_eft_obj.attribute14;
1555 px_contact_point_rec.attribute15 := p_eft_obj.attribute15;
1556 px_contact_point_rec.attribute16 := p_eft_obj.attribute16;
1557 px_contact_point_rec.attribute17 := p_eft_obj.attribute17;
1558 px_contact_point_rec.attribute18 := p_eft_obj.attribute18;
1559 px_contact_point_rec.attribute19 := p_eft_obj.attribute19;
1560 px_contact_point_rec.attribute20 := p_eft_obj.attribute20;
1561 px_contact_point_rec.contact_point_purpose := p_eft_obj.contact_point_purpose;
1562 px_contact_point_rec.primary_by_purpose := p_eft_obj.primary_by_purpose;
1563 IF(p_create_or_update = 'C') THEN
1564 px_contact_point_rec.orig_system := p_cp_os;
1565 px_contact_point_rec.orig_system_reference := p_cp_osr;
1566 px_contact_point_rec.created_by_module := HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE;
1567 END IF;
1568 px_contact_point_rec.actual_content_source := p_eft_obj.actual_content_source;
1569 px_eft_rec.eft_transmission_program_id := p_eft_obj.eft_transmission_program_id;
1570 px_eft_rec.eft_printing_program_id := p_eft_obj.eft_printing_program_id;
1571 px_eft_rec.eft_user_number := p_eft_obj.eft_user_number;
1572 px_eft_rec.eft_swift_code := p_eft_obj.eft_swift_code;
1573 END assign_eft_rec;
1574
1575 -- PRIVATE PROCEDURE assign_sms_rec
1576 --
1577 -- DESCRIPTION
1578 -- Assign attribute value from sms business object to plsql record.
1579 --
1580 -- ARGUMENTS
1581 -- IN:
1582 -- p_sms_obj SMS business object.
1583 -- p_owner_table_id Owner table Id.
1584 -- p_owner_table_name Owner table name.
1585 -- p_cp_id Contact point Id.
1589 -- p_created_by_module Created by module.
1586 -- p_cp_os Contact point original system.
1587 -- p_cp_osr Contact point original system reference.
1588 -- p_cp_type Contact point type.
1590 -- IN/OUT:
1591 -- px_sms_rec SMS plsql record.
1592 -- px_contact_point_rec Contact point plsql record.
1593 --
1594 -- NOTES
1595 --
1596 -- MODIFICATION HISTORY
1597 --
1598 -- 14-DEC-2004 Arnold Ng Created.
1599
1600 PROCEDURE assign_sms_rec(
1601 p_sms_obj IN HZ_SMS_CP_BO,
1602 p_owner_table_id IN NUMBER,
1603 p_owner_table_name IN VARCHAR2,
1604 p_cp_id IN NUMBER,
1605 p_cp_os IN VARCHAR2,
1606 p_cp_osr IN VARCHAR2,
1607 p_cp_type IN VARCHAR2,
1608 p_create_or_update IN VARCHAR2 := 'C',
1609 px_sms_rec IN OUT NOCOPY HZ_CONTACT_POINT_V2PUB.PHONE_REC_TYPE,
1610 px_contact_point_rec IN OUT NOCOPY HZ_CONTACT_POINT_V2PUB.CONTACT_POINT_REC_TYPE
1611 ) IS
1612 BEGIN
1613 px_contact_point_rec.contact_point_id := p_cp_id;
1614 px_contact_point_rec.contact_point_type := p_cp_type;
1615 IF(p_sms_obj.status in ('A','I')) THEN
1616 px_contact_point_rec.status := p_sms_obj.status;
1617 ELSE
1618 px_contact_point_rec.status := NULL;
1619 END IF;
1620 px_contact_point_rec.owner_table_name := p_owner_table_name;
1621 px_contact_point_rec.owner_table_id := p_owner_table_id;
1622 IF(p_sms_obj.primary_flag in ('Y','N')) THEN
1623 px_contact_point_rec.primary_flag := p_sms_obj.primary_flag;
1624 ELSE
1625 px_contact_point_rec.primary_flag := NULL;
1626 END IF;
1627 px_contact_point_rec.attribute_category := p_sms_obj.attribute_category;
1628 px_contact_point_rec.attribute1 := p_sms_obj.attribute1;
1629 px_contact_point_rec.attribute2 := p_sms_obj.attribute2;
1630 px_contact_point_rec.attribute3 := p_sms_obj.attribute3;
1631 px_contact_point_rec.attribute4 := p_sms_obj.attribute4;
1632 px_contact_point_rec.attribute5 := p_sms_obj.attribute5;
1633 px_contact_point_rec.attribute6 := p_sms_obj.attribute6;
1634 px_contact_point_rec.attribute7 := p_sms_obj.attribute7;
1635 px_contact_point_rec.attribute8 := p_sms_obj.attribute8;
1636 px_contact_point_rec.attribute9 := p_sms_obj.attribute9;
1637 px_contact_point_rec.attribute10 := p_sms_obj.attribute10;
1638 px_contact_point_rec.attribute11 := p_sms_obj.attribute11;
1639 px_contact_point_rec.attribute12 := p_sms_obj.attribute12;
1640 px_contact_point_rec.attribute13 := p_sms_obj.attribute13;
1641 px_contact_point_rec.attribute14 := p_sms_obj.attribute14;
1642 px_contact_point_rec.attribute15 := p_sms_obj.attribute15;
1643 px_contact_point_rec.attribute16 := p_sms_obj.attribute16;
1644 px_contact_point_rec.attribute17 := p_sms_obj.attribute17;
1645 px_contact_point_rec.attribute18 := p_sms_obj.attribute18;
1646 px_contact_point_rec.attribute19 := p_sms_obj.attribute19;
1647 px_contact_point_rec.attribute20 := p_sms_obj.attribute20;
1648 px_contact_point_rec.contact_point_purpose := p_sms_obj.contact_point_purpose;
1649 px_contact_point_rec.primary_by_purpose := p_sms_obj.primary_by_purpose;
1650 IF(p_create_or_update = 'C') THEN
1651 px_contact_point_rec.orig_system := p_cp_os;
1652 px_contact_point_rec.orig_system_reference := p_cp_osr;
1653 px_contact_point_rec.created_by_module := HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE;
1654 END IF;
1655 px_contact_point_rec.actual_content_source := p_sms_obj.actual_content_source;
1656 px_sms_rec.phone_calling_calendar := p_sms_obj.phone_calling_calendar;
1657 px_sms_rec.last_contact_dt_time := p_sms_obj.last_contact_dt_time;
1658 px_sms_rec.timezone_id := p_sms_obj.timezone_id;
1659 px_sms_rec.phone_area_code := p_sms_obj.phone_area_code;
1660 px_sms_rec.phone_country_code := p_sms_obj.phone_country_code;
1661 px_sms_rec.phone_number := p_sms_obj.phone_number;
1662 px_sms_rec.phone_extension := p_sms_obj.phone_extension;
1663 px_sms_rec.phone_line_type := p_sms_obj.phone_line_type;
1664 px_sms_rec.raw_phone_number := p_sms_obj.raw_phone_number;
1665 END assign_sms_rec;
1666
1667 -- PRIVATE PROCEDURE do_create_contact_point
1668 --
1669 -- DESCRIPTION
1670 -- Create contact point.
1671 PROCEDURE do_create_contact_point(
1672 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1673 p_validate_bo_flag IN VARCHAR2 := FND_API.G_TRUE,
1674 p_cp_id IN NUMBER,
1675 p_cp_os IN VARCHAR2,
1676 p_cp_osr IN VARCHAR2,
1677 p_phone_obj IN HZ_PHONE_CP_BO,
1678 p_email_obj IN HZ_EMAIL_CP_BO,
1679 p_telex_obj IN HZ_TELEX_CP_BO,
1680 p_web_obj IN HZ_WEB_CP_BO,
1681 p_edi_obj IN HZ_EDI_CP_BO,
1682 p_eft_obj IN HZ_EFT_CP_BO,
1683 p_sms_obj IN HZ_SMS_CP_BO,
1684 p_cp_pref_objs IN OUT NOCOPY HZ_CONTACT_PREF_OBJ_TBL,
1685 p_cp_type IN VARCHAR2,
1686 p_created_by_module IN VARCHAR2,
1687 p_obj_source IN VARCHAR2 := null,
1688 x_return_status OUT NOCOPY VARCHAR2,
1689 x_msg_count OUT NOCOPY NUMBER,
1693 x_cp_osr OUT NOCOPY VARCHAR2,
1690 x_msg_data OUT NOCOPY VARCHAR2,
1691 x_cp_id OUT NOCOPY NUMBER,
1692 x_cp_os OUT NOCOPY VARCHAR2,
1694 px_parent_id IN OUT NOCOPY NUMBER,
1695 px_parent_os IN OUT NOCOPY VARCHAR2,
1696 px_parent_osr IN OUT NOCOPY VARCHAR2,
1697 px_parent_obj_type IN OUT NOCOPY VARCHAR2
1698 ) IS
1699 l_debug_prefix VARCHAR2(30);
1700 l_contact_point_rec HZ_CONTACT_POINT_V2PUB.CONTACT_POINT_REC_TYPE;
1701 l_phone_rec HZ_CONTACT_POINT_V2PUB.PHONE_REC_TYPE;
1702 l_email_rec HZ_CONTACT_POINT_V2PUB.EMAIL_REC_TYPE;
1703 l_telex_rec HZ_CONTACT_POINT_V2PUB.TELEX_REC_TYPE;
1704 l_web_rec HZ_CONTACT_POINT_V2PUB.WEB_REC_TYPE;
1705 l_edi_rec HZ_CONTACT_POINT_V2PUB.EDI_REC_TYPE;
1706 l_eft_rec HZ_CONTACT_POINT_V2PUB.EFT_REC_TYPE;
1707 l_sms_rec HZ_CONTACT_POINT_V2PUB.PHONE_REC_TYPE;
1708 l_contact_pref_rec HZ_CONTACT_PREFERENCE_V2PUB.CONTACT_PREFERENCE_REC_TYPE;
1709 l_contact_pref_id NUMBER;
1710 l_owner_table_name VARCHAR2(30);
1711 l_valid_obj BOOLEAN;
1712 l_bus_object HZ_REGISTRY_VALIDATE_BO_PVT.COMPLETENESS_REC_TYPE;
1713 BEGIN
1714 -- Standard start of API savepoint
1715 SAVEPOINT do_create_contact_point_pub;
1716
1717 -- initialize API return status to success.
1718 x_return_status := FND_API.G_RET_STS_SUCCESS;
1719
1720 -- Initialize message list if p_init_msg_list is set to TRUE
1721 IF FND_API.to_Boolean(p_init_msg_list) THEN
1722 FND_MSG_PUB.initialize;
1723 END IF;
1724
1725 -- initialize Global variable to indicate the caller of V2API is from BO API
1726 HZ_UTILITY_V2PUB.G_CALLING_API := 'BO_API';
1727 IF(p_created_by_module IS NULL) THEN
1728 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := 'BO_API';
1729 ELSE
1730 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := p_created_by_module;
1731 END IF;
1732
1733 -- Debug info.
1734 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1735 hz_utility_v2pub.debug(p_message=>'do_create_contact_point(+)',
1736 p_prefix=>l_debug_prefix,
1737 p_msg_level=>fnd_log.level_procedure);
1738 END IF;
1739
1740 -- Base on p_validate_bo_flag, check completeness of business object
1741 IF(p_validate_bo_flag = FND_API.G_TRUE) THEN
1742 HZ_REGISTRY_VALIDATE_BO_PVT.get_bus_obj_struct(
1743 p_bus_object_code => p_cp_type,
1744 x_bus_object => l_bus_object
1745 );
1746
1747 l_valid_obj := HZ_REGISTRY_VALIDATE_BO_PVT.is_cp_bo_comp(
1748 p_phone_objs => HZ_PHONE_CP_BO_TBL(p_phone_obj),
1749 p_email_objs => HZ_EMAIL_CP_BO_TBL(p_email_obj),
1750 p_telex_objs => HZ_TELEX_CP_BO_TBL(p_telex_obj),
1751 p_web_objs => HZ_WEB_CP_BO_TBL(p_web_obj),
1752 p_edi_objs => HZ_EDI_CP_BO_TBL(p_edi_obj),
1753 p_eft_objs => HZ_EFT_CP_BO_TBL(p_eft_obj),
1754 p_sms_objs => HZ_SMS_CP_BO_TBL(p_sms_obj),
1755 p_bus_object => l_bus_object
1756 );
1757
1758 IF NOT(l_valid_obj) THEN
1759 RAISE fnd_api.g_exc_error;
1760 END IF;
1761 END IF;
1762
1763 -- check pass in parent_id and parent_os/parent_osr
1764 hz_registry_validate_bo_pvt.validate_parent_id(
1765 px_parent_id => px_parent_id,
1766 px_parent_os => px_parent_os,
1767 px_parent_osr => px_parent_osr,
1768 p_parent_obj_type => px_parent_obj_type,
1769 x_return_status => x_return_status,
1770 x_msg_count => x_msg_count,
1771 x_msg_data => x_msg_data);
1772
1773 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1774 RAISE fnd_api.g_exc_error;
1775 END IF;
1776
1777 -- get owner table name of contact point, contact point id and os+osr
1778 l_owner_table_name := HZ_REGISTRY_VALIDATE_BO_PVT.get_owner_table_name(p_obj_type => px_parent_obj_type);
1779 x_cp_id := p_cp_id;
1780 x_cp_os := p_cp_os;
1781 x_cp_osr := p_cp_osr;
1782
1783 -- check if pass in contact_point_id and/or os+osr
1784 hz_registry_validate_bo_pvt.validate_ssm_id(
1785 px_id => x_cp_id,
1786 px_os => x_cp_os,
1787 px_osr => x_cp_osr,
1788 p_obj_type => p_cp_type,
1789 p_create_or_update => 'C',
1790 x_return_status => x_return_status,
1791 x_msg_count => x_msg_count,
1792 x_msg_data => x_msg_data);
1793
1794 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1795 RAISE fnd_api.g_exc_error;
1796 END IF;
1797
1798 -- Base on contact point type, assign record and then call v2pub api
1799 IF(p_cp_type = 'PHONE') THEN
1800 assign_phone_rec(
1801 p_phone_obj => p_phone_obj,
1802 p_owner_table_id => px_parent_id,
1803 p_owner_table_name => l_owner_table_name,
1804 p_cp_id => x_cp_id,
1805 p_cp_os => x_cp_os,
1806 p_cp_osr => x_cp_osr,
1807 p_cp_type => p_cp_type,
1808 px_phone_rec => l_phone_rec,
1809 px_contact_point_rec => l_contact_point_rec
1810 );
1811
1812 HZ_CONTACT_POINT_V2PUB.create_phone_contact_point(
1813 p_contact_point_rec => l_contact_point_rec,
1814 p_phone_rec => l_phone_rec,
1815 x_contact_point_id => x_cp_id,
1816 x_return_status => x_return_status,
1817 x_msg_count => x_msg_count,
1821 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1818 x_msg_data => x_msg_data
1819 );
1820
1822 RAISE fnd_api.g_exc_error;
1823 END IF;
1824 ELSIF(p_cp_type = 'EMAIL') THEN
1825 assign_email_rec(
1826 p_email_obj => p_email_obj,
1827 p_owner_table_id => px_parent_id,
1828 p_owner_table_name => l_owner_table_name,
1829 p_cp_id => x_cp_id,
1830 p_cp_os => x_cp_os,
1831 p_cp_osr => x_cp_osr,
1832 p_cp_type => p_cp_type,
1833 px_email_rec => l_email_rec,
1834 px_contact_point_rec => l_contact_point_rec
1835 );
1836
1837 HZ_CONTACT_POINT_V2PUB.create_email_contact_point(
1838 p_contact_point_rec => l_contact_point_rec,
1839 p_email_rec => l_email_rec,
1840 x_contact_point_id => x_cp_id,
1841 x_return_status => x_return_status,
1842 x_msg_count => x_msg_count,
1843 x_msg_data => x_msg_data
1844 );
1845
1846 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1847 RAISE fnd_api.g_exc_error;
1848 END IF;
1849 ELSIF(p_cp_type = 'TLX') THEN
1850 assign_telex_rec(
1851 p_telex_obj => p_telex_obj,
1852 p_owner_table_id => px_parent_id,
1853 p_owner_table_name => l_owner_table_name,
1854 p_cp_id => x_cp_id,
1855 p_cp_os => x_cp_os,
1856 p_cp_osr => x_cp_osr,
1857 p_cp_type => p_cp_type,
1858 px_telex_rec => l_telex_rec,
1859 px_contact_point_rec => l_contact_point_rec
1860 );
1861
1862 HZ_CONTACT_POINT_V2PUB.create_telex_contact_point(
1863 p_contact_point_rec => l_contact_point_rec,
1864 p_telex_rec => l_telex_rec,
1865 x_contact_point_id => x_cp_id,
1866 x_return_status => x_return_status,
1867 x_msg_count => x_msg_count,
1868 x_msg_data => x_msg_data
1869 );
1870
1871 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1872 RAISE fnd_api.g_exc_error;
1873 END IF;
1874 ELSIF(p_cp_type = 'WEB') THEN
1875 assign_web_rec(
1876 p_web_obj => p_web_obj,
1877 p_owner_table_id => px_parent_id,
1878 p_owner_table_name => l_owner_table_name,
1879 p_cp_id => x_cp_id,
1880 p_cp_os => x_cp_os,
1881 p_cp_osr => x_cp_osr,
1882 p_cp_type => p_cp_type,
1883 px_web_rec => l_web_rec,
1884 px_contact_point_rec => l_contact_point_rec
1885 );
1886
1887 HZ_CONTACT_POINT_V2PUB.create_web_contact_point(
1888 p_contact_point_rec => l_contact_point_rec,
1889 p_web_rec => l_web_rec,
1890 x_contact_point_id => x_cp_id,
1891 x_return_status => x_return_status,
1892 x_msg_count => x_msg_count,
1893 x_msg_data => x_msg_data
1894 );
1895
1896 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1897 RAISE fnd_api.g_exc_error;
1898 END IF;
1899 ELSIF(p_cp_type = 'EDI') THEN
1900 assign_edi_rec(
1901 p_edi_obj => p_edi_obj,
1902 p_owner_table_id => px_parent_id,
1903 p_owner_table_name => l_owner_table_name,
1904 p_cp_id => x_cp_id,
1905 p_cp_os => x_cp_os,
1906 p_cp_osr => x_cp_osr,
1907 p_cp_type => p_cp_type,
1908 px_edi_rec => l_edi_rec,
1909 px_contact_point_rec => l_contact_point_rec
1910 );
1911
1912 HZ_CONTACT_POINT_V2PUB.create_edi_contact_point(
1913 p_contact_point_rec => l_contact_point_rec,
1914 p_edi_rec => l_edi_rec,
1915 x_contact_point_id => x_cp_id,
1916 x_return_status => x_return_status,
1917 x_msg_count => x_msg_count,
1918 x_msg_data => x_msg_data
1919 );
1920
1921 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1922 RAISE fnd_api.g_exc_error;
1923 END IF;
1924 ELSIF(p_cp_type = 'EFT') THEN
1925 assign_eft_rec(
1926 p_eft_obj => p_eft_obj,
1927 p_owner_table_id => px_parent_id,
1928 p_owner_table_name => l_owner_table_name,
1929 p_cp_id => x_cp_id,
1930 p_cp_os => x_cp_os,
1931 p_cp_osr => x_cp_osr,
1932 p_cp_type => p_cp_type,
1933 px_eft_rec => l_eft_rec,
1934 px_contact_point_rec => l_contact_point_rec
1935 );
1936
1937 HZ_CONTACT_POINT_V2PUB.create_eft_contact_point(
1938 p_contact_point_rec => l_contact_point_rec,
1939 p_eft_rec => l_eft_rec,
1940 x_contact_point_id => x_cp_id,
1941 x_return_status => x_return_status,
1942 x_msg_count => x_msg_count,
1943 x_msg_data => x_msg_data
1944 );
1945
1946 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1947 RAISE fnd_api.g_exc_error;
1948 END IF;
1949 ELSIF(p_cp_type = 'SMS') THEN
1950 assign_sms_rec(
1951 p_sms_obj => p_sms_obj,
1952 p_owner_table_id => px_parent_id,
1953 p_owner_table_name => l_owner_table_name,
1954 p_cp_id => x_cp_id,
1955 p_cp_os => x_cp_os,
1956 p_cp_osr => x_cp_osr,
1957 p_cp_type => p_cp_type,
1958 px_sms_rec => l_sms_rec,
1959 px_contact_point_rec => l_contact_point_rec
1960 );
1961
1962 HZ_CONTACT_POINT_V2PUB.create_phone_contact_point(
1966 x_return_status => x_return_status,
1963 p_contact_point_rec => l_contact_point_rec,
1964 p_phone_rec => l_sms_rec,
1965 x_contact_point_id => x_cp_id,
1967 x_msg_count => x_msg_count,
1968 x_msg_data => x_msg_data
1969 );
1970
1971 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1972 RAISE fnd_api.g_exc_error;
1973 END IF;
1974 END IF;
1975
1976 IF((p_cp_pref_objs IS NOT NULL) AND (p_cp_pref_objs.COUNT > 0)) THEN
1977 -- create contact preferences
1978 HZ_CONTACT_PREFERENCE_BO_PVT.create_contact_preferences(
1979 p_cp_pref_objs => p_cp_pref_objs,
1980 p_contact_level_table_id => x_cp_id,
1981 p_contact_level_table => 'HZ_CONTACT_POINTS',
1982 x_return_status => x_return_status,
1983 x_msg_count => x_msg_count,
1984 x_msg_data => x_msg_data
1985 );
1986 END IF;
1987
1988 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1989 RAISE fnd_api.g_exc_error;
1990 END IF;
1991
1992 -- reset Global variable
1993 HZ_UTILITY_V2PUB.G_CALLING_API := NULL;
1994 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := NULL;
1995
1996 -- Debug info.
1997 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
1998 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
1999 p_msg_data=>x_msg_data,
2000 p_msg_type=>'WARNING',
2001 p_msg_level=>fnd_log.level_exception);
2002 END IF;
2003 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
2004 hz_utility_v2pub.debug(p_message=>'do_create_contact_point(-)',
2005 p_prefix=>l_debug_prefix,
2006 p_msg_level=>fnd_log.level_procedure);
2007 END IF;
2008
2009 EXCEPTION
2010 WHEN fnd_api.g_exc_error THEN
2011 ROLLBACK TO do_create_contact_point_pub;
2012
2013 -- reset Global variable
2014 HZ_UTILITY_V2PUB.G_CALLING_API := NULL;
2015 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := NULL;
2016
2017 FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_OBJECT_ERROR');
2018 FND_MESSAGE.SET_TOKEN('OBJECT', p_cp_type);
2019 FND_MSG_PUB.ADD;
2020
2021 x_return_status := fnd_api.g_ret_sts_error;
2022
2023 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
2024 p_count => x_msg_count,
2025 p_data => x_msg_data);
2026
2027 -- Debug info.
2028 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
2029 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
2030 p_msg_data=>x_msg_data,
2031 p_msg_type=>'ERROR',
2032 p_msg_level=>fnd_log.level_error);
2033 END IF;
2034 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
2035 hz_utility_v2pub.debug(p_message=>'do_create_contact_point (-)',
2036 p_prefix=>l_debug_prefix,
2037 p_msg_level=>fnd_log.level_procedure);
2038 END IF;
2039
2040 WHEN fnd_api.g_exc_unexpected_error THEN
2041 ROLLBACK TO do_create_contact_point_pub;
2042
2043 -- reset Global variable
2044 HZ_UTILITY_V2PUB.G_CALLING_API := NULL;
2045 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := NULL;
2046
2047 FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_OBJECT_ERROR');
2048 FND_MESSAGE.SET_TOKEN('OBJECT', p_cp_type);
2049 FND_MSG_PUB.ADD;
2050
2051 x_return_status := fnd_api.g_ret_sts_unexp_error;
2052
2053 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
2054 p_count => x_msg_count,
2055 p_data => x_msg_data);
2056
2057 -- Debug info.
2058 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
2059 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
2060 p_msg_data=>x_msg_data,
2061 p_msg_type=>'UNEXPECTED ERROR',
2062 p_msg_level=>fnd_log.level_error);
2063 END IF;
2064 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
2065 hz_utility_v2pub.debug(p_message=>'do_create_contact_point (-)',
2066 p_prefix=>l_debug_prefix,
2067 p_msg_level=>fnd_log.level_procedure);
2068 END IF;
2069
2070 WHEN OTHERS THEN
2071 ROLLBACK TO do_create_contact_point_pub;
2072
2073 -- reset Global variable
2074 HZ_UTILITY_V2PUB.G_CALLING_API := NULL;
2075 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := NULL;
2076
2077 FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_OBJECT_ERROR');
2078 FND_MESSAGE.SET_TOKEN('OBJECT', p_cp_type);
2079 FND_MSG_PUB.ADD;
2080
2081 x_return_status := fnd_api.g_ret_sts_unexp_error;
2082
2083 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
2084 fnd_message.set_token('ERROR' ,SQLERRM);
2085 fnd_msg_pub.add;
2086
2087 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
2088 p_count => x_msg_count,
2089 p_data => x_msg_data);
2090
2091 -- Debug info.
2092 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
2093 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
2094 p_msg_data=>x_msg_data,
2095 p_msg_type=>'SQL ERROR',
2099 hz_utility_v2pub.debug(p_message=>'do_create_contact_point (-)',
2096 p_msg_level=>fnd_log.level_error);
2097 END IF;
2098 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
2100 p_prefix=>l_debug_prefix,
2101 p_msg_level=>fnd_log.level_procedure);
2102 END IF;
2103 END do_create_contact_point;
2104
2105 -- PROCEDURE update_phone_bo
2106 --
2107 -- DESCRIPTION
2108 -- Update a logical phone contact point.
2109 PROCEDURE update_phone_bo(
2110 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
2111 p_phone_obj IN HZ_PHONE_CP_BO,
2112 p_created_by_module IN VARCHAR2,
2113 x_return_status OUT NOCOPY VARCHAR2,
2114 x_msg_count OUT NOCOPY NUMBER,
2115 x_msg_data OUT NOCOPY VARCHAR2,
2116 x_phone_id OUT NOCOPY NUMBER,
2117 x_phone_os OUT NOCOPY VARCHAR2,
2118 x_phone_osr OUT NOCOPY VARCHAR2
2119 )IS
2120 l_phone_obj HZ_PHONE_CP_BO;
2121 BEGIN
2122 l_phone_obj := p_phone_obj;
2123 do_update_contact_point (
2124 p_init_msg_list => p_init_msg_list,
2125 p_cp_id => p_phone_obj.phone_id,
2126 p_cp_os => l_phone_obj.orig_system,
2127 p_cp_osr => l_phone_obj.orig_system_reference,
2128 p_phone_obj => l_phone_obj,
2129 p_email_obj => NULL,
2130 p_telex_obj => NULL,
2131 p_web_obj => NULL,
2132 p_edi_obj => NULL,
2133 p_eft_obj => NULL,
2134 p_sms_obj => NULL,
2135 p_cp_pref_objs => l_phone_obj.contact_pref_objs,
2136 p_cp_type => 'PHONE',
2137 p_created_by_module => p_created_by_module,
2138 p_obj_source => NULL,
2139 x_return_status => x_return_status,
2140 x_msg_count => x_msg_count,
2141 x_msg_data => x_msg_data,
2142 x_cp_id => x_phone_id,
2143 x_cp_os => x_phone_os,
2144 x_cp_osr => x_phone_osr,
2145 p_parent_os => NULL );
2146 END update_phone_bo;
2147
2148 PROCEDURE update_phone_bo(
2149 p_phone_obj IN HZ_PHONE_CP_BO,
2150 p_created_by_module IN VARCHAR2,
2151 p_obj_source IN VARCHAR2 := null,
2152 p_return_obj_flag IN VARCHAR2 := fnd_api.g_true,
2153 x_return_status OUT NOCOPY VARCHAR2,
2154 x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL,
2155 x_return_obj OUT NOCOPY HZ_PHONE_CP_BO,
2156 x_phone_id OUT NOCOPY NUMBER,
2157 x_phone_os OUT NOCOPY VARCHAR2,
2158 x_phone_osr OUT NOCOPY VARCHAR2
2159 )IS
2160 l_msg_data VARCHAR2(2000);
2161 l_msg_count NUMBER;
2162 l_phone_obj HZ_PHONE_CP_BO;
2163 BEGIN
2164 l_phone_obj := p_phone_obj;
2165 do_update_contact_point (
2166 p_init_msg_list => fnd_api.g_true,
2167 p_cp_id => l_phone_obj.phone_id,
2168 p_cp_os => l_phone_obj.orig_system,
2169 p_cp_osr => l_phone_obj.orig_system_reference,
2170 p_phone_obj => l_phone_obj,
2171 p_email_obj => NULL,
2172 p_telex_obj => NULL,
2173 p_web_obj => NULL,
2174 p_edi_obj => NULL,
2175 p_eft_obj => NULL,
2176 p_sms_obj => NULL,
2177 p_cp_pref_objs => l_phone_obj.contact_pref_objs,
2178 p_cp_type => 'PHONE',
2179 p_created_by_module => p_created_by_module,
2180 x_return_status => x_return_status,
2181 x_msg_count => l_msg_count,
2182 x_msg_data => l_msg_data,
2183 x_cp_id => x_phone_id,
2184 x_cp_os => x_phone_os,
2185 x_cp_osr => x_phone_osr,
2186 p_parent_os => NULL );
2187 x_messages := HZ_PARTY_BO_PVT.return_all_messages(
2188 x_return_status => x_return_status,
2189 x_msg_count => l_msg_count,
2190 x_msg_data => l_msg_data);
2191 IF FND_API.to_Boolean(p_return_obj_flag) THEN
2192 x_return_obj := l_phone_obj;
2193 END IF;
2194 END update_phone_bo;
2195
2196 -- PROCEDURE update_telex_bo
2197 --
2198 -- DESCRIPTION
2199 -- Update a logical telex contact point.
2200 PROCEDURE update_telex_bo(
2201 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
2202 p_telex_obj IN HZ_TELEX_CP_BO,
2203 p_created_by_module IN VARCHAR2,
2204 x_return_status OUT NOCOPY VARCHAR2,
2205 x_msg_count OUT NOCOPY NUMBER,
2206 x_msg_data OUT NOCOPY VARCHAR2,
2207 x_telex_id OUT NOCOPY NUMBER,
2208 x_telex_os OUT NOCOPY VARCHAR2,
2209 x_telex_osr OUT NOCOPY VARCHAR2
2210 )IS
2211 l_telex_obj HZ_TELEX_CP_BO;
2212 BEGIN
2213 l_telex_obj := p_telex_obj;
2214 do_update_contact_point (
2215 p_init_msg_list => p_init_msg_list,
2216 p_cp_id => l_telex_obj.telex_id,
2217 p_cp_os => l_telex_obj.orig_system,
2218 p_cp_osr => l_telex_obj.orig_system_reference,
2219 p_phone_obj => NULL,
2220 p_email_obj => NULL,
2221 p_telex_obj => l_telex_obj,
2222 p_web_obj => NULL,
2223 p_edi_obj => NULL,
2224 p_eft_obj => NULL,
2225 p_sms_obj => NULL,
2229 p_obj_source => NULL,
2226 p_cp_pref_objs => l_telex_obj.contact_pref_objs,
2227 p_cp_type => 'TLX',
2228 p_created_by_module => p_created_by_module,
2230 x_return_status => x_return_status,
2231 x_msg_count => x_msg_count,
2232 x_msg_data => x_msg_data,
2233 x_cp_id => x_telex_id,
2234 x_cp_os => x_telex_os,
2235 x_cp_osr => x_telex_osr,
2236 p_parent_os => NULL );
2237 END update_telex_bo;
2238
2239 PROCEDURE update_telex_bo(
2240 p_telex_obj IN HZ_TELEX_CP_BO,
2241 p_created_by_module IN VARCHAR2,
2242 p_obj_source IN VARCHAR2 := null,
2243 p_return_obj_flag IN VARCHAR2 := fnd_api.g_true,
2244 x_return_status OUT NOCOPY VARCHAR2,
2245 x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL,
2246 x_return_obj OUT NOCOPY HZ_TELEX_CP_BO,
2247 x_telex_id OUT NOCOPY NUMBER,
2248 x_telex_os OUT NOCOPY VARCHAR2,
2249 x_telex_osr OUT NOCOPY VARCHAR2
2250 )IS
2251 l_msg_count NUMBER;
2252 l_msg_data VARCHAR2(2000);
2253 l_telex_obj HZ_TELEX_CP_BO;
2254 BEGIN
2255 l_telex_obj := p_telex_obj;
2256 do_update_contact_point (
2257 p_init_msg_list => fnd_api.g_true,
2258 p_cp_id => l_telex_obj.telex_id,
2259 p_cp_os => l_telex_obj.orig_system,
2260 p_cp_osr => l_telex_obj.orig_system_reference,
2261 p_phone_obj => NULL,
2262 p_email_obj => NULL,
2263 p_telex_obj => l_telex_obj,
2264 p_web_obj => NULL,
2265 p_edi_obj => NULL,
2266 p_eft_obj => NULL,
2267 p_sms_obj => NULL,
2268 p_cp_pref_objs => l_telex_obj.contact_pref_objs,
2269 p_cp_type => 'TLX',
2270 p_created_by_module => p_created_by_module,
2271 x_return_status => x_return_status,
2272 x_msg_count => l_msg_count,
2273 x_msg_data => l_msg_data,
2274 x_cp_id => x_telex_id,
2275 x_cp_os => x_telex_os,
2276 x_cp_osr => x_telex_osr,
2277 p_parent_os => NULL );
2278 x_messages := HZ_PARTY_BO_PVT.return_all_messages(
2279 x_return_status => x_return_status,
2280 x_msg_count => l_msg_count,
2281 x_msg_data => l_msg_data);
2282 IF FND_API.to_Boolean(p_return_obj_flag) THEN
2283 x_return_obj := l_telex_obj;
2284 END IF;
2285 END update_telex_bo;
2286
2287 -- PROCEDURE update_email_bo
2288 --
2289 -- DESCRIPTION
2290 -- Update a logical email contact point.
2291 PROCEDURE update_email_bo(
2292 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
2293 p_email_obj IN HZ_EMAIL_CP_BO,
2294 p_created_by_module IN VARCHAR2,
2295 x_return_status OUT NOCOPY VARCHAR2,
2296 x_msg_count OUT NOCOPY NUMBER,
2297 x_msg_data OUT NOCOPY VARCHAR2,
2298 x_email_id OUT NOCOPY NUMBER,
2299 x_email_os OUT NOCOPY VARCHAR2,
2300 x_email_osr OUT NOCOPY VARCHAR2
2301 )IS
2302 l_email_obj HZ_EMAIL_CP_BO;
2303 BEGIN
2304 l_email_obj := p_email_obj;
2305 do_update_contact_point (
2306 p_init_msg_list => p_init_msg_list,
2307 p_cp_id => l_email_obj.email_id,
2308 p_cp_os => l_email_obj.orig_system,
2309 p_cp_osr => l_email_obj.orig_system_reference,
2310 p_phone_obj => NULL,
2311 p_email_obj => l_email_obj,
2312 p_telex_obj => NULL,
2313 p_web_obj => NULL,
2314 p_edi_obj => NULL,
2315 p_eft_obj => NULL,
2316 p_sms_obj => NULL,
2317 p_cp_pref_objs => l_email_obj.contact_pref_objs,
2318 p_cp_type => 'EMAIL',
2319 p_created_by_module => p_created_by_module,
2320 p_obj_source => NULL,
2321 x_return_status => x_return_status,
2322 x_msg_count => x_msg_count,
2323 x_msg_data => x_msg_data,
2324 x_cp_id => x_email_id,
2325 x_cp_os => x_email_os,
2326 x_cp_osr => x_email_osr,
2327 p_parent_os => NULL );
2328 END update_email_bo;
2329
2330 PROCEDURE update_email_bo(
2331 p_email_obj IN HZ_EMAIL_CP_BO,
2332 p_created_by_module IN VARCHAR2,
2333 p_obj_source IN VARCHAR2 := null,
2334 p_return_obj_flag IN VARCHAR2 := fnd_api.g_true,
2335 x_return_status OUT NOCOPY VARCHAR2,
2336 x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL,
2337 x_return_obj OUT NOCOPY HZ_EMAIL_CP_BO,
2338 x_email_id OUT NOCOPY NUMBER,
2339 x_email_os OUT NOCOPY VARCHAR2,
2340 x_email_osr OUT NOCOPY VARCHAR2
2341 )IS
2342 l_msg_data VARCHAR2(2000);
2343 l_msg_count NUMBER;
2344 l_email_obj HZ_EMAIL_CP_BO;
2345 BEGIN
2346 l_email_obj := p_email_obj;
2347 do_update_contact_point (
2348 p_init_msg_list => fnd_api.g_true,
2349 p_cp_id => l_email_obj.email_id,
2350 p_cp_os => l_email_obj.orig_system,
2351 p_cp_osr => l_email_obj.orig_system_reference,
2352 p_phone_obj => NULL,
2353 p_email_obj => l_email_obj,
2354 p_telex_obj => NULL,
2358 p_sms_obj => NULL,
2355 p_web_obj => NULL,
2356 p_edi_obj => NULL,
2357 p_eft_obj => NULL,
2359 p_cp_pref_objs => l_email_obj.contact_pref_objs,
2360 p_cp_type => 'EMAIL',
2361 p_created_by_module => p_created_by_module,
2362 x_return_status => x_return_status,
2363 x_msg_count => l_msg_count,
2364 x_msg_data => l_msg_data,
2365 x_cp_id => x_email_id,
2366 x_cp_os => x_email_os,
2367 x_cp_osr => x_email_osr,
2368 p_parent_os => NULL );
2369 x_messages := HZ_PARTY_BO_PVT.return_all_messages(
2370 x_return_status => x_return_status,
2371 x_msg_count => l_msg_count,
2372 x_msg_data => l_msg_data);
2373 IF FND_API.to_Boolean(p_return_obj_flag) THEN
2374 x_return_obj := l_email_obj;
2375 END IF;
2376 END update_email_bo;
2377
2378 -- PROCEDURE update_web_bo
2379 --
2380 -- DESCRIPTION
2381 -- Update a logical web contact point.
2382 PROCEDURE update_web_bo(
2383 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
2384 p_web_obj IN HZ_WEB_CP_BO,
2385 p_created_by_module IN VARCHAR2,
2386 x_return_status OUT NOCOPY VARCHAR2,
2387 x_msg_count OUT NOCOPY NUMBER,
2388 x_msg_data OUT NOCOPY VARCHAR2,
2389 x_web_id OUT NOCOPY NUMBER,
2390 x_web_os OUT NOCOPY VARCHAR2,
2391 x_web_osr OUT NOCOPY VARCHAR2
2392 )IS
2393 l_web_obj HZ_WEB_CP_BO;
2394 BEGIN
2395 l_web_obj := p_web_obj;
2396 do_update_contact_point (
2397 p_init_msg_list => p_init_msg_list,
2398 p_cp_id => l_web_obj.web_id,
2399 p_cp_os => l_web_obj.orig_system,
2400 p_cp_osr => l_web_obj.orig_system_reference,
2401 p_phone_obj => NULL,
2402 p_email_obj => NULL,
2403 p_telex_obj => NULL,
2404 p_web_obj => l_web_obj,
2405 p_edi_obj => NULL,
2406 p_eft_obj => NULL,
2407 p_sms_obj => NULL,
2408 p_cp_pref_objs => l_web_obj.contact_pref_objs,
2409 p_cp_type => 'WEB',
2410 p_created_by_module => p_created_by_module,
2411 p_obj_source => NULL,
2412 x_return_status => x_return_status,
2413 x_msg_count => x_msg_count,
2414 x_msg_data => x_msg_data,
2415 x_cp_id => x_web_id,
2416 x_cp_os => x_web_os,
2417 x_cp_osr => x_web_osr,
2418 p_parent_os => NULL );
2419 END update_web_bo;
2420
2421 PROCEDURE update_web_bo(
2422 p_web_obj IN HZ_WEB_CP_BO,
2423 p_created_by_module IN VARCHAR2,
2424 p_obj_source IN VARCHAR2 := null,
2425 p_return_obj_flag IN VARCHAR2 := fnd_api.g_true,
2426 x_return_status OUT NOCOPY VARCHAR2,
2427 x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL,
2428 x_return_obj OUT NOCOPY HZ_WEB_CP_BO,
2429 x_web_id OUT NOCOPY NUMBER,
2430 x_web_os OUT NOCOPY VARCHAR2,
2431 x_web_osr OUT NOCOPY VARCHAR2
2432 )IS
2433 l_msg_data VARCHAR2(2000);
2434 l_msg_count NUMBER;
2435 l_web_obj HZ_WEB_CP_BO;
2436 BEGIN
2437 l_web_obj := p_web_obj;
2438 do_update_contact_point (
2439 p_init_msg_list => fnd_api.g_true,
2440 p_cp_id => l_web_obj.web_id,
2441 p_cp_os => l_web_obj.orig_system,
2442 p_cp_osr => l_web_obj.orig_system_reference,
2443 p_phone_obj => NULL,
2444 p_email_obj => NULL,
2445 p_telex_obj => NULL,
2446 p_web_obj => l_web_obj,
2447 p_edi_obj => NULL,
2448 p_eft_obj => NULL,
2449 p_sms_obj => NULL,
2450 p_cp_pref_objs => l_web_obj.contact_pref_objs,
2451 p_cp_type => 'WEB',
2452 p_created_by_module => p_created_by_module,
2453 x_return_status => x_return_status,
2454 x_msg_count => l_msg_count,
2455 x_msg_data => l_msg_data,
2456 x_cp_id => x_web_id,
2457 x_cp_os => x_web_os,
2458 x_cp_osr => x_web_osr,
2459 p_parent_os => NULL );
2460 x_messages := HZ_PARTY_BO_PVT.return_all_messages(
2461 x_return_status => x_return_status,
2462 x_msg_count => l_msg_count,
2463 x_msg_data => l_msg_data);
2464 IF FND_API.to_Boolean(p_return_obj_flag) THEN
2465 x_return_obj := l_web_obj;
2466 END IF;
2467 END update_web_bo;
2468
2469 -- PROCEDURE update_edi_bo
2470 --
2471 -- DESCRIPTION
2472 -- Update a logical edi contact point.
2473 PROCEDURE update_edi_bo(
2474 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
2475 p_edi_obj IN HZ_EDI_CP_BO,
2476 p_created_by_module IN VARCHAR2,
2477 x_return_status OUT NOCOPY VARCHAR2,
2478 x_msg_count OUT NOCOPY NUMBER,
2479 x_msg_data OUT NOCOPY VARCHAR2,
2480 x_edi_id OUT NOCOPY NUMBER,
2481 x_edi_os OUT NOCOPY VARCHAR2,
2482 x_edi_osr OUT NOCOPY VARCHAR2
2483 )IS
2484 l_edi_obj HZ_EDI_CP_BO;
2485 BEGIN
2486 l_edi_obj := p_edi_obj;
2490 p_cp_os => l_edi_obj.orig_system,
2487 do_update_contact_point (
2488 p_init_msg_list => p_init_msg_list,
2489 p_cp_id => l_edi_obj.edi_id,
2491 p_cp_osr => l_edi_obj.orig_system_reference,
2492 p_phone_obj => NULL,
2493 p_email_obj => NULL,
2494 p_telex_obj => NULL,
2495 p_web_obj => NULL,
2496 p_edi_obj => l_edi_obj,
2497 p_eft_obj => NULL,
2498 p_sms_obj => NULL,
2499 p_cp_pref_objs => l_edi_obj.contact_pref_objs,
2500 p_cp_type => 'EDI',
2501 p_created_by_module => p_created_by_module,
2502 p_obj_source => NULL,
2503 x_return_status => x_return_status,
2504 x_msg_count => x_msg_count,
2505 x_msg_data => x_msg_data,
2506 x_cp_id => x_edi_id,
2507 x_cp_os => x_edi_os,
2508 x_cp_osr => x_edi_osr,
2509 p_parent_os => NULL );
2510 END update_edi_bo;
2511
2512 PROCEDURE update_edi_bo(
2513 p_edi_obj IN HZ_EDI_CP_BO,
2514 p_created_by_module IN VARCHAR2,
2515 p_obj_source IN VARCHAR2 := null,
2516 p_return_obj_flag IN VARCHAR2 := fnd_api.g_true,
2517 x_return_status OUT NOCOPY VARCHAR2,
2518 x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL,
2519 x_return_obj OUT NOCOPY HZ_EDI_CP_BO,
2520 x_edi_id OUT NOCOPY NUMBER,
2521 x_edi_os OUT NOCOPY VARCHAR2,
2522 x_edi_osr OUT NOCOPY VARCHAR2
2523 )IS
2524 l_msg_data VARCHAR2(2000);
2525 l_msg_count NUMBER;
2526 l_edi_obj HZ_EDI_CP_BO;
2527 BEGIN
2528 l_edi_obj := p_edi_obj;
2529 do_update_contact_point (
2530 p_init_msg_list => fnd_api.g_true,
2531 p_cp_id => l_edi_obj.edi_id,
2532 p_cp_os => l_edi_obj.orig_system,
2533 p_cp_osr => l_edi_obj.orig_system_reference,
2534 p_phone_obj => NULL,
2535 p_email_obj => NULL,
2536 p_telex_obj => NULL,
2537 p_web_obj => NULL,
2538 p_edi_obj => l_edi_obj,
2539 p_eft_obj => NULL,
2540 p_sms_obj => NULL,
2541 p_cp_pref_objs => l_edi_obj.contact_pref_objs,
2542 p_cp_type => 'EDI',
2543 p_created_by_module => p_created_by_module,
2544 x_return_status => x_return_status,
2545 x_msg_count => l_msg_count,
2546 x_msg_data => l_msg_data,
2547 x_cp_id => x_edi_id,
2548 x_cp_os => x_edi_os,
2549 x_cp_osr => x_edi_osr,
2550 p_parent_os => NULL );
2551 x_messages := HZ_PARTY_BO_PVT.return_all_messages(
2552 x_return_status => x_return_status,
2553 x_msg_count => l_msg_count,
2554 x_msg_data => l_msg_data);
2555 IF FND_API.to_Boolean(p_return_obj_flag) THEN
2556 x_return_obj := l_edi_obj;
2557 END IF;
2558 END update_edi_bo;
2559
2560 -- PROCEDURE update_eft_bo
2561 --
2562 -- DESCRIPTION
2563 -- Update a logical eft contact point.
2564 PROCEDURE update_eft_bo(
2565 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
2566 p_eft_obj IN HZ_EFT_CP_BO,
2567 p_created_by_module IN VARCHAR2,
2568 x_return_status OUT NOCOPY VARCHAR2,
2569 x_msg_count OUT NOCOPY NUMBER,
2570 x_msg_data OUT NOCOPY VARCHAR2,
2571 x_eft_id OUT NOCOPY NUMBER,
2572 x_eft_os OUT NOCOPY VARCHAR2,
2573 x_eft_osr OUT NOCOPY VARCHAR2
2574 )IS
2575 l_eft_obj HZ_EFT_CP_BO;
2576 BEGIN
2577 l_eft_obj := p_eft_obj;
2578 do_update_contact_point (
2579 p_init_msg_list => p_init_msg_list,
2580 p_cp_id => l_eft_obj.eft_id,
2581 p_cp_os => l_eft_obj.orig_system,
2582 p_cp_osr => l_eft_obj.orig_system_reference,
2583 p_phone_obj => NULL,
2584 p_email_obj => NULL,
2585 p_telex_obj => NULL,
2586 p_web_obj => NULL,
2587 p_edi_obj => NULL,
2588 p_eft_obj => l_eft_obj,
2589 p_sms_obj => NULL,
2590 p_cp_pref_objs => l_eft_obj.contact_pref_objs,
2591 p_cp_type => 'EFT',
2592 p_created_by_module => p_created_by_module,
2593 p_obj_source => NULL,
2594 x_return_status => x_return_status,
2595 x_msg_count => x_msg_count,
2596 x_msg_data => x_msg_data,
2597 x_cp_id => x_eft_id,
2598 x_cp_os => x_eft_os,
2599 x_cp_osr => x_eft_osr,
2600 p_parent_os => NULL );
2601 END update_eft_bo;
2602
2603 PROCEDURE update_eft_bo(
2604 p_eft_obj IN HZ_EFT_CP_BO,
2605 p_created_by_module IN VARCHAR2,
2606 p_obj_source IN VARCHAR2 := null,
2607 p_return_obj_flag IN VARCHAR2 := fnd_api.g_true,
2608 x_return_status OUT NOCOPY VARCHAR2,
2609 x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL,
2610 x_return_obj OUT NOCOPY HZ_EFT_CP_BO,
2611 x_eft_id OUT NOCOPY NUMBER,
2612 x_eft_os OUT NOCOPY VARCHAR2,
2613 x_eft_osr OUT NOCOPY VARCHAR2
2614 )IS
2615 l_msg_data VARCHAR2(2000);
2616 l_msg_count NUMBER;
2620 do_update_contact_point (
2617 l_eft_obj HZ_EFT_CP_BO;
2618 BEGIN
2619 l_eft_obj := p_eft_obj;
2621 p_init_msg_list => fnd_api.g_true,
2622 p_cp_id => l_eft_obj.eft_id,
2623 p_cp_os => l_eft_obj.orig_system,
2624 p_cp_osr => l_eft_obj.orig_system_reference,
2625 p_phone_obj => NULL,
2626 p_email_obj => NULL,
2627 p_telex_obj => NULL,
2628 p_web_obj => NULL,
2629 p_edi_obj => NULL,
2630 p_eft_obj => l_eft_obj,
2631 p_sms_obj => NULL,
2632 p_cp_pref_objs => l_eft_obj.contact_pref_objs,
2633 p_cp_type => 'EFT',
2634 p_created_by_module => p_created_by_module,
2635 x_return_status => x_return_status,
2636 x_msg_count => l_msg_count,
2637 x_msg_data => l_msg_data,
2638 x_cp_id => x_eft_id,
2639 x_cp_os => x_eft_os,
2640 x_cp_osr => x_eft_osr,
2641 p_parent_os => NULL );
2642 x_messages := HZ_PARTY_BO_PVT.return_all_messages(
2643 x_return_status => x_return_status,
2644 x_msg_count => l_msg_count,
2645 x_msg_data => l_msg_data);
2646 IF FND_API.to_Boolean(p_return_obj_flag) THEN
2647 x_return_obj := l_eft_obj;
2648 END IF;
2649 END update_eft_bo;
2650
2651 -- PROCEDURE update_sms_bo
2652 --
2653 -- DESCRIPTION
2654 -- Update a logical sms contact point.
2655 PROCEDURE update_sms_bo(
2656 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
2657 p_sms_obj IN HZ_SMS_CP_BO,
2658 p_created_by_module IN VARCHAR2,
2659 x_return_status OUT NOCOPY VARCHAR2,
2660 x_msg_count OUT NOCOPY NUMBER,
2661 x_msg_data OUT NOCOPY VARCHAR2,
2662 x_sms_id OUT NOCOPY NUMBER,
2663 x_sms_os OUT NOCOPY VARCHAR2,
2664 x_sms_osr OUT NOCOPY VARCHAR2
2665 )IS
2666 l_sms_obj HZ_SMS_CP_BO;
2667 BEGIN
2668 l_sms_obj := p_sms_obj;
2669 do_update_contact_point (
2670 p_init_msg_list => p_init_msg_list,
2671 p_cp_id => l_sms_obj.sms_id,
2672 p_cp_os => l_sms_obj.orig_system,
2673 p_cp_osr => l_sms_obj.orig_system_reference,
2674 p_phone_obj => NULL,
2675 p_email_obj => NULL,
2676 p_telex_obj => NULL,
2677 p_web_obj => NULL,
2678 p_edi_obj => NULL,
2679 p_eft_obj => NULL,
2680 p_sms_obj => l_sms_obj,
2681 p_cp_pref_objs => l_sms_obj.contact_pref_objs,
2682 p_cp_type => 'SMS',
2683 p_created_by_module => p_created_by_module,
2684 p_obj_source => NULL,
2685 x_return_status => x_return_status,
2686 x_msg_count => x_msg_count,
2687 x_msg_data => x_msg_data,
2688 x_cp_id => x_sms_id,
2689 x_cp_os => x_sms_os,
2690 x_cp_osr => x_sms_osr,
2691 p_parent_os => NULL );
2692 END update_sms_bo;
2693
2694 PROCEDURE update_sms_bo(
2695 p_sms_obj IN HZ_SMS_CP_BO,
2696 p_created_by_module IN VARCHAR2,
2697 p_obj_source IN VARCHAR2 := null,
2698 p_return_obj_flag IN VARCHAR2 := fnd_api.g_true,
2699 x_return_status OUT NOCOPY VARCHAR2,
2700 x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL,
2701 x_return_obj OUT NOCOPY HZ_SMS_CP_BO,
2702 x_sms_id OUT NOCOPY NUMBER,
2703 x_sms_os OUT NOCOPY VARCHAR2,
2704 x_sms_osr OUT NOCOPY VARCHAR2
2705 )IS
2706 l_msg_data VARCHAR2(2000);
2707 l_msg_count NUMBER;
2708 l_sms_obj HZ_SMS_CP_BO;
2709 BEGIN
2710 l_sms_obj := p_sms_obj;
2711 do_update_contact_point (
2712 p_init_msg_list => fnd_api.g_true,
2713 p_cp_id => l_sms_obj.sms_id,
2714 p_cp_os => l_sms_obj.orig_system,
2715 p_cp_osr => l_sms_obj.orig_system_reference,
2716 p_phone_obj => NULL,
2717 p_email_obj => NULL,
2718 p_telex_obj => NULL,
2719 p_web_obj => NULL,
2720 p_edi_obj => NULL,
2721 p_eft_obj => NULL,
2722 p_sms_obj => l_sms_obj,
2723 p_cp_pref_objs => l_sms_obj.contact_pref_objs,
2724 p_cp_type => 'SMS',
2725 p_created_by_module => p_created_by_module,
2726 x_return_status => x_return_status,
2727 x_msg_count => l_msg_count,
2728 x_msg_data => l_msg_data,
2729 x_cp_id => x_sms_id,
2730 x_cp_os => x_sms_os,
2731 x_cp_osr => x_sms_osr,
2732 p_parent_os => NULL );
2733 x_messages := HZ_PARTY_BO_PVT.return_all_messages(
2734 x_return_status => x_return_status,
2735 x_msg_count => l_msg_count,
2736 x_msg_data => l_msg_data);
2737 IF FND_API.to_Boolean(p_return_obj_flag) THEN
2738 x_return_obj := l_sms_obj;
2739 END IF;
2740 END update_sms_bo;
2741
2742 -- PRIVATE PROCEDURE do_update_contact_point
2743 --
2744 -- DESCRIPTION
2745 -- Update contact point.
2746 PROCEDURE do_update_contact_point (
2747 p_init_msg_list IN VARCHAR2:= FND_API.G_FALSE,
2748 p_cp_id IN NUMBER,
2752 p_email_obj IN HZ_EMAIL_CP_BO,
2749 p_cp_os IN VARCHAR2,
2750 p_cp_osr IN VARCHAR2,
2751 p_phone_obj IN HZ_PHONE_CP_BO,
2753 p_telex_obj IN HZ_TELEX_CP_BO,
2754 p_web_obj IN HZ_WEB_CP_BO,
2755 p_edi_obj IN HZ_EDI_CP_BO,
2756 p_eft_obj IN HZ_EFT_CP_BO,
2757 p_sms_obj IN HZ_SMS_CP_BO,
2758 p_cp_pref_objs IN OUT NOCOPY HZ_CONTACT_PREF_OBJ_TBL,
2759 p_cp_type IN VARCHAR2,
2760 p_created_by_module IN VARCHAR2,
2761 p_obj_source IN VARCHAR2 := null,
2762 x_return_status OUT NOCOPY VARCHAR2,
2763 x_msg_count OUT NOCOPY NUMBER,
2764 x_msg_data OUT NOCOPY VARCHAR2,
2765 x_cp_id OUT NOCOPY NUMBER,
2766 x_cp_os OUT NOCOPY VARCHAR2,
2767 x_cp_osr OUT NOCOPY VARCHAR2,
2768 p_parent_os IN VARCHAR2
2769 ) IS
2770 l_debug_prefix VARCHAR2(30);
2771 l_contact_point_rec HZ_CONTACT_POINT_V2PUB.CONTACT_POINT_REC_TYPE;
2772 l_phone_rec HZ_CONTACT_POINT_V2PUB.PHONE_REC_TYPE;
2773 l_email_rec HZ_CONTACT_POINT_V2PUB.EMAIL_REC_TYPE;
2774 l_telex_rec HZ_CONTACT_POINT_V2PUB.TELEX_REC_TYPE;
2775 l_web_rec HZ_CONTACT_POINT_V2PUB.WEB_REC_TYPE;
2776 l_edi_rec HZ_CONTACT_POINT_V2PUB.EDI_REC_TYPE;
2777 l_eft_rec HZ_CONTACT_POINT_V2PUB.EFT_REC_TYPE;
2778 l_sms_rec HZ_CONTACT_POINT_V2PUB.PHONE_REC_TYPE;
2779 l_contact_pref_rec HZ_CONTACT_PREFERENCE_V2PUB.CONTACT_PREFERENCE_REC_TYPE;
2780 l_contact_pref_id NUMBER;
2781 l_ovn NUMBER;
2782 l_owner_table_id NUMBER;
2783 l_owner_table_name VARCHAR2(30);
2784 l_create_update_flag VARCHAR2(1);
2785 l_os VARCHAR2(30);
2786 l_osr VARCHAR2(255);
2787 l_orig_sys_reference_rec HZ_ORIG_SYSTEM_REF_PUB.ORIG_SYS_REFERENCE_REC_TYPE;
2788
2789 CURSOR get_ovn(l_contact_point_id NUMBER) IS
2790 SELECT object_version_number, owner_table_id, owner_table_name
2791 FROM HZ_CONTACT_POINTS
2792 WHERE contact_point_id = l_contact_point_id;
2793
2794 BEGIN
2795 -- Standard start of API savepoint
2796 SAVEPOINT do_update_contact_point_pub;
2797
2798 -- initialize API return status to success.
2799 x_return_status := FND_API.G_RET_STS_SUCCESS;
2800
2801 -- Initialize message list if p_init_msg_list is set to TRUE
2802 IF FND_API.to_Boolean(p_init_msg_list) THEN
2803 FND_MSG_PUB.initialize;
2804 END IF;
2805
2806 -- initialize Global variable
2807 HZ_UTILITY_V2PUB.G_CALLING_API := 'BO_API';
2808 IF(p_created_by_module IS NULL) THEN
2809 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := 'BO_API';
2810 ELSE
2811 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := p_created_by_module;
2812 END IF;
2813
2814 -- Debug info.
2815 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
2816 hz_utility_v2pub.debug(p_message=>'do_update_contact_point (+)',
2817 p_prefix=>l_debug_prefix,
2818 p_msg_level=>fnd_log.level_procedure);
2819 END IF;
2820
2821 -- get contact point id and os+osr
2822 x_cp_id := p_cp_id;
2823 x_cp_os := p_cp_os;
2824 x_cp_osr := p_cp_osr;
2825
2826 -- check if pass in contact_point_id and ssm is valid for update
2827 hz_registry_validate_bo_pvt.validate_ssm_id(
2828 px_id => x_cp_id,
2829 px_os => x_cp_os,
2830 px_osr => x_cp_osr,
2831 p_obj_type => p_cp_type,
2832 p_create_or_update => 'U',
2833 x_return_status => x_return_status,
2834 x_msg_count => x_msg_count,
2835 x_msg_data => x_msg_data);
2836
2837 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2838 RAISE FND_API.G_EXC_ERROR;
2839 END IF;
2840
2841 OPEN get_ovn(x_cp_id);
2842 FETCH get_ovn INTO l_ovn, l_owner_table_id, l_owner_table_name;
2843 CLOSE get_ovn;
2844
2845 -- step 2) call update contact point
2846 -- Assign contact point type record, call contact point v2pub update api
2847 IF(p_cp_type = 'PHONE') THEN
2848 assign_phone_rec(
2849 p_phone_obj => p_phone_obj,
2850 p_owner_table_id => l_owner_table_id,
2851 p_owner_table_name => l_owner_table_name,
2852 p_cp_id => x_cp_id,
2853 p_cp_os => x_cp_os,
2854 p_cp_osr => x_cp_osr,
2855 p_cp_type => p_cp_type,
2856 p_create_or_update => 'U',
2857 px_phone_rec => l_phone_rec,
2858 px_contact_point_rec => l_contact_point_rec
2859 );
2860
2861 HZ_CONTACT_POINT_V2PUB.update_phone_contact_point(
2862 p_contact_point_rec => l_contact_point_rec,
2863 p_phone_rec => l_phone_rec,
2864 p_object_version_number => l_ovn,
2865 x_return_status => x_return_status,
2866 x_msg_count => x_msg_count,
2867 x_msg_data => x_msg_data
2868 );
2869
2870 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2871 RAISE FND_API.G_EXC_ERROR;
2872 END IF;
2873 ELSIF(p_cp_type = 'EMAIL') THEN
2874 assign_email_rec(
2875 p_email_obj => p_email_obj,
2879 p_cp_os => x_cp_os,
2876 p_owner_table_id => l_owner_table_id,
2877 p_owner_table_name => l_owner_table_name,
2878 p_cp_id => x_cp_id,
2880 p_cp_osr => x_cp_osr,
2881 p_cp_type => p_cp_type,
2882 p_create_or_update => 'U',
2883 px_email_rec => l_email_rec,
2884 px_contact_point_rec => l_contact_point_rec
2885 );
2886
2887 HZ_CONTACT_POINT_V2PUB.update_email_contact_point(
2888 p_contact_point_rec => l_contact_point_rec,
2889 p_email_rec => l_email_rec,
2890 p_object_version_number => l_ovn,
2891 x_return_status => x_return_status,
2892 x_msg_count => x_msg_count,
2893 x_msg_data => x_msg_data
2894 );
2895
2896 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2897 RAISE FND_API.G_EXC_ERROR;
2898 END IF;
2899 ELSIF(p_cp_type = 'TLX') THEN
2900 assign_telex_rec(
2901 p_telex_obj => p_telex_obj,
2902 p_owner_table_id => l_owner_table_id,
2903 p_owner_table_name => l_owner_table_name,
2904 p_cp_id => x_cp_id,
2905 p_cp_os => x_cp_os,
2906 p_cp_osr => x_cp_osr,
2907 p_cp_type => p_cp_type,
2908 p_create_or_update => 'U',
2909 px_telex_rec => l_telex_rec,
2910 px_contact_point_rec => l_contact_point_rec
2911 );
2912
2913 HZ_CONTACT_POINT_V2PUB.update_telex_contact_point(
2914 p_contact_point_rec => l_contact_point_rec,
2915 p_telex_rec => l_telex_rec,
2916 p_object_version_number => l_ovn,
2917 x_return_status => x_return_status,
2918 x_msg_count => x_msg_count,
2919 x_msg_data => x_msg_data
2920 );
2921
2922 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2923 RAISE FND_API.G_EXC_ERROR;
2924 END IF;
2925 ELSIF(p_cp_type = 'WEB') THEN
2926 assign_web_rec(
2927 p_web_obj => p_web_obj,
2928 p_owner_table_id => l_owner_table_id,
2929 p_owner_table_name => l_owner_table_name,
2930 p_cp_id => x_cp_id,
2931 p_cp_os => x_cp_os,
2932 p_cp_osr => x_cp_osr,
2933 p_cp_type => p_cp_type,
2934 p_create_or_update => 'U',
2935 px_web_rec => l_web_rec,
2936 px_contact_point_rec => l_contact_point_rec
2937 );
2938
2939 HZ_CONTACT_POINT_V2PUB.update_web_contact_point(
2940 p_contact_point_rec => l_contact_point_rec,
2941 p_web_rec => l_web_rec,
2942 p_object_version_number => l_ovn,
2943 x_return_status => x_return_status,
2944 x_msg_count => x_msg_count,
2945 x_msg_data => x_msg_data
2946 );
2947
2948 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2949 RAISE FND_API.G_EXC_ERROR;
2950 END IF;
2951 ELSIF(p_cp_type = 'EDI') THEN
2952 assign_edi_rec(
2953 p_edi_obj => p_edi_obj,
2954 p_owner_table_id => l_owner_table_id,
2955 p_owner_table_name => l_owner_table_name,
2956 p_cp_id => x_cp_id,
2957 p_cp_os => x_cp_os,
2958 p_cp_osr => x_cp_osr,
2959 p_cp_type => p_cp_type,
2960 p_create_or_update => 'U',
2961 px_edi_rec => l_edi_rec,
2962 px_contact_point_rec => l_contact_point_rec
2963 );
2964
2965 HZ_CONTACT_POINT_V2PUB.update_edi_contact_point(
2966 p_contact_point_rec => l_contact_point_rec,
2967 p_edi_rec => l_edi_rec,
2968 p_object_version_number => l_ovn,
2969 x_return_status => x_return_status,
2970 x_msg_count => x_msg_count,
2971 x_msg_data => x_msg_data
2972 );
2973
2974 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2975 RAISE FND_API.G_EXC_ERROR;
2976 END IF;
2977 ELSIF(p_cp_type = 'EFT') THEN
2978 assign_eft_rec(
2979 p_eft_obj => p_eft_obj,
2980 p_owner_table_id => l_owner_table_id,
2981 p_owner_table_name => l_owner_table_name,
2982 p_cp_id => x_cp_id,
2983 p_cp_os => x_cp_os,
2984 p_cp_osr => x_cp_osr,
2985 p_cp_type => p_cp_type,
2986 p_create_or_update => 'U',
2987 px_eft_rec => l_eft_rec,
2988 px_contact_point_rec => l_contact_point_rec
2989 );
2990
2991 HZ_CONTACT_POINT_V2PUB.update_eft_contact_point(
2992 p_contact_point_rec => l_contact_point_rec,
2993 p_eft_rec => l_eft_rec,
2994 p_object_version_number => l_ovn,
2995 x_return_status => x_return_status,
2996 x_msg_count => x_msg_count,
2997 x_msg_data => x_msg_data
2998 );
2999
3000 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3001 RAISE FND_API.G_EXC_ERROR;
3002 END IF;
3003 ELSIF(p_cp_type = 'SMS') THEN
3004 assign_sms_rec(
3005 p_sms_obj => p_sms_obj,
3006 p_owner_table_id => l_owner_table_id,
3007 p_owner_table_name => l_owner_table_name,
3008 p_cp_id => x_cp_id,
3009 p_cp_os => x_cp_os,
3010 p_cp_osr => x_cp_osr,
3014 px_contact_point_rec => l_contact_point_rec
3011 p_cp_type => p_cp_type,
3012 p_create_or_update => 'U',
3013 px_sms_rec => l_sms_rec,
3015 );
3016
3017 HZ_CONTACT_POINT_V2PUB.update_phone_contact_point(
3018 p_contact_point_rec => l_contact_point_rec,
3019 p_phone_rec => l_sms_rec,
3020 p_object_version_number => l_ovn,
3021 x_return_status => x_return_status,
3022 x_msg_count => x_msg_count,
3023 x_msg_data => x_msg_data
3024 );
3025
3026 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3027 RAISE FND_API.G_EXC_ERROR;
3028 END IF;
3029 END IF;
3030
3031 IF((p_cp_pref_objs IS NOT NULL) AND (p_cp_pref_objs.COUNT > 0)) THEN
3032 -- create or update contact preferences
3033 HZ_CONTACT_PREFERENCE_BO_PVT.save_contact_preferences(
3034 p_cp_pref_objs => p_cp_pref_objs,
3035 p_contact_level_table_id => x_cp_id,
3036 p_contact_level_table => 'HZ_CONTACT_POINTS',
3037 x_return_status => x_return_status,
3038 x_msg_count => x_msg_count,
3039 x_msg_data => x_msg_data
3040 );
3041 END IF;
3042
3043 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3044 RAISE FND_API.G_EXC_ERROR;
3045 END IF;
3046
3047 -- reset Global variable
3048 HZ_UTILITY_V2PUB.G_CALLING_API := NULL;
3049 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := NULL;
3050
3051 -- Debug info.
3052 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
3053 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
3054 p_msg_data=>x_msg_data,
3055 p_msg_type=>'WARNING',
3056 p_msg_level=>fnd_log.level_exception);
3057 END IF;
3058 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3059 hz_utility_v2pub.debug(p_message=>'update_logical_cp(-)',
3060 p_prefix=>l_debug_prefix,
3061 p_msg_level=>fnd_log.level_procedure);
3062 END IF;
3063
3064 EXCEPTION
3065 WHEN fnd_api.g_exc_error THEN
3066 ROLLBACK TO do_update_contact_point_pub;
3067
3068 -- reset Global variable
3069 HZ_UTILITY_V2PUB.G_CALLING_API := NULL;
3070 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := NULL;
3071
3072 FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_OBJECT_ERROR');
3073 FND_MESSAGE.SET_TOKEN('OBJECT', p_cp_type);
3074 FND_MSG_PUB.ADD;
3075
3076 x_return_status := fnd_api.g_ret_sts_error;
3077
3078 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
3079 p_count => x_msg_count,
3080 p_data => x_msg_data);
3081
3082 -- Debug info.
3083 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
3084 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
3085 p_msg_data=>x_msg_data,
3086 p_msg_type=>'ERROR',
3087 p_msg_level=>fnd_log.level_error);
3088 END IF;
3089 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3090 hz_utility_v2pub.debug(p_message=>'do_update_contact_point (-)',
3091 p_prefix=>l_debug_prefix,
3092 p_msg_level=>fnd_log.level_procedure);
3093 END IF;
3094
3095 WHEN fnd_api.g_exc_unexpected_error THEN
3096 ROLLBACK TO do_update_contact_point_pub;
3097
3098 -- reset Global variable
3099 HZ_UTILITY_V2PUB.G_CALLING_API := NULL;
3100 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := NULL;
3101
3102 FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_OBJECT_ERROR');
3103 FND_MESSAGE.SET_TOKEN('OBJECT', p_cp_type);
3104 FND_MSG_PUB.ADD;
3105
3106 x_return_status := fnd_api.g_ret_sts_unexp_error;
3107
3108 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
3109 p_count => x_msg_count,
3110 p_data => x_msg_data);
3111
3112 -- Debug info.
3113 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
3114 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
3115 p_msg_data=>x_msg_data,
3116 p_msg_type=>'UNEXPECTED ERROR',
3117 p_msg_level=>fnd_log.level_error);
3118 END IF;
3119 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3120 hz_utility_v2pub.debug(p_message=>'do_update_contact_point (-)',
3121 p_prefix=>l_debug_prefix,
3122 p_msg_level=>fnd_log.level_procedure);
3123 END IF;
3124
3125 WHEN OTHERS THEN
3126 ROLLBACK TO do_update_contact_point_pub;
3127
3128 -- reset Global variable
3129 HZ_UTILITY_V2PUB.G_CALLING_API := NULL;
3130 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := NULL;
3131
3132 FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_OBJECT_ERROR');
3133 FND_MESSAGE.SET_TOKEN('OBJECT', p_cp_type);
3134 FND_MSG_PUB.ADD;
3135
3136 x_return_status := fnd_api.g_ret_sts_unexp_error;
3137
3138 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
3139 fnd_message.set_token('ERROR' ,SQLERRM);
3140 fnd_msg_pub.add;
3141
3142 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
3143 p_count => x_msg_count,
3144 p_data => x_msg_data);
3145
3146 -- Debug info.
3150 p_msg_type=>'SQL ERROR',
3147 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
3148 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
3149 p_msg_data=>x_msg_data,
3151 p_msg_level=>fnd_log.level_error);
3152 END IF;
3153 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3154 hz_utility_v2pub.debug(p_message=>'do_update_contact_point (-)',
3155 p_prefix=>l_debug_prefix,
3156 p_msg_level=>fnd_log.level_procedure);
3157 END IF;
3158 END do_update_contact_point;
3159
3160 -- PROCEDURE save_phone_bo
3161 --
3162 -- DESCRIPTION
3163 -- Create or update a logical phone contact point.
3164 PROCEDURE save_phone_bo(
3165 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
3166 p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
3167 p_phone_obj IN HZ_PHONE_CP_BO,
3168 p_created_by_module IN VARCHAR2,
3169 x_return_status OUT NOCOPY VARCHAR2,
3170 x_msg_count OUT NOCOPY NUMBER,
3171 x_msg_data OUT NOCOPY VARCHAR2,
3172 x_phone_id OUT NOCOPY NUMBER,
3173 x_phone_os OUT NOCOPY VARCHAR2,
3174 x_phone_osr OUT NOCOPY VARCHAR2,
3175 px_parent_id IN OUT NOCOPY NUMBER,
3176 px_parent_os IN OUT NOCOPY VARCHAR2,
3177 px_parent_osr IN OUT NOCOPY VARCHAR2,
3178 px_parent_obj_type IN OUT NOCOPY VARCHAR2
3179 ) IS
3180 l_phone_obj HZ_PHONE_CP_BO;
3181 BEGIN
3182 l_phone_obj := p_phone_obj;
3183 do_save_contact_point (
3184 p_init_msg_list => p_init_msg_list,
3185 p_validate_bo_flag => p_validate_bo_flag,
3186 p_cp_id => l_phone_obj.phone_id,
3187 p_cp_os => l_phone_obj.orig_system,
3188 p_cp_osr => l_phone_obj.orig_system_reference,
3189 p_phone_obj => l_phone_obj,
3190 p_email_obj => NULL,
3191 p_telex_obj => NULL,
3192 p_web_obj => NULL,
3193 p_edi_obj => NULL,
3194 p_eft_obj => NULL,
3195 p_sms_obj => NULL,
3196 p_cp_pref_objs => l_phone_obj.contact_pref_objs,
3197 p_cp_type => 'PHONE',
3198 p_created_by_module => p_created_by_module,
3199 p_obj_source => NULL,
3200 x_return_status => x_return_status,
3201 x_msg_count => x_msg_count,
3202 x_msg_data => x_msg_data,
3203 x_cp_id => x_phone_id,
3204 x_cp_os => x_phone_os,
3205 x_cp_osr => x_phone_osr,
3206 px_parent_id => px_parent_id,
3207 px_parent_os => px_parent_os,
3208 px_parent_osr => px_parent_osr,
3209 px_parent_obj_type => px_parent_obj_type
3210 );
3211 END save_phone_bo;
3212
3213 PROCEDURE save_phone_bo(
3214 p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
3215 p_phone_obj IN HZ_PHONE_CP_BO,
3216 p_created_by_module IN VARCHAR2,
3217 p_obj_source IN VARCHAR2 := null,
3218 p_return_obj_flag IN VARCHAR2 := fnd_api.g_true,
3219 x_return_status OUT NOCOPY VARCHAR2,
3220 x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL,
3221 x_return_obj OUT NOCOPY HZ_PHONE_CP_BO,
3222 x_phone_id OUT NOCOPY NUMBER,
3223 x_phone_os OUT NOCOPY VARCHAR2,
3224 x_phone_osr OUT NOCOPY VARCHAR2,
3225 px_parent_id IN OUT NOCOPY NUMBER,
3226 px_parent_os IN OUT NOCOPY VARCHAR2,
3227 px_parent_osr IN OUT NOCOPY VARCHAR2,
3228 px_parent_obj_type IN OUT NOCOPY VARCHAR2
3229 ) IS
3230 l_msg_data VARCHAR2(2000);
3231 l_msg_count NUMBER;
3232 l_phone_obj HZ_PHONE_CP_BO;
3233 BEGIN
3234 l_phone_obj := p_phone_obj;
3235 do_save_contact_point (
3236 p_init_msg_list => fnd_api.g_true,
3237 p_validate_bo_flag => p_validate_bo_flag,
3238 p_cp_id => l_phone_obj.phone_id,
3239 p_cp_os => l_phone_obj.orig_system,
3240 p_cp_osr => l_phone_obj.orig_system_reference,
3241 p_phone_obj => l_phone_obj,
3242 p_email_obj => NULL,
3243 p_telex_obj => NULL,
3244 p_web_obj => NULL,
3245 p_edi_obj => NULL,
3246 p_eft_obj => NULL,
3247 p_sms_obj => NULL,
3248 p_cp_pref_objs => l_phone_obj.contact_pref_objs,
3249 p_cp_type => 'PHONE',
3250 p_created_by_module => p_created_by_module,
3251 p_obj_source => p_obj_source,
3252 x_return_status => x_return_status,
3253 x_msg_count => l_msg_count,
3254 x_msg_data => l_msg_data,
3255 x_cp_id => x_phone_id,
3256 x_cp_os => x_phone_os,
3257 x_cp_osr => x_phone_osr,
3258 px_parent_id => px_parent_id,
3259 px_parent_os => px_parent_os,
3260 px_parent_osr => px_parent_osr,
3261 px_parent_obj_type => px_parent_obj_type
3262 );
3263 l_phone_obj.phone_id := x_phone_id;
3264 x_messages := HZ_PARTY_BO_PVT.return_all_messages(
3265 x_return_status => x_return_status,
3266 x_msg_count => l_msg_count,
3267 x_msg_data => l_msg_data);
3268 IF FND_API.to_Boolean(p_return_obj_flag) THEN
3269 x_return_obj := l_phone_obj;
3270 END IF;
3271 END save_phone_bo;
3275 -- DESCRIPTION
3272
3273 -- PROCEDURE save_email_bo
3274 --
3276 -- Create or update a logical email contact point.
3277 PROCEDURE save_email_bo(
3278 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
3279 p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
3280 p_email_obj IN HZ_EMAIL_CP_BO,
3281 p_created_by_module IN VARCHAR2,
3282 x_return_status OUT NOCOPY VARCHAR2,
3283 x_msg_count OUT NOCOPY NUMBER,
3284 x_msg_data OUT NOCOPY VARCHAR2,
3285 x_email_id OUT NOCOPY NUMBER,
3286 x_email_os OUT NOCOPY VARCHAR2,
3287 x_email_osr OUT NOCOPY VARCHAR2,
3288 px_parent_id IN OUT NOCOPY NUMBER,
3289 px_parent_os IN OUT NOCOPY VARCHAR2,
3290 px_parent_osr IN OUT NOCOPY VARCHAR2,
3291 px_parent_obj_type IN OUT NOCOPY VARCHAR2
3292 ) IS
3293 l_email_obj HZ_EMAIL_CP_BO;
3294 BEGIN
3295 l_email_obj := p_email_obj;
3296 do_save_contact_point (
3297 p_init_msg_list => p_init_msg_list,
3298 p_validate_bo_flag => p_validate_bo_flag,
3299 p_cp_id => l_email_obj.email_id,
3300 p_cp_os => l_email_obj.orig_system,
3301 p_cp_osr => l_email_obj.orig_system_reference,
3302 p_phone_obj => NULL,
3303 p_email_obj => l_email_obj,
3304 p_telex_obj => NULL,
3305 p_web_obj => NULL,
3306 p_edi_obj => NULL,
3307 p_eft_obj => NULL,
3308 p_sms_obj => NULL,
3309 p_cp_pref_objs => l_email_obj.contact_pref_objs,
3310 p_cp_type => 'EMAIL',
3311 p_created_by_module => p_created_by_module,
3312 p_obj_source => NULL,
3313 x_return_status => x_return_status,
3314 x_msg_count => x_msg_count,
3315 x_msg_data => x_msg_data,
3316 x_cp_id => x_email_id,
3317 x_cp_os => x_email_os,
3318 x_cp_osr => x_email_osr,
3319 px_parent_id => px_parent_id,
3320 px_parent_os => px_parent_os,
3321 px_parent_osr => px_parent_osr,
3322 px_parent_obj_type => px_parent_obj_type
3323 );
3324 END save_email_bo;
3325
3326 PROCEDURE save_email_bo(
3327 p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
3328 p_email_obj IN HZ_EMAIL_CP_BO,
3329 p_created_by_module IN VARCHAR2,
3330 p_obj_source IN VARCHAR2 := null,
3331 p_return_obj_flag IN VARCHAR2 := fnd_api.g_true,
3332 x_return_status OUT NOCOPY VARCHAR2,
3333 x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL,
3334 x_return_obj OUT NOCOPY HZ_EMAIL_CP_BO,
3335 x_email_id OUT NOCOPY NUMBER,
3336 x_email_os OUT NOCOPY VARCHAR2,
3337 x_email_osr OUT NOCOPY VARCHAR2,
3338 px_parent_id IN OUT NOCOPY NUMBER,
3339 px_parent_os IN OUT NOCOPY VARCHAR2,
3340 px_parent_osr IN OUT NOCOPY VARCHAR2,
3341 px_parent_obj_type IN OUT NOCOPY VARCHAR2
3342 ) IS
3343 l_msg_data VARCHAR2(2000);
3344 l_msg_count NUMBER;
3345 l_email_obj HZ_EMAIL_CP_BO;
3346 BEGIN
3347 l_email_obj := p_email_obj;
3348 do_save_contact_point (
3349 p_init_msg_list => fnd_api.g_true,
3350 p_validate_bo_flag => p_validate_bo_flag,
3351 p_cp_id => l_email_obj.email_id,
3352 p_cp_os => l_email_obj.orig_system,
3353 p_cp_osr => l_email_obj.orig_system_reference,
3354 p_phone_obj => NULL,
3355 p_email_obj => l_email_obj,
3356 p_telex_obj => NULL,
3357 p_web_obj => NULL,
3358 p_edi_obj => NULL,
3359 p_eft_obj => NULL,
3360 p_sms_obj => NULL,
3361 p_cp_pref_objs => l_email_obj.contact_pref_objs,
3362 p_cp_type => 'EMAIL',
3363 p_created_by_module => p_created_by_module,
3364 p_obj_source => p_obj_source,
3365 x_return_status => x_return_status,
3366 x_msg_count => l_msg_count,
3367 x_msg_data => l_msg_data,
3368 x_cp_id => x_email_id,
3369 x_cp_os => x_email_os,
3370 x_cp_osr => x_email_osr,
3371 px_parent_id => px_parent_id,
3372 px_parent_os => px_parent_os,
3373 px_parent_osr => px_parent_osr,
3374 px_parent_obj_type => px_parent_obj_type
3375 );
3376 l_email_obj.email_id := x_email_id;
3377 x_messages := HZ_PARTY_BO_PVT.return_all_messages(
3378 x_return_status => x_return_status,
3379 x_msg_count => l_msg_count,
3380 x_msg_data => l_msg_data);
3381 IF FND_API.to_Boolean(p_return_obj_flag) THEN
3382 x_return_obj := l_email_obj;
3383 END IF;
3384 END save_email_bo;
3385
3386 -- PROCEDURE save_telex_bo
3387 --
3388 -- DESCRIPTION
3389 -- Create or update a logical telex contact point.
3390 PROCEDURE save_telex_bo(
3391 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
3392 p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
3393 p_telex_obj IN HZ_TELEX_CP_BO,
3394 p_created_by_module IN VARCHAR2,
3395 x_return_status OUT NOCOPY VARCHAR2,
3396 x_msg_count OUT NOCOPY NUMBER,
3397 x_msg_data OUT NOCOPY VARCHAR2,
3398 x_telex_id OUT NOCOPY NUMBER,
3402 px_parent_os IN OUT NOCOPY VARCHAR2,
3399 x_telex_os OUT NOCOPY VARCHAR2,
3400 x_telex_osr OUT NOCOPY VARCHAR2,
3401 px_parent_id IN OUT NOCOPY NUMBER,
3403 px_parent_osr IN OUT NOCOPY VARCHAR2,
3404 px_parent_obj_type IN OUT NOCOPY VARCHAR2
3405 ) IS
3406 l_telex_obj HZ_TELEX_CP_BO;
3407 BEGIN
3408 l_telex_obj := p_telex_obj;
3409 do_save_contact_point (
3410 p_init_msg_list => p_init_msg_list,
3411 p_validate_bo_flag => p_validate_bo_flag,
3412 p_cp_id => l_telex_obj.telex_id,
3413 p_cp_os => l_telex_obj.orig_system,
3414 p_cp_osr => l_telex_obj.orig_system_reference,
3415 p_phone_obj => NULL,
3416 p_email_obj => NULL,
3417 p_telex_obj => l_telex_obj,
3418 p_web_obj => NULL,
3419 p_edi_obj => NULL,
3420 p_eft_obj => NULL,
3421 p_sms_obj => NULL,
3422 p_cp_pref_objs => l_telex_obj.contact_pref_objs,
3423 p_cp_type => 'TLX',
3424 p_created_by_module => p_created_by_module,
3425 p_obj_source => NULL,
3426 x_return_status => x_return_status,
3427 x_msg_count => x_msg_count,
3428 x_msg_data => x_msg_data,
3429 x_cp_id => x_telex_id,
3430 x_cp_os => x_telex_os,
3431 x_cp_osr => x_telex_osr,
3432 px_parent_id => px_parent_id,
3433 px_parent_os => px_parent_os,
3434 px_parent_osr => px_parent_osr,
3435 px_parent_obj_type => px_parent_obj_type
3436 );
3437 END save_telex_bo;
3438
3439 PROCEDURE save_telex_bo(
3440 p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
3441 p_telex_obj IN HZ_TELEX_CP_BO,
3442 p_created_by_module IN VARCHAR2,
3443 p_obj_source IN VARCHAR2 := null,
3444 p_return_obj_flag IN VARCHAR2 := fnd_api.g_true,
3445 x_return_status OUT NOCOPY VARCHAR2,
3446 x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL,
3447 x_return_obj OUT NOCOPY HZ_TELEX_CP_BO,
3448 x_telex_id OUT NOCOPY NUMBER,
3449 x_telex_os OUT NOCOPY VARCHAR2,
3450 x_telex_osr OUT NOCOPY VARCHAR2,
3451 px_parent_id IN OUT NOCOPY NUMBER,
3452 px_parent_os IN OUT NOCOPY VARCHAR2,
3453 px_parent_osr IN OUT NOCOPY VARCHAR2,
3454 px_parent_obj_type IN OUT NOCOPY VARCHAR2
3455 ) IS
3456 l_msg_data VARCHAR2(2000);
3457 l_msg_count NUMBER;
3458 l_telex_obj HZ_TELEX_CP_BO;
3459 BEGIN
3460 l_telex_obj := p_telex_obj;
3461 do_save_contact_point (
3462 p_init_msg_list => fnd_api.g_true,
3463 p_validate_bo_flag => p_validate_bo_flag,
3464 p_cp_id => l_telex_obj.telex_id,
3465 p_cp_os => l_telex_obj.orig_system,
3466 p_cp_osr => l_telex_obj.orig_system_reference,
3467 p_phone_obj => NULL,
3468 p_email_obj => NULL,
3469 p_telex_obj => l_telex_obj,
3470 p_web_obj => NULL,
3471 p_edi_obj => NULL,
3472 p_eft_obj => NULL,
3473 p_sms_obj => NULL,
3474 p_cp_pref_objs => l_telex_obj.contact_pref_objs,
3475 p_cp_type => 'TLX',
3476 p_created_by_module => p_created_by_module,
3477 p_obj_source => p_obj_source,
3478 x_return_status => x_return_status,
3479 x_msg_count => l_msg_count,
3480 x_msg_data => l_msg_data,
3481 x_cp_id => x_telex_id,
3482 x_cp_os => x_telex_os,
3483 x_cp_osr => x_telex_osr,
3484 px_parent_id => px_parent_id,
3485 px_parent_os => px_parent_os,
3486 px_parent_osr => px_parent_osr,
3487 px_parent_obj_type => px_parent_obj_type
3488 );
3489 l_telex_obj.telex_id := x_telex_id;
3490 x_messages := HZ_PARTY_BO_PVT.return_all_messages(
3491 x_return_status => x_return_status,
3492 x_msg_count => l_msg_count,
3493 x_msg_data => l_msg_data);
3494 IF FND_API.to_Boolean(p_return_obj_flag) THEN
3495 x_return_obj := l_telex_obj;
3496 END IF;
3497 END save_telex_bo;
3498
3499 -- PROCEDURE save_web_bo
3500 --
3501 -- DESCRIPTION
3502 -- Create or update a logical web contact point.
3503 PROCEDURE save_web_bo(
3504 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
3505 p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
3506 p_web_obj IN HZ_WEB_CP_BO,
3507 p_created_by_module IN VARCHAR2,
3508 x_return_status OUT NOCOPY VARCHAR2,
3509 x_msg_count OUT NOCOPY NUMBER,
3510 x_msg_data OUT NOCOPY VARCHAR2,
3511 x_web_id OUT NOCOPY NUMBER,
3512 x_web_os OUT NOCOPY VARCHAR2,
3513 x_web_osr OUT NOCOPY VARCHAR2,
3514 px_parent_id IN OUT NOCOPY NUMBER,
3515 px_parent_os IN OUT NOCOPY VARCHAR2,
3516 px_parent_osr IN OUT NOCOPY VARCHAR2,
3517 px_parent_obj_type IN OUT NOCOPY VARCHAR2
3518 ) IS
3519 l_web_obj HZ_WEB_CP_BO;
3520 BEGIN
3521 l_web_obj := p_web_obj;
3522 do_save_contact_point (
3523 p_init_msg_list => p_init_msg_list,
3524 p_validate_bo_flag => p_validate_bo_flag,
3525 p_cp_id => l_web_obj.web_id,
3526 p_cp_os => l_web_obj.orig_system,
3530 p_telex_obj => NULL,
3527 p_cp_osr => l_web_obj.orig_system_reference,
3528 p_phone_obj => NULL,
3529 p_email_obj => NULL,
3531 p_web_obj => l_web_obj,
3532 p_edi_obj => NULL,
3533 p_eft_obj => NULL,
3534 p_sms_obj => NULL,
3535 p_cp_pref_objs => l_web_obj.contact_pref_objs,
3536 p_cp_type => 'WEB',
3537 p_created_by_module => p_created_by_module,
3538 p_obj_source => NULL,
3539 x_return_status => x_return_status,
3540 x_msg_count => x_msg_count,
3541 x_msg_data => x_msg_data,
3542 x_cp_id => x_web_id,
3543 x_cp_os => x_web_os,
3544 x_cp_osr => x_web_osr,
3545 px_parent_id => px_parent_id,
3546 px_parent_os => px_parent_os,
3547 px_parent_osr => px_parent_osr,
3548 px_parent_obj_type => px_parent_obj_type
3549 );
3550 END save_web_bo;
3551
3552 PROCEDURE save_web_bo(
3553 p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
3554 p_web_obj IN HZ_WEB_CP_BO,
3555 p_created_by_module IN VARCHAR2,
3556 p_obj_source IN VARCHAR2 := null,
3557 p_return_obj_flag IN VARCHAR2 := fnd_api.g_true,
3558 x_return_status OUT NOCOPY VARCHAR2,
3559 x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL,
3560 x_return_obj OUT NOCOPY HZ_WEB_CP_BO,
3561 x_web_id OUT NOCOPY NUMBER,
3562 x_web_os OUT NOCOPY VARCHAR2,
3563 x_web_osr OUT NOCOPY VARCHAR2,
3564 px_parent_id IN OUT NOCOPY NUMBER,
3565 px_parent_os IN OUT NOCOPY VARCHAR2,
3566 px_parent_osr IN OUT NOCOPY VARCHAR2,
3567 px_parent_obj_type IN OUT NOCOPY VARCHAR2
3568 ) IS
3569 l_msg_data VARCHAR2(2000);
3570 l_msg_count NUMBER;
3571 l_web_obj HZ_WEB_CP_BO;
3572 BEGIN
3573 l_web_obj := p_web_obj;
3574 do_save_contact_point (
3575 p_init_msg_list => fnd_api.g_true,
3576 p_validate_bo_flag => p_validate_bo_flag,
3577 p_cp_id => l_web_obj.web_id,
3578 p_cp_os => l_web_obj.orig_system,
3579 p_cp_osr => l_web_obj.orig_system_reference,
3580 p_phone_obj => NULL,
3581 p_email_obj => NULL,
3582 p_telex_obj => NULL,
3583 p_web_obj => l_web_obj,
3584 p_edi_obj => NULL,
3585 p_eft_obj => NULL,
3586 p_sms_obj => NULL,
3587 p_cp_pref_objs => l_web_obj.contact_pref_objs,
3588 p_cp_type => 'WEB',
3589 p_created_by_module => p_created_by_module,
3590 p_obj_source => p_obj_source,
3591 x_return_status => x_return_status,
3592 x_msg_count => l_msg_count,
3593 x_msg_data => l_msg_data,
3594 x_cp_id => x_web_id,
3595 x_cp_os => x_web_os,
3596 x_cp_osr => x_web_osr,
3597 px_parent_id => px_parent_id,
3598 px_parent_os => px_parent_os,
3599 px_parent_osr => px_parent_osr,
3600 px_parent_obj_type => px_parent_obj_type
3601 );
3602 l_web_obj.web_id := x_web_id;
3603 x_messages := HZ_PARTY_BO_PVT.return_all_messages(
3604 x_return_status => x_return_status,
3605 x_msg_count => l_msg_count,
3606 x_msg_data => l_msg_data);
3607 IF FND_API.to_Boolean(p_return_obj_flag) THEN
3608 x_return_obj := l_web_obj;
3609 END IF;
3610 END save_web_bo;
3611
3612 -- PROCEDURE save_edi_bo
3613 --
3614 -- DESCRIPTION
3615 -- Create or update a logical edi contact point.
3616 PROCEDURE save_edi_bo(
3617 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
3618 p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
3619 p_edi_obj IN HZ_EDI_CP_BO,
3620 p_created_by_module IN VARCHAR2,
3621 x_return_status OUT NOCOPY VARCHAR2,
3622 x_msg_count OUT NOCOPY NUMBER,
3623 x_msg_data OUT NOCOPY VARCHAR2,
3624 x_edi_id OUT NOCOPY NUMBER,
3625 x_edi_os OUT NOCOPY VARCHAR2,
3626 x_edi_osr OUT NOCOPY VARCHAR2,
3627 px_parent_id IN OUT NOCOPY NUMBER,
3628 px_parent_os IN OUT NOCOPY VARCHAR2,
3629 px_parent_osr IN OUT NOCOPY VARCHAR2,
3630 px_parent_obj_type IN OUT NOCOPY VARCHAR2
3631 ) IS
3632 l_edi_obj HZ_EDI_CP_BO;
3633 BEGIN
3634 l_edi_obj := p_edi_obj;
3635 do_save_contact_point (
3636 p_init_msg_list => p_init_msg_list,
3637 p_validate_bo_flag => p_validate_bo_flag,
3638 p_cp_id => l_edi_obj.edi_id,
3639 p_cp_os => l_edi_obj.orig_system,
3640 p_cp_osr => l_edi_obj.orig_system_reference,
3641 p_phone_obj => NULL,
3642 p_email_obj => NULL,
3643 p_telex_obj => NULL,
3644 p_web_obj => NULL,
3645 p_edi_obj => l_edi_obj,
3646 p_eft_obj => NULL,
3647 p_sms_obj => NULL,
3648 p_cp_pref_objs => l_edi_obj.contact_pref_objs,
3649 p_cp_type => 'EDI',
3650 p_created_by_module => p_created_by_module,
3651 p_obj_source => NULL,
3652 x_return_status => x_return_status,
3653 x_msg_count => x_msg_count,
3654 x_msg_data => x_msg_data,
3655 x_cp_id => x_edi_id,
3659 px_parent_os => px_parent_os,
3656 x_cp_os => x_edi_os,
3657 x_cp_osr => x_edi_osr,
3658 px_parent_id => px_parent_id,
3660 px_parent_osr => px_parent_osr,
3661 px_parent_obj_type => px_parent_obj_type
3662 );
3663 END save_edi_bo;
3664
3665 PROCEDURE save_edi_bo(
3666 p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
3667 p_edi_obj IN HZ_EDI_CP_BO,
3668 p_created_by_module IN VARCHAR2,
3669 p_obj_source IN VARCHAR2 := null,
3670 p_return_obj_flag IN VARCHAR2 := fnd_api.g_true,
3671 x_return_status OUT NOCOPY VARCHAR2,
3672 x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL,
3673 x_return_obj OUT NOCOPY HZ_EDI_CP_BO,
3674 x_edi_id OUT NOCOPY NUMBER,
3675 x_edi_os OUT NOCOPY VARCHAR2,
3676 x_edi_osr OUT NOCOPY VARCHAR2,
3677 px_parent_id IN OUT NOCOPY NUMBER,
3678 px_parent_os IN OUT NOCOPY VARCHAR2,
3679 px_parent_osr IN OUT NOCOPY VARCHAR2,
3680 px_parent_obj_type IN OUT NOCOPY VARCHAR2
3681 ) IS
3682 l_msg_data VARCHAR2(2000);
3683 l_msg_count NUMBER;
3684 l_edi_obj HZ_EDI_CP_BO;
3685 BEGIN
3686 l_edi_obj := p_edi_obj;
3687 do_save_contact_point (
3688 p_init_msg_list => fnd_api.g_true,
3689 p_validate_bo_flag => p_validate_bo_flag,
3690 p_cp_id => l_edi_obj.edi_id,
3691 p_cp_os => l_edi_obj.orig_system,
3692 p_cp_osr => l_edi_obj.orig_system_reference,
3693 p_phone_obj => NULL,
3694 p_email_obj => NULL,
3695 p_telex_obj => NULL,
3696 p_web_obj => NULL,
3697 p_edi_obj => l_edi_obj,
3698 p_eft_obj => NULL,
3699 p_sms_obj => NULL,
3700 p_cp_pref_objs => l_edi_obj.contact_pref_objs,
3701 p_cp_type => 'EDI',
3702 p_created_by_module => p_created_by_module,
3703 p_obj_source => p_obj_source,
3704 x_return_status => x_return_status,
3705 x_msg_count => l_msg_count,
3706 x_msg_data => l_msg_data,
3707 x_cp_id => x_edi_id,
3708 x_cp_os => x_edi_os,
3709 x_cp_osr => x_edi_osr,
3710 px_parent_id => px_parent_id,
3711 px_parent_os => px_parent_os,
3712 px_parent_osr => px_parent_osr,
3713 px_parent_obj_type => px_parent_obj_type
3714 );
3715 l_edi_obj.edi_id := x_edi_id;
3716 x_messages := HZ_PARTY_BO_PVT.return_all_messages(
3717 x_return_status => x_return_status,
3718 x_msg_count => l_msg_count,
3719 x_msg_data => l_msg_data);
3720 IF FND_API.to_Boolean(p_return_obj_flag) THEN
3721 x_return_obj := l_edi_obj;
3722 END IF;
3723 END save_edi_bo;
3724
3725 -- PROCEDURE save_eft_bo
3726 --
3727 -- DESCRIPTION
3728 -- Create or update a logical eft contact point.
3729 PROCEDURE save_eft_bo(
3730 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
3731 p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
3732 p_eft_obj IN HZ_EFT_CP_BO,
3733 p_created_by_module IN VARCHAR2,
3734 x_return_status OUT NOCOPY VARCHAR2,
3735 x_msg_count OUT NOCOPY NUMBER,
3736 x_msg_data OUT NOCOPY VARCHAR2,
3737 x_eft_id OUT NOCOPY NUMBER,
3738 x_eft_os OUT NOCOPY VARCHAR2,
3739 x_eft_osr OUT NOCOPY VARCHAR2,
3740 px_parent_id IN OUT NOCOPY NUMBER,
3741 px_parent_os IN OUT NOCOPY VARCHAR2,
3742 px_parent_osr IN OUT NOCOPY VARCHAR2,
3743 px_parent_obj_type IN OUT NOCOPY VARCHAR2
3744 ) IS
3745 l_eft_obj HZ_EFT_CP_BO;
3746 BEGIN
3747 l_eft_obj := p_eft_obj;
3748 do_save_contact_point (
3749 p_init_msg_list => p_init_msg_list,
3750 p_validate_bo_flag => p_validate_bo_flag,
3751 p_cp_id => l_eft_obj.eft_id,
3752 p_cp_os => l_eft_obj.orig_system,
3753 p_cp_osr => l_eft_obj.orig_system_reference,
3754 p_phone_obj => NULL,
3755 p_email_obj => NULL,
3756 p_telex_obj => NULL,
3757 p_web_obj => NULL,
3758 p_edi_obj => NULL,
3759 p_eft_obj => l_eft_obj,
3760 p_sms_obj => NULL,
3761 p_cp_pref_objs => l_eft_obj.contact_pref_objs,
3762 p_cp_type => 'EFT',
3763 p_created_by_module => p_created_by_module,
3764 p_obj_source => NULL,
3765 x_return_status => x_return_status,
3766 x_msg_count => x_msg_count,
3767 x_msg_data => x_msg_data,
3768 x_cp_id => x_eft_id,
3769 x_cp_os => x_eft_os,
3770 x_cp_osr => x_eft_osr,
3771 px_parent_id => px_parent_id,
3772 px_parent_os => px_parent_os,
3773 px_parent_osr => px_parent_osr,
3774 px_parent_obj_type => px_parent_obj_type
3775 );
3776 END save_eft_bo;
3777
3778 PROCEDURE save_eft_bo(
3779 p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
3780 p_eft_obj IN HZ_EFT_CP_BO,
3781 p_created_by_module IN VARCHAR2,
3782 p_obj_source IN VARCHAR2 := null,
3783 p_return_obj_flag IN VARCHAR2 := fnd_api.g_true,
3784 x_return_status OUT NOCOPY VARCHAR2,
3788 x_eft_os OUT NOCOPY VARCHAR2,
3785 x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL,
3786 x_return_obj OUT NOCOPY HZ_EFT_CP_BO,
3787 x_eft_id OUT NOCOPY NUMBER,
3789 x_eft_osr OUT NOCOPY VARCHAR2,
3790 px_parent_id IN OUT NOCOPY NUMBER,
3791 px_parent_os IN OUT NOCOPY VARCHAR2,
3792 px_parent_osr IN OUT NOCOPY VARCHAR2,
3793 px_parent_obj_type IN OUT NOCOPY VARCHAR2
3794 ) IS
3795 l_msg_data VARCHAR2(2000);
3796 l_msg_count NUMBER;
3797 l_eft_obj HZ_EFT_CP_BO;
3798 BEGIN
3799 l_eft_obj := p_eft_obj;
3800 do_save_contact_point (
3801 p_init_msg_list => fnd_api.g_true,
3802 p_validate_bo_flag => p_validate_bo_flag,
3803 p_cp_id => l_eft_obj.eft_id,
3804 p_cp_os => l_eft_obj.orig_system,
3805 p_cp_osr => l_eft_obj.orig_system_reference,
3806 p_phone_obj => NULL,
3807 p_email_obj => NULL,
3808 p_telex_obj => NULL,
3809 p_web_obj => NULL,
3810 p_edi_obj => NULL,
3811 p_eft_obj => l_eft_obj,
3812 p_sms_obj => NULL,
3813 p_cp_pref_objs => l_eft_obj.contact_pref_objs,
3814 p_cp_type => 'EFT',
3815 p_created_by_module => p_created_by_module,
3816 p_obj_source => p_obj_source,
3817 x_return_status => x_return_status,
3818 x_msg_count => l_msg_count,
3819 x_msg_data => l_msg_data,
3820 x_cp_id => x_eft_id,
3821 x_cp_os => x_eft_os,
3822 x_cp_osr => x_eft_osr,
3823 px_parent_id => px_parent_id,
3824 px_parent_os => px_parent_os,
3825 px_parent_osr => px_parent_osr,
3826 px_parent_obj_type => px_parent_obj_type
3827 );
3828 l_eft_obj.eft_id := x_eft_id;
3829 x_messages := HZ_PARTY_BO_PVT.return_all_messages(
3830 x_return_status => x_return_status,
3831 x_msg_count => l_msg_count,
3832 x_msg_data => l_msg_data);
3833 IF FND_API.to_Boolean(p_return_obj_flag) THEN
3834 x_return_obj := l_eft_obj;
3835 END IF;
3836 END save_eft_bo;
3837
3838 -- PROCEDURE save_sms_bo
3839 --
3840 -- DESCRIPTION
3841 -- Create or update a logical sms contact point.
3842 PROCEDURE save_sms_bo(
3843 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
3844 p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
3845 p_sms_obj IN HZ_SMS_CP_BO,
3846 p_created_by_module IN VARCHAR2,
3847 x_return_status OUT NOCOPY VARCHAR2,
3848 x_msg_count OUT NOCOPY NUMBER,
3849 x_msg_data OUT NOCOPY VARCHAR2,
3850 x_sms_id OUT NOCOPY NUMBER,
3851 x_sms_os OUT NOCOPY VARCHAR2,
3852 x_sms_osr OUT NOCOPY VARCHAR2,
3853 px_parent_id IN OUT NOCOPY NUMBER,
3854 px_parent_os IN OUT NOCOPY VARCHAR2,
3855 px_parent_osr IN OUT NOCOPY VARCHAR2,
3856 px_parent_obj_type IN OUT NOCOPY VARCHAR2
3857 ) IS
3858 l_sms_obj HZ_SMS_CP_BO;
3859 BEGIN
3860 l_sms_obj := p_sms_obj;
3861 do_save_contact_point (
3862 p_init_msg_list => p_init_msg_list,
3863 p_validate_bo_flag => p_validate_bo_flag,
3864 p_cp_id => l_sms_obj.sms_id,
3865 p_cp_os => l_sms_obj.orig_system,
3866 p_cp_osr => l_sms_obj.orig_system_reference,
3867 p_phone_obj => NULL,
3868 p_email_obj => NULL,
3869 p_telex_obj => NULL,
3870 p_web_obj => NULL,
3871 p_edi_obj => NULL,
3872 p_eft_obj => NULL,
3873 p_sms_obj => l_sms_obj,
3874 p_cp_pref_objs => l_sms_obj.contact_pref_objs,
3875 p_cp_type => 'SMS',
3876 p_created_by_module => p_created_by_module,
3877 p_obj_source => NULL,
3878 x_return_status => x_return_status,
3879 x_msg_count => x_msg_count,
3880 x_msg_data => x_msg_data,
3881 x_cp_id => x_sms_id,
3882 x_cp_os => x_sms_os,
3883 x_cp_osr => x_sms_osr,
3884 px_parent_id => px_parent_id,
3885 px_parent_os => px_parent_os,
3886 px_parent_osr => px_parent_osr,
3887 px_parent_obj_type => px_parent_obj_type
3888 );
3889 END save_sms_bo;
3890
3891 PROCEDURE save_sms_bo(
3892 p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
3893 p_sms_obj IN HZ_SMS_CP_BO,
3894 p_created_by_module IN VARCHAR2,
3895 p_obj_source IN VARCHAR2 := null,
3896 p_return_obj_flag IN VARCHAR2 := fnd_api.g_true,
3897 x_return_status OUT NOCOPY VARCHAR2,
3898 x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL,
3899 x_return_obj OUT NOCOPY HZ_SMS_CP_BO,
3900 x_sms_id OUT NOCOPY NUMBER,
3901 x_sms_os OUT NOCOPY VARCHAR2,
3902 x_sms_osr OUT NOCOPY VARCHAR2,
3903 px_parent_id IN OUT NOCOPY NUMBER,
3904 px_parent_os IN OUT NOCOPY VARCHAR2,
3905 px_parent_osr IN OUT NOCOPY VARCHAR2,
3906 px_parent_obj_type IN OUT NOCOPY VARCHAR2
3907 ) IS
3908 l_msg_data VARCHAR2(2000);
3909 l_msg_count NUMBER;
3910 l_sms_obj HZ_SMS_CP_BO;
3911 BEGIN
3912 l_sms_obj := p_sms_obj;
3913 do_save_contact_point (
3917 p_cp_os => l_sms_obj.orig_system,
3914 p_init_msg_list => fnd_api.g_true,
3915 p_validate_bo_flag => p_validate_bo_flag,
3916 p_cp_id => l_sms_obj.sms_id,
3918 p_cp_osr => l_sms_obj.orig_system_reference,
3919 p_phone_obj => NULL,
3920 p_email_obj => NULL,
3921 p_telex_obj => NULL,
3922 p_web_obj => NULL,
3923 p_edi_obj => NULL,
3924 p_eft_obj => NULL,
3925 p_sms_obj => l_sms_obj,
3926 p_cp_pref_objs => l_sms_obj.contact_pref_objs,
3927 p_cp_type => 'SMS',
3928 p_created_by_module => p_created_by_module,
3929 p_obj_source => p_obj_source,
3930 x_return_status => x_return_status,
3931 x_msg_count => l_msg_count,
3932 x_msg_data => l_msg_data,
3933 x_cp_id => x_sms_id,
3934 x_cp_os => x_sms_os,
3935 x_cp_osr => x_sms_osr,
3936 px_parent_id => px_parent_id,
3937 px_parent_os => px_parent_os,
3938 px_parent_osr => px_parent_osr,
3939 px_parent_obj_type => px_parent_obj_type
3940 );
3941 l_sms_obj.sms_id := x_sms_id;
3942 x_messages := HZ_PARTY_BO_PVT.return_all_messages(
3943 x_return_status => x_return_status,
3944 x_msg_count => l_msg_count,
3945 x_msg_data => l_msg_data);
3946 IF FND_API.to_Boolean(p_return_obj_flag) THEN
3947 x_return_obj := l_sms_obj;
3948 END IF;
3949 END save_sms_bo;
3950
3951 -- PRIVATE PROCEDURE do_save_contact_point
3952 --
3953 -- DESCRIPTION
3954 -- Save contact point.
3955 PROCEDURE do_save_contact_point (
3956 p_init_msg_list IN VARCHAR2:= FND_API.G_FALSE,
3957 p_validate_bo_flag IN VARCHAR2 := fnd_api.g_true,
3958 p_cp_id IN NUMBER,
3959 p_cp_os IN VARCHAR2,
3960 p_cp_osr IN VARCHAR2,
3961 p_phone_obj IN HZ_PHONE_CP_BO,
3962 p_email_obj IN HZ_EMAIL_CP_BO,
3963 p_telex_obj IN HZ_TELEX_CP_BO,
3964 p_web_obj IN HZ_WEB_CP_BO,
3965 p_edi_obj IN HZ_EDI_CP_BO,
3966 p_eft_obj IN HZ_EFT_CP_BO,
3967 p_sms_obj IN HZ_SMS_CP_BO,
3968 p_cp_pref_objs IN OUT NOCOPY HZ_CONTACT_PREF_OBJ_TBL,
3969 p_cp_type IN VARCHAR2,
3970 p_created_by_module IN VARCHAR2,
3971 p_obj_source IN VARCHAR2 := null,
3972 x_return_status OUT NOCOPY VARCHAR2,
3973 x_msg_count OUT NOCOPY NUMBER,
3974 x_msg_data OUT NOCOPY VARCHAR2,
3975 x_cp_id OUT NOCOPY NUMBER,
3976 x_cp_os OUT NOCOPY VARCHAR2,
3977 x_cp_osr OUT NOCOPY VARCHAR2,
3978 px_parent_id IN OUT NOCOPY NUMBER,
3979 px_parent_os IN OUT NOCOPY VARCHAR2,
3980 px_parent_osr IN OUT NOCOPY VARCHAR2,
3981 px_parent_obj_type IN OUT NOCOPY VARCHAR2
3982 ) IS
3983 l_return_status VARCHAR2(30);
3984 l_msg_count NUMBER;
3985 l_msg_data VARCHAR2(2000);
3986 l_create_update_flag VARCHAR2(1);
3987 l_debug_prefix VARCHAR2(30);
3988 l_parent_table VARCHAR2(30);
3989 BEGIN
3990 -- initialize API return status to success.
3991 x_return_status := FND_API.G_RET_STS_SUCCESS;
3992
3993 -- Initialize message list if p_init_msg_list is set to TRUE
3994 IF FND_API.to_Boolean(p_init_msg_list) THEN
3995 FND_MSG_PUB.initialize;
3996 END IF;
3997
3998 -- Debug info.
3999 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4000 hz_utility_v2pub.debug(p_message=>'do_save_contact_point(+)',
4001 p_prefix=>l_debug_prefix,
4002 p_msg_level=>fnd_log.level_procedure);
4003 END IF;
4004
4005 -- initialize Global variable
4006 HZ_UTILITY_V2PUB.G_CALLING_API := 'BO_API';
4007 IF(p_created_by_module IS NULL) THEN
4008 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := 'BO_API';
4009 ELSE
4010 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := p_created_by_module;
4011 END IF;
4012
4013 -- get contact point id and os+osr
4014 x_cp_id := p_cp_id;
4015 x_cp_os := p_cp_os;
4016 x_cp_osr := p_cp_osr;
4017
4018 -- check root business object to determine that it should be
4019 -- create or update, call HZ_REGISTRY_VALIDATE_BO_PVT
4020 l_create_update_flag := HZ_REGISTRY_VALIDATE_BO_PVT.check_bo_op(
4021 p_entity_id => x_cp_id,
4022 p_entity_os => x_cp_os,
4023 p_entity_osr => x_cp_osr,
4024 p_entity_type => 'HZ_CONTACT_POINTS',
4025 p_cp_type => p_cp_type,
4026 p_parent_id => px_parent_id,
4027 p_parent_obj_type => px_parent_obj_type);
4028
4029 IF(l_create_update_flag = 'E') THEN
4030 FND_MESSAGE.SET_NAME('AR', 'HZ_API_PROPAGATE_OBJECT_ERROR');
4031 FND_MESSAGE.SET_TOKEN('OBJECT', p_cp_type);
4032 FND_MSG_PUB.ADD;
4033 RAISE FND_API.G_EXC_ERROR;
4034 END IF;
4035
4036 -- base on different contact point type to pass in different object
4037 -- and call create or update
4038 CASE
4039 WHEN p_cp_type = 'PHONE' THEN
4040 IF(l_create_update_flag = 'C') THEN
4044 p_cp_os => p_cp_os,
4041 do_create_contact_point (
4042 p_validate_bo_flag => p_validate_bo_flag,
4043 p_cp_id => p_cp_id,
4045 p_cp_osr => p_cp_osr,
4046 p_phone_obj => p_phone_obj,
4047 p_email_obj => NULL,
4048 p_telex_obj => NULL,
4049 p_web_obj => NULL,
4050 p_edi_obj => NULL,
4051 p_eft_obj => NULL,
4052 p_sms_obj => NULL,
4053 p_cp_pref_objs => p_cp_pref_objs,
4054 p_cp_type => p_cp_type,
4055 p_created_by_module => p_created_by_module,
4056 p_obj_source => p_obj_source,
4057 x_return_status => x_return_status,
4058 x_msg_count => x_msg_count,
4059 x_msg_data => x_msg_data,
4060 x_cp_id => x_cp_id,
4061 x_cp_os => x_cp_os,
4062 x_cp_osr => x_cp_osr,
4063 px_parent_id => px_parent_id,
4064 px_parent_os => px_parent_os,
4065 px_parent_osr => px_parent_osr,
4066 px_parent_obj_type => px_parent_obj_type
4067 );
4068 ELSIF(l_create_update_flag = 'U') THEN
4069 do_update_contact_point (
4070 p_cp_id => p_cp_id,
4071 p_cp_os => p_cp_os,
4072 p_cp_osr => p_cp_osr,
4073 p_phone_obj => p_phone_obj,
4074 p_email_obj => NULL,
4075 p_telex_obj => NULL,
4076 p_web_obj => NULL,
4077 p_edi_obj => NULL,
4078 p_eft_obj => NULL,
4079 p_sms_obj => NULL,
4080 p_cp_pref_objs => p_cp_pref_objs,
4081 p_cp_type => p_cp_type,
4082 p_created_by_module => p_created_by_module,
4083 p_obj_source => p_obj_source,
4084 x_return_status => x_return_status,
4085 x_msg_count => x_msg_count,
4086 x_msg_data => x_msg_data,
4087 x_cp_id => x_cp_id,
4088 x_cp_os => x_cp_os,
4089 x_cp_osr => x_cp_osr,
4090 p_parent_os => px_parent_os);
4091 ELSE
4092 RAISE FND_API.G_EXC_ERROR;
4093 END IF;
4094 WHEN p_cp_type = 'EMAIL' THEN
4095 IF(l_create_update_flag = 'C') THEN
4096 do_create_contact_point (
4097 p_validate_bo_flag => p_validate_bo_flag,
4098 p_cp_id => p_cp_id,
4099 p_cp_os => p_cp_os,
4100 p_cp_osr => p_cp_osr,
4101 p_phone_obj => NULL,
4102 p_email_obj => p_email_obj,
4103 p_telex_obj => NULL,
4104 p_web_obj => NULL,
4105 p_edi_obj => NULL,
4106 p_eft_obj => NULL,
4107 p_sms_obj => NULL,
4108 p_cp_pref_objs => p_cp_pref_objs,
4109 p_cp_type => p_cp_type,
4110 p_created_by_module => p_created_by_module,
4111 p_obj_source => p_obj_source,
4112 x_return_status => x_return_status,
4113 x_msg_count => x_msg_count,
4114 x_msg_data => x_msg_data,
4115 x_cp_id => x_cp_id,
4116 x_cp_os => x_cp_os,
4117 x_cp_osr => x_cp_osr,
4118 px_parent_id => px_parent_id,
4119 px_parent_os => px_parent_os,
4120 px_parent_osr => px_parent_osr,
4121 px_parent_obj_type => px_parent_obj_type
4122 );
4123 ELSIF(l_create_update_flag = 'U') THEN
4124 do_update_contact_point (
4125 p_cp_id => p_cp_id,
4126 p_cp_os => p_cp_os,
4127 p_cp_osr => p_cp_osr,
4128 p_phone_obj => NULL,
4129 p_email_obj => p_email_obj,
4130 p_telex_obj => NULL,
4131 p_web_obj => NULL,
4132 p_edi_obj => NULL,
4133 p_eft_obj => NULL,
4134 p_sms_obj => NULL,
4135 p_cp_pref_objs => p_cp_pref_objs,
4136 p_cp_type => p_cp_type,
4137 p_created_by_module => p_created_by_module,
4138 p_obj_source => p_obj_source,
4139 x_return_status => x_return_status,
4140 x_msg_count => x_msg_count,
4141 x_msg_data => x_msg_data,
4142 x_cp_id => x_cp_id,
4143 x_cp_os => x_cp_os,
4144 x_cp_osr => x_cp_osr,
4145 p_parent_os => px_parent_os);
4146 ELSE
4147 RAISE FND_API.G_EXC_ERROR;
4148 END IF;
4149 WHEN p_cp_type = 'TLX' THEN
4150 IF(l_create_update_flag = 'C') THEN
4151 do_create_contact_point (
4152 p_validate_bo_flag => p_validate_bo_flag,
4153 p_cp_id => p_cp_id,
4154 p_cp_os => p_cp_os,
4155 p_cp_osr => p_cp_osr,
4156 p_phone_obj => NULL,
4157 p_email_obj => NULL,
4158 p_telex_obj => p_telex_obj,
4159 p_web_obj => NULL,
4160 p_edi_obj => NULL,
4161 p_eft_obj => NULL,
4162 p_sms_obj => NULL,
4166 p_obj_source => p_obj_source,
4163 p_cp_pref_objs => p_cp_pref_objs,
4164 p_cp_type => p_cp_type,
4165 p_created_by_module => p_created_by_module,
4167 x_return_status => x_return_status,
4168 x_msg_count => x_msg_count,
4169 x_msg_data => x_msg_data,
4170 x_cp_id => x_cp_id,
4171 x_cp_os => x_cp_os,
4172 x_cp_osr => x_cp_osr,
4173 px_parent_id => px_parent_id,
4174 px_parent_os => px_parent_os,
4175 px_parent_osr => px_parent_osr,
4176 px_parent_obj_type => px_parent_obj_type
4177 );
4178 ELSIF(l_create_update_flag = 'U') THEN
4179 do_update_contact_point (
4180 p_cp_id => p_cp_id,
4181 p_cp_os => p_cp_os,
4182 p_cp_osr => p_cp_osr,
4183 p_phone_obj => NULL,
4184 p_email_obj => NULL,
4185 p_telex_obj => p_telex_obj,
4186 p_web_obj => NULL,
4187 p_edi_obj => NULL,
4188 p_eft_obj => NULL,
4189 p_sms_obj => NULL,
4190 p_cp_pref_objs => p_cp_pref_objs,
4191 p_cp_type => p_cp_type,
4192 p_created_by_module => p_created_by_module,
4193 p_obj_source => p_obj_source,
4194 x_return_status => x_return_status,
4195 x_msg_count => x_msg_count,
4196 x_msg_data => x_msg_data,
4197 x_cp_id => x_cp_id,
4198 x_cp_os => x_cp_os,
4199 x_cp_osr => x_cp_osr,
4200 p_parent_os => px_parent_os);
4201 ELSE
4202 RAISE FND_API.G_EXC_ERROR;
4203 END IF;
4204 WHEN p_cp_type = 'WEB' THEN
4205 IF(l_create_update_flag = 'C') THEN
4206 do_create_contact_point (
4207 p_validate_bo_flag => p_validate_bo_flag,
4208 p_cp_id => p_cp_id,
4209 p_cp_os => p_cp_os,
4210 p_cp_osr => p_cp_osr,
4211 p_phone_obj => NULL,
4212 p_email_obj => NULL,
4213 p_telex_obj => NULL,
4214 p_web_obj => p_web_obj,
4215 p_edi_obj => NULL,
4216 p_eft_obj => NULL,
4217 p_sms_obj => NULL,
4218 p_cp_pref_objs => p_cp_pref_objs,
4219 p_cp_type => p_cp_type,
4220 p_created_by_module => p_created_by_module,
4221 p_obj_source => p_obj_source,
4222 x_return_status => x_return_status,
4223 x_msg_count => x_msg_count,
4224 x_msg_data => x_msg_data,
4225 x_cp_id => x_cp_id,
4226 x_cp_os => x_cp_os,
4227 x_cp_osr => x_cp_osr,
4228 px_parent_id => px_parent_id,
4229 px_parent_os => px_parent_os,
4230 px_parent_osr => px_parent_osr,
4231 px_parent_obj_type => px_parent_obj_type
4232 );
4233 ELSIF(l_create_update_flag = 'U') THEN
4234 do_update_contact_point (
4235 p_cp_id => p_cp_id,
4236 p_cp_os => p_cp_os,
4237 p_cp_osr => p_cp_osr,
4238 p_phone_obj => NULL,
4239 p_email_obj => NULL,
4240 p_telex_obj => NULL,
4241 p_web_obj => p_web_obj,
4242 p_edi_obj => NULL,
4243 p_eft_obj => NULL,
4244 p_sms_obj => NULL,
4245 p_cp_pref_objs => p_cp_pref_objs,
4246 p_cp_type => p_cp_type,
4247 p_created_by_module => p_created_by_module,
4248 p_obj_source => p_obj_source,
4249 x_return_status => x_return_status,
4250 x_msg_count => x_msg_count,
4251 x_msg_data => x_msg_data,
4252 x_cp_id => x_cp_id,
4253 x_cp_os => x_cp_os,
4254 x_cp_osr => x_cp_osr,
4255 p_parent_os => px_parent_os);
4256 ELSE
4257 RAISE FND_API.G_EXC_ERROR;
4258 END IF;
4259 WHEN p_cp_type = 'EDI' THEN
4260 IF(l_create_update_flag = 'C') THEN
4261 do_create_contact_point (
4262 p_validate_bo_flag => p_validate_bo_flag,
4263 p_cp_id => p_cp_id,
4264 p_cp_os => p_cp_os,
4265 p_cp_osr => p_cp_osr,
4266 p_phone_obj => NULL,
4267 p_email_obj => NULL,
4268 p_telex_obj => NULL,
4269 p_web_obj => NULL,
4270 p_edi_obj => p_edi_obj,
4271 p_eft_obj => NULL,
4272 p_sms_obj => NULL,
4273 p_cp_pref_objs => p_cp_pref_objs,
4274 p_cp_type => p_cp_type,
4275 p_created_by_module => p_created_by_module,
4276 p_obj_source => p_obj_source,
4277 x_return_status => x_return_status,
4278 x_msg_count => x_msg_count,
4279 x_msg_data => x_msg_data,
4280 x_cp_id => x_cp_id,
4281 x_cp_os => x_cp_os,
4282 x_cp_osr => x_cp_osr,
4283 px_parent_id => px_parent_id,
4287 );
4284 px_parent_os => px_parent_os,
4285 px_parent_osr => px_parent_osr,
4286 px_parent_obj_type => px_parent_obj_type
4288 ELSIF(l_create_update_flag = 'U') THEN
4289 do_update_contact_point (
4290 p_cp_id => p_cp_id,
4291 p_cp_os => p_cp_os,
4292 p_cp_osr => p_cp_osr,
4293 p_phone_obj => NULL,
4294 p_email_obj => NULL,
4295 p_telex_obj => NULL,
4296 p_web_obj => NULL,
4297 p_edi_obj => p_edi_obj,
4298 p_eft_obj => NULL,
4299 p_sms_obj => NULL,
4300 p_cp_pref_objs => p_cp_pref_objs,
4301 p_cp_type => p_cp_type,
4302 p_created_by_module => p_created_by_module,
4303 p_obj_source => p_obj_source,
4304 x_return_status => x_return_status,
4305 x_msg_count => x_msg_count,
4306 x_msg_data => x_msg_data,
4307 x_cp_id => x_cp_id,
4308 x_cp_os => x_cp_os,
4309 x_cp_osr => x_cp_osr,
4310 p_parent_os => px_parent_os);
4311 ELSE
4312 RAISE FND_API.G_EXC_ERROR;
4313 END IF;
4314 WHEN p_cp_type = 'EFT' THEN
4315 IF(l_create_update_flag = 'C') THEN
4316 do_create_contact_point (
4317 p_validate_bo_flag => p_validate_bo_flag,
4318 p_cp_id => p_cp_id,
4319 p_cp_os => p_cp_os,
4320 p_cp_osr => p_cp_osr,
4321 p_phone_obj => NULL,
4322 p_email_obj => NULL,
4323 p_telex_obj => NULL,
4324 p_web_obj => NULL,
4325 p_edi_obj => NULL,
4326 p_eft_obj => p_eft_obj,
4327 p_sms_obj => NULL,
4328 p_cp_pref_objs => p_cp_pref_objs,
4329 p_cp_type => p_cp_type,
4330 p_created_by_module => p_created_by_module,
4331 p_obj_source => p_obj_source,
4332 x_return_status => x_return_status,
4333 x_msg_count => x_msg_count,
4334 x_msg_data => x_msg_data,
4335 x_cp_id => x_cp_id,
4336 x_cp_os => x_cp_os,
4337 x_cp_osr => x_cp_osr,
4338 px_parent_id => px_parent_id,
4339 px_parent_os => px_parent_os,
4340 px_parent_osr => px_parent_osr,
4341 px_parent_obj_type => px_parent_obj_type
4342 );
4343 ELSIF(l_create_update_flag = 'U') THEN
4344 do_update_contact_point (
4345 p_cp_id => p_cp_id,
4346 p_cp_os => p_cp_os,
4347 p_cp_osr => p_cp_osr,
4348 p_phone_obj => NULL,
4349 p_email_obj => NULL,
4350 p_telex_obj => NULL,
4351 p_web_obj => NULL,
4352 p_edi_obj => NULL,
4353 p_eft_obj => p_eft_obj,
4354 p_sms_obj => NULL,
4355 p_cp_pref_objs => p_cp_pref_objs,
4356 p_cp_type => p_cp_type,
4357 p_created_by_module => p_created_by_module,
4358 p_obj_source => p_obj_source,
4359 x_return_status => x_return_status,
4360 x_msg_count => x_msg_count,
4361 x_msg_data => x_msg_data,
4362 x_cp_id => x_cp_id,
4363 x_cp_os => x_cp_os,
4364 x_cp_osr => x_cp_osr,
4365 p_parent_os => px_parent_os);
4366 ELSE
4367 RAISE FND_API.G_EXC_ERROR;
4368 END IF;
4369 WHEN p_cp_type = 'SMS' THEN
4370 IF(l_create_update_flag = 'C') THEN
4371 do_create_contact_point (
4372 p_validate_bo_flag => p_validate_bo_flag,
4373 p_cp_id => p_cp_id,
4374 p_cp_os => p_cp_os,
4375 p_cp_osr => p_cp_osr,
4376 p_phone_obj => NULL,
4377 p_email_obj => NULL,
4378 p_telex_obj => NULL,
4379 p_web_obj => NULL,
4380 p_edi_obj => NULL,
4381 p_eft_obj => NULL,
4382 p_sms_obj => p_sms_obj,
4383 p_cp_pref_objs => p_cp_pref_objs,
4384 p_cp_type => p_cp_type,
4385 p_created_by_module => p_created_by_module,
4386 p_obj_source => p_obj_source,
4387 x_return_status => x_return_status,
4388 x_msg_count => x_msg_count,
4389 x_msg_data => x_msg_data,
4390 x_cp_id => x_cp_id,
4391 x_cp_os => x_cp_os,
4392 x_cp_osr => x_cp_osr,
4393 px_parent_id => px_parent_id,
4394 px_parent_os => px_parent_os,
4395 px_parent_osr => px_parent_osr,
4396 px_parent_obj_type => px_parent_obj_type
4397 );
4398 ELSIF(l_create_update_flag = 'U') THEN
4399 do_update_contact_point (
4400 p_cp_id => p_cp_id,
4401 p_cp_os => p_cp_os,
4402 p_cp_osr => p_cp_osr,
4403 p_phone_obj => NULL,
4404 p_email_obj => NULL,
4405 p_telex_obj => NULL,
4406 p_web_obj => NULL,
4410 p_cp_pref_objs => p_cp_pref_objs,
4407 p_edi_obj => NULL,
4408 p_eft_obj => NULL,
4409 p_sms_obj => p_sms_obj,
4411 p_cp_type => p_cp_type,
4412 p_created_by_module => p_created_by_module,
4413 p_obj_source => p_obj_source,
4414 x_return_status => x_return_status,
4415 x_msg_count => x_msg_count,
4416 x_msg_data => x_msg_data,
4417 x_cp_id => x_cp_id,
4418 x_cp_os => x_cp_os,
4419 x_cp_osr => x_cp_osr,
4420 p_parent_os => px_parent_os);
4421 ELSE
4422 RAISE FND_API.G_EXC_ERROR;
4423 END IF;
4424 END CASE;
4425
4426 IF(x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
4427 RAISE FND_API.G_EXC_ERROR;
4428 END IF;
4429
4430 -- reset Global variable
4431 HZ_UTILITY_V2PUB.G_CALLING_API := NULL;
4432 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := NULL;
4433
4434 -- Debug info.
4435 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
4436 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
4437 p_msg_data=>x_msg_data,
4438 p_msg_type=>'WARNING',
4439 p_msg_level=>fnd_log.level_exception);
4440 END IF;
4441 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4442 hz_utility_v2pub.debug(p_message=>'do_save_contact_point(-)',
4443 p_prefix=>l_debug_prefix,
4444 p_msg_level=>fnd_log.level_procedure);
4445 END IF;
4446
4447 EXCEPTION
4448 WHEN fnd_api.g_exc_error THEN
4449 -- reset Global variable
4450 HZ_UTILITY_V2PUB.G_CALLING_API := NULL;
4451 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := NULL;
4452
4453 x_return_status := fnd_api.g_ret_sts_error;
4454
4455 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
4456 p_count => x_msg_count,
4457 p_data => x_msg_data);
4458
4459 -- Debug info.
4460 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
4461 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
4462 p_msg_data=>x_msg_data,
4463 p_msg_type=>'ERROR',
4464 p_msg_level=>fnd_log.level_error);
4465 END IF;
4466 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4467 hz_utility_v2pub.debug(p_message=>'do_save_contact_point(-)',
4468 p_prefix=>l_debug_prefix,
4469 p_msg_level=>fnd_log.level_procedure);
4470 END IF;
4471
4472 WHEN fnd_api.g_exc_unexpected_error THEN
4473 -- reset Global variable
4474 HZ_UTILITY_V2PUB.G_CALLING_API := NULL;
4475 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := NULL;
4476
4477 x_return_status := fnd_api.g_ret_sts_unexp_error;
4478
4479 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
4480 p_count => x_msg_count,
4481 p_data => x_msg_data);
4482
4483 -- Debug info.
4484 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
4485 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
4486 p_msg_data=>x_msg_data,
4487 p_msg_type=>'UNEXPECTED ERROR',
4488 p_msg_level=>fnd_log.level_error);
4489 END IF;
4490 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4491 hz_utility_v2pub.debug(p_message=>'do_save_contact_point(-)',
4492 p_prefix=>l_debug_prefix,
4493 p_msg_level=>fnd_log.level_procedure);
4494 END IF;
4495 WHEN OTHERS THEN
4496 -- reset Global variable
4497 HZ_UTILITY_V2PUB.G_CALLING_API := NULL;
4498 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := NULL;
4499
4500 x_return_status := fnd_api.g_ret_sts_unexp_error;
4501
4502 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
4503 fnd_message.set_token('ERROR' ,SQLERRM);
4504 fnd_msg_pub.add;
4505
4506 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
4507 p_count => x_msg_count,
4508 p_data => x_msg_data);
4509
4510 -- Debug info.
4511 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
4512 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
4513 p_msg_data=>x_msg_data,
4514 p_msg_type=>'SQL ERROR',
4515 p_msg_level=>fnd_log.level_error);
4516 END IF;
4517 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4518 hz_utility_v2pub.debug(p_message=>'do_save_contact_point(-)',
4519 p_prefix=>l_debug_prefix,
4520 p_msg_level=>fnd_log.level_procedure);
4521 END IF;
4522 END do_save_contact_point;
4523
4524 /*
4525 The Get Contact Point API Procedures are retrieval services that return a full Contact Point business object of the type specified.
4526 The user identifies a particular Contact Point business object using the TCA identifier and/or the objects Source System information.
4527 Upon proper validation of the object, the full Contact Point business object is returned. The object consists of all data included
4528 within the Contact Point business object, at all embedded levels. This includes the set of all data stored in the TCA tables for
4529 each embedded entity.
4530
4534 Embedded BO Mandatory Multiple Logical API Procedure Comments
4531 To retrieve the appropriate embedded entities within the Contact Point business objects, the Get procedure returns all records for the
4532 particular object from these TCA entity tables.
4533
4535
4536 Contact Point Y N HZ_CONTACT_POINTS
4537 Contact Preference N Y HZ_CONTACT_PREFERENCES
4538
4539 */
4540
4541
4542 PROCEDURE get_phone_bo (
4543 p_phone_id IN NUMBER,
4544 p_phone_os IN VARCHAR2,
4545 p_phone_osr IN VARCHAR2,
4546 x_phone_obj OUT NOCOPY HZ_PHONE_CP_BO,
4547 x_return_status OUT NOCOPY VARCHAR2,
4548 x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL
4549 ) IS
4550 l_msg_data VARCHAR2(2000);
4551 l_msg_count NUMBER;
4552 BEGIN
4553 get_phone_bo (
4554 p_init_msg_list => FND_API.G_TRUE,
4555 p_phone_id => p_phone_id,
4556 p_phone_os => p_phone_os,
4557 p_phone_osr => p_phone_osr,
4558 x_phone_obj => x_phone_obj,
4559 x_return_status => x_return_status,
4560 x_msg_count => l_msg_count,
4561 x_msg_data => l_msg_data
4562 );
4563 x_messages := HZ_PARTY_BO_PVT.return_all_messages(
4564 x_return_status => x_return_status,
4565 x_msg_count => l_msg_count,
4566 x_msg_data => l_msg_data);
4567 END get_phone_bo;
4568
4569 --------------------------------------
4570 --
4571 -- PROCEDURE get_phone_bo
4572 --
4573 -- DESCRIPTION
4574 -- Get a logical phone.
4575 --
4576 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
4577 --
4578 -- ARGUMENTS
4579 -- IN:
4580 -- p_init_msg_list Initialize message stack if it is set to
4581 -- p_phone_id phone ID.If this id passed in, return only one phone obj.
4582 -- p_phone_os phone orig system.
4583 -- p_phone_osr phone orig system reference.
4584 -- FND_API.G_TRUE. Default is FND_API.G_FALSE.
4585 -- OUT:
4586 -- x_phone_obj Logical phone record.
4587 -- x_return_status Return status after the call. The status can
4588 -- be fnd_api.g_ret_sts_success (success),
4589 -- fnd_api.g_ret_sts_error (error),
4590 -- FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
4591 -- x_msg_count Number of messages in message stack.
4592 -- x_msg_data Message text if x_msg_count is 1.
4593 --
4594 -- NOTES
4595 --
4596 -- MODIFICATION HISTORY
4597 --
4598 --
4599 -- 30-May-2005 AWU Created.
4600 --
4601
4602
4603 PROCEDURE get_phone_bo (
4604 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
4605 p_phone_id IN NUMBER,
4606 p_phone_os IN VARCHAR2,
4607 p_phone_osr IN VARCHAR2,
4608 x_phone_obj OUT NOCOPY HZ_PHONE_CP_BO,
4609 x_return_status OUT NOCOPY VARCHAR2,
4610 x_msg_count OUT NOCOPY NUMBER,
4611 x_msg_data OUT NOCOPY VARCHAR2
4612 ) is
4613 l_debug_prefix VARCHAR2(30) := '';
4614
4615 l_phone_id number;
4616 l_phone_os varchar2(30);
4617 l_phone_osr varchar2(255);
4618 l_phone_objs HZ_PHONE_CP_BO_TBL;
4619 BEGIN
4620
4621 -- initialize API return status to success.
4622 x_return_status := FND_API.G_RET_STS_SUCCESS;
4623
4624 -- Initialize message list if p_init_msg_list is set to TRUE
4625 IF FND_API.to_Boolean(p_init_msg_list) THEN
4626 FND_MSG_PUB.initialize;
4627 END IF;
4628
4629
4630 -- Debug info.
4631 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4632 hz_utility_v2pub.debug(p_message=>'hz_phone_bo_pub.get_phone_bo(+)',
4633 p_prefix=>l_debug_prefix,
4634 p_msg_level=>fnd_log.level_procedure);
4635 END IF;
4636
4637 -- check if pass in contact_point_id and/or os+osr
4638 -- extraction validation logic is same as update
4639
4640 l_phone_id := p_phone_id;
4641 l_phone_os := p_phone_os;
4642 l_phone_osr := p_phone_osr;
4643
4644 HZ_EXTRACT_BO_UTIL_PVT.validate_ssm_id(
4645 px_id => l_phone_id,
4646 px_os => l_phone_os,
4647 px_osr => l_phone_osr,
4648 p_obj_type => 'PHONE',
4649 x_return_status => x_return_status,
4650 x_msg_count => x_msg_count,
4651 x_msg_data => x_msg_data);
4652
4653 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
4654 RAISE fnd_api.g_exc_error;
4655 END IF;
4656
4657 HZ_EXTRACT_CONT_POINT_BO_PVT.get_phone_bos
4658 (p_init_msg_list => fnd_api.g_false,
4659 p_phone_id => l_phone_id,
4660 p_parent_id => NULL,
4661 p_parent_table_name => NULL,
4662 p_action_type => NULL,
4663 x_phone_objs => l_phone_objs,
4664 x_return_status => x_return_status,
4665 x_msg_count => x_msg_count,
4666 x_msg_data => x_msg_data);
4667
4668 x_phone_obj := l_phone_objs(1);
4669 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
4670 RAISE FND_API.G_EXC_ERROR;
4671 END IF;
4672
4673
4674 -- Debug info.
4675 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
4676 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
4677 p_msg_data=>x_msg_data,
4678 p_msg_type=>'WARNING',
4679 p_msg_level=>fnd_log.level_exception);
4680 END IF;
4681
4682 -- Debug info.
4683 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4687 END IF;
4684 hz_utility_v2pub.debug(p_message=>'hz_phone_bo_pub.get_phone_bo (-)',
4685 p_prefix=>l_debug_prefix,
4686 p_msg_level=>fnd_log.level_procedure);
4688
4689
4690 EXCEPTION
4691
4692 WHEN fnd_api.g_exc_error THEN
4693 x_return_status := fnd_api.g_ret_sts_error;
4694
4695 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
4696 p_count => x_msg_count,
4697 p_data => x_msg_data);
4698
4699 -- Debug info.
4700 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
4701 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
4702 p_msg_data=>x_msg_data,
4703 p_msg_type=>'ERROR',
4704 p_msg_level=>fnd_log.level_error);
4705 END IF;
4706 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4707 hz_utility_v2pub.debug(p_message=>'hz_phone_bo_pub.get_phone_bo (-)',
4708 p_prefix=>l_debug_prefix,
4709 p_msg_level=>fnd_log.level_procedure);
4710 END IF;
4711 WHEN fnd_api.g_exc_unexpected_error THEN
4712 x_return_status := fnd_api.g_ret_sts_unexp_error;
4713
4714 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
4715 p_count => x_msg_count,
4716 p_data => x_msg_data);
4717
4718 -- Debug info.
4719 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
4720 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
4721 p_msg_data=>x_msg_data,
4722 p_msg_type=>'UNEXPECTED ERROR',
4723 p_msg_level=>fnd_log.level_error);
4724 END IF;
4725 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4726 hz_utility_v2pub.debug(p_message=>'hz_phone_bo_pub.get_phone_bo (-)',
4727 p_prefix=>l_debug_prefix,
4728 p_msg_level=>fnd_log.level_procedure);
4729 END IF;
4730 WHEN OTHERS THEN
4731 x_return_status := fnd_api.g_ret_sts_unexp_error;
4732
4733 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
4734 fnd_message.set_token('ERROR' ,SQLERRM);
4735 fnd_msg_pub.add;
4736
4737 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
4738 p_count => x_msg_count,
4739 p_data => x_msg_data);
4740
4741 -- Debug info.
4742 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
4743 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
4744 p_msg_data=>x_msg_data,
4745 p_msg_type=>'SQL ERROR',
4746 p_msg_level=>fnd_log.level_error);
4747 END IF;
4748 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4749 hz_utility_v2pub.debug(p_message=>'hz_phone_bo_pub.get_phone_bo (-)',
4750 p_prefix=>l_debug_prefix,
4751 p_msg_level=>fnd_log.level_procedure);
4752 END IF;
4753
4754 end;
4755
4756 PROCEDURE get_telex_bo (
4757 p_telex_id IN NUMBER,
4758 p_telex_os IN VARCHAR2,
4759 p_telex_osr IN VARCHAR2,
4760 x_telex_obj OUT NOCOPY HZ_TELEX_CP_BO,
4761 x_return_status OUT NOCOPY VARCHAR2,
4762 x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL
4763 ) is
4764 l_msg_data VARCHAR2(2000);
4765 l_msg_count NUMBER;
4766 BEGIN
4767 get_telex_bo (
4768 p_init_msg_list => FND_API.G_TRUE,
4769 p_telex_id => p_telex_id,
4770 p_telex_os => p_telex_os,
4771 p_telex_osr => p_telex_osr,
4772 x_telex_obj => x_telex_obj,
4773 x_return_status => x_return_status,
4774 x_msg_count => l_msg_count,
4775 x_msg_data => l_msg_data);
4776 x_messages := HZ_PARTY_BO_PVT.return_all_messages(
4777 x_return_status => x_return_status,
4778 x_msg_count => l_msg_count,
4779 x_msg_data => l_msg_data);
4780 END get_telex_bo;
4781
4782 --------------------------------------
4783 --
4784 -- PROCEDURE get_telex_bo
4785 --
4786 -- DESCRIPTION
4787 -- Get a logical telex.
4788 --
4789 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
4790 --
4791 -- ARGUMENTS
4792 -- IN:
4793 -- p_init_msg_list Initialize message stack if it is set to
4794 -- p_telex_id telex ID.If this id passed in, return only one telex obj.
4795 -- p_telex_os telex orig system.
4796 -- p_telex_osr telex orig system reference.
4797 -- FND_API.G_TRUE. Default is FND_API.G_FALSE.
4798 -- OUT:
4799 -- x_telex_obj Logical telex record.
4800 -- x_return_status Return status after the call. The status can
4801 -- be fnd_api.g_ret_sts_success (success),
4802 -- fnd_api.g_ret_sts_error (error),
4803 -- FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
4804 -- x_msg_count Number of messages in message stack.
4805 -- x_msg_data Message text if x_msg_count is 1.
4806 --
4807 -- NOTES
4808 --
4809 -- MODIFICATION HISTORY
4810 --
4811 --
4812 -- 30-May-2005 AWU Created.
4813 --
4814
4815
4816 PROCEDURE get_telex_bo (
4817 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
4818 p_telex_id IN NUMBER,
4819 p_telex_os IN VARCHAR2,
4820 p_telex_osr IN VARCHAR2,
4824 x_msg_data OUT NOCOPY VARCHAR2
4821 x_telex_obj OUT NOCOPY HZ_TELEX_CP_BO,
4822 x_return_status OUT NOCOPY VARCHAR2,
4823 x_msg_count OUT NOCOPY NUMBER,
4825 ) is
4826 l_debug_prefix VARCHAR2(30) := '';
4827
4828 l_telex_id number;
4829 l_telex_os varchar2(30);
4830 l_telex_osr varchar2(255);
4831 l_telex_objs HZ_TELEX_CP_BO_TBL;
4832 BEGIN
4833
4834 -- initialize API return status to success.
4835 x_return_status := FND_API.G_RET_STS_SUCCESS;
4836
4837 -- Initialize message list if p_init_msg_list is set to TRUE
4838 IF FND_API.to_Boolean(p_init_msg_list) THEN
4839 FND_MSG_PUB.initialize;
4840 END IF;
4841
4842
4843 -- Debug info.
4844 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4845 hz_utility_v2pub.debug(p_message=>'hz_telex_bo_pub.get_telex_bo(+)',
4846 p_prefix=>l_debug_prefix,
4847 p_msg_level=>fnd_log.level_procedure);
4848 END IF;
4849
4850 -- check if pass in contact_point_id and/or os+osr
4851 -- extraction validation logic is same as update
4852
4853 l_telex_id := p_telex_id;
4854 l_telex_os := p_telex_os;
4855 l_telex_osr := p_telex_osr;
4856
4857 HZ_EXTRACT_BO_UTIL_PVT.validate_ssm_id(
4858 px_id => l_telex_id,
4859 px_os => l_telex_os,
4860 px_osr => l_telex_osr,
4861 p_obj_type => 'TLX',
4862 x_return_status => x_return_status,
4863 x_msg_count => x_msg_count,
4864 x_msg_data => x_msg_data);
4865
4866 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
4867 RAISE fnd_api.g_exc_error;
4868 END IF;
4869
4870 HZ_EXTRACT_CONT_POINT_BO_PVT.get_telex_bos
4871 (p_init_msg_list => fnd_api.g_false,
4872 p_telex_id => l_telex_id,
4873 p_parent_id => NULL,
4874 p_parent_table_name => NULL,
4875 p_action_type => NULL,
4876 x_telex_objs => l_telex_objs,
4877 x_return_status => x_return_status,
4878 x_msg_count => x_msg_count,
4879 x_msg_data => x_msg_data);
4880
4881 x_telex_obj := l_telex_objs(1);
4882 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
4883 RAISE FND_API.G_EXC_ERROR;
4884 END IF;
4885
4886
4887 -- Debug info.
4888 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
4889 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
4890 p_msg_data=>x_msg_data,
4891 p_msg_type=>'WARNING',
4892 p_msg_level=>fnd_log.level_exception);
4893 END IF;
4894
4895 -- Debug info.
4896 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4897 hz_utility_v2pub.debug(p_message=>'hz_telex_bo_pub.get_telex_bo (-)',
4898 p_prefix=>l_debug_prefix,
4899 p_msg_level=>fnd_log.level_procedure);
4900 END IF;
4901
4902
4903 EXCEPTION
4904
4905 WHEN fnd_api.g_exc_error THEN
4906 x_return_status := fnd_api.g_ret_sts_error;
4907
4908 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
4909 p_count => x_msg_count,
4910 p_data => x_msg_data);
4911
4912 -- Debug info.
4913 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
4914 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
4915 p_msg_data=>x_msg_data,
4916 p_msg_type=>'ERROR',
4917 p_msg_level=>fnd_log.level_error);
4918 END IF;
4919 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4920 hz_utility_v2pub.debug(p_message=>'hz_telex_bo_pub.get_telex_bo (-)',
4921 p_prefix=>l_debug_prefix,
4922 p_msg_level=>fnd_log.level_procedure);
4923 END IF;
4924 WHEN fnd_api.g_exc_unexpected_error THEN
4925 x_return_status := fnd_api.g_ret_sts_unexp_error;
4926
4927 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
4928 p_count => x_msg_count,
4929 p_data => x_msg_data);
4930
4931 -- Debug info.
4932 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
4933 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
4934 p_msg_data=>x_msg_data,
4935 p_msg_type=>'UNEXPECTED ERROR',
4936 p_msg_level=>fnd_log.level_error);
4937 END IF;
4938 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4939 hz_utility_v2pub.debug(p_message=>'hz_telex_bo_pub.get_telex_bo (-)',
4940 p_prefix=>l_debug_prefix,
4941 p_msg_level=>fnd_log.level_procedure);
4942 END IF;
4943 WHEN OTHERS THEN
4944 x_return_status := fnd_api.g_ret_sts_unexp_error;
4945
4946 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
4947 fnd_message.set_token('ERROR' ,SQLERRM);
4948 fnd_msg_pub.add;
4949
4950 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
4951 p_count => x_msg_count,
4952 p_data => x_msg_data);
4953
4954 -- Debug info.
4955 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
4956 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
4957 p_msg_data=>x_msg_data,
4958 p_msg_type=>'SQL ERROR',
4962 hz_utility_v2pub.debug(p_message=>'hz_telex_bo_pub.get_telex_bo (-)',
4959 p_msg_level=>fnd_log.level_error);
4960 END IF;
4961 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4963 p_prefix=>l_debug_prefix,
4964 p_msg_level=>fnd_log.level_procedure);
4965 END IF;
4966
4967 end;
4968
4969 PROCEDURE get_email_bo (
4970 p_email_id IN NUMBER,
4971 p_email_os IN VARCHAR2,
4972 p_email_osr IN VARCHAR2,
4973 x_email_obj OUT NOCOPY HZ_EMAIL_CP_BO,
4974 x_return_status OUT NOCOPY VARCHAR2,
4975 x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL
4976 ) IS
4977 l_msg_data VARCHAR2(2000);
4978 l_msg_count NUMBER;
4979 BEGIN
4980 get_email_bo (
4981 p_init_msg_list => FND_API.G_TRUE,
4982 p_email_id => p_email_id,
4983 p_email_os => p_email_os,
4984 p_email_osr => p_email_osr,
4985 x_email_obj => x_email_obj,
4986 x_return_status => x_return_status,
4987 x_msg_count => l_msg_count,
4988 x_msg_data => l_msg_data);
4989 x_messages := HZ_PARTY_BO_PVT.return_all_messages(
4990 x_return_status => x_return_status,
4991 x_msg_count => l_msg_count,
4992 x_msg_data => l_msg_data);
4993 END get_email_bo;
4994
4995 --------------------------------------
4996 --
4997 -- PROCEDURE get_email_bo
4998 --
4999 -- DESCRIPTION
5000 -- Get a logical email.
5001 --
5002 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
5003 --
5004 -- ARGUMENTS
5005 -- IN:
5006 -- p_init_msg_list Initialize message stack if it is set to
5007 -- p_email_id email ID.If this id passed in, return only one email obj.
5008 -- p_email_os email orig system.
5009 -- p_email_osr email orig system reference.
5010 -- FND_API.G_TRUE. Default is FND_API.G_FALSE.
5011 -- OUT:
5012 -- x_email_obj Logical email record.
5013 -- x_return_status Return status after the call. The status can
5014 -- be fnd_api.g_ret_sts_success (success),
5015 -- fnd_api.g_ret_sts_error (error),
5016 -- FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
5017 -- x_msg_count Number of messages in message stack.
5018 -- x_msg_data Message text if x_msg_count is 1.
5019 --
5020 -- NOTES
5021 --
5022 -- MODIFICATION HISTORY
5023 --
5024 --
5025 -- 30-May-2005 AWU Created.
5026 --
5027
5028
5029 PROCEDURE get_email_bo (
5030 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
5031 p_email_id IN NUMBER,
5032 p_email_os IN VARCHAR2,
5033 p_email_osr IN VARCHAR2,
5034 x_email_obj OUT NOCOPY HZ_EMAIL_CP_BO,
5035 x_return_status OUT NOCOPY VARCHAR2,
5036 x_msg_count OUT NOCOPY NUMBER,
5037 x_msg_data OUT NOCOPY VARCHAR2
5038 ) is
5039 l_debug_prefix VARCHAR2(30) := '';
5040
5041 l_email_id number;
5042 l_email_os varchar2(30);
5043 l_email_osr varchar2(255);
5044 l_email_objs HZ_EMAIL_CP_BO_TBL;
5045 BEGIN
5046
5047 -- initialize API return status to success.
5048 x_return_status := FND_API.G_RET_STS_SUCCESS;
5049
5050 -- Initialize message list if p_init_msg_list is set to TRUE
5051 IF FND_API.to_Boolean(p_init_msg_list) THEN
5052 FND_MSG_PUB.initialize;
5053 END IF;
5054
5055
5056 -- Debug info.
5057 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
5058 hz_utility_v2pub.debug(p_message=>'hz_email_bo_pub.get_email_bo(+)',
5059 p_prefix=>l_debug_prefix,
5060 p_msg_level=>fnd_log.level_procedure);
5061 END IF;
5062
5063 -- check if pass in contact_point_id and/or os+osr
5064 -- extraction validation logic is same as update
5065
5066 l_email_id := p_email_id;
5067 l_email_os := p_email_os;
5068 l_email_osr := p_email_osr;
5069
5070 HZ_EXTRACT_BO_UTIL_PVT.validate_ssm_id(
5071 px_id => l_email_id,
5072 px_os => l_email_os,
5073 px_osr => l_email_osr,
5074 p_obj_type => 'EMAIL',
5075 x_return_status => x_return_status,
5076 x_msg_count => x_msg_count,
5077 x_msg_data => x_msg_data);
5078
5079 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
5080 RAISE fnd_api.g_exc_error;
5081 END IF;
5082
5083 HZ_EXTRACT_CONT_POINT_BO_PVT.get_email_bos
5084 (p_init_msg_list => fnd_api.g_false,
5085 p_email_id => l_email_id,
5086 p_parent_id => NULL,
5087 p_parent_table_name => NULL,
5088 p_action_type => NULL,
5089 x_email_objs => l_email_objs,
5090 x_return_status => x_return_status,
5091 x_msg_count => x_msg_count,
5092 x_msg_data => x_msg_data);
5093
5094 x_email_obj := l_email_objs(1);
5095 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
5096 RAISE FND_API.G_EXC_ERROR;
5097 END IF;
5098
5099
5100 -- Debug info.
5101 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
5102 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
5103 p_msg_data=>x_msg_data,
5104 p_msg_type=>'WARNING',
5105 p_msg_level=>fnd_log.level_exception);
5106 END IF;
5107
5108 -- Debug info.
5109 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
5113 END IF;
5110 hz_utility_v2pub.debug(p_message=>'hz_email_bo_pub.get_email_bo (-)',
5111 p_prefix=>l_debug_prefix,
5112 p_msg_level=>fnd_log.level_procedure);
5114
5115
5116 EXCEPTION
5117
5118 WHEN fnd_api.g_exc_error THEN
5119 x_return_status := fnd_api.g_ret_sts_error;
5120
5121 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
5122 p_count => x_msg_count,
5123 p_data => x_msg_data);
5124
5125 -- Debug info.
5126 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
5127 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
5128 p_msg_data=>x_msg_data,
5129 p_msg_type=>'ERROR',
5130 p_msg_level=>fnd_log.level_error);
5131 END IF;
5132 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
5133 hz_utility_v2pub.debug(p_message=>'hz_email_bo_pub.get_email_bo (-)',
5134 p_prefix=>l_debug_prefix,
5135 p_msg_level=>fnd_log.level_procedure);
5136 END IF;
5137 WHEN fnd_api.g_exc_unexpected_error THEN
5138 x_return_status := fnd_api.g_ret_sts_unexp_error;
5139
5140 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
5141 p_count => x_msg_count,
5142 p_data => x_msg_data);
5143
5144 -- Debug info.
5145 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
5146 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
5147 p_msg_data=>x_msg_data,
5148 p_msg_type=>'UNEXPECTED ERROR',
5149 p_msg_level=>fnd_log.level_error);
5150 END IF;
5151 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
5152 hz_utility_v2pub.debug(p_message=>'hz_email_bo_pub.get_email_bo (-)',
5153 p_prefix=>l_debug_prefix,
5154 p_msg_level=>fnd_log.level_procedure);
5155 END IF;
5156 WHEN OTHERS THEN
5157 x_return_status := fnd_api.g_ret_sts_unexp_error;
5158
5159 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
5160 fnd_message.set_token('ERROR' ,SQLERRM);
5161 fnd_msg_pub.add;
5162
5163 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
5164 p_count => x_msg_count,
5165 p_data => x_msg_data);
5166
5167 -- Debug info.
5168 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
5169 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
5170 p_msg_data=>x_msg_data,
5171 p_msg_type=>'SQL ERROR',
5172 p_msg_level=>fnd_log.level_error);
5173 END IF;
5174 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
5175 hz_utility_v2pub.debug(p_message=>'hz_email_bo_pub.get_email_bo (-)',
5176 p_prefix=>l_debug_prefix,
5177 p_msg_level=>fnd_log.level_procedure);
5178 END IF;
5179
5180 end;
5181
5182 PROCEDURE get_web_bo (
5183 p_web_id IN NUMBER,
5184 p_web_os IN VARCHAR2,
5185 p_web_osr IN VARCHAR2,
5186 x_web_obj OUT NOCOPY HZ_WEB_CP_BO,
5187 x_return_status OUT NOCOPY VARCHAR2,
5188 x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL
5189 ) IS
5190 l_msg_data VARCHAR2(2000);
5191 l_msg_count NUMBER;
5192 BEGIN
5193 get_web_bo (
5194 p_init_msg_list => FND_API.G_TRUE,
5195 p_web_id => p_web_id,
5196 p_web_os => p_web_os,
5197 p_web_osr => p_web_osr,
5198 x_web_obj => x_web_obj,
5199 x_return_status => x_return_status,
5200 x_msg_count => l_msg_count,
5201 x_msg_data => l_msg_data);
5202 x_messages := HZ_PARTY_BO_PVT.return_all_messages(
5203 x_return_status => x_return_status,
5204 x_msg_count => l_msg_count,
5205 x_msg_data => l_msg_data);
5206 END get_web_bo;
5207
5208 --------------------------------------
5209 --
5210 -- PROCEDURE get_web_bo
5211 --
5212 -- DESCRIPTION
5213 -- Get a logical web.
5214 --
5215 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
5216 --
5217 -- ARGUMENTS
5218 -- IN:
5219 -- p_init_msg_list Initialize message stack if it is set to
5220 -- p_web_id web ID.If this id passed in, return only one web obj.
5221 -- p_web_os web orig system.
5222 -- p_web_osr web orig system reference.
5223 -- FND_API.G_TRUE. Default is FND_API.G_FALSE.
5224 -- OUT:
5225 -- x_web_obj Logical web record.
5226 -- x_return_status Return status after the call. The status can
5227 -- be fnd_api.g_ret_sts_success (success),
5228 -- fnd_api.g_ret_sts_error (error),
5229 -- FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
5230 -- x_msg_count Number of messages in message stack.
5231 -- x_msg_data Message text if x_msg_count is 1.
5232 --
5233 -- NOTES
5234 --
5235 -- MODIFICATION HISTORY
5236 --
5237 --
5238 -- 30-May-2005 AWU Created.
5239 --
5240
5241
5242 PROCEDURE get_web_bo (
5243 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
5244 p_web_id IN NUMBER,
5245 p_web_os IN VARCHAR2,
5246 p_web_osr IN VARCHAR2,
5247 x_web_obj OUT NOCOPY HZ_WEB_CP_BO,
5251 ) is
5248 x_return_status OUT NOCOPY VARCHAR2,
5249 x_msg_count OUT NOCOPY NUMBER,
5250 x_msg_data OUT NOCOPY VARCHAR2
5252 l_debug_prefix VARCHAR2(30) := '';
5253
5254 l_web_id number;
5255 l_web_os varchar2(30);
5256 l_web_osr varchar2(255);
5257 l_web_objs HZ_WEB_CP_BO_TBL;
5258 BEGIN
5259
5260 -- initialize API return status to success.
5261 x_return_status := FND_API.G_RET_STS_SUCCESS;
5262
5263 -- Initialize message list if p_init_msg_list is set to TRUE
5264 IF FND_API.to_Boolean(p_init_msg_list) THEN
5265 FND_MSG_PUB.initialize;
5266 END IF;
5267
5268
5269 -- Debug info.
5270 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
5271 hz_utility_v2pub.debug(p_message=>'hz_web_bo_pub.get_web_bo(+)',
5272 p_prefix=>l_debug_prefix,
5273 p_msg_level=>fnd_log.level_procedure);
5274 END IF;
5275
5276 -- check if pass in contact_point_id and/or os+osr
5277 -- extraction validation logic is same as update
5278
5279 l_web_id := p_web_id;
5280 l_web_os := p_web_os;
5281 l_web_osr := p_web_osr;
5282
5283 HZ_EXTRACT_BO_UTIL_PVT.validate_ssm_id(
5284 px_id => l_web_id,
5285 px_os => l_web_os,
5286 px_osr => l_web_osr,
5287 p_obj_type => 'WEB',
5288 x_return_status => x_return_status,
5289 x_msg_count => x_msg_count,
5290 x_msg_data => x_msg_data);
5291
5292 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
5293 RAISE fnd_api.g_exc_error;
5294 END IF;
5295
5296 HZ_EXTRACT_CONT_POINT_BO_PVT.get_web_bos
5297 (p_init_msg_list => fnd_api.g_false,
5298 p_web_id => l_web_id,
5299 p_parent_id => NULL,
5300 p_parent_table_name => NULL,
5301 p_action_type => NULL,
5302 x_web_objs => l_web_objs,
5303 x_return_status => x_return_status,
5304 x_msg_count => x_msg_count,
5305 x_msg_data => x_msg_data);
5306
5307 x_web_obj := l_web_objs(1);
5308 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
5309 RAISE FND_API.G_EXC_ERROR;
5310 END IF;
5311
5312
5313 -- Debug info.
5314 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
5315 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
5316 p_msg_data=>x_msg_data,
5317 p_msg_type=>'WARNING',
5318 p_msg_level=>fnd_log.level_exception);
5319 END IF;
5320
5321 -- Debug info.
5322 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
5323 hz_utility_v2pub.debug(p_message=>'hz_web_bo_pub.get_web_bo (-)',
5324 p_prefix=>l_debug_prefix,
5325 p_msg_level=>fnd_log.level_procedure);
5326 END IF;
5327
5328
5329 EXCEPTION
5330
5331 WHEN fnd_api.g_exc_error THEN
5332 x_return_status := fnd_api.g_ret_sts_error;
5333
5334 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
5335 p_count => x_msg_count,
5336 p_data => x_msg_data);
5337
5338 -- Debug info.
5339 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
5340 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
5341 p_msg_data=>x_msg_data,
5342 p_msg_type=>'ERROR',
5343 p_msg_level=>fnd_log.level_error);
5344 END IF;
5345 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
5346 hz_utility_v2pub.debug(p_message=>'hz_web_bo_pub.get_web_bo (-)',
5347 p_prefix=>l_debug_prefix,
5348 p_msg_level=>fnd_log.level_procedure);
5349 END IF;
5350 WHEN fnd_api.g_exc_unexpected_error THEN
5351 x_return_status := fnd_api.g_ret_sts_unexp_error;
5352
5353 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
5354 p_count => x_msg_count,
5355 p_data => x_msg_data);
5356
5357 -- Debug info.
5358 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
5359 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
5360 p_msg_data=>x_msg_data,
5361 p_msg_type=>'UNEXPECTED ERROR',
5362 p_msg_level=>fnd_log.level_error);
5363 END IF;
5364 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
5365 hz_utility_v2pub.debug(p_message=>'hz_web_bo_pub.get_web_bo (-)',
5366 p_prefix=>l_debug_prefix,
5367 p_msg_level=>fnd_log.level_procedure);
5368 END IF;
5369 WHEN OTHERS THEN
5370 x_return_status := fnd_api.g_ret_sts_unexp_error;
5371
5372 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
5373 fnd_message.set_token('ERROR' ,SQLERRM);
5374 fnd_msg_pub.add;
5375
5376 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
5377 p_count => x_msg_count,
5378 p_data => x_msg_data);
5379
5380 -- Debug info.
5381 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
5382 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
5383 p_msg_data=>x_msg_data,
5384 p_msg_type=>'SQL ERROR',
5385 p_msg_level=>fnd_log.level_error);
5386 END IF;
5390 p_msg_level=>fnd_log.level_procedure);
5387 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
5388 hz_utility_v2pub.debug(p_message=>'hz_web_bo_pub.get_web_bo (-)',
5389 p_prefix=>l_debug_prefix,
5391 END IF;
5392
5393 end;
5394
5395 PROCEDURE get_edi_bo (
5396 p_edi_id IN NUMBER,
5397 p_edi_os IN VARCHAR2,
5398 p_edi_osr IN VARCHAR2,
5399 x_edi_obj OUT NOCOPY HZ_EDI_CP_BO,
5400 x_return_status OUT NOCOPY VARCHAR2,
5401 x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL
5402 ) IS
5403 l_msg_data VARCHAR2(2000);
5404 l_msg_count NUMBER;
5405 BEGIN
5406 get_edi_bo (
5407 p_init_msg_list => FND_API.G_TRUE,
5408 p_edi_id => p_edi_id,
5409 p_edi_os => p_edi_os,
5410 p_edi_osr => p_edi_osr,
5411 x_edi_obj => x_edi_obj,
5412 x_return_status => x_return_status,
5413 x_msg_count => l_msg_count,
5414 x_msg_data => l_msg_data);
5415 x_messages := HZ_PARTY_BO_PVT.return_all_messages(
5416 x_return_status => x_return_status,
5417 x_msg_count => l_msg_count,
5418 x_msg_data => l_msg_data);
5419 END get_edi_bo;
5420 --------------------------------------
5421 --
5422 -- PROCEDURE get_edi_bo
5423 --
5424 -- DESCRIPTION
5425 -- Get a logical edi.
5426 --
5427 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
5428 --
5429 -- ARGUMENTS
5430 -- IN:
5431 -- p_init_msg_list Initialize message stack if it is set to
5432 -- p_edi_id edi ID.If this id passed in, return only one edi obj.
5433 -- p_edi_os edi orig system.
5434 -- p_edi_osr edi orig system reference.
5435 -- FND_API.G_TRUE. Default is FND_API.G_FALSE.
5436 -- OUT:
5437 -- x_edi_obj Logical edi record.
5438 -- x_return_status Return status after the call. The status can
5439 -- be fnd_api.g_ret_sts_success (success),
5440 -- fnd_api.g_ret_sts_error (error),
5441 -- FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
5442 -- x_msg_count Number of messages in message stack.
5443 -- x_msg_data Message text if x_msg_count is 1.
5444 --
5445 -- NOTES
5446 --
5447 -- MODIFICATION HISTORY
5448 --
5449 --
5450 -- 30-May-2005 AWU Created.
5451 --
5452
5453
5454 PROCEDURE get_edi_bo (
5455 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
5456 p_edi_id IN NUMBER,
5457 p_edi_os IN VARCHAR2,
5458 p_edi_osr IN VARCHAR2,
5459 x_edi_obj OUT NOCOPY HZ_EDI_CP_BO,
5460 x_return_status OUT NOCOPY VARCHAR2,
5461 x_msg_count OUT NOCOPY NUMBER,
5462 x_msg_data OUT NOCOPY VARCHAR2
5463 ) is
5464 l_debug_prefix VARCHAR2(30) := '';
5465
5466 l_edi_id number;
5467 l_edi_os varchar2(30);
5468 l_edi_osr varchar2(255);
5469 l_edi_objs HZ_EDI_CP_BO_TBL;
5470 BEGIN
5471
5472 -- initialize API return status to success.
5473 x_return_status := FND_API.G_RET_STS_SUCCESS;
5474
5475 -- Initialize message list if p_init_msg_list is set to TRUE
5476 IF FND_API.to_Boolean(p_init_msg_list) THEN
5477 FND_MSG_PUB.initialize;
5478 END IF;
5479
5480
5481 -- Debug info.
5482 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
5483 hz_utility_v2pub.debug(p_message=>'hz_edi_bo_pub.get_edi_bo(+)',
5484 p_prefix=>l_debug_prefix,
5485 p_msg_level=>fnd_log.level_procedure);
5486 END IF;
5487
5488 -- check if pass in contact_point_id and/or os+osr
5489 -- extraction validation logic is same as update
5490
5491 l_edi_id := p_edi_id;
5492 l_edi_os := p_edi_os;
5493 l_edi_osr := p_edi_osr;
5494
5495 HZ_EXTRACT_BO_UTIL_PVT.validate_ssm_id(
5496 px_id => l_edi_id,
5497 px_os => l_edi_os,
5498 px_osr => l_edi_osr,
5499 p_obj_type => 'EDI',
5500 x_return_status => x_return_status,
5501 x_msg_count => x_msg_count,
5502 x_msg_data => x_msg_data);
5503
5504 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
5505 RAISE fnd_api.g_exc_error;
5506 END IF;
5507
5508 HZ_EXTRACT_CONT_POINT_BO_PVT.get_edi_bos
5509 (p_init_msg_list => fnd_api.g_false,
5510 p_edi_id => l_edi_id,
5511 p_parent_id => NULL,
5512 p_parent_table_name => NULL,
5513 p_action_type => NULL,
5514 x_edi_objs => l_edi_objs,
5515 x_return_status => x_return_status,
5516 x_msg_count => x_msg_count,
5517 x_msg_data => x_msg_data);
5518
5519 x_edi_obj := l_edi_objs(1);
5520 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
5521 RAISE FND_API.G_EXC_ERROR;
5522 END IF;
5523
5524
5525 -- Debug info.
5526 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
5527 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
5528 p_msg_data=>x_msg_data,
5529 p_msg_type=>'WARNING',
5530 p_msg_level=>fnd_log.level_exception);
5531 END IF;
5532
5533 -- Debug info.
5534 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
5535 hz_utility_v2pub.debug(p_message=>'hz_edi_bo_pub.get_edi_bo (-)',
5536 p_prefix=>l_debug_prefix,
5537 p_msg_level=>fnd_log.level_procedure);
5538 END IF;
5539
5540
5544 x_return_status := fnd_api.g_ret_sts_error;
5541 EXCEPTION
5542
5543 WHEN fnd_api.g_exc_error THEN
5545
5546 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
5547 p_count => x_msg_count,
5548 p_data => x_msg_data);
5549
5550 -- Debug info.
5551 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
5552 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
5553 p_msg_data=>x_msg_data,
5554 p_msg_type=>'ERROR',
5555 p_msg_level=>fnd_log.level_error);
5556 END IF;
5557 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
5558 hz_utility_v2pub.debug(p_message=>'hz_edi_bo_pub.get_edi_bo (-)',
5559 p_prefix=>l_debug_prefix,
5560 p_msg_level=>fnd_log.level_procedure);
5561 END IF;
5562 WHEN fnd_api.g_exc_unexpected_error THEN
5563 x_return_status := fnd_api.g_ret_sts_unexp_error;
5564
5565 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
5566 p_count => x_msg_count,
5567 p_data => x_msg_data);
5568
5569 -- Debug info.
5570 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
5571 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
5572 p_msg_data=>x_msg_data,
5573 p_msg_type=>'UNEXPECTED ERROR',
5574 p_msg_level=>fnd_log.level_error);
5575 END IF;
5576 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
5577 hz_utility_v2pub.debug(p_message=>'hz_edi_bo_pub.get_edi_bo (-)',
5578 p_prefix=>l_debug_prefix,
5579 p_msg_level=>fnd_log.level_procedure);
5580 END IF;
5581 WHEN OTHERS THEN
5582 x_return_status := fnd_api.g_ret_sts_unexp_error;
5583
5584 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
5585 fnd_message.set_token('ERROR' ,SQLERRM);
5586 fnd_msg_pub.add;
5587
5588 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
5589 p_count => x_msg_count,
5590 p_data => x_msg_data);
5591
5592 -- Debug info.
5593 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
5594 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
5595 p_msg_data=>x_msg_data,
5596 p_msg_type=>'SQL ERROR',
5597 p_msg_level=>fnd_log.level_error);
5598 END IF;
5599 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
5600 hz_utility_v2pub.debug(p_message=>'hz_edi_bo_pub.get_edi_bo (-)',
5601 p_prefix=>l_debug_prefix,
5602 p_msg_level=>fnd_log.level_procedure);
5603 END IF;
5604
5605 end;
5606
5607 PROCEDURE get_eft_bo (
5608 p_eft_id IN NUMBER,
5609 p_eft_os IN VARCHAR2,
5610 p_eft_osr IN VARCHAR2,
5611 x_eft_obj OUT NOCOPY HZ_EFT_CP_BO,
5612 x_return_status OUT NOCOPY VARCHAR2,
5613 x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL
5614 ) IS
5615 l_msg_data VARCHAR2(2000);
5616 l_msg_count NUMBER;
5617 BEGIN
5618 get_eft_bo (
5619 p_init_msg_list => FND_API.G_TRUE,
5620 p_eft_id => p_eft_id,
5621 p_eft_os => p_eft_os,
5622 p_eft_osr => p_eft_osr,
5623 x_eft_obj => x_eft_obj,
5624 x_return_status => x_return_status,
5625 x_msg_count => l_msg_count,
5626 x_msg_data => l_msg_data);
5627 x_messages := HZ_PARTY_BO_PVT.return_all_messages(
5628 x_return_status => x_return_status,
5629 x_msg_count => l_msg_count,
5630 x_msg_data => l_msg_data);
5631 END get_eft_bo;
5632
5633 --------------------------------------
5634 --
5635 -- PROCEDURE get_eft_bo
5636 --
5637 -- DESCRIPTION
5638 -- Get a logical eft.
5639 --
5640 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
5641 --
5642 -- ARGUMENTS
5643 -- IN:
5644 -- p_init_msg_list Initialize message stack if it is set to
5645 -- p_eft_id eft ID.If this id passed in, return only one eft obj.
5646 -- p_eft_os eft orig system.
5647 -- p_eft_osr eft orig system reference.
5648 -- FND_API.G_TRUE. Default is FND_API.G_FALSE.
5649 -- OUT:
5650 -- x_eft_obj Logical eft record.
5651 -- x_return_status Return status after the call. The status can
5652 -- be fnd_api.g_ret_sts_success (success),
5653 -- fnd_api.g_ret_sts_error (error),
5654 -- FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
5655 -- x_msg_count Number of messages in message stack.
5656 -- x_msg_data Message text if x_msg_count is 1.
5657 --
5658 -- NOTES
5659 --
5660 -- MODIFICATION HISTORY
5661 --
5662 --
5663 -- 30-May-2005 AWU Created.
5664 --
5665
5666
5667 PROCEDURE get_eft_bo (
5668 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
5669 p_eft_id IN NUMBER,
5670 p_eft_os IN VARCHAR2,
5671 p_eft_osr IN VARCHAR2,
5672 x_eft_obj OUT NOCOPY HZ_EFT_CP_BO,
5673 x_return_status OUT NOCOPY VARCHAR2,
5674 x_msg_count OUT NOCOPY NUMBER,
5675 x_msg_data OUT NOCOPY VARCHAR2
5676 ) is
5677 l_debug_prefix VARCHAR2(30) := '';
5678
5679 l_eft_id number;
5680 l_eft_os varchar2(30);
5684
5681 l_eft_osr varchar2(255);
5682 l_eft_objs HZ_EFT_CP_BO_TBL;
5683 BEGIN
5685 -- initialize API return status to success.
5686 x_return_status := FND_API.G_RET_STS_SUCCESS;
5687
5688 -- Initialize message list if p_init_msg_list is set to TRUE
5689 IF FND_API.to_Boolean(p_init_msg_list) THEN
5690 FND_MSG_PUB.initialize;
5691 END IF;
5692
5693
5694 -- Debug info.
5695 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
5696 hz_utility_v2pub.debug(p_message=>'hz_eft_bo_pub.get_eft_bo(+)',
5697 p_prefix=>l_debug_prefix,
5698 p_msg_level=>fnd_log.level_procedure);
5699 END IF;
5700
5701 -- check if pass in contact_point_id and/or os+osr
5702 -- extraction validation logic is same as update
5703
5704 l_eft_id := p_eft_id;
5705 l_eft_os := p_eft_os;
5706 l_eft_osr := p_eft_osr;
5707
5708 HZ_EXTRACT_BO_UTIL_PVT.validate_ssm_id(
5709 px_id => l_eft_id,
5710 px_os => l_eft_os,
5711 px_osr => l_eft_osr,
5712 p_obj_type => 'EFT',
5713 x_return_status => x_return_status,
5714 x_msg_count => x_msg_count,
5715 x_msg_data => x_msg_data);
5716
5717 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
5718 RAISE fnd_api.g_exc_error;
5719 END IF;
5720
5721 HZ_EXTRACT_CONT_POINT_BO_PVT.get_eft_bos
5722 (p_init_msg_list => fnd_api.g_false,
5723 p_eft_id => l_eft_id,
5724 p_parent_id => NULL,
5725 p_parent_table_name => NULL,
5726 p_action_type => NULL,
5727 x_eft_objs => l_eft_objs,
5728 x_return_status => x_return_status,
5729 x_msg_count => x_msg_count,
5730 x_msg_data => x_msg_data);
5731
5732 x_eft_obj := l_eft_objs(1);
5733 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
5734 RAISE FND_API.G_EXC_ERROR;
5735 END IF;
5736
5737
5738 -- Debug info.
5739 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
5740 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
5741 p_msg_data=>x_msg_data,
5742 p_msg_type=>'WARNING',
5743 p_msg_level=>fnd_log.level_exception);
5744 END IF;
5745
5746 -- Debug info.
5747 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
5748 hz_utility_v2pub.debug(p_message=>'hz_eft_bo_pub.get_eft_bo (-)',
5749 p_prefix=>l_debug_prefix,
5750 p_msg_level=>fnd_log.level_procedure);
5751 END IF;
5752
5753
5754 EXCEPTION
5755
5756 WHEN fnd_api.g_exc_error THEN
5757 x_return_status := fnd_api.g_ret_sts_error;
5758
5759 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
5760 p_count => x_msg_count,
5761 p_data => x_msg_data);
5762
5763 -- Debug info.
5764 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
5765 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
5766 p_msg_data=>x_msg_data,
5767 p_msg_type=>'ERROR',
5768 p_msg_level=>fnd_log.level_error);
5769 END IF;
5770 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
5771 hz_utility_v2pub.debug(p_message=>'hz_eft_bo_pub.get_eft_bo (-)',
5772 p_prefix=>l_debug_prefix,
5773 p_msg_level=>fnd_log.level_procedure);
5774 END IF;
5775 WHEN fnd_api.g_exc_unexpected_error THEN
5776 x_return_status := fnd_api.g_ret_sts_unexp_error;
5777
5778 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
5779 p_count => x_msg_count,
5780 p_data => x_msg_data);
5781
5782 -- Debug info.
5783 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
5784 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
5785 p_msg_data=>x_msg_data,
5786 p_msg_type=>'UNEXPECTED ERROR',
5787 p_msg_level=>fnd_log.level_error);
5788 END IF;
5789 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
5790 hz_utility_v2pub.debug(p_message=>'hz_eft_bo_pub.get_eft_bo (-)',
5791 p_prefix=>l_debug_prefix,
5792 p_msg_level=>fnd_log.level_procedure);
5793 END IF;
5794 WHEN OTHERS THEN
5795 x_return_status := fnd_api.g_ret_sts_unexp_error;
5796
5797 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
5798 fnd_message.set_token('ERROR' ,SQLERRM);
5799 fnd_msg_pub.add;
5800
5801 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
5802 p_count => x_msg_count,
5803 p_data => x_msg_data);
5804
5805 -- Debug info.
5806 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
5807 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
5808 p_msg_data=>x_msg_data,
5809 p_msg_type=>'SQL ERROR',
5810 p_msg_level=>fnd_log.level_error);
5811 END IF;
5812 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
5813 hz_utility_v2pub.debug(p_message=>'hz_eft_bo_pub.get_eft_bo (-)',
5814 p_prefix=>l_debug_prefix,
5815 p_msg_level=>fnd_log.level_procedure);
5816 END IF;
5817
5821 p_sms_id IN NUMBER,
5818 end;
5819
5820 PROCEDURE get_sms_bo (
5822 p_sms_os IN VARCHAR2,
5823 p_sms_osr IN VARCHAR2,
5824 x_sms_obj OUT NOCOPY HZ_SMS_CP_BO,
5825 x_return_status OUT NOCOPY VARCHAR2,
5826 x_messages OUT NOCOPY HZ_MESSAGE_OBJ_TBL
5827 ) IS
5828 l_msg_data VARCHAR2(2000);
5829 l_msg_count NUMBER;
5830 BEGIN
5831 get_sms_bo (
5832 p_init_msg_list => FND_API.G_TRUE,
5833 p_sms_id => p_sms_id,
5834 p_sms_os => p_sms_os,
5835 p_sms_osr => p_sms_osr,
5836 x_sms_obj => x_sms_obj,
5837 x_return_status => x_return_status,
5838 x_msg_count => l_msg_count,
5839 x_msg_data => l_msg_data);
5840 x_messages := HZ_PARTY_BO_PVT.return_all_messages(
5841 x_return_status => x_return_status,
5842 x_msg_count => l_msg_count,
5843 x_msg_data => l_msg_data);
5844 END get_sms_bo;
5845
5846 --------------------------------------
5847 --
5848 -- PROCEDURE get_sms_bo
5849 --
5850 -- DESCRIPTION
5851 -- Get a logical sms.
5852 --
5853 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
5854 --
5855 -- ARGUMENTS
5856 -- IN:
5857 -- p_init_msg_list Initialize message stack if it is set to
5858 -- p_sms_id sms ID.If this id passed in, return only one sms obj.
5859 -- p_sms_os sms orig system.
5860 -- p_sms_osr sms orig system reference.
5861 -- FND_API.G_TRUE. Default is FND_API.G_FALSE.
5862 -- OUT:
5863 -- x_sms_obj Logical sms record.
5864 -- x_return_status Return status after the call. The status can
5865 -- be fnd_api.g_ret_sts_success (success),
5866 -- fnd_api.g_ret_sts_error (error),
5867 -- FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
5868 -- x_msg_count Number of messages in message stack.
5869 -- x_msg_data Message text if x_msg_count is 1.
5870 --
5871 -- NOTES
5872 --
5873 -- MODIFICATION HISTORY
5874 --
5875 --
5876 -- 30-May-2005 AWU Created.
5877 --
5878
5879
5880 PROCEDURE get_sms_bo (
5881 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
5882 p_sms_id IN NUMBER,
5883 p_sms_os IN VARCHAR2,
5884 p_sms_osr IN VARCHAR2,
5885 x_sms_obj OUT NOCOPY HZ_SMS_CP_BO,
5886 x_return_status OUT NOCOPY VARCHAR2,
5887 x_msg_count OUT NOCOPY NUMBER,
5888 x_msg_data OUT NOCOPY VARCHAR2
5889 ) is
5890 l_debug_prefix VARCHAR2(30) := '';
5891
5892 l_sms_id number;
5893 l_sms_os varchar2(30);
5894 l_sms_osr varchar2(255);
5895 l_sms_objs HZ_SMS_CP_BO_TBL;
5896 BEGIN
5897
5898 -- initialize API return status to success.
5899 x_return_status := FND_API.G_RET_STS_SUCCESS;
5900
5901 -- Initialize message list if p_init_msg_list is set to TRUE
5902 IF FND_API.to_Boolean(p_init_msg_list) THEN
5903 FND_MSG_PUB.initialize;
5904 END IF;
5905
5906
5907 -- Debug info.
5908 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
5909 hz_utility_v2pub.debug(p_message=>'hz_sms_bo_pub.get_sms_bo(+)',
5910 p_prefix=>l_debug_prefix,
5911 p_msg_level=>fnd_log.level_procedure);
5912 END IF;
5913
5914 -- check if pass in contact_point_id and/or os+osr
5915 -- extraction validation logic is same as update
5916
5917 l_sms_id := p_sms_id;
5918 l_sms_os := p_sms_os;
5919 l_sms_osr := p_sms_osr;
5920
5921 HZ_EXTRACT_BO_UTIL_PVT.validate_ssm_id(
5922 px_id => l_sms_id,
5923 px_os => l_sms_os,
5924 px_osr => l_sms_osr,
5925 p_obj_type => 'SMS',
5926 x_return_status => x_return_status,
5927 x_msg_count => x_msg_count,
5928 x_msg_data => x_msg_data);
5929
5930 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
5931 RAISE fnd_api.g_exc_error;
5932 END IF;
5933
5934 HZ_EXTRACT_CONT_POINT_BO_PVT.get_sms_bos
5935 (p_init_msg_list => fnd_api.g_false,
5936 p_sms_id => l_sms_id,
5937 p_parent_id => NULL,
5938 p_parent_table_name => NULL,
5939 p_action_type => NULL,
5940 x_sms_objs => l_sms_objs,
5941 x_return_status => x_return_status,
5942 x_msg_count => x_msg_count,
5943 x_msg_data => x_msg_data);
5944
5945 x_sms_obj := l_sms_objs(1);
5946 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
5947 RAISE FND_API.G_EXC_ERROR;
5948 END IF;
5949
5950
5951 -- Debug info.
5952 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
5953 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
5954 p_msg_data=>x_msg_data,
5955 p_msg_type=>'WARNING',
5956 p_msg_level=>fnd_log.level_exception);
5957 END IF;
5958
5959 -- Debug info.
5960 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
5961 hz_utility_v2pub.debug(p_message=>'hz_sms_bo_pub.get_sms_bo (-)',
5962 p_prefix=>l_debug_prefix,
5963 p_msg_level=>fnd_log.level_procedure);
5964 END IF;
5965
5966
5967 EXCEPTION
5968
5969 WHEN fnd_api.g_exc_error THEN
5970 x_return_status := fnd_api.g_ret_sts_error;
5971
5972 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
5973 p_count => x_msg_count,
5977 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
5974 p_data => x_msg_data);
5975
5976 -- Debug info.
5978 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
5979 p_msg_data=>x_msg_data,
5980 p_msg_type=>'ERROR',
5981 p_msg_level=>fnd_log.level_error);
5982 END IF;
5983 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
5984 hz_utility_v2pub.debug(p_message=>'hz_sms_bo_pub.get_sms_bo (-)',
5985 p_prefix=>l_debug_prefix,
5986 p_msg_level=>fnd_log.level_procedure);
5987 END IF;
5988 WHEN fnd_api.g_exc_unexpected_error THEN
5989 x_return_status := fnd_api.g_ret_sts_unexp_error;
5990
5991 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
5992 p_count => x_msg_count,
5993 p_data => x_msg_data);
5994
5995 -- Debug info.
5996 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
5997 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
5998 p_msg_data=>x_msg_data,
5999 p_msg_type=>'UNEXPECTED ERROR',
6000 p_msg_level=>fnd_log.level_error);
6001 END IF;
6002 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
6003 hz_utility_v2pub.debug(p_message=>'hz_sms_bo_pub.get_sms_bo (-)',
6004 p_prefix=>l_debug_prefix,
6005 p_msg_level=>fnd_log.level_procedure);
6006 END IF;
6007 WHEN OTHERS THEN
6008 x_return_status := fnd_api.g_ret_sts_unexp_error;
6009
6010 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
6011 fnd_message.set_token('ERROR' ,SQLERRM);
6012 fnd_msg_pub.add;
6013
6014 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
6015 p_count => x_msg_count,
6016 p_data => x_msg_data);
6017
6018 -- Debug info.
6019 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
6020 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
6021 p_msg_data=>x_msg_data,
6022 p_msg_type=>'SQL ERROR',
6023 p_msg_level=>fnd_log.level_error);
6024 END IF;
6025 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
6026 hz_utility_v2pub.debug(p_message=>'hz_sms_bo_pub.get_sms_bo (-)',
6027 p_prefix=>l_debug_prefix,
6028 p_msg_level=>fnd_log.level_procedure);
6029 END IF;
6030
6031 end;
6032
6033
6034 END hz_contact_point_bo_pub;