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