[Home] [Help]
PACKAGE BODY: APPS.AMS_CNT_POINT_PVT
Source
1 PACKAGE BODY AMS_Cnt_Point_PVT as
2 /* $Header: amsvconb.pls 120.0 2005/05/31 22:01:31 appldev noship $ */
3 -- ===============================================================
4 -- Start of Comments
5 -- Package name
6 -- AMS_Cnt_Point_PVT
7 -- Purpose
8 --
9 -- History
10 -- 30-aug-2001 soagrawa Modified names of all error messages, whose length was
11 -- > 30 chars. Added those messages to seed.
12 -- 31-oct-2001 soagrawa Modified check_conact_point_fk_rec for bug# 2074740.
13 -- 27-dec-2001 aranka Modified check_conact_point_fk_rec, contact_point_value size from 30 to 256 for bug# 2163252
14 -- 21-jan-2003 soagrawa Fixed validation of inbounud outbound script - bug# 2757856
15 -- 20-may-2005 musman Added contact_point_value_id column for webadi collaboration script usage
16
17 -- NOTE
18 --
19 -- End of Comments
20 -- ===============================================================
21
22
23 G_PKG_NAME CONSTANT VARCHAR2(30):= 'AMS_Cnt_Point_PVT';
24 G_FILE_NAME CONSTANT VARCHAR2(12) := 'amsvconb.pls';
25
26 -- Hint: Primary key needs to be returned.
27 AMS_DEBUG_HIGH_ON CONSTANT boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_HIGH);
28 AMS_DEBUG_LOW_ON CONSTANT boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
29 AMS_DEBUG_MEDIUM_ON CONSTANT boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_MEDIUM);
30
31 PROCEDURE Create_Cnt_Point(
32 p_api_version_number IN NUMBER,
33 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
34 p_commit IN VARCHAR2 := FND_API.G_FALSE,
35 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
36
37 x_return_status OUT NOCOPY VARCHAR2,
38 x_msg_count OUT NOCOPY NUMBER,
39 x_msg_data OUT NOCOPY VARCHAR2,
40
41 p_cnt_point_rec IN cnt_point_rec_type := g_miss_cnt_point_rec,
42 x_contact_point_id OUT NOCOPY NUMBER
43 )
44
45 IS
46 L_API_NAME CONSTANT VARCHAR2(30) := 'Create_Cnt_Point';
47 L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
48 l_return_status_full VARCHAR2(1);
49 l_object_version_number NUMBER := 1;
50 l_org_id NUMBER := FND_API.G_MISS_NUM;
51 l_CONTACT_POINT_ID NUMBER;
52 l_dummy NUMBER;
53
54 CURSOR c_id IS
55 SELECT AMS_ACT_CONTACT_POINTS_s.NEXTVAL
56 FROM dual;
57
58 CURSOR c_id_exists (l_id IN NUMBER) IS
59 SELECT 1 FROM dual
60 WHERE EXISTS (SELECT 1 FROM AMS_ACT_CONTACT_POINTS
61 WHERE CONTACT_POINT_ID = l_id);
62
63 BEGIN
64 IF (AMS_DEBUG_HIGH_ON) THEN
65
66 AMS_UTILITY_PVT.debug_message('Inside Procedure Create_cnt_point');
67 END IF;
68 -- Standard Start of API savepoint
69 SAVEPOINT CREATE_Cnt_Point_PVT;
70 IF (AMS_DEBUG_HIGH_ON) THEN
71
72 AMS_UTILITY_PVT.debug_message('Save point : CREATE_Cnt_Point_PVT created');
73 END IF;
74 IF (AMS_DEBUG_HIGH_ON) THEN
75
76 AMS_UTILITY_PVT.debug_message('Save point : CREATE_Cnt_Point_PVT created');
77 END IF;
78
79 -- Standard call to check for call compatibility.
80 IF NOT FND_API.Compatible_API_Call ( L_API_VERSION_NUMBER,
81 p_api_version_number,
82 l_api_name,
83 G_PKG_NAME)
84 THEN
85 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
86 END IF;
87
88 -- Initialize message list if p_init_msg_list is set to TRUE.
89 IF FND_API.to_Boolean( p_init_msg_list )
90 THEN
91 FND_MSG_PUB.initialize;
92 END IF;
93
94 -- Debug Message
95 IF (AMS_DEBUG_HIGH_ON) THEN
96
97 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
98 END IF;
99 IF (AMS_DEBUG_HIGH_ON) THEN
100
101 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
102 END IF;
103
104
105 -- Initialize API return status to SUCCESS
106 x_return_status := FND_API.G_RET_STS_SUCCESS;
107
108 -- Local variable initialization
109
110 IF p_cnt_point_rec.CONTACT_POINT_ID IS NULL OR p_cnt_point_rec.CONTACT_POINT_ID = FND_API.g_miss_num THEN
111 LOOP
112 l_dummy := NULL;
113 OPEN c_id;
114 FETCH c_id INTO l_CONTACT_POINT_ID;
115 CLOSE c_id;
116
117
118 OPEN c_id_exists(l_CONTACT_POINT_ID);
119 FETCH c_id_exists INTO l_dummy;
120
121 CLOSE c_id_exists;
122 EXIT WHEN l_dummy IS NULL;
123 END LOOP;
124 END IF;
125
126 IF (AMS_DEBUG_HIGH_ON) THEN
127
128
129
130 AMS_UTILITY_PVT.debug_message('Retreived pk');
131
132 END IF;
133 -- =========================================================================
134 -- Validate Environment
135 -- =========================================================================
136
137
138 IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL)
139 THEN
140 -- Debug message
141 IF (AMS_DEBUG_HIGH_ON) THEN
142
143 AMS_UTILITY_PVT.debug_message('Private API: Validate_Cnt_Point');
144 END IF;
145 IF (AMS_DEBUG_HIGH_ON) THEN
146
147 AMS_UTILITY_PVT.debug_message('Private API: Validate_Cnt_Point');
148 END IF;
149 -- Invoke validation procedures
150
151 Validate_cnt_point(
152 p_api_version_number => 1.0,
153 p_init_msg_list => FND_API.G_FALSE,
154 p_validation_level => p_validation_level,
155 p_validation_mode => JTF_PLSQL_API.g_create,
156 p_cnt_point_rec => p_cnt_point_rec,
157 x_return_status => x_return_status,
158 x_msg_count => x_msg_count,
159 x_msg_data => x_msg_data);
160
161 END IF;
162
163 IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
164 RAISE FND_API.G_EXC_ERROR;
165 END IF;
166
167
168 -- Debug Message
169 IF (AMS_DEBUG_HIGH_ON) THEN
170
171 AMS_UTILITY_PVT.debug_message( 'Private API: Calling create table handler');
172 END IF;
173
174 -- Invoke table handler(AMS_ACT_CONTACT_POINTS_PKG.Insert_Row)
175 AMS_ACT_CONTACT_POINTS_PKG.Insert_Row(
176 px_contact_point_id => l_contact_point_id,
177 p_last_update_date => SYSDATE,
178 p_last_updated_by => FND_GLOBAL.user_id,
179 p_creation_date => SYSDATE,
180 p_created_by => FND_GLOBAL.user_id,
181 p_last_update_login => FND_GLOBAL.conc_login_id,
182 px_object_version_number => l_object_version_number,
183 p_arc_contact_used_by => p_cnt_point_rec.arc_contact_used_by,
184 p_act_contact_used_by_id => p_cnt_point_rec.act_contact_used_by_id,
185 p_contact_point_type => p_cnt_point_rec.contact_point_type,
186 p_contact_point_value => p_cnt_point_rec.contact_point_value,
187 p_city => p_cnt_point_rec.city,
188 p_country => p_cnt_point_rec.country,
189 p_zipcode => p_cnt_point_rec.zipcode,
190 p_attribute_category => p_cnt_point_rec.attribute_category,
191 p_attribute1 => p_cnt_point_rec.attribute1,
192 p_attribute2 => p_cnt_point_rec.attribute2,
193 p_attribute3 => p_cnt_point_rec.attribute3,
194 p_attribute4 => p_cnt_point_rec.attribute4,
195 p_attribute5 => p_cnt_point_rec.attribute5,
196 p_attribute6 => p_cnt_point_rec.attribute6,
197 p_attribute7 => p_cnt_point_rec.attribute7,
198 p_attribute8 => p_cnt_point_rec.attribute8,
199 p_attribute9 => p_cnt_point_rec.attribute9,
200 p_attribute10 => p_cnt_point_rec.attribute10,
201 p_attribute11 => p_cnt_point_rec.attribute11,
202 p_attribute12 => p_cnt_point_rec.attribute12,
203 p_attribute13 => p_cnt_point_rec.attribute13,
204 p_attribute14 => p_cnt_point_rec.attribute14,
205 p_attribute15 => p_cnt_point_rec.attribute15,
206 p_contact_point_value_id => p_cnt_point_rec.contact_point_value_id
207 );
208 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
209 RAISE FND_API.G_EXC_ERROR;
210 ELSE
211 x_contact_point_id := l_contact_point_id;
212 END IF;
213 --
214 -- End of API body
215 --
216
217 -- Standard check for p_commit
218 IF FND_API.to_Boolean( p_commit )
219 THEN
220 COMMIT WORK;
221 END IF;
222
223
224 -- Debug Message
225 IF (AMS_DEBUG_HIGH_ON) THEN
226
227 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'end');
228 END IF;
229
230 -- Standard call to get message count and if count is 1, get message info.
231 FND_MSG_PUB.Count_And_Get
232 (p_count => x_msg_count,
233 p_data => x_msg_data
234 );
235 EXCEPTION
236
237 WHEN AMS_Utility_PVT.resource_locked THEN
238 x_return_status := FND_API.g_ret_sts_error;
239 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
240
241 WHEN FND_API.G_EXC_ERROR THEN
242 ROLLBACK TO CREATE_Cnt_Point_PVT;
243 x_return_status := FND_API.G_RET_STS_ERROR;
244 -- Standard call to get message count and if count=1, get the message
245 FND_MSG_PUB.Count_And_Get (
246 p_encoded => FND_API.G_FALSE,
247 p_count => x_msg_count,
248 p_data => x_msg_data
249 );
250
251 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
252 ROLLBACK TO CREATE_Cnt_Point_PVT;
253 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
254 -- Standard call to get message count and if count=1, get the message
255 FND_MSG_PUB.Count_And_Get (
256 p_encoded => FND_API.G_FALSE,
257 p_count => x_msg_count,
258 p_data => x_msg_data
259 );
260
261 WHEN OTHERS THEN
262 ROLLBACK TO CREATE_Cnt_Point_PVT;
263 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
264 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
265 THEN
266 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
267 END IF;
268 -- Standard call to get message count and if count=1, get the message
269 FND_MSG_PUB.Count_And_Get (
270 p_encoded => FND_API.G_FALSE,
271 p_count => x_msg_count,
272 p_data => x_msg_data
273 );
274 End Create_Cnt_Point;
275
276
277 PROCEDURE Update_Cnt_Point(
278 p_api_version_number IN NUMBER,
279 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
280 p_commit IN VARCHAR2 := FND_API.G_FALSE,
281 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
282
283
284 x_return_status OUT NOCOPY VARCHAR2,
285 x_msg_count OUT NOCOPY NUMBER,
286 x_msg_data OUT NOCOPY VARCHAR2,
287
288 p_cnt_point_rec IN cnt_point_rec_type,
289 x_object_version_number OUT NOCOPY NUMBER
290 )
291
292 IS
293
294 CURSOR c_get_cnt_point(contact_point_id NUMBER) IS
295 SELECT *
296 FROM AMS_ACT_CONTACT_POINTS
297 WHERE contact_point_id = p_cnt_point_rec.contact_point_id;
298 -- Hint: Developer need to provide Where clause
299
300 L_API_NAME CONSTANT VARCHAR2(30) := 'Update_Cnt_Point';
301 L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
302 -- Local Variables
303 l_object_version_number NUMBER;
304 l_CONTACT_POINT_ID NUMBER;
305 l_ref_cnt_point_rec c_get_Cnt_Point%ROWTYPE ;
306 l_tar_cnt_point_rec AMS_Cnt_Point_PVT.cnt_point_rec_type := P_cnt_point_rec;
307 l_rowid ROWID;
308
309 BEGIN
310 IF (AMS_DEBUG_HIGH_ON) THEN
311
312 AMS_UTILITY_PVT.debug_message('Inside Update_cnt_point');
313 END IF;
314 -- Standard Start of API savepoint
315 SAVEPOINT UPDATE_Cnt_Point_PVT;
316
317 -- Standard call to check for call compatibility.
318 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
319 p_api_version_number,
320 l_api_name,
321 G_PKG_NAME)
322 THEN
323 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
324 END IF;
325
326 -- Initialize message list if p_init_msg_list is set to TRUE.
327 IF FND_API.to_Boolean( p_init_msg_list )
328 THEN
329 FND_MSG_PUB.initialize;
330 END IF;
331
332 -- Debug Message
333 IF (AMS_DEBUG_HIGH_ON) THEN
334
335 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
336 END IF;
337
338
339 -- Initialize API return status to SUCCESS
340 x_return_status := FND_API.G_RET_STS_SUCCESS;
341
342 -- Debug Message
343 IF (AMS_DEBUG_HIGH_ON) THEN
344
345 AMS_UTILITY_PVT.debug_message('Private API: - Open Cursor to Select');
346 END IF;
347
348
349 OPEN c_get_Cnt_Point( l_tar_cnt_point_rec.contact_point_id);
350
351 FETCH c_get_Cnt_Point INTO l_ref_cnt_point_rec ;
352
353 If ( c_get_Cnt_Point%NOTFOUND) THEN
354 AMS_Utility_PVT.Error_Message(p_message_name => 'API_MISSING_UPDATE_TARGET',
355 p_token_name => 'INFO',
356 p_token_value => 'Cnt_Point') ;
357 RAISE FND_API.G_EXC_ERROR;
358 END IF;
359 -- Debug Message
360 IF (AMS_DEBUG_HIGH_ON) THEN
361
362 AMS_UTILITY_PVT.debug_message('Private API: - Close Cursor');
363 END IF;
364 CLOSE c_get_Cnt_Point;
365
366
367
368 If (l_tar_cnt_point_rec.object_version_number is NULL or
369 l_tar_cnt_point_rec.object_version_number = FND_API.G_MISS_NUM ) Then
370 AMS_Utility_PVT.Error_Message(p_message_name => 'API_VERSION_MISSING',
371 p_token_name => 'COLUMN',
372 p_token_value => 'Last_Update_Date') ;
373 raise FND_API.G_EXC_ERROR;
374 End if;
375 -- Check Whether record has been changed by someone else
376 If (l_tar_cnt_point_rec.object_version_number <> l_ref_cnt_point_rec.object_version_number) Then
377 AMS_Utility_PVT.Error_Message(p_message_name => 'API_RECORD_CHANGED',
378 p_token_name => 'INFO',
379 p_token_value => 'Cnt_Point') ;
380 raise FND_API.G_EXC_ERROR;
381 End if;
382 IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL)
383 THEN
384 -- Debug message
385 IF (AMS_DEBUG_HIGH_ON) THEN
386
387 AMS_UTILITY_PVT.debug_message('Private API: Validate_Cnt_Point '|| x_return_status);
388 END IF;
389
390 -- Invoke validation procedures
391 Validate_cnt_point(
392 p_api_version_number => 1.0,
393 p_init_msg_list => FND_API.G_FALSE,
394 p_validation_level => p_validation_level,
395 p_validation_mode => JTF_PLSQL_API.g_update,
396 p_cnt_point_rec => p_cnt_point_rec,
397 x_return_status => x_return_status,
398 x_msg_count => x_msg_count,
399 x_msg_data => x_msg_data);
400 END IF;
401
402 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
403 RAISE FND_API.G_EXC_ERROR;
404 END IF;
405
406
407 -- Debug Message
408 IF (AMS_DEBUG_HIGH_ON) THEN
409
410 AMS_UTILITY_PVT.debug_message( 'Private API: Calling update table handler');
411 END IF;
412
413 -- Invoke table handler(AMS_ACT_CONTACT_POINTS_PKG.Update_Row)
414 AMS_ACT_CONTACT_POINTS_PKG.Update_Row(
415 p_contact_point_id => p_cnt_point_rec.contact_point_id,
416 p_last_update_date => SYSDATE,
417 p_last_updated_by => FND_GLOBAL.user_id,
418 p_last_update_login => FND_GLOBAL.conc_login_id,
419 p_object_version_number => p_cnt_point_rec.object_version_number,
420 p_arc_contact_used_by => p_cnt_point_rec.arc_contact_used_by,
421 p_act_contact_used_by_id => p_cnt_point_rec.act_contact_used_by_id,
422 p_contact_point_type => p_cnt_point_rec.contact_point_type,
423 p_contact_point_value => p_cnt_point_rec.contact_point_value,
424 p_city => p_cnt_point_rec.city,
425 p_country => p_cnt_point_rec.country,
426 p_zipcode => p_cnt_point_rec.zipcode,
427 p_attribute_category => p_cnt_point_rec.attribute_category,
428 p_attribute1 => p_cnt_point_rec.attribute1,
429 p_attribute2 => p_cnt_point_rec.attribute2,
430 p_attribute3 => p_cnt_point_rec.attribute3,
431 p_attribute4 => p_cnt_point_rec.attribute4,
432 p_attribute5 => p_cnt_point_rec.attribute5,
433 p_attribute6 => p_cnt_point_rec.attribute6,
434 p_attribute7 => p_cnt_point_rec.attribute7,
435 p_attribute8 => p_cnt_point_rec.attribute8,
436 p_attribute9 => p_cnt_point_rec.attribute9,
437 p_attribute10 => p_cnt_point_rec.attribute10,
438 p_attribute11 => p_cnt_point_rec.attribute11,
439 p_attribute12 => p_cnt_point_rec.attribute12,
440 p_attribute13 => p_cnt_point_rec.attribute13,
441 p_attribute14 => p_cnt_point_rec.attribute14,
442 p_attribute15 => p_cnt_point_rec.attribute15
443 ,p_contact_point_value_id => p_cnt_point_rec.contact_point_value_id
444 );
445 --
446 -- End of API body.
447 --
448
449 -- Standard check for p_commit
450 IF FND_API.to_Boolean( p_commit )
451 THEN
452 COMMIT WORK;
453 END IF;
454
455
456 -- Debug Message
457 IF (AMS_DEBUG_HIGH_ON) THEN
458
459 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'end');
460 END IF;
461
462 -- Standard call to get message count and if count is 1, get message info.
463 FND_MSG_PUB.Count_And_Get
464 (p_count => x_msg_count,
465 p_data => x_msg_data
466 );
467 EXCEPTION
468
469 WHEN AMS_Utility_PVT.resource_locked THEN
470 x_return_status := FND_API.g_ret_sts_error;
471 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
472
473 WHEN FND_API.G_EXC_ERROR THEN
474 ROLLBACK TO UPDATE_Cnt_Point_PVT;
475 x_return_status := FND_API.G_RET_STS_ERROR;
476 -- Standard call to get message count and if count=1, get the message
477 FND_MSG_PUB.Count_And_Get (
478 p_encoded => FND_API.G_FALSE,
479 p_count => x_msg_count,
480 p_data => x_msg_data
481 );
482
483 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
484 ROLLBACK TO UPDATE_Cnt_Point_PVT;
485 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
486 -- Standard call to get message count and if count=1, get the message
487 FND_MSG_PUB.Count_And_Get (
488 p_encoded => FND_API.G_FALSE,
489 p_count => x_msg_count,
490 p_data => x_msg_data
491 );
492
493 WHEN OTHERS THEN
494 ROLLBACK TO UPDATE_Cnt_Point_PVT;
495 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
496 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
497 THEN
498 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
499 END IF;
500 -- Standard call to get message count and if count=1, get the message
501 FND_MSG_PUB.Count_And_Get (
502 p_encoded => FND_API.G_FALSE,
503 p_count => x_msg_count,
504 p_data => x_msg_data
505 );
506 End Update_Cnt_Point;
507
508
509 PROCEDURE Delete_Cnt_Point(
510 p_api_version_number IN NUMBER,
511 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
512 p_commit IN VARCHAR2 := FND_API.G_FALSE,
513 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
514 x_return_status OUT NOCOPY VARCHAR2,
515 x_msg_count OUT NOCOPY NUMBER,
516 x_msg_data OUT NOCOPY VARCHAR2,
517 p_contact_point_id IN NUMBER,
518 p_object_version_number IN NUMBER
519 )
520
521 IS
522
523 CURSOR c_Cnt_Point IS
524 SELECT CONTACT_POINT_ID
525 FROM AMS_ACT_CONTACT_POINTS
526 WHERE CONTACT_POINT_ID = p_CONTACT_POINT_ID
527 AND object_version_number = p_object_version_number ;
528
529 L_API_NAME CONSTANT VARCHAR2(30) := 'Delete_Cnt_Point';
530 L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
531 l_object_version_number NUMBER;
532 l_contact_point_id NUMBER;
533
534 BEGIN
535 IF (AMS_DEBUG_HIGH_ON) THEN
536
537 AMS_UTILITY_PVT.debug_message('Inside Delete_cnt_point');
538 END IF;
539 -- Standard Start of API savepoint
540 SAVEPOINT DELETE_Cnt_Point_PVT;
541
542 -- Standard call to check for call compatibility.
543 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
544 p_api_version_number,
545 l_api_name,
546 G_PKG_NAME)
547 THEN
548 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
549 END IF;
550
551 -- Initialize message list if p_init_msg_list is set to TRUE.
552 IF FND_API.to_Boolean( p_init_msg_list )
553 THEN
554 FND_MSG_PUB.initialize;
555 END IF;
556
557 -- Debug Message
558 IF (AMS_DEBUG_HIGH_ON) THEN
559
560 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
561 END IF;
562
563 OPEN c_Cnt_Point;
564
565 FETCH c_Cnt_Point INTO l_CONTACT_POINT_ID ;
566
567 IF (c_Cnt_Point%NOTFOUND) THEN
568 CLOSE c_Cnt_Point;
569 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RECORD_NOT_FOUND');
570 RAISE FND_API.g_exc_error;
571 END IF;
572
573 CLOSE c_Cnt_Point;
574
575
576 -- Initialize API return status to SUCCESS
577 x_return_status := FND_API.G_RET_STS_SUCCESS;
578
579 --
580 -- Api body
581 --
582 -- Debug Message
583 IF (AMS_DEBUG_HIGH_ON) THEN
584
585 AMS_UTILITY_PVT.debug_message( 'Private API: Calling delete table handler');
586 END IF;
587
588 -- Invoke table handler(AMS_ACT_CONTACT_POINTS_PKG.Delete_Row)
589 AMS_ACT_CONTACT_POINTS_PKG.Delete_Row(
590 p_CONTACT_POINT_ID => p_CONTACT_POINT_ID);
591 --
592 -- End of API body
593 --
594
595 -- Standard check for p_commit
596 IF FND_API.to_Boolean( p_commit )
597 THEN
598 COMMIT WORK;
599 END IF;
600
601
602
603
604 -- Debug Message
605 IF (AMS_DEBUG_HIGH_ON) THEN
606
607 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'end');
608 END IF;
609
610 -- Standard call to get message count and if count is 1, get message info.
611 FND_MSG_PUB.Count_And_Get
612 (p_count => x_msg_count,
613 p_data => x_msg_data
614 );
615 EXCEPTION
616
617 WHEN AMS_Utility_PVT.resource_locked THEN
618 x_return_status := FND_API.g_ret_sts_error;
619 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
620
621 WHEN FND_API.G_EXC_ERROR THEN
622 ROLLBACK TO DELETE_Cnt_Point_PVT;
623 x_return_status := FND_API.G_RET_STS_ERROR;
624 -- Standard call to get message count and if count=1, get the message
625 FND_MSG_PUB.Count_And_Get (
626 p_encoded => FND_API.G_FALSE,
627 p_count => x_msg_count,
628 p_data => x_msg_data
629 );
630
631 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
632 ROLLBACK TO DELETE_Cnt_Point_PVT;
633 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
634 -- Standard call to get message count and if count=1, get the message
635 FND_MSG_PUB.Count_And_Get (
636 p_encoded => FND_API.G_FALSE,
637 p_count => x_msg_count,
638 p_data => x_msg_data
639 );
640
641 WHEN OTHERS THEN
642 ROLLBACK TO DELETE_Cnt_Point_PVT;
643 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
644 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
645 THEN
646 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
647 END IF;
648 -- Standard call to get message count and if count=1, get the message
649 FND_MSG_PUB.Count_And_Get (
650 p_encoded => FND_API.G_FALSE,
651 p_count => x_msg_count,
652 p_data => x_msg_data
653 );
654 End Delete_Cnt_Point;
655
656
657
658 -- Hint: Primary key needs to be returned.
659 PROCEDURE Lock_Cnt_Point(
660 p_api_version_number IN NUMBER,
661 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
662
663 x_return_status OUT NOCOPY VARCHAR2,
664 x_msg_count OUT NOCOPY NUMBER,
665 x_msg_data OUT NOCOPY VARCHAR2,
666
667 p_contact_point_id IN NUMBER,
668 p_object_version IN NUMBER
669 )
670
671 IS
672 L_API_NAME CONSTANT VARCHAR2(30) := 'Lock_Cnt_Point';
673 L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
674 L_FULL_NAME CONSTANT VARCHAR2(60) := g_pkg_name ||'.'|| l_api_name;
675 l_CONTACT_POINT_ID NUMBER;
676
677 CURSOR c_Cnt_Point IS
678 SELECT CONTACT_POINT_ID
679 FROM AMS_ACT_CONTACT_POINTS
680 WHERE CONTACT_POINT_ID = p_CONTACT_POINT_ID
681 AND object_version_number = p_object_version
682 FOR UPDATE NOWAIT;
683
684 BEGIN
685
686 IF (AMS_DEBUG_HIGH_ON) THEN
687
688
689
690 AMS_UTILITY_PVT.debug_message('Inside LockCnt_point');
691
692 END IF;
693 -- Debug Message
694 IF (AMS_DEBUG_HIGH_ON) THEN
695
696 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
697 END IF;
698
699 -- Initialize message list if p_init_msg_list is set to TRUE.
700 IF FND_API.to_Boolean( p_init_msg_list )
701 THEN
702 FND_MSG_PUB.initialize;
703 END IF;
704
705 -- Standard call to check for call compatibility.
706 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
707 p_api_version_number,
708 l_api_name,
709 G_PKG_NAME)
710 THEN
711 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
712 END IF;
713
714
715 -- Initialize API return status to SUCCESS
716 x_return_status := FND_API.G_RET_STS_SUCCESS;
717
718
719 ------------------------ lock -------------------------
720
721 IF (AMS_DEBUG_HIGH_ON) THEN
722
723
724
725 AMS_Utility_PVT.debug_message(l_full_name||': start');
726
727 END IF;
728 OPEN c_Cnt_Point;
729
730 FETCH c_Cnt_Point INTO l_CONTACT_POINT_ID;
731
732 IF (c_Cnt_Point%NOTFOUND) THEN
733 CLOSE c_Cnt_Point;
734 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
735 FND_MESSAGE.set_name('AMS', 'AMS_API_RECORD_NOT_FOUND');
736 FND_MSG_PUB.add;
737 END IF;
738 RAISE FND_API.g_exc_error;
739 END IF;
740
741 CLOSE c_Cnt_Point;
742
743 -------------------- finish --------------------------
744 FND_MSG_PUB.count_and_get(
745 p_encoded => FND_API.g_false,
746 p_count => x_msg_count,
747 p_data => x_msg_data);
748 IF (AMS_DEBUG_HIGH_ON) THEN
749
750 AMS_Utility_PVT.debug_message(l_full_name ||': end');
751 END IF;
752 EXCEPTION
753
754 WHEN AMS_Utility_PVT.resource_locked THEN
755 x_return_status := FND_API.g_ret_sts_error;
756 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
757
758 WHEN FND_API.G_EXC_ERROR THEN
759 ROLLBACK TO LOCK_Cnt_Point_PVT;
760 x_return_status := FND_API.G_RET_STS_ERROR;
761 -- Standard call to get message count and if count=1, get the message
762 FND_MSG_PUB.Count_And_Get (
763 p_encoded => FND_API.G_FALSE,
764 p_count => x_msg_count,
765 p_data => x_msg_data
766 );
767
768 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
769 ROLLBACK TO LOCK_Cnt_Point_PVT;
770 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
771 -- Standard call to get message count and if count=1, get the message
772 FND_MSG_PUB.Count_And_Get (
773 p_encoded => FND_API.G_FALSE,
774 p_count => x_msg_count,
775 p_data => x_msg_data
776 );
777
778 WHEN OTHERS THEN
779 ROLLBACK TO LOCK_Cnt_Point_PVT;
780 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
781 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
782 THEN
783 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
784 END IF;
785 -- Standard call to get message count and if count=1, get the message
786 FND_MSG_PUB.Count_And_Get (
787 p_encoded => FND_API.G_FALSE,
788 p_count => x_msg_count,
789 p_data => x_msg_data
790 );
791 End Lock_Cnt_Point;
792
793
794 PROCEDURE check_cnt_point_uk_items(
795 p_cnt_point_rec IN cnt_point_rec_type,
796 p_validation_mode IN VARCHAR2 := JTF_PLSQL_API.g_create,
797 x_return_status OUT NOCOPY VARCHAR2)
798 IS
799 l_valid_flag VARCHAR2(1);
800
801 BEGIN
802 x_return_status := FND_API.g_ret_sts_success;
803 IF (AMS_DEBUG_HIGH_ON) THEN
804
805 AMS_UTILITY_PVT.debug_message('Inside check_uk_items');
806 END IF;
807 IF (AMS_DEBUG_HIGH_ON) THEN
808
809 AMS_UTILITY_PVT.debug_message(p_cnt_point_rec.arc_contact_used_by);
810 END IF;
811 IF p_validation_mode = JTF_PLSQL_API.g_create THEN
812 l_valid_flag := AMS_Utility_PVT.check_uniqueness(
813 'AMS_ACT_CONTACT_POINTS',
814 'CONTACT_POINT_ID = ' || p_cnt_point_rec.CONTACT_POINT_ID
815 );
816 IF l_valid_flag = FND_API.g_false THEN
817 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_CONTACT_POINT_ID_DUPLICATE');
818 x_return_status := FND_API.g_ret_sts_error;
819 RETURN;
820 END IF;
821 -- code added by me
822 /*l_valid_flag := AMS_Utility_PVT.check_uniqueness(
823 'AMS_ACT_CONTACT_POINTS'
824 , '''ARC_CONTACT_USED_BY = ''' || p_cnt_point_rec.ARC_CONTACT_USED_BY ||
825 ''' AND ACT_CONTACT_USED_BY_ID = ' || p_cnt_point_rec.ACT_CONTACT_USED_BY_ID ||
826 ''' AND CONTACT_POINT_TYPE = ''' || p_cnt_point_rec.CONTACT_POINT_TYPE ||
827 ''' AND CONTACT_POINT_VALUE = ''' || p_cnt_point_rec.CONTACT_POINT_VALUE
828 ''' AND CONTACT_POINT_ID <> ''' || p_cnt_point_rec.CONTACT_POINT_TYPE
829 );*/
830
831
832 -- end code added by me
833
834
835 /*ELSE
836 l_valid_flag := AMS_Utility_PVT.check_uniqueness(
837 'AMS_ACT_CONTACT_POINTS',
838 'CONTACT_POINT_ID = ' || p_cnt_point_rec.CONTACT_POINT_ID
839 );
840
841
842 -- ||
843 --''' AND CONTACT_POINT_ID <> ' || p_cnt_point_rec.CONTACT_POINT_ID
844 --);
845 IF l_valid_flag = FND_API.g_false THEN
846 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_CONTACT_POINT_ID_DUPLICATE');
847 x_return_status := FND_API.g_ret_sts_error;
848 RETURN;
849 END IF;*/
850
851
852 END IF;
853 IF (AMS_DEBUG_HIGH_ON) THEN
854
855 AMS_UTILITY_PVT.debug_message(p_cnt_point_rec.arc_contact_used_by);
856 END IF;
857
858 END check_cnt_point_uk_items;
859
860
861 /**
862 -- PURPOSE
863 Checks whether the required fields are not null
864 -- HISTORY
865 rssharma
866 01/29/2001 Removed check from all the who fields
867 and object version Number as these values are
868 supplied by Table API in case they are missing
869 */
870
871
872 PROCEDURE check_cnt_point_req_items(
873 p_cnt_point_rec IN cnt_point_rec_type,
874 p_validation_mode IN VARCHAR2 := JTF_PLSQL_API.g_create,
875 x_return_status OUT NOCOPY VARCHAR2
876 )
877 IS
878 BEGIN
879
880 IF (AMS_DEBUG_HIGH_ON) THEN
881
882
883
884 AMS_UTILITY_PVT.debug_message('Inside check_cnt_point_req_items');
885
886 END IF;
887
888 x_return_status := FND_API.g_ret_sts_success;
889
890 IF p_validation_mode = JTF_PLSQL_API.g_create THEN
891
892 /*
893 IF p_cnt_point_rec.contact_point_id = FND_API.g_miss_num OR p_cnt_point_rec.contact_point_id IS NULL THEN
894 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_CNT_POINT_NO_ID');
895 x_return_status := FND_API.g_ret_sts_error;
896
897 RETURN;
898 END IF;
899 */
900
901 /*IF p_cnt_point_rec.last_update_date = FND_API.g_miss_date OR p_cnt_point_rec.last_update_date IS NULL THEN
902 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_cnt_point_NO_last_update_date');
903 x_return_status := FND_API.g_ret_sts_error;
904 RETURN;
905 END IF;
906
907
908 IF p_cnt_point_rec.last_updated_by = FND_API.g_miss_num OR p_cnt_point_rec.last_updated_by IS NULL THEN
909 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_cnt_point_NO_last_updated_by');
910 x_return_status := FND_API.g_ret_sts_error;
911 RETURN;
912 END IF;
913
914
915 IF p_cnt_point_rec.creation_date = FND_API.g_miss_date OR p_cnt_point_rec.creation_date IS NULL THEN
916 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_cnt_point_NO_creation_date');
917 x_return_status := FND_API.g_ret_sts_error;
918 RETURN;
919 END IF;
920
921
922 IF p_cnt_point_rec.created_by = FND_API.g_miss_num OR p_cnt_point_rec.created_by IS NULL THEN
923 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_cnt_point_NO_created_by');
924 x_return_status := FND_API.g_ret_sts_error;
925 RETURN;
926 END IF;
927
928
929 IF p_cnt_point_rec.object_version_number = FND_API.g_miss_num OR p_cnt_point_rec.object_version_number IS NULL THEN
930 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_cnt_point_NO_object_version_number');
931 x_return_status := FND_API.g_ret_sts_error;
932 RETURN;
933 END IF; */
934
935
936 IF p_cnt_point_rec.arc_contact_used_by = FND_API.g_miss_char OR p_cnt_point_rec.arc_contact_used_by IS NULL THEN
937 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_CNT_POINT_NO_USED_BY');
938 x_return_status := FND_API.g_ret_sts_error;
939 RETURN;
940 END IF;
941
942
943 IF p_cnt_point_rec.act_contact_used_by_id = FND_API.g_miss_num OR p_cnt_point_rec.act_contact_used_by_id IS NULL THEN
944 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_CNT_POINT_NO_USED_BY_ID');
945 x_return_status := FND_API.g_ret_sts_error;
946 RETURN;
947 END IF;
948
949
950 IF p_cnt_point_rec.contact_point_type = FND_API.g_miss_char OR p_cnt_point_rec.contact_point_type IS NULL THEN
951 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_CNT_POINT_NO_TYPE');
952 x_return_status := FND_API.g_ret_sts_error;
953 RETURN;
954 END IF;
955
956
957 IF p_cnt_point_rec.contact_point_value = FND_API.g_miss_char OR p_cnt_point_rec.contact_point_value IS NULL THEN
958 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_CNT_POINT_NO_VALUE');
959 x_return_status := FND_API.g_ret_sts_error;
960 RETURN;
961 END IF;
962 ELSE
963
964
965 IF p_cnt_point_rec.contact_point_id IS NULL THEN
966 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_CNT_POINT_NO_ID');
967 x_return_status := FND_API.g_ret_sts_error;
968 RETURN;
969 END IF;
970
971
972 /*IF p_cnt_point_rec.last_update_date IS NULL THEN
973 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_cnt_point_NO_last_update_date');
974 x_return_status := FND_API.g_ret_sts_error;
975 RETURN;
976 END IF;
977
978
979 IF p_cnt_point_rec.last_updated_by IS NULL THEN
980 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_cnt_point_NO_last_updated_by');
981 x_return_status := FND_API.g_ret_sts_error;
982 RETURN;
983 END IF;
984
985
986 IF p_cnt_point_rec.creation_date IS NULL THEN
987 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_cnt_point_NO_creation_date');
988 x_return_status := FND_API.g_ret_sts_error;
989 RETURN;
990 END IF;
991
992
993 IF p_cnt_point_rec.created_by IS NULL THEN
994 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_cnt_point_NO_created_by');
995 x_return_status := FND_API.g_ret_sts_error;
996 RETURN;
997 END IF;
998
999
1000 IF p_cnt_point_rec.object_version_number IS NULL THEN
1001 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_cnt_point_NO_object_version_number');
1002 x_return_status := FND_API.g_ret_sts_error;
1003 RETURN;
1004 END IF; */
1005
1006
1007 IF p_cnt_point_rec.arc_contact_used_by IS NULL THEN
1008 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_CNT_POINT_NO_USED_BY');
1009 x_return_status := FND_API.g_ret_sts_error;
1010 RETURN;
1011 END IF;
1012
1013
1014 IF p_cnt_point_rec.act_contact_used_by_id IS NULL THEN
1015 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_CNT_POINT_NO_USED_BY_ID');
1016 x_return_status := FND_API.g_ret_sts_error;
1017 RETURN;
1018 END IF;
1019
1020
1021 IF p_cnt_point_rec.contact_point_type IS NULL THEN
1022 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_CNT_POINT_NO_TYPE');
1023 x_return_status := FND_API.g_ret_sts_error;
1024 RETURN;
1025 END IF;
1026
1027
1028 IF p_cnt_point_rec.contact_point_value IS NULL THEN
1029 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_CNT_POINT_NO_VALUE');
1030 x_return_status := FND_API.g_ret_sts_error;
1031 RETURN;
1032 END IF;
1033 END IF;
1034
1035 IF (AMS_DEBUG_HIGH_ON) THEN
1036
1037
1038
1039 AMS_UTILITY_PVT.debug_message(' Exiting check_cnt_point_req_items');
1040
1041 END IF;
1042
1043 END check_cnt_point_req_items;
1044
1045 PROCEDURE check_country_exists(
1046 p_cnt_point_rec IN cnt_point_rec_type
1047 , x_return_status OUT NOCOPY VARCHAR2
1048 )
1049 IS
1050 l_table_name VARCHAR2(30):= 'jtf_loc_hierarchies_vl';
1051 l_pk_name VARCHAR2(30) := 'location_hierarchy_id';
1052 l_pk_value NUMBER := p_cnt_point_rec.country;
1053 l_pk_data_type NUMBER := AMS_Utility_PVT.g_number;
1054
1055
1056 BEGIN
1057 IF (AMS_DEBUG_HIGH_ON) THEN
1058
1059 AMS_UTILITY_PVT.debug_message('Inside check_country_exists');
1060 END IF;
1061 -- initialise the return status to success
1062 x_return_status := FND_API.g_ret_sts_success ;
1063
1064 -- if country is null or missing then perform the check
1065 IF p_cnt_point_rec.country <> FND_API.g_miss_num
1066 AND p_cnt_point_rec.country IS NOT NULL THEN
1067 IF
1068 AMS_Utility_PVT.check_fk_exists(
1069 p_table_name => l_table_name
1070 , p_pk_name => l_pk_name
1071 , p_pk_value => l_pk_value
1072 , p_pk_data_type => l_pk_data_type
1073 , p_additional_where_clause => NULL
1074 ) = FND_API.g_false
1075 THEN
1076 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_CNT_POINT_BAD_COUNTRY');
1077 x_return_status := FND_API.g_ret_sts_error;
1078 RETURN ;
1079 END IF;
1080 END IF;
1081
1082 END check_country_exists;
1083
1084 PROCEDURE check_cnt_point_FK_items(
1085 p_cnt_point_rec IN cnt_point_rec_type,
1086 x_return_status OUT NOCOPY VARCHAR2
1087 )
1088 IS
1089 BEGIN
1090 --
1091 -- Initialize the OUT parameter
1092 --
1093 x_return_status := FND_API.g_ret_sts_success ;
1094 -- code added by me
1095 -- Check arc_contact_used_by
1096 IF (AMS_DEBUG_HIGH_ON) THEN
1097
1098 AMS_UTILITY_PVT.debug_message('Inside check_cnt_point_fk_items');
1099 END IF;
1100
1101 IF p_cnt_point_rec.arc_contact_used_by <> FND_API.G_MISS_CHAR THEN
1102 IF p_cnt_point_rec.arc_contact_used_by <> 'CAMP' AND
1103 p_cnt_point_rec.arc_contact_used_by <> 'CSCH' AND
1104 p_cnt_point_rec.arc_contact_used_by <> 'EVEH' AND
1105 p_cnt_point_rec.arc_contact_used_by <> 'EVEO'
1106 THEN
1107 -- invalid item
1108 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_CONTACT_INVALID_USED_BY'); -- TO CHECK THE ERROR MESSAGE TO BE RAISED*/
1109 /*IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
1110 THEN -- MMSG
1111 -- IF (AMS_DEBUG_HIGH_ON) THEN AMS_UTILITY_PVT.debug_message('Foreign Key Does not Exist'); END IF;
1112 FND_MESSAGE.Set_Name('AMS', 'AMS_TRIG_INVALID_CREATED_FOR');
1113 FND_MSG_PUB.Add;
1114 END IF;*/
1115
1116
1117 x_return_status := FND_API.G_RET_STS_ERROR;
1118 -- If any errors happen abort API/Procedure.
1119 RETURN;
1120 END IF;
1121 END IF;
1122
1123 IF p_cnt_point_rec.country <> FND_API.G_MISS_NUM AND p_cnt_point_rec.country IS NOT NULL THEN
1124 check_country_exists(
1125 p_cnt_point_rec => p_cnt_point_rec
1126 , x_return_status => x_return_status
1127 );
1128
1129 IF x_return_status <> FND_API.g_ret_sts_success THEN
1130 AMS_Utility_PVT.Error_Message(p_message_name => 'API_CONTACT_INVALID_COUNTRY');
1131 RETURN;
1132 END IF;
1133 END IF;
1134
1135
1136 -- end code added by me
1137
1138 -- Enter custom code here
1139
1140
1141
1142 END check_cnt_point_FK_items;
1143
1144 PROCEDURE check_cnt_point_Lookup_items(
1145 p_cnt_point_rec IN cnt_point_rec_type,
1146 x_return_status OUT NOCOPY VARCHAR2
1147 )
1148 IS
1149 BEGIN
1150 IF (AMS_DEBUG_HIGH_ON) THEN
1151
1152 AMS_UTILITY_PVT.debug_message('Inside Ckeck lookups');
1153 END IF;
1154 IF (AMS_DEBUG_HIGH_ON) THEN
1155
1156 AMS_UTILITY_PVT.debug_message(p_cnt_point_rec.arc_contact_used_by);
1157 END IF;
1158 x_return_status := FND_API.g_ret_sts_success;
1159 -- code added by me
1160 IF p_cnt_point_rec.CONTACT_POINT_TYPE <> FND_API.G_MISS_CHAR
1161 THEN
1162 IF (AMS_DEBUG_HIGH_ON) THEN
1163
1164 AMS_UTILITY_PVT.debug_message(' LookUp type lookup code = '''|| p_cnt_point_rec.contact_point_value);
1165 END IF;
1166 IF AMS_Utility_PVT.Check_Lookup_Exists
1167 ( p_lookup_table_name => 'AMS_LOOKUPS'
1168 ,p_lookup_type => 'AMS_CONTACT_POINT_TYPE'
1169 ,p_lookup_code => p_cnt_point_rec.contact_point_type
1170 ) = FND_API.G_FALSE then
1171
1172 -- invalid item
1173 /* IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
1174 THEN -- MMSG
1175 -- IF (AMS_DEBUG_HIGH_ON) THEN AMS_UTILITY_PVT.debug_message('Triggering Type is invalid'); END IF;
1176
1177 FND_MSG_PUB.Add;
1178 END IF;*/
1179 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_CONTACT_INVALID_TYPE');
1180 x_return_status := FND_API.G_RET_STS_ERROR;
1181 -- If any errors happen abort API/Procedure.
1182 RETURN;
1183 END IF;
1184 END IF;
1185 -- end code added by me
1186 -- Enter custom code here
1187 IF (AMS_DEBUG_HIGH_ON) THEN
1188
1189 AMS_UTILITY_PVT.debug_message(p_cnt_point_rec.arc_contact_used_by);
1190 END IF;
1191 END check_cnt_point_Lookup_items;
1192
1193 PROCEDURE Check_cnt_point_Items (
1194 P_cnt_point_rec IN cnt_point_rec_type,
1195 p_validation_mode IN VARCHAR2,
1196 x_return_status OUT NOCOPY VARCHAR2
1197 )
1198 IS
1199 BEGIN
1200
1201 -- Check Items Uniqueness API calls
1202 IF (AMS_DEBUG_HIGH_ON) THEN
1203
1204 AMS_UTILITY_PVT.debug_message('Inside Check_cnt_point_items');
1205 END IF;
1206 IF (AMS_DEBUG_HIGH_ON) THEN
1207
1208 AMS_UTILITY_PVT.debug_message('Before Calling uk Items');
1209 END IF;
1210 IF (AMS_DEBUG_HIGH_ON) THEN
1211
1212 AMS_UTILITY_PVT.debug_message('Validation mode is ' || p_validation_mode);
1213 END IF;
1214 check_cnt_point_uk_items(
1215 p_cnt_point_rec => p_cnt_point_rec,
1216 p_validation_mode => p_validation_mode,
1217 x_return_status => x_return_status);
1218 IF x_return_status <> FND_API.g_ret_sts_success THEN
1219 RETURN;
1220 END IF;
1221 IF (AMS_DEBUG_HIGH_ON) THEN
1222
1223 AMS_UTILITY_PVT.debug_message('After Calling uk Items '||x_return_status);
1224 END IF;
1225
1226 -- Check Items Required/NOT NULL API calls
1227 IF (AMS_DEBUG_HIGH_ON) THEN
1228
1229 AMS_UTILITY_PVT.debug_message('Before Calling req Items');
1230 END IF;
1231 IF (AMS_DEBUG_HIGH_ON) THEN
1232
1233 AMS_UTILITY_PVT.debug_message('Validation mode is ' || p_validation_mode);
1234 END IF;
1235 check_cnt_point_req_items(
1236 p_cnt_point_rec => p_cnt_point_rec,
1237 p_validation_mode => p_validation_mode,
1238 x_return_status => x_return_status);
1239 IF x_return_status <> FND_API.g_ret_sts_success THEN
1240 RETURN;
1241 END IF;
1242 IF (AMS_DEBUG_HIGH_ON) THEN
1243
1244 AMS_UTILITY_PVT.debug_message('After Calling req Items'|| x_return_status);
1245 END IF;
1246
1247 /* Commented by nrengasw 05/07/2001. No validation required on contact point used by.
1248 Country is a free format column. Do not validate against geographies
1249
1250 -- Check Items Foreign Keys API calls
1251 IF (AMS_DEBUG_HIGH_ON) THEN
1252
1253 AMS_UTILITY_PVT.debug_message('Before Calling fk Items');
1254 END IF;
1255 check_cnt_point_FK_items(
1256 p_cnt_point_rec => p_cnt_point_rec,
1257 x_return_status => x_return_status);
1258 IF x_return_status <> FND_API.g_ret_sts_success THEN
1259 RETURN;
1260 END IF;
1261 IF (AMS_DEBUG_HIGH_ON) THEN
1262
1263 AMS_UTILITY_PVT.debug_message('After Calling fk Items' || x_return_status);
1264 END IF;
1265
1266 End of comments by nrengasw
1267 */
1268 -- Check Items Lookups
1269 IF (AMS_DEBUG_HIGH_ON) THEN
1270
1271 AMS_UTILITY_PVT.debug_message('Before Calling Lk Items');
1272 END IF;
1273 check_cnt_point_Lookup_items(
1274 p_cnt_point_rec => p_cnt_point_rec,
1275 x_return_status => x_return_status);
1276 IF x_return_status <> FND_API.g_ret_sts_success THEN
1277 RETURN;
1278 END IF;
1279 IF (AMS_DEBUG_HIGH_ON) THEN
1280
1281 AMS_UTILITY_PVT.debug_message('After Calling lk Items'|| x_return_status);
1282 END IF;
1283 END Check_cnt_point_Items;
1284
1285
1286 PROCEDURE Complete_cnt_point_Rec (
1287 P_cnt_point_rec IN cnt_point_rec_type,
1288 x_complete_rec OUT NOCOPY cnt_point_rec_type
1289 )
1290 IS
1291 BEGIN
1292
1293 --
1294 -- Check Items API calls
1295 NULL;
1296 --
1297
1298 END Complete_cnt_point_Rec;
1299
1300
1301 PROCEDURE Validate_cnt_point(
1302 p_api_version_number IN NUMBER,
1303 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1304 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1305 p_validation_mode IN VARCHAR2,
1306 p_cnt_point_rec IN cnt_point_rec_type,
1307 x_return_status OUT NOCOPY VARCHAR2,
1308 x_msg_count OUT NOCOPY NUMBER,
1309 x_msg_data OUT NOCOPY VARCHAR2
1310 )
1311
1312 IS
1313 L_API_NAME CONSTANT VARCHAR2(30) := 'Validate_Cnt_Point';
1314 L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
1315 l_object_version_number NUMBER;
1316 l_cnt_point_rec AMS_Cnt_Point_PVT.cnt_point_rec_type;
1317
1318 BEGIN
1319 IF (AMS_DEBUG_HIGH_ON) THEN
1320
1321 AMS_UTILITY_PVT.debug_message('Inside Validate_cnt_points');
1322 END IF;
1323
1324 -- Standard Start of API savepoint
1325 SAVEPOINT VALIDATE_Cnt_Point_;
1326
1327 -- Standard call to check for call compatibility.
1328 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
1329 p_api_version_number,
1330 l_api_name,
1331 G_PKG_NAME)
1332 THEN
1333 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1334 END IF;
1335
1336 IF (AMS_DEBUG_HIGH_ON) THEN
1337
1338
1339
1340 AMS_UTILITY_PVT.debug_message('Validate Api is compatible');
1341
1342 END IF;
1343 -- Initialize message list if p_init_msg_list is set to TRUE.
1344 IF FND_API.to_Boolean( p_init_msg_list )
1345 THEN
1346 FND_MSG_PUB.initialize;
1347 END IF;
1348
1349 IF p_validation_level >= JTF_PLSQL_API.g_valid_level_item THEN
1350 IF (AMS_DEBUG_HIGH_ON) THEN
1351
1352 AMS_UTILITY_PVT.debug_message('Calling Check_cnt_point');
1353 END IF;
1354 IF (AMS_DEBUG_HIGH_ON) THEN
1355
1356 AMS_UTILITY_PVT.debug_message('Validation mode is ' || p_validation_mode);
1357 END IF;
1358 Check_cnt_point_Items(
1359 p_cnt_point_rec => p_cnt_point_rec,
1360 p_validation_mode => p_validation_mode,
1361 x_return_status => x_return_status
1362 );
1363
1364 IF (AMS_DEBUG_HIGH_ON) THEN
1365
1366
1367
1368 AMS_UTILITY_PVT.debug_message('DOne calling check_cnt_point '||p_cnt_point_rec.arc_contact_used_by|| x_return_status);
1369
1370 END IF;
1371
1372 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1373 RAISE FND_API.G_EXC_ERROR;
1374 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1375 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1376 END IF;
1377 END IF;
1378
1379 IF (AMS_DEBUG_HIGH_ON) THEN
1380
1381
1382
1383 AMS_UTILITY_PVT.debug_message('Callin Complete rec');
1384
1385 END IF;
1386 Complete_cnt_point_Rec(
1387 p_cnt_point_rec => p_cnt_point_rec,
1388 x_complete_rec => l_cnt_point_rec
1389 );
1390
1391 IF (AMS_DEBUG_HIGH_ON) THEN
1392
1393
1394
1395 AMS_UTILITY_PVT.debug_message('DOne calling Complete_rec '|| x_return_status);
1396
1397 END IF;
1398
1399
1400
1401 IF p_validation_level >= JTF_PLSQL_API.g_valid_level_item THEN
1402 IF (AMS_DEBUG_HIGH_ON) THEN
1403
1404 AMS_UTILITY_PVT.debug_message('Calling Validate rec'||p_cnt_point_rec.arc_contact_used_by|| x_return_status);
1405 END IF;
1406 Validate_cnt_point_Rec(
1407 p_api_version_number => 1.0,
1408 p_validation_mode => p_validation_mode,
1409 p_init_msg_list => FND_API.G_FALSE,
1410
1411 x_return_status => x_return_status,
1412 x_msg_count => x_msg_count,
1413 x_msg_data => x_msg_data,
1414 p_cnt_point_rec => p_cnt_point_rec);
1415 IF (AMS_DEBUG_HIGH_ON) THEN
1416
1417 AMS_UTILITY_PVT.debug_message('DOne calling Validate rec ' ||p_cnt_point_rec.arc_contact_used_by|| x_return_status);
1418 END IF;
1419
1420 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1421 RAISE FND_API.G_EXC_ERROR;
1422 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1423 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1424 END IF;
1425 END IF;
1426
1427
1428 -- Debug Message
1429 IF (AMS_DEBUG_HIGH_ON) THEN
1430
1431 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start '||x_return_status);
1432 END IF;
1433
1434
1435 -- Initialize API return status to SUCCESS
1436 x_return_status := FND_API.G_RET_STS_SUCCESS;
1437
1438
1439 -- Debug Message
1440 IF (AMS_DEBUG_HIGH_ON) THEN
1441
1442 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'end ' || x_return_status);
1443 END IF;
1444
1445 -- Standard call to get message count and if count is 1, get message info.
1446 FND_MSG_PUB.Count_And_Get
1447 (p_encoded => FND_API.G_FALSE,
1448 p_count => x_msg_count,
1449 p_data => x_msg_data
1450 );
1451 EXCEPTION
1452
1453 WHEN AMS_Utility_PVT.resource_locked THEN
1454 x_return_status := FND_API.g_ret_sts_error;
1455 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
1456
1457 WHEN FND_API.G_EXC_ERROR THEN
1458 ROLLBACK TO VALIDATE_Cnt_Point_;
1459 x_return_status := FND_API.G_RET_STS_ERROR;
1460 -- Standard call to get message count and if count=1, get the message
1461 FND_MSG_PUB.Count_And_Get (
1462 p_encoded => FND_API.G_FALSE,
1463 p_count => x_msg_count,
1464 p_data => x_msg_data
1465 );
1466
1467 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1468 ROLLBACK TO VALIDATE_Cnt_Point_;
1469 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1470 -- Standard call to get message count and if count=1, get the message
1471 FND_MSG_PUB.Count_And_Get (
1472 p_encoded => FND_API.G_FALSE,
1473 p_count => x_msg_count,
1474 p_data => x_msg_data
1475 );
1476
1477 WHEN OTHERS THEN
1478 ROLLBACK TO VALIDATE_Cnt_Point_;
1479 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1480 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1481 THEN
1482 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
1483 END IF;
1484 -- Standard call to get message count and if count=1, get the message
1485 FND_MSG_PUB.Count_And_Get (
1486 p_encoded => FND_API.G_FALSE,
1487 p_count => x_msg_count,
1488 p_data => x_msg_data
1489 );
1490 End Validate_Cnt_Point;
1491
1492 -- procedure added by me
1493 PROCEDURE check_cnt_point_uk_rec(
1494 p_cnt_point_rec IN cnt_point_rec_type,
1495 p_validation_mode IN VARCHAR2,
1496 x_return_status OUT NOCOPY VARCHAR2
1497 )
1498 IS
1499 l_contact_point_id NUMBER ;
1500 CURSOR c_check_cnt_point_uk_rec_cr IS
1501 SELECT contact_point_id
1502 FROM ams_act_contact_points
1503 WHERE arc_contact_used_by = p_cnt_point_rec.arc_contact_used_by
1504 AND act_contact_used_by_id = p_cnt_point_rec.act_contact_used_by_id
1505 AND contact_point_type = p_cnt_point_rec.contact_point_type
1506 AND contact_point_value = p_cnt_point_rec.contact_point_value
1507 AND contact_point_value_id = p_cnt_point_rec.contact_point_value_id;
1508
1509 CURSOR c_check_cnt_point_uk_rec_up IS
1510 SELECT contact_point_id
1511 FROM ams_act_contact_points
1512 WHERE arc_contact_used_by = p_cnt_point_rec.arc_contact_used_by
1513 AND act_contact_used_by_id = p_cnt_point_rec.act_contact_used_by_id
1514 AND contact_point_type = p_cnt_point_rec.contact_point_type
1515 AND contact_point_value = p_cnt_point_rec.contact_point_value
1516 AND contact_point_id <> p_cnt_point_rec.contact_point_id
1517 AND contact_point_value_id = p_cnt_point_rec.contact_point_value_id;
1518
1519 BEGIN
1520
1521 -- Initialize API return status to SUCCESS
1522 x_return_status := FND_API.G_RET_STS_SUCCESS;
1523
1524 IF(p_validation_mode = JTF_PLSQL_API.g_create)
1525 THEN
1526 OPEN c_check_cnt_point_uk_rec_cr ;
1527 FETCH c_check_cnt_point_uk_rec_cr INTO l_contact_point_id;
1528 IF c_check_cnt_point_uk_rec_cr%FOUND THEN
1529 x_return_status := FND_API.G_RET_STS_ERROR;
1530 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_CONTACT_POINT_ID_DUPLICATE');
1531 CLOSE c_check_cnt_point_uk_rec_cr ;
1532 RETURN;
1533 END IF;
1534 CLOSE c_check_cnt_point_uk_rec_cr ;
1535 END IF;
1536
1537 IF(p_validation_mode = JTF_PLSQL_API.g_update) THEN
1538 OPEN c_check_cnt_point_uk_rec_up ;
1539 FETCH c_check_cnt_point_uk_rec_up INTO l_contact_point_id;
1540
1541 IF c_check_cnt_point_uk_rec_up%FOUND THEN
1542 x_return_status := FND_API.G_RET_STS_ERROR;
1543 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_CONTACT_POINT_ID_DUPLICATE');
1544 CLOSE c_check_cnt_point_uk_rec_up ;
1545 RETURN;
1546 END IF;
1547 CLOSE c_check_cnt_point_uk_rec_up ;
1548 END IF;
1549
1550 END check_cnt_point_uk_rec;
1551 -- end procedure added by me
1552
1553
1554
1555 -- procedure added by me
1556 PROCEDURE check_cnt_point_fk_rec(
1557 p_cnt_point_rec IN cnt_point_rec_type
1558 ,x_return_status OUT NOCOPY VARCHAR2
1559 )
1560 IS
1561
1562 l_arc_contact_used_by VARCHAR2(30) := p_cnt_point_rec.arc_contact_used_by ;
1563 l_table_name VARCHAR2(30);
1564 l_pk_name VARCHAR2(30) ;
1565 l_pk_value NUMBER;
1566 l_pk_data_type NUMBER;
1567 l_additional_where_clause VARCHAR2(100);
1568
1569 --added by soagrawa on 31-oct-2001; bug# 2074740
1570 l_contact_point_type VARCHAR2(30) := p_cnt_point_rec.contact_point_type;
1571
1572 -- added by aranka on 27-dec-2001; bug# 2163252
1573 -- l_contact_point_value VARCHAR2(30) := p_cnt_point_rec.contact_point_value;
1574 l_contact_point_value VARCHAR2(256) := p_cnt_point_rec.contact_point_value;
1575 -- added by aranka on 27-dec-2001; bug# 2163252
1576
1577 BEGIN
1578 /* check if the arc_contact_point_id is valid */
1579 IF (AMS_DEBUG_HIGH_ON) THEN
1580
1581 AMS_UTILITY_PVT.debug_message('Calling Get_Qual_Table_Name_And_PK');
1582 END IF;
1583 IF (AMS_DEBUG_HIGH_ON) THEN
1584
1585 AMS_UTILITY_PVT.debug_message(l_arc_contact_used_by || ' '|| p_cnt_point_rec.arc_contact_used_by );
1586 END IF;
1587 AMS_Utility_PVT.Get_Qual_Table_Name_And_PK (
1588 p_sys_qual => l_arc_contact_used_by,
1589 x_return_status => x_return_status,
1590 x_table_name => l_table_name,
1591 x_pk_name => l_pk_name
1592 );
1593
1594 IF (AMS_DEBUG_HIGH_ON) THEN
1595
1596
1597
1598 AMS_UTILITY_PVT.debug_message('Done Calling Get_Qual_Table_Name_And_PK ' || l_arc_contact_used_by ||l_table_name|| l_pk_name || x_return_status);
1599
1600 END IF;
1601
1602 l_pk_value := p_cnt_point_rec.ACT_CONTACT_USED_BY_ID ; -- findout what to assign
1603 l_pk_data_type := AMS_Utility_PVT.G_NUMBER;
1604 l_additional_where_clause := NULL;
1605 IF (AMS_DEBUG_HIGH_ON) THEN
1606
1607 AMS_UTILITY_PVT.debug_message(' Calling Check FK Exists '|| l_table_name || l_pk_name || l_pk_value || l_pk_data_type || x_return_status );
1608 END IF;
1609 IF AMS_Utility_PVT.Check_FK_Exists (
1610 p_table_name => l_table_name
1611 ,p_pk_name => l_pk_name
1612 ,p_pk_value => l_pk_value
1613 --,p_pk_data_type => l_pk_data_type
1614 --,p_additional_where_clause => l_additional_where_clause
1615 ) = FND_API.G_FALSE
1616 THEN
1617
1618 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_TRIG_INVALID_CREATED_FOR');
1619
1620
1621 x_return_status := FND_API.G_RET_STS_ERROR;
1622 IF (AMS_DEBUG_HIGH_ON) THEN
1623
1624 AMS_UTILITY_PVT.debug_message(' Done Calling Check FK Exists '|| l_table_name || l_pk_name || l_pk_value || l_pk_data_type || x_return_status );
1625 END IF;
1626 RETURN;
1627 END IF;
1628
1629 /* in case of inbound/outbound script - check if the name is valid
1630 added by soagrawa on 31-oct-2001 : bug# 2074740 */
1631 IF l_contact_point_type IS NOT NULL AND l_contact_point_value IS NOT null
1632 THEN
1633 IF l_contact_point_type = 'INBOUND_SCRIPT' OR l_contact_point_type = 'OUTBOUND_SCRIPT'
1634 THEN
1635
1636 -- soagrawa 21-jan-2003 fixed bug# 2757856
1637 -- now comparing trimmed values
1638 IF AMS_Utility_PVT.Check_FK_Exists (
1639 p_table_name => 'ies_deployed_scripts'
1640 ,p_pk_name => 'ltrim(rtrim(dscript_name))'
1641 ,p_pk_value => ltrim(rtrim(l_contact_point_value))
1642 ) = FND_API.G_FALSE
1643 THEN
1644 IF l_contact_point_type = 'INBOUND_SCRIPT'
1645 THEN
1646 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_CSCH_BAD_INBOUND_DSCRIPT');
1647 ELSIF l_contact_point_type = 'OUTBOUND_SCRIPT'
1648 THEN
1649 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_CSCH_BAD_OUTBOUND_DSCRIPT');
1650 END IF;
1651
1652 x_return_status := FND_API.G_RET_STS_ERROR;
1653 IF (AMS_DEBUG_HIGH_ON) THEN
1654
1655 AMS_UTILITY_PVT.debug_message(' Done Calling Check FK Exists '|| l_table_name || l_pk_name || l_pk_value || l_pk_data_type || x_return_status );
1656 END IF;
1657 RETURN;
1658 END IF;
1659
1660 END IF;
1661 END IF;
1662
1663
1664
1665 END check_cnt_point_fk_rec;
1666
1667 -- end procedure added by me
1668
1669 PROCEDURE Validate_cnt_point_rec(
1670 p_api_version_number IN NUMBER,
1671 p_validation_mode IN VARCHAR2,
1672 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1673 x_return_status OUT NOCOPY VARCHAR2,
1674 x_msg_count OUT NOCOPY NUMBER,
1675 x_msg_data OUT NOCOPY VARCHAR2,
1676 p_cnt_point_rec IN cnt_point_rec_type
1677 )
1678 IS
1679 l_arc_contact_used_by VARCHAR2(30) := p_cnt_point_rec.arc_contact_used_by ;
1680 l_table_name VARCHAR2(30);
1681 l_pk_name VARCHAR2(30) ;
1682 l_pk_value NUMBER;
1683 l_pk_data_type NUMBER;
1684 l_additional_where_clause VARCHAR2(100);
1685 BEGIN
1686 -- Initialize message list if p_init_msg_list is set to TRUE.
1687 IF FND_API.to_Boolean( p_init_msg_list )
1688 THEN
1689 FND_MSG_PUB.initialize;
1690 END IF;
1691
1692 IF (AMS_DEBUG_HIGH_ON) THEN
1693
1694
1695
1696 AMS_UTILITY_PVT.debug_message('Inside Validate rec'||p_cnt_point_rec.arc_contact_used_by|| x_return_status);
1697
1698 END IF;
1699 -- Initialize API return status to SUCCESS
1700 x_return_status := FND_API.G_RET_STS_SUCCESS;
1701
1702 -- Hint: Validate data
1703 -- If data not valid
1704 -- THEN
1705 -- x_return_status := FND_API.G_RET_STS_ERROR;
1706 -- code added by rssharma
1707 /* check_cnt_point_FK_items(
1708 p_cnt_point_rec => p_cnt_point_rec,
1709 x_return_status => x_return_status
1710 );
1711
1712 IF x_return_status <> FND_API.g_ret_sts_success THEN
1713 RETURN;
1714 END IF;*/
1715 IF (AMS_DEBUG_HIGH_ON) THEN
1716
1717 AMS_UTILITY_PVT.debug_message('Calling check_cnt_point_fk_rec'||p_cnt_point_rec.arc_contact_used_by|| x_return_status);
1718 END IF;
1719
1720 check_cnt_point_fk_rec(
1721 p_cnt_point_rec => p_cnt_point_rec
1722 ,x_return_status => x_return_status
1723 );
1724 IF (AMS_DEBUG_HIGH_ON) THEN
1725
1726 AMS_UTILITY_PVT.debug_message(' Done calling check_cnt_point_fk_rec '||p_cnt_point_rec.arc_contact_used_by|| x_return_status);
1727 END IF;
1728 IF x_return_status <> FND_API.g_ret_sts_success THEN
1729 RETURN;
1730 END IF;
1731
1732
1733 IF (AMS_DEBUG_HIGH_ON) THEN
1734
1735
1736
1737
1738
1739 AMS_UTILITY_PVT.debug_message('Calling check_cnt_point_uk_rec');
1740
1741
1742 END IF;
1743 check_cnt_point_uk_rec(
1744 p_cnt_point_rec => p_cnt_point_rec,
1745 p_validation_mode => p_validation_mode,
1746 x_return_status => x_return_status);
1747 IF (AMS_DEBUG_HIGH_ON) THEN
1748
1749 AMS_UTILITY_PVT.debug_message(' Done calling check_cnt_point_uk_rec '||x_return_status);
1750 END IF;
1751
1752 IF x_return_status <> FND_API.g_ret_sts_success THEN
1753 RETURN;
1754 END IF;
1755 -- end code added by me
1756
1757
1758
1759
1760 -- Debug Message
1761 END Validate_cnt_point_Rec;
1762
1763
1764
1765 END AMS_Cnt_Point_PVT;