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