DBA Data[Home] [Help]

PACKAGE BODY: APPS.PV_GE_HL_PARAM_PVT

Source


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