DBA Data[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;