DBA Data[Home] [Help]

PACKAGE BODY: APPS.PV_PG_INVITE_HEADERS_PVT

Source


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