DBA Data[Home] [Help]

PACKAGE BODY: APPS.OZF_NA_RULE_HEADER_PVT

Source


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