DBA Data[Home] [Help]

PACKAGE BODY: APPS.PV_GE_PTNR_RESPS_PVT

Source


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