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