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