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