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