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