DBA Data[Home] [Help]

PACKAGE BODY: APPS.OZF_OFFR_QUAL_PVT

Source


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