[Home] [Help]
PACKAGE BODY: APPS.HZ_CONTACT_POINT_BO_PVT
Source
1 PACKAGE BODY hz_contact_point_bo_pvt AS
2 /*$Header: ARHBCPVB.pls 120.6 2006/05/18 22:23:48 acng noship $ */
3
4 -- PROCEDURE save_contact_points
5 --
6 -- DESCRIPTION
7 -- Create or update contact points.
8 --
9 -- EXTERNAL PROCEDURES/FUNCTIONS ACCESSED
10 --
11 -- ARGUMENTS
12 -- IN:
13 -- p_phone_objs List of phone business objects.
14 -- p_telex_objs List of telex business objects.
15 -- p_email_objs List of email business objects.
16 -- p_web_objs List of web business objects.
17 -- p_edi_objs List of edi business objects.
18 -- p_eft_objs List of eft business objects.
19 -- p_sms_objs List of sms business objects.
20 -- p_owner_table_id Owner table Id.
21 -- p_owner_table_os Owner table original system.
22 -- p_owner_table_osr Owner table original system reference.
23 -- p_parent_obj_type Parent object type.
24 -- p_create_update_flag Create or update flag.
25 -- OUT:
26 -- x_return_status Return status after the call. The status can
27 -- be fnd_api.g_ret_sts_success (success),
28 -- fnd_api.g_ret_sts_error (error),
29 -- FND_API.G_RET_STS_UNEXP_ERROR (unexpected error).
30 -- x_msg_count Number of messages in message stack.
31 -- x_msg_data Message text if x_msg_count is 1.
32 --
33 -- NOTES
34 --
35 -- MODIFICATION HISTORY
36 --
37 -- 14-DEC-2004 Arnold Ng Created.
38 --
39
40 PROCEDURE save_contact_points(
41 p_phone_objs IN OUT NOCOPY HZ_PHONE_CP_BO_TBL,
42 p_telex_objs IN OUT NOCOPY HZ_TELEX_CP_BO_TBL,
43 p_email_objs IN OUT NOCOPY HZ_EMAIL_CP_BO_TBL,
44 p_web_objs IN OUT NOCOPY HZ_WEB_CP_BO_TBL,
45 p_edi_objs IN OUT NOCOPY HZ_EDI_CP_BO_TBL,
46 p_eft_objs IN OUT NOCOPY HZ_EFT_CP_BO_TBL,
47 p_sms_objs IN OUT NOCOPY HZ_SMS_CP_BO_TBL,
48 p_owner_table_id IN NUMBER,
49 p_owner_table_os IN VARCHAR2,
50 p_owner_table_osr IN VARCHAR2,
51 p_parent_obj_type IN VARCHAR2,
52 p_create_update_flag IN VARCHAR2,
53 p_obj_source IN VARCHAR2 := null,
54 x_return_status OUT NOCOPY VARCHAR2,
55 x_msg_count OUT NOCOPY NUMBER,
56 x_msg_data OUT NOCOPY VARCHAR2
57 )IS
58 l_cp_id NUMBER;
59 l_cp_os VARCHAR2(30);
60 l_cp_osr VARCHAR2(255);
61 l_owner_table_id NUMBER;
62 l_owner_table_os VARCHAR2(30);
63 l_owner_table_osr VARCHAR2(255);
64 l_parent_obj_type VARCHAR2(30);
65 l_debug_prefix VARCHAR2(30);
66 l_current_cp_type VARCHAR2(30);
67 l_cbm VARCHAR2(30);
68 BEGIN
69 -- initialize API return status to success.
70 x_return_status := FND_API.G_RET_STS_SUCCESS;
71
72 -- Debug info.
73 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
74 hz_utility_v2pub.debug(p_message=>'save_contact_points(+)',
75 p_prefix=>l_debug_prefix,
76 p_msg_level=>fnd_log.level_procedure);
77 END IF;
78
79 l_owner_table_id := p_owner_table_id;
80 l_owner_table_os := p_owner_table_os;
81 l_owner_table_osr := p_owner_table_osr;
82 l_parent_obj_type := p_parent_obj_type;
83
84 l_cbm := HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE;
85
86 IF(p_create_update_flag = 'C') THEN
87 -----------------------------
88 -- Create phone contact point
89 -----------------------------
90 IF((p_phone_objs IS NOT NULL) AND (p_phone_objs.COUNT > 0)) THEN
91 l_current_cp_type := 'PHONE';
92
93 FOR i IN 1..p_phone_objs.COUNT LOOP
94 HZ_CONTACT_POINT_BO_PUB.do_create_contact_point(
95 p_init_msg_list => FND_API.G_FALSE,
96 p_validate_bo_flag => FND_API.G_FALSE,
97 p_cp_id => p_phone_objs(i).phone_id,
98 p_cp_os => p_phone_objs(i).orig_system,
99 p_cp_osr => p_phone_objs(i).orig_system_reference,
100 p_phone_obj => p_phone_objs(i),
101 p_email_obj => NULL,
102 p_telex_obj => NULL,
103 p_web_obj => NULL,
104 p_edi_obj => NULL,
105 p_eft_obj => NULL,
106 p_sms_obj => NULL,
107 p_cp_pref_objs => p_phone_objs(i).contact_pref_objs,
108 p_cp_type => l_current_cp_type,
109 p_created_by_module => HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE,
110 p_obj_source => p_obj_source,
111 x_return_status => x_return_status,
112 x_msg_count => x_msg_count,
113 x_msg_data => x_msg_data,
114 x_cp_id => l_cp_id,
115 x_cp_os => l_cp_os,
116 x_cp_osr => l_cp_osr,
117 px_parent_id => l_owner_table_id,
118 px_parent_os => l_owner_table_os,
119 px_parent_osr => l_owner_table_osr,
120 px_parent_obj_type => l_parent_obj_type
121 );
122 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
123 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
124 hz_utility_v2pub.debug(p_message=>'Create PHONE - Error occurred at hz_contact_point_bo_pvt.save_contact_points: '||l_cp_id||' '||l_cp_os||' '||l_cp_osr||', owner table: '||l_owner_table_id||' '||l_owner_table_os||' '||l_owner_table_osr,
125 p_prefix=>l_debug_prefix,
126 p_msg_level=>fnd_log.level_procedure);
127 END IF;
128 RAISE FND_API.G_EXC_ERROR;
129 END IF;
130
131 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := l_cbm;
132 p_phone_objs(i).phone_id := l_cp_id;
133 END LOOP;
134 END IF;
135
136 -----------------------------
137 -- Create telex contact point
138 -----------------------------
139 IF((p_telex_objs IS NOT NULL) AND (p_telex_objs.COUNT > 0)) THEN
140 l_current_cp_type := 'TLX';
141
142 FOR i IN 1..p_telex_objs.COUNT LOOP
143 HZ_CONTACT_POINT_BO_PUB.do_create_contact_point(
144 p_init_msg_list => FND_API.G_FALSE,
145 p_validate_bo_flag => FND_API.G_FALSE,
146 p_cp_id => p_telex_objs(i).telex_id,
147 p_cp_os => p_telex_objs(i).orig_system,
148 p_cp_osr => p_telex_objs(i).orig_system_reference,
149 p_phone_obj => NULL,
150 p_email_obj => NULL,
151 p_telex_obj => p_telex_objs(i),
152 p_web_obj => NULL,
153 p_edi_obj => NULL,
154 p_eft_obj => NULL,
155 p_sms_obj => NULL,
156 p_cp_pref_objs => p_telex_objs(i).contact_pref_objs,
157 p_cp_type => l_current_cp_type,
158 p_created_by_module => HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE,
159 p_obj_source => p_obj_source,
160 x_return_status => x_return_status,
161 x_msg_count => x_msg_count,
162 x_msg_data => x_msg_data,
163 x_cp_id => l_cp_id,
164 x_cp_os => l_cp_os,
165 x_cp_osr => l_cp_osr,
166 px_parent_id => l_owner_table_id,
167 px_parent_os => l_owner_table_os,
168 px_parent_osr => l_owner_table_osr,
169 px_parent_obj_type => l_parent_obj_type
170 );
171 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
172 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
173 hz_utility_v2pub.debug(p_message=>'Create TLX - Error occurred at hz_contact_point_bo_pvt.save_contact_points: '||l_cp_id||' '||l_cp_os||' '||l_cp_osr||', owner table: '||l_owner_table_id||' '||l_owner_table_os||' '||l_owner_table_osr,
174 p_prefix=>l_debug_prefix,
175 p_msg_level=>fnd_log.level_procedure);
176 END IF;
177 RAISE FND_API.G_EXC_ERROR;
178 END IF;
179
180 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := l_cbm;
181 p_telex_objs(i).telex_id := l_cp_id;
182 END LOOP;
183 END IF;
184
185 -----------------------------
186 -- Create email contact point
187 -----------------------------
188 IF((p_email_objs IS NOT NULL) AND (p_email_objs.COUNT > 0)) THEN
189 l_current_cp_type := 'EMAIL';
190
191 FOR i IN 1..p_email_objs.COUNT LOOP
192 HZ_CONTACT_POINT_BO_PUB.do_create_contact_point(
193 p_init_msg_list => FND_API.G_FALSE,
194 p_validate_bo_flag => FND_API.G_FALSE,
195 p_cp_id => p_email_objs(i).email_id,
196 p_cp_os => p_email_objs(i).orig_system,
197 p_cp_osr => p_email_objs(i).orig_system_reference,
198 p_phone_obj => NULL,
199 p_email_obj => p_email_objs(i),
200 p_telex_obj => NULL,
201 p_web_obj => NULL,
202 p_edi_obj => NULL,
203 p_eft_obj => NULL,
204 p_sms_obj => NULL,
205 p_cp_pref_objs => p_email_objs(i).contact_pref_objs,
206 p_cp_type => l_current_cp_type,
207 p_created_by_module => HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE,
208 p_obj_source => p_obj_source,
209 x_return_status => x_return_status,
210 x_msg_count => x_msg_count,
211 x_msg_data => x_msg_data,
212 x_cp_id => l_cp_id,
213 x_cp_os => l_cp_os,
214 x_cp_osr => l_cp_osr,
215 px_parent_id => l_owner_table_id,
216 px_parent_os => l_owner_table_os,
217 px_parent_osr => l_owner_table_osr,
218 px_parent_obj_type => l_parent_obj_type
219 );
220 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
221 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
222 hz_utility_v2pub.debug(p_message=>'Create EMAIL - Error occurred at hz_contact_point_bo_pvt.save_contact_points: '||l_cp_id||' '||l_cp_os||' '||l_cp_osr||', owner table: '||l_owner_table_id||' '||l_owner_table_os||' '||l_owner_table_osr,
223 p_prefix=>l_debug_prefix,
224 p_msg_level=>fnd_log.level_procedure);
225 END IF;
226 RAISE FND_API.G_EXC_ERROR;
227 END IF;
228
229 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := l_cbm;
230 p_email_objs(i).email_id := l_cp_id;
231 END LOOP;
232 END IF;
233
234 -----------------------------
235 -- Create web contact point
236 -----------------------------
237 IF((p_web_objs IS NOT NULL) AND (p_web_objs.COUNT > 0)) THEN
238 l_current_cp_type := 'WEB';
239
240 FOR i IN 1..p_web_objs.COUNT LOOP
241 HZ_CONTACT_POINT_BO_PUB.do_create_contact_point(
242 p_init_msg_list => FND_API.G_FALSE,
243 p_validate_bo_flag => FND_API.G_FALSE,
244 p_cp_id => p_web_objs(i).web_id,
245 p_cp_os => p_web_objs(i).orig_system,
246 p_cp_osr => p_web_objs(i).orig_system_reference,
247 p_phone_obj => NULL,
248 p_email_obj => NULL,
249 p_telex_obj => NULL,
250 p_web_obj => p_web_objs(i),
251 p_edi_obj => NULL,
252 p_eft_obj => NULL,
253 p_sms_obj => NULL,
254 p_cp_pref_objs => p_web_objs(i).contact_pref_objs,
255 p_cp_type => l_current_cp_type,
256 p_created_by_module => HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE,
257 p_obj_source => p_obj_source,
258 x_return_status => x_return_status,
259 x_msg_count => x_msg_count,
260 x_msg_data => x_msg_data,
261 x_cp_id => l_cp_id,
262 x_cp_os => l_cp_os,
263 x_cp_osr => l_cp_osr,
264 px_parent_id => l_owner_table_id,
265 px_parent_os => l_owner_table_os,
266 px_parent_osr => l_owner_table_osr,
267 px_parent_obj_type => l_parent_obj_type
268 );
269 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
270 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
271 hz_utility_v2pub.debug(p_message=>'Create WEB - Error occurred at hz_contact_point_bo_pvt.save_contact_points: '||l_cp_id||' '||l_cp_os||' '||l_cp_osr||', owner table: '||l_owner_table_id||' '||l_owner_table_os||' '||l_owner_table_osr,
272 p_prefix=>l_debug_prefix,
273 p_msg_level=>fnd_log.level_procedure);
274 END IF;
275 RAISE FND_API.G_EXC_ERROR;
276 END IF;
277
278 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := l_cbm;
279 p_web_objs(i).web_id := l_cp_id;
280 END LOOP;
281 END IF;
282
283 -----------------------------
284 -- Create edi contact point
285 -----------------------------
286 IF((p_edi_objs IS NOT NULL) AND (p_edi_objs.COUNT > 0)) THEN
287 l_current_cp_type := 'EDI';
288
289 FOR i IN 1..p_edi_objs.COUNT LOOP
290 HZ_CONTACT_POINT_BO_PUB.do_create_contact_point(
291 p_init_msg_list => FND_API.G_FALSE,
292 p_validate_bo_flag => FND_API.G_FALSE,
293 p_cp_id => p_edi_objs(i).edi_id,
294 p_cp_os => p_edi_objs(i).orig_system,
295 p_cp_osr => p_edi_objs(i).orig_system_reference,
296 p_phone_obj => NULL,
297 p_email_obj => NULL,
298 p_telex_obj => NULL,
299 p_web_obj => NULL,
300 p_edi_obj => p_edi_objs(i),
301 p_eft_obj => NULL,
302 p_sms_obj => NULL,
303 p_cp_pref_objs => p_edi_objs(i).contact_pref_objs,
304 p_cp_type => l_current_cp_type,
305 p_created_by_module => HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE,
306 p_obj_source => p_obj_source,
307 x_return_status => x_return_status,
308 x_msg_count => x_msg_count,
309 x_msg_data => x_msg_data,
310 x_cp_id => l_cp_id,
311 x_cp_os => l_cp_os,
312 x_cp_osr => l_cp_osr,
313 px_parent_id => l_owner_table_id,
314 px_parent_os => l_owner_table_os,
315 px_parent_osr => l_owner_table_osr,
316 px_parent_obj_type => l_parent_obj_type
317 );
318 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
319 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
320 hz_utility_v2pub.debug(p_message=>'Create EDI - Error occurred at hz_contact_point_bo_pvt.save_contact_points: '||l_cp_id||' '||l_cp_os||' '||l_cp_osr||', owner table: '||l_owner_table_id||' '||l_owner_table_os||' '||l_owner_table_osr,
321 p_prefix=>l_debug_prefix,
322 p_msg_level=>fnd_log.level_procedure);
323 END IF;
324 RAISE FND_API.G_EXC_ERROR;
325 END IF;
326
327 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := l_cbm;
328 p_edi_objs(i).edi_id := l_cp_id;
329 END LOOP;
330 END IF;
331
332 -----------------------------
333 -- Create eft contact point
334 -----------------------------
335 IF((p_eft_objs IS NOT NULL) AND (p_eft_objs.COUNT > 0)) THEN
336 l_current_cp_type := 'EFT';
337
338 FOR i IN 1..p_eft_objs.COUNT LOOP
339 HZ_CONTACT_POINT_BO_PUB.do_create_contact_point(
340 p_init_msg_list => FND_API.G_FALSE,
341 p_validate_bo_flag => FND_API.G_FALSE,
342 p_cp_id => p_eft_objs(i).eft_id,
343 p_cp_os => p_eft_objs(i).orig_system,
344 p_cp_osr => p_eft_objs(i).orig_system_reference,
345 p_phone_obj => NULL,
346 p_email_obj => NULL,
347 p_telex_obj => NULL,
348 p_web_obj => NULL,
349 p_edi_obj => NULL,
350 p_eft_obj => p_eft_objs(i),
351 p_sms_obj => NULL,
352 p_cp_pref_objs => p_eft_objs(i).contact_pref_objs,
353 p_cp_type => l_current_cp_type,
354 p_created_by_module => HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE,
355 p_obj_source => p_obj_source,
356 x_return_status => x_return_status,
357 x_msg_count => x_msg_count,
358 x_msg_data => x_msg_data,
359 x_cp_id => l_cp_id,
360 x_cp_os => l_cp_os,
361 x_cp_osr => l_cp_osr,
362 px_parent_id => l_owner_table_id,
363 px_parent_os => l_owner_table_os,
364 px_parent_osr => l_owner_table_osr,
365 px_parent_obj_type => l_parent_obj_type
366 );
367 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
368 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
369 hz_utility_v2pub.debug(p_message=>'Create EFT - Error occurred at hz_contact_point_bo_pvt.save_contact_points: '||l_cp_id||' '||l_cp_os||' '||l_cp_osr||', owner table: '||l_owner_table_id||' '||l_owner_table_os||' '||l_owner_table_osr,
370 p_prefix=>l_debug_prefix,
371 p_msg_level=>fnd_log.level_procedure);
372 END IF;
373 RAISE FND_API.G_EXC_ERROR;
374 END IF;
375
376 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := l_cbm;
377 p_eft_objs(i).eft_id := l_cp_id;
378 END LOOP;
379 END IF;
380
381 -----------------------------
382 -- Create sms contact point
383 -----------------------------
384 IF((p_sms_objs IS NOT NULL) AND (p_sms_objs.COUNT > 0)) THEN
385 l_current_cp_type := 'SMS';
386
387 FOR i IN 1..p_sms_objs.COUNT LOOP
388 HZ_CONTACT_POINT_BO_PUB.do_create_contact_point(
389 p_init_msg_list => FND_API.G_FALSE,
390 p_validate_bo_flag => FND_API.G_FALSE,
391 p_cp_id => p_sms_objs(i).sms_id,
392 p_cp_os => p_sms_objs(i).orig_system,
393 p_cp_osr => p_sms_objs(i).orig_system_reference,
394 p_phone_obj => NULL,
395 p_email_obj => NULL,
396 p_telex_obj => NULL,
397 p_web_obj => NULL,
398 p_edi_obj => NULL,
399 p_eft_obj => NULL,
400 p_sms_obj => p_sms_objs(i),
401 p_cp_pref_objs => p_sms_objs(i).contact_pref_objs,
402 p_cp_type => l_current_cp_type,
403 p_created_by_module => HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE,
404 p_obj_source => p_obj_source,
405 x_return_status => x_return_status,
406 x_msg_count => x_msg_count,
407 x_msg_data => x_msg_data,
408 x_cp_id => l_cp_id,
409 x_cp_os => l_cp_os,
410 x_cp_osr => l_cp_osr,
411 px_parent_id => l_owner_table_id,
412 px_parent_os => l_owner_table_os,
413 px_parent_osr => l_owner_table_osr,
414 px_parent_obj_type => l_parent_obj_type
415 );
416 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
417 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
418 hz_utility_v2pub.debug(p_message=>'Create SMS - Error occurred at hz_contact_point_bo_pvt.save_contact_points: '||l_cp_id||' '||l_cp_os||' '||l_cp_osr||', owner table: '||l_owner_table_id||' '||l_owner_table_os||' '||l_owner_table_osr,
419 p_prefix=>l_debug_prefix,
420 p_msg_level=>fnd_log.level_procedure);
421 END IF;
422 RAISE FND_API.G_EXC_ERROR;
423 END IF;
424
425 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := l_cbm;
426 p_sms_objs(i).sms_id := l_cp_id;
427 END LOOP;
428 END IF;
429 ELSE
430 -----------------------------
431 -- Save phone contact point
432 -----------------------------
433 IF((p_phone_objs IS NOT NULL) AND (p_phone_objs.COUNT > 0)) THEN
434 l_current_cp_type := 'PHONE';
435
436 FOR i IN 1..p_phone_objs.COUNT LOOP
437 HZ_CONTACT_POINT_BO_PUB.do_save_contact_point(
438 p_init_msg_list => FND_API.G_FALSE,
439 p_validate_bo_flag => FND_API.G_FALSE,
440 p_cp_id => p_phone_objs(i).phone_id,
441 p_cp_os => p_phone_objs(i).orig_system,
442 p_cp_osr => p_phone_objs(i).orig_system_reference,
443 p_phone_obj => p_phone_objs(i),
444 p_email_obj => NULL,
445 p_telex_obj => NULL,
446 p_web_obj => NULL,
447 p_edi_obj => NULL,
448 p_eft_obj => NULL,
449 p_sms_obj => NULL,
450 p_cp_pref_objs => p_phone_objs(i).contact_pref_objs,
451 p_cp_type => l_current_cp_type,
452 p_created_by_module => HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE,
453 p_obj_source => p_obj_source,
454 x_return_status => x_return_status,
455 x_msg_count => x_msg_count,
456 x_msg_data => x_msg_data,
457 x_cp_id => l_cp_id,
458 x_cp_os => l_cp_os,
459 x_cp_osr => l_cp_osr,
460 px_parent_id => l_owner_table_id,
461 px_parent_os => l_owner_table_os,
462 px_parent_osr => l_owner_table_osr,
463 px_parent_obj_type => l_parent_obj_type
464 );
465 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
466 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
467 hz_utility_v2pub.debug(p_message=>'Save PHONE - Error occurred at hz_contact_point_bo_pvt.save_contact_points: '||l_cp_id||' '||l_cp_os||' '||l_cp_osr||', owner table: '||l_owner_table_id||' '||l_owner_table_os||' '||l_owner_table_osr,
468 p_prefix=>l_debug_prefix,
469 p_msg_level=>fnd_log.level_procedure);
470 END IF;
471 RAISE FND_API.G_EXC_ERROR;
472 END IF;
473
474 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := l_cbm;
475 p_phone_objs(i).phone_id := l_cp_id;
476 END LOOP;
477 END IF;
478
479 -----------------------------
480 -- Save telex contact point
481 -----------------------------
482 IF((p_telex_objs IS NOT NULL) AND (p_telex_objs.COUNT > 0)) THEN
483 l_current_cp_type := 'TLX';
484
485 FOR i IN 1..p_telex_objs.COUNT LOOP
486 HZ_CONTACT_POINT_BO_PUB.do_save_contact_point(
487 p_init_msg_list => FND_API.G_FALSE,
488 p_validate_bo_flag => FND_API.G_FALSE,
489 p_cp_id => p_telex_objs(i).telex_id,
490 p_cp_os => p_telex_objs(i).orig_system,
491 p_cp_osr => p_telex_objs(i).orig_system_reference,
492 p_phone_obj => NULL,
493 p_email_obj => NULL,
494 p_telex_obj => p_telex_objs(i),
495 p_web_obj => NULL,
496 p_edi_obj => NULL,
497 p_eft_obj => NULL,
498 p_sms_obj => NULL,
499 p_cp_pref_objs => p_telex_objs(i).contact_pref_objs,
500 p_cp_type => l_current_cp_type,
501 p_created_by_module => HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE,
502 p_obj_source => p_obj_source,
503 x_return_status => x_return_status,
504 x_msg_count => x_msg_count,
505 x_msg_data => x_msg_data,
506 x_cp_id => l_cp_id,
507 x_cp_os => l_cp_os,
508 x_cp_osr => l_cp_osr,
509 px_parent_id => l_owner_table_id,
510 px_parent_os => l_owner_table_os,
511 px_parent_osr => l_owner_table_osr,
512 px_parent_obj_type => l_parent_obj_type
513 );
514 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
515 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
516 hz_utility_v2pub.debug(p_message=>'Save TLX - Error occurred at hz_contact_point_bo_pvt.save_contact_points: '||l_cp_id||' '||l_cp_os||' '||l_cp_osr||', owner table: '||l_owner_table_id||' '||l_owner_table_os||' '||l_owner_table_osr,
517 p_prefix=>l_debug_prefix,
518 p_msg_level=>fnd_log.level_procedure);
519 END IF;
520 RAISE FND_API.G_EXC_ERROR;
521 END IF;
522
523 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := l_cbm;
524 p_telex_objs(i).telex_id := l_cp_id;
525 END LOOP;
526 END IF;
527
528 -----------------------------
529 -- Save email contact point
530 -----------------------------
531 IF((p_email_objs IS NOT NULL) AND (p_email_objs.COUNT > 0)) THEN
532 l_current_cp_type := 'EMAIL';
533
534 FOR i IN 1..p_email_objs.COUNT LOOP
535 HZ_CONTACT_POINT_BO_PUB.do_save_contact_point(
536 p_init_msg_list => FND_API.G_FALSE,
537 p_validate_bo_flag => FND_API.G_FALSE,
538 p_cp_id => p_email_objs(i).email_id,
539 p_cp_os => p_email_objs(i).orig_system,
540 p_cp_osr => p_email_objs(i).orig_system_reference,
541 p_phone_obj => NULL,
542 p_email_obj => p_email_objs(i),
543 p_telex_obj => NULL,
544 p_web_obj => NULL,
545 p_edi_obj => NULL,
546 p_eft_obj => NULL,
547 p_sms_obj => NULL,
548 p_cp_pref_objs => p_email_objs(i).contact_pref_objs,
549 p_cp_type => l_current_cp_type,
550 p_created_by_module => HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE,
551 p_obj_source => p_obj_source,
552 x_return_status => x_return_status,
553 x_msg_count => x_msg_count,
554 x_msg_data => x_msg_data,
555 x_cp_id => l_cp_id,
556 x_cp_os => l_cp_os,
557 x_cp_osr => l_cp_osr,
558 px_parent_id => l_owner_table_id,
559 px_parent_os => l_owner_table_os,
560 px_parent_osr => l_owner_table_osr,
561 px_parent_obj_type => l_parent_obj_type
562 );
563 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
564 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
565 hz_utility_v2pub.debug(p_message=>'Save EMAIL - Error occurred at hz_contact_point_bo_pvt.save_contact_points: '||l_cp_id||' '||l_cp_os||' '||l_cp_osr||', owner table: '||l_owner_table_id||' '||l_owner_table_os||' '||l_owner_table_osr,
566 p_prefix=>l_debug_prefix,
567 p_msg_level=>fnd_log.level_procedure);
568 END IF;
569 RAISE FND_API.G_EXC_ERROR;
570 END IF;
571
572 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := l_cbm;
573 p_email_objs(i).email_id := l_cp_id;
574 END LOOP;
575 END IF;
576
577 -----------------------------
578 -- Save web contact point
579 -----------------------------
580 IF((p_web_objs IS NOT NULL) AND (p_web_objs.COUNT > 0)) THEN
581 l_current_cp_type := 'WEB';
582
583 FOR i IN 1..p_web_objs.COUNT LOOP
584 HZ_CONTACT_POINT_BO_PUB.do_save_contact_point(
585 p_init_msg_list => FND_API.G_FALSE,
586 p_validate_bo_flag => FND_API.G_FALSE,
587 p_cp_id => p_web_objs(i).web_id,
588 p_cp_os => p_web_objs(i).orig_system,
589 p_cp_osr => p_web_objs(i).orig_system_reference,
590 p_phone_obj => NULL,
591 p_email_obj => NULL,
592 p_telex_obj => NULL,
593 p_web_obj => p_web_objs(i),
594 p_edi_obj => NULL,
595 p_eft_obj => NULL,
596 p_sms_obj => NULL,
597 p_cp_pref_objs => p_web_objs(i).contact_pref_objs,
598 p_cp_type => l_current_cp_type,
599 p_created_by_module => HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE,
600 p_obj_source => p_obj_source,
601 x_return_status => x_return_status,
602 x_msg_count => x_msg_count,
603 x_msg_data => x_msg_data,
604 x_cp_id => l_cp_id,
605 x_cp_os => l_cp_os,
606 x_cp_osr => l_cp_osr,
607 px_parent_id => l_owner_table_id,
608 px_parent_os => l_owner_table_os,
609 px_parent_osr => l_owner_table_osr,
610 px_parent_obj_type => l_parent_obj_type
611 );
612 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
613 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
614 hz_utility_v2pub.debug(p_message=>'Save WEB - Error occurred at hz_contact_point_bo_pvt.save_contact_points: '||l_cp_id||' '||l_cp_os||' '||l_cp_osr||', owner table: '||l_owner_table_id||' '||l_owner_table_os||' '||l_owner_table_osr,
615 p_prefix=>l_debug_prefix,
616 p_msg_level=>fnd_log.level_procedure);
617 END IF;
618 RAISE FND_API.G_EXC_ERROR;
619 END IF;
620
621 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := l_cbm;
622 p_web_objs(i).web_id := l_cp_id;
623 END LOOP;
624 END IF;
625
626 -----------------------------
627 -- Save edi contact point
628 -----------------------------
629 IF((p_edi_objs IS NOT NULL) AND (p_edi_objs.COUNT > 0)) THEN
630 l_current_cp_type := 'EDI';
631
632 FOR i IN 1..p_edi_objs.COUNT LOOP
633 HZ_CONTACT_POINT_BO_PUB.do_save_contact_point(
634 p_init_msg_list => FND_API.G_FALSE,
635 p_validate_bo_flag => FND_API.G_FALSE,
636 p_cp_id => p_edi_objs(i).edi_id,
637 p_cp_os => p_edi_objs(i).orig_system,
638 p_cp_osr => p_edi_objs(i).orig_system_reference,
639 p_phone_obj => NULL,
640 p_email_obj => NULL,
641 p_telex_obj => NULL,
642 p_web_obj => NULL,
643 p_edi_obj => p_edi_objs(i),
644 p_eft_obj => NULL,
645 p_sms_obj => NULL,
646 p_cp_pref_objs => p_edi_objs(i).contact_pref_objs,
647 p_cp_type => l_current_cp_type,
648 p_created_by_module => HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE,
649 p_obj_source => p_obj_source,
650 x_return_status => x_return_status,
651 x_msg_count => x_msg_count,
652 x_msg_data => x_msg_data,
653 x_cp_id => l_cp_id,
654 x_cp_os => l_cp_os,
655 x_cp_osr => l_cp_osr,
656 px_parent_id => l_owner_table_id,
657 px_parent_os => l_owner_table_os,
658 px_parent_osr => l_owner_table_osr,
659 px_parent_obj_type => l_parent_obj_type
660 );
661 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
662 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
663 hz_utility_v2pub.debug(p_message=>'Save EDI - Error occurred at hz_contact_point_bo_pvt.save_contact_points: '||l_cp_id||' '||l_cp_os||' '||l_cp_osr||', owner table: '||l_owner_table_id||' '||l_owner_table_os||' '||l_owner_table_osr,
664 p_prefix=>l_debug_prefix,
665 p_msg_level=>fnd_log.level_procedure);
666 END IF;
667 RAISE FND_API.G_EXC_ERROR;
668 END IF;
669
670 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := l_cbm;
671 p_edi_objs(i).edi_id := l_cp_id;
672 END LOOP;
673 END IF;
674
675 -----------------------------
676 -- Save eft contact point
677 -----------------------------
678 IF((p_eft_objs IS NOT NULL) AND (p_eft_objs.COUNT > 0)) THEN
679 l_current_cp_type := 'EFT';
680
681 FOR i IN 1..p_eft_objs.COUNT LOOP
682 HZ_CONTACT_POINT_BO_PUB.do_save_contact_point(
683 p_init_msg_list => FND_API.G_FALSE,
684 p_validate_bo_flag => FND_API.G_FALSE,
685 p_cp_id => p_eft_objs(i).eft_id,
686 p_cp_os => p_eft_objs(i).orig_system,
687 p_cp_osr => p_eft_objs(i).orig_system_reference,
688 p_phone_obj => NULL,
689 p_email_obj => NULL,
690 p_telex_obj => NULL,
691 p_web_obj => NULL,
692 p_edi_obj => NULL,
693 p_eft_obj => p_eft_objs(i),
694 p_sms_obj => NULL,
695 p_cp_pref_objs => p_eft_objs(i).contact_pref_objs,
696 p_cp_type => l_current_cp_type,
697 p_created_by_module => HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE,
698 p_obj_source => p_obj_source,
699 x_return_status => x_return_status,
700 x_msg_count => x_msg_count,
701 x_msg_data => x_msg_data,
702 x_cp_id => l_cp_id,
703 x_cp_os => l_cp_os,
704 x_cp_osr => l_cp_osr,
705 px_parent_id => l_owner_table_id,
706 px_parent_os => l_owner_table_os,
707 px_parent_osr => l_owner_table_osr,
708 px_parent_obj_type => l_parent_obj_type
709 );
710 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
711 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
712 hz_utility_v2pub.debug(p_message=>'Save EFT - Error occurred at hz_contact_point_bo_pvt.save_contact_points: '||l_cp_id||' '||l_cp_os||' '||l_cp_osr||', owner table: '||l_owner_table_id||' '||l_owner_table_os||' '||l_owner_table_osr,
713 p_prefix=>l_debug_prefix,
714 p_msg_level=>fnd_log.level_procedure);
715 END IF;
716 RAISE FND_API.G_EXC_ERROR;
717 END IF;
718
719 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := l_cbm;
720 p_eft_objs(i).eft_id := l_cp_id;
721 END LOOP;
722 END IF;
723
724 -----------------------------
725 -- Save sms contact point
726 -----------------------------
727 IF((p_sms_objs IS NOT NULL) AND (p_sms_objs.COUNT > 0)) THEN
728 l_current_cp_type := 'SMS';
729
730 FOR i IN 1..p_sms_objs.COUNT LOOP
731 HZ_CONTACT_POINT_BO_PUB.do_save_contact_point(
732 p_init_msg_list => FND_API.G_FALSE,
733 p_validate_bo_flag => FND_API.G_FALSE,
734 p_cp_id => p_sms_objs(i).sms_id,
735 p_cp_os => p_sms_objs(i).orig_system,
736 p_cp_osr => p_sms_objs(i).orig_system_reference,
737 p_phone_obj => NULL,
738 p_email_obj => NULL,
739 p_telex_obj => NULL,
740 p_web_obj => NULL,
741 p_edi_obj => NULL,
742 p_eft_obj => NULL,
743 p_sms_obj => p_sms_objs(i),
744 p_cp_pref_objs => p_sms_objs(i).contact_pref_objs,
745 p_cp_type => l_current_cp_type,
746 p_created_by_module => HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE,
747 p_obj_source => p_obj_source,
748 x_return_status => x_return_status,
749 x_msg_count => x_msg_count,
750 x_msg_data => x_msg_data,
751 x_cp_id => l_cp_id,
752 x_cp_os => l_cp_os,
753 x_cp_osr => l_cp_osr,
754 px_parent_id => l_owner_table_id,
755 px_parent_os => l_owner_table_os,
756 px_parent_osr => l_owner_table_osr,
757 px_parent_obj_type => l_parent_obj_type
758 );
759 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
760 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
761 hz_utility_v2pub.debug(p_message=>'Save SMS - Error occurred at hz_contact_point_bo_pvt.save_contact_points: '||l_cp_id||' '||l_cp_os||' '||l_cp_osr||', owner table: '||l_owner_table_id||' '||l_owner_table_os||' '||l_owner_table_osr,
762 p_prefix=>l_debug_prefix,
763 p_msg_level=>fnd_log.level_procedure);
764 END IF;
765 RAISE FND_API.G_EXC_ERROR;
766 END IF;
767
768 HZ_UTILITY_V2PUB.G_CREATED_BY_MODULE := l_cbm;
769 p_sms_objs(i).sms_id := l_cp_id;
770 END LOOP;
771 END IF;
772 END IF;
773
774 -- Debug info.
775 IF fnd_log.level_exception>=fnd_log.g_current_runtime_level THEN
776 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
777 p_msg_data=>x_msg_data,
778 p_msg_type=>'WARNING',
779 p_msg_level=>fnd_log.level_exception);
780 END IF;
781 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
782 hz_utility_v2pub.debug(p_message=>'save_contact_points(-)',
783 p_prefix=>l_debug_prefix,
784 p_msg_level=>fnd_log.level_procedure);
785 END IF;
786 EXCEPTION
787 WHEN fnd_api.g_exc_error THEN
788 x_return_status := fnd_api.g_ret_sts_error;
789 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
790 p_count => x_msg_count,
791 p_data => x_msg_data);
792
793 -- Debug info.
794 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
795 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
796 p_msg_data=>x_msg_data,
797 p_msg_type=>'ERROR',
798 p_msg_level=>fnd_log.level_error);
799 END IF;
800 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
801 hz_utility_v2pub.debug(p_message=>'save_contact_points(-)',
802 p_prefix=>l_debug_prefix,
803 p_msg_level=>fnd_log.level_procedure);
804 END IF;
805
806 WHEN fnd_api.g_exc_unexpected_error THEN
807 x_return_status := fnd_api.g_ret_sts_unexp_error;
808
809 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
810 p_count => x_msg_count,
811 p_data => x_msg_data);
812
813 -- Debug info.
814 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
815 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
816 p_msg_data=>x_msg_data,
817 p_msg_type=>'UNEXPECTED ERROR',
818 p_msg_level=>fnd_log.level_error);
819 END IF;
820 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
821 hz_utility_v2pub.debug(p_message=>'save_contact_points(-)',
822 p_prefix=>l_debug_prefix,
823 p_msg_level=>fnd_log.level_procedure);
824 END IF;
825 WHEN OTHERS THEN
826 x_return_status := fnd_api.g_ret_sts_unexp_error;
827
828 fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
829 fnd_message.set_token('ERROR', SQLERRM);
830 fnd_msg_pub.add;
831
832 fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
833 p_count => x_msg_count,
834 p_data => x_msg_data);
835
836 -- Debug info.
837 IF fnd_log.level_error>=fnd_log.g_current_runtime_level THEN
838 hz_utility_v2pub.debug_return_messages(p_msg_count=>x_msg_count,
839 p_msg_data=>x_msg_data,
840 p_msg_type=>'SQL ERROR',
841 p_msg_level=>fnd_log.level_error);
842 END IF;
843 IF fnd_log.level_procedure>=fnd_log.g_current_runtime_level THEN
844 hz_utility_v2pub.debug(p_message=>'save_contact_points(-)',
845 p_prefix=>l_debug_prefix,
846 p_msg_level=>fnd_log.level_procedure);
847 END IF;
848 END save_contact_points;
849
850 END hz_contact_point_bo_pvt;