[Home] [Help]
PACKAGE BODY: APPS.AMS_LIST_GROUP_PVT
Source
1 PACKAGE BODY AMS_List_Group_PVT as
2 /* $Header: amsvlgpb.pls 115.5 2002/11/22 08:55:26 jieli ship $ */
3 -- ===============================================================
4 -- Start of Comments
5 -- Package name
6 -- AMS_List_Group_PVT
7 -- Purpose
8 --
9 -- History
10 --
11 -- NOTE
12 --
13 -- End of Comments
14 -- ===============================================================
15
16
17 G_PKG_NAME CONSTANT VARCHAR2(30):= 'AMS_List_Group_PVT';
18 G_FILE_NAME CONSTANT VARCHAR2(12) := 'amsvlgpb.pls';
19
20
21 AMS_DEBUG_HIGH_ON boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_HIGH);
22 AMS_DEBUG_LOW_ON boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
23 AMS_DEBUG_MEDIUM_ON boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_MEDIUM);
24
25 PROCEDURE Create_List_Group(
26 p_api_version_number IN NUMBER,
27 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
28 p_commit IN VARCHAR2 := FND_API.G_FALSE,
29 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
30 x_return_status OUT NOCOPY VARCHAR2,
31 x_msg_count OUT NOCOPY NUMBER,
32 x_msg_data OUT NOCOPY VARCHAR2,
33 p_list_group_rec IN list_group_rec_type := g_miss_list_group_rec,
34 x_act_list_group_id OUT NOCOPY NUMBER
35 )
36
37 IS
38 L_API_NAME CONSTANT VARCHAR2(30) := 'Create_List_Group';
39 L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
40 l_return_status_full VARCHAR2(1);
41 l_object_version_number NUMBER := 1;
42 l_org_id NUMBER := FND_API.G_MISS_NUM;
43 l_ACT_LIST_GROUP_ID NUMBER;
44 l_dummy NUMBER;
45
46 CURSOR c_id IS
47 SELECT AMS_ACT_LIST_GROUPS_s.NEXTVAL
48 FROM dual;
49
50 CURSOR c_id_exists (l_id IN NUMBER) IS
51 SELECT 1
52 FROM AMS_ACT_LIST_GROUPS
53 WHERE ACT_LIST_GROUP_ID = l_id;
54
55 BEGIN
56 -- Standard Start of API savepoint
57 SAVEPOINT CREATE_List_Group_PVT;
58
59 -- Standard call to check for call compatibility.
60 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
61 p_api_version_number,
62 l_api_name,
63 G_PKG_NAME)
64 THEN
65 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
66 END IF;
67
68 -- Initialize message list if p_init_msg_list is set to TRUE.
69 IF FND_API.to_Boolean( p_init_msg_list )
70 THEN
71 FND_MSG_PUB.initialize;
72 END IF;
73
74 -- Debug Message
75 IF (AMS_DEBUG_HIGH_ON) THEN
76
77 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
78 END IF;
79
80
81 -- Initialize API return status to SUCCESS
82 x_return_status := FND_API.G_RET_STS_SUCCESS;
83
84 -- Local variable initialization
85
86 IF p_list_group_rec.ACT_LIST_GROUP_ID IS NULL OR p_list_group_rec.ACT_LIST_GROUP_ID = FND_API.g_miss_num THEN
87 LOOP
88 l_dummy := NULL;
89 OPEN c_id;
90 FETCH c_id INTO l_ACT_LIST_GROUP_ID;
91 CLOSE c_id;
92
93 OPEN c_id_exists(l_ACT_LIST_GROUP_ID);
94 FETCH c_id_exists INTO l_dummy;
95 CLOSE c_id_exists;
96 EXIT WHEN l_dummy IS NULL;
97 END LOOP;
98 END IF;
99
100 -- =========================================================================
101 -- Validate Environment
102 -- =========================================================================
103
104 IF FND_GLOBAL.User_Id IS NULL
105 THEN
106 AMS_Utility_PVT.Error_Message(p_message_name => 'USER_PROFILE_MISSING');
107 RAISE FND_API.G_EXC_ERROR;
108 END IF;
109
110 IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL)
111 THEN
112 -- Debug message
113 IF (AMS_DEBUG_HIGH_ON) THEN
114
115 AMS_UTILITY_PVT.debug_message('Private API: Validate_List_Group');
116 END IF;
117
118 -- Invoke validation procedures
119 Validate_list_group(
120 p_api_version_number => 1.0,
121 p_init_msg_list => FND_API.G_FALSE,
122 p_validation_level => p_validation_level,
123 p_list_group_rec => p_list_group_rec,
124 x_return_status => x_return_status,
125 x_msg_count => x_msg_count,
126 x_msg_data => x_msg_data);
127 END IF;
128
129 IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
130 RAISE FND_API.G_EXC_ERROR;
131 END IF;
132
133
134 -- Debug Message
135 IF (AMS_DEBUG_HIGH_ON) THEN
136
137 AMS_UTILITY_PVT.debug_message( 'Private API: Calling create table handler');
138 END IF;
139
140 -- Invoke table handler(AMS_ACT_LIST_GROUPS_PKG.Insert_Row)
141 AMS_ACT_LIST_GROUPS_PKG.Insert_Row(
142 px_act_list_group_id => l_act_list_group_id,
143 p_act_list_used_by_id => p_list_group_rec.act_list_used_by_id,
144 p_arc_act_list_used_by => p_list_group_rec.arc_act_list_used_by,
145 p_group_code => p_list_group_rec.group_code,
146 p_group_priority => p_list_group_rec.group_priority,
147 p_last_update_date => SYSDATE,
148 p_last_updated_by => FND_GLOBAL.USER_ID,
149 p_creation_date => SYSDATE,
150 p_created_by => FND_GLOBAL.USER_ID,
151 p_last_update_login => FND_GLOBAL.CONC_LOGIN_ID,
152 px_object_version_number => l_object_version_number,
153 p_status_code => p_list_group_rec.status_code,
154 p_user_status_id => p_list_group_rec.user_status_id,
155 p_calling_calendar_id => p_list_group_rec.calling_calendar_id,
156 p_release_control_alg_id => p_list_group_rec.release_control_alg_id,
157 p_release_strategy => p_list_group_rec.release_strategy,
158 p_recycling_alg_id => p_list_group_rec.recycling_alg_id,
159 p_callback_priority_flag => p_list_group_rec.callback_priority_flag,
160 p_call_center_ready_flag => p_list_group_rec.call_center_ready_flag,
161 p_dialing_method => p_list_group_rec.dialing_method,
162 p_quantum => p_list_group_rec.quantum,
163 p_quota => p_list_group_rec.quota,
164 p_quota_reset => p_list_group_rec.quota_reset);
165 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
166 RAISE FND_API.G_EXC_ERROR;
167 END IF;
168 --
169 -- End of API body
170 --
171
172 x_act_list_group_id := l_act_list_group_id;
173 -- Standard check for p_commit
174 IF FND_API.to_Boolean( p_commit )
175 THEN
176 COMMIT WORK;
177 END IF;
178
179
180 -- Debug Message
181 IF (AMS_DEBUG_HIGH_ON) THEN
182
183 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'end');
184 END IF;
185
186 -- Standard call to get message count and if count is 1, get message info.
187 FND_MSG_PUB.Count_And_Get
188 (p_count => x_msg_count,
189 p_data => x_msg_data
190 );
191 EXCEPTION
192
193 WHEN AMS_Utility_PVT.resource_locked THEN
194 x_return_status := FND_API.g_ret_sts_error;
195 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
196
197 WHEN FND_API.G_EXC_ERROR THEN
198 ROLLBACK TO CREATE_List_Group_PVT;
199 x_return_status := FND_API.G_RET_STS_ERROR;
200 -- Standard call to get message count and if count=1, get the message
201 FND_MSG_PUB.Count_And_Get (
202 p_encoded => FND_API.G_FALSE,
203 p_count => x_msg_count,
204 p_data => x_msg_data
205 );
206
207 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
208 ROLLBACK TO CREATE_List_Group_PVT;
209 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
210 -- Standard call to get message count and if count=1, get the message
211 FND_MSG_PUB.Count_And_Get (
212 p_encoded => FND_API.G_FALSE,
213 p_count => x_msg_count,
214 p_data => x_msg_data
215 );
216
217 WHEN OTHERS THEN
218 ROLLBACK TO CREATE_List_Group_PVT;
219 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
220 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
221 THEN
222 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
223 END IF;
224 -- Standard call to get message count and if count=1, get the message
225 FND_MSG_PUB.Count_And_Get (
226 p_encoded => FND_API.G_FALSE,
227 p_count => x_msg_count,
228 p_data => x_msg_data
229 );
230 End Create_List_Group;
231
232
233 PROCEDURE Update_List_Group(
234 p_api_version_number IN NUMBER,
235 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
236 p_commit IN VARCHAR2 := FND_API.G_FALSE,
237 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
238
239 x_return_status OUT NOCOPY VARCHAR2,
240 x_msg_count OUT NOCOPY NUMBER,
241 x_msg_data OUT NOCOPY VARCHAR2,
242
243 p_list_group_rec IN list_group_rec_type,
244 x_object_version_number OUT NOCOPY NUMBER
245 )
246
247 IS
248 CURSOR c_get_list_group(cur_act_list_group_id NUMBER) IS
249 SELECT *
250 FROM AMS_ACT_LIST_GROUPS
251 where act_list_group_id = cur_act_list_group_id ;
252 L_API_NAME CONSTANT VARCHAR2(30) := 'Update_List_Group';
253 L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
254 -- Local Variables
255 l_object_version_number NUMBER;
256 l_ACT_LIST_GROUP_ID NUMBER;
257 l_ref_list_group_rec c_get_List_Group%ROWTYPE ;
258 l_tar_list_group_rec AMS_List_Group_PVT.list_group_rec_type := P_list_group_rec;
259 l_rowid ROWID;
260
261 BEGIN
262 -- Standard Start of API savepoint
263 SAVEPOINT UPDATE_List_Group_PVT;
264
265 -- Standard call to check for call compatibility.
266 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
267 p_api_version_number,
268 l_api_name,
269 G_PKG_NAME)
270 THEN
271 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
272 END IF;
273
274 -- Initialize message list if p_init_msg_list is set to TRUE.
275 IF FND_API.to_Boolean( p_init_msg_list )
276 THEN
277 FND_MSG_PUB.initialize;
278 END IF;
279
280 -- Debug Message
281 IF (AMS_DEBUG_HIGH_ON) THEN
282
283 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
284 END IF;
285
286
287 -- Initialize API return status to SUCCESS
288 x_return_status := FND_API.G_RET_STS_SUCCESS;
289
290 -- Debug Message
291 IF (AMS_DEBUG_HIGH_ON) THEN
292
293 AMS_UTILITY_PVT.debug_message('Private API: - Open Cursor to Select');
294 END IF;
295
296 OPEN c_get_List_Group( l_tar_list_group_rec.act_list_group_id);
297
298 FETCH c_get_List_Group INTO l_ref_list_group_rec ;
299
300 If ( c_get_List_Group%NOTFOUND) THEN
301 AMS_Utility_PVT.Error_Message(p_message_name => 'API_MISSING_UPDATE_TARGET',
302 p_token_name => 'INFO',
303 p_token_value => 'List_Group') ;
304 RAISE FND_API.G_EXC_ERROR;
305 END IF;
306 -- Debug Message
307 IF (AMS_DEBUG_HIGH_ON) THEN
308
309 AMS_UTILITY_PVT.debug_message('Private API: - Close Cursor');
310 END IF;
311 CLOSE c_get_List_Group;
312
313
314 If (l_tar_list_group_rec.object_version_number is NULL or
315 l_tar_list_group_rec.object_version_number = FND_API.G_MISS_NUM ) Then
316 AMS_Utility_PVT.Error_Message(p_message_name => 'API_VERSION_MISSING',
317 p_token_name => 'COLUMN',
318 p_token_value => 'Last_Update_Date') ;
319 raise FND_API.G_EXC_ERROR;
320 End if;
321 -- Check Whether record has been changed by someone else
322 If (l_tar_list_group_rec.object_version_number <> l_ref_list_group_rec.object_version_number) Then
323 AMS_Utility_PVT.Error_Message(p_message_name => 'API_RECORD_CHANGED',
324 p_token_name => 'INFO',
325 p_token_value => 'List_Group') ;
326 raise FND_API.G_EXC_ERROR;
327 End if;
328 IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL)
329 THEN
330 -- Debug message
331 IF (AMS_DEBUG_HIGH_ON) THEN
332
333 AMS_UTILITY_PVT.debug_message('Private API: Validate_List_Group');
334 END IF;
335
336 -- Invoke validation procedures
337 Validate_list_group(
338 p_api_version_number => 1.0,
339 p_init_msg_list => FND_API.G_FALSE,
340 p_validation_level => p_validation_level,
341 p_list_group_rec => p_list_group_rec,
342 x_return_status => x_return_status,
343 x_msg_count => x_msg_count,
344 x_msg_data => x_msg_data);
345 END IF;
346
347 IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
348 RAISE FND_API.G_EXC_ERROR;
349 END IF;
350
351
352 -- Debug Message
353 IF (AMS_DEBUG_HIGH_ON) THEN
354
355 AMS_UTILITY_PVT.debug_message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: Calling update table handler');
356 END IF;
357
358 -- Invoke table handler(AMS_ACT_LIST_GROUPS_PKG.Update_Row)
359 AMS_ACT_LIST_GROUPS_PKG.Update_Row(
360 p_act_list_group_id => p_list_group_rec.act_list_group_id,
361 p_act_list_used_by_id => p_list_group_rec.act_list_used_by_id,
362 p_arc_act_list_used_by => p_list_group_rec.arc_act_list_used_by,
363 p_group_code => p_list_group_rec.group_code,
364 p_group_priority => p_list_group_rec.group_priority,
365 p_last_update_date => SYSDATE,
366 p_last_updated_by => FND_GLOBAL.USER_ID,
367 p_creation_date => SYSDATE,
368 p_created_by => FND_GLOBAL.USER_ID,
369 p_last_update_login => FND_GLOBAL.CONC_LOGIN_ID,
370 p_object_version_number => p_list_group_rec.object_version_number,
371 p_status_code => p_list_group_rec.status_code,
372 p_user_status_id => p_list_group_rec.user_status_id,
373 p_calling_calendar_id => p_list_group_rec.calling_calendar_id,
374 p_release_control_alg_id => p_list_group_rec.release_control_alg_id,
375 p_release_strategy => p_list_group_rec.release_strategy,
376 p_recycling_alg_id => p_list_group_rec.recycling_alg_id,
377 p_callback_priority_flag => p_list_group_rec.callback_priority_flag,
378 p_call_center_ready_flag => p_list_group_rec.call_center_ready_flag,
379 p_dialing_method => p_list_group_rec.dialing_method,
380 p_quantum => p_list_group_rec.quantum,
381 p_quota => p_list_group_rec.quota,
382 p_quota_reset => p_list_group_rec.quota_reset);
383 --
384 -- End of API body.
385 --
386
387 -- Standard check for p_commit
388 IF FND_API.to_Boolean( p_commit )
389 THEN
390 COMMIT WORK;
391 END IF;
392
393
394 -- Debug Message
395 IF (AMS_DEBUG_HIGH_ON) THEN
396
397 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'end');
398 END IF;
402 (p_count => x_msg_count,
399
400 -- Standard call to get message count and if count is 1, get message info.
401 FND_MSG_PUB.Count_And_Get
403 p_data => x_msg_data
404 );
405 EXCEPTION
406
407 WHEN AMS_Utility_PVT.resource_locked THEN
408 x_return_status := FND_API.g_ret_sts_error;
409 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
410
411 WHEN FND_API.G_EXC_ERROR THEN
412 ROLLBACK TO UPDATE_List_Group_PVT;
413 x_return_status := FND_API.G_RET_STS_ERROR;
414 -- Standard call to get message count and if count=1, get the message
415 FND_MSG_PUB.Count_And_Get (
416 p_encoded => FND_API.G_FALSE,
417 p_count => x_msg_count,
418 p_data => x_msg_data
419 );
420
421 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
422 ROLLBACK TO UPDATE_List_Group_PVT;
423 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
424 -- Standard call to get message count and if count=1, get the message
425 FND_MSG_PUB.Count_And_Get (
426 p_encoded => FND_API.G_FALSE,
427 p_count => x_msg_count,
428 p_data => x_msg_data
429 );
430
431 WHEN OTHERS THEN
432 ROLLBACK TO UPDATE_List_Group_PVT;
433 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
434 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
435 THEN
436 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
437 END IF;
438 -- Standard call to get message count and if count=1, get the message
439 FND_MSG_PUB.Count_And_Get (
440 p_encoded => FND_API.G_FALSE,
441 p_count => x_msg_count,
442 p_data => x_msg_data
443 );
444 End Update_List_Group;
445
446
447 PROCEDURE Delete_List_Group(
448 p_api_version_number IN NUMBER,
449 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
450 p_commit IN VARCHAR2 := FND_API.G_FALSE,
451 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
452 x_return_status OUT NOCOPY VARCHAR2,
453 x_msg_count OUT NOCOPY NUMBER,
454 x_msg_data OUT NOCOPY VARCHAR2,
455 p_act_list_group_id IN NUMBER,
456 p_object_version_number IN NUMBER
457 )
458
459 IS
460 L_API_NAME CONSTANT VARCHAR2(30) := 'Delete_List_Group';
461 L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
462 l_object_version_number NUMBER;
463
464 BEGIN
465 -- Standard Start of API savepoint
466 SAVEPOINT DELETE_List_Group_PVT;
467
468 -- Standard call to check for call compatibility.
469 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
470 p_api_version_number,
471 l_api_name,
472 G_PKG_NAME)
473 THEN
474 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
475 END IF;
476
477 -- Initialize message list if p_init_msg_list is set to TRUE.
478 IF FND_API.to_Boolean( p_init_msg_list )
479 THEN
480 FND_MSG_PUB.initialize;
481 END IF;
482
483 -- Debug Message
484 IF (AMS_DEBUG_HIGH_ON) THEN
485
486 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
487 END IF;
488
489
490 -- Initialize API return status to SUCCESS
491 x_return_status := FND_API.G_RET_STS_SUCCESS;
492
493 --
494 -- Api body
495 --
496 -- Debug Message
497 IF (AMS_DEBUG_HIGH_ON) THEN
498
499 AMS_UTILITY_PVT.debug_message( 'Private API: Calling delete table handler');
500 END IF;
501
502 -- Invoke table handler(AMS_ACT_LIST_GROUPS_PKG.Delete_Row)
503 AMS_ACT_LIST_GROUPS_PKG.Delete_Row(
504 p_ACT_LIST_GROUP_ID => p_ACT_LIST_GROUP_ID);
505 --
506 -- End of API body
507 --
508
509 -- Standard check for p_commit
510 IF FND_API.to_Boolean( p_commit )
511 THEN
512 COMMIT WORK;
513 END IF;
514
515
516 -- Debug Message
517 IF (AMS_DEBUG_HIGH_ON) THEN
518
519 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'end');
520 END IF;
521
522 -- Standard call to get message count and if count is 1, get message info.
523 FND_MSG_PUB.Count_And_Get
524 (p_count => x_msg_count,
525 p_data => x_msg_data
526 );
527 EXCEPTION
528
529 WHEN AMS_Utility_PVT.resource_locked THEN
530 x_return_status := FND_API.g_ret_sts_error;
531 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
532
533 WHEN FND_API.G_EXC_ERROR THEN
534 ROLLBACK TO DELETE_List_Group_PVT;
535 x_return_status := FND_API.G_RET_STS_ERROR;
536 -- Standard call to get message count and if count=1, get the message
537 FND_MSG_PUB.Count_And_Get (
538 p_encoded => FND_API.G_FALSE,
539 p_count => x_msg_count,
543 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
540 p_data => x_msg_data
541 );
542
544 ROLLBACK TO DELETE_List_Group_PVT;
545 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
546 -- Standard call to get message count and if count=1, get the message
547 FND_MSG_PUB.Count_And_Get (
548 p_encoded => FND_API.G_FALSE,
549 p_count => x_msg_count,
550 p_data => x_msg_data
551 );
552
553 WHEN OTHERS THEN
554 ROLLBACK TO DELETE_List_Group_PVT;
555 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
556 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
557 THEN
558 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
559 END IF;
560 -- Standard call to get message count and if count=1, get the message
561 FND_MSG_PUB.Count_And_Get (
562 p_encoded => FND_API.G_FALSE,
563 p_count => x_msg_count,
564 p_data => x_msg_data
565 );
566 End Delete_List_Group;
567
568
569
570 -- Hint: Primary key needs to be returned.
571 PROCEDURE Lock_List_Group(
572 p_api_version_number IN NUMBER,
573 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
574
575 x_return_status OUT NOCOPY VARCHAR2,
576 x_msg_count OUT NOCOPY NUMBER,
577 x_msg_data OUT NOCOPY VARCHAR2,
578
579 p_act_list_group_id IN NUMBER,
580 p_object_version IN NUMBER
581 )
582
583 IS
584 L_API_NAME CONSTANT VARCHAR2(30) := 'Lock_List_Group';
585 L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
586 L_FULL_NAME CONSTANT VARCHAR2(60) := g_pkg_name ||'.'|| l_api_name;
587 l_ACT_LIST_GROUP_ID NUMBER;
588
589 CURSOR c_List_Group IS
590 SELECT ACT_LIST_GROUP_ID
591 FROM AMS_ACT_LIST_GROUPS
592 WHERE ACT_LIST_GROUP_ID = p_ACT_LIST_GROUP_ID
593 AND object_version_number = p_object_version
594 FOR UPDATE NOWAIT;
595
596 BEGIN
597
598 -- Debug Message
599 IF (AMS_DEBUG_HIGH_ON) THEN
600
601 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
602 END IF;
603
604 -- Initialize message list if p_init_msg_list is set to TRUE.
605 IF FND_API.to_Boolean( p_init_msg_list )
606 THEN
607 FND_MSG_PUB.initialize;
608 END IF;
609
610 -- Standard call to check for call compatibility.
611 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
612 p_api_version_number,
613 l_api_name,
614 G_PKG_NAME)
615 THEN
616 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
617 END IF;
618
619
620 -- Initialize API return status to SUCCESS
621 x_return_status := FND_API.G_RET_STS_SUCCESS;
622
623
624 ------------------------ lock -------------------------
625
626 IF (AMS_DEBUG_HIGH_ON) THEN
627
628
629
630 AMS_Utility_PVT.debug_message(l_full_name||': start');
631
632 END IF;
633 OPEN c_List_Group;
634
635 FETCH c_List_Group INTO l_ACT_LIST_GROUP_ID;
636
637 IF (c_List_Group%NOTFOUND) THEN
638 CLOSE c_List_Group;
639 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
640 FND_MESSAGE.set_name('AMS', 'AMS_API_RECORD_NOT_FOUND');
641 FND_MSG_PUB.add;
642 END IF;
643 RAISE FND_API.g_exc_error;
644 END IF;
645
646 CLOSE c_List_Group;
647
648 -------------------- finish --------------------------
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 IF (AMS_DEBUG_HIGH_ON) THEN
654
655 AMS_Utility_PVT.debug_message(l_full_name ||': end');
656 END IF;
657 EXCEPTION
658
659 WHEN AMS_Utility_PVT.resource_locked THEN
660 x_return_status := FND_API.g_ret_sts_error;
661 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
662
663 WHEN FND_API.G_EXC_ERROR THEN
664 ROLLBACK TO LOCK_List_Group_PVT;
665 x_return_status := FND_API.G_RET_STS_ERROR;
666 -- Standard call to get message count and if count=1, get the message
667 FND_MSG_PUB.Count_And_Get (
668 p_encoded => FND_API.G_FALSE,
669 p_count => x_msg_count,
670 p_data => x_msg_data
671 );
672
673 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
674 ROLLBACK TO LOCK_List_Group_PVT;
675 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
676 -- Standard call to get message count and if count=1, get the message
677 FND_MSG_PUB.Count_And_Get (
678 p_encoded => FND_API.G_FALSE,
679 p_count => x_msg_count,
680 p_data => x_msg_data
681 );
682
683 WHEN OTHERS THEN
684 ROLLBACK TO LOCK_List_Group_PVT;
685 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
689 END IF;
686 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
687 THEN
688 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
690 -- Standard call to get message count and if count=1, get the message
691 FND_MSG_PUB.Count_And_Get (
692 p_encoded => FND_API.G_FALSE,
693 p_count => x_msg_count,
694 p_data => x_msg_data
695 );
696 End Lock_List_Group;
697
698
699 PROCEDURE check_list_group_uk_items(
700 p_list_group_rec IN list_group_rec_type,
701 p_validation_mode IN VARCHAR2 := JTF_PLSQL_API.g_create,
702 x_return_status OUT NOCOPY VARCHAR2)
703 IS
704 l_valid_flag VARCHAR2(1);
705
706 BEGIN
707 x_return_status := FND_API.g_ret_sts_success;
708 IF p_validation_mode = JTF_PLSQL_API.g_create THEN
709 l_valid_flag := AMS_Utility_PVT.check_uniqueness(
710 'AMS_ACT_LIST_GROUPS',
711 'ACT_LIST_GROUP_ID = ''' || p_list_group_rec.ACT_LIST_GROUP_ID ||''''
712 );
713 ELSE
714 l_valid_flag := AMS_Utility_PVT.check_uniqueness(
715 'AMS_ACT_LIST_GROUPS',
716 'ACT_LIST_GROUP_ID = ''' || p_list_group_rec.ACT_LIST_GROUP_ID ||
717 ''' AND ACT_LIST_GROUP_ID <> ' || p_list_group_rec.ACT_LIST_GROUP_ID
718 );
719 END IF;
720
721 IF l_valid_flag = FND_API.g_false THEN
722 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_ACT_LIST_GROUP_ID_DUPLICATE');
723 x_return_status := FND_API.g_ret_sts_error;
724 RETURN;
725 END IF;
726
727 END check_list_group_uk_items;
728
729 PROCEDURE check_list_group_req_items(
730 p_list_group_rec IN list_group_rec_type,
731 p_validation_mode IN VARCHAR2 := JTF_PLSQL_API.g_create,
732 x_return_status OUT NOCOPY VARCHAR2
733 )
734 IS
735 BEGIN
736 x_return_status := FND_API.g_ret_sts_success;
737
738 IF p_validation_mode = JTF_PLSQL_API.g_create THEN
739
740
741 IF p_list_group_rec.act_list_group_id = FND_API.g_miss_num OR p_list_group_rec.act_list_group_id IS NULL THEN
742 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_list_group_NO_act_list_group_id');
743 x_return_status := FND_API.g_ret_sts_error;
744 RETURN;
745 END IF;
746
747
748 IF p_list_group_rec.act_list_used_by_id = FND_API.g_miss_num OR p_list_group_rec.act_list_used_by_id IS NULL THEN
749 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_list_group_NO_act_list_used_by_id');
750 x_return_status := FND_API.g_ret_sts_error;
751 RETURN;
752 END IF;
753
754
755 IF p_list_group_rec.arc_act_list_used_by = FND_API.g_miss_char OR p_list_group_rec.arc_act_list_used_by IS NULL THEN
756 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_list_group_NO_arc_act_list_used_by');
757 x_return_status := FND_API.g_ret_sts_error;
758 RETURN;
759 END IF;
760
761
762 IF p_list_group_rec.group_code = FND_API.g_miss_char OR p_list_group_rec.group_code IS NULL THEN
763 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_list_group_NO_group_code');
764 x_return_status := FND_API.g_ret_sts_error;
765 RETURN;
766 END IF;
767
768
769 IF p_list_group_rec.last_update_date = FND_API.g_miss_date OR p_list_group_rec.last_update_date IS NULL THEN
770 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_list_group_NO_last_update_date');
771 x_return_status := FND_API.g_ret_sts_error;
772 RETURN;
773 END IF;
774
775
776 IF p_list_group_rec.last_updated_by = FND_API.g_miss_num OR p_list_group_rec.last_updated_by IS NULL THEN
777 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_list_group_NO_last_updated_by');
778 x_return_status := FND_API.g_ret_sts_error;
779 RETURN;
780 END IF;
781
782
783 IF p_list_group_rec.creation_date = FND_API.g_miss_date OR p_list_group_rec.creation_date IS NULL THEN
784 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_list_group_NO_creation_date');
785 x_return_status := FND_API.g_ret_sts_error;
786 RETURN;
787 END IF;
788
789
790 IF p_list_group_rec.created_by = FND_API.g_miss_num OR p_list_group_rec.created_by IS NULL THEN
791 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_list_group_NO_created_by');
792 x_return_status := FND_API.g_ret_sts_error;
793 RETURN;
794 END IF;
795 ELSE
796
797
798 IF p_list_group_rec.act_list_group_id IS NULL THEN
799 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_list_group_NO_act_list_group_id');
800 x_return_status := FND_API.g_ret_sts_error;
801 RETURN;
802 END IF;
803
804
805 IF p_list_group_rec.act_list_used_by_id IS NULL THEN
806 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_list_group_NO_act_list_used_by_id');
807 x_return_status := FND_API.g_ret_sts_error;
808 RETURN;
809 END IF;
810
811
812 IF p_list_group_rec.arc_act_list_used_by IS NULL THEN
813 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_list_group_NO_arc_act_list_used_by');
817
814 x_return_status := FND_API.g_ret_sts_error;
815 RETURN;
816 END IF;
818
819 IF p_list_group_rec.group_code IS NULL THEN
820 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_list_group_NO_group_code');
821 x_return_status := FND_API.g_ret_sts_error;
822 RETURN;
823 END IF;
824
825
826 IF p_list_group_rec.last_update_date IS NULL THEN
827 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_list_group_NO_last_update_date');
828 x_return_status := FND_API.g_ret_sts_error;
829 RETURN;
830 END IF;
831
832
833 IF p_list_group_rec.last_updated_by IS NULL THEN
834 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_list_group_NO_last_updated_by');
835 x_return_status := FND_API.g_ret_sts_error;
836 RETURN;
837 END IF;
838
839
840 IF p_list_group_rec.creation_date IS NULL THEN
841 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_list_group_NO_creation_date');
842 x_return_status := FND_API.g_ret_sts_error;
843 RETURN;
844 END IF;
845
846
847 IF p_list_group_rec.created_by IS NULL THEN
848 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_list_group_NO_created_by');
849 x_return_status := FND_API.g_ret_sts_error;
850 RETURN;
851 END IF;
852 END IF;
853
854 END check_list_group_req_items;
855
856 PROCEDURE check_list_group_FK_items(
857 p_list_group_rec IN list_group_rec_type,
858 x_return_status OUT NOCOPY VARCHAR2
859 )
860 IS
861 BEGIN
862 x_return_status := FND_API.g_ret_sts_success;
863
864 -- Enter custom code here
865
866 END check_list_group_FK_items;
867
868 PROCEDURE check_list_group_Lookup_items(
869 p_list_group_rec IN list_group_rec_type,
870 x_return_status OUT NOCOPY VARCHAR2
871 )
872 IS
873 BEGIN
874 x_return_status := FND_API.g_ret_sts_success;
875
876 -- Enter custom code here
877
878 END check_list_group_Lookup_items;
879
880 PROCEDURE Check_list_group_Items (
881 P_list_group_rec IN list_group_rec_type,
882 p_validation_mode IN VARCHAR2,
883 x_return_status OUT NOCOPY VARCHAR2
884 )
885 IS
886 BEGIN
887
888 -- Check Items Uniqueness API calls
889
890 check_list_group_uk_items(
891 p_list_group_rec => p_list_group_rec,
892 p_validation_mode => p_validation_mode,
893 x_return_status => x_return_status);
894 IF x_return_status <> FND_API.g_ret_sts_success THEN
895 RETURN;
896 END IF;
897
898 -- Check Items Required/NOT NULL API calls
899
900 check_list_group_req_items(
901 p_list_group_rec => p_list_group_rec,
902 p_validation_mode => p_validation_mode,
903 x_return_status => x_return_status);
904 IF x_return_status <> FND_API.g_ret_sts_success THEN
905 RETURN;
906 END IF;
907 -- Check Items Foreign Keys API calls
908
909 check_list_group_FK_items(
910 p_list_group_rec => p_list_group_rec,
911 x_return_status => x_return_status);
912 IF x_return_status <> FND_API.g_ret_sts_success THEN
913 RETURN;
914 END IF;
915 -- Check Items Lookups
916
917 check_list_group_Lookup_items(
918 p_list_group_rec => p_list_group_rec,
919 x_return_status => x_return_status);
920 IF x_return_status <> FND_API.g_ret_sts_success THEN
921 RETURN;
922 END IF;
923
924 END Check_list_group_Items;
925
926
927 PROCEDURE Complete_list_group_Rec (
928 p_list_group_rec IN list_group_rec_type,
929 x_complete_rec OUT NOCOPY list_group_rec_type)
930 IS
931 l_return_status VARCHAR2(1);
932
933 CURSOR c_complete IS
934 SELECT *
935 FROM ams_act_list_groups
936 WHERE act_list_group_id = p_list_group_rec.act_list_group_id;
937 l_list_group_rec c_complete%ROWTYPE;
938 BEGIN
939 x_complete_rec := p_list_group_rec;
940
941
942 OPEN c_complete;
943 FETCH c_complete INTO l_list_group_rec;
944 CLOSE c_complete;
945
946 -- act_list_group_id
947 IF p_list_group_rec.act_list_group_id = FND_API.g_miss_num THEN
948 x_complete_rec.act_list_group_id := l_list_group_rec.act_list_group_id;
949 END IF;
950
951 -- act_list_used_by_id
952 IF p_list_group_rec.act_list_used_by_id = FND_API.g_miss_num THEN
953 x_complete_rec.act_list_used_by_id := l_list_group_rec.act_list_used_by_id;
954 END IF;
955
956 -- arc_act_list_used_by
957 IF p_list_group_rec.arc_act_list_used_by = FND_API.g_miss_char THEN
958 x_complete_rec.arc_act_list_used_by := l_list_group_rec.arc_act_list_used_by;
959 END IF;
960
961 -- group_code
962 IF p_list_group_rec.group_code = FND_API.g_miss_char THEN
963 x_complete_rec.group_code := l_list_group_rec.group_code;
964 END IF;
965
966 -- group_priority
967 IF p_list_group_rec.group_priority = FND_API.g_miss_num THEN
968 x_complete_rec.group_priority := l_list_group_rec.group_priority;
969 END IF;
970
971 -- last_update_date
975
972 IF p_list_group_rec.last_update_date = FND_API.g_miss_date THEN
973 x_complete_rec.last_update_date := l_list_group_rec.last_update_date;
974 END IF;
976 -- last_updated_by
977 IF p_list_group_rec.last_updated_by = FND_API.g_miss_num THEN
978 x_complete_rec.last_updated_by := l_list_group_rec.last_updated_by;
979 END IF;
980
981 -- creation_date
982 IF p_list_group_rec.creation_date = FND_API.g_miss_date THEN
983 x_complete_rec.creation_date := l_list_group_rec.creation_date;
984 END IF;
985
986 -- created_by
987 IF p_list_group_rec.created_by = FND_API.g_miss_num THEN
988 x_complete_rec.created_by := l_list_group_rec.created_by;
989 END IF;
990
991 -- last_update_login
992 IF p_list_group_rec.last_update_login = FND_API.g_miss_num THEN
993 x_complete_rec.last_update_login := l_list_group_rec.last_update_login;
994 END IF;
995
996 -- object_version_number
997 IF p_list_group_rec.object_version_number = FND_API.g_miss_num THEN
998 x_complete_rec.object_version_number := l_list_group_rec.object_version_number;
999 END IF;
1000
1001 -- status_code
1002 IF p_list_group_rec.status_code = FND_API.g_miss_char THEN
1003 x_complete_rec.status_code := l_list_group_rec.status_code;
1004 END IF;
1005
1006 -- user_status_id
1007 IF p_list_group_rec.user_status_id = FND_API.g_miss_num THEN
1008 x_complete_rec.user_status_id := l_list_group_rec.user_status_id;
1009 END IF;
1010
1011
1012 -- calling_calendar_id
1013 IF p_list_group_rec.calling_calendar_id = FND_API.g_miss_num THEN
1014 x_complete_rec.calling_calendar_id := l_list_group_rec.calling_calendar_id;
1015 END IF;
1016
1017 -- release_control_alg_id
1018 IF p_list_group_rec.release_control_alg_id = FND_API.g_miss_num THEN
1019 x_complete_rec.release_control_alg_id := l_list_group_rec.release_control_alg_id;
1020 END IF;
1021
1022 -- release_strategy
1023 IF p_list_group_rec.release_strategy = FND_API.g_miss_char THEN
1024 x_complete_rec.release_strategy := l_list_group_rec.release_strategy;
1025 END IF;
1026
1027 -- recycling_alg_id
1028 IF p_list_group_rec.recycling_alg_id = FND_API.g_miss_num THEN
1029 x_complete_rec.recycling_alg_id := l_list_group_rec.recycling_alg_id;
1030 END IF;
1031
1032 -- callback_priority_flag
1033 IF p_list_group_rec.callback_priority_flag = FND_API.g_miss_char THEN
1034 x_complete_rec.callback_priority_flag := l_list_group_rec.callback_priority_flag;
1035 END IF;
1036
1037 -- call_center_ready_flag
1038 IF p_list_group_rec.call_center_ready_flag = FND_API.g_miss_char THEN
1039 x_complete_rec.call_center_ready_flag := l_list_group_rec.call_center_ready_flag;
1040 END IF;
1041
1042 -- dialing_method
1043 IF p_list_group_rec.dialing_method = FND_API.g_miss_char THEN
1044 x_complete_rec.dialing_method := l_list_group_rec.dialing_method;
1045 END IF;
1046
1047 -- quantum
1048 IF p_list_group_rec.quantum = FND_API.g_miss_num THEN
1049 x_complete_rec.quantum := l_list_group_rec.quantum;
1050 END IF;
1051
1052 -- quota
1053 IF p_list_group_rec.quota = FND_API.g_miss_num THEN
1054 x_complete_rec.quota := l_list_group_rec.quota;
1055 END IF;
1056
1057 -- quota_reset
1058 IF p_list_group_rec.quota_reset = FND_API.g_miss_num THEN
1059 x_complete_rec.quota_reset := l_list_group_rec.quota_reset;
1060 END IF;
1061 -- Note: Developers need to modify the procedure
1062 -- to handle any business specific requirements.
1063 END Complete_list_group_Rec;
1064 PROCEDURE Validate_list_group(
1065 p_api_version_number IN NUMBER,
1066 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1067 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1068 p_list_group_rec IN list_group_rec_type,
1069 x_return_status OUT NOCOPY VARCHAR2,
1070 x_msg_count OUT NOCOPY NUMBER,
1071 x_msg_data OUT NOCOPY VARCHAR2
1072 )
1073 IS
1074 L_API_NAME CONSTANT VARCHAR2(30) := 'Validate_List_Group';
1075 L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
1076 l_object_version_number NUMBER;
1077 l_list_group_rec AMS_List_Group_PVT.list_group_rec_type;
1078
1079 BEGIN
1080 -- Standard Start of API savepoint
1081 SAVEPOINT VALIDATE_List_Group_;
1082
1083 -- Standard call to check for call compatibility.
1084 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
1085 p_api_version_number,
1086 l_api_name,
1087 G_PKG_NAME)
1088 THEN
1089 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1090 END IF;
1091
1092 -- Initialize message list if p_init_msg_list is set to TRUE.
1093 IF FND_API.to_Boolean( p_init_msg_list )
1094 THEN
1095 FND_MSG_PUB.initialize;
1096 END IF;
1097 IF p_validation_level >= JTF_PLSQL_API.g_valid_level_item THEN
1098 Check_list_group_Items(
1099 p_list_group_rec => p_list_group_rec,
1100 p_validation_mode => JTF_PLSQL_API.g_update,
1104 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1101 x_return_status => x_return_status
1102 );
1103
1105 RAISE FND_API.G_EXC_ERROR;
1106 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1107 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1108 END IF;
1109 END IF;
1110
1111 Complete_list_group_Rec(
1112 p_list_group_rec => p_list_group_rec,
1113 x_complete_rec => l_list_group_rec
1114 );
1115
1116 IF p_validation_level >= JTF_PLSQL_API.g_valid_level_item THEN
1117 Validate_list_group_Rec(
1118 p_api_version_number => 1.0,
1119 p_init_msg_list => FND_API.G_FALSE,
1120 x_return_status => x_return_status,
1121 x_msg_count => x_msg_count,
1122 x_msg_data => x_msg_data,
1123 p_list_group_rec => l_list_group_rec);
1124
1125 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1126 RAISE FND_API.G_EXC_ERROR;
1127 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1128 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1129 END IF;
1130 END IF;
1131
1132
1133 -- Debug Message
1134 IF (AMS_DEBUG_HIGH_ON) THEN
1135
1136 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
1137 END IF;
1138
1139
1140 -- Initialize API return status to SUCCESS
1141 x_return_status := FND_API.G_RET_STS_SUCCESS;
1142
1143
1144 -- Debug Message
1145 IF (AMS_DEBUG_HIGH_ON) THEN
1146
1147 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'end');
1148 END IF;
1149
1150 -- Standard call to get message count and if count is 1, get message info.
1151 FND_MSG_PUB.Count_And_Get
1152 (p_count => x_msg_count,
1153 p_data => x_msg_data
1154 );
1155 EXCEPTION
1156
1157 WHEN AMS_Utility_PVT.resource_locked THEN
1158 x_return_status := FND_API.g_ret_sts_error;
1159 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
1160
1161 WHEN FND_API.G_EXC_ERROR THEN
1162 ROLLBACK TO VALIDATE_List_Group_;
1163 x_return_status := FND_API.G_RET_STS_ERROR;
1164 -- Standard call to get message count and if count=1, get the message
1165 FND_MSG_PUB.Count_And_Get (
1166 p_encoded => FND_API.G_FALSE,
1167 p_count => x_msg_count,
1168 p_data => x_msg_data
1169 );
1170
1171 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1172 ROLLBACK TO VALIDATE_List_Group_;
1173 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1174 -- Standard call to get message count and if count=1, get the message
1175 FND_MSG_PUB.Count_And_Get (
1176 p_encoded => FND_API.G_FALSE,
1177 p_count => x_msg_count,
1178 p_data => x_msg_data
1179 );
1180
1181 WHEN OTHERS THEN
1182 ROLLBACK TO VALIDATE_List_Group_;
1183 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1184 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1185 THEN
1186 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
1187 END IF;
1188 -- Standard call to get message count and if count=1, get the message
1189 FND_MSG_PUB.Count_And_Get (
1190 p_encoded => FND_API.G_FALSE,
1191 p_count => x_msg_count,
1192 p_data => x_msg_data
1193 );
1194 End Validate_List_Group;
1195
1196
1197 PROCEDURE Validate_list_group_rec(
1198 p_api_version_number IN NUMBER,
1199 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1200 x_return_status OUT NOCOPY VARCHAR2,
1201 x_msg_count OUT NOCOPY NUMBER,
1202 x_msg_data OUT NOCOPY VARCHAR2,
1203 p_list_group_rec IN list_group_rec_type
1204 )
1205 IS
1206 BEGIN
1207 -- Initialize message list if p_init_msg_list is set to TRUE.
1208 IF FND_API.to_Boolean( p_init_msg_list )
1209 THEN
1210 FND_MSG_PUB.initialize;
1211 END IF;
1212
1213 -- Initialize API return status to SUCCESS
1214 x_return_status := FND_API.G_RET_STS_SUCCESS;
1215
1216 -- Hint: Validate data
1217 -- If data not valid
1218 -- THEN
1219 -- x_return_status := FND_API.G_RET_STS_ERROR;
1220
1221 -- Debug Message
1222 IF (AMS_DEBUG_HIGH_ON) THEN
1223
1224 AMS_UTILITY_PVT.debug_message('Private API: Validate_dm_model_rec');
1225 END IF;
1226 -- Standard call to get message count and if count is 1, get message info.
1227 FND_MSG_PUB.Count_And_Get
1228 (p_count => x_msg_count,
1229 p_data => x_msg_data
1230 );
1231 END Validate_list_group_Rec;
1232
1233 END AMS_List_Group_PVT;