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