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