[Home] [Help]
PACKAGE BODY: APPS.HZ_CONTACT_POINT_V2PUB
Source
1 PACKAGE BODY hz_contact_point_v2pub AS
2 /*$Header: ARH2CPSB.pls 120.41.12020000.5 2012/10/19 08:38:48 rgokavar ship $ */
3
4 --------------------------------------
5 -- declaration of private global varibles
6 --------------------------------------
7
8 g_debug_count NUMBER := 0;
9 --g_debug BOOLEAN := FALSE;
10
11 -- Bug 2197181: added for mix-n-match project.
12
13 g_cpt_mixnmatch_enabled VARCHAR2(1);
14 g_cpt_selected_datasources VARCHAR2(255);
15 g_cpt_is_datasource_selected VARCHAR2(1) := 'N';
16 g_cpt_entity_attr_id NUMBER;
17
18 --------------------------------------
19 -- declaration of private procedures and functions
20 --------------------------------------
21
22 /*PROCEDURE enable_debug;
23
24 PROCEDURE disable_debug;
25 */
26
27
28 PROCEDURE do_create_contact_point (
29 p_contact_point_rec IN OUT NOCOPY contact_point_rec_type,
30 p_edi_rec IN OUT NOCOPY edi_rec_type,
31 p_eft_rec IN OUT NOCOPY eft_rec_type,
32 p_email_rec IN OUT NOCOPY email_rec_type,
33 p_phone_rec IN OUT NOCOPY phone_rec_type,
34 p_telex_rec IN OUT NOCOPY telex_rec_type,
35 p_web_rec IN OUT NOCOPY web_rec_type,
36 x_contact_point_id OUT NOCOPY NUMBER,
37 x_return_status IN OUT NOCOPY VARCHAR2
38 );
39
40 PROCEDURE do_update_contact_point (
41 p_contact_point_rec IN OUT NOCOPY contact_point_rec_type,
42 p_edi_rec IN OUT NOCOPY edi_rec_type,
43 p_eft_rec IN OUT NOCOPY eft_rec_type,
44 p_email_rec IN OUT NOCOPY email_rec_type,
45 p_phone_rec IN OUT NOCOPY phone_rec_type,
46 p_telex_rec IN OUT NOCOPY telex_rec_type,
47 p_web_rec IN OUT NOCOPY web_rec_type,
48 p_object_version_number IN OUT NOCOPY NUMBER,
49 x_return_status IN OUT NOCOPY VARCHAR2
50 );
51
52
53 PROCEDURE do_denormalize_contact_point (
54 p_party_id IN NUMBER,
55 p_contact_point_type IN VARCHAR2,
56 p_url IN VARCHAR2,
57 p_email_address IN VARCHAR2,
58 p_phone_contact_pt_id IN NUMBER,
59 p_phone_purpose IN VARCHAR2,
60 p_phone_line_type IN VARCHAR2,
61 p_phone_country_code IN VARCHAR2,
62 p_phone_area_code IN VARCHAR2,
63 p_phone_number IN VARCHAR2,
64 p_phone_extension IN VARCHAR2
65 );
66
67 PROCEDURE do_unset_prim_contact_point (
68 p_owner_table_name IN VARCHAR2,
69 p_owner_table_id IN NUMBER,
70 p_contact_point_type IN VARCHAR2,
71 p_contact_point_id IN NUMBER,
72 p_mode IN VARCHAR2 := NULL
73 );
74
75 PROCEDURE do_unset_primary_by_purpose (
76 p_owner_table_name IN VARCHAR2,
77 p_owner_table_id IN NUMBER,
78 p_contact_point_type IN VARCHAR2,
79 p_contact_point_purpose IN VARCHAR2,
80 p_contact_point_id IN NUMBER
81 );
82
83 FUNCTION filter_phone_number (
84 p_phone_number IN VARCHAR2,
85 p_isformat IN NUMBER := 0
86 ) RETURN VARCHAR2;
87
88 PROCEDURE get_phone_format (
89 p_raw_phone_number IN VARCHAR2 := fnd_api.g_miss_char,
90 p_territory_code IN VARCHAR2 := fnd_api.g_miss_char,
91 p_area_code IN VARCHAR2,
92 x_phone_country_code OUT NOCOPY VARCHAR2,
93 x_phone_format_style OUT NOCOPY VARCHAR2,
94 x_area_code_size OUT NOCOPY VARCHAR2,
95 x_include_country_code OUT NOCOPY BOOLEAN,
96 x_msg OUT NOCOPY VARCHAR2
97 );
98
99 PROCEDURE translate_raw_phone_number (
100 p_raw_phone_number IN VARCHAR2 := fnd_api.g_miss_char,
101 p_phone_format_style IN VARCHAR2 := fnd_api.g_miss_char,
102 p_area_code_size IN NUMBER := 0,
103 x_formatted_phone_number OUT NOCOPY VARCHAR2,
104 x_phone_area_code OUT NOCOPY VARCHAR2,
105 x_phone_number OUT NOCOPY VARCHAR2
106 );
107
108 PROCEDURE update_contact_point_search(
109 p_cp_rec IN HZ_CONTACT_POINT_V2PUB.CONTACT_POINT_REC_TYPE,
110 p_old_phone_rec IN HZ_CONTACT_POINT_V2PUB.phone_rec_type,
111 p_new_phone_rec IN HZ_CONTACT_POINT_V2PUB.phone_rec_type,
112 p_old_email_rec IN HZ_CONTACT_POINT_V2PUB.email_rec_type,
113 p_new_email_rec IN HZ_CONTACT_POINT_V2PUB.email_rec_type
114 );
115 FUNCTION isModified(p_old_value IN VARCHAR2,
116 p_new_value IN VARCHAR2
117 ) RETURN BOOLEAN;
118
119 FUNCTION get_protocol_prefixed_url (p_web_rec IN HZ_CONTACT_POINT_V2PUB.web_rec_type)
120 RETURN HZ_CONTACT_POINT_V2PUB.web_rec_type;
121
122 --------------------------------------
123 -- private procedures and functions
124 --------------------------------------
125
126 --
127 -- PRIVATE PROCEDURE enable_debug
128 --
129 -- DESCRIPTION
130 -- Turn on debug mode.
131 --
132 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
133 -- HZ_UTILITY_V2PUB.enable_debug
134 --
135 -- MODIFICATION HISTORY
136 --
137 -- 07-23-2001 Jianying Huang o Created.
138 --
139 --
140
141 /*PROCEDURE enable_debug IS
142 BEGIN
143 g_debug_count := g_debug_count + 1;
144
145 IF g_debug_count = 1 THEN
146 IF fnd_profile.value('HZ_API_FILE_DEBUG_ON') = 'Y' OR
147 fnd_profile.value('HZ_API_DBMS_DEBUG_ON') = 'Y'
148 THEN
149 hz_utility_v2pub.enable_debug;
150 g_debug := TRUE;
151 END IF;
152 END IF;
153 END enable_debug;
154 */
155
156 --
157 -- PRIVATE PROCEDURE disable_debug
158 --
159 -- DESCRIPTION
160 -- Turn off debug mode.
161 --
162 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
163 -- HZ_UTILITY_V2PUB.disable_debug
164 --
165 -- MODIFICATION HISTORY
166 --
167 -- 07-23-2001 Jianying Huang o Created.
168 --
169 --
170
171 /*PROCEDURE disable_debug IS
172 BEGIN
173 IF g_debug THEN
174 g_debug_count := g_debug_count - 1;
175
176 IF g_debug_count = 0 THEN
177 hz_utility_v2pub.disable_debug;
178 g_debug := FALSE;
179 END IF;
180 END IF;
181 END disable_debug;
182 */
183
184 --
185 -- PRIVATE FUNCTION get_protocol_prefixed_url
186 --
187 -- DESCRIPTION
188 -- To append 'http://' if it is not present in URL for web type (protocol)
189 -- HTTP. Otherwise it will simply return back passed in URL.
190 -- This can be extended in future for ther protocols also.
191 --
192 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
193 -- None
194 --
195 -- MODIFICATION HISTORY
196 --
197 -- 02-MAY-2006 Nishant Singhai o Created for Bug 4960793 (for HTTP)
198 -- 16-NOV-2011 Sudhir Gokavarapu o Bug13363490
199 -- considering 'https://' also before
200 -- appending 'http://' to the URL
201 --
202 --
203
204 FUNCTION get_protocol_prefixed_url (p_web_rec IN HZ_CONTACT_POINT_V2PUB.web_rec_type)
205 RETURN HZ_CONTACT_POINT_V2PUB.web_rec_type IS
206 l_web_type VARCHAR2(60);
207 l_url VARCHAR2(2000);
208 l_http_position NUMBER;
209 l_web_rec HZ_CONTACT_POINT_V2PUB.web_rec_type;
210 BEGIN
211 l_web_type := p_web_rec.web_type;
212 l_url := LTRIM(RTRIM(p_web_rec.url));
213
214 -- If webtype is HTTP, prefix 'http://' if not present in the beginning
215 IF (l_web_type = 'HTTP') THEN
216 IF (l_url IS NOT NULL) THEN
217 l_http_position := INSTR(l_url,'http://');
218 IF (l_http_position = 0) THEN
219 l_http_position := INSTR(l_url,'https://');
220 --Bug13363490
221 IF (l_http_position = 0) THEN
222 -- append http:// in front of URL
223 l_url := 'http://'||l_url;
224 ELSIF (l_http_position > 1) THEN
225 -- remove from other location and append it in front
226 l_url := 'https://'||REPLACE(l_url,'https://','');
227 END IF;
228 ELSIF (l_http_position > 1) THEN
229 -- remove from other location and append it in front
230 l_url := 'http://'||REPLACE(l_url,'http://','');
231 END IF;
232 END IF;
233 END IF;
234
235 l_web_rec.web_type := l_web_type;
236 l_web_rec.url := l_url;
237 RETURN l_web_rec;
238 END get_protocol_prefixed_url;
239
240 --
241 -- PRIVATE PROCEDURE do_create_contact_point
242 --
243 -- DESCRIPTION
244 -- Private procedure to create contact point.
245 --
246 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
247 -- hz_registry_validate_v2pub.validate_contact_point
248 -- hz_registry_validate_v2pub.validate_edi_contact_point
249 -- hz_registry_validate_v2pub.validate_eft_contact_point
250 -- hz_registry_validate_v2pub.validate_web_contact_point
251 -- hz_registry_validate_v2pub.validate_phone_contact_point
252 -- hz_registry_validate_v2pub.validate_telex_contact_point
253 -- hz_registry_validate_v2pub.validate_email_contact_point
254 -- hz_contact_points_pkg.insert_row
255 -- hz_phone_number_pkg.transpose
256 --
257 -- ARGUMENTS
258 -- IN/OUT:
259 -- p_contact_point_rec Contact point record.
260 -- p_edi_rec EDI record.
261 -- p_email_rec Email record.
262 -- p_phone_rec Phone record.
263 -- p_telex_rec Telex record.
264 -- p_web_rec Web record.
265 -- x_return_status Return status after the call. The status can
266 -- be FND_API.G_RET_STS_SUCCESS (success),
267 -- FND_API.G_RET_STS_ERROR (error),
268 -- FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
269 -- OUT:
270 -- x_contact_point_id Contact point ID.
271 --
272 -- NOTES
273 --
274 -- MODIFICATION HISTORY
275 --
276 -- 07-23-2001 Jianying Huang o Created.
277 -- 15-NOV-2001 Joe del Callar Bug 2116225: Modified for consolidated
278 -- bank support (EFT record support).
279 -- 05-DEC-2001 Joe del Callar Bug 2136283: Modified to use new
280 -- validation procedures.
281 -- 06-JUL-2004 Rajib Ranjan Borah Bug 3520843.raw_phone_number will not be
282 -- re-created if passed initially.
283 -- 01-03-2005 Rajib Ranjan Borah SSM SST Integration and Extension.
284 -- For non-profile entities, the concept of
285 -- select/de-select data-sources is obsoleted.
286
287 PROCEDURE do_create_contact_point (
288 p_contact_point_rec IN OUT NOCOPY contact_point_rec_type,
289 p_edi_rec IN OUT NOCOPY edi_rec_type,
290 p_eft_rec IN OUT NOCOPY eft_rec_type,
291 p_email_rec IN OUT NOCOPY email_rec_type,
292 p_phone_rec IN OUT NOCOPY phone_rec_type,
293 p_telex_rec IN OUT NOCOPY telex_rec_type,
294 p_web_rec IN OUT NOCOPY web_rec_type,
295 x_contact_point_id OUT NOCOPY NUMBER,
296 x_return_status IN OUT NOCOPY VARCHAR2
297 ) IS
298 l_debug_prefix VARCHAR2(30) := ''; -- do_create_contact_point
299
300 l_dummy VARCHAR2(1);
301 l_return_status VARCHAR2(1);
302 l_message_count NUMBER;
303 l_msg_count NUMBER;
304 l_msg_data VARCHAR2(2000);
305
306 l_formatted_phone_number VARCHAR2(100);
307 l_country_code hz_locations.country%TYPE;
308 l_transposed_phone_number hz_contact_points.transposed_phone_number%TYPE;
309
310 l_edi_rec edi_rec_type;
311 l_email_rec email_rec_type;
312 l_phone_rec phone_rec_type;
316 l_orig_sys_reference_rec HZ_ORIG_SYSTEM_REF_PUB.ORIG_SYS_REFERENCE_REC_TYPE;
313 l_telex_rec telex_rec_type;
314 l_web_rec web_rec_type;
315 l_eft_rec eft_rec_type;
317
318 l_phone_line_type VARCHAR2(30);
319 l_phone_country_code VARCHAR2(10);
320 l_phone_area_code VARCHAR2(10);
321 l_phone_number VARCHAR2(40);
322 l_phone_extension VARCHAR2(20);
323 l_contact_point_purpose VARCHAR2(30);
324
325 -- Bug 2117973: added following cursors for retrofit to conform to
326 -- Applications PL/SQL standards.
327
328 CURSOR c_country (p_site_id IN NUMBER) IS
329 SELECT country
330 FROM hz_locations
331 WHERE location_id = (SELECT location_id
332 FROM hz_party_sites
333 WHERE party_site_id = p_site_id);
334
335 -- Bug 2197181: added for mix-n-match project: the contact point
336 -- must be visible.
337
338 -- SSM SST Integration and Extension
339 -- For non-profile entities, the concept of select/de-select data-sources is obsoleted.
340 -- There is no need to check if the data-source is selected.
341
342 CURSOR c_cp (p_owner_table_name IN VARCHAR2,
343 p_owner_table_id IN NUMBER,
344 p_contact_point_type IN VARCHAR2) IS
345 SELECT 'Y'
346 FROM hz_contact_points
347 WHERE owner_table_name = p_owner_table_name
348 AND owner_table_id = p_owner_table_id
349 AND contact_point_type = p_contact_point_type
350 /* AND HZ_MIXNM_UTILITY.isDataSourceSelected (
351 g_cpt_selected_datasources, actual_content_source ) = 'Y'*/
352 AND status = 'A'
353 AND rownum = 1;
354
355 BEGIN
356 -- Debug info.
357 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
358 hz_utility_v2pub.debug(p_message=>'do_create_contact_point (+)',
359 p_prefix=>l_debug_prefix,
360 p_msg_level=>fnd_log.level_procedure);
361 END IF;
362
363 IF p_contact_point_rec.contact_point_type = 'EDI' THEN
364 l_edi_rec := p_edi_rec;
365
366 -- Validate the contact point record
367 hz_registry_validate_v2pub.validate_edi_contact_point (
368 p_create_update_flag => 'C',
369 p_contact_point_rec => p_contact_point_rec,
370 p_edi_rec => l_edi_rec,
371 p_rowid => NULL,
372 x_return_status => x_return_status);
373 ELSIF p_contact_point_rec.contact_point_type = 'EFT' THEN
374 l_eft_rec := p_eft_rec;
375
376 -- Validate the contact point record
377 hz_registry_validate_v2pub.validate_eft_contact_point (
378 p_create_update_flag => 'C',
379 p_contact_point_rec => p_contact_point_rec,
380 p_eft_rec => l_eft_rec,
381 p_rowid => NULL,
382 x_return_status => x_return_status);
383 ELSIF p_contact_point_rec.contact_point_type = 'EMAIL' THEN
384 l_email_rec := p_email_rec;
385
386 -- Validate the contact point record
387 hz_registry_validate_v2pub.validate_email_contact_point (
388 p_create_update_flag => 'C',
389 p_contact_point_rec => p_contact_point_rec,
390 p_email_rec => l_email_rec,
391 p_rowid => NULL,
392 x_return_status => x_return_status);
393 ELSIF p_contact_point_rec.contact_point_type = 'PHONE' THEN
394 l_phone_rec := p_phone_rec;
395
396 -- Validate the contact point record
397 hz_registry_validate_v2pub.validate_phone_contact_point (
398 p_create_update_flag => 'C',
399 p_contact_point_rec => p_contact_point_rec,
400 p_phone_rec => l_phone_rec,
401 p_rowid => NULL,
402 x_return_status => x_return_status);
403 ELSIF p_contact_point_rec.contact_point_type = 'TLX' THEN
404 l_telex_rec := p_telex_rec;
405
406 -- Validate the contact point record
407 hz_registry_validate_v2pub.validate_telex_contact_point (
408 p_create_update_flag => 'C',
409 p_contact_point_rec => p_contact_point_rec,
410 p_telex_rec => l_telex_rec,
411 p_rowid => NULL,
412 x_return_status => x_return_status);
413 ELSIF p_contact_point_rec.contact_point_type = 'WEB' THEN
414 --l_web_rec := p_web_rec;
415
416 -- modify URL to prefix protocol (Bug 4960793 Nishant 02-May-2006)
417 l_web_rec := get_protocol_prefixed_url(p_web_rec);
418
419 -- Validate the contact point record
420 hz_registry_validate_v2pub.validate_web_contact_point (
421 p_create_update_flag => 'C',
422 p_contact_point_rec => p_contact_point_rec,
423 p_web_rec => l_web_rec,
424 p_rowid => NULL,
425 x_return_status => x_return_status);
426 ELSE
427 l_edi_rec := p_edi_rec;
428 l_email_rec := p_email_rec;
429 l_phone_rec := p_phone_rec;
430 l_telex_rec := p_telex_rec;
431 l_web_rec := p_web_rec;
432 l_eft_rec := p_eft_rec;
433
434 -- Validate the contact point record - call the old routine and the
435 -- EFT validation routine.
436 hz_registry_validate_v2pub.validate_contact_point (
437 p_create_update_flag => 'C',
438 p_contact_point_rec => p_contact_point_rec,
439 p_edi_rec => l_edi_rec,
440 p_email_rec => l_email_rec,
441 p_phone_rec => l_phone_rec,
445 x_return_status => x_return_status);
442 p_telex_rec => l_telex_rec,
443 p_web_rec => l_web_rec,
444 p_rowid => NULL,
446
447 IF x_return_status <> fnd_api.g_ret_sts_success THEN
448 RAISE fnd_api.g_exc_error;
449 END IF;
450
451 hz_registry_validate_v2pub.validate_eft_contact_point (
452 p_create_update_flag => 'C',
453 p_contact_point_rec => p_contact_point_rec,
454 p_eft_rec => l_eft_rec,
455 p_rowid => NULL,
456 x_return_status => x_return_status);
457 END IF;
458
459 -- Raise an error if any of the validations failed.
460 IF x_return_status <> fnd_api.g_ret_sts_success THEN
461 RAISE fnd_api.g_exc_error;
462 END IF;
463
464 -- If raw_phone_number is passed in, call procedure phone_format.
465 -- either raw_phone_number or phone_number should be passed in
466 -- but can not be both. If raw_phone_number does not have a value,
467 -- it will be set by phone_number and phone_area_code.
468
469 -- Debug info.
470 IF fnd_log.level_statement>=fnd_log.g_current_runtime_level THEN
471 hz_utility_v2pub.debug(p_message=>'contact_point_type = ' || p_contact_point_rec.contact_point_type,
472 p_prefix =>l_debug_prefix,
473 p_msg_level=>fnd_log.level_statement);
474 END IF;
475
476 --To get territory code to pass to phone_format, first check if country code
477 --was passed in else get it from hz_locations for owner_table_name HZ_PARTY_SITES
478
479 IF p_contact_point_rec.contact_point_type = 'PHONE' THEN
480 IF l_phone_rec.raw_phone_number IS NOT NULL AND
481 l_phone_rec.raw_phone_number <> fnd_api.g_miss_char
482 THEN
483 IF l_phone_rec.phone_country_code is not null AND
484 l_phone_rec.phone_country_code <> fnd_api.g_miss_char
485 THEN
486 BEGIN
487 select territory_code into l_country_code
488 from hz_phone_country_codes
489 where phone_country_code = l_phone_rec.phone_country_code
490 and rownum = 1;
491 EXCEPTION
492 WHEN NO_DATA_FOUND THEN
493 NULL;
494 END;
495 ELSIF p_contact_point_rec.owner_table_name = 'HZ_PARTY_SITES' AND
496 (l_phone_rec.phone_country_code IS NULL OR
497 l_phone_rec.phone_country_code = fnd_api.g_miss_char)
498 THEN
499 -- Bug 2117973: modified to conform to Applications PL/SQL standards.
500 OPEN c_country(p_contact_point_rec.owner_table_id);
501 FETCH c_country INTO l_country_code;
502 IF c_country%NOTFOUND THEN
503 CLOSE c_country;
504 RAISE NO_DATA_FOUND;
505 END IF;
506 CLOSE c_country;
507 ELSE
508 l_country_code := NULL;
509 END IF;
510
511 l_message_count := fnd_msg_pub.count_msg();
512
513 -- Since phone_format cannot format raw_phone_number and phone_number
514 -- at same time, the input value of phone_number and phone_area_code
515 -- should be NULL or G_MISS before the call.
516
517 phone_format (
518 p_raw_phone_number => l_phone_rec.raw_phone_number,
519 p_territory_code => l_country_code,
520 x_formatted_phone_number => l_formatted_phone_number,
521 x_phone_country_code => l_phone_rec.phone_country_code,
522 x_phone_area_code => l_phone_rec.phone_area_code,
523 x_phone_number => l_phone_rec.phone_number,
524 x_return_status => x_return_status,
525 x_msg_count => l_msg_count,
526 x_msg_data => l_msg_data);
527
528 -- Raise exception only if content_source_type = G_MISS_CONTENT_SOURCE_TYPE.
529 -- For other sources, we do not want to error out, but simply store the
530 -- Raw Phone Number.
531
532 -- Bug 2197181 : content_source_type is obsolete and replaced by
533 -- actual_content_source
534
535 IF x_return_status <> fnd_api.g_ret_sts_success THEN
536 IF p_contact_point_rec.actual_content_source = g_miss_content_source_type
537 THEN
538 IF x_return_status = fnd_api.g_ret_sts_error THEN
539 RAISE fnd_api.g_exc_error;
540 ELSE
541 RAISE fnd_api.g_exc_unexpected_error;
542 END IF;
543 ELSE
544 FOR i IN 1..(l_msg_count - l_message_count) LOOP
545 fnd_msg_pub.delete_msg(l_msg_count - l_message_count + 1 - i);
546 END LOOP;
547 x_return_status := fnd_api.g_ret_sts_success;
548 END IF;
549 END IF;
550
551 -- END IF; Bug 3520843
552 ELSE
553 -- raw_phone_number must always have value.
554 IF l_phone_rec.phone_area_code IS NULL OR
555 l_phone_rec.phone_area_code = fnd_api.g_miss_char
556 THEN
557 l_phone_rec.raw_phone_number := l_phone_rec.phone_number;
558 ELSE
559 l_phone_rec.raw_phone_number := l_phone_rec.phone_area_code || '-' ||
560 l_phone_rec.phone_number;
561 END IF;
562 END IF;
563
564 -- Debug info.
565 IF fnd_log.level_statement>=fnd_log.g_current_runtime_level THEN
566 hz_utility_v2pub.debug(p_message=>'phone_number = ' || l_phone_rec.phone_number || ' ' ||
570 END IF;
567 'raw_phone_number = ' || l_phone_rec.raw_phone_number,
568 p_prefix =>l_debug_prefix,
569 p_msg_level=>fnd_log.level_statement);
571
572 -- Populate transposed_phone_number
573 IF l_phone_rec.phone_country_code IS NOT NULL AND
574 l_phone_rec.phone_country_code <> fnd_api.g_miss_char
575 THEN
576 l_transposed_phone_number := l_phone_rec.phone_country_code;
577 END IF;
578
579 IF l_phone_rec.phone_area_code IS NOT NULL AND
580 l_phone_rec.phone_area_code <> fnd_api.g_miss_char
581 THEN
582 l_transposed_phone_number := l_transposed_phone_number ||
583 l_phone_rec.phone_area_code;
584 END IF;
585
586 -- phone_number is mandatory
587 l_transposed_phone_number := hz_phone_number_pkg.transpose(
588 l_transposed_phone_number || l_phone_rec.phone_number);
589
590 -- Debug info.
591 IF fnd_log.level_statement>=fnd_log.g_current_runtime_level THEN
592 hz_utility_v2pub.debug(p_message=>'transposed_phone_number = ' || l_transposed_phone_number,
593 p_prefix =>l_debug_prefix,
594 p_msg_level=>fnd_log.level_statement);
595 END IF;
596 END IF;
597
598 -- If this is the first active contact point for the combination of
599 -- owner_table_name, owner_table_id, contact_point_type, we need to
600 -- mark it as primary no matter the value of primary_flag,
601 -- If primary_flag = 'Y', we need to unmark the previous primary.
602 -- Please note, if status is NULL or MISSING, we treat it as 'A'
603 -- and in validation part, we already checked that primary_flag = 'Y'
604 -- and status = 'I' can not both be set.
605
606 -- Bug 2197181: added for mix-n-match project: the primary flag
607 -- can be set to 'Y' only if the contact point will be visible. If
608 -- it is not visible, the flag must be reset to 'N'.
609
610 -- SSM SST Integration and Extension
611 -- For non-profile entities, the concept of select/de-select data sources is obsoleted.
612 -- There is no need to check if the data-source is selected.
613
614 IF p_contact_point_rec.status IS NULL OR
615 p_contact_point_rec.status = fnd_api.g_miss_char OR
616 p_contact_point_rec.status = 'A'
617 THEN
618 IF p_contact_point_rec.primary_flag = 'Y' THEN
619 -- Bug 2197181: added for mix-n-match project
620 -- IF g_cpt_is_datasource_selected = 'Y' THEN
621 -- Unmark previous primary contact point.
622 do_unset_prim_contact_point (p_contact_point_rec.owner_table_name,
623 p_contact_point_rec.owner_table_id,
624 p_contact_point_rec.contact_point_type,
625 p_contact_point_rec.contact_point_id, 'I');
626 -- ELSE
627 -- p_contact_point_rec.primary_flag := 'N';
628 -- END IF;
629 ELSE
630 -- Bug 2117973: modified to conform to Applications PL/SQL standards.
631 OPEN c_cp (p_contact_point_rec.owner_table_name,
632 p_contact_point_rec.owner_table_id,
633 p_contact_point_rec.contact_point_type);
634 FETCH c_cp INTO l_dummy;
635
636 -- SSM SST Integration and Extension
637 -- For non-profile entities, the concept of select/de-select data-sources is obsoleted.
638 -- There is no need to check if the data-source is selected.
639
640 IF c_cp%NOTFOUND /*AND
641 -- Bug 2197181: added for mix-n-match project
642 g_cpt_is_datasource_selected = 'Y'*/
643 THEN
644 -- First active and visible contact point per type for this entity
645 p_contact_point_rec.primary_flag := 'Y';
646 ELSE
647 p_contact_point_rec.primary_flag := 'N';
648 END IF;
649 CLOSE c_cp;
650 END IF;
651
652
653 END IF;
654
655 -- There is only one primary per purpose contact point exist for
656 -- the combination of owner_table_name, owner_table_id, contact_point_type
657 -- and contact_point_purpose. If primary_by_purpose is set to 'Y',
658 -- we need to unset the previous primary per purpose contact point to
659 -- non-primary. Since setting primary_by_purpose is only making
660 -- sense when contact_point_purpose has some value, we ignore
661 -- the primary_by_purpose (setting it to 'N') if contact_point_purpose
662 -- is NULL.
663
664 -- Bug 2197181: added for mix-n-match project: the primary by purpose
665 -- flag can be set to 'Y' only if the contact point will be visible.
666 -- If it is not visible, the flag must be reset to 'N'.
667
668 -- SSM SST Integration and Extension
669 -- For non-profile entities, the concept of select/de-select data sources is obsoleted.
670 -- There is no need to check if the data-source is selected.
671
672 IF p_contact_point_rec.contact_point_purpose IS NOT NULL AND
673 p_contact_point_rec.contact_point_purpose <> fnd_api.g_miss_char
674 THEN
675 IF p_contact_point_rec.primary_by_purpose = 'Y' THEN
676 -- Bug 2197181: added for mix-n-match project
677 -- IF g_cpt_is_datasource_selected = 'Y' THEN
678 do_unset_primary_by_purpose (p_contact_point_rec.owner_table_name,
679 p_contact_point_rec.owner_table_id,
680 p_contact_point_rec.contact_point_type,
681 p_contact_point_rec.contact_point_purpose,
682 p_contact_point_rec.contact_point_id);
683 -- ELSE
684 -- p_contact_point_rec.primary_by_purpose := 'N';
685 -- END IF;
689 END IF;
686 END IF;
687 ELSE
688 p_contact_point_rec.primary_by_purpose := 'N';
690
691 if l_phone_rec.timezone_id is null or
692 l_phone_rec.timezone_id = fnd_api.g_miss_num
693 then
694
695 if l_phone_rec.phone_country_code IS NOT NULL AND
696 l_phone_rec.phone_country_code <> fnd_api.g_miss_char
697 then
698 l_message_count := fnd_msg_pub.count_msg();
699 hz_timezone_pub.get_phone_timezone_id(
700 p_api_version => 1.0,
701 p_init_msg_list => FND_API.G_FALSE,
702 p_phone_country_code => l_phone_rec.phone_country_code,
703 p_area_code => l_phone_rec.phone_area_code,
704 p_phone_prefix => null,
705 p_country_code => null,-- don't need to pass in this
706 x_timezone_id => l_phone_rec.timezone_id,
707 x_return_status => l_return_status ,
708 x_msg_count =>l_msg_count ,
709 x_msg_data => l_msg_data);
710 if l_return_status <> fnd_api.g_ret_sts_success
711 then -- we don't raise error
712 l_phone_rec.timezone_id := null;
713 FOR i IN 1..(l_msg_count - l_message_count) LOOP
714 fnd_msg_pub.delete_msg(l_msg_count - l_message_count + 1 - i);
715 END LOOP;
716 l_return_status := FND_API.G_RET_STS_SUCCESS;
717 end if;
718 end if;
719 end if;
720
721
722 -- Debug info.
723 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
724 hz_utility_v2pub.debug(p_message=>'HZ_CONTACT_POINTS_PKG.Insert_Row (+)',
725 p_prefix=>l_debug_prefix,
726 p_msg_level=>fnd_log.level_procedure);
727 END IF;
728
729 -- Call table-handler.
730 hz_contact_points_pkg.insert_row (
731 x_contact_point_id => p_contact_point_rec.contact_point_id,
732 x_contact_point_type => p_contact_point_rec.contact_point_type,
733 x_status => p_contact_point_rec.status,
734 x_owner_table_name => p_contact_point_rec.owner_table_name,
735 x_owner_table_id => p_contact_point_rec.owner_table_id,
736 x_primary_flag => p_contact_point_rec.primary_flag,
737 x_orig_system_reference => p_contact_point_rec.orig_system_reference,
738 x_attribute_category => p_contact_point_rec.attribute_category,
739 x_attribute1 => p_contact_point_rec.attribute1,
740 x_attribute2 => p_contact_point_rec.attribute2,
741 x_attribute3 => p_contact_point_rec.attribute3,
742 x_attribute4 => p_contact_point_rec.attribute4,
743 x_attribute5 => p_contact_point_rec.attribute5,
744 x_attribute6 => p_contact_point_rec.attribute6,
745 x_attribute7 => p_contact_point_rec.attribute7,
746 x_attribute8 => p_contact_point_rec.attribute8,
747 x_attribute9 => p_contact_point_rec.attribute9,
748 x_attribute10 => p_contact_point_rec.attribute10,
749 x_attribute11 => p_contact_point_rec.attribute11,
750 x_attribute12 => p_contact_point_rec.attribute12,
751 x_attribute13 => p_contact_point_rec.attribute13,
752 x_attribute14 => p_contact_point_rec.attribute14,
753 x_attribute15 => p_contact_point_rec.attribute15,
754 x_attribute16 => p_contact_point_rec.attribute16,
755 x_attribute17 => p_contact_point_rec.attribute17,
756 x_attribute18 => p_contact_point_rec.attribute18,
757 x_attribute19 => p_contact_point_rec.attribute19,
758 x_attribute20 => p_contact_point_rec.attribute20,
759 x_edi_transaction_handling => l_edi_rec.edi_transaction_handling,
760 x_edi_id_number => l_edi_rec.edi_id_number,
761 x_edi_payment_method => l_edi_rec.edi_payment_method,
762 x_edi_payment_format => l_edi_rec.edi_payment_format,
763 x_edi_remittance_method => l_edi_rec.edi_remittance_method,
764 x_edi_remittance_instruction => l_edi_rec.edi_remittance_instruction,
765 x_edi_tp_header_id => l_edi_rec.edi_tp_header_id,
766 x_edi_ece_tp_location_code => l_edi_rec.edi_ece_tp_location_code,
767 x_eft_transmission_program_id => l_eft_rec.eft_transmission_program_id,
768 x_eft_printing_program_id => l_eft_rec.eft_printing_program_id,
769 x_eft_user_number => l_eft_rec.eft_user_number,
770 x_eft_swift_code => l_eft_rec.eft_swift_code,
771 x_email_format => l_email_rec.email_format,
772 x_email_address => l_email_rec.email_address,
773 x_phone_calling_calendar => l_phone_rec.phone_calling_calendar,
774 x_last_contact_dt_time => l_phone_rec.last_contact_dt_time,
775 x_timezone_id => l_phone_rec.timezone_id,
776 x_phone_area_code => l_phone_rec.phone_area_code,
777 x_phone_country_code => l_phone_rec.phone_country_code,
778 x_phone_number => l_phone_rec.phone_number,
779 x_phone_extension => l_phone_rec.phone_extension,
780 x_phone_line_type => l_phone_rec.phone_line_type,
781 x_telex_number => l_telex_rec.telex_number,
785 x_raw_phone_number => l_phone_rec.raw_phone_number,
782 x_web_type => l_web_rec.web_type,
783 x_url => l_web_rec.url,
784 x_content_source_type => p_contact_point_rec.content_source_type,
786 x_object_version_number => 1,
787 x_contact_point_purpose => p_contact_point_rec.contact_point_purpose,
788 x_primary_by_purpose => p_contact_point_rec.primary_by_purpose,
789 x_created_by_module => p_contact_point_rec.created_by_module,
790 x_application_id => p_contact_point_rec.application_id,
791 x_transposed_phone_number => l_transposed_phone_number,
792 x_actual_content_source => p_contact_point_rec.actual_content_source
793 );
794
795 x_contact_point_id := p_contact_point_rec.contact_point_id;
796
797 ---Bug No: 3131865
798 -- De-normalize primary contact point to HZ_PARTIES.
799 -- url is mandatory if contact_point_type = 'WEB'.
800 -- email_address is mandatory if contact_point_type = 'EMAIL'.
801
802 -- Debug info.
803 IF fnd_log.level_statement>=fnd_log.g_current_runtime_level THEN
804 hz_utility_v2pub.debug(p_message=>'primary_flag = ' || p_contact_point_rec.primary_flag || ' ' ||
805 'owner_table_name = '||p_contact_point_rec.owner_table_name||' '||
806 'contact_point_type = '||p_contact_point_rec.contact_point_type||' '||
807 'actual_content_source = ' || p_contact_point_rec.actual_content_source,
808 p_prefix =>l_debug_prefix,
809 p_msg_level=>fnd_log.level_statement);
810 END IF;
811
812 -- Bug 2197181: commented out NOCOPY the data source checking. We will denormalize
813 -- to hz_parties as long as it's a primary contact point regardless of data
814 -- source.
815 IF p_contact_point_rec.status IS NULL OR
816 p_contact_point_rec.status = fnd_api.g_miss_char OR
817 p_contact_point_rec.status = 'A'
818 THEN
819 IF p_contact_point_rec.primary_flag = 'Y' AND
820 p_contact_point_rec.owner_table_name = 'HZ_PARTIES' AND
821 (p_contact_point_rec.contact_point_type IN ('WEB','EMAIL','PHONE'))
822 /* AND
823 (p_contact_point_rec.content_source_type IS NULL OR
824 p_contact_point_rec.content_source_type = fnd_api.g_miss_char OR
825 p_contact_point_rec.content_source_type =
826 hz_party_v2pub.g_miss_content_source_type)
827 */
828 THEN
829 IF l_phone_rec.phone_line_type = fnd_api.g_miss_char then
830 l_phone_line_type := NULL;
831 ELSE
832 l_phone_line_type := l_phone_rec.phone_line_type;
833 END IF;
834 IF l_phone_rec.phone_country_code = fnd_api.g_miss_char then
835 l_phone_country_code := NULL;
836 ELSE
837 l_phone_country_code := l_phone_rec.phone_country_code;
838 END IF;
839 IF l_phone_rec.phone_area_code = fnd_api.g_miss_char then
840 l_phone_area_code := NULL;
841 ELSE
842 l_phone_area_code := l_phone_rec.phone_area_code;
843 END IF;
844 IF l_phone_rec.phone_number = fnd_api.g_miss_char then
845 l_phone_number := NULL;
846 ELSE
847 l_phone_number := l_phone_rec.phone_number;
848 END IF;
849 IF l_phone_rec.phone_extension = fnd_api.g_miss_char then
850 l_phone_extension := NULL;
851 ELSE
852 l_phone_extension := l_phone_rec.phone_extension;
853 END IF;
854 IF p_contact_point_rec.contact_point_purpose = fnd_api.g_miss_char then
855 l_contact_point_purpose := NULL;
856 ELSE
857 l_contact_point_purpose := p_contact_point_rec.contact_point_purpose;
858 END IF;
859
860
861 do_denormalize_contact_point (p_contact_point_rec.owner_table_id,
862 p_contact_point_rec.contact_point_type,
863 l_web_rec.url,
864 l_email_rec.email_address,
865 p_contact_point_rec.contact_point_id,
866 l_contact_point_purpose,
867 l_phone_line_type,
868 l_phone_country_code,
869 l_phone_area_code,
870 l_phone_number,
871 l_phone_extension
872 );
873 END IF;
874 END IF;
875 --End of Bug No: 3131865.
876
877 -- Debug info.
878 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
879 hz_utility_v2pub.debug(p_message=>'HZ_CONTACT_POINTS_PKG.Insert_Row (-) ' ||
880 'x_contact_point_id = ' ||p_contact_point_rec.contact_point_id,
881 p_prefix=>l_debug_prefix,
882 p_msg_level=>fnd_log.level_procedure);
883 END IF;
884 --Bug13117445
885 --Added DQM Sync call
886 hz_dqm_sync.sync_contact_point(x_contact_point_id, 'C');
887
888 if p_contact_point_rec.orig_system is not null
889 and p_contact_point_rec.orig_system <>fnd_api.g_miss_char
890 then
891 l_orig_sys_reference_rec.orig_system := p_contact_point_rec.orig_system;
892 l_orig_sys_reference_rec.orig_system_reference := p_contact_point_rec.orig_system_reference;
893 l_orig_sys_reference_rec.owner_table_name := 'HZ_CONTACT_POINTS';
894 l_orig_sys_reference_rec.owner_table_id := p_contact_point_rec.contact_point_id;
898 FND_API.G_FALSE,
895 l_orig_sys_reference_rec.created_by_module := p_contact_point_rec.created_by_module;
896
897 hz_orig_system_ref_pub.create_orig_system_reference(
899 l_orig_sys_reference_rec,
900 x_return_status,
901 l_msg_count,
902 l_msg_data);
903 IF x_return_status <> fnd_api.g_ret_sts_success THEN
904 RAISE FND_API.G_EXC_ERROR;
905 END IF;
906 end if;
907
908
909 -- Debug info.
910 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
911 hz_utility_v2pub.debug(p_message=>'do_create_contact_point (-)',
912 p_prefix=>l_debug_prefix,
913 p_msg_level=>fnd_log.level_procedure);
914 END IF;
915
916 END do_create_contact_point;
917
918 --
919 -- PRIVATE PROCEDURE do_update_contact_point
920 --
921 -- DESCRIPTION
922 -- Private procedure to update contact point.
923 --
924 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
925 -- hz_registry_validate_v2pub.validate_contact_point
926 -- hz_registry_validate_v2pub.validate_edi_contact_point
927 -- hz_registry_validate_v2pub.validate_eft_contact_point
928 -- hz_registry_validate_v2pub.validate_web_contact_point
929 -- hz_registry_validate_v2pub.validate_phone_contact_point
930 -- hz_registry_validate_v2pub.validate_telex_contact_point
931 -- hz_registry_validate_v2pub.validate_email_contact_point
932 -- hz_contact_points_pkg.update_row
933 -- hz_phone_number_pkg.transpose
934 --
935 -- ARGUMENTS
936 -- IN/OUT:
937 -- p_contact_point_rec Contact point record.
938 -- p_edi_rec EDI record.
939 -- p_eft_rec Electronic File Transfer record.
940 -- p_email_rec Email record.
941 -- p_phone_rec Phone record.
942 -- p_telex_rec Telex record.
943 -- p_web_rec Web record.
944 -- p_object_version_number Used for locking the being updated record.
945 -- x_return_status Return status after the call. The status can
946 -- be fnd_api.g_ret_sts_success (success),
947 -- fnd_api.g_ret_sts_error (error),
948 -- FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
949 --
950 -- NOTES
951 --
952 -- MODIFICATION HISTORY
953 --
954 -- 07-23-2001 Jianying Huang o Created.
955 -- 15-NOV-2001 Joe del Callar Bug 2116225: Modified for consolidated
956 -- bank support (EFT record support).
957 -- 05-DEC-2001 Joe del Callar Bug 2136283: Modified to use new
958 -- validation procedures.
959 -- 06-JUL-2004 Rajib Ranjan Borah Bug 3711740. If phone_format returns
960 -- NULL for phone_area_code,phone_country_code
961 -- and/or phone_number, then set these to
962 -- FND_API.G_MISS_CHAR as otherwise, the old
963 -- value will be retained.
964 -- 01-03-2005 Rajib Ranjan Borah o SSM SST Integration and Extension.
965 -- For non-profile entities, the concept of
966 -- select/de-select data-sources is obsoleted.
967 -- 01-FEB-2008 Neeraj Shinde Bug 6755308: Modified the condition to call the
968 -- do_unset_primary_by_purpose procedure
969
970
971 PROCEDURE do_update_contact_point (
972 p_contact_point_rec IN OUT NOCOPY contact_point_rec_type,
973 p_edi_rec IN OUT NOCOPY edi_rec_type,
974 p_eft_rec IN OUT NOCOPY eft_rec_type,
975 p_email_rec IN OUT NOCOPY email_rec_type,
976 p_phone_rec IN OUT NOCOPY phone_rec_type,
977 p_telex_rec IN OUT NOCOPY telex_rec_type,
978 p_web_rec IN OUT NOCOPY web_rec_type,
979 p_object_version_number IN OUT NOCOPY NUMBER,
980 x_return_status IN OUT NOCOPY VARCHAR2
981 ) IS
982
983 l_debug_prefix VARCHAR2(30) := ''; -- do_update_contact_point
984
985 l_rowid ROWID := NULL;
986 l_contact_point_rowid ROWID := NULL;
987 l_dummy VARCHAR2(1);
988 l_object_version_number NUMBER;
989 l_message_count NUMBER;
990 l_msg_count NUMBER;
991 l_msg_data VARCHAR2(2000);
992
993 l_formatted_phone_number VARCHAR2(100);
994 l_country_code hz_locations.country%TYPE;
995 l_owner_table_name hz_contact_points.owner_table_name%TYPE;
996 l_owner_table_id NUMBER;
997 l_contact_point_type hz_contact_points.contact_point_type%TYPE :=
998 p_contact_point_rec.contact_point_type;
999 l_primary_flag hz_contact_points.primary_flag%TYPE;
1000 l_status hz_contact_points.status%TYPE;
1001 l_phone_area_code hz_contact_points.phone_area_code%TYPE;
1002 l_phone_number hz_contact_points.phone_number%TYPE;
1003 l_phone_country_code hz_contact_points.phone_country_code%TYPE;
1004 l_url hz_contact_points.url%TYPE;
1005 l_email_address hz_contact_points.email_address%TYPE;
1006 l_contact_point_purpose hz_contact_points.contact_point_purpose%TYPE;
1010 --BugNo:1695595.Added local variables to hold denormalized column values----
1007 l_primary_by_purpose hz_contact_points.primary_by_purpose%TYPE;
1008 l_transposed_phone_number hz_contact_points.transposed_phone_number%TYPE;
1009
1011 l_contact_point_id hz_contact_points.contact_point_id%TYPE;
1012 l_phone_line_type hz_contact_points.phone_line_type%TYPE;
1013 l_phone_extension hz_contact_points.phone_extension%TYPE;
1014 -----------------------------------------------------------------
1015 l_edi_rec edi_rec_type;
1016 l_eft_rec eft_rec_type;
1017 l_email_rec email_rec_type;
1018 l_phone_rec phone_rec_type;
1019 l_telex_rec telex_rec_type;
1020 l_web_rec web_rec_type;
1021
1022 -- Bug 2197181: added for mix-n-match project.
1023 db_actual_content_source hz_contact_points.actual_content_source%TYPE;
1024 -- Bug 4693719 : Added for local assignment
1025 l_acs hz_contact_points.actual_content_source%TYPE;
1026
1027 -- Bug 2117973: defined the following cursors for PL/SQL coding standards
1028 -- compliance.
1029 CURSOR c_country (p_owner_table_id IN NUMBER) IS
1030 SELECT country
1031 FROM hz_locations
1032 WHERE location_id = (SELECT location_id
1033 FROM hz_party_sites
1034 WHERE party_site_id = p_owner_table_id);
1035
1036 -- Bug 2197181: added for mix-n-match project: the contact point
1037 -- must be visible.
1038
1039 -- SSM SST Integration and Extension
1040 -- Modified the cursors c_setpf and c_chkdenorm
1041 -- For non-profile entities, the concept of select/de-select data-sources is obsoleted.
1042 -- There is no need to check if the data-source is selected.
1043
1044
1045 CURSOR c_setpf (
1046 p_owner_table_name IN VARCHAR2,
1047 p_owner_table_id IN NUMBER,
1048 p_contact_point_type IN VARCHAR2
1049 ) IS
1050 SELECT 'Y'
1051 FROM hz_contact_points
1052 WHERE owner_table_name = p_owner_table_name
1053 AND owner_table_id = p_owner_table_id
1054 AND contact_point_type = p_contact_point_type
1055 AND contact_point_id <> p_contact_point_rec.contact_point_id
1056 /* AND HZ_MIXNM_UTILITY.isDataSourceSelected (
1057 g_cpt_selected_datasources, actual_content_source ) = 'Y'*/
1058 AND status = 'A'
1059 AND rownum = 1;
1060
1061 -- Bug 2197181: added for mix-n-match project: the contact point
1062 -- must be visible.
1063
1064 CURSOR c_chkdenorm (
1065 p_owner_table_name IN VARCHAR2,
1066 p_owner_table_id IN NUMBER,
1067 p_contact_point_type IN VARCHAR2,
1068 p_contact_point_id IN NUMBER
1069 ) IS
1070 SELECT rowid, url, email_address,contact_point_id,contact_point_purpose,
1071 phone_line_type,phone_area_code,phone_country_code,phone_number,phone_extension
1072 FROM hz_contact_points
1073 WHERE contact_point_id = (
1074 SELECT MIN(contact_point_id)
1075 FROM hz_contact_points
1076 WHERE owner_table_name = p_owner_table_name
1077 AND owner_table_id = p_owner_table_id
1078 AND contact_point_type = p_contact_point_type
1079 /* AND HZ_MIXNM_UTILITY.isDataSourceSelected (
1080 g_cpt_selected_datasources, actual_content_source ) = 'Y'*/
1081 AND status = 'A'
1082 AND contact_point_id <> p_contact_point_id);
1083
1084 BEGIN
1085 -- Debug info.
1086 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1087 hz_utility_v2pub.debug(p_message=>'do_update_contact_point (+)',
1088 p_prefix=>l_debug_prefix,
1089 p_msg_level=>fnd_log.level_procedure);
1090 END IF;
1091
1092
1093 -- Lock record.
1094
1095 -- Bug 2197181: selecting actual_content_source for mix-n-match project.
1096
1097 BEGIN
1098 --Bug 1695595 added phone_line_type,phone_extension columns to the select caluse.
1099
1100
1101 SELECT rowid, object_version_number,
1102 owner_table_name, owner_table_id,
1103 contact_point_type, phone_line_type,phone_country_code, phone_area_code,
1104 phone_number,phone_extension,primary_flag, status, contact_point_purpose,
1105 url, email_address, primary_by_purpose, actual_content_source
1106 INTO l_rowid, l_object_version_number,
1107 l_owner_table_name, l_owner_table_id,
1108 l_contact_point_type,l_phone_line_type,
1109 l_phone_country_code, l_phone_area_code, l_phone_number,l_phone_extension,
1110 l_primary_flag, l_status, l_contact_point_purpose,
1111 l_url, l_email_address, l_primary_by_purpose, db_actual_content_source
1112 FROM hz_contact_points
1113 WHERE contact_point_id = p_contact_point_rec.contact_point_id
1114 FOR UPDATE NOWAIT;
1115
1116 IF NOT ((p_object_version_number IS NULL AND
1117 l_object_version_number IS NULL) OR
1118 (p_object_version_number IS NOT NULL AND
1119 l_object_version_number IS NOT NULL AND
1120 p_object_version_number = l_object_version_number))
1121 THEN
1122 fnd_message.set_name('AR', 'HZ_API_RECORD_CHANGED');
1123 fnd_message.set_token('TABLE', 'hz_contact_points');
1124 fnd_msg_pub.add;
1125 RAISE fnd_api.g_exc_error;
1126 END IF;
1127
1128 p_object_version_number := NVL(l_object_version_number, 1) + 1;
1129
1130 EXCEPTION
1131 WHEN NO_DATA_FOUND THEN
1135 NVL(TO_CHAR(p_contact_point_rec.contact_point_id), 'null'));
1132 fnd_message.set_name('AR', 'HZ_API_NO_RECORD');
1133 fnd_message.set_token('RECORD', 'contact point');
1134 fnd_message.set_token('VALUE',
1136 fnd_msg_pub.add;
1137 RAISE fnd_api.g_exc_error;
1138 END;
1139
1140 -- Debug info.
1141 IF fnd_log.level_statement>=fnd_log.g_current_runtime_level THEN
1142 hz_utility_v2pub.debug(p_message=>'l_contact_point_type = ' || l_contact_point_type,
1143 p_prefix =>l_debug_prefix,
1144 p_msg_level=>fnd_log.level_statement);
1145 END IF;
1146
1147
1148 IF l_contact_point_type = 'EDI' THEN
1149 l_edi_rec := p_edi_rec;
1150
1151 -- Validate the contact point record
1152 hz_registry_validate_v2pub.validate_edi_contact_point (
1153 p_create_update_flag => 'U',
1154 p_contact_point_rec => p_contact_point_rec,
1155 p_edi_rec => l_edi_rec,
1156 p_rowid => l_rowid,
1157 x_return_status => x_return_status);
1158 ELSIF l_contact_point_type = 'EFT' THEN
1159 l_eft_rec := p_eft_rec;
1160
1161 -- Validate the contact point record
1162 hz_registry_validate_v2pub.validate_eft_contact_point (
1163 p_create_update_flag => 'U',
1164 p_contact_point_rec => p_contact_point_rec,
1165 p_eft_rec => l_eft_rec,
1166 p_rowid => l_rowid,
1167 x_return_status => x_return_status);
1168 ELSIF l_contact_point_type = 'EMAIL' THEN
1169 l_email_rec := p_email_rec;
1170
1171 -- Validate the contact point record
1172 hz_registry_validate_v2pub.validate_email_contact_point (
1173 p_create_update_flag => 'U',
1174 p_contact_point_rec => p_contact_point_rec,
1175 p_email_rec => l_email_rec,
1176 p_rowid => l_rowid,
1177 x_return_status => x_return_status);
1178 ELSIF l_contact_point_type = 'PHONE' THEN
1179 l_phone_rec := p_phone_rec;
1180
1181 -- Validate the contact point record
1182 hz_registry_validate_v2pub.validate_phone_contact_point (
1183 p_create_update_flag => 'U',
1184 p_contact_point_rec => p_contact_point_rec,
1185 p_phone_rec => l_phone_rec,
1186 p_rowid => l_rowid,
1187 x_return_status => x_return_status);
1188 ELSIF l_contact_point_type = 'TLX' THEN
1189 l_telex_rec := p_telex_rec;
1190
1191 -- Validate the contact point record
1192 hz_registry_validate_v2pub.validate_telex_contact_point (
1193 p_create_update_flag => 'U',
1194 p_contact_point_rec => p_contact_point_rec,
1195 p_telex_rec => l_telex_rec,
1196 p_rowid => l_rowid,
1197 x_return_status => x_return_status);
1198 ELSIF l_contact_point_type = 'WEB' THEN
1199 -- l_web_rec := p_web_rec;
1200 -- modify URL to prefix protocol (Bug 4960793 Nishant 02-May-2006)
1201 l_web_rec := get_protocol_prefixed_url(p_web_rec);
1202
1203 -- Validate the contact point record
1204 hz_registry_validate_v2pub.validate_web_contact_point (
1205 p_create_update_flag => 'U',
1206 p_contact_point_rec => p_contact_point_rec,
1207 p_web_rec => l_web_rec,
1208 p_rowid => l_rowid,
1209 x_return_status => x_return_status);
1210 ELSE
1211 l_edi_rec := p_edi_rec;
1212 l_email_rec := p_email_rec;
1213 l_phone_rec := p_phone_rec;
1214 l_telex_rec := p_telex_rec;
1215 l_web_rec := p_web_rec;
1216
1217 -- Validate the contact point record - call the old routine and the
1218 -- EFT validation routine.
1219 hz_registry_validate_v2pub.validate_contact_point (
1220 p_create_update_flag => 'U',
1221 p_contact_point_rec => p_contact_point_rec,
1222 p_edi_rec => l_edi_rec,
1223 p_email_rec => l_email_rec,
1224 p_phone_rec => l_phone_rec,
1225 p_telex_rec => l_telex_rec,
1226 p_web_rec => l_web_rec,
1227 p_rowid => l_rowid,
1228 x_return_status => x_return_status);
1229
1230 IF x_return_status <> fnd_api.g_ret_sts_success THEN
1231 RAISE fnd_api.g_exc_error;
1232 END IF;
1233
1234 hz_registry_validate_v2pub.validate_eft_contact_point (
1235 p_create_update_flag => 'U',
1236 p_contact_point_rec => p_contact_point_rec,
1237 p_eft_rec => l_eft_rec,
1238 p_rowid => l_rowid,
1239 x_return_status => x_return_status);
1240 END IF;
1241
1242 IF x_return_status <> fnd_api.g_ret_sts_success THEN
1243 RAISE fnd_api.g_exc_error;
1244 END IF;
1245
1246 -- If raw_phone_number is passed in, call procedure phone_format.
1247 -- either raw_phone_number or phone_number should be passed in
1248 -- but can not be both. If raw_phone_number does not have a value,
1249 -- it will be set by phone_number and phone_area_code.
1250 -- We cannot re-format raw_phone_number if only phone_country_code
1251 -- is changed because raw_phone_number might not have been formatted
1252 -- and created by concat phone_area_code and phone_number.
1253
1254 -- contact_point_type, owner_table_name, owner_table_id,
1255 -- actual_content_source are non-updateable columns.
1256
1257 IF l_contact_point_type = 'PHONE' THEN
1258 IF l_phone_rec.phone_country_code IS NOT NULL THEN
1259 IF l_phone_rec.phone_country_code = fnd_api.g_miss_char THEN
1263 END IF;
1260 l_phone_country_code := NULL;
1261 ELSE
1262 l_phone_country_code := l_phone_rec.phone_country_code;
1264 END IF;
1265
1266 IF l_phone_rec.phone_area_code IS NOT NULL THEN
1267 IF l_phone_rec.phone_area_code = fnd_api.g_miss_char THEN
1268 l_phone_area_code := NULL;
1269 ELSE
1270 l_phone_area_code := l_phone_rec.phone_area_code;
1271 END IF;
1272 END IF;
1273
1274 IF l_phone_rec.phone_number IS NOT NULL THEN
1275 IF l_phone_rec.phone_number = fnd_api.g_miss_char THEN
1276 l_phone_number := NULL;
1277 ELSE
1278 l_phone_number := l_phone_rec.phone_number;
1279 END IF;
1280 END IF;
1281
1282 IF l_phone_rec.raw_phone_number IS NOT NULL AND
1283 l_phone_rec.raw_phone_number <> fnd_api.g_miss_char THEN
1284
1285 IF l_phone_rec.phone_country_code is not null AND
1286 l_phone_rec.phone_country_code <> fnd_api.g_miss_char
1287 THEN
1288 BEGIN
1289 select territory_code into l_country_code
1290 from hz_phone_country_codes
1291 where phone_country_code = l_phone_rec.phone_country_code
1292 and rownum = 1;
1293 EXCEPTION
1294 WHEN NO_DATA_FOUND THEN
1295 NULL;
1296 END;
1297 ELSIF l_owner_table_name = 'HZ_PARTY_SITES' AND
1298 l_phone_country_code IS NULL THEN
1299 OPEN c_country (l_owner_table_id);
1300 FETCH c_country INTO l_country_code;
1301
1302 IF c_country%NOTFOUND THEN
1303 CLOSE c_country;
1304 RAISE NO_DATA_FOUND;
1305 ELSE
1306 CLOSE c_country;
1307 END IF;
1308 ELSE
1309 l_country_code := NULL;
1310 END IF;
1311
1312 -- Since phone_format cannot format raw_phone_number and phone_number
1313 -- at same time, the input value of phone_number and phone_area_code
1314 -- shoule be NULL or G_MISS before the call.
1315
1316 l_message_count := fnd_msg_pub.count_msg();
1317
1318 phone_format (
1319 p_raw_phone_number => l_phone_rec.raw_phone_number,
1320 p_territory_code => l_country_code,
1321 x_formatted_phone_number => l_formatted_phone_number,
1322 x_phone_country_code => l_phone_country_code,
1323 x_phone_area_code => l_phone_rec.phone_area_code,
1324 x_phone_number => l_phone_rec.phone_number,
1325 x_return_status => x_return_status,
1326 x_msg_count => l_msg_count,
1327 x_msg_data => l_msg_data);
1328
1329 -- Raise exception only if content_source_type = G_MISS_CONTENT_SOURCE_TYPE.
1330 -- For other sources, we do not want to error out, but simply store the
1331 -- Raw Phone Number.
1332
1333 /* Bug 3711740 */
1334 IF l_phone_rec.phone_area_code IS NULL THEN
1335 l_phone_rec.phone_area_code := fnd_api.g_miss_char;
1336 END IF;
1337
1338 IF l_phone_rec.phone_number IS NULL THEN
1339 l_phone_rec.phone_number := fnd_api.g_miss_char;
1340 END IF;
1341
1342 -- Bug 2197181 : content_source_type is obsolete and replaced by
1343 -- actual_content_source
1344
1345 IF x_return_status <> fnd_api.g_ret_sts_success THEN
1346 IF db_actual_content_source = g_miss_content_source_type
1347 THEN
1348 IF x_return_status = fnd_api.g_ret_sts_error THEN
1349 RAISE fnd_api.g_exc_error;
1350 ELSE
1351 RAISE fnd_api.g_exc_unexpected_error;
1352 END IF;
1353 ELSE
1354 FOR i IN 1..(l_msg_count - l_message_count) LOOP
1355 fnd_msg_pub.delete_msg(l_msg_count - l_message_count + 1 - i);
1356 END LOOP;
1357 x_return_status := fnd_api.g_ret_sts_success;
1358 END IF;
1359 ELSE
1360 l_phone_number := l_phone_rec.phone_number;
1361 l_phone_area_code := l_phone_rec.phone_area_code;
1362
1363 IF l_phone_country_code IS NOT NULL THEN
1364 l_phone_rec.phone_country_code := l_phone_country_code;
1365 ELSE
1366 l_phone_rec.phone_country_code := FND_API.G_MISS_CHAR; /*Bug 3711740*/
1367 END IF;
1368 END IF;
1369 ELSE
1370 -- raw_phone_number must always have value.
1371
1372 IF l_phone_area_code IS NULL THEN
1373 l_phone_rec.raw_phone_number := l_phone_number;
1374 ELSE
1375 l_phone_rec.raw_phone_number :=
1376 l_phone_area_code || '-' || l_phone_number;
1377 END IF;
1378 END IF;
1379
1380 -- Debug info.
1381 IF fnd_log.level_statement>=fnd_log.g_current_runtime_level THEN
1382 hz_utility_v2pub.debug(p_message=>'phone_number = ' || l_phone_rec.phone_number || ' ' ||
1383 'raw_phone_number = ' || l_phone_rec.raw_phone_number,
1384 p_prefix =>l_debug_prefix,
1385 p_msg_level=>fnd_log.level_statement);
1386 END IF;
1387
1388
1389 -- Populate transposed_phone_number
1390 IF l_phone_country_code IS NOT NULL THEN
1391 l_transposed_phone_number := l_phone_country_code;
1392 END IF;
1393
1394 IF l_phone_area_code IS NOT NULL THEN
1395 l_transposed_phone_number := l_transposed_phone_number ||
1399 IF l_phone_number IS NOT NULL THEN
1396 l_phone_area_code;
1397 END IF;
1398
1400 l_transposed_phone_number := l_transposed_phone_number ||
1401 l_phone_number;
1402 END IF;
1403
1404 IF l_transposed_phone_number IS NOT NULL THEN
1405 l_transposed_phone_number :=
1406 hz_phone_number_pkg.transpose(l_transposed_phone_number);
1407 END IF;
1408
1409 -- Debug info.
1410 IF fnd_log.level_statement>=fnd_log.g_current_runtime_level THEN
1411 hz_utility_v2pub.debug(p_message=>'transposed_phone_number = ' || l_transposed_phone_number,
1412 p_prefix =>l_debug_prefix,
1413 p_msg_level=>fnd_log.level_statement);
1414 END IF;
1415
1416 END IF;
1417
1418 -- Cannot set an inactive contact point as primary. This validation
1419 -- has been checked in validate_contact_point procedure.
1420
1421 -- Ignore the value of primary contact flag if the flag has been set
1422 -- to 'N' or fnd_api.g_miss_char by setting primary flag to NULL.
1423 -- User can not unset primary flag by passing value. To unset a
1424 -- primary contact, he/she needs to select another contact as priamry
1425 -- or set the current one to Inactive.
1426
1427 IF p_contact_point_rec.primary_flag = 'N' OR
1428 p_contact_point_rec.primary_flag = fnd_api.g_miss_char
1429 THEN
1430 p_contact_point_rec.primary_flag := NULL;
1431 END IF;
1432
1433 -- Bug 2197181: added for mix-n-match project: the primary flag
1434 -- can be set to 'Y' only if the contact point will be visible. If
1435 -- it is not visible, the flag must be reset to 'N'.
1436
1437 -- Set the first, visible, active contact point as primary.
1438
1439 -- SSM SST Integration and Extension
1440 -- For non-profile entities, the concept of select/de-select data-sources is obsoleted.
1441 -- There is no need to check if the data-source is selected.
1442
1443 IF (p_contact_point_rec.status IS NULL AND
1444 l_status = 'A') OR
1445 p_contact_point_rec.status = 'A'
1446 THEN
1447 IF p_contact_point_rec.primary_flag = 'Y' AND
1448 l_primary_flag <> 'Y'
1449 THEN
1450 -- Bug 2197181: added for mix-n-match project
1451 -- IF g_cpt_is_datasource_selected = 'Y' THEN
1452 -- Unmark previous primary contact point.
1453 do_unset_prim_contact_point (
1454 l_owner_table_name,
1455 l_owner_table_id,
1456 l_contact_point_type,
1457 p_contact_point_rec.contact_point_id, 'U');
1458 -- ELSE
1459 -- p_contact_point_rec.primary_flag := 'N';
1460 -- END IF;
1461 ELSIF l_primary_flag <> 'Y' THEN
1462 -- Bug 2117973: changed to use a cursor instead of select...into.
1463 OPEN c_setpf(l_owner_table_name,
1464 l_owner_table_id,
1465 l_contact_point_type);
1466 FETCH c_setpf INTO l_dummy;
1467
1468 -- SSM SST Integration and Extension
1469 -- For non-profile entities, the concept of select/de-select data-sources is obsoleted.
1470 -- There is no need to check if the data-source is selected.
1471
1472 IF c_setpf%NOTFOUND /*AND
1473 -- Bug 2197181: added for mix-n-match project
1474 g_cpt_is_datasource_selected = 'Y'*/
1475 THEN
1476 -- First visible, active contact point per type for this entity
1477 p_contact_point_rec.primary_flag := 'Y';
1478 ELSE
1479 p_contact_point_rec.primary_flag := 'N';
1480 END IF;
1481
1482 CLOSE c_setpf;
1483 END IF;
1484
1485 -- De-normalize primary contact point to HZ_PARTIES.
1486 -- url is mandatory if contact_point_type = 'WEB'.
1487 -- email_address is mandatory if contact_point_type = 'EMAIL'.
1488
1489 -- Bug 2197181: commented out NOCOPY the data source checking. We will
1490 -- denormalize to hz_parties as long as it's a primary contact
1491 -- point regardless of data source.
1492
1493 IF (p_contact_point_rec.primary_flag = 'Y' OR
1494 l_primary_flag = 'Y') AND
1495 l_owner_table_name = 'HZ_PARTIES' AND
1496 (l_contact_point_type IN ('WEB','EMAIL','PHONE'))
1497 /* AND
1498 l_content_source_type = hz_party_v2pub.g_miss_content_source_type
1499 */
1500 THEN
1501 IF l_web_rec.url IS NOT NULL THEN
1502 l_url := l_web_rec.url;
1503 END IF;
1504
1505 IF l_email_rec.email_address IS NOT NULL THEN
1506 l_email_address := l_email_rec.email_address;
1507 END IF;
1508
1509 --BugNo:1695595.Initialized the local variables with the passed values after validations--
1510
1511 l_contact_point_id:=p_contact_point_rec.contact_point_id;
1512
1513 IF p_contact_point_rec.contact_point_purpose=FND_API.G_MISS_CHAR THEN
1514 l_contact_point_purpose := NULL;
1515 ELSIF p_contact_point_rec.contact_point_purpose IS NOT NULL THEN
1516 l_contact_point_purpose := p_contact_point_rec.contact_point_purpose;
1517 END IF;
1518
1519 IF l_phone_rec.phone_line_type=FND_API.G_MISS_CHAR THEN
1520 l_phone_line_type :=NULL;
1521 ELSIF l_phone_rec.phone_line_type IS NOT NULL THEN
1522 l_phone_line_type := l_phone_rec.phone_line_type;
1523 END IF;
1524
1525 IF l_phone_rec.phone_country_code=FND_API.G_MISS_CHAR THEN
1526 l_phone_country_code :=NULL;
1527 ELSIF l_phone_rec.phone_country_code IS NOT NULL THEN
1528 l_phone_country_code := l_phone_rec.phone_country_code;
1529 END IF;
1530
1534 l_phone_area_code := l_phone_rec.phone_area_code;
1531 IF l_phone_rec.phone_area_code=FND_API.G_MISS_CHAR THEN
1532 l_phone_area_code :=NULL;
1533 ELSIF l_phone_rec.phone_area_code IS NOT NULL THEN
1535 END IF;
1536
1537 IF l_phone_rec.phone_number=FND_API.G_MISS_CHAR THEN
1538 l_phone_number := NULL;
1539 ELSIF l_phone_rec.phone_number IS NOT NULL THEN
1540 l_phone_number := l_phone_rec.phone_number;
1541 END IF;
1542
1543 IF l_phone_rec.phone_extension=FND_API.G_MISS_CHAR THEN
1544 l_phone_extension :=NULL;
1545 ELSIF l_phone_rec.phone_extension IS NOT NULL THEN
1546 l_phone_extension := l_phone_rec.phone_extension;
1547 END IF;
1548
1549 ----------------------------------------------------------
1550 do_denormalize_contact_point(l_owner_table_id,
1551 l_contact_point_type,
1552 l_url,
1553 l_email_address,
1554 l_contact_point_id,
1555 l_contact_point_purpose,
1556 l_phone_line_type,
1557 l_phone_country_code,
1558 l_phone_area_code,
1559 l_phone_number,
1560 l_phone_extension
1561 );
1562 END IF;
1563 ELSE
1564 -- If a primary contact is being marked as inactive then
1565 -- set the current one as non-primary and mark the next
1566 -- active contact as primary
1567
1568 IF l_status = 'A' AND
1569 p_contact_point_rec.status = 'I' AND
1570 l_primary_flag = 'Y'
1571 THEN
1572
1573 -- set the current one as non-primary
1574 p_contact_point_rec.primary_flag := 'N';
1575
1576 -- Bug 2117973: changed to use cursor instead of select...into.
1577 OPEN c_chkdenorm(l_owner_table_name,
1578 l_owner_table_id,
1579 l_contact_point_type,
1580 p_contact_point_rec.contact_point_id);
1581 FETCH c_chkdenorm INTO l_contact_point_rowid, l_url, l_email_address,l_contact_point_id,
1582 l_contact_point_purpose,l_phone_line_type,l_phone_area_code,
1583 l_phone_country_code,l_phone_number,l_phone_extension;
1584
1585 IF c_chkdenorm%NOTFOUND THEN
1586 -- no active contact point of this type left.
1587 -- clear denormalized field in hz_parties.
1588
1589 IF l_owner_table_name = 'HZ_PARTIES' AND
1590 (l_contact_point_type IN('WEB','EMAIL','PHONE'))
1591 /*AND
1592 l_content_source_type = hz_party_v2pub.g_miss_content_source_type */
1593 THEN
1594 l_url :=NULL;
1595 l_email_address :=NULL;
1596 --Bugno:1695595. Updated the denormalized columns to NULL.
1597 l_contact_point_id :=NULL;
1598 l_contact_point_purpose :=NULL;
1599 l_phone_line_type :=NULL;
1600 l_phone_country_code :=NULL;
1601 l_phone_area_code :=NULL;
1602 l_phone_number :=NULL;
1603 l_phone_extension :=NULL;
1604
1605
1606 do_denormalize_contact_point(l_owner_table_id,
1607 l_contact_point_type,
1608 l_url,
1609 l_email_address,
1610 l_contact_point_id,
1611 l_contact_point_purpose,
1612 l_phone_line_type,
1613 l_phone_country_code,
1614 l_phone_area_code,
1615 l_phone_number,
1616 l_phone_extension
1617 );
1618 END IF;
1619 ELSE
1620 UPDATE hz_contact_points
1621 SET primary_flag = 'Y'
1622 WHERE rowid = l_contact_point_rowid;
1623
1624 -- De-normalize primary contact point to HZ_PARTIES.
1625
1626 IF l_owner_table_name = 'HZ_PARTIES' AND
1627 (l_contact_point_type IN ('WEB','EMAIL','PHONE'))
1628 /*
1629 l_content_source_type = hz_party_v2pub.g_miss_content_source_type */
1630 THEN
1631 do_denormalize_contact_point(l_owner_table_id,
1632 l_contact_point_type,
1633 l_url,
1634 l_email_address,
1635 l_contact_point_id,
1636 l_contact_point_purpose,
1637 l_phone_line_type,
1638 l_phone_country_code,
1639 l_phone_area_code,
1640 l_phone_number,
1641 l_phone_extension
1642 );
1643 END IF;
1644 END IF;
1645 CLOSE c_chkdenorm;
1646 END IF;
1647 END IF;
1648
1649 -- There is only one primary per purpose contact point exist for
1650 -- the combination of owner_table_name, owner_table_id, contact_point_type
1651 -- and contact_point_purpose. If primary_by_purpose is set to 'Y',
1652 -- we need to unset the previous primary per purpose contact point to
1656 -- is NULL.
1653 -- non-primary. Since setting primary_by_purpose is only making
1654 -- sense when contact_point_purpose has some value, we ignore
1655 -- the primary_by_purpose (setting it to 'N') if contact_point_purpose
1657
1658 -- Bug 2197181: added for mix-n-match project: the primary by purpose
1659 -- flag can be set to 'Y' only if the contact point will be visible.
1660 -- If it is not visible, the flag must be reset to 'N'.
1661
1662 -- SSM SST Integration and Extension
1663 -- For non-profile entities, the concept of select/de-select data-sources is obsoleted.
1664 -- There is no need to check if the data-source is selected.
1665
1666 IF (p_contact_point_rec.contact_point_purpose IS NOT NULL AND
1667 p_contact_point_rec.contact_point_purpose <> fnd_api.g_miss_char) OR
1668 (p_contact_point_rec.contact_point_purpose IS NULL AND
1669 l_contact_point_purpose IS NOT NULL)
1670 THEN
1671 IF p_contact_point_rec.contact_point_purpose IS NOT NULL AND
1672 p_contact_point_rec.contact_point_purpose <> fnd_api.g_miss_char
1673 THEN
1674 l_contact_point_purpose := p_contact_point_rec.contact_point_purpose;
1675 END IF;
1676
1677 --Bug 6755308 Change Start
1678 IF (p_contact_point_rec.primary_by_purpose = 'Y')
1679 /*AND
1680 NVL(l_primary_by_purpose,'N') = 'N') AND
1681 -- Bug 2197181: added for mix-n-match project
1682 g_cpt_is_datasource_selected = 'Y') *//*OR
1683 (p_contact_point_rec.primary_by_purpose IS NULL AND
1684 l_primary_by_purpose = 'Y')*/
1685 --Bug 6755308 Change End
1686 THEN
1687 do_unset_primary_by_purpose(l_owner_table_name,
1688 l_owner_table_id,
1689 l_contact_point_type,
1690 l_contact_point_purpose,
1691 p_contact_point_rec.contact_point_id);
1692 --Bug#12584582
1693 ELSIF (p_contact_point_rec.primary_by_purpose = 'N' AND
1694 NVL(l_primary_by_purpose,'N') = 'Y') THEN
1695 p_contact_point_rec.primary_by_purpose := 'N';
1696 --End of Bug#12584582 changes.
1697 ELSIF NVL(l_primary_by_purpose,'N') = 'N' THEN
1698 p_contact_point_rec.primary_by_purpose := 'N';
1699 ELSE
1700 p_contact_point_rec.primary_by_purpose := NULL;
1701 END IF;
1702 ELSE
1703 p_contact_point_rec.primary_by_purpose := 'N';
1704 END IF;
1705
1706 if (p_contact_point_rec.orig_system is not null
1707 and p_contact_point_rec.orig_system <>fnd_api.g_miss_char)
1708 and (p_contact_point_rec.orig_system_reference is not null
1709 and p_contact_point_rec.orig_system_reference <>fnd_api.g_miss_char)
1710 then
1711 p_contact_point_rec.orig_system_reference := null;
1712 -- In mosr, we have bypassed osr nonupdateable validation
1713 -- but we should not update existing osr, set it to null
1714 end if;
1715
1716 -- Debug info.
1717 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1718 hz_utility_v2pub.debug(p_message=>'hz_contact_points_pkg.update_row (+) ',
1719 p_prefix=>l_debug_prefix,
1720 p_msg_level=>fnd_log.level_procedure);
1721 END IF;
1722
1723 -- Bug 4693719 : pass NULL if the secure data is not updated
1724 IF HZ_UTILITY_V2PUB.G_UPDATE_ACS = 'Y' THEN
1725 l_acs := nvl(p_contact_point_rec.actual_content_source, 'USER_ENTERED');
1726 ELSE
1727 l_acs := NULL;
1728 END IF;
1729 -- Call table-handler.
1730 hz_contact_points_pkg.update_row (
1731 x_rowid => l_rowid,
1732 x_contact_point_id => p_contact_point_rec.contact_point_id,
1733 x_contact_point_type => p_contact_point_rec.contact_point_type,
1734 x_status => p_contact_point_rec.status,
1735 x_owner_table_name => p_contact_point_rec.owner_table_name,
1736 x_owner_table_id => p_contact_point_rec.owner_table_id,
1737 x_primary_flag => p_contact_point_rec.primary_flag,
1738 x_orig_system_reference => p_contact_point_rec.orig_system_reference,
1739 x_attribute_category => p_contact_point_rec.attribute_category,
1740 x_attribute1 => p_contact_point_rec.attribute1,
1741 x_attribute2 => p_contact_point_rec.attribute2,
1742 x_attribute3 => p_contact_point_rec.attribute3,
1743 x_attribute4 => p_contact_point_rec.attribute4,
1744 x_attribute5 => p_contact_point_rec.attribute5,
1745 x_attribute6 => p_contact_point_rec.attribute6,
1746 x_attribute7 => p_contact_point_rec.attribute7,
1747 x_attribute8 => p_contact_point_rec.attribute8,
1748 x_attribute9 => p_contact_point_rec.attribute9,
1749 x_attribute10 => p_contact_point_rec.attribute10,
1750 x_attribute11 => p_contact_point_rec.attribute11,
1751 x_attribute12 => p_contact_point_rec.attribute12,
1752 x_attribute13 => p_contact_point_rec.attribute13,
1753 x_attribute14 => p_contact_point_rec.attribute14,
1754 x_attribute15 => p_contact_point_rec.attribute15,
1755 x_attribute16 => p_contact_point_rec.attribute16,
1756 x_attribute17 => p_contact_point_rec.attribute17,
1757 x_attribute18 => p_contact_point_rec.attribute18,
1758 x_attribute19 => p_contact_point_rec.attribute19,
1759 x_attribute20 => p_contact_point_rec.attribute20,
1763 x_edi_payment_format => l_edi_rec.edi_payment_format,
1760 x_edi_transaction_handling => l_edi_rec.edi_transaction_handling,
1761 x_edi_id_number => l_edi_rec.edi_id_number,
1762 x_edi_payment_method => l_edi_rec.edi_payment_method,
1764 x_edi_remittance_method => l_edi_rec.edi_remittance_method,
1765 x_edi_remittance_instruction => l_edi_rec.edi_remittance_instruction,
1766 x_edi_tp_header_id => l_edi_rec.edi_tp_header_id,
1767 x_edi_ece_tp_location_code => l_edi_rec.edi_ece_tp_location_code,
1768 x_eft_transmission_program_id => l_eft_rec.eft_transmission_program_id,
1769 x_eft_printing_program_id => l_eft_rec.eft_printing_program_id,
1770 x_eft_user_number => l_eft_rec.eft_user_number,
1771 x_eft_swift_code => l_eft_rec.eft_swift_code,
1772 x_email_format => l_email_rec.email_format,
1773 x_email_address => l_email_rec.email_address,
1774 x_phone_calling_calendar => l_phone_rec.phone_calling_calendar,
1775 x_last_contact_dt_time => l_phone_rec.last_contact_dt_time,
1776 x_timezone_id => l_phone_rec.timezone_id,
1777 x_phone_area_code => l_phone_rec.phone_area_code,
1778 x_phone_country_code => l_phone_rec.phone_country_code,
1779 x_phone_number => l_phone_rec.phone_number,
1780 x_phone_extension => l_phone_rec.phone_extension,
1781 x_phone_line_type => l_phone_rec.phone_line_type,
1782 x_telex_number => l_telex_rec.telex_number,
1783 x_web_type => l_web_rec.web_type,
1784 x_url => l_web_rec.url,
1785 -- Bug 2197181 : content_source_type is obsolete and it is non-updateable.
1786 x_content_source_type => NULL,
1787 x_raw_phone_number => l_phone_rec.raw_phone_number,
1788 x_object_version_number => p_object_version_number,
1789 x_contact_point_purpose => p_contact_point_rec.contact_point_purpose,
1790 x_primary_by_purpose => p_contact_point_rec.primary_by_purpose,
1791 x_created_by_module => p_contact_point_rec.created_by_module,
1792 x_application_id => p_contact_point_rec.application_id,
1793 x_transposed_phone_number => l_transposed_phone_number,
1794 -- Bug 4693719 : Pass correct value for ACS
1795 x_actual_content_source => l_acs
1796 );
1797
1798 -- Debug info.
1799 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1800 hz_utility_v2pub.debug(p_message=>'hz_contact_points_PKG.Update_Row (-) ',
1801 p_prefix=>l_debug_prefix,
1802 p_msg_level=>fnd_log.level_procedure);
1803 hz_utility_v2pub.debug(p_message=>'do_update_contact_point (-)',
1804 p_prefix=>l_debug_prefix,
1805 p_msg_level=>fnd_log.level_procedure);
1806 END IF;
1807
1808 END do_update_contact_point;
1809
1810 --
1811 -- PRIVATE PROCEDURE do_unset_prim_contact_point
1812 --
1813 -- DESCRIPTION
1814 -- Private procedure to unset previous primary flag.
1815 --
1816 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
1817 --
1818 -- ARGUMENTS
1819 -- IN:
1820 -- p_owner_table_name Owner table name.
1821 -- p_owner_table_id Owner table ID.
1822 -- p_contact_point_type Contact point type.
1823 -- p_contact_point_id Contact point id.
1824 -- p_mode Mode of Operation.
1825 --
1826 -- NOTES
1827 --
1828 -- MODIFICATION HISTORY
1829 --
1830 -- 07-23-2001 Jianying Huang o Created.
1831 -- 09-30-2003 Rajib Ranjan Borah o Bug 2914238.Updated the who columns
1832 -- while updating the HZ_CONTACT_POINT record.
1833 -- 28-OCT-2003 Ramesh Ch Bug#2914238.Removed created_by and creation_date
1834 -- columns during update.
1835 -- 11-JUL-2006 avjha Bug 5203798: Populate BOT incase of direct update.
1836 -- 18-OCT-2012 Sudhir G Bug14698590: Removed c_contact_point and raising
1837 -- Events for all Contact Point Ids, which are in update statement.
1838 PROCEDURE do_unset_prim_contact_point (
1839 p_owner_table_name IN VARCHAR2,
1840 p_owner_table_id IN NUMBER,
1841 p_contact_point_type IN VARCHAR2,
1842 p_contact_point_id IN NUMBER,
1843 p_mode IN VARCHAR2
1844 ) IS
1845 /*
1846 --bug #5203798
1847 CURSOR c_contact_point IS
1848 SELECT contact_point_id
1849 FROM hz_contact_points CP
1850 WHERE CP.owner_table_name = p_owner_table_name
1851 AND CP.owner_table_id = p_owner_table_id
1852 AND CP.contact_point_type = p_contact_point_type
1853 AND CP.contact_point_id <> p_contact_point_id
1854 AND CP.primary_flag = 'Y'
1855 AND ROWNUM = 1
1856 FOR UPDATE NOWAIT;
1857 */
1858
1859 l_contact_point_id NUMBER;
1860 l_debug_prefix VARCHAR2(30) := '';
1861 l_unset_prim_contact_point_id NUMBER;
1862
1863 l_contact_point_rec contact_point_rec_type;
1864 l_edi_rec edi_rec_type ;
1865 l_email_rec email_rec_type ;
1866 l_phone_rec phone_rec_type ;
1867 l_telex_rec telex_rec_type ;
1868 l_web_rec web_rec_type ;
1869 l_eft_rec eft_rec_type ;
1870
1874 l_old_phone_rec phone_rec_type;
1871 l_old_contact_point_rec contact_point_rec_type;
1872 l_old_edi_rec edi_rec_type;
1873 l_old_email_rec email_rec_type;
1875 l_old_telex_rec telex_rec_type;
1876 l_old_web_rec web_rec_type;
1877 l_old_eft_rec eft_rec_type;
1878
1879 TYPE contactpointidtab IS TABLE OF hz_contact_points.contact_point_id%TYPE;
1880 l_contactpointidtab contactpointidtab;
1881 I NUMBER;
1882
1883 BEGIN
1884
1885 -- Debug info.
1886 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1887 hz_utility_v2pub.debug(p_message=>'do_unset_prim_contact_point (+)',
1888 p_prefix=>l_debug_prefix,
1889 p_msg_level=>fnd_log.level_procedure);
1890 END IF;
1891
1892 /* BEGIN
1893 OPEN c_contact_point;
1894 FETCH c_contact_point INTO l_unset_prim_contact_point_id;
1895 CLOSE c_contact_point;
1896 END;
1897 */
1898 -- Check during insert.
1899 IF p_contact_point_id IS NULL THEN
1900 l_contact_point_id := fnd_api.g_miss_num;
1901 ELSE
1902 l_contact_point_id := p_contact_point_id;
1903 END IF;
1904
1905 UPDATE hz_contact_points
1906 SET primary_flag = 'N',
1907 --Bug number 2914238 .Updated the who columns.
1908 last_update_date = hz_utility_v2pub.last_update_date,
1909 last_updated_by = hz_utility_v2pub.last_updated_by,
1910 last_update_login = hz_utility_v2pub.last_update_login,
1911 request_id = hz_utility_v2pub.request_id,
1912 program_id = hz_utility_v2pub.program_id,
1913 program_application_id = hz_utility_v2pub.program_application_id,
1914 program_update_date = hz_utility_v2pub.program_update_date
1915 WHERE owner_table_name = p_owner_table_name
1916 AND owner_table_id = p_owner_table_id
1917 AND contact_point_type = p_contact_point_type
1918 AND contact_point_id <> l_contact_point_id
1919 -- AND content_source_type = hz_party_v2pub.g_miss_content_source_type
1920 AND primary_flag = 'Y'
1921 RETURNING
1922 contact_point_id
1923 BULK COLLECT INTO l_contactpointidtab;
1924
1925 --Bug14698590
1926 --Direct Update is missing Business event call, added event call.
1927
1928 I := 1;
1929 IF l_contactpointidtab.COUNT > 0 AND
1930 (HZ_UTILITY_V2PUB.G_EXECUTE_API_CALLOUTS in ('Y', 'EVENTS_ENABLED')) THEN
1931 LOOP
1932
1933 l_contact_point_rec.contact_point_id := l_contactpointidtab(i);
1934
1935 -- Debug info.
1936 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1937 hz_utility_v2pub.debug(p_message=>'Raising Business Event for Contact Point Id : '||l_contact_point_rec.contact_point_id,
1938 p_prefix=>l_debug_prefix,
1939 p_msg_level=>fnd_log.level_procedure);
1940 END IF;
1941
1942 hz_business_event_v2pvt.update_contact_point_event (
1943 l_contact_point_rec,
1944 l_old_contact_point_rec,
1945 l_edi_rec,
1946 l_old_edi_rec,
1947 l_eft_rec,
1948 l_old_eft_rec,
1949 l_email_rec,
1950 l_old_email_rec,
1951 l_phone_rec,
1952 l_old_phone_rec,
1953 l_telex_rec,
1954 l_old_telex_rec,
1955 l_web_rec,
1956 l_old_web_rec);
1957
1958 --bug #5203798
1959 IF(HZ_UTILITY_V2PUB.G_EXECUTE_API_CALLOUTS in ('EVENTS_ENABLED', 'BO_EVENTS_ENABLED')) THEN
1960 -- populate function for integration service
1961 HZ_POPULATE_BOT_PKG.pop_hz_contact_points(
1962 p_operation => p_mode,
1963 p_contact_point_id => l_contactpointidtab(i));
1964 END IF;
1965
1966 IF I = l_contactpointidtab.COUNT THEN
1967 EXIT;
1968 END IF;
1969 i := i + 1;
1970 END LOOP;
1971 END IF;
1972
1973
1974
1975
1976 -- Debug info.
1977 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
1978 hz_utility_v2pub.debug(p_message=>'do_unset_prim_contact_point (-)',
1979 p_prefix=>l_debug_prefix,
1980 p_msg_level=>fnd_log.level_procedure);
1981 END IF;
1982
1983 END do_unset_prim_contact_point;
1984
1985 --
1986 -- PRIVATE PROCEDURE do_denormalize_contact_point
1987 --
1988 -- DESCRIPTION
1989 -- Private procedure to denormalize some type of contact point to hz_parties.
1990 --
1991 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
1992 --
1993 -- ARGUMENTS
1994 -- IN:
1995 -- p_party_id Party ID.
1996 -- p_contact_point_type Contact point type.
1997 -- p_url URL.
1998 -- p_email_address Email address.
1999 -- BugNo:1695595
2000 -- p_phone_contact_pt_id Contact point id.
2001 -- p_phone_purpose Contact Point Purpose.
2002 -- p_phone_line_type Phone line type.
2003 -- p_phone_country_code Phone country code.
2004 -- p_phone_area_code Phone area code.
2005 -- p_phone_number Phone Number.
2006 -- p_phone_extension Phone extension.
2007 -- NOTES
2008 --
2009 -- MODIFICATION HISTORY
2010 --
2011 -- 07-23-2001 Jianying Huang o Created.
2012 -- 08-19-2003 Ramesh.Ch o Modified the
2013 -- Signature and logic.
2014 -- 05-05-2006 Praveen Kasturi o Bug No 4355133 : Truncated the value in p_email_address
2018 p_party_id IN NUMBER,
2015 -- before updating the table to support RFC standards.
2016
2017 PROCEDURE do_denormalize_contact_point (
2019 p_contact_point_type IN VARCHAR2,
2020 p_url IN VARCHAR2,
2021 p_email_address IN VARCHAR2,
2022 p_phone_contact_pt_id IN NUMBER,
2023 p_phone_purpose IN VARCHAR2,
2024 p_phone_line_type IN VARCHAR2,
2025 p_phone_country_code IN VARCHAR2,
2026 p_phone_area_code IN VARCHAR2,
2027 p_phone_number IN VARCHAR2,
2028 p_phone_extension IN VARCHAR2
2029 ) IS
2030 l_debug_prefix VARCHAR2(30) := '';
2031 BEGIN
2032 -- Debug info.
2033 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
2034 hz_utility_v2pub.debug(p_message=>'do_denormalize_contact_point (+)',
2035 p_prefix=>l_debug_prefix,
2036 p_msg_level=>fnd_log.level_procedure);
2037 END IF;
2038 IF fnd_log.level_statement>=fnd_log.g_current_runtime_level THEN
2039 hz_utility_v2pub.debug(p_message=>'party_id = ' || p_party_id || ' ' ||
2040 'contact_point_type = ' || p_contact_point_type || ' ' ||
2041 'url = ' || p_url || ' ' ||
2042 'email_address = ' || p_email_address||
2043 'primary_phone_contact_pt_id = ' || p_phone_contact_pt_id || ' ' ||
2044 'primary_phone_purpose = ' || p_phone_purpose || ' ' ||
2045 'primary_phone_line_type = ' || p_phone_line_type || ' ' ||
2046 'primary_phone_country_code = ' || p_phone_country_code || ' ' ||
2047 'primary_phone_area_code = ' || p_phone_area_code || ' ' ||
2048 'primary_phone_number = ' || p_phone_number || ' ' ||
2049 'primary_phone_extension = ' || p_phone_extension ,
2050 p_prefix =>l_debug_prefix,
2051 p_msg_level=>fnd_log.level_statement);
2052 END IF;
2053
2054
2055 IF p_contact_point_type = 'WEB' THEN
2056 UPDATE hz_parties
2057 SET url = p_url,
2058 last_update_date = hz_utility_v2pub.last_update_date,
2059 last_updated_by = hz_utility_v2pub.last_updated_by,
2060 last_update_login = hz_utility_v2pub.last_update_login,
2061 request_id = hz_utility_v2pub.request_id,
2062 program_application_id = hz_utility_v2pub.program_application_id,
2063 program_id = hz_utility_v2pub.program_id,
2064 program_update_date = sysdate
2065 WHERE party_id = p_party_id;
2066 ELSIF p_contact_point_type = 'EMAIL' THEN
2067 UPDATE hz_parties
2068 /* Bug No : 4355133*/
2069 SET email_address = SUBSTRB(p_email_address,1,320),
2070 last_update_date = hz_utility_v2pub.last_update_date,
2071 last_updated_by = hz_utility_v2pub.last_updated_by,
2072 last_update_login = hz_utility_v2pub.last_update_login,
2073 request_id = hz_utility_v2pub.request_id,
2074 program_application_id = hz_utility_v2pub.program_application_id,
2075 program_id = hz_utility_v2pub.program_id,
2076 program_update_date = sysdate
2077 WHERE party_id = p_party_id;
2078 ELSIF p_contact_point_type = 'PHONE' THEN
2079 UPDATE hz_parties
2080 SET primary_phone_contact_pt_id = p_phone_contact_pt_id,
2081 primary_phone_purpose = p_phone_purpose,
2082 primary_phone_line_type = p_phone_line_type,
2083 primary_phone_country_code = p_phone_country_code,
2084 primary_phone_area_code = p_phone_area_code,
2085 primary_phone_number = p_phone_number,
2086 primary_phone_extension = p_phone_extension,
2087 last_update_date = hz_utility_v2pub.last_update_date,
2088 last_updated_by = hz_utility_v2pub.last_updated_by,
2089 last_update_login = hz_utility_v2pub.last_update_login,
2090 request_id = hz_utility_v2pub.request_id,
2091 program_application_id = hz_utility_v2pub.program_application_id,
2092 program_id = hz_utility_v2pub.program_id,
2093 program_update_date = sysdate
2094 WHERE party_id = p_party_id;
2095 END IF;
2096
2097 -- Debug info.
2098 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
2099 hz_utility_v2pub.debug(p_message=>'do_denormalize_contact_point (-)',
2100 p_prefix=>l_debug_prefix,
2101 p_msg_level=>fnd_log.level_procedure);
2102 END IF;
2103
2104 END do_denormalize_contact_point;
2105
2106 --
2107 -- PRIVATE PROCEDURE do_unset_primary_by_purpose
2108 --
2109 -- DESCRIPTION
2110 -- Private procedure to unset previous primary by purpose flag.
2111 --
2112 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
2113 --
2114 -- ARGUMENTS
2115 -- IN:
2116 -- p_owner_table_name Owner table name.
2117 -- p_owner_table_id Owner table ID.
2118 -- p_contact_point_type Contact point type.
2119 -- p_contact_point_purpose Contact point purpose.
2123 --
2120 -- p_contact_point_id Contact point id.
2121 --
2122 -- NOTES
2124 -- MODIFICATION HISTORY
2125 --
2126 -- 07-23-2001 Jianying Huang o Created.
2127 -- 28-OCT-2003 Ramesh Ch Bug#2914238. Updated the who columns in
2128 -- do_unset_primary_by_purpose
2129 -- 18-OCT-2012 Sudhir G Bug14698590: Raising Events for all Contact Point Ids,
2130 -- which are in update statement.
2131 --
2132 --
2133
2134 PROCEDURE do_unset_primary_by_purpose (
2135 p_owner_table_name IN VARCHAR2,
2136 p_owner_table_id IN NUMBER,
2137 p_contact_point_type IN VARCHAR2,
2138 p_contact_point_purpose IN VARCHAR2,
2139 p_contact_point_id IN NUMBER
2140 ) IS
2141
2142 l_contact_point_id NUMBER;
2143 l_debug_prefix VARCHAR2(30) := '';
2144
2145 l_contact_point_rec contact_point_rec_type;
2146 l_edi_rec edi_rec_type ;
2147 l_email_rec email_rec_type ;
2148 l_phone_rec phone_rec_type ;
2149 l_telex_rec telex_rec_type ;
2150 l_web_rec web_rec_type ;
2151 l_eft_rec eft_rec_type ;
2152
2153 l_old_contact_point_rec contact_point_rec_type;
2154 l_old_edi_rec edi_rec_type;
2155 l_old_email_rec email_rec_type;
2156 l_old_phone_rec phone_rec_type;
2157 l_old_telex_rec telex_rec_type;
2158 l_old_web_rec web_rec_type;
2159 l_old_eft_rec eft_rec_type;
2160
2161 TYPE contactpointidtab IS TABLE OF hz_contact_points.contact_point_id%TYPE;
2162 l_contactpointidtab contactpointidtab;
2163 I NUMBER;
2164 BEGIN
2165
2166 -- Debug info.
2167 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
2168 hz_utility_v2pub.debug(p_message=>'do_unset_primary_by_purpose (+)',
2169 p_prefix=>l_debug_prefix,
2170 p_msg_level=>fnd_log.level_procedure);
2171 END IF;
2172
2173 -- Check during insert.
2174 IF p_contact_point_id IS NULL THEN
2175 l_contact_point_id := FND_API.G_MISS_NUM;
2176 ELSE
2177 l_contact_point_id := p_contact_point_id;
2178 END IF;
2179
2180
2181 UPDATE hz_contact_points
2182 SET primary_by_purpose = 'N',
2183 last_update_date = hz_utility_v2pub.last_update_date,
2184 last_updated_by = hz_utility_v2pub.last_updated_by,
2185 last_update_login = hz_utility_v2pub.last_update_login,
2186 request_id = hz_utility_v2pub.request_id,
2187 program_id = hz_utility_v2pub.program_id,
2188 program_application_id = hz_utility_v2pub.program_application_id,
2189 program_update_date = hz_utility_v2pub.program_update_date
2190 WHERE owner_table_name = p_owner_table_name
2191 AND owner_table_id = p_owner_table_id
2192 AND contact_point_type = p_contact_point_type
2193 AND contact_point_purpose = p_contact_point_purpose
2194 AND contact_point_id <> l_contact_point_id
2195 -- AND content_source_type = hz_party_v2pub.g_miss_content_source_type
2196 AND primary_by_purpose = 'Y'
2197 RETURNING
2198 contact_point_id
2199 BULK COLLECT INTO l_contactpointidtab;
2200
2201 --Bug14698590
2202 --Direct Update is missing Business event call, added event call.
2203
2204 I := 1;
2205 IF l_contactpointidtab.COUNT > 0 AND
2206 (HZ_UTILITY_V2PUB.G_EXECUTE_API_CALLOUTS in ('Y', 'EVENTS_ENABLED')) THEN
2207 LOOP
2208
2209 l_contact_point_rec.contact_point_id := l_contactpointidtab(i);
2210
2211 -- Debug info.
2212 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
2213 hz_utility_v2pub.debug(p_message=>'Raising Business Event for Contact Point Id : '||l_contact_point_rec.contact_point_id,
2214 p_prefix=>l_debug_prefix,
2215 p_msg_level=>fnd_log.level_procedure);
2216 END IF;
2217
2218 hz_business_event_v2pvt.update_contact_point_event (
2219 l_contact_point_rec,
2220 l_old_contact_point_rec,
2221 l_edi_rec,
2222 l_old_edi_rec,
2223 l_eft_rec,
2224 l_old_eft_rec,
2225 l_email_rec,
2226 l_old_email_rec,
2227 l_phone_rec,
2228 l_old_phone_rec,
2229 l_telex_rec,
2230 l_old_telex_rec,
2231 l_web_rec,
2232 l_old_web_rec);
2233
2234 IF I = l_contactpointidtab.COUNT THEN
2235 EXIT;
2236 END IF;
2237 i := i + 1;
2238 END LOOP;
2239 END IF;
2240
2241 -- Debug info.
2242 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
2243 hz_utility_v2pub.debug(p_message=>'do_unset_primary_by_purpose (-)',
2244 p_prefix=>l_debug_prefix,
2245 p_msg_level=>fnd_log.level_procedure);
2246 END IF;
2247
2248 END do_unset_primary_by_purpose;
2249
2250 --
2251 -- PRIVATE FUNCTION filter_phone_number
2252 --
2253 -- DESCRIPTION
2254 -- Private funcation to filter phone number. It returns filtered phone number
2255 -- based on some translation rule.
2256 --
2257 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
2258 --
2259 -- ARGUMENTS
2260 -- IN:
2261 -- p_phone_number Phone number.
2262 -- p_isformat Use different translation rule.
2263 --
2264 -- NOTES
2268 -- 07-23-2001 Jianying Huang o Created.
2265 --
2266 -- MODIFICATION HISTORY
2267 --
2269 --
2270 --
2271
2272 FUNCTION filter_phone_number (
2273 p_phone_number IN VARCHAR2,
2274 p_isformat IN NUMBER := 0
2275 ) RETURN VARCHAR2 IS
2276
2277 l_filtered_number VARCHAR2(100);
2278 l_debug_prefix VARCHAR2(30) := '';
2279
2280 BEGIN
2281
2282 -- Debug info.
2283 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
2284 hz_utility_v2pub.debug(p_message=>'filter_phone_number (+)',
2285 p_prefix=>l_debug_prefix,
2286 p_msg_level=>fnd_log.level_procedure);
2287 END IF;
2288
2289 IF p_isformat = 0 THEN
2290 l_filtered_number := TRANSLATE (
2291 p_phone_number,
2292 '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ()- .+''~`\/@#$%^&*_,|}{[]?<>=";:',
2293 '0123456789');
2294 ELSE
2295 l_filtered_number := TRANSLATE (
2296 p_phone_number,
2297 '9012345678ABCDEFGHIJKLMNOPQRSTUVWXYZ()- .+''~`\/@#$%^&*_,|}{[]?<>=";:',
2298 '9');
2299 END IF;
2300
2301 -- Debug info.
2302 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
2303 hz_utility_v2pub.debug(p_message=>'filter_phone_number (-)',
2304 p_prefix=>l_debug_prefix,
2305 p_msg_level=>fnd_log.level_procedure);
2306 END IF;
2307
2308 RETURN l_filtered_number;
2309
2310 END filter_phone_number;
2311
2312 --
2313 -- PRIVATE PROCEDURE get_phone_format
2314 --
2315 -- DESCRIPTION
2316 -- Private procedure to get phone format.
2317 --
2318 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
2319 --
2320 -- ARGUMENTS
2321 -- IN:
2322 -- p_phone_number Phone number.
2323 -- p_isformat Use different translation rule.
2324 --
2325 -- NOTES
2326 --
2327 -- MODIFICATION HISTORY
2328 --
2329 -- 07-23-2001 Jianying Huang o Created.
2330 --
2331 --
2332
2333 PROCEDURE get_phone_format (
2334 p_raw_phone_number IN VARCHAR2 := fnd_api.g_miss_char,
2335 p_territory_code IN VARCHAR2 := fnd_api.g_miss_char,
2336 p_area_code IN VARCHAR2,
2337 x_phone_country_code OUT NOCOPY VARCHAR2,
2338 x_phone_format_style OUT NOCOPY VARCHAR2,
2339 x_area_code_size OUT NOCOPY VARCHAR2,
2340 x_include_country_code OUT NOCOPY BOOLEAN,
2341 x_msg OUT NOCOPY VARCHAR2
2342 ) IS
2343
2344 l_defaut_prefix VARCHAR2(30) := ''; -- get_phone_format
2345
2346 l_empty BOOLEAN;
2347
2348 -- Query all the format styles along with other flags
2349 CURSOR c_formats IS
2350 SELECT pf.phone_format_style, pf.country_code_display_flag,
2351 pf.area_code_size, pcc.phone_country_code
2352 FROM hz_phone_country_codes pcc, hz_phone_formats pf
2353 WHERE pcc.territory_code = p_territory_code
2354 AND pcc.territory_code = pf.territory_code;
2355
2356 l_phone_format_style hz_phone_formats.phone_format_style%TYPE;
2357 l_area_code_size NUMBER;
2358 l_phone_country_code hz_phone_country_codes.phone_country_code%TYPE;
2359 l_country_code_display_flag hz_phone_formats.country_code_display_flag%TYPE;
2360 l_debug_prefix VARCHAR2(30) := '';
2361
2362 BEGIN
2363
2364 -- Debug info.
2365 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
2366 hz_utility_v2pub.debug(p_message=>'get_phone_format (+)',
2367 p_prefix=>l_debug_prefix,
2368 p_msg_level=>fnd_log.level_procedure);
2369 END IF;
2370
2371 -- Initialize return variables
2372 x_phone_format_style := fnd_api.g_miss_char;
2373 x_phone_country_code := fnd_api.g_miss_char;
2374 x_include_country_code := FALSE;
2375
2376 -- No territory code passed
2377 IF p_territory_code = fnd_api.g_miss_char THEN
2378 x_msg := 'HZ_COUNTRY_CODE_NOT_DEFINED';
2379 RETURN;
2380 END IF;
2381
2382 -- Open the cursor and check if format styles exist
2383 l_empty := TRUE;
2384
2385 OPEN c_formats;
2386 LOOP
2387 FETCH c_formats
2388 INTO l_phone_format_style, l_country_code_display_flag,
2389 l_area_code_size, l_phone_country_code;
2390 IF c_formats%NOTFOUND THEN
2391 IF l_empty THEN
2392 x_msg := 'HZ_COUNTRY_CODE_NOT_DEFINED';
2393 CLOSE c_formats;
2394 RETURN;
2395 ELSE
2396 EXIT;
2397 END IF;
2398 END IF;
2399
2400 -- Loop through format styles and select the correct one based on
2401 -- the length of the raw phone number
2402
2403 IF l_empty THEN
2404 l_empty := FALSE;
2405 END IF;
2406
2407 IF LENGTHB(filter_phone_number(l_phone_format_style, 1)) =
2408 LENGTHB(p_raw_phone_number)
2409 THEN
2410 IF p_area_code IS NULL OR
2411 (p_area_code IS NOT NULL AND
2412 LENGTHB(p_area_code) = l_area_code_size)
2413 THEN
2414 x_phone_format_style := l_phone_format_style;
2415 IF l_country_code_display_flag = 'Y' THEN
2416 x_include_country_code := TRUE;
2417 END IF;
2418
2419 x_area_code_size := l_area_code_size;
2423 END IF;
2420 x_phone_country_code := l_phone_country_code;
2421 EXIT;
2422
2424 END IF;
2425
2426 END LOOP;
2427 CLOSE c_formats;
2428
2429 -- No appropriate format mask found
2430 IF x_phone_format_style = fnd_api.g_miss_char THEN
2431 x_msg := 'HZ_PHONE_FORMAT_NOT_DEFINED';
2432 END IF;
2433
2434 -- Debug info.
2435 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
2436 hz_utility_v2pub.debug(p_message=>'get_phone_format (-)',
2437 p_prefix=>l_debug_prefix,
2438 p_msg_level=>fnd_log.level_procedure);
2439 END IF;
2440
2441 EXCEPTION
2442 WHEN OTHERS THEN
2443 RAISE fnd_api.g_exc_unexpected_error;
2444
2445 END get_phone_format;
2446
2447 --
2448 -- PRIVATE PROCEDURE translate_raw_phone_number
2449 --
2450 -- DESCRIPTION
2451 -- Private procedure to translate raw phone number.
2452 --
2453 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
2454 --
2455 -- ARGUMENTS
2456 -- IN:
2457 -- p_raw_phone_number Raw phone number.
2458 -- p_phone_format_style Phone format style.
2459 -- p_area_code_size Phone area code size.
2460 -- OUT:
2461 -- x_formatted_phone_number Formatted phone number.
2462 -- x_phone_area_code Phone area code.
2463 -- x_phone_number Phone number.
2464 --
2465 -- NOTES
2466 --
2467 -- MODIFICATION HISTORY
2468 --
2469 -- 07-23-2001 Jianying Huang o Created.
2470 --
2471 --
2472
2473 PROCEDURE translate_raw_phone_number (
2474 p_raw_phone_number IN VARCHAR2 := fnd_api.g_miss_char,
2475 p_phone_format_style IN VARCHAR2 := fnd_api.g_miss_char,
2476 p_area_code_size IN NUMBER := 0,
2477 x_formatted_phone_number OUT NOCOPY VARCHAR2,
2478 x_phone_area_code OUT NOCOPY VARCHAR2,
2479 x_phone_number OUT NOCOPY VARCHAR2
2480 ) IS
2481
2482 l_debug_prefix VARCHAR2(30) := ''; -- translate_raw_phone_number
2483
2484 l_phone_counter NUMBER := 1;
2485 l_format_length NUMBER;
2486 l_format_char VARCHAR2(1);
2487
2488 BEGIN
2489
2490 -- Debug info.
2491 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
2492 hz_utility_v2pub.debug(p_message=>'translate_raw_phone_number (+)',
2493 p_prefix=>l_debug_prefix,
2494 p_msg_level=>fnd_log.level_procedure);
2495 END IF;
2496
2497 l_format_length := LENGTHB(p_phone_format_style);
2498 x_formatted_phone_number := '';
2499
2500 -- Loop through each character of the phone format string
2501 -- and construct the formatted phone number
2502
2503 FOR i IN 1..l_format_length LOOP
2504 l_format_char := SUBSTRB(p_phone_format_style, i, 1);
2505
2506 IF l_format_char = '9' THEN
2507 x_formatted_phone_number := x_formatted_phone_number ||
2508 SUBSTRB(p_raw_phone_number,
2509 l_phone_counter, 1);
2510 l_phone_counter := l_phone_counter + 1;
2511 ELSE
2512 x_formatted_phone_number := x_formatted_phone_number || l_format_char;
2513 END IF;
2514 END LOOP;
2515
2516 -- Parse out NOCOPY the area code and phone number components
2517 x_phone_area_code := SUBSTRB(p_raw_phone_number, 1, p_area_code_size);
2518 x_phone_number := SUBSTRB(p_raw_phone_number, p_area_code_size + 1);
2519
2520 -- Debug info.
2521 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
2522 hz_utility_v2pub.debug(p_message=>'translate_raw_phone_number (-)',
2523 p_prefix=>l_debug_prefix,
2524 p_msg_level=>fnd_log.level_procedure);
2525 END IF;
2526
2527 END translate_raw_phone_number;
2528
2529 --
2530 -- PROCEDURE get_contact_point_main
2531 --
2532 -- DESCRIPTION
2533 -- Cets contact point record.
2534 --
2535 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
2536 -- hz_contact_points_PKG.Select_Row
2537 --
2538 -- ARGUMENTS
2539 -- IN:
2540 -- p_init_msg_list Initialize message stack if it is set to
2541 -- FND_API.G_TRUE. Default is fnd_api.g_false.
2542 -- p_contact_point_id Contact point ID.
2543 -- IN/OUT:
2544 -- OUT:
2545 -- x_contact_point_rec Returned contact point record.
2546 -- x_edi_rec Returned EDI record.
2547 -- x_eft_rec Returned EFT record.
2548 -- x_email_rec Returned email record.
2549 -- x_phone_rec Returned phone record.
2550 -- x_telex_rec Returned telex record.
2551 -- x_web_rec Returned web record.
2552 -- x_return_status Return status after the call. The status can
2553 -- be fnd_api.g_ret_sts_success (success),
2554 -- fnd_api.g_ret_sts_error (error),
2555 -- fnd_api.g_ret_sts_unexp_error (unexpected error).
2556 -- x_msg_count Number of messages in message stack.
2557 -- x_msg_data Message text if x_msg_count is 1.
2558 --
2559 -- NOTES
2560 --
2561 -- MODIFICATION HISTORY
2562 --
2563 -- 07-23-2001 Jianying Huang o Created.
2564 -- 19-NOV-2001 Joe del Callar Bug 2116225: Added support for
2565 -- Bank Consolidation.
2569
2566 -- 04-DEC-2001 Joe del Callar Bug 2136283: Added support for
2567 -- enhanced backward compatibility.
2568 --
2570 PROCEDURE get_contact_point_main (
2571 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
2572 p_contact_point_id IN NUMBER,
2573 x_contact_point_rec OUT NOCOPY contact_point_rec_type,
2574 x_edi_rec OUT NOCOPY edi_rec_type,
2575 x_eft_rec OUT NOCOPY eft_rec_type,
2576 x_email_rec OUT NOCOPY email_rec_type,
2577 x_phone_rec OUT NOCOPY phone_rec_type,
2578 x_telex_rec OUT NOCOPY telex_rec_type,
2579 x_web_rec OUT NOCOPY web_rec_type,
2580 x_return_status OUT NOCOPY VARCHAR2,
2581 x_msg_count OUT NOCOPY NUMBER,
2582 x_msg_data OUT NOCOPY VARCHAR2
2583 ) IS
2584
2585 l_transposed_phone_number hz_contact_points.transposed_phone_number%TYPE;
2586 l_contact_point_rec hz_contact_points%ROWTYPE;
2587 l_debug_prefix VARCHAR2(30) := '';
2588 BEGIN
2589 -- Debug info.
2590
2591 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
2592 hz_utility_v2pub.debug(p_message=>'get_contact_point_main (+)',
2593 p_prefix=>l_debug_prefix,
2594 p_msg_level=>fnd_log.level_procedure);
2595 END IF;
2596
2597 -- Initialize message list if p_init_msg_list is set to TRUE.
2598 IF fnd_api.to_boolean(p_init_msg_list) THEN
2599 fnd_msg_pub.initialize;
2600 END IF;
2601
2602 -- Initialize API return status to success.
2603 x_return_status := fnd_api.g_ret_sts_success;
2604
2605 -- Check whether primary key has been passed in.
2606 IF p_contact_point_id IS NULL OR
2607 p_contact_point_id = fnd_api.g_miss_num THEN
2608 fnd_message.set_name('AR', 'HZ_API_MISSING_COLUMN');
2609 fnd_message.set_token('COLUMN', 'contact_point_id');
2610 fnd_msg_pub.add;
2611 RAISE fnd_api.g_exc_error;
2612 END IF;
2613
2614 x_contact_point_rec.contact_point_id := p_contact_point_id;
2615
2616 -- Debug info.
2617 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
2618 hz_utility_v2pub.debug(p_message=>'hz_contact_points_PKG.Select_Row (+)',
2619 p_prefix=>l_debug_prefix,
2620 p_msg_level=>fnd_log.level_procedure);
2621 END IF;
2622
2623 -- Call table-handler
2624 hz_contact_points_pkg.select_row (
2625 x_contact_point_id => x_contact_point_rec.contact_point_id,
2626 x_contact_point_type => x_contact_point_rec.contact_point_type,
2627 x_status => x_contact_point_rec.status,
2628 x_owner_table_name => x_contact_point_rec.owner_table_name,
2629 x_owner_table_id => x_contact_point_rec.owner_table_id,
2630 x_primary_flag => x_contact_point_rec.primary_flag,
2631 x_orig_system_reference => x_contact_point_rec.orig_system_reference,
2632 x_attribute_category => x_contact_point_rec.attribute_category,
2633 x_attribute1 => x_contact_point_rec.attribute1,
2634 x_attribute2 => x_contact_point_rec.attribute2,
2635 x_attribute3 => x_contact_point_rec.attribute3,
2636 x_attribute4 => x_contact_point_rec.attribute4,
2637 x_attribute5 => x_contact_point_rec.attribute5,
2638 x_attribute6 => x_contact_point_rec.attribute6,
2639 x_attribute7 => x_contact_point_rec.attribute7,
2640 x_attribute8 => x_contact_point_rec.attribute8,
2641 x_attribute9 => x_contact_point_rec.attribute9,
2642 x_attribute10 => x_contact_point_rec.attribute10,
2643 x_attribute11 => x_contact_point_rec.attribute11,
2644 x_attribute12 => x_contact_point_rec.attribute12,
2645 x_attribute13 => x_contact_point_rec.attribute13,
2646 x_attribute14 => x_contact_point_rec.attribute14,
2647 x_attribute15 => x_contact_point_rec.attribute15,
2648 x_attribute16 => x_contact_point_rec.attribute16,
2649 x_attribute17 => x_contact_point_rec.attribute17,
2650 x_attribute18 => x_contact_point_rec.attribute18,
2651 x_attribute19 => x_contact_point_rec.attribute19,
2652 x_attribute20 => x_contact_point_rec.attribute20,
2653 x_edi_transaction_handling => x_edi_rec.edi_transaction_handling,
2654 x_edi_id_number => x_edi_rec.edi_id_number,
2655 x_edi_payment_method => x_edi_rec.edi_payment_method,
2656 x_edi_payment_format => x_edi_rec.edi_payment_format,
2657 x_edi_remittance_method => x_edi_rec.edi_remittance_method,
2658 x_edi_remittance_instruction => x_edi_rec.edi_remittance_instruction,
2659 x_edi_tp_header_id => x_edi_rec.edi_tp_header_id,
2660 x_edi_ece_tp_location_code => x_edi_rec.edi_ece_tp_location_code,
2661 x_eft_transmission_program_id => x_eft_rec.eft_transmission_program_id,
2662 x_eft_printing_program_id => x_eft_rec.eft_printing_program_id,
2663 x_eft_user_number => x_eft_rec.eft_user_number,
2664 x_eft_swift_code => x_eft_rec.eft_swift_code,
2665 x_email_format => x_email_rec.email_format,
2666 x_email_address => x_email_rec.email_address,
2667 x_phone_calling_calendar => x_phone_rec.phone_calling_calendar,
2671 x_phone_country_code => x_phone_rec.phone_country_code,
2668 x_last_contact_dt_time => x_phone_rec.last_contact_dt_time,
2669 x_timezone_id => x_phone_rec.timezone_id,
2670 x_phone_area_code => x_phone_rec.phone_area_code,
2672 x_phone_number => x_phone_rec.phone_number,
2673 x_phone_extension => x_phone_rec.phone_extension,
2674 x_phone_line_type => x_phone_rec.phone_line_type,
2675 x_telex_number => x_telex_rec.telex_number,
2676 x_web_type => x_web_rec.web_type,
2677 x_url => x_web_rec.url,
2678 x_content_source_type => x_contact_point_rec.content_source_type,
2679 x_raw_phone_number => x_phone_rec.raw_phone_number,
2680 x_contact_point_purpose => x_contact_point_rec.contact_point_purpose,
2681 x_primary_by_purpose => x_contact_point_rec.primary_by_purpose,
2682 x_created_by_module => x_contact_point_rec.created_by_module,
2683 x_application_id => x_contact_point_rec.application_id,
2684 x_transposed_phone_number => l_transposed_phone_number,
2685 x_actual_content_source => x_contact_point_rec.actual_content_source
2686 );
2687
2688 -- Debug info.
2689 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
2690 hz_utility_v2pub.debug(p_message=>'HZ_CONTACT_POINTS_PKG.Select_Row (-)',
2691 p_prefix=>l_debug_prefix,
2692 p_msg_level=>fnd_log.level_procedure);
2693 END IF;
2694
2695 -- Standard call to get message count and if count is 1, get message info.
2696 fnd_msg_pub.count_and_get(
2697 p_encoded => fnd_api.g_false,
2698 p_count => x_msg_count,
2699 p_data => x_msg_data);
2700
2701 -- Debug info.
2702
2703 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
2704 hz_utility_v2pub.debug(p_message=>'get_contact_point_main (-)',
2705 p_prefix=>l_debug_prefix,
2706 p_msg_level=>fnd_log.level_procedure);
2707 END IF;
2708 END get_contact_point_main;
2709
2710 --
2711 -- PROCEDURE create_contact_point_main
2712 --
2713 -- DESCRIPTION
2714 -- Creates contact point.
2715 --
2716 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
2717 -- HZ_BUSINESS_EVENT_V2PVT.create_contact_point_event
2718 --
2719 -- ARGUMENTS
2720 -- IN:
2721 -- p_init_msg_list Initialize message stack if it is set to
2722 -- FND_API.G_TRUE. Default is FND_API.G_FALSE.
2723 -- p_contact_point_rec Contact point record.
2724 -- p_edi_rec EDI record.
2725 -- p_eft_rec EFT record.
2726 -- p_email_rec Email record.
2727 -- p_phone_rec Phone record.
2728 -- p_telex_rec Telex record.
2729 -- p_web_rec Web record.
2730 -- IN/OUT:
2731 -- OUT:
2732 -- x_contact_point_id Contact point ID.
2733 -- x_return_status Return status after the call. The status can
2734 -- be fnd_api.g_ret_sts_success (success),
2735 -- fnd_api.g_ret_sts_error (error),
2736 -- FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
2737 -- x_msg_count Number of messages in message stack.
2738 -- x_msg_data Message text if x_msg_count is 1.
2739 --
2740 -- NOTES
2741 --
2742 -- MODIFICATION HISTORY
2743 --
2744 -- 07-23-2001 Jianying Huang Created.
2745 -- 19-NOV-2001 Joe del Callar Bug 2116225: Added support for
2746 -- Bank Consolidation.
2747 -- 04-DEC-2001 Joe del Callar Bug 2136283: Added support for
2748 -- enhanced backward compatibility.
2749 -- 01-03-2005 Rajib Ranjan Borah o SSM SST Integration and Extension.
2750 -- For non-profile entities, the concept of
2751 -- select/de-select data-sources is obsoleted.
2752
2753 PROCEDURE create_contact_point_main (
2754 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
2755 p_contact_point_rec IN contact_point_rec_type,
2756 p_edi_rec IN edi_rec_type := g_miss_edi_rec,
2757 p_eft_rec IN eft_rec_type := g_miss_eft_rec,
2758 p_email_rec IN email_rec_type := g_miss_email_rec,
2759 p_phone_rec IN phone_rec_type := g_miss_phone_rec,
2760 p_telex_rec IN telex_rec_type := g_miss_telex_rec,
2761 p_web_rec IN web_rec_type := g_miss_web_rec,
2762 x_contact_point_id OUT NOCOPY NUMBER,
2763 x_return_status OUT NOCOPY VARCHAR2,
2764 x_msg_count OUT NOCOPY NUMBER,
2765 x_msg_data OUT NOCOPY VARCHAR2
2766 ) IS
2767
2768 l_contact_point_rec contact_point_rec_type := p_contact_point_rec;
2769 l_edi_rec edi_rec_type := p_edi_rec;
2770 l_email_rec email_rec_type := p_email_rec;
2771 l_phone_rec phone_rec_type := p_phone_rec;
2772 l_telex_rec telex_rec_type := p_telex_rec;
2773 l_web_rec web_rec_type := p_web_rec;
2774 l_eft_rec eft_rec_type := p_eft_rec;
2775
2776 dss_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
2777 dss_msg_count NUMBER := 0;
2778 dss_msg_data VARCHAR2(2000):= null;
2779 l_test_security VARCHAR2(1):= 'F';
2780 l_debug_prefix VARCHAR2(30) := '';
2781
2782 BEGIN
2783 -- Debug info.
2787 p_msg_level=>fnd_log.level_procedure);
2784 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
2785 hz_utility_v2pub.debug(p_message=>'create_contact_point_main (+)',
2786 p_prefix=>l_debug_prefix,
2788 END IF;
2789
2790 -- Initialize message list if p_init_msg_list is set to TRUE.
2791 IF fnd_api.to_boolean(p_init_msg_list) THEN
2792 fnd_msg_pub.initialize;
2793 END IF;
2794
2795 -- Initialize API return status to success.
2796 x_return_status := fnd_api.g_ret_sts_success;
2797
2798 -- Bug 2197181: added for mix-n-match project. first load data
2799 -- sources for this entity. Then assign the actual_content_source
2800 -- to the real data source. The value of content_source_type is
2801 -- depended on if data source is seleted. If it is selected, we reset
2802 -- content_source_type to user-entered. We also check if user
2803 -- has the privilege to create user-entered data if mix-n-match
2804 -- is enabled.
2805
2806 -- Bug 2444678: Removed caching.
2807
2808 -- IF g_cpt_mixnmatch_enabled IS NULL THEN
2809 /*
2810 * SSM SST Integration and Extension
2811 * For non-profile entities, the concept of select/de-select data sources is obsoleted.
2812 HZ_MIXNM_UTILITY.LoadDataSources(
2813 p_entity_name => 'HZ_CONTACT_POINTS',
2814 p_entity_attr_id => g_cpt_entity_attr_id,
2815 p_mixnmatch_enabled => g_cpt_mixnmatch_enabled,
2816 p_selected_datasources => g_cpt_selected_datasources );
2817 -- END IF;
2818 */
2819 HZ_MIXNM_UTILITY.AssignDataSourceDuringCreation (
2820 p_entity_name => 'HZ_CONTACT_POINTS',
2821 p_entity_attr_id => g_cpt_entity_attr_id,
2822 p_mixnmatch_enabled => g_cpt_mixnmatch_enabled,
2823 p_selected_datasources => g_cpt_selected_datasources,
2824 p_content_source_type => l_contact_point_rec.content_source_type,
2825 p_actual_content_source => l_contact_point_rec.actual_content_source,
2826 x_is_datasource_selected => g_cpt_is_datasource_selected,
2827 x_return_status => x_return_status );
2828
2829 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2830 RAISE FND_API.G_EXC_ERROR;
2831 END IF;
2832
2833 -- Call to business logic.
2834 do_create_contact_point(l_contact_point_rec,
2835 l_edi_rec,
2836 l_eft_rec,
2837 l_email_rec,
2838 l_phone_rec,
2839 l_telex_rec,
2840 l_web_rec,
2841 x_contact_point_id,
2842 x_return_status);
2843
2844 -- Bug 2486394 -Check if the DSS security is granted to the user
2845 -- Bug 3818648: check dss profile before call test_instance
2846 -- Bug 3867562: check dss only in party context
2847
2848 IF NVL(fnd_profile.value('HZ_DSS_ENABLED'), 'N') = 'Y' AND
2849 l_contact_point_rec.owner_table_name IN ('HZ_PARTIES', 'HZ_PARTY_SITES')
2850 THEN
2851 l_test_security :=
2852 hz_dss_util_pub.test_instance(
2853 p_operation_code => 'INSERT',
2854 p_db_object_name => 'HZ_CONTACT_POINTS',
2855 p_instance_pk1_value => x_contact_point_id,
2856 p_user_name => fnd_global.user_name,
2857 x_return_status => dss_return_status,
2858 x_msg_count => dss_msg_count,
2859 x_msg_data => dss_msg_data);
2860
2861 if dss_return_status <> fnd_api.g_ret_sts_success THEN
2862 RAISE FND_API.G_EXC_ERROR;
2863 end if;
2864
2865 if (l_test_security <> 'T' OR l_test_security <> FND_API.G_TRUE) then
2866 --
2867 -- Bug 3835601: replaced the dss message with a more user friendly message
2868 --
2869 FND_MESSAGE.SET_NAME('AR', 'HZ_DSS_NO_INSERT_PRIVILEGE');
2870 IF l_contact_point_rec.owner_table_name = 'HZ_PARTIES' THEN
2871 FND_MESSAGE.SET_TOKEN('ENTITY_NAME',
2872 hz_dss_util_pub.get_display_name(null, 'PARTY_CONTACT_POINTS'));
2873 ELSIF l_contact_point_rec.owner_table_name = 'HZ_PARTY_SITES' THEN
2874 FND_MESSAGE.SET_TOKEN('ENTITY_NAME',
2875 hz_dss_util_pub.get_display_name(null, 'PARTY_SITE_CONTACT_POINTS'));
2876 END IF;
2877 FND_MSG_PUB.ADD;
2878 RAISE FND_API.G_EXC_ERROR;
2879 end if;
2880 END IF;
2881
2882 -- Invoke business event system.
2883
2884 -- SSM SST Integration and Extension
2885 -- For non-profile entities, the concept of select/de-select data sources is obsoleted.
2886 -- There is no need to check if the data-source is selected.
2887
2888 IF x_return_status = fnd_api.g_ret_sts_success /*AND
2889 -- Bug 2197181: Added below condition for Mix-n-Match
2890 g_cpt_is_datasource_selected = 'Y'*/
2891 THEN
2892 IF(HZ_UTILITY_V2PUB.G_EXECUTE_API_CALLOUTS in ('Y', 'EVENTS_ENABLED')) THEN
2893 hz_business_event_v2pvt.create_contact_point_event(
2894 l_contact_point_rec,
2895 l_edi_rec,
2896 l_eft_rec,
2897 l_email_rec,
2898 l_phone_rec,
2899 l_telex_rec,
2900 l_web_rec);
2901 END IF;
2902
2903 IF(HZ_UTILITY_V2PUB.G_EXECUTE_API_CALLOUTS in ('EVENTS_ENABLED', 'BO_EVENTS_ENABLED')) THEN
2904 HZ_POPULATE_BOT_PKG.pop_hz_contact_points(
2905 p_operation => 'I',
2906 p_contact_point_id => x_contact_point_id);
2907 END IF;
2911 --Bug 13117445
2908 -- Call to indicate contact point creation to DQM
2909 --Bug 4866187
2910 --Bug 5370799
2912 --Commented sync_contact_point call as it will be called in do_create_contact_point just after contact_point insertion
2913 /* IF (p_contact_point_rec.orig_system IS NULL OR p_contact_point_rec.orig_system=FND_API.G_MISS_CHAR)
2914 THEN
2915 hz_dqm_sync.sync_contact_point(l_contact_point_rec.contact_point_id, 'C');
2916 END IF;
2917 */
2918 END IF;
2919
2920 -- Standard call to get message count and if count is 1, get message info.
2921 fnd_msg_pub.count_and_get(
2922 p_encoded => fnd_api.g_false,
2923 p_count => x_msg_count,
2924 p_data => x_msg_data);
2925
2926 -- Debug info.
2927 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
2928 hz_utility_v2pub.debug(p_message=>'create_contact_point_main (-)',
2929 p_prefix=>l_debug_prefix,
2930 p_msg_level=>fnd_log.level_procedure);
2931 END IF;
2932 END create_contact_point_main;
2933
2934 --
2935 -- PRIVATE PROCEDURE update_contact_point_main
2936 --
2937 -- DESCRIPTION
2938 -- Updates the given contact point.
2939 --
2940 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
2941 -- HZ_BUSINESS_EVENT_V2PVT.update_contact_point_main_event
2942 --
2943 -- ARGUMENTS
2944 -- IN:
2945 -- p_init_msg_list Initialize message stack if it is set to
2946 -- FND_API.G_TRUE. Default is fnd_api.g_false.
2947 -- p_contact_point_rec Contact point record.
2948 -- p_edi_rec EDI record.
2949 -- p_email_rec Email record.
2950 -- p_phone_rec Phone record.
2951 -- p_telex_rec Telex record.
2952 -- p_web_rec Web record.
2953 -- p_eft_rec EFT record.
2954 -- IN/OUT:
2955 -- p_object_version_number Used for locking the being updated record.
2956 -- OUT:
2957 -- x_return_status Return status after the call. The status can
2958 -- be fnd_api.g_ret_sts_success (success),
2959 -- fnd_api.g_ret_sts_error (error),
2960 -- FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
2961 -- x_msg_count Number of messages in message stack.
2962 -- x_msg_data Message text if x_msg_count is 1.
2963 --
2964 -- NOTES
2965 --
2966 -- MODIFICATION HISTORY
2967 --
2968 -- 07-23-2001 Jianying Huang Created.
2969 -- 19-NOV-2001 Joe del Callar Bug 2116225: Added support for
2970 -- Bank Consolidation.
2971 -- 04-DEC-2001 Joe del Callar Bug 2136283: Added support for
2972 -- enhanced backward compatibility.
2973 -- 06-JUL-2004 Rajib Ranjan Borah Bug 3711740.If phone_area_code/
2974 -- phone_country_code is null, then do
2975 -- not assign the old value before calling
2976 -- hz_timezone_pub.get_phone_timezone_id.
2977
2978 PROCEDURE update_contact_point_main (
2979 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
2980 p_contact_point_rec IN contact_point_rec_type,
2981 p_edi_rec IN edi_rec_type := g_miss_edi_rec,
2982 p_eft_rec IN eft_rec_type := g_miss_eft_rec,
2983 p_email_rec IN email_rec_type := g_miss_email_rec,
2984 p_phone_rec IN phone_rec_type := g_miss_phone_rec,
2985 p_telex_rec IN telex_rec_type := g_miss_telex_rec,
2986 p_web_rec IN web_rec_type := g_miss_web_rec,
2987 p_object_version_number IN OUT NOCOPY NUMBER,
2988 x_return_status OUT NOCOPY VARCHAR2,
2989 x_msg_count OUT NOCOPY NUMBER,
2990 x_msg_data OUT NOCOPY VARCHAR2
2991 ) IS
2992
2993 l_contact_point_rec contact_point_rec_type := p_contact_point_rec;
2994 l_edi_rec edi_rec_type := p_edi_rec;
2995 l_email_rec email_rec_type := p_email_rec;
2996 l_phone_rec phone_rec_type := p_phone_rec;
2997 l_telex_rec telex_rec_type := p_telex_rec;
2998 l_web_rec web_rec_type := p_web_rec;
2999 l_eft_rec eft_rec_type := p_eft_rec;
3000
3001 l_old_contact_point_rec contact_point_rec_type;
3002 l_old_edi_rec edi_rec_type;
3003 l_old_email_rec email_rec_type;
3004 l_old_phone_rec phone_rec_type;
3005 l_old_telex_rec telex_rec_type;
3006 l_old_web_rec web_rec_type;
3007 l_old_eft_rec eft_rec_type;
3008 l_phone_country_code HZ_CONTACT_POINTS.phone_country_code%type;
3009 l_phone_area_code HZ_CONTACT_POINTS.phone_area_code%type;
3010
3011 l_data_source_from VARCHAR2(30);
3012
3013 dss_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
3014 dss_msg_count NUMBER := 0;
3015 dss_msg_data VARCHAR2(2000):= null;
3016 l_test_security VARCHAR2(1):= 'F';
3017
3018 l_return_status VARCHAR2(1);
3019 l_msg_count NUMBER;
3020 l_message_count number;
3021 l_msg_data VARCHAR2(2000);
3022 l_changed_flag varchar2(1) := 'N';
3023 l_debug_prefix VARCHAR2(30) := '';
3024
3025 BEGIN
3026 -- Debug info.
3027 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3028 hz_utility_v2pub.debug(p_message=>'update_contact_point_main (+)',
3032
3029 p_prefix=>l_debug_prefix,
3030 p_msg_level=>fnd_log.level_procedure);
3031 END IF;
3033 -- Initialize message list if p_init_msg_list is set to TRUE.
3034 IF fnd_api.to_boolean(p_init_msg_list) THEN
3035 fnd_msg_pub.initialize;
3036 END IF;
3037
3038 -- Initialize API return status to success.
3039 x_return_status := fnd_api.g_ret_sts_success;
3040
3041 -- if contact_point_id is not passed in, but orig system parameters are passed in
3042 -- get contact_point_id
3043
3044 IF (p_contact_point_rec.orig_system is not null
3045 and p_contact_point_rec.orig_system <>fnd_api.g_miss_char)
3046 and (p_contact_point_rec.orig_system_reference is not null
3047 and p_contact_point_rec.orig_system_reference <>fnd_api.g_miss_char)
3048 and (p_contact_point_rec.contact_point_id = FND_API.G_MISS_NUM or p_contact_point_rec.contact_point_id is null) THEN
3049 hz_orig_system_ref_pub.get_owner_table_id
3050 (p_orig_system => p_contact_point_rec.orig_system,
3051 p_orig_system_reference => p_contact_point_rec.orig_system_reference,
3052 p_owner_table_name => 'HZ_CONTACT_POINTS',
3053 x_owner_table_id => l_contact_point_rec.contact_point_id,
3054 x_return_status => x_return_status);
3055 IF x_return_status <> fnd_api.g_ret_sts_success THEN
3056 RAISE FND_API.G_EXC_ERROR;
3057 END IF;
3058 END IF;
3059
3060
3061 -- Get old records. Will be used by business event system.
3062 get_contact_point_main (
3063 p_contact_point_id => l_contact_point_rec.contact_point_id,
3064 x_contact_point_rec => l_old_contact_point_rec,
3065 x_edi_rec => l_old_edi_rec,
3066 x_eft_rec => l_old_eft_rec,
3067 x_email_rec => l_old_email_rec,
3068 x_phone_rec => l_old_phone_rec,
3069 x_telex_rec => l_old_telex_rec,
3070 x_web_rec => l_old_web_rec,
3071 x_return_status => x_return_status,
3072 x_msg_count => x_msg_count,
3073 x_msg_data => x_msg_data);
3074
3075 IF x_return_status = fnd_api.g_ret_sts_error THEN
3076 RAISE fnd_api.g_exc_error;
3077 ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
3078 RAISE fnd_api.g_exc_unexpected_error;
3079 END IF;
3080
3081 -- Bug 2486394 -Check if the DSS security is granted to the user
3082 -- Bug 3818648: check dss profile before call test_instance
3083 -- Bug 3867562: check dss only in party context
3084
3085 IF NVL(fnd_profile.value('HZ_DSS_ENABLED'), 'N') = 'Y' AND
3086 l_old_contact_point_rec.owner_table_name IN ('HZ_PARTIES', 'HZ_PARTY_SITES')
3087 THEN
3088 l_test_security :=
3089 hz_dss_util_pub.test_instance(
3090 p_operation_code => 'UPDATE',
3091 p_db_object_name => 'HZ_CONTACT_POINTS',
3092 p_instance_pk1_value => l_contact_point_rec.contact_point_id,
3093 p_user_name => fnd_global.user_name,
3094 x_return_status => dss_return_status,
3095 x_msg_count => dss_msg_count,
3096 x_msg_data => dss_msg_data);
3097
3098 if dss_return_status <> fnd_api.g_ret_sts_success THEN
3099 RAISE FND_API.G_EXC_ERROR;
3100 end if;
3101
3102 if (l_test_security <> 'T' OR l_test_security <> FND_API.G_TRUE) then
3103 --
3104 -- Bug 3835601: replaced the dss message with a more user friendly message
3105 --
3106 FND_MESSAGE.SET_NAME('AR', 'HZ_DSS_NO_UPDATE_PRIVILEGE');
3107 IF l_old_contact_point_rec.owner_table_name = 'HZ_PARTIES' THEN
3108 FND_MESSAGE.SET_TOKEN('ENTITY_NAME',
3109 hz_dss_util_pub.get_display_name(null, 'PARTY_CONTACT_POINTS'));
3110 ELSIF l_old_contact_point_rec.owner_table_name = 'HZ_PARTY_SITES' THEN
3111 FND_MESSAGE.SET_TOKEN('ENTITY_NAME',
3112 hz_dss_util_pub.get_display_name(null, 'PARTY_SITE_CONTACT_POINTS'));
3113 END IF;
3114 FND_MSG_PUB.ADD;
3115 RAISE FND_API.G_EXC_ERROR;
3116 end if;
3117 END IF;
3118
3119 -- Bug 2197181: added for mix-n-match project. first load data
3120 -- sources for this entity.
3121
3122 -- Bug 2444678: Removed caching.
3123
3124 /* SSM SST Integration and Extension
3125 * For non-profile entities, the concept of select/de-select data-sources is obsoleted.
3126 * There is no need to check if the data-source is selected.
3127
3128 -- IF g_cpt_mixnmatch_enabled IS NULL THEN
3129 HZ_MIXNM_UTILITY.LoadDataSources(
3130 p_entity_name => 'HZ_CONTACT_POINTS',
3131 p_entity_attr_id => g_cpt_entity_attr_id,
3132 p_mixnmatch_enabled => g_cpt_mixnmatch_enabled,
3133 p_selected_datasources => g_cpt_selected_datasources );
3134 -- END IF;
3135 */
3136
3137 -- Bug 2197181: added for mix-n-match project.
3138 -- check if the data source is seleted.
3139 /* SSM SST Integration and Extension
3140 * For non-profile entities, the concept of select/de-select data-sources is obsoleted.
3141 * There is no need to check if the data-source is selected.
3142
3143 g_cpt_is_datasource_selected :=
3144 HZ_MIXNM_UTILITY.isDataSourceSelected (
3145 p_selected_datasources => g_cpt_selected_datasources,
3146 p_actual_content_source => l_old_contact_point_rec.actual_content_source );
3147 */
3151 then
3148 if (l_phone_rec.phone_country_code IS NOT NULL
3149 and l_phone_rec.phone_country_code <> nvl(l_old_phone_rec.phone_country_code,fnd_api.g_miss_char))
3150 or (l_phone_rec.phone_area_code is NOT NULL and l_phone_rec.phone_area_code <> nvl(l_old_phone_rec.phone_area_code,fnd_api.g_miss_char))
3152 l_changed_flag := 'Y';
3153 end if;
3154
3155 if l_changed_flag = 'Y' and ( l_phone_rec.timezone_id is null or l_phone_rec.timezone_id = fnd_api.g_miss_num)
3156 then
3157 if l_phone_rec.phone_country_code IS NULL
3158 then
3159 l_phone_country_code := l_old_phone_rec.phone_country_code;
3160 else
3161 l_phone_country_code := l_phone_rec.phone_country_code;
3162 end if;
3163
3164 if l_phone_rec.phone_area_code IS NULL
3165 then
3166 l_phone_area_code := l_old_phone_rec.phone_area_code;
3167 else
3168 l_phone_area_code := l_phone_rec.phone_area_code;
3169 end if;
3170 l_message_count := fnd_msg_pub.count_msg();
3171 hz_timezone_pub.get_phone_timezone_id(
3172 p_api_version => 1.0,
3173 p_init_msg_list => FND_API.G_FALSE,
3174 p_phone_country_code => l_phone_country_code,
3175 p_area_code => l_phone_area_code,
3176 p_phone_prefix => null,
3177 p_country_code => null,-- don't need to pass in this
3178 x_timezone_id => l_phone_rec.timezone_id,
3179 x_return_status => l_return_status ,
3180 x_msg_count =>l_msg_count ,
3181 x_msg_data => l_msg_data);
3182 if l_return_status <> fnd_api.g_ret_sts_success
3183 then -- we don't raise error
3184 l_phone_rec.timezone_id := fnd_api.g_miss_num;
3185 FOR i IN 1..(l_msg_count - l_message_count) LOOP
3186 fnd_msg_pub.delete_msg(l_msg_count - l_message_count + 1 - i);
3187 END LOOP;
3188 l_return_status := FND_API.G_RET_STS_SUCCESS;
3189 end if;
3190 end if;
3191
3192 -- Call to business logic.
3193 do_update_contact_point (
3194 l_contact_point_rec,
3195 l_edi_rec,
3196 l_eft_rec,
3197 l_email_rec,
3198 l_phone_rec,
3199 l_telex_rec,
3200 l_web_rec,
3201 p_object_version_number,
3202 x_return_status);
3203
3204 IF x_return_status = fnd_api.g_ret_sts_success THEN
3205 update_contact_point_search(l_old_contact_point_rec,
3206 l_old_phone_rec,
3207 l_phone_rec,
3208 l_old_email_rec,
3209 l_email_rec
3210 );
3211 END IF;
3212
3213 -- SSM SST Integration and Extension
3214 -- For non-profile entities, the concept of select/de-select data-sources is obsoleted.
3215 -- There is no need to check if the data-source is selected.
3216
3217 -- Invoke business event system.
3218 IF x_return_status = fnd_api.g_ret_sts_success /*AND
3219 -- Bug 2197181: Added below condition for Mix-n-Match
3220 g_cpt_is_datasource_selected = 'Y'*/
3221 THEN
3222 l_old_contact_point_rec.orig_system := p_contact_point_rec.orig_system;
3223 IF(HZ_UTILITY_V2PUB.G_EXECUTE_API_CALLOUTS in ('Y', 'EVENTS_ENABLED')) THEN
3224 hz_business_event_v2pvt.update_contact_point_event (
3225 l_contact_point_rec,
3226 l_old_contact_point_rec,
3227 l_edi_rec,
3228 l_old_edi_rec,
3229 l_eft_rec,
3230 l_old_eft_rec,
3231 l_email_rec,
3232 l_old_email_rec,
3233 l_phone_rec,
3234 l_old_phone_rec,
3235 l_telex_rec,
3236 l_old_telex_rec,
3237 l_web_rec,
3238 l_old_web_rec);
3239 END IF;
3240
3241 IF(HZ_UTILITY_V2PUB.G_EXECUTE_API_CALLOUTS in ('EVENTS_ENABLED', 'BO_EVENTS_ENABLED')) THEN
3242 HZ_POPULATE_BOT_PKG.pop_hz_contact_points(
3243 p_operation => 'U',
3244 p_contact_point_id => l_contact_point_rec.contact_point_id);
3245 END IF;
3246 -- Call to indicate contact point update to DQM
3247 hz_dqm_sync.sync_contact_point(l_contact_point_rec.contact_point_id, 'U');
3248
3249 END IF;
3250
3251 -- Standard call to get message count and if count is 1, get message info.
3252 fnd_msg_pub.count_and_get(
3253 p_encoded => fnd_api.g_false,
3254 p_count => x_msg_count,
3255 p_data => x_msg_data);
3256
3257 -- Debug info.
3258 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3259 hz_utility_v2pub.debug(p_message=>'update_contact_point_main (-)',
3260 p_prefix=>l_debug_prefix,
3261 p_msg_level=>fnd_log.level_procedure);
3262 END IF;
3263 END update_contact_point_main;
3264
3265 --------------------------------------
3266 -- public procedures and functions
3267 --------------------------------------
3268
3269 --
3270 -- PROCEDURE create_contact_point
3271 --
3272 -- DESCRIPTION
3273 -- Creates a contact point. Still here for backward compatibility.
3274 --
3275 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
3276 --
3277 -- ARGUMENTS
3278 -- IN:
3279 -- p_init_msg_list Initialize message stack if it is set to
3283 -- p_email_rec Email record.
3280 -- FND_API.G_TRUE. Default is FND_API.G_FALSE.
3281 -- p_contact_point_rec Contact point record.
3282 -- p_edi_rec EDI record.
3284 -- p_phone_rec Phone record.
3285 -- p_telex_rec Telex record.
3286 -- p_web_rec Web record.
3287 -- IN/OUT:
3288 -- OUT:
3289 -- x_contact_point_id Contact point ID.
3290 -- x_return_status Return status after the call. The status can
3291 -- be fnd_api.g_ret_sts_success (success),
3292 -- fnd_api.g_ret_sts_error (error),
3293 -- FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
3294 -- x_msg_count Number of messages in message stack.
3295 -- x_msg_data Message text if x_msg_count is 1.
3296 --
3297 -- NOTES
3298 --
3299 -- MODIFICATION HISTORY
3300 --
3301 -- 07-23-2001 Jianying Huang Created.
3302 -- 04-DEC-2001 Joe del Callar Bug 2136283: Added support for
3303 -- enhanced backward compatibility.
3304 -- 04-FEB-2001 Joe del Callar Bug 2211876: Fixed issue with error
3305 -- status and message data getting set
3306 -- incorrectly in update and create
3307 -- contact point APIs.
3308 --
3309
3310 PROCEDURE create_contact_point (
3311 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
3312 p_contact_point_rec IN contact_point_rec_type,
3313 p_edi_rec IN edi_rec_type := g_miss_edi_rec,
3314 p_email_rec IN email_rec_type := g_miss_email_rec,
3315 p_phone_rec IN phone_rec_type := g_miss_phone_rec,
3316 p_telex_rec IN telex_rec_type := g_miss_telex_rec,
3317 p_web_rec IN web_rec_type := g_miss_web_rec,
3318 x_contact_point_id OUT NOCOPY NUMBER,
3319 x_return_status OUT NOCOPY VARCHAR2,
3320 x_msg_count OUT NOCOPY NUMBER,
3321 x_msg_data OUT NOCOPY VARCHAR2
3322 ) IS
3323 l_debug_prefix VARCHAR2(30) := '';
3324 BEGIN
3325
3326 -- Standard start of API savepoint
3327 SAVEPOINT create_contact_point;
3328
3329 -- Check if API is called in debug mode. If yes, enable debug.
3330 --enable_debug;
3331
3332 -- Debug info.
3333 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3334 hz_utility_v2pub.debug(p_message=>'create_contact_point (+)',
3335 p_prefix=>l_debug_prefix,
3336 p_msg_level=>fnd_log.level_procedure);
3337 END IF;
3338
3339 -- Call to the main business logic.
3340 create_contact_point_main(
3341 p_init_msg_list => p_init_msg_list,
3342 p_contact_point_rec => p_contact_point_rec,
3343 p_edi_rec => p_edi_rec,
3344 p_email_rec => p_email_rec,
3345 p_phone_rec => p_phone_rec,
3346 p_telex_rec => p_telex_rec,
3347 p_web_rec => p_web_rec,
3348 x_contact_point_id => x_contact_point_id,
3349 x_return_status => x_return_status,
3350 x_msg_count => x_msg_count,
3351 x_msg_data => x_msg_data
3352 );
3353
3354 -- Debug info.
3355 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
3356 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
3357 p_msg_data=>x_msg_data,
3358 p_msg_type=>'WARNING',
3359 p_msg_level=>fnd_log.level_exception);
3360 END IF;
3361 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3362 hz_utility_v2pub.debug(p_message=>'create_contact_point (-)',
3363 p_prefix=>l_debug_prefix,
3364 p_msg_level=>fnd_log.level_procedure);
3365 END IF;
3366
3367 -- Check if API is called in debug mode. If yes, disable debug.
3368 --disable_debug;
3369
3370 EXCEPTION
3371 WHEN fnd_api.g_exc_error THEN
3372 ROLLBACK TO create_contact_point;
3373 x_return_status := fnd_api.g_ret_sts_error;
3374
3375 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
3376 p_count => x_msg_count,
3377 p_data => x_msg_data);
3378
3379 -- Debug info.
3380 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
3381 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
3382 p_msg_data=>x_msg_data,
3383 p_msg_type=>'ERROR',
3384 p_msg_level=>fnd_log.level_error);
3385 END IF;
3386 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3387 hz_utility_v2pub.debug(p_message=>'create_contact_point (-)',
3388 p_prefix=>l_debug_prefix,
3389 p_msg_level=>fnd_log.level_procedure);
3390 END IF;
3391
3392
3393 -- Check if API is called in debug mode. If yes, disable debug.
3394 --disable_debug;
3395
3396 WHEN fnd_api.g_exc_unexpected_error THEN
3397 ROLLBACK TO create_contact_point;
3398 x_return_status := fnd_api.g_ret_sts_unexp_error;
3399
3400 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
3401 p_count => x_msg_count,
3402 p_data => x_msg_data);
3403
3404 -- Debug info.
3408 p_msg_type=>'UNEXPECTED ERROR',
3405 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
3406 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
3407 p_msg_data=>x_msg_data,
3409 p_msg_level=>fnd_log.level_error);
3410 END IF;
3411 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3412 hz_utility_v2pub.debug(p_message=>'create_contact_point (-)',
3413 p_prefix=>l_debug_prefix,
3414 p_msg_level=>fnd_log.level_procedure);
3415 END IF;
3416
3417 -- Check if API is called in debug mode. If yes, disable debug.
3418 --disable_debug;
3419
3420 WHEN OTHERS THEN
3421 ROLLBACK TO create_contact_point;
3422 x_return_status := fnd_api.g_ret_sts_unexp_error;
3423
3424 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
3425 fnd_message.set_token('ERROR' ,SQLERRM);
3426 fnd_msg_pub.add;
3427
3428 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
3429 p_count => x_msg_count,
3430 p_data => x_msg_data);
3431
3432 -- Debug info.
3433 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
3434 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
3435 p_msg_data=>x_msg_data,
3436 p_msg_type=>'SQL ERROR',
3437 p_msg_level=>fnd_log.level_error);
3438 END IF;
3439 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3440 hz_utility_v2pub.debug(p_message=>'create_contact_point (-)',
3441 p_prefix=>l_debug_prefix,
3442 p_msg_level=>fnd_log.level_procedure);
3443 END IF;
3444
3445 -- Check if API is called in debug mode. If yes, disable debug.
3446 --disable_debug;
3447 END create_contact_point;
3448
3449 --
3450 -- PROCEDURE create_edi_contact_point
3451 --
3452 -- DESCRIPTION
3453 -- Creates an EDI contact point.
3454 --
3455 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
3456 --
3457 -- ARGUMENTS
3458 -- IN:
3459 -- p_init_msg_list Initialize message stack if it is set to
3460 -- FND_API.G_TRUE. Default is FND_API.G_FALSE.
3461 -- p_contact_point_rec Contact point record.
3462 -- p_edi_rec EDI record.
3463 -- IN/OUT:
3464 -- OUT:
3465 -- x_contact_point_id Contact point ID.
3466 -- x_return_status Return status after the call. The status can
3467 -- be fnd_api.g_ret_sts_success (success),
3468 -- fnd_api.g_ret_sts_error (error),
3469 -- FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
3470 -- x_msg_count Number of messages in message stack.
3471 -- x_msg_data Message text if x_msg_count is 1.
3472 --
3473 -- NOTES
3474 --
3475 -- MODIFICATION HISTORY
3476 --
3477 -- 04-DEC-2001 Joe del Callar Bug 2136283: Added to support
3478 -- enhanced backward compatibility.
3479 -- 04-FEB-2001 Joe del Callar Bug 2211876: Fixed issue with error
3480 -- status and message data getting set
3481 -- incorrectly in update and create
3482 -- contact point APIs.
3483 --
3484
3485 PROCEDURE create_edi_contact_point (
3486 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
3487 p_contact_point_rec IN contact_point_rec_type,
3488 p_edi_rec IN edi_rec_type := g_miss_edi_rec,
3489 x_contact_point_id OUT NOCOPY NUMBER,
3490 x_return_status OUT NOCOPY VARCHAR2,
3491 x_msg_count OUT NOCOPY NUMBER,
3492 x_msg_data OUT NOCOPY VARCHAR2
3493 ) IS
3494 l_debug_prefix VARCHAR2(30) := '';
3495 BEGIN
3496
3497 -- Standard start of API savepoint
3498 SAVEPOINT create_edi_contact_point;
3499
3500 -- Check if API is called in debug mode. If yes, enable debug.
3501 --enable_debug;
3502
3503 -- Debug info.
3504 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3505 hz_utility_v2pub.debug(p_message=>'create_edi_contact_point (+)',
3506 p_prefix=>l_debug_prefix,
3507 p_msg_level=>fnd_log.level_procedure);
3508 END IF;
3509
3510 -- Call to the main business logic.
3511 create_contact_point_main(
3512 p_init_msg_list => p_init_msg_list,
3513 p_contact_point_rec => p_contact_point_rec,
3514 p_edi_rec => p_edi_rec,
3515 x_contact_point_id => x_contact_point_id,
3516 x_return_status => x_return_status,
3517 x_msg_count => x_msg_count,
3518 x_msg_data => x_msg_data
3519 );
3520
3521 -- Debug info.
3522 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
3523 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
3524 p_msg_data=>x_msg_data,
3525 p_msg_type=>'WARNING',
3526 p_msg_level=>fnd_log.level_exception);
3527 END IF;
3528 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3529 hz_utility_v2pub.debug(p_message=>'create_edi_contact_point (-)',
3530 p_prefix=>l_debug_prefix,
3531 p_msg_level=>fnd_log.level_procedure);
3532 END IF;
3536
3533
3534 -- Check if API is called in debug mode. If yes, disable debug.
3535 --disable_debug;
3537 EXCEPTION
3538 WHEN fnd_api.g_exc_error THEN
3539 ROLLBACK TO create_edi_contact_point;
3540 x_return_status := fnd_api.g_ret_sts_error;
3541
3542 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
3543 p_count => x_msg_count,
3544 p_data => x_msg_data);
3545
3546 -- Debug info.
3547 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
3548 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
3549 p_msg_data=>x_msg_data,
3550 p_msg_type=>'ERROR',
3551 p_msg_level=>fnd_log.level_error);
3552 END IF;
3553 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3554 hz_utility_v2pub.debug(p_message=>'create_edi_contact_point (-)',
3555 p_prefix=>l_debug_prefix,
3556 p_msg_level=>fnd_log.level_procedure);
3557 END IF;
3558
3559 -- Check if API is called in debug mode. If yes, disable debug.
3560 --disable_debug;
3561
3562 WHEN fnd_api.g_exc_unexpected_error THEN
3563 ROLLBACK TO create_edi_contact_point;
3564 x_return_status := fnd_api.g_ret_sts_unexp_error;
3565
3566 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
3567 p_count => x_msg_count,
3568 p_data => x_msg_data);
3569
3570 -- Debug info.
3571 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
3572 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
3573 p_msg_data=>x_msg_data,
3574 p_msg_type=>'UNEXPECTED ERROR',
3575 p_msg_level=>fnd_log.level_error);
3576 END IF;
3577 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3578 hz_utility_v2pub.debug(p_message=>'create_edi_contact_point (-)',
3579 p_prefix=>l_debug_prefix,
3580 p_msg_level=>fnd_log.level_procedure);
3581 END IF;
3582
3583 -- Check if API is called in debug mode. If yes, disable debug.
3584 --disable_debug;
3585
3586 WHEN OTHERS THEN
3587 ROLLBACK TO create_edi_contact_point;
3588 x_return_status := fnd_api.g_ret_sts_unexp_error;
3589
3590 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
3591 fnd_message.set_token('ERROR' ,SQLERRM);
3592 fnd_msg_pub.add;
3593
3594 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
3595 p_count => x_msg_count,
3596 p_data => x_msg_data);
3597
3598 -- Debug info.
3599 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
3600 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
3601 p_msg_data=>x_msg_data,
3602 p_msg_type=>'SQL ERROR',
3603 p_msg_level=>fnd_log.level_error);
3604 END IF;
3605 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3606 hz_utility_v2pub.debug(p_message=>'create_edi_contact_point (-)',
3607 p_prefix=>l_debug_prefix,
3608 p_msg_level=>fnd_log.level_procedure);
3609 END IF;
3610
3611 -- Check if API is called in debug mode. If yes, disable debug.
3612 --disable_debug;
3613 END create_edi_contact_point;
3614
3615 --
3616 -- PROCEDURE create_web_contact_point
3617 --
3618 -- DESCRIPTION
3619 -- Creates a Web contact point.
3620 --
3621 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
3622 --
3623 -- ARGUMENTS
3624 -- IN:
3625 -- p_init_msg_list Initialize message stack if it is set to
3626 -- FND_API.G_TRUE. Default is FND_API.G_FALSE.
3627 -- p_contact_point_rec Contact point record.
3628 -- p_web_rec Web record.
3629 -- IN/OUT:
3630 -- OUT:
3631 -- x_contact_point_id Contact point ID.
3632 -- x_return_status Return status after the call. The status can
3633 -- be fnd_api.g_ret_sts_success (success),
3634 -- fnd_api.g_ret_sts_error (error),
3635 -- FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
3636 -- x_msg_count Number of messages in message stack.
3637 -- x_msg_data Message text if x_msg_count is 1.
3638 --
3639 -- NOTES
3640 --
3641 -- MODIFICATION HISTORY
3642 --
3643 -- 04-DEC-2001 Joe del Callar Bug 2136283: Added support for
3644 -- enhanced backward compatibility.
3645 -- 04-FEB-2001 Joe del Callar Bug 2211876: Fixed issue with error
3646 -- status and message data getting set
3647 -- incorrectly in update and create
3648 -- contact point APIs.
3649 --
3650
3651 PROCEDURE create_web_contact_point (
3652 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
3653 p_contact_point_rec IN contact_point_rec_type,
3654 p_web_rec IN web_rec_type := g_miss_web_rec,
3655 x_contact_point_id OUT NOCOPY NUMBER,
3656 x_return_status OUT NOCOPY VARCHAR2,
3657 x_msg_count OUT NOCOPY NUMBER,
3658 x_msg_data OUT NOCOPY VARCHAR2
3659 ) IS
3660 l_debug_prefix VARCHAR2(30) := '';
3661 BEGIN
3662
3666 -- Check if API is called in debug mode. If yes, enable debug.
3663 -- Standard start of API savepoint
3664 SAVEPOINT create_web_contact_point;
3665
3667 --enable_debug;
3668
3669 -- Debug info.
3670 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3671 hz_utility_v2pub.debug(p_message=>'create_web_contact_point (+)',
3672 p_prefix=>l_debug_prefix,
3673 p_msg_level=>fnd_log.level_procedure);
3674 END IF;
3675
3676 -- Call to the main business logic.
3677 create_contact_point_main(
3678 p_init_msg_list => p_init_msg_list,
3679 p_contact_point_rec => p_contact_point_rec,
3680 p_web_rec => p_web_rec,
3681 x_contact_point_id => x_contact_point_id,
3682 x_return_status => x_return_status,
3683 x_msg_count => x_msg_count,
3684 x_msg_data => x_msg_data
3685 );
3686
3687 -- Debug info.
3688 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
3689 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
3690 p_msg_data=>x_msg_data,
3691 p_msg_type=>'WARNING',
3692 p_msg_level=>fnd_log.level_exception);
3693 END IF;
3694 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3695 hz_utility_v2pub.debug(p_message=>'create_web_contact_point (-)',
3696 p_prefix=>l_debug_prefix,
3697 p_msg_level=>fnd_log.level_procedure);
3698 END IF;
3699
3700 -- Check if API is called in debug mode. If yes, disable debug.
3701 --disable_debug;
3702
3703 EXCEPTION
3704 WHEN fnd_api.g_exc_error THEN
3705 ROLLBACK TO create_web_contact_point;
3706 x_return_status := fnd_api.g_ret_sts_error;
3707
3708 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
3709 p_count => x_msg_count,
3710 p_data => x_msg_data);
3711
3712 -- Debug info.
3713 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
3714 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
3715 p_msg_data=>x_msg_data,
3716 p_msg_type=>'ERROR',
3717 p_msg_level=>fnd_log.level_error);
3718 END IF;
3719 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3720 hz_utility_v2pub.debug(p_message=>'create_web_contact_point (-)',
3721 p_prefix=>l_debug_prefix,
3722 p_msg_level=>fnd_log.level_procedure);
3723 END IF;
3724
3725 -- Check if API is called in debug mode. If yes, disable debug.
3726 --disable_debug;
3727
3728 WHEN fnd_api.g_exc_unexpected_error THEN
3729 ROLLBACK TO create_web_contact_point;
3730 x_return_status := fnd_api.g_ret_sts_unexp_error;
3731
3732 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
3733 p_count => x_msg_count,
3734 p_data => x_msg_data);
3735
3736 -- Debug info.
3737 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
3738 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
3739 p_msg_data=>x_msg_data,
3740 p_msg_type=>'UNEXPECTED ERROR',
3741 p_msg_level=>fnd_log.level_error);
3742 END IF;
3743 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3744 hz_utility_v2pub.debug(p_message=>'create_web_contact_point (-)',
3745 p_prefix=>l_debug_prefix,
3746 p_msg_level=>fnd_log.level_procedure);
3747 END IF;
3748
3749 -- Check if API is called in debug mode. If yes, disable debug.
3750 --disable_debug;
3751
3752 WHEN OTHERS THEN
3753 ROLLBACK TO create_web_contact_point;
3754 x_return_status := fnd_api.g_ret_sts_unexp_error;
3755
3756 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
3757 fnd_message.set_token('ERROR' ,SQLERRM);
3758 fnd_msg_pub.add;
3759
3760 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
3761 p_count => x_msg_count,
3762 p_data => x_msg_data);
3763
3764 -- Debug info.
3765 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
3766 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
3767 p_msg_data=>x_msg_data,
3768 p_msg_type=>'SQL ERROR',
3769 p_msg_level=>fnd_log.level_error);
3770 END IF;
3771 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3772 hz_utility_v2pub.debug(p_message=>'create_web_contact_point (-)',
3773 p_prefix=>l_debug_prefix,
3774 p_msg_level=>fnd_log.level_procedure);
3775 END IF;
3776
3777 -- Check if API is called in debug mode. If yes, disable debug.
3778 --disable_debug;
3779 END create_web_contact_point;
3780
3781 --
3782 -- PROCEDURE create_eft_contact_point
3783 --
3784 -- DESCRIPTION
3785 -- Creates an EFT contact point.
3786 --
3787 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
3788 --
3789 -- ARGUMENTS
3790 -- IN:
3791 -- p_init_msg_list Initialize message stack if it is set to
3792 -- FND_API.G_TRUE. Default is FND_API.G_FALSE.
3793 -- p_contact_point_rec Contact point record.
3797 -- x_contact_point_id Contact point ID.
3794 -- p_eft_rec EFT record.
3795 -- IN/OUT:
3796 -- OUT:
3798 -- x_return_status Return status after the call. The status can
3799 -- be fnd_api.g_ret_sts_success (success),
3800 -- fnd_api.g_ret_sts_error (error),
3801 -- FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
3802 -- x_msg_count Number of messages in message stack.
3803 -- x_msg_data Message text if x_msg_count is 1.
3804 --
3805 -- NOTES
3806 --
3807 -- MODIFICATION HISTORY
3808 --
3809 -- 04-DEC-2001 Joe del Callar Bug 2136283: Added support for
3810 -- enhanced backward compatibility.
3811 -- Bug 2100992: Added for bank
3812 -- consolidation support.
3813 -- 04-FEB-2001 Joe del Callar Bug 2211876: Fixed issue with error
3814 -- status and message data getting set
3815 -- incorrectly in update and create
3816 -- contact point APIs.
3817 --
3818
3819 PROCEDURE create_eft_contact_point (
3820 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
3821 p_contact_point_rec IN contact_point_rec_type,
3822 p_eft_rec IN eft_rec_type := g_miss_eft_rec,
3823 x_contact_point_id OUT NOCOPY NUMBER,
3824 x_return_status OUT NOCOPY VARCHAR2,
3825 x_msg_count OUT NOCOPY NUMBER,
3826 x_msg_data OUT NOCOPY VARCHAR2
3827 ) IS
3828 l_debug_prefix VARCHAR2(30) := '';
3829 BEGIN
3830
3831 -- Standard start of API savepoint
3832 SAVEPOINT create_eft_contact_point;
3833
3834 -- Check if API is called in debug mode. If yes, enable debug.
3835 --enable_debug;
3836
3837 -- Debug info.
3838 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3839 hz_utility_v2pub.debug(p_message=>'create_eft_contact_point (+)',
3840 p_prefix=>l_debug_prefix,
3841 p_msg_level=>fnd_log.level_procedure);
3842 END IF;
3843
3844 -- Call to the main business logic.
3845 create_contact_point_main(
3846 p_init_msg_list => p_init_msg_list,
3847 p_contact_point_rec => p_contact_point_rec,
3848 p_eft_rec => p_eft_rec,
3849 x_contact_point_id => x_contact_point_id,
3850 x_return_status => x_return_status,
3851 x_msg_count => x_msg_count,
3852 x_msg_data => x_msg_data
3853 );
3854
3855 -- Debug info.
3856 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
3857 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
3858 p_msg_data=>x_msg_data,
3859 p_msg_type=>'WARNING',
3860 p_msg_level=>fnd_log.level_exception);
3861 END IF;
3862 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3863 hz_utility_v2pub.debug(p_message=>'create_eft_contact_point (-)',
3864 p_prefix=>l_debug_prefix,
3865 p_msg_level=>fnd_log.level_procedure);
3866 END IF;
3867
3868
3869 -- Check if API is called in debug mode. If yes, disable debug.
3870 --disable_debug;
3871
3872 EXCEPTION
3873 WHEN fnd_api.g_exc_error THEN
3874 ROLLBACK TO create_eft_contact_point;
3875 x_return_status := fnd_api.g_ret_sts_error;
3876
3877 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
3878 p_count => x_msg_count,
3879 p_data => x_msg_data);
3880
3881 -- Debug info.
3882 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
3883 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
3884 p_msg_data=>x_msg_data,
3885 p_msg_type=>'ERROR',
3886 p_msg_level=>fnd_log.level_error);
3887 END IF;
3888 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3889 hz_utility_v2pub.debug(p_message=>'create_eft_contact_point (-)',
3890 p_prefix=>l_debug_prefix,
3891 p_msg_level=>fnd_log.level_procedure);
3892 END IF;
3893
3894 -- Check if API is called in debug mode. If yes, disable debug.
3895 --disable_debug;
3896
3897 WHEN fnd_api.g_exc_unexpected_error THEN
3898 ROLLBACK TO create_eft_contact_point;
3899 x_return_status := fnd_api.g_ret_sts_unexp_error;
3900
3901 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
3902 p_count => x_msg_count,
3903 p_data => x_msg_data);
3904
3905 -- Debug info.
3906 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
3907 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
3908 p_msg_data=>x_msg_data,
3909 p_msg_type=>'UNEXPECTED ERROR',
3910 p_msg_level=>fnd_log.level_error);
3911 END IF;
3912 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3913 hz_utility_v2pub.debug(p_message=>'create_eft_contact_point (-)',
3914 p_prefix=>l_debug_prefix,
3915 p_msg_level=>fnd_log.level_procedure);
3916 END IF;
3917
3918 -- Check if API is called in debug mode. If yes, disable debug.
3922 ROLLBACK TO create_eft_contact_point;
3919 --disable_debug;
3920
3921 WHEN OTHERS THEN
3923 x_return_status := fnd_api.g_ret_sts_unexp_error;
3924
3925 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
3926 fnd_message.set_token('ERROR' ,SQLERRM);
3927 fnd_msg_pub.add;
3928
3929 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
3930 p_count => x_msg_count,
3931 p_data => x_msg_data);
3932
3933 -- Debug info.
3934 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
3935 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
3936 p_msg_data=>x_msg_data,
3937 p_msg_type=>'SQL ERROR',
3938 p_msg_level=>fnd_log.level_error);
3939 END IF;
3940 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
3941 hz_utility_v2pub.debug(p_message=>'create_eft_contact_point (-)',
3942 p_prefix=>l_debug_prefix,
3943 p_msg_level=>fnd_log.level_procedure);
3944 END IF;
3945
3946 -- Check if API is called in debug mode. If yes, disable debug.
3947 --disable_debug;
3948 END create_eft_contact_point;
3949
3950 --
3951 -- PROCEDURE create_phone_contact_point
3952 --
3953 -- DESCRIPTION
3954 -- Creates a phone contact point.
3955 --
3956 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
3957 --
3958 -- ARGUMENTS
3959 -- IN:
3960 -- p_init_msg_list Initialize message stack if it is set to
3961 -- FND_API.G_TRUE. Default is FND_API.G_FALSE.
3962 -- p_contact_point_rec Contact point record.
3963 -- p_phone_rec Phone record.
3964 -- IN/OUT:
3965 -- OUT:
3966 -- x_contact_point_id Contact point ID.
3967 -- x_return_status Return status after the call. The status can
3968 -- be fnd_api.g_ret_sts_success (success),
3969 -- fnd_api.g_ret_sts_error (error),
3970 -- FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
3971 -- x_msg_count Number of messages in message stack.
3972 -- x_msg_data Message text if x_msg_count is 1.
3973 --
3974 -- NOTES
3975 --
3976 -- MODIFICATION HISTORY
3977 --
3978 -- 04-DEC-2001 Joe del Callar Bug 2136283: Added support for
3979 -- enhanced backward compatibility.
3980 -- 04-FEB-2001 Joe del Callar Bug 2211876: Fixed issue with error
3981 -- status and message data getting set
3982 -- incorrectly in update and create
3983 -- contact point APIs.
3984 --
3985
3986 PROCEDURE create_phone_contact_point (
3987 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
3988 p_contact_point_rec IN contact_point_rec_type,
3989 p_phone_rec IN phone_rec_type := g_miss_phone_rec,
3990 x_contact_point_id OUT NOCOPY NUMBER,
3991 x_return_status OUT NOCOPY VARCHAR2,
3992 x_msg_count OUT NOCOPY NUMBER,
3993 x_msg_data OUT NOCOPY VARCHAR2
3994 ) IS
3995 l_debug_prefix VARCHAR2(30) := '';
3996 BEGIN
3997
3998 -- Standard start of API savepoint
3999 SAVEPOINT create_phone_contact_point;
4000
4001 -- Check if API is called in debug mode. If yes, enable debug.
4002 --enable_debug;
4003
4004 -- Debug info.
4005 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4006 hz_utility_v2pub.debug(p_message=>'create_phone_contact_point (+)',
4007 p_prefix=>l_debug_prefix,
4008 p_msg_level=>fnd_log.level_procedure);
4009 END IF;
4010
4011
4012 -- Call to the main business logic.
4013 create_contact_point_main(
4014 p_init_msg_list => p_init_msg_list,
4015 p_contact_point_rec => p_contact_point_rec,
4016 p_phone_rec => p_phone_rec,
4017 x_contact_point_id => x_contact_point_id,
4018 x_return_status => x_return_status,
4019 x_msg_count => x_msg_count,
4020 x_msg_data => x_msg_data
4021 );
4022
4023 -- Debug info.
4024 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
4025 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
4026 p_msg_data=>x_msg_data,
4027 p_msg_type=>'WARNING',
4028 p_msg_level=>fnd_log.level_exception);
4029 END IF;
4030 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4031 hz_utility_v2pub.debug(p_message=>'create_phone_contact_point (-)',
4032 p_prefix=>l_debug_prefix,
4033 p_msg_level=>fnd_log.level_procedure);
4034 END IF;
4035
4036 -- Check if API is called in debug mode. If yes, disable debug.
4037 --disable_debug;
4038
4039 EXCEPTION
4040 WHEN fnd_api.g_exc_error THEN
4041 ROLLBACK TO create_phone_contact_point;
4042 x_return_status := fnd_api.g_ret_sts_error;
4043
4044 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
4045 p_count => x_msg_count,
4046 p_data => x_msg_data);
4047
4048 -- Debug info.
4049 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
4050 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
4054 END IF;
4051 p_msg_data=>x_msg_data,
4052 p_msg_type=>'ERROR',
4053 p_msg_level=>fnd_log.level_error);
4055 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4056 hz_utility_v2pub.debug(p_message=>'create_phone_contact_point (-)',
4057 p_prefix=>l_debug_prefix,
4058 p_msg_level=>fnd_log.level_procedure);
4059 END IF;
4060
4061 -- Check if API is called in debug mode. If yes, disable debug.
4062 --disable_debug;
4063
4064 WHEN fnd_api.g_exc_unexpected_error THEN
4065 ROLLBACK TO create_phone_contact_point;
4066 x_return_status := fnd_api.g_ret_sts_unexp_error;
4067
4068 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
4069 p_count => x_msg_count,
4070 p_data => x_msg_data);
4071
4072 -- Debug info.
4073 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
4074 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
4075 p_msg_data=>x_msg_data,
4076 p_msg_type=>'UNEXPECTED ERROR',
4077 p_msg_level=>fnd_log.level_error);
4078 END IF;
4079 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4080 hz_utility_v2pub.debug(p_message=>'create_phone_contact_point (-)',
4081 p_prefix=>l_debug_prefix,
4082 p_msg_level=>fnd_log.level_procedure);
4083 END IF;
4084
4085 -- Check if API is called in debug mode. If yes, disable debug.
4086 --disable_debug;
4087
4088 WHEN OTHERS THEN
4089 ROLLBACK TO create_phone_contact_point;
4090 x_return_status := fnd_api.g_ret_sts_unexp_error;
4091
4092 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
4093 fnd_message.set_token('ERROR' ,SQLERRM);
4094 fnd_msg_pub.add;
4095
4096 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
4097 p_count => x_msg_count,
4098 p_data => x_msg_data);
4099
4100 -- Debug info.
4101 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
4102 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
4103 p_msg_data=>x_msg_data,
4104 p_msg_type=>'SQL ERROR',
4105 p_msg_level=>fnd_log.level_error);
4106 END IF;
4107 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4108 hz_utility_v2pub.debug(p_message=>'create_phone_contact_point (-)',
4109 p_prefix=>l_debug_prefix,
4110 p_msg_level=>fnd_log.level_procedure);
4111 END IF;
4112
4113 -- Check if API is called in debug mode. If yes, disable debug.
4114 --disable_debug;
4115 END create_phone_contact_point;
4116
4117 --
4118 -- PROCEDURE create_telex_contact_point
4119 --
4120 -- DESCRIPTION
4121 -- Creates a telex contact point.
4122 --
4123 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
4124 --
4125 -- ARGUMENTS
4126 -- IN:
4127 -- p_init_msg_list Initialize message stack if it is set to
4128 -- FND_API.G_TRUE. Default is FND_API.G_FALSE.
4129 -- p_contact_point_rec Contact point record.
4130 -- p_telex_rec Telex record.
4131 -- IN/OUT:
4132 -- OUT:
4133 -- x_contact_point_id Contact point ID.
4134 -- x_return_status Return status after the call. The status can
4135 -- be fnd_api.g_ret_sts_success (success),
4136 -- fnd_api.g_ret_sts_error (error),
4137 -- FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
4138 -- x_msg_count Number of messages in message stack.
4139 -- x_msg_data Message text if x_msg_count is 1.
4140 --
4141 -- NOTES
4142 --
4143 -- MODIFICATION HISTORY
4144 --
4145 -- 04-DEC-2001 Joe del Callar Bug 2136283: Added support for
4146 -- enhanced backward compatibility.
4147 -- 04-FEB-2001 Joe del Callar Bug 2211876: Fixed issue with error
4148 -- status and message data getting set
4149 -- incorrectly in update and create
4150 -- contact point APIs.
4151 --
4152
4153 PROCEDURE create_telex_contact_point (
4154 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
4155 p_contact_point_rec IN contact_point_rec_type,
4156 p_telex_rec IN telex_rec_type := g_miss_telex_rec,
4157 x_contact_point_id OUT NOCOPY NUMBER,
4158 x_return_status OUT NOCOPY VARCHAR2,
4159 x_msg_count OUT NOCOPY NUMBER,
4160 x_msg_data OUT NOCOPY VARCHAR2
4161 ) IS
4162 l_debug_prefix VARCHAR2(30) := '';
4163 BEGIN
4164
4165 -- Standard start of API savepoint
4166 SAVEPOINT create_telex_contact_point;
4167
4168 -- Check if API is called in debug mode. If yes, enable debug.
4169 --enable_debug;
4170
4171 -- Debug info.
4172 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4173 hz_utility_v2pub.debug(p_message=>'create_telex_contact_point (+)',
4174 p_prefix=>l_debug_prefix,
4175 p_msg_level=>fnd_log.level_procedure);
4176 END IF;
4177
4178 -- Call to the main business logic.
4179 create_contact_point_main(
4183 x_contact_point_id => x_contact_point_id,
4180 p_init_msg_list => p_init_msg_list,
4181 p_contact_point_rec => p_contact_point_rec,
4182 p_telex_rec => p_telex_rec,
4184 x_return_status => x_return_status,
4185 x_msg_count => x_msg_count,
4186 x_msg_data => x_msg_data
4187 );
4188
4189 -- Debug info.
4190 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
4191 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
4192 p_msg_data=>x_msg_data,
4193 p_msg_type=>'WARNING',
4194 p_msg_level=>fnd_log.level_exception);
4195 END IF;
4196 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4197 hz_utility_v2pub.debug(p_message=>'create_telex_contact_point (-)',
4198 p_prefix=>l_debug_prefix,
4199 p_msg_level=>fnd_log.level_procedure);
4200 END IF;
4201
4202
4203 -- Check if API is called in debug mode. If yes, disable debug.
4204 --disable_debug;
4205
4206 EXCEPTION
4207 WHEN fnd_api.g_exc_error THEN
4208 ROLLBACK TO create_telex_contact_point;
4209 x_return_status := fnd_api.g_ret_sts_error;
4210
4211 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
4212 p_count => x_msg_count,
4213 p_data => x_msg_data);
4214
4215 -- Debug info.
4216 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
4217 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
4218 p_msg_data=>x_msg_data,
4219 p_msg_type=>'ERROR',
4220 p_msg_level=>fnd_log.level_error);
4221 END IF;
4222 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4223 hz_utility_v2pub.debug(p_message=>'create_telex_contact_point (-)',
4224 p_prefix=>l_debug_prefix,
4225 p_msg_level=>fnd_log.level_procedure);
4226 END IF;
4227
4228 -- Check if API is called in debug mode. If yes, disable debug.
4229 --disable_debug;
4230
4231 WHEN fnd_api.g_exc_unexpected_error THEN
4232 ROLLBACK TO create_telex_contact_point;
4233 x_return_status := fnd_api.g_ret_sts_unexp_error;
4234
4235 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
4236 p_count => x_msg_count,
4237 p_data => x_msg_data);
4238
4239 -- Debug info.
4240 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
4241 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
4242 p_msg_data=>x_msg_data,
4243 p_msg_type=>'UNEXPECTED ERROR',
4244 p_msg_level=>fnd_log.level_error);
4245 END IF;
4246 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4247 hz_utility_v2pub.debug(p_message=>'create_telex_contact_point (-)',
4248 p_prefix=>l_debug_prefix,
4249 p_msg_level=>fnd_log.level_procedure);
4250 END IF;
4251
4252 -- Check if API is called in debug mode. If yes, disable debug.
4253 --disable_debug;
4254
4255 WHEN OTHERS THEN
4256 ROLLBACK TO create_telex_contact_point;
4257 x_return_status := fnd_api.g_ret_sts_unexp_error;
4258
4259 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
4260 fnd_message.set_token('ERROR' ,SQLERRM);
4261 fnd_msg_pub.add;
4262
4263 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
4264 p_count => x_msg_count,
4265 p_data => x_msg_data);
4266
4267 -- Debug info.
4268 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
4269 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
4270 p_msg_data=>x_msg_data,
4271 p_msg_type=>'SQL ERROR',
4272 p_msg_level=>fnd_log.level_error);
4273 END IF;
4274 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4275 hz_utility_v2pub.debug(p_message=>'create_telex_contact_point (-)',
4276 p_prefix=>l_debug_prefix,
4277 p_msg_level=>fnd_log.level_procedure);
4278 END IF;
4279
4280 -- Check if API is called in debug mode. If yes, disable debug.
4281 --disable_debug;
4282 END create_telex_contact_point;
4283
4284 --
4285 -- PROCEDURE create_email_contact_point
4286 --
4287 -- DESCRIPTION
4288 -- Creates a email contact point.
4289 --
4290 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
4291 --
4292 -- ARGUMENTS
4293 -- IN:
4294 -- p_init_msg_list Initialize message stack if it is set to
4295 -- FND_API.G_TRUE. Default is FND_API.G_FALSE.
4296 -- p_contact_point_rec Contact point record.
4297 -- p_email_rec Email record.
4298 -- IN/OUT:
4299 -- OUT:
4300 -- x_contact_point_id Contact point ID.
4301 -- x_return_status Return status after the call. The status can
4302 -- be fnd_api.g_ret_sts_success (success),
4303 -- fnd_api.g_ret_sts_error (error),
4304 -- FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
4305 -- x_msg_count Number of messages in message stack.
4306 -- x_msg_data Message text if x_msg_count is 1.
4307 --
4308 -- NOTES
4312 -- 04-DEC-2001 Joe del Callar Bug 2136283: Added support for
4309 --
4310 -- MODIFICATION HISTORY
4311 --
4313 -- enhanced backward compatibility.
4314 -- 04-FEB-2001 Joe del Callar Bug 2211876: Fixed issue with error
4315 -- status and message data getting set
4316 -- incorrectly in update and create
4317 -- contact point APIs.
4318 --
4319
4320 PROCEDURE create_email_contact_point (
4321 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
4322 p_contact_point_rec IN contact_point_rec_type,
4323 p_email_rec IN email_rec_type := g_miss_email_rec,
4324 x_contact_point_id OUT NOCOPY NUMBER,
4325 x_return_status OUT NOCOPY VARCHAR2,
4326 x_msg_count OUT NOCOPY NUMBER,
4327 x_msg_data OUT NOCOPY VARCHAR2
4328 ) IS
4329 l_debug_prefix VARCHAR2(30) := '';
4330 BEGIN
4331
4332 -- Standard start of API savepoint
4333 SAVEPOINT create_email_contact_point;
4334
4335 -- Check if API is called in debug mode. If yes, enable debug.
4336 --enable_debug;
4337
4338 -- Debug info.
4339 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4340 hz_utility_v2pub.debug(p_message=>'create_email_contact_point (+)',
4341 p_prefix=>l_debug_prefix,
4342 p_msg_level=>fnd_log.level_procedure);
4343 END IF;
4344
4345
4346 -- Call to the main business logic.
4347 create_contact_point_main(
4348 p_init_msg_list => p_init_msg_list,
4349 p_contact_point_rec => p_contact_point_rec,
4350 p_email_rec => p_email_rec,
4351 x_contact_point_id => x_contact_point_id,
4352 x_return_status => x_return_status,
4353 x_msg_count => x_msg_count,
4354 x_msg_data => x_msg_data
4355 );
4356
4357 -- Debug info.
4358 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
4359 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
4360 p_msg_data=>x_msg_data,
4361 p_msg_type=>'WARNING',
4362 p_msg_level=>fnd_log.level_exception);
4363 END IF;
4364 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4365 hz_utility_v2pub.debug(p_message=>'create_email_contact_point (-)',
4366 p_prefix=>l_debug_prefix,
4367 p_msg_level=>fnd_log.level_procedure);
4368 END IF;
4369
4370 -- Check if API is called in debug mode. If yes, disable debug.
4371 --disable_debug;
4372
4373 EXCEPTION
4374 WHEN fnd_api.g_exc_error THEN
4375 ROLLBACK TO create_email_contact_point;
4376 x_return_status := fnd_api.g_ret_sts_error;
4377
4378 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
4379 p_count => x_msg_count,
4380 p_data => x_msg_data);
4381
4382 -- Debug info.
4383 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
4384 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
4385 p_msg_data=>x_msg_data,
4386 p_msg_type=>'ERROR',
4387 p_msg_level=>fnd_log.level_error);
4388 END IF;
4389 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4390 hz_utility_v2pub.debug(p_message=>'create_email_contact_point (-)',
4391 p_prefix=>l_debug_prefix,
4392 p_msg_level=>fnd_log.level_procedure);
4393 END IF;
4394
4395 -- Check if API is called in debug mode. If yes, disable debug.
4396 --disable_debug;
4397
4398 WHEN fnd_api.g_exc_unexpected_error THEN
4399 ROLLBACK TO create_email_contact_point;
4400 x_return_status := fnd_api.g_ret_sts_unexp_error;
4401
4402 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
4403 p_count => x_msg_count,
4404 p_data => x_msg_data);
4405
4406 -- Debug info.
4407 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
4408 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
4409 p_msg_data=>x_msg_data,
4410 p_msg_type=>'UNEXPECTED ERROR',
4411 p_msg_level=>fnd_log.level_error);
4412 END IF;
4413 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4414 hz_utility_v2pub.debug(p_message=>'create_email_contact_point (-)',
4415 p_prefix=>l_debug_prefix,
4416 p_msg_level=>fnd_log.level_procedure);
4417 END IF;
4418
4419 -- Check if API is called in debug mode. If yes, disable debug.
4420 --disable_debug;
4421
4422 WHEN OTHERS THEN
4423 ROLLBACK TO create_email_contact_point;
4424 x_return_status := fnd_api.g_ret_sts_unexp_error;
4425
4426 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
4427 fnd_message.set_token('ERROR' ,SQLERRM);
4428 fnd_msg_pub.add;
4429
4430 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
4431 p_count => x_msg_count,
4432 p_data => x_msg_data);
4433
4434 -- Debug info.
4435 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
4436 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
4440 END IF;
4437 p_msg_data=>x_msg_data,
4438 p_msg_type=>'SQL ERROR',
4439 p_msg_level=>fnd_log.level_error);
4441 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4442 hz_utility_v2pub.debug(p_message=>'create_email_contact_point (-)',
4443 p_prefix=>l_debug_prefix,
4444 p_msg_level=>fnd_log.level_procedure);
4445 END IF;
4446
4447 -- Check if API is called in debug mode. If yes, disable debug.
4448 --disable_debug;
4449 END create_email_contact_point;
4450
4451 --
4452 -- PRIVATE PROCEDURE update_contact_point
4453 --
4454 -- DESCRIPTION
4455 -- Updates the given contact point.
4456 --
4457 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
4458 --
4459 -- ARGUMENTS
4460 -- IN:
4461 -- p_init_msg_list Initialize message stack if it is set to
4462 -- FND_API.G_TRUE. Default is fnd_api.g_false.
4463 -- p_contact_point_rec Contact point record.
4464 -- p_edi_rec EDI record.
4465 -- p_email_rec Email record.
4466 -- p_phone_rec Phone record.
4467 -- p_telex_rec Telex record.
4468 -- p_web_rec Web record.
4469 -- IN/OUT:
4470 -- p_object_version_number Used for locking the being updated record.
4471 -- OUT:
4472 -- x_return_status Return status after the call. The status can
4473 -- be fnd_api.g_ret_sts_success (success),
4474 -- fnd_api.g_ret_sts_error (error),
4475 -- FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
4476 -- x_msg_count Number of messages in message stack.
4477 -- x_msg_data Message text if x_msg_count is 1.
4478 --
4479 -- NOTES
4480 --
4481 -- MODIFICATION HISTORY
4482 --
4483 -- 07-23-2001 Jianying Huang Created.
4484 -- 04-DEC-2001 Joe del Callar Bug 2136283: Added support for
4485 -- enhanced backward compatibility.
4486 -- 04-FEB-2001 Joe del Callar Bug 2211876: Fixed issue with error
4487 -- status and message data getting set
4488 -- incorrectly in update and create
4489 -- contact point APIs.
4490 --
4491
4492 PROCEDURE update_contact_point (
4493 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
4494 p_contact_point_rec IN contact_point_rec_type,
4495 p_edi_rec IN edi_rec_type := g_miss_edi_rec,
4496 p_email_rec IN email_rec_type := g_miss_email_rec,
4497 p_phone_rec IN phone_rec_type := g_miss_phone_rec,
4498 p_telex_rec IN telex_rec_type := g_miss_telex_rec,
4499 p_web_rec IN web_rec_type := g_miss_web_rec,
4500 p_object_version_number IN OUT NOCOPY NUMBER,
4501 x_return_status OUT NOCOPY VARCHAR2,
4502 x_msg_count OUT NOCOPY NUMBER,
4503 x_msg_data OUT NOCOPY VARCHAR2
4504 ) IS
4505 l_debug_prefix VARCHAR2(30) := '';
4506 BEGIN
4507
4508 -- Standard start of API savepoint
4509 SAVEPOINT update_contact_point;
4510
4511 -- Check if API is called in debug mode. If yes, enable debug.
4512 --enable_debug;
4513
4514 -- Debug info.
4515 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4516 hz_utility_v2pub.debug(p_message=>'update_contact_point (+)',
4517 p_prefix=>l_debug_prefix,
4518 p_msg_level=>fnd_log.level_procedure);
4519 END IF;
4520
4521 -- call main business logic.
4522 update_contact_point_main(
4523 p_init_msg_list => p_init_msg_list,
4524 p_contact_point_rec => p_contact_point_rec,
4525 p_edi_rec => p_edi_rec,
4526 p_email_rec => p_email_rec,
4527 p_phone_rec => p_phone_rec,
4528 p_telex_rec => p_telex_rec,
4529 p_web_rec => p_web_rec,
4530 p_object_version_number => p_object_version_number,
4531 x_return_status => x_return_status,
4532 x_msg_count => x_msg_count,
4533 x_msg_data => x_msg_data
4534 );
4535
4536 HZ_UTILITY_V2PUB.G_UPDATE_ACS := NULL;
4537
4538 -- Debug info.
4539 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
4540 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
4541 p_msg_data=>x_msg_data,
4542 p_msg_type=>'WARNING',
4543 p_msg_level=>fnd_log.level_exception);
4544 END IF;
4545 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4546 hz_utility_v2pub.debug(p_message=>'update_contact_point (-)',
4547 p_prefix=>l_debug_prefix,
4548 p_msg_level=>fnd_log.level_procedure);
4549 END IF;
4550
4551 -- Check if API is called in debug mode. If yes, disable debug.
4552 --disable_debug;
4553
4554 EXCEPTION
4555 WHEN fnd_api.g_exc_error THEN
4556 ROLLBACK TO update_contact_point;
4557 HZ_UTILITY_V2PUB.G_UPDATE_ACS := NULL;
4558 x_return_status := fnd_api.g_ret_sts_error;
4559
4560 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
4561 p_count => x_msg_count,
4562 p_data => x_msg_data);
4563
4567 p_msg_data=>x_msg_data,
4564 -- Debug info.
4565 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
4566 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
4568 p_msg_type=>'ERROR',
4569 p_msg_level=>fnd_log.level_error);
4570 END IF;
4571 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4572 hz_utility_v2pub.debug(p_message=>'update_contact_point (-)',
4573 p_prefix=>l_debug_prefix,
4574 p_msg_level=>fnd_log.level_procedure);
4575 END IF;
4576
4577 -- Check if API is called in debug mode. If yes, disable debug.
4578 --disable_debug;
4579
4580 WHEN fnd_api.g_exc_unexpected_error THEN
4581 ROLLBACK TO update_contact_point;
4582 HZ_UTILITY_V2PUB.G_UPDATE_ACS := NULL;
4583 x_return_status := fnd_api.g_ret_sts_unexp_error;
4584
4585 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
4586 p_count => x_msg_count,
4587 p_data => x_msg_data);
4588
4589 -- Debug info.
4590 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
4591 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
4592 p_msg_data=>x_msg_data,
4593 p_msg_type=>'UNEXPECTED ERROR',
4594 p_msg_level=>fnd_log.level_error);
4595 END IF;
4596 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4597 hz_utility_v2pub.debug(p_message=>'update_contact_point (-)',
4598 p_prefix=>l_debug_prefix,
4599 p_msg_level=>fnd_log.level_procedure);
4600 END IF;
4601
4602 -- Check if API is called in debug mode. If yes, disable debug.
4603 --disable_debug;
4604
4605 WHEN OTHERS THEN
4606 ROLLBACK TO update_contact_point;
4607 HZ_UTILITY_V2PUB.G_UPDATE_ACS := NULL;
4608 x_return_status := fnd_api.g_ret_sts_unexp_error;
4609
4610 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
4611 fnd_message.set_token('ERROR' ,SQLERRM);
4612 fnd_msg_pub.add;
4613
4614 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
4615 p_count => x_msg_count,
4616 p_data => x_msg_data);
4617
4618 -- Debug info.
4619 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
4620 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
4621 p_msg_data=>x_msg_data,
4622 p_msg_type=>'SQL ERROR',
4623 p_msg_level=>fnd_log.level_error);
4624 END IF;
4625 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4626 hz_utility_v2pub.debug(p_message=>'update_contact_point (-)',
4627 p_prefix=>l_debug_prefix,
4628 p_msg_level=>fnd_log.level_procedure);
4629 END IF;
4630
4631 -- Check if API is called in debug mode. If yes, disable debug.
4632 --disable_debug;
4633 END update_contact_point;
4634
4635 --
4636 -- PROCEDURE update_edi_contact_point
4637 --
4638 -- DESCRIPTION
4639 -- Updates the given EDI contact point.
4640 --
4641 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
4642 --
4643 -- ARGUMENTS
4644 -- IN:
4645 -- p_init_msg_list Initialize message stack if it is set to
4646 -- FND_API.G_TRUE. Default is fnd_api.g_false.
4647 -- p_contact_point_rec Contact point record.
4648 -- p_edi_rec EDI record.
4649 -- IN/OUT:
4650 -- p_object_version_number Used for locking the being updated record.
4651 -- OUT:
4652 -- x_return_status Return status after the call. The status can
4653 -- be fnd_api.g_ret_sts_success (success),
4654 -- fnd_api.g_ret_sts_error (error),
4655 -- FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
4656 -- x_msg_count Number of messages in message stack.
4657 -- x_msg_data Message text if x_msg_count is 1.
4658 --
4659 -- NOTES
4660 --
4661 -- MODIFICATION HISTORY
4662 --
4663 -- 04-DEC-2001 Joe del Callar Bug 2136283: Added to support
4664 -- enhanced backward compatibility.
4665 -- 04-FEB-2001 Joe del Callar Bug 2211876: Fixed issue with error
4666 -- status and message data getting set
4667 -- incorrectly in update and create
4668 -- contact point APIs.
4669 --
4670
4671 PROCEDURE update_edi_contact_point (
4672 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
4673 p_contact_point_rec IN contact_point_rec_type,
4674 p_edi_rec IN edi_rec_type := g_miss_edi_rec,
4675 p_object_version_number IN OUT NOCOPY NUMBER,
4676 x_return_status OUT NOCOPY VARCHAR2,
4677 x_msg_count OUT NOCOPY NUMBER,
4678 x_msg_data OUT NOCOPY VARCHAR2
4679 ) IS
4680 l_debug_prefix VARCHAR2(30) := '';
4681 BEGIN
4682 -- Standard start of API savepoint
4683 SAVEPOINT update_edi_contact_point;
4684
4685 -- Check if API is called in debug mode. If yes, enable debug.
4686 --enable_debug;
4687
4688 -- Debug info.
4689 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4693 END IF;
4690 hz_utility_v2pub.debug(p_message=>'update_edi_contact_point (+)',
4691 p_prefix=>l_debug_prefix,
4692 p_msg_level=>fnd_log.level_procedure);
4694
4695 -- call main business logic.
4696 update_contact_point_main(
4697 p_init_msg_list => p_init_msg_list,
4698 p_contact_point_rec => p_contact_point_rec,
4699 p_edi_rec => p_edi_rec,
4700 p_object_version_number => p_object_version_number,
4701 x_return_status => x_return_status,
4702 x_msg_count => x_msg_count,
4703 x_msg_data => x_msg_data
4704 );
4705
4706 -- Debug info.
4707 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
4708 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
4709 p_msg_data=>x_msg_data,
4710 p_msg_type=>'WARNING',
4711 p_msg_level=>fnd_log.level_exception);
4712 END IF;
4713 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4714 hz_utility_v2pub.debug(p_message=>'update_edi_contact_point (-)',
4715 p_prefix=>l_debug_prefix,
4716 p_msg_level=>fnd_log.level_procedure);
4717 END IF;
4718
4719 -- Check if API is called in debug mode. If yes, disable debug.
4720 --disable_debug;
4721
4722 EXCEPTION
4723 WHEN fnd_api.g_exc_error THEN
4724 ROLLBACK TO update_edi_contact_point;
4725 x_return_status := fnd_api.g_ret_sts_error;
4726
4727 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
4728 p_count => x_msg_count,
4729 p_data => x_msg_data);
4730
4731 -- Debug info.
4732 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
4733 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
4734 p_msg_data=>x_msg_data,
4735 p_msg_type=>'ERROR',
4736 p_msg_level=>fnd_log.level_error);
4737 END IF;
4738 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4739 hz_utility_v2pub.debug(p_message=>'update_edi_contact_point (-)',
4740 p_prefix=>l_debug_prefix,
4741 p_msg_level=>fnd_log.level_procedure);
4742 END IF;
4743
4744 -- Check if API is called in debug mode. If yes, disable debug.
4745 --disable_debug;
4746
4747 WHEN fnd_api.g_exc_unexpected_error THEN
4748 ROLLBACK TO update_edi_contact_point;
4749 x_return_status := fnd_api.g_ret_sts_unexp_error;
4750
4751 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
4752 p_count => x_msg_count,
4753 p_data => x_msg_data);
4754
4755 -- Debug info.
4756 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
4757 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
4758 p_msg_data=>x_msg_data,
4759 p_msg_type=>'UNEXPECTED ERROR',
4760 p_msg_level=>fnd_log.level_error);
4761 END IF;
4762 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4763 hz_utility_v2pub.debug(p_message=>'update_edi_contact_point (-)',
4764 p_prefix=>l_debug_prefix,
4765 p_msg_level=>fnd_log.level_procedure);
4766 END IF;
4767
4768 -- Check if API is called in debug mode. If yes, disable debug.
4769 --disable_debug;
4770
4771 WHEN OTHERS THEN
4772 ROLLBACK TO update_edi_contact_point;
4773 x_return_status := fnd_api.g_ret_sts_unexp_error;
4774
4775 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
4776 fnd_message.set_token('ERROR' ,SQLERRM);
4777 fnd_msg_pub.add;
4778
4779 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
4780 p_count => x_msg_count,
4781 p_data => x_msg_data);
4782
4783 -- Debug info.
4784 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
4785 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
4786 p_msg_data=>x_msg_data,
4787 p_msg_type=>'SQL ERROR',
4788 p_msg_level=>fnd_log.level_error);
4789 END IF;
4790 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4791 hz_utility_v2pub.debug(p_message=>'update_edi_contact_point (-)',
4792 p_prefix=>l_debug_prefix,
4793 p_msg_level=>fnd_log.level_procedure);
4794 END IF;
4795
4796 -- Check if API is called in debug mode. If yes, disable debug.
4797 --disable_debug;
4798 END update_edi_contact_point;
4799
4800 --
4801 -- PROCEDURE update_web_contact_point
4802 --
4803 -- DESCRIPTION
4804 -- Updates the given Web contact point.
4805 --
4806 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
4807 --
4808 -- ARGUMENTS
4809 -- IN:
4810 -- p_init_msg_list Initialize message stack if it is set to
4811 -- FND_API.G_TRUE. Default is fnd_api.g_false.
4812 -- p_contact_point_rec Contact point record.
4813 -- p_web_rec WEB record.
4814 -- IN/OUT:
4815 -- p_object_version_number Used for locking the being updated record.
4816 -- OUT:
4817 -- x_return_status Return status after the call. The status can
4821 -- x_msg_count Number of messages in message stack.
4818 -- be fnd_api.g_ret_sts_success (success),
4819 -- fnd_api.g_ret_sts_error (error),
4820 -- FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
4825 --
4822 -- x_msg_data Message text if x_msg_count is 1.
4823 --
4824 -- NOTES
4826 -- MODIFICATION HISTORY
4827 --
4828 -- 04-DEC-2001 Joe del Callar Bug 2136283: Added to support
4829 -- enhanced backward compatibility.
4830 -- 04-FEB-2001 Joe del Callar Bug 2211876: Fixed issue with error
4831 -- status and message data getting set
4832 -- incorrectly in update and create
4833 -- contact point APIs.
4834 --
4835
4836 PROCEDURE update_web_contact_point (
4837 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
4838 p_contact_point_rec IN contact_point_rec_type,
4839 p_web_rec IN web_rec_type := g_miss_web_rec,
4840 p_object_version_number IN OUT NOCOPY NUMBER,
4841 x_return_status OUT NOCOPY VARCHAR2,
4842 x_msg_count OUT NOCOPY NUMBER,
4843 x_msg_data OUT NOCOPY VARCHAR2
4844 ) IS
4845 l_debug_prefix VARCHAR2(30) := '';
4846 BEGIN
4847 -- Standard start of API savepoint
4848 SAVEPOINT update_web_contact_point;
4849
4850 -- Check if API is called in debug mode. If yes, enable debug.
4851 --enable_debug;
4852
4853 -- Debug info.
4854 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4855 hz_utility_v2pub.debug(p_message=>'update_web_contact_point (+)',
4856 p_prefix=>l_debug_prefix,
4857 p_msg_level=>fnd_log.level_procedure);
4858 END IF;
4859
4860 -- call main business logic.
4861 update_contact_point_main(
4862 p_init_msg_list => p_init_msg_list,
4863 p_contact_point_rec => p_contact_point_rec,
4864 p_web_rec => p_web_rec,
4865 p_object_version_number => p_object_version_number,
4866 x_return_status => x_return_status,
4867 x_msg_count => x_msg_count,
4868 x_msg_data => x_msg_data
4869 );
4870
4871 HZ_UTILITY_V2PUB.G_UPDATE_ACS := NULL;
4872 -- Debug info.
4873 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
4874 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
4875 p_msg_data=>x_msg_data,
4876 p_msg_type=>'WARNING',
4877 p_msg_level=>fnd_log.level_exception);
4878 END IF;
4879 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4880 hz_utility_v2pub.debug(p_message=>'update_web_contact_point (-)',
4881 p_prefix=>l_debug_prefix,
4882 p_msg_level=>fnd_log.level_procedure);
4883 END IF;
4884
4885 -- Check if API is called in debug mode. If yes, disable debug.
4886 --disable_debug;
4887
4888 EXCEPTION
4889 WHEN fnd_api.g_exc_error THEN
4890 ROLLBACK TO update_web_contact_point;
4891 HZ_UTILITY_V2PUB.G_UPDATE_ACS := NULL;
4892 x_return_status := fnd_api.g_ret_sts_error;
4893
4894 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
4895 p_count => x_msg_count,
4896 p_data => x_msg_data);
4897
4898 -- Debug info.
4899 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
4900 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
4901 p_msg_data=>x_msg_data,
4902 p_msg_type=>'ERROR',
4903 p_msg_level=>fnd_log.level_error);
4904 END IF;
4905 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4906 hz_utility_v2pub.debug(p_message=>'update_web_contact_point (-)',
4907 p_prefix=>l_debug_prefix,
4908 p_msg_level=>fnd_log.level_procedure);
4909 END IF;
4910
4911 -- Check if API is called in debug mode. If yes, disable debug.
4912 --disable_debug;
4913
4914 WHEN fnd_api.g_exc_unexpected_error THEN
4915 ROLLBACK TO update_web_contact_point;
4916 HZ_UTILITY_V2PUB.G_UPDATE_ACS := NULL;
4917 x_return_status := fnd_api.g_ret_sts_unexp_error;
4918
4919 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
4920 p_count => x_msg_count,
4924 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
4921 p_data => x_msg_data);
4922
4923 -- Debug info.
4925 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
4926 p_msg_data=>x_msg_data,
4927 p_msg_type=>'UNEXPECTED ERROR',
4928 p_msg_level=>fnd_log.level_error);
4929 END IF;
4930 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4931 hz_utility_v2pub.debug(p_message=>'update_web_contact_point (-)',
4932 p_prefix=>l_debug_prefix,
4933 p_msg_level=>fnd_log.level_procedure);
4934 END IF;
4935
4936
4937 -- Check if API is called in debug mode. If yes, disable debug.
4938 --disable_debug;
4939
4940 WHEN OTHERS THEN
4941 ROLLBACK TO update_web_contact_point;
4942 HZ_UTILITY_V2PUB.G_UPDATE_ACS := NULL;
4943 x_return_status := fnd_api.g_ret_sts_unexp_error;
4944
4945 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
4946 fnd_message.set_token('ERROR' ,SQLERRM);
4947 fnd_msg_pub.add;
4948
4949 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
4950 p_count => x_msg_count,
4951 p_data => x_msg_data);
4952
4953 -- Debug info.
4954 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
4955 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
4956 p_msg_data=>x_msg_data,
4957 p_msg_type=>'SQL ERROR',
4958 p_msg_level=>fnd_log.level_error);
4959 END IF;
4960 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
4961 hz_utility_v2pub.debug(p_message=>'update_web_contact_point (-)',
4962 p_prefix=>l_debug_prefix,
4963 p_msg_level=>fnd_log.level_procedure);
4964 END IF;
4965
4966 -- Check if API is called in debug mode. If yes, disable debug.
4967 --disable_debug;
4968 END update_web_contact_point;
4969
4970 --
4974 -- Updates the given EFT contact point.
4971 -- PROCEDURE update_eft_contact_point
4972 --
4973 -- DESCRIPTION
4975 --
4976 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
4977 --
4978 -- ARGUMENTS
4979 -- IN:
4980 -- p_init_msg_list Initialize message stack if it is set to
4981 -- FND_API.G_TRUE. Default is fnd_api.g_false.
4982 -- p_contact_point_rec Contact point record.
4983 -- p_eft_rec EFT record.
4984 -- IN/OUT:
4985 -- p_object_version_number Used for locking the being updated record.
4986 -- OUT:
4987 -- x_return_status Return status after the call. The status can
4988 -- be fnd_api.g_ret_sts_success (success),
4989 -- fnd_api.g_ret_sts_error (error),
4990 -- FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
4991 -- x_msg_count Number of messages in message stack.
4992 -- x_msg_data Message text if x_msg_count is 1.
4993 --
4994 -- NOTES
4995 --
4996 -- MODIFICATION HISTORY
4997 --
4998 -- 19-NOV-2001 Joe del Callar Bug 2116225: Added to support
4999 -- Bank Consolidation.
5000 -- 04-DEC-2001 Joe del Callar Bug 2136283: Added to support
5001 -- enhanced backward compatibility.
5002 -- 04-FEB-2001 Joe del Callar Bug 2211876: Fixed issue with error
5003 -- status and message data getting set
5004 -- incorrectly in update and create
5005 -- contact point APIs.
5006 --
5007
5008 PROCEDURE update_eft_contact_point (
5009 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
5010 p_contact_point_rec IN contact_point_rec_type,
5011 p_eft_rec IN eft_rec_type := g_miss_eft_rec,
5012 p_object_version_number IN OUT NOCOPY NUMBER,
5013 x_return_status OUT NOCOPY VARCHAR2,
5014 x_msg_count OUT NOCOPY NUMBER,
5015 x_msg_data OUT NOCOPY VARCHAR2
5016 ) IS
5017 l_debug_prefix VARCHAR2(30) := '';
5018 BEGIN
5019 -- Standard start of API savepoint
5020 SAVEPOINT update_eft_contact_point;
5021
5022 -- Check if API is called in debug mode. If yes, enable debug.
5023 --enable_debug;
5024
5025 -- Debug info.
5026 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
5030 END IF;
5027 hz_utility_v2pub.debug(p_message=>'update_eft_contact_point (+)',
5028 p_prefix=>l_debug_prefix,
5029 p_msg_level=>fnd_log.level_procedure);
5031
5032
5033 -- call main business logic.
5034 update_contact_point_main(
5035 p_init_msg_list => p_init_msg_list,
5036 p_contact_point_rec => p_contact_point_rec,
5037 p_eft_rec => p_eft_rec,
5038 p_object_version_number => p_object_version_number,
5039 x_return_status => x_return_status,
5040 x_msg_count => x_msg_count,
5041 x_msg_data => x_msg_data
5042 );
5043
5044 -- Debug info.
5045 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
5046 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
5047 p_msg_data=>x_msg_data,
5048 p_msg_type=>'WARNING',
5049 p_msg_level=>fnd_log.level_exception);
5050 END IF;
5051 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
5052 hz_utility_v2pub.debug(p_message=>'update_eft_contact_point (-)',
5053 p_prefix=>l_debug_prefix,
5054 p_msg_level=>fnd_log.level_procedure);
5055 END IF;
5056
5057 -- Check if API is called in debug mode. If yes, disable debug.
5058 --disable_debug;
5059
5060 EXCEPTION
5061 WHEN fnd_api.g_exc_error THEN
5062 ROLLBACK TO update_eft_contact_point;
5063 x_return_status := fnd_api.g_ret_sts_error;
5064
5065 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
5066 p_count => x_msg_count,
5067 p_data => x_msg_data);
5068
5069 -- Debug info.
5070 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
5071 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
5072 p_msg_data=>x_msg_data,
5073 p_msg_type=>'ERROR',
5074 p_msg_level=>fnd_log.level_error);
5075 END IF;
5076 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
5077 hz_utility_v2pub.debug(p_message=>'update_eft_contact_point (-)',
5078 p_prefix=>l_debug_prefix,
5079 p_msg_level=>fnd_log.level_procedure);
5080 END IF;
5081
5082 -- Check if API is called in debug mode. If yes, disable debug.
5083 --disable_debug;
5084
5085 WHEN fnd_api.g_exc_unexpected_error THEN
5086 ROLLBACK TO update_eft_contact_point;
5087 x_return_status := fnd_api.g_ret_sts_unexp_error;
5088
5089 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
5090 p_count => x_msg_count,
5091 p_data => x_msg_data);
5092
5093 -- Debug info.
5094 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
5095 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
5096 p_msg_data=>x_msg_data,
5097 p_msg_type=>'UNEXPECTED ERROR',
5098 p_msg_level=>fnd_log.level_error);
5099 END IF;
5100 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
5101 hz_utility_v2pub.debug(p_message=>'update_eft_contact_point (-)',
5102 p_prefix=>l_debug_prefix,
5103 p_msg_level=>fnd_log.level_procedure);
5104 END IF;
5105
5106 -- Check if API is called in debug mode. If yes, disable debug.
5107 --disable_debug;
5108
5109 WHEN OTHERS THEN
5110 ROLLBACK TO update_eft_contact_point;
5111 x_return_status := fnd_api.g_ret_sts_unexp_error;
5112
5113 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
5114 fnd_message.set_token('ERROR' ,SQLERRM);
5115 fnd_msg_pub.add;
5116
5117 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
5121 -- Debug info.
5118 p_count => x_msg_count,
5119 p_data => x_msg_data);
5120
5122 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
5123 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
5124 p_msg_data=>x_msg_data,
5125 p_msg_type=>'SQL ERROR',
5126 p_msg_level=>fnd_log.level_error);
5127 END IF;
5128 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
5129 hz_utility_v2pub.debug(p_message=>'update_eft_contact_point (-)',
5130 p_prefix=>l_debug_prefix,
5131 p_msg_level=>fnd_log.level_procedure);
5135 -- Check if API is called in debug mode. If yes, disable debug.
5132 END IF;
5133
5134
5136 --disable_debug;
5137 END update_eft_contact_point;
5138
5139 --
5140 -- PROCEDURE update_phone_contact_point
5141 --
5142 -- DESCRIPTION
5143 -- Updates the given phone contact point.
5144 --
5145 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
5146 --
5147 -- ARGUMENTS
5148 -- IN:
5149 -- p_init_msg_list Initialize message stack if it is set to
5150 -- FND_API.G_TRUE. Default is fnd_api.g_false.
5151 -- p_contact_point_rec Contact point record.
5152 -- p_phone_rec Phone record.
5153 -- IN/OUT:
5154 -- p_object_version_number Used for locking the being updated record.
5155 -- OUT:
5156 -- x_return_status Return status after the call. The status can
5157 -- be fnd_api.g_ret_sts_success (success),
5158 -- fnd_api.g_ret_sts_error (error),
5159 -- FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
5160 -- x_msg_count Number of messages in message stack.
5161 -- x_msg_data Message text if x_msg_count is 1.
5162 --
5163 -- NOTES
5164 --
5165 -- MODIFICATION HISTORY
5166 --
5167 -- 04-DEC-2001 Joe del Callar Bug 2136283: Added to support
5168 -- enhanced backward compatibility.
5169 -- 04-FEB-2001 Joe del Callar Bug 2211876: Fixed issue with error
5170 -- status and message data getting set
5171 -- incorrectly in update and create
5172 -- contact point APIs.
5173 --
5174
5175 PROCEDURE update_phone_contact_point (
5176 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
5177 p_contact_point_rec IN contact_point_rec_type,
5178 p_phone_rec IN phone_rec_type := g_miss_phone_rec,
5179 p_object_version_number IN OUT NOCOPY NUMBER,
5180 x_return_status OUT NOCOPY VARCHAR2,
5181 x_msg_count OUT NOCOPY NUMBER,
5182 x_msg_data OUT NOCOPY VARCHAR2
5183 ) IS
5184 l_debug_prefix VARCHAR2(30) := '';
5185 BEGIN
5186 -- Standard start of API savepoint
5187 SAVEPOINT update_phone_contact_point;
5188
5189 -- Check if API is called in debug mode. If yes, enable debug.
5190 --enable_debug;
5191
5192 -- Debug info.
5193 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
5194 hz_utility_v2pub.debug(p_message=>'update_phone_contact_point (+)',
5195 p_prefix=>l_debug_prefix,
5196 p_msg_level=>fnd_log.level_procedure);
5197 END IF;
5198
5199 -- call main business logic.
5200 update_contact_point_main(
5201 p_init_msg_list => p_init_msg_list,
5202 p_contact_point_rec => p_contact_point_rec,
5203 p_phone_rec => p_phone_rec,
5204 p_object_version_number => p_object_version_number,
5205 x_return_status => x_return_status,
5206 x_msg_count => x_msg_count,
5207 x_msg_data => x_msg_data
5208 );
5209
5210 HZ_UTILITY_V2PUB.G_UPDATE_ACS := NULL;
5211 -- Debug info.
5212 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
5213 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
5214 p_msg_data=>x_msg_data,
5215 p_msg_type=>'WARNING',
5216 p_msg_level=>fnd_log.level_exception);
5217 END IF;
5218 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
5219 hz_utility_v2pub.debug(p_message=>'update_phone_contact_point (-)',
5220 p_prefix=>l_debug_prefix,
5221 p_msg_level=>fnd_log.level_procedure);
5222 END IF;
5223
5224 -- Check if API is called in debug mode. If yes, disable debug.
5225 --disable_debug;
5226
5227 EXCEPTION
5228 WHEN fnd_api.g_exc_error THEN
5229 ROLLBACK TO update_phone_contact_point;
5230 HZ_UTILITY_V2PUB.G_UPDATE_ACS := NULL;
5231 x_return_status := fnd_api.g_ret_sts_error;
5232
5233 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
5234 p_count => x_msg_count,
5235 p_data => x_msg_data);
5236
5237 -- Debug info.
5238 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
5239 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
5240 p_msg_data=>x_msg_data,
5241 p_msg_type=>'ERROR',
5242 p_msg_level=>fnd_log.level_error);
5243 END IF;
5244 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
5245 hz_utility_v2pub.debug(p_message=>'update_phone_contact_point (-)',
5246 p_prefix=>l_debug_prefix,
5247 p_msg_level=>fnd_log.level_procedure);
5248 END IF;
5249
5250 -- Check if API is called in debug mode. If yes, disable debug.
5251 --disable_debug;
5252
5253 WHEN fnd_api.g_exc_unexpected_error THEN
5254 ROLLBACK TO update_phone_contact_point;
5255 HZ_UTILITY_V2PUB.G_UPDATE_ACS := NULL;
5256 x_return_status := fnd_api.g_ret_sts_unexp_error;
5257
5258 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
5259 p_count => x_msg_count,
5260 p_data => x_msg_data);
5261
5267 p_msg_level=>fnd_log.level_error);
5262 -- Debug info.
5263 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
5264 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
5265 p_msg_data=>x_msg_data,
5266 p_msg_type=>'UNEXPECTED ERROR',
5268 END IF;
5269 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
5270 hz_utility_v2pub.debug(p_message=>'update_phone_contact_point (-)',
5271 p_prefix=>l_debug_prefix,
5272 p_msg_level=>fnd_log.level_procedure);
5273 END IF;
5274
5275 -- Check if API is called in debug mode. If yes, disable debug.
5276 --disable_debug;
5277
5278 WHEN OTHERS THEN
5279 ROLLBACK TO update_phone_contact_point;
5280 HZ_UTILITY_V2PUB.G_UPDATE_ACS := NULL;
5281 x_return_status := fnd_api.g_ret_sts_unexp_error;
5282
5283 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
5284 fnd_message.set_token('ERROR' ,SQLERRM);
5285 fnd_msg_pub.add;
5286
5287 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
5288 p_count => x_msg_count,
5289 p_data => x_msg_data);
5290
5291 -- Debug info.
5292 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
5293 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
5294 p_msg_data=>x_msg_data,
5295 p_msg_type=>'SQL ERROR',
5296 p_msg_level=>fnd_log.level_error);
5297 END IF;
5298 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
5299 hz_utility_v2pub.debug(p_message=>'update_phone_contact_point (-)',
5300 p_prefix=>l_debug_prefix,
5301 p_msg_level=>fnd_log.level_procedure);
5302 END IF;
5303
5304 -- Check if API is called in debug mode. If yes, disable debug.
5305 --disable_debug;
5306 END update_phone_contact_point;
5307
5308 --
5309 -- PROCEDURE update_telex_contact_point
5310 --
5311 -- DESCRIPTION
5312 -- Updates the given telex contact point.
5313 --
5314 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
5315 --
5316 -- ARGUMENTS
5317 -- IN:
5318 -- p_init_msg_list Initialize message stack if it is set to
5319 -- FND_API.G_TRUE. Default is fnd_api.g_false.
5320 -- p_contact_point_rec Contact point record.
5321 -- p_telex_rec Telex record.
5322 -- IN/OUT:
5323 -- p_object_version_number Used for locking the being updated record.
5324 -- OUT:
5325 -- x_return_status Return status after the call. The status can
5326 -- be fnd_api.g_ret_sts_success (success),
5327 -- fnd_api.g_ret_sts_error (error),
5328 -- FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
5329 -- x_msg_count Number of messages in message stack.
5330 -- x_msg_data Message text if x_msg_count is 1.
5331 --
5332 -- NOTES
5333 --
5334 -- MODIFICATION HISTORY
5335 --
5336 -- 04-DEC-2001 Joe del Callar Bug 2136283: Added to support
5337 -- enhanced backward compatibility.
5338 -- 04-FEB-2001 Joe del Callar Bug 2211876: Fixed issue with error
5339 -- status and message data getting set
5340 -- incorrectly in update and create
5341 -- contact point APIs.
5342 --
5343
5344 PROCEDURE update_telex_contact_point (
5345 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
5346 p_contact_point_rec IN contact_point_rec_type,
5347 p_telex_rec IN telex_rec_type := g_miss_telex_rec,
5348 p_object_version_number IN OUT NOCOPY NUMBER,
5349 x_return_status OUT NOCOPY VARCHAR2,
5350 x_msg_count OUT NOCOPY NUMBER,
5351 x_msg_data OUT NOCOPY VARCHAR2
5352 ) IS
5353 l_debug_prefix VARCHAR2(30) := '';
5354 BEGIN
5355 -- Standard start of API savepoint
5356 SAVEPOINT update_telex_contact_point;
5357
5358 -- Check if API is called in debug mode. If yes, enable debug.
5359 --enable_debug;
5360
5361 -- Debug info.
5362 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
5363 hz_utility_v2pub.debug(p_message=>'update_telex_contact_point (+)',
5364 p_prefix=>l_debug_prefix,
5365 p_msg_level=>fnd_log.level_procedure);
5366 END IF;
5367
5371 p_contact_point_rec => p_contact_point_rec,
5368 -- call main business logic.
5369 update_contact_point_main(
5370 p_init_msg_list => p_init_msg_list,
5372 p_telex_rec => p_telex_rec,
5373 p_object_version_number => p_object_version_number,
5374 x_return_status => x_return_status,
5375 x_msg_count => x_msg_count,
5376 x_msg_data => x_msg_data
5377 );
5378
5379 HZ_UTILITY_V2PUB.G_UPDATE_ACS := NULL;
5380 -- Debug info.
5381 IF fnd_log.level_exception>=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=>'WARNING',
5385 p_msg_level=>fnd_log.level_exception);
5386 END IF;
5387 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
5388 hz_utility_v2pub.debug(p_message=>'update_telex_contact_point (-)',
5389 p_prefix=>l_debug_prefix,
5390 p_msg_level=>fnd_log.level_procedure);
5391 END IF;
5392
5393
5394 -- Check if API is called in debug mode. If yes, disable debug.
5395 --disable_debug;
5396
5397 EXCEPTION
5398 WHEN fnd_api.g_exc_error THEN
5399 ROLLBACK TO update_telex_contact_point;
5400 HZ_UTILITY_V2PUB.G_UPDATE_ACS := NULL;
5401 x_return_status := fnd_api.g_ret_sts_error;
5402
5403 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
5404 p_count => x_msg_count,
5405 p_data => x_msg_data);
5406
5407 -- Debug info.
5408 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
5409 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
5410 p_msg_data=>x_msg_data,
5411 p_msg_type=>'ERROR',
5412 p_msg_level=>fnd_log.level_error);
5416 p_prefix=>l_debug_prefix,
5413 END IF;
5414 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
5415 hz_utility_v2pub.debug(p_message=>'update_telex_contact_point (-)',
5417 p_msg_level=>fnd_log.level_procedure);
5418 END IF;
5419
5420
5421
5422 -- Check if API is called in debug mode. If yes, disable debug.
5423 --disable_debug;
5424
5425 WHEN fnd_api.g_exc_unexpected_error THEN
5426 ROLLBACK TO update_telex_contact_point;
5427 HZ_UTILITY_V2PUB.G_UPDATE_ACS := NULL;
5428 x_return_status := fnd_api.g_ret_sts_unexp_error;
5429
5430 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
5431 p_count => x_msg_count,
5432 p_data => x_msg_data);
5433
5434 -- Debug info.
5435 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
5436 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
5437 p_msg_data=>x_msg_data,
5438 p_msg_type=>'UNEXPECTED ERROR',
5439 p_msg_level=>fnd_log.level_error);
5440 END IF;
5441 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
5442 hz_utility_v2pub.debug(p_message=>'update_telex_contact_point (-)',
5443 p_prefix=>l_debug_prefix,
5444 p_msg_level=>fnd_log.level_procedure);
5445 END IF;
5446
5447 -- Check if API is called in debug mode. If yes, disable debug.
5448 --disable_debug;
5449
5450 WHEN OTHERS THEN
5451 ROLLBACK TO update_telex_contact_point;
5452 HZ_UTILITY_V2PUB.G_UPDATE_ACS := NULL;
5453 x_return_status := fnd_api.g_ret_sts_unexp_error;
5454
5455 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
5456 fnd_message.set_token('ERROR' ,SQLERRM);
5457 fnd_msg_pub.add;
5458
5459 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
5460 p_count => x_msg_count,
5461 p_data => x_msg_data);
5462
5463 -- Debug info.
5464 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
5465 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
5466 p_msg_data=>x_msg_data,
5467 p_msg_type=>'SQL ERROR',
5468 p_msg_level=>fnd_log.level_error);
5469 END IF;
5470 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
5471 hz_utility_v2pub.debug(p_message=>'update_telex_contact_point (-)',
5472 p_prefix=>l_debug_prefix,
5473 p_msg_level=>fnd_log.level_procedure);
5477 --disable_debug;
5474 END IF;
5475
5476 -- Check if API is called in debug mode. If yes, disable debug.
5478 END update_telex_contact_point;
5479
5480 --
5481 -- PROCEDURE update_email_contact_point
5482 --
5483 -- DESCRIPTION
5484 -- Updates the given email contact point.
5485 --
5486 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
5487 --
5488 -- ARGUMENTS
5489 -- IN:
5490 -- p_init_msg_list Initialize message stack if it is set to
5491 -- FND_API.G_TRUE. Default is fnd_api.g_false.
5492 -- p_contact_point_rec Contact point record.
5493 -- p_email_rec Email record.
5494 -- IN/OUT:
5495 -- p_object_version_number Used for locking the being updated record.
5496 -- OUT:
5497 -- x_return_status Return status after the call. The status can
5498 -- be fnd_api.g_ret_sts_success (success),
5499 -- fnd_api.g_ret_sts_error (error),
5500 -- FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
5501 -- x_msg_count Number of messages in message stack.
5502 -- x_msg_data Message text if x_msg_count is 1.
5503 --
5504 -- NOTES
5505 --
5506 -- MODIFICATION HISTORY
5507 --
5508 -- 04-DEC-2001 Joe del Callar Bug 2136283: Added to support
5509 -- enhanced backward compatibility.
5510 -- 04-FEB-2001 Joe del Callar Bug 2211876: Fixed issue with error
5511 -- status and message data getting set
5512 -- incorrectly in update and create
5513 -- contact point APIs.
5514 --
5515
5516 PROCEDURE update_email_contact_point (
5517 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
5518 p_contact_point_rec IN contact_point_rec_type,
5519 p_email_rec IN email_rec_type := g_miss_email_rec,
5520 p_object_version_number IN OUT NOCOPY NUMBER,
5521 x_return_status OUT NOCOPY VARCHAR2,
5522 x_msg_count OUT NOCOPY NUMBER,
5523 x_msg_data OUT NOCOPY VARCHAR2
5524 ) IS
5525 l_debug_prefix VARCHAR2(30) := '';
5526 BEGIN
5527 -- Standard start of API savepoint
5528 SAVEPOINT update_email_contact_point;
5529
5530 -- Check if API is called in debug mode. If yes, enable debug.
5531 --enable_debug;
5532
5533 -- Debug info.
5534 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
5535 hz_utility_v2pub.debug(p_message=>'update_email_contact_point (+)',
5536 p_prefix=>l_debug_prefix,
5537 p_msg_level=>fnd_log.level_procedure);
5538 END IF;
5539
5540 -- call main business logic.
5541 update_contact_point_main(
5542 p_init_msg_list => p_init_msg_list,
5543 p_contact_point_rec => p_contact_point_rec,
5544 p_email_rec => p_email_rec,
5545 p_object_version_number => p_object_version_number,
5546 x_return_status => x_return_status,
5547 x_msg_count => x_msg_count,
5548 x_msg_data => x_msg_data
5549 );
5550
5551 HZ_UTILITY_V2PUB.G_UPDATE_ACS := NULL;
5552 -- Debug info.
5553 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
5554 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
5555 p_msg_data=>x_msg_data,
5556 p_msg_type=>'WARNING',
5557 p_msg_level=>fnd_log.level_exception);
5558 END IF;
5559 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
5560 hz_utility_v2pub.debug(p_message=>'update_email_contact_point (-)',
5564
5561 p_prefix=>l_debug_prefix,
5562 p_msg_level=>fnd_log.level_procedure);
5563 END IF;
5565 -- Check if API is called in debug mode. If yes, disable debug.
5566 --disable_debug;
5567
5568 EXCEPTION
5569 WHEN fnd_api.g_exc_error THEN
5570 ROLLBACK TO update_email_contact_point;
5571 HZ_UTILITY_V2PUB.G_UPDATE_ACS := NULL;
5572 x_return_status := fnd_api.g_ret_sts_error;
5573
5574 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
5575 p_count => x_msg_count,
5576 p_data => x_msg_data);
5577
5578 -- Debug info.
5579 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
5580 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
5584 END IF;
5581 p_msg_data=>x_msg_data,
5582 p_msg_type=>'ERROR',
5583 p_msg_level=>fnd_log.level_error);
5585 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
5586 hz_utility_v2pub.debug(p_message=>'update_email_contact_point (-)',
5587 p_prefix=>l_debug_prefix,
5588 p_msg_level=>fnd_log.level_procedure);
5589 END IF;
5590
5591 -- Check if API is called in debug mode. If yes, disable debug.
5592 --disable_debug;
5593
5594 WHEN fnd_api.g_exc_unexpected_error THEN
5595 ROLLBACK TO update_email_contact_point;
5596 HZ_UTILITY_V2PUB.G_UPDATE_ACS := NULL;
5597 x_return_status := fnd_api.g_ret_sts_unexp_error;
5598
5599 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
5600 p_count => x_msg_count,
5601 p_data => x_msg_data);
5602
5603 -- Debug info.
5604 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
5605 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
5606 p_msg_data=>x_msg_data,
5607 p_msg_type=>'UNEXPECTED ERROR',
5608 p_msg_level=>fnd_log.level_error);
5609 END IF;
5610 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
5611 hz_utility_v2pub.debug(p_message=>'update_email_contact_point (-)',
5612 p_prefix=>l_debug_prefix,
5613 p_msg_level=>fnd_log.level_procedure);
5614 END IF;
5615
5616 -- Check if API is called in debug mode. If yes, disable debug.
5617 --disable_debug;
5618
5619 WHEN OTHERS THEN
5620 ROLLBACK TO update_email_contact_point;
5621 HZ_UTILITY_V2PUB.G_UPDATE_ACS := NULL;
5622 x_return_status := fnd_api.g_ret_sts_unexp_error;
5623
5624 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
5625 fnd_message.set_token('ERROR' ,SQLERRM);
5626 fnd_msg_pub.add;
5627
5628 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
5629 p_count => x_msg_count,
5630 p_data => x_msg_data);
5631
5632 -- Debug info.
5633 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
5634 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
5635 p_msg_data=>x_msg_data,
5636 p_msg_type=>'SQL ERROR',
5637 p_msg_level=>fnd_log.level_error);
5638 END IF;
5639 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
5640 hz_utility_v2pub.debug(p_message=>'update_email_contact_point (-)',
5641 p_prefix=>l_debug_prefix,
5642 p_msg_level=>fnd_log.level_procedure);
5643 END IF;
5644
5645 -- Check if API is called in debug mode. If yes, disable debug.
5646 --disable_debug;
5647 END update_email_contact_point;
5648
5649 --
5650 -- PROCEDURE phone_format
5651 --
5652 -- DESCRIPTION
5653 -- formats a phone number
5654 --
5655 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
5656 --
5657 -- ARGUMENTS
5658 -- IN:
5659 -- p_init_msg_list Initialize message stack if it is set to
5660 -- FND_API.G_TRUE. Default is fnd_api.g_false.
5661 -- p_raw_phone_number Raw phone number.
5662 -- p_territory_code Territory code.
5663 -- IN/OUT:
5664 -- x_phone_country_code Phone country code.
5665 -- x_phone_area_code Phone area code.
5666 -- x_phone_number Phone number.
5667 -- OUT:
5668 -- x_formatted_phone_number Formatted phone number.
5669 -- x_return_status Return status after the call. The status can
5670 -- be fnd_api.g_ret_sts_success (success),
5671 -- fnd_api.g_ret_sts_error (error),
5672 -- fnd_api.g_ret_sts_unexp_error (unexpected error).
5673 -- x_msg_count Number of messages in message stack.
5674 -- x_msg_data Message text if x_msg_count is 1.
5675 --
5676 -- NOTES
5677 --
5678 -- MODIFICATION HISTORY
5679 --
5680 -- 07-23-2001 Jianying Huang o Created.
5681 -- 02-05-2002 Jyoti Pandey o Modified the parsing and formatting
5682 -- logic for Phone Normalization and Parsing
5683 -- project in version 115.9
5684 --
5685 --
5686
5687 PROCEDURE phone_format (
5688 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
5689 p_raw_phone_number IN VARCHAR2 := fnd_api.g_miss_char,
5690 p_territory_code IN VARCHAR2 := fnd_api.g_miss_char,
5691 x_formatted_phone_number OUT NOCOPY VARCHAR2,
5692 x_phone_country_code IN OUT NOCOPY VARCHAR2,
5693 x_phone_area_code IN OUT NOCOPY VARCHAR2,
5694 x_phone_number IN OUT NOCOPY VARCHAR2,
5695 x_return_status OUT NOCOPY VARCHAR2,
5696 x_msg_count OUT NOCOPY NUMBER,
5697 x_msg_data OUT NOCOPY VARCHAR2
5698 ) IS
5699 l_formatted_phone_number VARCHAR2(100);
5700 l_phone_area_code VARCHAR2(30);
5701 l_phone_number VARCHAR2(30);
5702 l_phone_format_style VARCHAR2(100);
5703 l_raw_phone_number VARCHAR2(100);
5704 l_phone_country_code VARCHAR2(100);
5710 l_territory_code VARCHAR2(30) := NULL;
5705 l_format_raw_phone BOOLEAN := FALSE;
5706 l_format_area_phone BOOLEAN := FALSE;
5707 l_include_country_code BOOLEAN;
5708 l_area_code_size NUMBER;
5709 l_msg_name VARCHAR2(50) := NULL;
5711 x_mobile_flag VARCHAR2(1) := NULL;
5712
5713 CURSOR c_territory(p_country_code VARCHAR2) IS
5714 SELECT territory_code
5715 FROM hz_phone_country_codes
5716 WHERE phone_country_code = p_country_code;
5717
5718 l_debug_prefix VARCHAR2(30) := '';
5719
5720 BEGIN
5721 -- Check if API is called in debug mode. If yes, enable debug.
5722 --enable_debug;
5723
5724 -- Debug info.
5725 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
5726 hz_utility_v2pub.debug(p_message=>'phone_format (+)',
5727 p_prefix=>l_debug_prefix,
5728 p_msg_level=>fnd_log.level_procedure);
5729 END IF;
5730
5731 -- Initialize message list if p_init_msg_list is set to TRUE.
5732 IF fnd_api.to_boolean(p_init_msg_list) THEN
5733 fnd_msg_pub.initialize;
5734 END IF;
5735
5736 -- Initialize API return status to success.
5737 x_return_status := fnd_api.g_ret_sts_success;
5738
5739 -- Check if raw phone number is to be formatted
5740 IF p_raw_phone_number IS NOT NULL AND
5741 p_raw_phone_number <> fnd_api.g_miss_char THEN
5742 l_format_raw_phone := TRUE;
5743 END IF;
5744
5745 -- Or Check if the area_code/phone number combination is to be formatted
5746 IF ((x_phone_number IS NOT NULL AND
5747 x_phone_number <> fnd_api.g_miss_char) OR
5748 (x_phone_area_code IS NOT NULL AND
5749 x_phone_area_code <> fnd_api.g_miss_char))
5750 THEN
5751 l_format_area_phone := TRUE;
5752 END IF;
5753
5754 -- If neither need to be formatted or both need to be
5755 -- formatted, error out NOCOPY
5756 IF (l_format_raw_phone AND l_format_area_phone) OR
5757 (NOT l_format_raw_phone AND NOT l_format_area_phone)
5758 THEN
5759 fnd_message.set_name('AR', 'HZ_INVALID_PHONE_PARAMETER');
5760 fnd_msg_pub.add;
5761 RAISE fnd_api.g_exc_error;
5762 END IF;
5763
5764 -- If not format a raw phone number, then create a raw phone
5765 -- number by appending the area code and phone number. This will
5766 -- allow use of common logic for both
5767
5768 IF l_format_raw_phone THEN
5769 l_raw_phone_number := p_raw_phone_number;
5770 ELSIF l_format_area_phone THEN
5771 IF x_phone_area_code IS NULL OR
5772 x_phone_area_code = fnd_api.g_miss_char THEN
5773 l_raw_phone_number := filter_phone_number(x_phone_number);
5774 ELSE
5775 l_raw_phone_number := filter_phone_number(x_phone_area_code ||
5776 x_phone_number);
5777 END IF;
5778 END IF;
5779
5780 -- If Country code has been passed query the territory code for the
5781 -- country. If country code has not been passed, use territory_code.
5782
5783 IF x_phone_country_code IS NOT NULL AND
5784 x_phone_country_code <> fnd_api.g_miss_char
5785 THEN
5786 OPEN c_territory(x_phone_country_code);
5787 FETCH c_territory INTO l_territory_code;
5788 IF c_territory%NOTFOUND THEN
5789 l_territory_code := NULL;
5790 END IF;
5791 CLOSE c_territory;
5792 ELSIF p_territory_code IS NOT NULL AND
5793 p_territory_code <> fnd_api.g_miss_char THEN
5794 l_territory_code := p_territory_code;
5795 ELSE
5796 l_territory_code := NULL;
5797 END IF;
5798
5799 --Following commented code is replaced by parsing and displaying logic in
5800 --HZ_FORMAT_PHONE_V2PUB's phone_parse and phone_display. This was done in
5801 -- version 115.9 for Phone normalization and parsing project
5802
5803 --Call to phone_parse to get parsed components
5804 HZ_FORMAT_PHONE_V2PUB.phone_parse (
5805 fnd_api.g_true ,
5806 l_raw_phone_number ,
5807 p_territory_code ,
5808 x_phone_country_code ,
5809 x_phone_area_code ,
5810 x_phone_number ,
5811 x_mobile_flag ,
5812 x_return_status,
5813 x_msg_count,
5814 x_msg_data);
5815
5816 --Parsed components are i/p to phone_display to get formateed number
5817 HZ_FORMAT_PHONE_V2PUB.phone_display(
5818 fnd_api.g_true ,
5819 p_territory_code,
5820 x_phone_country_code ,
5821 x_phone_area_code ,
5822 x_phone_number ,
5823 x_formatted_phone_number ,
5824 x_return_status ,
5825 x_msg_count ,
5829 | IF l_territory_code IS NULL THEN
5826 x_msg_data );
5827
5828 /* -- Cannot get territory code, error out NOCOPY
5830 | fnd_message.set_name('AR', 'HZ_COUNTRY_CODE_NOT_DEFINED');
5831 | fnd_msg_pub.add;
5832 | RAISE fnd_api.g_exc_error;
5833 | END IF;
5834 |
5835 | -- Call subroutine to get the format style to be applied for the given
5836 | -- raw phone number and territory
5837 | get_phone_format(
5838 | p_raw_phone_number => l_raw_phone_number,
5839 | p_territory_code => l_territory_code,
5840 | p_area_code => x_phone_area_code,
5841 | x_phone_country_code => l_phone_country_code,
5842 | x_phone_format_style => l_phone_format_style,
5843 | x_area_code_size => l_area_code_size,
5844 | x_include_country_code => l_include_country_code,
5845 | x_msg => l_msg_name);
5846 |
5847 | -- Check for errors in identifying format style
5848 | IF l_msg_name IS NOT NULL THEN
5849 | fnd_message.set_name('AR', l_msg_name);
5850 | fnd_msg_pub.add;
5851 | RAISE fnd_api.g_exc_error;
5852 | END IF;
5853 |
5854 | -- Apply the format style and get translated number
5855 | translate_raw_phone_number (
5856 | p_raw_phone_number => l_raw_phone_number,
5857 | p_phone_format_style => l_phone_format_style,
5858 | p_area_code_size => l_area_code_size,
5859 | x_formatted_phone_number => l_formatted_phone_number,
5860 | x_phone_area_code => l_phone_area_code,
5861 | x_phone_number => l_phone_number);
5862 |
5863 | -- Append country code if desired
5864 | IF l_include_country_code THEN
5868 | x_formatted_phone_number := l_formatted_phone_number;
5865 | x_formatted_phone_number := '+' || l_phone_country_code ||
5866 | ' ' || l_formatted_phone_number;
5867 | ELSE
5869 | END IF;
5870 |
5871 | -- Set the seperated area code and phone number for return
5872 | IF l_format_raw_phone THEN
5873 | x_phone_area_code := l_phone_area_code;
5874 | x_phone_number := l_phone_number;
5875 | END IF;
5876 |
5877 | x_phone_country_code := l_phone_country_code; */
5878
5879 -- Standard call to get message count and if count is 1, get message info.
5880 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
5881 p_count => x_msg_count,
5882 p_data => x_msg_data);
5883
5884 -- Debug info.
5885 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
5886 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
5887 p_msg_data=>x_msg_data,
5888 p_msg_type=>'WARNING',
5889 p_msg_level=>fnd_log.level_exception);
5890 END IF;
5891 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
5892 hz_utility_v2pub.debug(p_message=>'phone_format (-)',
5893 p_prefix=>l_debug_prefix,
5894 p_msg_level=>fnd_log.level_procedure);
5895 END IF;
5896
5897 -- Check if API is called in debug mode. If yes, disable debug.
5898 --disable_debug;
5899
5900 EXCEPTION
5901 WHEN fnd_api.g_exc_error THEN
5902 x_return_status := fnd_api.g_ret_sts_error;
5903
5904 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
5905 p_count => x_msg_count,
5906 p_data => x_msg_data);
5907
5908 -- Debug info.
5909 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
5910 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
5911 p_msg_data=>x_msg_data,
5912 p_msg_type=>'ERROR',
5913 p_msg_level=>fnd_log.level_error);
5914 END IF;
5915 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
5916 hz_utility_v2pub.debug(p_message=>'phone_format (-)',
5917 p_prefix=>l_debug_prefix,
5918 p_msg_level=>fnd_log.level_procedure);
5919 END IF;
5920
5921 -- Check if API is called in debug mode. If yes, disable debug.
5922 --disable_debug;
5923
5924 WHEN fnd_api.g_exc_unexpected_error THEN
5925 x_return_status := fnd_api.g_ret_sts_unexp_error;
5926
5927 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
5928 p_count => x_msg_count,
5929 p_data => x_msg_data);
5930
5934 p_msg_data=>x_msg_data,
5931 -- Debug info.
5932 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
5933 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
5935 p_msg_type=>'UNEXPECTED ERROR',
5936 p_msg_level=>fnd_log.level_error);
5937 END IF;
5938 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
5939 hz_utility_v2pub.debug(p_message=>'phone_format (-)',
5940 p_prefix=>l_debug_prefix,
5941 p_msg_level=>fnd_log.level_procedure);
5942 END IF;
5943
5944 -- Check if API is called in debug mode. If yes, disable debug.
5945 --disable_debug;
5946
5947 WHEN OTHERS THEN
5948 x_return_status := fnd_api.g_ret_sts_unexp_error;
5949
5950 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
5951 fnd_message.set_token('ERROR' ,SQLERRM);
5952 fnd_msg_pub.add;
5953
5954 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
5955 p_count => x_msg_count,
5956 p_data => x_msg_data);
5957
5958 -- Debug info.
5959 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
5960 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
5961 p_msg_data=>x_msg_data,
5962 p_msg_type=>'SQL ERROR',
5963 p_msg_level=>fnd_log.level_error);
5964 END IF;
5965 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
5966 hz_utility_v2pub.debug(p_message=>'phone_format (-)',
5967 p_prefix=>l_debug_prefix,
5968 p_msg_level=>fnd_log.level_procedure);
5969 END IF;
5970
5971 -- Check if API is called in debug mode. If yes, disable debug.
5972 --disable_debug;
5973
5974 END phone_format;
5975
5976 --
5977 -- PROCEDURE get_contact_point_rec
5978 --
5979 -- DESCRIPTION
5980 -- Gets contact point record. Still here for backward compatibility.
5981 --
5982 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
5983 --
5984 -- ARGUMENTS
5985 -- IN:
5986 -- p_init_msg_list Initialize message stack if it is set to
5987 -- FND_API.G_TRUE. Default is fnd_api.g_false.
5988 -- p_contact_point_id Contact point ID.
5989 -- IN/OUT:
5990 -- OUT:
5991 -- x_contact_point_rec Returned contact point record.
5992 -- x_edi_rec Returned EDI record.
5993 -- x_email_rec Returned email record.
5994 -- x_phone_rec Returned phone record.
5995 -- x_telex_rec Returned telex record.
5996 -- x_web_rec Returned web record.
5997 -- x_return_status Return status after the call. The status can
5998 -- be fnd_api.g_ret_sts_success (success),
5999 -- fnd_api.g_ret_sts_error (error),
6000 -- fnd_api.g_ret_sts_unexp_error (unexpected error).
6001 -- x_msg_count Number of messages in message stack.
6002 -- x_msg_data Message text if x_msg_count is 1.
6003 --
6004 -- NOTES
6005 --
6006 -- MODIFICATION HISTORY
6007 --
6008 -- 07-23-2001 Jianying Huang o Created.
6009 -- 19-NOV-2001 Joe del Callar Bug 2116225: Added support for
6010 -- Bank Consolidation.
6011 --
6012
6013 PROCEDURE get_contact_point_rec (
6014 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
6015 p_contact_point_id IN NUMBER,
6016 x_contact_point_rec OUT NOCOPY contact_point_rec_type,
6017 x_edi_rec OUT NOCOPY edi_rec_type,
6018 x_email_rec OUT NOCOPY email_rec_type,
6019 x_phone_rec OUT NOCOPY phone_rec_type,
6020 x_telex_rec OUT NOCOPY telex_rec_type,
6021 x_web_rec OUT NOCOPY web_rec_type,
6022 x_return_status OUT NOCOPY VARCHAR2,
6023 x_msg_count OUT NOCOPY NUMBER,
6024 x_msg_data OUT NOCOPY VARCHAR2
6025 ) IS
6026 l_eft_rec eft_rec_type := g_miss_eft_rec;
6027 l_debug_prefix VARCHAR2(30) := '';
6028 BEGIN
6029
6030 -- Check if API is called in debug mode. If yes, enable debug.
6031 --enable_debug;
6032
6033 -- Debug info.
6034 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
6035 hz_utility_v2pub.debug(p_message=>'get_contact_point_rec (+)',
6036 p_prefix=>l_debug_prefix,
6037 p_msg_level=>fnd_log.level_procedure);
6038 END IF;
6039
6040 -- Execute main procedure
6041 get_contact_point_main (
6042 p_init_msg_list => p_init_msg_list,
6043 p_contact_point_id => p_contact_point_id,
6044 x_contact_point_rec => x_contact_point_rec,
6045 x_edi_rec => x_edi_rec,
6046 x_eft_rec => l_eft_rec,
6047 x_email_rec => x_email_rec,
6048 x_phone_rec => x_phone_rec,
6049 x_telex_rec => x_telex_rec,
6050 x_web_rec => x_web_rec,
6051 x_return_status => x_return_status,
6052 x_msg_count => x_msg_count,
6053 x_msg_data => x_msg_data
6054 );
6055
6056 -- Debug info.
6057 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
6058 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
6062 END IF;
6059 p_msg_data=>x_msg_data,
6060 p_msg_type=>'WARNING',
6061 p_msg_level=>fnd_log.level_exception);
6063 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
6064 hz_utility_v2pub.debug(p_message=>'get_contact_point_rec (-)',
6065 p_prefix=>l_debug_prefix,
6066 p_msg_level=>fnd_log.level_procedure);
6067 END IF;
6068
6069 -- Check if API is called in debug mode. If yes, disable debug.
6070 --disable_debug;
6071
6072 EXCEPTION
6073 WHEN fnd_api.g_exc_error THEN
6074 x_return_status := fnd_api.g_ret_sts_error;
6075
6076 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
6077 p_count => x_msg_count,
6078 p_data => x_msg_data);
6079
6080 -- Debug info.
6081 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
6082 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
6083 p_msg_data=>x_msg_data,
6084 p_msg_type=>'ERROR',
6085 p_msg_level=>fnd_log.level_error);
6086 END IF;
6087 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
6088 hz_utility_v2pub.debug(p_message=>'get_contact_point_rec (-)',
6089 p_prefix=>l_debug_prefix,
6090 p_msg_level=>fnd_log.level_procedure);
6091 END IF;
6092
6093 -- Check if API is called in debug mode. If yes, disable debug.
6094 --disable_debug;
6095
6096 WHEN fnd_api.g_exc_unexpected_error THEN
6097 x_return_status := fnd_api.g_ret_sts_unexp_error;
6098
6099 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
6100 p_count => x_msg_count,
6101 p_data => x_msg_data);
6102
6103 -- Debug info.
6104 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
6105 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
6106 p_msg_data=>x_msg_data,
6107 p_msg_type=>'UNEXPECTED ERROR',
6108 p_msg_level=>fnd_log.level_error);
6109 END IF;
6110 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
6111 hz_utility_v2pub.debug(p_message=>'get_contact_point_rec (-)',
6112 p_prefix=>l_debug_prefix,
6113 p_msg_level=>fnd_log.level_procedure);
6114 END IF;
6115
6116 -- Check if API is called in debug mode. If yes, disable debug.
6117 --disable_debug;
6118
6119 WHEN OTHERS THEN
6120 x_return_status := fnd_api.g_ret_sts_unexp_error;
6121
6122 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
6123 fnd_message.set_token('ERROR' ,SQLERRM);
6124 fnd_msg_pub.add;
6125
6126 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
6127 p_count => x_msg_count,
6128 p_data => x_msg_data);
6129
6130 -- Debug info.
6131 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
6132 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
6133 p_msg_data=>x_msg_data,
6134 p_msg_type=>'SQL ERROR',
6135 p_msg_level=>fnd_log.level_error);
6136 END IF;
6137 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
6138 hz_utility_v2pub.debug(p_message=>'get_contact_point_rec (-)',
6139 p_prefix=>l_debug_prefix,
6140 p_msg_level=>fnd_log.level_procedure);
6141 END IF;
6142
6143 -- Check if API is called in debug mode. If yes, disable debug.
6144 --disable_debug;
6145 END get_contact_point_rec;
6146
6147 --
6148 -- PROCEDURE get_edi_contact_point
6149 --
6150 -- DESCRIPTION
6151 -- Gets EDI contact point record.
6152 --
6153 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
6154 --
6155 -- ARGUMENTS
6156 -- IN:
6157 -- p_init_msg_list Initialize message stack if it is set to
6158 -- FND_API.G_TRUE. Default is fnd_api.g_false.
6159 -- p_contact_point_id Contact point ID.
6160 -- IN/OUT:
6161 -- OUT:
6162 -- x_contact_point_rec Returned contact point record.
6163 -- x_edi_rec Returned EDI record.
6164 -- x_return_status Return status after the call. The status can
6170 --
6165 -- be fnd_api.g_ret_sts_success (success),
6166 -- fnd_api.g_ret_sts_error (error),
6167 -- fnd_api.g_ret_sts_unexp_error (unexpected error).
6168 -- x_msg_count Number of messages in message stack.
6169 -- x_msg_data Message text if x_msg_count is 1.
6171 -- NOTES
6172 --
6173 -- MODIFICATION HISTORY
6174 --
6175 -- 07-23-2001 Jianying Huang o Created.
6176 -- 04-DEC-2001 Joe del Callar Bug 2136283: Added support for
6177 -- enhanced backward compatibility.
6178 --
6179
6180 PROCEDURE get_edi_contact_point (
6181 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
6182 p_contact_point_id IN NUMBER,
6183 x_contact_point_rec OUT NOCOPY contact_point_rec_type,
6184 x_edi_rec OUT NOCOPY edi_rec_type,
6185 x_return_status OUT NOCOPY VARCHAR2,
6186 x_msg_count OUT NOCOPY NUMBER,
6187 x_msg_data OUT NOCOPY VARCHAR2
6188 ) IS
6189 l_eft_rec eft_rec_type := g_miss_eft_rec;
6190 l_web_rec web_rec_type := g_miss_web_rec;
6191 l_phone_rec phone_rec_type := g_miss_phone_rec;
6192 l_telex_rec telex_rec_type := g_miss_telex_rec;
6193 l_email_rec email_rec_type := g_miss_email_rec;
6194 l_debug_prefix VARCHAR2(30) := '';
6195 BEGIN
6196 -- Check if API is called in debug mode. If yes, enable debug.
6197 --enable_debug;
6198
6199 -- Debug info.
6200 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
6201 hz_utility_v2pub.debug(p_message=>'get_edi_contact_point (+)',
6202 p_prefix=>l_debug_prefix,
6203 p_msg_level=>fnd_log.level_procedure);
6204 END IF;
6205
6206 -- Execute main procedure
6207 get_contact_point_main (
6208 p_init_msg_list => p_init_msg_list,
6209 p_contact_point_id => p_contact_point_id,
6210 x_contact_point_rec => x_contact_point_rec,
6211 x_edi_rec => x_edi_rec,
6212 x_eft_rec => l_eft_rec,
6213 x_email_rec => l_email_rec,
6214 x_phone_rec => l_phone_rec,
6215 x_telex_rec => l_telex_rec,
6216 x_web_rec => l_web_rec,
6217 x_return_status => x_return_status,
6218 x_msg_count => x_msg_count,
6219 x_msg_data => x_msg_data
6220 );
6221
6222 -- Debug info.
6223 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
6224 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
6225 p_msg_data=>x_msg_data,
6226 p_msg_type=>'WARNING',
6227 p_msg_level=>fnd_log.level_exception);
6228 END IF;
6229 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
6230 hz_utility_v2pub.debug(p_message=>'get_edi_contact_point (-)',
6231 p_prefix=>l_debug_prefix,
6232 p_msg_level=>fnd_log.level_procedure);
6233 END IF;
6234
6235 -- Check if API is called in debug mode. If yes, disable debug.
6236 --disable_debug;
6237
6238 EXCEPTION
6239 WHEN fnd_api.g_exc_error THEN
6240 x_return_status := fnd_api.g_ret_sts_error;
6241
6242 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
6243 p_count => x_msg_count,
6244 p_data => x_msg_data);
6245
6246 -- Debug info.
6247 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
6248 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
6249 p_msg_data=>x_msg_data,
6250 p_msg_type=>'ERROR',
6251 p_msg_level=>fnd_log.level_error);
6252 END IF;
6253 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
6254 hz_utility_v2pub.debug(p_message=>'get_edi_contact_point (-)',
6255 p_prefix=>l_debug_prefix,
6256 p_msg_level=>fnd_log.level_procedure);
6257 END IF;
6258
6259 -- Check if API is called in debug mode. If yes, disable debug.
6260 --disable_debug;
6261
6262 WHEN fnd_api.g_exc_unexpected_error THEN
6263 x_return_status := fnd_api.g_ret_sts_unexp_error;
6264
6265 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
6266 p_count => x_msg_count,
6267 p_data => x_msg_data);
6268
6269 -- Debug info.
6270 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
6271 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
6272 p_msg_data=>x_msg_data,
6273 p_msg_type=>'UNEXPECTED ERROR',
6274 p_msg_level=>fnd_log.level_error);
6275 END IF;
6276 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
6277 hz_utility_v2pub.debug(p_message=>'get_edi_contact_point (-)',
6278 p_prefix=>l_debug_prefix,
6279 p_msg_level=>fnd_log.level_procedure);
6280 END IF;
6281
6282 -- Check if API is called in debug mode. If yes, disable debug.
6283 --disable_debug;
6284
6285 WHEN OTHERS THEN
6286 x_return_status := fnd_api.g_ret_sts_unexp_error;
6287
6288 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
6289 fnd_message.set_token('ERROR' ,SQLERRM);
6290 fnd_msg_pub.add;
6291
6295
6292 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
6293 p_count => x_msg_count,
6294 p_data => x_msg_data);
6296 -- Debug info.
6297 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
6298 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
6299 p_msg_data=>x_msg_data,
6300 p_msg_type=>'SQL ERROR',
6301 p_msg_level=>fnd_log.level_error);
6302 END IF;
6303 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
6304 hz_utility_v2pub.debug(p_message=>'get_edi_contact_point (-)',
6305 p_prefix=>l_debug_prefix,
6306 p_msg_level=>fnd_log.level_procedure);
6307 END IF;
6308
6309 -- Check if API is called in debug mode. If yes, disable debug.
6310 --disable_debug;
6311 END get_edi_contact_point;
6312
6313 --
6314 -- PROCEDURE get_eft_contact_point
6315 --
6316 -- DESCRIPTION
6317 -- Gets EFT contact point record.
6318 --
6319 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
6320 --
6321 -- ARGUMENTS
6322 -- IN:
6323 -- p_init_msg_list Initialize message stack if it is set to
6324 -- FND_API.G_TRUE. Default is fnd_api.g_false.
6325 -- p_contact_point_id Contact point ID.
6326 -- IN/OUT:
6327 -- OUT:
6328 -- x_contact_point_rec Returned contact point record.
6329 -- x_eft_rec Returned EFT record.
6330 -- x_return_status Return status after the call. The status can
6331 -- be fnd_api.g_ret_sts_success (success),
6332 -- fnd_api.g_ret_sts_error (error),
6333 -- fnd_api.g_ret_sts_unexp_error (unexpected error).
6334 -- x_msg_count Number of messages in message stack.
6335 -- x_msg_data Message text if x_msg_count is 1.
6336 --
6337 -- NOTES
6338 --
6339 -- MODIFICATION HISTORY
6340 --
6341 -- 07-23-2001 Jianying Huang o Created.
6342 -- 04-DEC-2001 Joe del Callar Bug 2136283: Added support for
6343 -- enhanced backward compatibility.
6344 --
6345
6346 PROCEDURE get_eft_contact_point (
6347 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
6348 p_contact_point_id IN NUMBER,
6349 x_contact_point_rec OUT NOCOPY contact_point_rec_type,
6350 x_eft_rec OUT NOCOPY eft_rec_type,
6351 x_return_status OUT NOCOPY VARCHAR2,
6352 x_msg_count OUT NOCOPY NUMBER,
6353 x_msg_data OUT NOCOPY VARCHAR2
6354 ) IS
6355 l_edi_rec edi_rec_type := g_miss_edi_rec;
6356 l_web_rec web_rec_type := g_miss_web_rec;
6357 l_phone_rec phone_rec_type := g_miss_phone_rec;
6358 l_telex_rec telex_rec_type := g_miss_telex_rec;
6359 l_email_rec email_rec_type := g_miss_email_rec;
6360 l_debug_prefix VARCHAR2(30) := '';
6361 BEGIN
6362 -- Check if API is called in debug mode. If yes, enable debug.
6363 --enable_debug;
6364
6365 -- Debug info.
6366 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
6367 hz_utility_v2pub.debug(p_message=>'get_eft_contact_point (+)',
6368 p_prefix=>l_debug_prefix,
6369 p_msg_level=>fnd_log.level_procedure);
6370 END IF;
6371
6372 -- Execute main procedure
6373 get_contact_point_main (
6374 p_init_msg_list => p_init_msg_list,
6375 p_contact_point_id => p_contact_point_id,
6376 x_contact_point_rec => x_contact_point_rec,
6377 x_edi_rec => l_edi_rec,
6378 x_eft_rec => x_eft_rec,
6379 x_email_rec => l_email_rec,
6380 x_phone_rec => l_phone_rec,
6381 x_telex_rec => l_telex_rec,
6382 x_web_rec => l_web_rec,
6383 x_return_status => x_return_status,
6384 x_msg_count => x_msg_count,
6385 x_msg_data => x_msg_data
6386 );
6387
6388
6389 -- Debug info.
6390 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
6391 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
6392 p_msg_data=>x_msg_data,
6393 p_msg_type=>'WARNING',
6394 p_msg_level=>fnd_log.level_exception);
6395 END IF;
6396 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
6397 hz_utility_v2pub.debug(p_message=>'get_eft_contact_point (-)',
6398 p_prefix=>l_debug_prefix,
6399 p_msg_level=>fnd_log.level_procedure);
6400 END IF;
6401
6402 -- Check if API is called in debug mode. If yes, disable debug.
6403 --disable_debug;
6404
6405 EXCEPTION
6406 WHEN fnd_api.g_exc_error THEN
6407 x_return_status := fnd_api.g_ret_sts_error;
6408
6409 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
6410 p_count => x_msg_count,
6411 p_data => x_msg_data);
6412
6413 -- Debug info.
6414 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
6415 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
6416 p_msg_data=>x_msg_data,
6417 p_msg_type=>'ERROR',
6418 p_msg_level=>fnd_log.level_error);
6419 END IF;
6423 p_msg_level=>fnd_log.level_procedure);
6420 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
6421 hz_utility_v2pub.debug(p_message=>'get_eft_contact_point (-)',
6422 p_prefix=>l_debug_prefix,
6424 END IF;
6425
6426 -- Check if API is called in debug mode. If yes, disable debug.
6427 --disable_debug;
6428
6429 WHEN fnd_api.g_exc_unexpected_error THEN
6430 x_return_status := fnd_api.g_ret_sts_unexp_error;
6431
6432 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
6433 p_count => x_msg_count,
6434 p_data => x_msg_data);
6435
6436 -- Debug info.
6437 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
6438 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
6439 p_msg_data=>x_msg_data,
6440 p_msg_type=>'UNEXPECTED ERROR',
6441 p_msg_level=>fnd_log.level_error);
6442 END IF;
6443 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
6444 hz_utility_v2pub.debug(p_message=>'get_eft_contact_point (-)',
6445 p_prefix=>l_debug_prefix,
6446 p_msg_level=>fnd_log.level_procedure);
6447 END IF;
6448
6449 -- Check if API is called in debug mode. If yes, disable debug.
6450 --disable_debug;
6451
6452 WHEN OTHERS THEN
6453 x_return_status := fnd_api.g_ret_sts_unexp_error;
6454
6455 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
6456 fnd_message.set_token('ERROR' ,SQLERRM);
6457 fnd_msg_pub.add;
6458
6459 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
6463 -- Debug info.
6460 p_count => x_msg_count,
6461 p_data => x_msg_data);
6462
6464 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
6465 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
6466 p_msg_data=>x_msg_data,
6467 p_msg_type=>'SQL ERROR',
6471 hz_utility_v2pub.debug(p_message=>'get_eft_contact_point (-)',
6468 p_msg_level=>fnd_log.level_error);
6469 END IF;
6470 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
6472 p_prefix=>l_debug_prefix,
6473 p_msg_level=>fnd_log.level_procedure);
6474 END IF;
6475
6476 -- Check if API is called in debug mode. If yes, disable debug.
6477 --disable_debug;
6478 END get_eft_contact_point;
6479
6480 --
6481 -- PROCEDURE get_web_contact_point
6482 --
6483 -- DESCRIPTION
6484 -- Gets Web contact point record.
6485 --
6486 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
6487 --
6488 -- ARGUMENTS
6489 -- IN:
6490 -- p_init_msg_list Initialize message stack if it is set to
6491 -- FND_API.G_TRUE. Default is fnd_api.g_false.
6492 -- p_contact_point_id Contact point ID.
6493 -- IN/OUT:
6494 -- OUT:
6495 -- x_contact_point_rec Returned contact point record.
6496 -- x_web_rec Returned Web record.
6497 -- x_return_status Return status after the call. The status can
6498 -- be fnd_api.g_ret_sts_success (success),
6499 -- fnd_api.g_ret_sts_error (error),
6500 -- fnd_api.g_ret_sts_unexp_error (unexpected error).
6501 -- x_msg_count Number of messages in message stack.
6502 -- x_msg_data Message text if x_msg_count is 1.
6503 --
6504 -- NOTES
6505 --
6506 -- MODIFICATION HISTORY
6507 --
6508 -- 07-23-2001 Jianying Huang o Created.
6509 -- 04-DEC-2001 Joe del Callar Bug 2136283: Added support for
6510 -- enhanced backward compatibility.
6511 --
6512
6513 PROCEDURE get_web_contact_point (
6514 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
6515 p_contact_point_id IN NUMBER,
6516 x_contact_point_rec OUT NOCOPY contact_point_rec_type,
6517 x_web_rec OUT NOCOPY web_rec_type,
6518 x_return_status OUT NOCOPY VARCHAR2,
6519 x_msg_count OUT NOCOPY NUMBER,
6520 x_msg_data OUT NOCOPY VARCHAR2
6521 ) IS
6522 l_edi_rec edi_rec_type := g_miss_edi_rec;
6523 l_eft_rec eft_rec_type := g_miss_eft_rec;
6524 l_phone_rec phone_rec_type := g_miss_phone_rec;
6525 l_telex_rec telex_rec_type := g_miss_telex_rec;
6526 l_email_rec email_rec_type := g_miss_email_rec;
6527 l_debug_prefix VARCHAR2(30) := '';
6528 BEGIN
6529
6530 -- Check if API is called in debug mode. If yes, enable debug.
6531 --enable_debug;
6532
6533 -- Debug info.
6534 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
6535 hz_utility_v2pub.debug(p_message=>'get_web_contact_point (+)',
6536 p_prefix=>l_debug_prefix,
6537 p_msg_level=>fnd_log.level_procedure);
6538 END IF;
6539
6540 -- Execute main procedure
6541 get_contact_point_main (
6542 p_init_msg_list => p_init_msg_list,
6543 p_contact_point_id => p_contact_point_id,
6544 x_contact_point_rec => x_contact_point_rec,
6545 x_edi_rec => l_edi_rec,
6546 x_eft_rec => l_eft_rec,
6547 x_email_rec => l_email_rec,
6548 x_phone_rec => l_phone_rec,
6549 x_telex_rec => l_telex_rec,
6550 x_web_rec => x_web_rec,
6551 x_return_status => x_return_status,
6552 x_msg_count => x_msg_count,
6553 x_msg_data => x_msg_data
6554 );
6555
6556 -- Debug info.
6557 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
6558 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
6559 p_msg_data=>x_msg_data,
6560 p_msg_type=>'WARNING',
6561 p_msg_level=>fnd_log.level_exception);
6562 END IF;
6563 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
6564 hz_utility_v2pub.debug(p_message=>'get_web_contact_point (-)',
6565 p_prefix=>l_debug_prefix,
6566 p_msg_level=>fnd_log.level_procedure);
6567 END IF;
6568
6569 -- Check if API is called in debug mode. If yes, disable debug.
6570 --disable_debug;
6571
6572 EXCEPTION
6573 WHEN fnd_api.g_exc_error THEN
6574 x_return_status := fnd_api.g_ret_sts_error;
6575
6576 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
6577 p_count => x_msg_count,
6578 p_data => x_msg_data);
6579
6580 -- Debug info.
6581 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
6582 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
6583 p_msg_data=>x_msg_data,
6584 p_msg_type=>'ERROR',
6585 p_msg_level=>fnd_log.level_error);
6586 END IF;
6587 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
6588 hz_utility_v2pub.debug(p_message=>'get_web_contact_point (-)',
6589 p_prefix=>l_debug_prefix,
6590 p_msg_level=>fnd_log.level_procedure);
6591 END IF;
6592
6593 -- Check if API is called in debug mode. If yes, disable debug.
6594 --disable_debug;
6595
6596 WHEN fnd_api.g_exc_unexpected_error THEN
6600 p_count => x_msg_count,
6597 x_return_status := fnd_api.g_ret_sts_unexp_error;
6598
6599 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
6601 p_data => x_msg_data);
6602
6603 -- Debug info.
6604 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
6605 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
6606 p_msg_data=>x_msg_data,
6610 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
6607 p_msg_type=>'UNEXPECTED ERROR',
6608 p_msg_level=>fnd_log.level_error);
6609 END IF;
6611 hz_utility_v2pub.debug(p_message=>'get_web_contact_point (-)',
6612 p_prefix=>l_debug_prefix,
6613 p_msg_level=>fnd_log.level_procedure);
6614 END IF;
6615
6616
6617 -- Check if API is called in debug mode. If yes, disable debug.
6618 --disable_debug;
6619
6620 WHEN OTHERS THEN
6621 x_return_status := fnd_api.g_ret_sts_unexp_error;
6622
6623 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
6624 fnd_message.set_token('ERROR' ,SQLERRM);
6625 fnd_msg_pub.add;
6626
6627 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
6628 p_count => x_msg_count,
6629 p_data => x_msg_data);
6630
6631 -- Debug info.
6632 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
6633 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
6634 p_msg_data=>x_msg_data,
6635 p_msg_type=>'SQL ERROR',
6636 p_msg_level=>fnd_log.level_error);
6637 END IF;
6638 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
6639 hz_utility_v2pub.debug(p_message=>'get_web_contact_point (-)',
6640 p_prefix=>l_debug_prefix,
6641 p_msg_level=>fnd_log.level_procedure);
6642 END IF;
6643
6644 -- Check if API is called in debug mode. If yes, disable debug.
6645 --disable_debug;
6646 END get_web_contact_point;
6647
6648 --
6649 -- PROCEDURE get_phone_contact_point
6650 --
6651 -- DESCRIPTION
6652 -- Gets phone contact point record.
6653 --
6654 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
6655 --
6656 -- ARGUMENTS
6657 -- IN:
6658 -- p_init_msg_list Initialize message stack if it is set to
6659 -- FND_API.G_TRUE. Default is fnd_api.g_false.
6660 -- p_contact_point_id Contact point ID.
6661 -- IN/OUT:
6662 -- OUT:
6663 -- x_contact_point_rec Returned contact point record.
6664 -- x_phone_rec Returned phone record.
6665 -- x_return_status Return status after the call. The status can
6666 -- be fnd_api.g_ret_sts_success (success),
6667 -- fnd_api.g_ret_sts_error (error),
6668 -- fnd_api.g_ret_sts_unexp_error (unexpected error).
6669 -- x_msg_count Number of messages in message stack.
6670 -- x_msg_data Message text if x_msg_count is 1.
6671 --
6672 -- NOTES
6673 --
6674 -- MODIFICATION HISTORY
6675 --
6676 -- 07-23-2001 Jianying Huang o Created.
6677 -- 04-DEC-2001 Joe del Callar Bug 2136283: Added support for
6678 -- enhanced backward compatibility.
6679 --
6680
6681 PROCEDURE get_phone_contact_point (
6682 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
6683 p_contact_point_id IN NUMBER,
6684 x_contact_point_rec OUT NOCOPY contact_point_rec_type,
6685 x_phone_rec OUT NOCOPY phone_rec_type,
6686 x_return_status OUT NOCOPY VARCHAR2,
6687 x_msg_count OUT NOCOPY NUMBER,
6688 x_msg_data OUT NOCOPY VARCHAR2
6689 ) IS
6690 l_edi_rec edi_rec_type := g_miss_edi_rec;
6691 l_eft_rec eft_rec_type := g_miss_eft_rec;
6692 l_web_rec web_rec_type := g_miss_web_rec;
6693 l_telex_rec telex_rec_type := g_miss_telex_rec;
6694 l_email_rec email_rec_type := g_miss_email_rec;
6695 l_debug_prefix VARCHAR2(30) := '';
6696 BEGIN
6697 -- Check if API is called in debug mode. If yes, enable debug.
6698 --enable_debug;
6699
6700 -- Debug info.
6701 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
6702 hz_utility_v2pub.debug(p_message=>'get_phone_contact_point (+)',
6703 p_prefix=>l_debug_prefix,
6704 p_msg_level=>fnd_log.level_procedure);
6705 END IF;
6709 p_init_msg_list => p_init_msg_list,
6706
6707 -- Execute main procedure
6708 get_contact_point_main (
6710 p_contact_point_id => p_contact_point_id,
6711 x_contact_point_rec => x_contact_point_rec,
6712 x_edi_rec => l_edi_rec,
6713 x_eft_rec => l_eft_rec,
6714 x_email_rec => l_email_rec,
6715 x_phone_rec => x_phone_rec,
6716 x_telex_rec => l_telex_rec,
6717 x_web_rec => l_web_rec,
6718 x_return_status => x_return_status,
6719 x_msg_count => x_msg_count,
6720 x_msg_data => x_msg_data
6721 );
6722
6723 -- Debug info.
6724 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
6725 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
6726 p_msg_data=>x_msg_data,
6727 p_msg_type=>'WARNING',
6728 p_msg_level=>fnd_log.level_exception);
6729 END IF;
6730 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
6731 hz_utility_v2pub.debug(p_message=>'get_phone_contact_point (-)',
6732 p_prefix=>l_debug_prefix,
6733 p_msg_level=>fnd_log.level_procedure);
6734 END IF;
6735
6736 -- Check if API is called in debug mode. If yes, disable debug.
6737 --disable_debug;
6738
6739 EXCEPTION
6740 WHEN fnd_api.g_exc_error THEN
6741 x_return_status := fnd_api.g_ret_sts_error;
6742
6743 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
6744 p_count => x_msg_count,
6745 p_data => x_msg_data);
6746
6747 -- Debug info.
6748 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
6749 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
6750 p_msg_data=>x_msg_data,
6751 p_msg_type=>'ERROR',
6752 p_msg_level=>fnd_log.level_error);
6753 END IF;
6754 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
6758 END IF;
6755 hz_utility_v2pub.debug(p_message=>'get_phone_contact_point (-)',
6756 p_prefix=>l_debug_prefix,
6757 p_msg_level=>fnd_log.level_procedure);
6759
6760 -- Check if API is called in debug mode. If yes, disable debug.
6761 --disable_debug;
6762
6763 WHEN fnd_api.g_exc_unexpected_error THEN
6764 x_return_status := fnd_api.g_ret_sts_unexp_error;
6765
6766 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
6767 p_count => x_msg_count,
6768 p_data => x_msg_data);
6769
6770 -- Debug info.
6771 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
6772 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
6773 p_msg_data=>x_msg_data,
6774 p_msg_type=>'UNEXPECTED ERROR',
6775 p_msg_level=>fnd_log.level_error);
6776 END IF;
6777 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
6778 hz_utility_v2pub.debug(p_message=>'get_phone_contact_point (-)',
6779 p_prefix=>l_debug_prefix,
6780 p_msg_level=>fnd_log.level_procedure);
6781 END IF;
6782
6783 -- Check if API is called in debug mode. If yes, disable debug.
6784 --disable_debug;
6785
6786 WHEN OTHERS THEN
6787 x_return_status := fnd_api.g_ret_sts_unexp_error;
6788
6789 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
6790 fnd_message.set_token('ERROR' ,SQLERRM);
6791 fnd_msg_pub.add;
6792
6793 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
6794 p_count => x_msg_count,
6795 p_data => x_msg_data);
6796
6797 -- Debug info.
6798 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
6799 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
6800 p_msg_data=>x_msg_data,
6801 p_msg_type=>'SQL ERROR',
6802 p_msg_level=>fnd_log.level_error);
6803 END IF;
6804 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
6805 hz_utility_v2pub.debug(p_message=>'get_phone_contact_point (-)',
6806 p_prefix=>l_debug_prefix,
6807 p_msg_level=>fnd_log.level_procedure);
6808 END IF;
6809
6810 -- Check if API is called in debug mode. If yes, disable debug.
6811 --disable_debug;
6812 END get_phone_contact_point;
6813
6814 --
6815 -- PROCEDURE get_telex_contact_point
6816 --
6817 -- DESCRIPTION
6818 -- Gets telex contact point record.
6819 --
6820 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
6821 --
6822 -- ARGUMENTS
6823 -- IN:
6824 -- p_init_msg_list Initialize message stack if it is set to
6825 -- FND_API.G_TRUE. Default is fnd_api.g_false.
6826 -- p_contact_point_id Contact point ID.
6827 -- IN/OUT:
6828 -- OUT:
6829 -- x_contact_point_rec Returned contact point record.
6830 -- x_telex_rec Returned telex record.
6831 -- x_return_status Return status after the call. The status can
6832 -- be fnd_api.g_ret_sts_success (success),
6833 -- fnd_api.g_ret_sts_error (error),
6834 -- fnd_api.g_ret_sts_unexp_error (unexpected error).
6835 -- x_msg_count Number of messages in message stack.
6836 -- x_msg_data Message text if x_msg_count is 1.
6837 --
6838 -- NOTES
6839 --
6840 -- MODIFICATION HISTORY
6841 --
6842 -- 07-23-2001 Jianying Huang o Created.
6843 -- 04-DEC-2001 Joe del Callar Bug 2136283: Added support for
6844 -- enhanced backward compatibility.
6845 --
6846
6847 PROCEDURE get_telex_contact_point (
6848 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
6849 p_contact_point_id IN NUMBER,
6850 x_contact_point_rec OUT NOCOPY contact_point_rec_type,
6851 x_telex_rec OUT NOCOPY telex_rec_type,
6852 x_return_status OUT NOCOPY VARCHAR2,
6853 x_msg_count OUT NOCOPY NUMBER,
6854 x_msg_data OUT NOCOPY VARCHAR2
6855 ) IS
6856 l_edi_rec edi_rec_type := g_miss_edi_rec;
6857 l_eft_rec eft_rec_type := g_miss_eft_rec;
6858 l_web_rec web_rec_type := g_miss_web_rec;
6859 l_phone_rec phone_rec_type := g_miss_phone_rec;
6860 l_email_rec email_rec_type := g_miss_email_rec;
6861 l_debug_prefix VARCHAR2(30) := '';
6862 BEGIN
6863 -- Check if API is called in debug mode. If yes, enable debug.
6864 --enable_debug;
6865
6866 -- Debug info.
6867 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
6868 hz_utility_v2pub.debug(p_message=>'get_telex_contact_point (+)',
6869 p_prefix=>l_debug_prefix,
6870 p_msg_level=>fnd_log.level_procedure);
6871 END IF;
6872
6873 -- Execute main procedure
6874 get_contact_point_main (
6875 p_init_msg_list => p_init_msg_list,
6879 x_eft_rec => l_eft_rec,
6876 p_contact_point_id => p_contact_point_id,
6877 x_contact_point_rec => x_contact_point_rec,
6878 x_edi_rec => l_edi_rec,
6880 x_email_rec => l_email_rec,
6881 x_phone_rec => l_phone_rec,
6882 x_telex_rec => x_telex_rec,
6883 x_web_rec => l_web_rec,
6884 x_return_status => x_return_status,
6885 x_msg_count => x_msg_count,
6886 x_msg_data => x_msg_data
6887 );
6888
6889 -- Debug info.
6890 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
6891 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
6892 p_msg_data=>x_msg_data,
6893 p_msg_type=>'WARNING',
6894 p_msg_level=>fnd_log.level_exception);
6895 END IF;
6896 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
6897 hz_utility_v2pub.debug(p_message=>'get_telex_contact_point (-)',
6898 p_prefix=>l_debug_prefix,
6899 p_msg_level=>fnd_log.level_procedure);
6900 END IF;
6901
6902 -- Check if API is called in debug mode. If yes, disable debug.
6903 --disable_debug;
6904
6905 EXCEPTION
6906 WHEN fnd_api.g_exc_error THEN
6907 x_return_status := fnd_api.g_ret_sts_error;
6908
6909 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
6910 p_count => x_msg_count,
6911 p_data => x_msg_data);
6912
6913 -- Debug info.
6914 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
6915 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
6916 p_msg_data=>x_msg_data,
6917 p_msg_type=>'ERROR',
6918 p_msg_level=>fnd_log.level_error);
6919 END IF;
6920 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
6921 hz_utility_v2pub.debug(p_message=>'get_telex_contact_point (-)',
6922 p_prefix=>l_debug_prefix,
6923 p_msg_level=>fnd_log.level_procedure);
6924 END IF;
6925
6926 -- Check if API is called in debug mode. If yes, disable debug.
6927 --disable_debug;
6928
6929 WHEN fnd_api.g_exc_unexpected_error THEN
6930 x_return_status := fnd_api.g_ret_sts_unexp_error;
6931
6932 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
6933 p_count => x_msg_count,
6934 p_data => x_msg_data);
6935
6936 -- Debug info.
6937 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
6938 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
6939 p_msg_data=>x_msg_data,
6940 p_msg_type=>'UNEXPECTED ERROR',
6941 p_msg_level=>fnd_log.level_error);
6942 END IF;
6943 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
6944 hz_utility_v2pub.debug(p_message=>'get_telex_contact_point (-)',
6945 p_prefix=>l_debug_prefix,
6946 p_msg_level=>fnd_log.level_procedure);
6947 END IF;
6948
6949 -- Check if API is called in debug mode. If yes, disable debug.
6950 --disable_debug;
6951
6952 WHEN OTHERS THEN
6953 x_return_status := fnd_api.g_ret_sts_unexp_error;
6954
6955 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
6956 fnd_message.set_token('ERROR' ,SQLERRM);
6957 fnd_msg_pub.add;
6958
6959 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
6960 p_count => x_msg_count,
6961 p_data => x_msg_data);
6962
6963 -- Debug info.
6964 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
6965 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
6966 p_msg_data=>x_msg_data,
6967 p_msg_type=>'SQL ERROR',
6968 p_msg_level=>fnd_log.level_error);
6969 END IF;
6970 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
6971 hz_utility_v2pub.debug(p_message=>'get_telex_contact_point (-)',
6972 p_prefix=>l_debug_prefix,
6973 p_msg_level=>fnd_log.level_procedure);
6974 END IF;
6975
6976 -- Check if API is called in debug mode. If yes, disable debug.
6977 --disable_debug;
6978 END get_telex_contact_point;
6979
6980 --
6981 -- PROCEDURE get_email_contact_point
6982 --
6983 -- DESCRIPTION
6984 -- Gets email contact point record.
6985 --
6986 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
6987 --
6988 -- ARGUMENTS
6989 -- IN:
6990 -- p_init_msg_list Initialize message stack if it is set to
6991 -- FND_API.G_TRUE. Default is fnd_api.g_false.
6992 -- p_contact_point_id Contact point ID.
6993 -- IN/OUT:
6994 -- OUT:
6995 -- x_contact_point_rec Returned contact point record.
6996 -- x_email_rec Returned email record.
6997 -- x_return_status Return status after the call. The status can
6998 -- be fnd_api.g_ret_sts_success (success),
6999 -- fnd_api.g_ret_sts_error (error),
7000 -- fnd_api.g_ret_sts_unexp_error (unexpected error).
7001 -- x_msg_count Number of messages in message stack.
7002 -- x_msg_data Message text if x_msg_count is 1.
7006 -- MODIFICATION HISTORY
7003 --
7004 -- NOTES
7005 --
7007 --
7008 -- 07-23-2001 Jianying Huang o Created.
7009 -- 04-DEC-2001 Joe del Callar Bug 2136283: Added support for
7010 -- enhanced backward compatibility.
7011 --
7012
7013 PROCEDURE get_email_contact_point (
7014 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
7015 p_contact_point_id IN NUMBER,
7016 x_contact_point_rec OUT NOCOPY contact_point_rec_type,
7017 x_email_rec OUT NOCOPY email_rec_type,
7018 x_return_status OUT NOCOPY VARCHAR2,
7019 x_msg_count OUT NOCOPY NUMBER,
7020 x_msg_data OUT NOCOPY VARCHAR2
7021 ) IS
7022 l_edi_rec edi_rec_type := g_miss_edi_rec;
7023 l_eft_rec eft_rec_type := g_miss_eft_rec;
7024 l_web_rec web_rec_type := g_miss_web_rec;
7025 l_phone_rec phone_rec_type := g_miss_phone_rec;
7026 l_telex_rec telex_rec_type := g_miss_telex_rec;
7027 l_debug_prefix VARCHAR2(30) := '';
7028 BEGIN
7029 -- Check if API is called in debug mode. If yes, enable debug.
7030 --enable_debug;
7031
7032 -- Debug info.
7033 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
7034 hz_utility_v2pub.debug(p_message=>'get_email_contact_point (+)',
7035 p_prefix=>l_debug_prefix,
7036 p_msg_level=>fnd_log.level_procedure);
7037 END IF;
7038
7039
7040 -- Execute main procedure
7041 get_contact_point_main (
7042 p_init_msg_list => p_init_msg_list,
7043 p_contact_point_id => p_contact_point_id,
7044 x_contact_point_rec => x_contact_point_rec,
7045 x_edi_rec => l_edi_rec,
7046 x_eft_rec => l_eft_rec,
7047 x_email_rec => x_email_rec,
7048 x_phone_rec => l_phone_rec,
7049 x_telex_rec => l_telex_rec,
7050 x_web_rec => l_web_rec,
7054 );
7051 x_return_status => x_return_status,
7052 x_msg_count => x_msg_count,
7053 x_msg_data => x_msg_data
7055
7056 -- Debug info.
7057 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
7058 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
7059 p_msg_data=>x_msg_data,
7060 p_msg_type=>'WARNING',
7061 p_msg_level=>fnd_log.level_exception);
7062 END IF;
7063 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
7064 hz_utility_v2pub.debug(p_message=>'get_email_contact_point (-)',
7065 p_prefix=>l_debug_prefix,
7066 p_msg_level=>fnd_log.level_procedure);
7067 END IF;
7068
7069 -- Check if API is called in debug mode. If yes, disable debug.
7070 --disable_debug;
7071
7072 EXCEPTION
7073 WHEN fnd_api.g_exc_error THEN
7074 x_return_status := fnd_api.g_ret_sts_error;
7075
7076 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
7077 p_count => x_msg_count,
7078 p_data => x_msg_data);
7079
7080 -- Debug info.
7081 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
7082 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
7083 p_msg_data=>x_msg_data,
7084 p_msg_type=>'ERROR',
7085 p_msg_level=>fnd_log.level_error);
7086 END IF;
7087 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
7088 hz_utility_v2pub.debug(p_message=>'get_email_contact_point (-)',
7092
7089 p_prefix=>l_debug_prefix,
7090 p_msg_level=>fnd_log.level_procedure);
7091 END IF;
7093 -- Check if API is called in debug mode. If yes, disable debug.
7094 --disable_debug;
7095
7096 WHEN fnd_api.g_exc_unexpected_error THEN
7097 x_return_status := fnd_api.g_ret_sts_unexp_error;
7098
7099 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
7100 p_count => x_msg_count,
7101 p_data => x_msg_data);
7102
7103 -- Debug info.
7104 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
7105 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
7106 p_msg_data=>x_msg_data,
7107 p_msg_type=>'UNEXPECTED ERROR',
7108 p_msg_level=>fnd_log.level_error);
7109 END IF;
7110 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
7111 hz_utility_v2pub.debug(p_message=>'get_email_contact_point (-)',
7112 p_prefix=>l_debug_prefix,
7113 p_msg_level=>fnd_log.level_procedure);
7114 END IF;
7115
7116 -- Check if API is called in debug mode. If yes, disable debug.
7117 --disable_debug;
7118
7119 WHEN OTHERS THEN
7120 x_return_status := fnd_api.g_ret_sts_unexp_error;
7121
7122 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
7123 fnd_message.set_token('ERROR' ,SQLERRM);
7124 fnd_msg_pub.add;
7125
7126 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
7127 p_count => x_msg_count,
7128 p_data => x_msg_data);
7129
7130 -- Debug info.
7131 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
7132 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
7133 p_msg_data=>x_msg_data,
7134 p_msg_type=>'SQL ERROR',
7135 p_msg_level=>fnd_log.level_error);
7136 END IF;
7137 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
7138 hz_utility_v2pub.debug(p_message=>'get_email_contact_point (-)',
7139 p_prefix=>l_debug_prefix,
7140 p_msg_level=>fnd_log.level_procedure);
7141 END IF;
7142
7143 -- Check if API is called in debug mode. If yes, disable debug.
7144 --disable_debug;
7145 END get_email_contact_point;
7146
7147 /*----------------------------------------------------------------------------*
7148 | procedure |
7149 | update_contact_point_search |
7150 | |
7151 | DESCRIPTION |
7152 | This procedure updates the address_text column of |
7153 | hz_cust_acct_sites_all with the NULL value |
7154 | only to change the address_text column status |
7155 | so that interMedia index can be created on it to perform text searches. |
7156 | |
7157 | NOTE :- After Calling this procedure the user has to execute the |
7158 | Customer Text Data Creation concurrent program to see the changes. |
7159 | |
7160 | PARAMETERS |
7161 | INPUT |
7162 | p_cp_rec |
7163 | p_old_phone_rec |
7164 | p_new_phone_rec |
7165 | p_old_email_rec |
7166 | p_new_email_rec |
7167 | |
7168 | |
7169 | |
7170 | OUTPUT |
7171 | |
7172 | |
7173 | HISTORY |
7174 | 15-Mar-2004 Ramesh Ch Created |
7175 *----------------------------------------------------------------------------*/
7176
7177 PROCEDURE update_contact_point_search(p_cp_rec IN HZ_CONTACT_POINT_V2PUB.CONTACT_POINT_REC_TYPE,
7181 p_new_email_rec IN HZ_CONTACT_POINT_V2PUB.email_rec_type
7178 p_old_phone_rec IN HZ_CONTACT_POINT_V2PUB.phone_rec_type,
7179 p_new_phone_rec IN HZ_CONTACT_POINT_V2PUB.phone_rec_type,
7180 p_old_email_rec IN HZ_CONTACT_POINT_V2PUB.email_rec_type,
7182 )
7183 IS
7184
7185 ----(Party level Contact Point)
7186 CURSOR c_pl_cp(p_party_id NUMBER) IS
7187 SELECT ac.CUST_ACCT_SITE_ID
7188 FROM HZ_CUST_ACCOUNTS c,HZ_CUST_ACCT_SITES_ALL ac
7189 WHERE c.party_id=p_party_id
7190 AND c.cust_account_id = ac.cust_account_id;
7191
7192 ----(Site level contact point)
7193 CURSOR c_sl_cp(p_party_site_id NUMBER) IS
7194 SELECT ac.CUST_ACCT_SITE_ID
7195 FROM HZ_PARTY_SITES ps,
7196 HZ_CUST_ACCT_SITES_ALL ac
7197 WHERE ps.PARTY_SITE_ID=p_party_site_id
7198 AND ps.PARTY_SITE_ID=ac.PARTY_SITE_ID;
7199
7200 ----(Party level relationship's contact point )
7201 CURSOR c_pl_rel_cp(p_party_id NUMBER) IS
7202 SELECT distinct ac.CUST_ACCT_SITE_ID
7203 FROM HZ_PARTIES p, HZ_CUST_ACCOUNT_ROLES ar,
7204 HZ_RELATIONSHIPS rel,HZ_CUST_ACCT_SITES_ALL ac
7205 WHERE rel.party_id=p_party_id
7206 AND ar.ROLE_TYPE = 'CONTACT'
7207 AND rel.party_id=ar.party_id
7208 AND rel.subject_id=p.party_id
7209 AND ar.cust_account_id = ac.cust_account_id
7210 AND (ar.cust_acct_site_id is null);
7211
7212 -----(Site Level relationship's contact point )
7213 CURSOR c_sl_rel_cp(p_party_id NUMBER) IS
7214 SELECT distinct ac.CUST_ACCT_SITE_ID
7215 FROM HZ_PARTIES p, HZ_CUST_ACCOUNT_ROLES ar,
7216 HZ_RELATIONSHIPS rel,HZ_CUST_ACCT_SITES_ALL ac
7217 WHERE rel.party_id=p_party_id
7218 AND ar.ROLE_TYPE = 'CONTACT'
7219 AND ar.party_id = rel.party_id
7220 AND p.party_id = rel.subject_id
7221 AND ar.cust_account_id = ac.cust_account_id
7222 AND ar.cust_acct_site_id = ac.cust_acct_site_id;
7223
7224 CURSOR c_party_type(p_party_id NUMBER) IS
7225 SELECT party_type
7226 FROM HZ_PARTIES
7227 WHERE party_id=p_party_id;
7228
7229 l_owner_table_name HZ_CONTACT_POINTS.OWNER_TABLE_NAME%TYPE;
7230 l_contact_point_type HZ_CONTACT_POINTS.CONTACT_POINT_TYPE%TYPE;
7231 TYPE siteidtab IS TABLE OF HZ_CUST_ACCT_SITES_ALL.CUST_ACCT_SITE_ID%TYPE;
7232 l_siteidtab siteidtab;
7233 l_party_type HZ_PARTIES.PARTY_TYPE%TYPE;
7234 BEGIN
7235 savepoint update_contact_point_search;
7236
7237 l_owner_table_name := p_cp_rec.owner_table_name;
7238 l_contact_point_type := p_cp_rec.contact_point_type;
7239
7240 IF (l_owner_table_name='HZ_PARTY_SITES' AND l_contact_point_type NOT IN ('EDI', 'EMAIL', 'WEB'))
7241 OR (l_owner_table_name='HZ_PARTIES' AND l_contact_point_type NOT IN ('EDI','WEB'))
7242 THEN
7243 IF( isModified( p_old_phone_rec.phone_number ,p_new_phone_rec.phone_number)
7244 OR isModified(p_old_phone_rec.phone_area_code ,p_new_phone_rec.phone_area_code)
7245 OR isModified(p_old_phone_rec.phone_country_code ,p_new_phone_rec.phone_country_code)
7246 OR isModified(p_old_email_rec.email_address ,p_new_email_rec.email_address)
7247 ) THEN
7248 IF l_owner_table_name ='HZ_PARTY_SITES'
7249 THEN
7250 OPEN c_sl_cp(p_cp_rec.owner_table_id);
7251 FETCH c_sl_cp BULK COLLECT INTO l_siteidtab;
7252 CLOSE c_sl_cp;
7253 IF l_siteidtab.COUNT >0 THEN
7254 FORALL i IN l_siteidtab.FIRST..l_siteidtab.LAST
7255 update HZ_CUST_ACCT_SITES_ALL set address_text=NULL where cust_acct_site_id=l_siteidtab(i);
7256 END IF;
7257 ELSE ---l_owner_table_name ='HZ_PARTIES'
7258 OPEN c_party_type(p_cp_rec.owner_table_id);
7259 FETCH c_party_type INTO l_party_type;
7260 CLOSE c_party_type;
7261 IF l_party_type='PARTY_RELATIONSHIP' THEN
7262 --Process party level relationship's records
7263 OPEN c_pl_rel_cp(p_cp_rec.owner_table_id);
7264 FETCH c_pl_rel_cp BULK COLLECT INTO l_siteidtab;
7265 CLOSE c_pl_rel_cp;
7266 IF l_siteidtab.COUNT >0 THEN
7267 FORALL i IN l_siteidtab.FIRST..l_siteidtab.LAST
7268 update HZ_CUST_ACCT_SITES_ALL set address_text=NULL where cust_acct_site_id=l_siteidtab(i);
7269 END IF;
7270 --Process site level relationship's records
7271 OPEN c_sl_rel_cp(p_cp_rec.owner_table_id);
7272 FETCH c_sl_rel_cp BULK COLLECT INTO l_siteidtab;
7273 CLOSE c_sl_rel_cp;
7274 IF l_siteidtab.COUNT >0 THEN
7275 FORALL i IN l_siteidtab.FIRST..l_siteidtab.LAST
7276 update HZ_CUST_ACCT_SITES_ALL set address_text=NULL where cust_acct_site_id=l_siteidtab(i);
7280 FETCH c_pl_cp BULK COLLECT INTO l_siteidtab;
7277 END IF;
7278 ELSE
7279 OPEN c_pl_cp(p_cp_rec.owner_table_id);
7281 CLOSE c_pl_cp;
7282 IF l_siteidtab.COUNT >0 THEN
7283 FORALL i IN l_siteidtab.FIRST..l_siteidtab.LAST
7284 update HZ_CUST_ACCT_SITES_ALL set address_text=NULL where cust_acct_site_id=l_siteidtab(i);
7285 END IF;
7286 END IF;
7287 END IF;
7288 END IF;
7289 END IF;
7290 EXCEPTION
7291 WHEN OTHERS THEN
7292 ROLLBACK TO update_contact_point_search;
7293 RAISE;
7294 END;
7295 FUNCTION isModified(p_old_value IN VARCHAR2,p_new_value IN VARCHAR2) RETURN BOOLEAN
7296 IS
7297 BEGIN
7298 IF p_new_value IS NOT NULL AND p_new_value <> FND_API.G_MISS_CHAR THEN
7299 RETURN NVL(NOT (p_old_value=p_new_value),TRUE);
7300 ELSIF (p_old_value IS NOT NULL AND p_old_value <> FND_API.G_MISS_CHAR)
7301 AND p_new_value = FND_API.G_MISS_CHAR THEN
7302 RETURN TRUE;
7303 ELSE
7304 RETURN FALSE;
7305 END IF;
7306 END;
7307
7308 END hz_contact_point_v2pub;