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