[Home] [Help]
PACKAGE BODY: APPS.OZF_OFFER_BACK_CREATE_PVT
Source
1 PACKAGE BODY OZF_Offer_Back_Create_PVT as
2 /* $Header: ozfvobcb.pls 120.0 2005/06/01 02:12:15 appldev noship $ */
3 -- ===============================================================
4 -- Start of Comments
5 -- Package name
6 -- OZF_Offer_Back_Create_PVT
7 -- Purpose
8 --
9 -- History
10 --
11 -- NOTE
12 --
13 -- End of Comments
14 -- ===============================================================
15
16
17 G_PKG_NAME CONSTANT VARCHAR2(30):= 'OZF_Offer_Back_Create_PVT';
18 G_FILE_NAME CONSTANT VARCHAR2(12) := 'ozfvobcb.pls';
19
20 -- Hint: Primary key needs to be returned.
21 PROCEDURE Create_Offer_Back(
22 p_api_version_number IN NUMBER,
23 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
24 p_commit IN VARCHAR2 := FND_API.G_FALSE,
25 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
26
27 x_return_status OUT NOCOPY VARCHAR2,
28 x_msg_count OUT NOCOPY NUMBER,
29 x_msg_data OUT NOCOPY VARCHAR2,
30
31 p_offer_back_create_rec IN offer_back_create_rec_type := g_miss_offer_back_create_rec,
32 x_offer_adjustment_line_id OUT NOCOPY NUMBER
33 )
34
35 IS
36 L_API_NAME CONSTANT VARCHAR2(30) := 'Create_Offer_Back';
37 L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
38 l_return_status_full VARCHAR2(1);
39 l_object_version_number NUMBER := 1;
40 l_org_id NUMBER := FND_API.G_MISS_NUM;
41 l_OFFER_ADJUSTMENT_LINE_ID NUMBER;
42 l_dummy NUMBER;
43
44 CURSOR c_id IS
45 SELECT OZF_OFFER_ADJUSTMENT_LINES_s.NEXTVAL
46 FROM dual;
47
48 CURSOR c_id_exists (l_id IN NUMBER) IS
49 SELECT 1
50 FROM OZF_OFFER_ADJUSTMENT_LINES
51 WHERE OFFER_ADJUSTMENT_LINE_ID = l_id;
52
53 BEGIN
54 -- Standard Start of API savepoint
55 SAVEPOINT CREATE_Offer_Back_PVT;
56
57 -- Standard call to check for call compatibility.
58 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
59 p_api_version_number,
60 l_api_name,
61 G_PKG_NAME)
62 THEN
63 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
64 END IF;
65
66 -- Initialize message list if p_init_msg_list is set to TRUE.
67 IF FND_API.to_Boolean( p_init_msg_list )
68 THEN
69 FND_MSG_PUB.initialize;
70 END IF;
71
72 -- Debug Message
73 OZF_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
74
75
76 -- Initialize API return status to SUCCESS
77 x_return_status := FND_API.G_RET_STS_SUCCESS;
78
79 -- Local variable initialization
80
81 IF p_offer_back_create_rec.OFFER_ADJUSTMENT_LINE_ID IS NULL OR p_offer_back_create_rec.OFFER_ADJUSTMENT_LINE_ID = FND_API.g_miss_num THEN
82 LOOP
83 l_dummy := NULL;
84 OPEN c_id;
85 FETCH c_id INTO l_OFFER_ADJUSTMENT_LINE_ID;
86 CLOSE c_id;
87
88 OPEN c_id_exists(l_OFFER_ADJUSTMENT_LINE_ID);
89 FETCH c_id_exists INTO l_dummy;
90 CLOSE c_id_exists;
91 EXIT WHEN l_dummy IS NULL;
92 --ELSE
93 -- p_offer_back_create_rec.offer_adjustment_line_id = l_offer_adjustment_line_id;
94 END LOOP;
95 END IF;
96
97 -- =========================================================================
98 -- Validate Environment
99 -- =========================================================================
100
101 IF FND_GLOBAL.User_Id IS NULL
102 THEN
103 OZF_Utility_PVT.Error_Message(p_message_name => 'USER_PROFILE_MISSING');
104 RAISE FND_API.G_EXC_ERROR;
105 END IF;
106
107 IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL)
108 THEN
109 -- Debug message
110 OZF_UTILITY_PVT.debug_message('Private API: Validate_Offer_Back_Create');
111
112 -- Invoke validation procedures
113 Validate_offer_back(
114 p_api_version_number => 1.0,
115 p_init_msg_list => FND_API.G_FALSE,
116 p_validation_level => p_validation_level,
117 p_validation_mode => JTF_PLSQL_API.g_create,
118 p_offer_back_create_rec => p_offer_back_create_rec,
119 x_return_status => x_return_status,
120 x_msg_count => x_msg_count,
121 x_msg_data => x_msg_data);
122 END IF;
123
124 IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
125 RAISE FND_API.G_EXC_ERROR;
126 END IF;
127
128
129 -- Debug Message
130 OZF_UTILITY_PVT.debug_message( 'Private API: Calling create table handler');
131
132 -- Invoke table handler(OZF_OFFER_ADJUSTMENT_LINES_PKG.Insert_Row)
133 OZF_OFFER_ADJUSTMENT_LINES_PKG.Insert_Row(
134 px_offer_adjustment_line_id => l_offer_adjustment_line_id,
135 p_offer_adjustment_id => p_offer_back_create_rec.offer_adjustment_id,
136 p_list_line_id => p_offer_back_create_rec.list_line_id,
137 p_arithmetic_operator => p_offer_back_create_rec.arithmetic_operator,
138 p_original_discount => p_offer_back_create_rec.original_discount,
139 p_modified_discount => p_offer_back_create_rec.modified_discount,
140 p_last_update_date => SYSDATE,
141 p_last_updated_by => FND_GLOBAL.USER_ID,
142 p_creation_date => SYSDATE,
143 p_created_by => FND_GLOBAL.USER_ID,
144 p_last_update_login => FND_GLOBAL.CONC_LOGIN_ID,
145 px_object_version_number => l_object_version_number,
146 p_security_group_id => p_offer_back_create_rec.security_group_id);
147
148 x_offer_adjustment_line_id := l_offer_adjustment_line_id;
149 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
150 RAISE FND_API.G_EXC_ERROR;
151 END IF;
152 --
153 -- End of API body
154 --
155
156 -- Standard check for p_commit
157 IF FND_API.to_Boolean( p_commit )
158 THEN
159 COMMIT WORK;
160 END IF;
161
162
163 -- Debug Message
164 OZF_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'end');
165
166 -- Standard call to get message count and if count is 1, get message info.
167 FND_MSG_PUB.Count_And_Get
168 (p_count => x_msg_count,
169 p_data => x_msg_data
170 );
171 EXCEPTION
172
173 WHEN OZF_Utility_PVT.resource_locked THEN
174 x_return_status := FND_API.g_ret_sts_error;
175 OZF_Utility_PVT.Error_Message(p_message_name => 'OZF_API_RESOURCE_LOCKED');
176
177 WHEN FND_API.G_EXC_ERROR THEN
178 ROLLBACK TO CREATE_Offer_Back_PVT;
179 x_return_status := FND_API.G_RET_STS_ERROR;
180 -- Standard call to get message count and if count=1, get the message
181 FND_MSG_PUB.Count_And_Get (
182 p_encoded => FND_API.G_FALSE,
183 p_count => x_msg_count,
184 p_data => x_msg_data
185 );
186
187 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
188 ROLLBACK TO CREATE_Offer_Back_PVT;
189 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
190 -- Standard call to get message count and if count=1, get the message
191 FND_MSG_PUB.Count_And_Get (
192 p_encoded => FND_API.G_FALSE,
193 p_count => x_msg_count,
194 p_data => x_msg_data
195 );
196
197 WHEN OTHERS THEN
198 ROLLBACK TO CREATE_Offer_Back_PVT;
199 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
200 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
201 THEN
202 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
203 END IF;
204 -- Standard call to get message count and if count=1, get the message
205 FND_MSG_PUB.Count_And_Get (
206 p_encoded => FND_API.G_FALSE,
207 p_count => x_msg_count,
208 p_data => x_msg_data
209 );
210 End Create_Offer_Back;
211
212
213 PROCEDURE Update_Offer_Back(
214 p_api_version_number IN NUMBER,
215 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
216 p_commit IN VARCHAR2 := FND_API.G_FALSE,
217 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
218
219 x_return_status OUT NOCOPY VARCHAR2,
220 x_msg_count OUT NOCOPY NUMBER,
221 x_msg_data OUT NOCOPY VARCHAR2,
222
223 p_offer_back_create_rec IN offer_back_create_rec_type,
224 x_object_version_number OUT NOCOPY NUMBER
225 )
226
227 IS
228
229 CURSOR c_get_offer_back_create(offer_adjustment_line_id NUMBER) IS
230 SELECT *
231 FROM OZF_OFFER_ADJUSTMENT_LINES
232 WHERE offer_adjustment_line_id = p_offer_back_create_rec.offer_adjustment_line_id;
233 -- Hint: Developer need to provide Where clause
234
235 L_API_NAME CONSTANT VARCHAR2(30) := 'Update_Offer_Back';
236 L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
237 -- Local Variables
238 l_object_version_number NUMBER;
239 l_OFFER_ADJUSTMENT_LINE_ID NUMBER;
240 l_ref_offer_back_create_rec c_get_Offer_Back_Create%ROWTYPE ;
241 l_tar_offer_back_create_rec OZF_Offer_Back_Create_PVT.offer_back_create_rec_type := P_offer_back_create_rec;
242 l_rowid ROWID;
243
244 BEGIN
245 -- Standard Start of API savepoint
246 SAVEPOINT UPDATE_Offer_Back_PVT;
247
248 -- Standard call to check for call compatibility.
249 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
250 p_api_version_number,
251 l_api_name,
252 G_PKG_NAME)
253 THEN
254 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
255 END IF;
256
257 -- Initialize message list if p_init_msg_list is set to TRUE.
258 IF FND_API.to_Boolean( p_init_msg_list )
259 THEN
260 FND_MSG_PUB.initialize;
261 END IF;
262
263 -- Debug Message
264 OZF_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
265
266
267 -- Initialize API return status to SUCCESS
268 x_return_status := FND_API.G_RET_STS_SUCCESS;
269
270 -- Debug Message
271 OZF_UTILITY_PVT.debug_message('Private API: - Open Cursor to Select');
272
273
274 OPEN c_get_Offer_Back_Create( l_tar_offer_back_create_rec.offer_adjustment_line_id);
275
276 FETCH c_get_Offer_Back_Create INTO l_ref_offer_back_create_rec ;
277
278 If ( c_get_Offer_Back_Create%NOTFOUND) THEN
279 OZF_Utility_PVT.Error_Message(p_message_name => 'API_MISSING_UPDATE_TARGET',
280 p_token_name => 'INFO',
281 p_token_value => 'Offer_Back_Create') ;
282 RAISE FND_API.G_EXC_ERROR;
283 END IF;
284 -- Debug Message
285 OZF_UTILITY_PVT.debug_message('Private API: - Close Cursor');
286 CLOSE c_get_Offer_Back_Create;
287
288
289
290 If (l_tar_offer_back_create_rec.object_version_number is NULL or
291 l_tar_offer_back_create_rec.object_version_number = FND_API.G_MISS_NUM ) Then
292 OZF_Utility_PVT.Error_Message(p_message_name => 'API_VERSION_MISSING',
293 p_token_name => 'COLUMN',
294 p_token_value => 'Last_Update_Date') ;
295 raise FND_API.G_EXC_ERROR;
296 End if;
297 -- Check Whether record has been changed by someone else
298 If (l_tar_offer_back_create_rec.object_version_number <> l_ref_offer_back_create_rec.object_version_number) Then
299 OZF_Utility_PVT.Error_Message(p_message_name => 'API_RECORD_CHANGED',
300 p_token_name => 'INFO',
301 p_token_value => 'Offer_Back_Create') ;
302 raise FND_API.G_EXC_ERROR;
303 End if;
304 IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL)
305 THEN
306 -- Debug message
307 OZF_UTILITY_PVT.debug_message('Private API: Validate_Offer_Back_Create');
308
309 -- Invoke validation procedures
310 Validate_offer_back(
311 p_api_version_number => 1.0,
312 p_init_msg_list => FND_API.G_FALSE,
313 p_validation_level => p_validation_level,
314 p_validation_mode => JTF_PLSQL_API.g_update,
315 p_offer_back_create_rec => p_offer_back_create_rec,
316 x_return_status => x_return_status,
317 x_msg_count => x_msg_count,
318 x_msg_data => x_msg_data);
319 END IF;
320
321 IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
322 RAISE FND_API.G_EXC_ERROR;
323 END IF;
324
325
326 -- Debug Message
327 OZF_UTILITY_PVT.debug_message('Invoking Update Table Handler: ' );
328 OZF_UTILITY_PVT.debug_message('p_offer_adjustment_line_id: '|| p_offer_back_create_rec.offer_adjustment_line_id);
329 OZF_UTILITY_PVT.debug_message('p_offer_adjustment_id: '|| p_offer_back_create_rec.offer_adjustment_id);
330 OZF_UTILITY_PVT.debug_message('p_list_line_id: '|| p_offer_back_create_rec.list_line_id);
331 OZF_UTILITY_PVT.debug_message('p_arithmetic_operator '|| p_offer_back_create_rec.arithmetic_operator);
332 OZF_UTILITY_PVT.debug_message('p_original_discount '|| p_offer_back_create_rec.original_discount);
333 OZF_UTILITY_PVT.debug_message('p_modified_discount '|| p_offer_back_create_rec.modified_discount);
334 -- Invoke table handler(OZF_OFFER_ADJUSTMENT_LINES_PKG.Update_Row)
335
336 OZF_OFFER_ADJUSTMENT_LINES_PKG.Update_Row(
337 p_offer_adjustment_line_id => p_offer_back_create_rec.offer_adjustment_line_id,
338 p_offer_adjustment_id => p_offer_back_create_rec.offer_adjustment_id,
339 p_list_line_id => p_offer_back_create_rec.list_line_id,
340 p_arithmetic_operator => p_offer_back_create_rec.arithmetic_operator,
341 p_original_discount => p_offer_back_create_rec.original_discount,
342 p_modified_discount => p_offer_back_create_rec.modified_discount,
343 p_last_update_date => SYSDATE,
344 p_last_updated_by => FND_GLOBAL.USER_ID,
345 p_last_update_login => FND_GLOBAL.CONC_LOGIN_ID,
346 p_object_version_number => p_offer_back_create_rec.object_version_number,
347 p_security_group_id => p_offer_back_create_rec.security_group_id);
348 OZF_UTILITY_PVT.debug_message('Aftyer Invoking Update Table Handler: ' );
349 --x_object_version_number :=
350 -- p_offer_back_create_rec.object_version_number + 1;
351
352 --
353 -- End of API body.
354 --
355
356 -- Standard check for p_commit
357 IF FND_API.to_Boolean( p_commit )
358 THEN
362
359 COMMIT WORK;
360 END IF;
361
363 -- Debug Message
364 OZF_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'end');
365
366 -- Standard call to get message count and if count is 1, get message info.
367 FND_MSG_PUB.Count_And_Get
368 (p_count => x_msg_count,
369 p_data => x_msg_data
370 );
371 EXCEPTION
372
373 WHEN OZF_Utility_PVT.resource_locked THEN
374 x_return_status := FND_API.g_ret_sts_error;
375 OZF_Utility_PVT.Error_Message(p_message_name => 'OZF_API_RESOURCE_LOCKED');
376
377 WHEN FND_API.G_EXC_ERROR THEN
378 ROLLBACK TO UPDATE_Offer_Back_PVT;
379 x_return_status := FND_API.G_RET_STS_ERROR;
380 -- Standard call to get message count and if count=1, get the message
381 FND_MSG_PUB.Count_And_Get (
382 p_encoded => FND_API.G_FALSE,
383 p_count => x_msg_count,
384 p_data => x_msg_data
385 );
386
387 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
388 ROLLBACK TO UPDATE_Offer_Back_PVT;
389 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
390 -- Standard call to get message count and if count=1, get the message
391 FND_MSG_PUB.Count_And_Get (
392 p_encoded => FND_API.G_FALSE,
393 p_count => x_msg_count,
394 p_data => x_msg_data
395 );
396
397 WHEN OTHERS THEN
398 ROLLBACK TO UPDATE_Offer_Back_PVT;
399 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
400 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
401 THEN
402 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
403 END IF;
404 -- Standard call to get message count and if count=1, get the message
405 FND_MSG_PUB.Count_And_Get (
406 p_encoded => FND_API.G_FALSE,
407 p_count => x_msg_count,
408 p_data => x_msg_data
409 );
410 End Update_Offer_Back;
411
412
413 PROCEDURE Delete_Offer_Back(
414 p_api_version_number IN NUMBER,
415 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
416 p_commit IN VARCHAR2 := FND_API.G_FALSE,
417 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
418 x_return_status OUT NOCOPY VARCHAR2,
419 x_msg_count OUT NOCOPY NUMBER,
420 x_msg_data OUT NOCOPY VARCHAR2,
421 p_offer_adjustment_line_id IN NUMBER,
422 p_object_version_number IN NUMBER
423 )
424
425 IS
426 L_API_NAME CONSTANT VARCHAR2(30) := 'Delete_Offer_Back';
427 L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
428 l_object_version_number NUMBER;
429
430 BEGIN
431 -- Standard Start of API savepoint
432 SAVEPOINT DELETE_Offer_Back_Create_PVT;
433
434 -- Standard call to check for call compatibility.
435 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
436 p_api_version_number,
437 l_api_name,
438 G_PKG_NAME)
439 THEN
440 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
441 END IF;
442
443 -- Initialize message list if p_init_msg_list is set to TRUE.
444 IF FND_API.to_Boolean( p_init_msg_list )
445 THEN
446 FND_MSG_PUB.initialize;
447 END IF;
448
449 -- Debug Message
450 OZF_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
451
452
453 -- Initialize API return status to SUCCESS
454 x_return_status := FND_API.G_RET_STS_SUCCESS;
455
456 --
457 -- Api body
458 --
459 -- Debug Message
460 OZF_UTILITY_PVT.debug_message( 'Private API: Calling delete table handler');
461
462 -- Invoke table handler(OZF_OFFER_ADJUSTMENT_LINES_PKG.Delete_Row)
463 OZF_OFFER_ADJUSTMENT_LINES_PKG.Delete_Row(
464 p_OFFER_ADJUSTMENT_LINE_ID => p_OFFER_ADJUSTMENT_LINE_ID);
465 --
466 -- End of API body
467 --
468
469 -- Standard check for p_commit
470 IF FND_API.to_Boolean( p_commit )
471 THEN
472 COMMIT WORK;
473 END IF;
474
475
476 -- Debug Message
477 OZF_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'end');
478
479 -- Standard call to get message count and if count is 1, get message info.
480 FND_MSG_PUB.Count_And_Get
481 (p_count => x_msg_count,
482 p_data => x_msg_data
483 );
484 EXCEPTION
485
486 WHEN OZF_Utility_PVT.resource_locked THEN
487 x_return_status := FND_API.g_ret_sts_error;
488 OZF_Utility_PVT.Error_Message(p_message_name => 'OZF_API_RESOURCE_LOCKED');
489
490 WHEN FND_API.G_EXC_ERROR THEN
491 ROLLBACK TO DELETE_Offer_Back_PVT;
492 x_return_status := FND_API.G_RET_STS_ERROR;
493 -- Standard call to get message count and if count=1, get the message
494 FND_MSG_PUB.Count_And_Get (
495 p_encoded => FND_API.G_FALSE,
496 p_count => x_msg_count,
497 p_data => x_msg_data
498 );
499
500 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
501 ROLLBACK TO DELETE_Offer_Back_PVT;
502 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
503 -- Standard call to get message count and if count=1, get the message
504 FND_MSG_PUB.Count_And_Get (
505 p_encoded => FND_API.G_FALSE,
506 p_count => x_msg_count,
510 WHEN OTHERS THEN
507 p_data => x_msg_data
508 );
509
511 ROLLBACK TO DELETE_Offer_Back_PVT;
512 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
513 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
514 THEN
515 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
516 END IF;
517 -- Standard call to get message count and if count=1, get the message
518 FND_MSG_PUB.Count_And_Get (
519 p_encoded => FND_API.G_FALSE,
520 p_count => x_msg_count,
521 p_data => x_msg_data
522 );
523 End Delete_Offer_Back;
524
525
526
527 -- Hint: Primary key needs to be returned.
528 PROCEDURE Lock_Offer_Back(
529 p_api_version_number IN NUMBER,
530 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
531
532 x_return_status OUT NOCOPY VARCHAR2,
533 x_msg_count OUT NOCOPY NUMBER,
534 x_msg_data OUT NOCOPY VARCHAR2,
535
536 p_offer_adjustment_line_id IN NUMBER,
537 p_object_version IN NUMBER
538 )
539
540 IS
541 L_API_NAME CONSTANT VARCHAR2(30) := 'Lock_Offer_Back';
542 L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
543 L_FULL_NAME CONSTANT VARCHAR2(60) := g_pkg_name ||'.'|| l_api_name;
544 l_OFFER_ADJUSTMENT_LINE_ID NUMBER;
545
546 CURSOR c_Offer_Back_Create IS
547 SELECT OFFER_ADJUSTMENT_LINE_ID
548 FROM OZF_OFFER_ADJUSTMENT_LINES
549 WHERE OFFER_ADJUSTMENT_LINE_ID = p_OFFER_ADJUSTMENT_LINE_ID
550 AND object_version_number = p_object_version
551 FOR UPDATE NOWAIT;
552
553 BEGIN
554
555 -- Debug Message
556 OZF_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
557
558 -- Initialize message list if p_init_msg_list is set to TRUE.
559 IF FND_API.to_Boolean( p_init_msg_list )
560 THEN
561 FND_MSG_PUB.initialize;
562 END IF;
563
564 -- Standard call to check for call compatibility.
565 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
566 p_api_version_number,
567 l_api_name,
568 G_PKG_NAME)
569 THEN
570 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
571 END IF;
572
573
574 -- Initialize API return status to SUCCESS
575 x_return_status := FND_API.G_RET_STS_SUCCESS;
576
577
578 ------------------------ lock -------------------------
579
580 OZF_Utility_PVT.debug_message(l_full_name||': start');
581 OPEN c_Offer_Back_Create;
582
583 FETCH c_Offer_Back_Create INTO l_OFFER_ADJUSTMENT_LINE_ID;
584
585 IF (c_Offer_Back_Create%NOTFOUND) THEN
586 CLOSE c_Offer_Back_Create;
587 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
588 FND_MESSAGE.set_name('OZF', 'OZF_API_RECORD_NOT_FOUND');
589 FND_MSG_PUB.add;
590 END IF;
591 RAISE FND_API.g_exc_error;
592 END IF;
593
594 CLOSE c_Offer_Back_Create;
595
596 -------------------- finish --------------------------
597 FND_MSG_PUB.count_and_get(
598 p_encoded => FND_API.g_false,
599 p_count => x_msg_count,
600 p_data => x_msg_data);
601 OZF_Utility_PVT.debug_message(l_full_name ||': end');
602 EXCEPTION
603
604 WHEN OZF_Utility_PVT.resource_locked THEN
605 x_return_status := FND_API.g_ret_sts_error;
606 OZF_Utility_PVT.Error_Message(p_message_name => 'OZF_API_RESOURCE_LOCKED');
607
608 WHEN FND_API.G_EXC_ERROR THEN
609 ROLLBACK TO LOCK_Offer_Back_PVT;
610 x_return_status := FND_API.G_RET_STS_ERROR;
611 -- Standard call to get message count and if count=1, get the message
612 FND_MSG_PUB.Count_And_Get (
613 p_encoded => FND_API.G_FALSE,
614 p_count => x_msg_count,
615 p_data => x_msg_data
616 );
617
618 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
619 ROLLBACK TO LOCK_Offer_Back_PVT;
620 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
621 -- Standard call to get message count and if count=1, get the message
622 FND_MSG_PUB.Count_And_Get (
623 p_encoded => FND_API.G_FALSE,
624 p_count => x_msg_count,
625 p_data => x_msg_data
626 );
627
628 WHEN OTHERS THEN
629 ROLLBACK TO LOCK_Offer_Back_PVT;
630 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
631 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
632 THEN
633 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
634 END IF;
635 -- Standard call to get message count and if count=1, get the message
636 FND_MSG_PUB.Count_And_Get (
637 p_encoded => FND_API.G_FALSE,
638 p_count => x_msg_count,
639 p_data => x_msg_data
640 );
641 End Lock_Offer_Back;
642
643
644 PROCEDURE check_offer_back_uk_items(
645 p_offer_back_create_rec IN offer_back_create_rec_type,
646 p_validation_mode IN VARCHAR2 := JTF_PLSQL_API.g_create,
647 x_return_status OUT NOCOPY VARCHAR2)
648 IS
649 l_valid_flag VARCHAR2(1);
650
651 BEGIN
652 x_return_status := FND_API.g_ret_sts_success;
653 IF p_validation_mode = JTF_PLSQL_API.g_create THEN
654 l_valid_flag := OZF_Utility_PVT.check_uniqueness(
655 'OZF_OFFER_ADJUSTMENT_LINES',
656 'OFFER_ADJUSTMENT_LINE_ID = ''' || p_offer_back_create_rec.OFFER_ADJUSTMENT_LINE_ID ||''''
660 'OZF_OFFER_ADJUSTMENT_LINES',
657 );
658 ELSE
659 l_valid_flag := OZF_Utility_PVT.check_uniqueness(
661 'OFFER_ADJUSTMENT_LINE_ID = ''' || p_offer_back_create_rec.OFFER_ADJUSTMENT_LINE_ID ||
662 ''' AND OFFER_ADJUSTMENT_LINE_ID <> ' || p_offer_back_create_rec.OFFER_ADJUSTMENT_LINE_ID
663 );
664 END IF;
665
666 IF l_valid_flag = FND_API.g_false THEN
667 OZF_Utility_PVT.Error_Message(p_message_name => 'OZF_OFFER_ADJUSTMENT_LINE_ID_DUPLICATE');
668 x_return_status := FND_API.g_ret_sts_error;
669 RETURN;
670 END IF;
671
672 END check_offer_back_uk_items;
673
674 PROCEDURE check_offer_back_req_items(
675 p_offer_back_create_rec IN offer_back_create_rec_type,
676 p_validation_mode IN VARCHAR2 := JTF_PLSQL_API.g_create,
677 x_return_status OUT NOCOPY VARCHAR2
678 )
679 IS
680 BEGIN
681 x_return_status := FND_API.g_ret_sts_success;
682
683 /*IF p_validation_mode = JTF_PLSQL_API.g_create THEN
684 ELSE
685 END IF;*/
686
687 END check_offer_back_req_items;
688
689 PROCEDURE check_offer_back_FK_items(
690 p_offer_back_create_rec IN offer_back_create_rec_type,
691 x_return_status OUT NOCOPY VARCHAR2
692 )
693 IS
694 BEGIN
695 x_return_status := FND_API.g_ret_sts_success;
696
697 -- Enter custom code here
698
699 END check_offer_back_FK_items;
700
701 PROCEDURE check_offer_back_Lookup_items(
702 p_offer_back_create_rec IN offer_back_create_rec_type,
703 x_return_status OUT NOCOPY VARCHAR2
704 )
705 IS
706 BEGIN
707 x_return_status := FND_API.g_ret_sts_success;
708
709 -- Enter custom code here
710
711 END check_offer_back_Lookup_items;
712
713 PROCEDURE Check_offer_back_Items (
714 P_offer_back_create_rec IN offer_back_create_rec_type,
715 p_validation_mode IN VARCHAR2,
716 x_return_status OUT NOCOPY VARCHAR2
717 )
718 IS
719 BEGIN
720
721 -- Check Items Uniqueness API calls
722
723 check_offer_back_uk_items(
724 p_offer_back_create_rec => p_offer_back_create_rec,
725 p_validation_mode => p_validation_mode,
726 x_return_status => x_return_status);
727 IF x_return_status <> FND_API.g_ret_sts_success THEN
728 RETURN;
729 END IF;
730
731 -- Check Items Required/NOT NULL API calls
732
733 check_offer_back_req_items(
734 p_offer_back_create_rec => p_offer_back_create_rec,
735 p_validation_mode => p_validation_mode,
736 x_return_status => x_return_status);
737 IF x_return_status <> FND_API.g_ret_sts_success THEN
738 RETURN;
739 END IF;
740 -- Check Items Foreign Keys API calls
741
742 check_offer_back_FK_items(
743 p_offer_back_create_rec => p_offer_back_create_rec,
744 x_return_status => x_return_status);
745 IF x_return_status <> FND_API.g_ret_sts_success THEN
746 RETURN;
747 END IF;
748 -- Check Items Lookups
749
750 check_offer_back_Lookup_items(
751 p_offer_back_create_rec => p_offer_back_create_rec,
752 x_return_status => x_return_status);
753 IF x_return_status <> FND_API.g_ret_sts_success THEN
754 RETURN;
755 END IF;
756
757 END Check_offer_back_Items;
758
759
760
761 PROCEDURE Complete_offer_back_Rec (
762 p_offer_back_create_rec IN offer_back_create_rec_type,
763 x_complete_rec OUT NOCOPY offer_back_create_rec_type)
764 IS
765 l_return_status VARCHAR2(1);
766
767 CURSOR c_complete IS
768 SELECT *
769 FROM ozf_offer_adjustment_lines
770 WHERE offer_adjustment_line_id = p_offer_back_create_rec.offer_adjustment_line_id;
771 l_offer_back_create_rec c_complete%ROWTYPE;
772 BEGIN
773 x_complete_rec := p_offer_back_create_rec;
774
775
776 OPEN c_complete;
777 FETCH c_complete INTO l_offer_back_create_rec;
778 CLOSE c_complete;
779
780 -- offer_adjustment_line_id
781 IF p_offer_back_create_rec.offer_adjustment_line_id = FND_API.g_miss_num THEN
782 x_complete_rec.offer_adjustment_line_id := l_offer_back_create_rec.offer_adjustment_line_id;
783 END IF;
784
785 -- offer_adjustment_id
786 IF p_offer_back_create_rec.offer_adjustment_id = FND_API.g_miss_num THEN
787 x_complete_rec.offer_adjustment_id := l_offer_back_create_rec.offer_adjustment_id;
788 END IF;
789
790 -- list_line_id
791 IF p_offer_back_create_rec.list_line_id = FND_API.g_miss_num THEN
792 x_complete_rec.list_line_id := l_offer_back_create_rec.list_line_id;
793 END IF;
794
795 -- arithmetic_operator
796 IF p_offer_back_create_rec.arithmetic_operator = FND_API.g_miss_char THEN
797 x_complete_rec.arithmetic_operator := l_offer_back_create_rec.arithmetic_operator;
798 END IF;
799
800 -- original_discount
801 IF p_offer_back_create_rec.original_discount = FND_API.g_miss_num THEN
802 x_complete_rec.original_discount := l_offer_back_create_rec.original_discount;
803 END IF;
804
805 -- modified_discount
806 IF p_offer_back_create_rec.modified_discount = FND_API.g_miss_num THEN
807 x_complete_rec.modified_discount := l_offer_back_create_rec.modified_discount;
808 END IF;
809
810 -- last_update_date
811 IF p_offer_back_create_rec.last_update_date = FND_API.g_miss_date THEN
812 x_complete_rec.last_update_date := l_offer_back_create_rec.last_update_date;
813 END IF;
814
815 -- last_updated_by
816 IF p_offer_back_create_rec.last_updated_by = FND_API.g_miss_num THEN
820 -- creation_date
817 x_complete_rec.last_updated_by := l_offer_back_create_rec.last_updated_by;
818 END IF;
819
821 IF p_offer_back_create_rec.creation_date = FND_API.g_miss_date THEN
822 x_complete_rec.creation_date := l_offer_back_create_rec.creation_date;
823 END IF;
824
825 -- created_by
826 IF p_offer_back_create_rec.created_by = FND_API.g_miss_num THEN
827 x_complete_rec.created_by := l_offer_back_create_rec.created_by;
828 END IF;
829
830 -- last_update_login
831 IF p_offer_back_create_rec.last_update_login = FND_API.g_miss_num THEN
832 x_complete_rec.last_update_login := l_offer_back_create_rec.last_update_login;
833 END IF;
834
835 -- object_version_number
836 IF p_offer_back_create_rec.object_version_number = FND_API.g_miss_num THEN
837 x_complete_rec.object_version_number := l_offer_back_create_rec.object_version_number;
838 END IF;
839
840 -- security_group_id
841 IF p_offer_back_create_rec.security_group_id = FND_API.g_miss_num THEN
842 x_complete_rec.security_group_id := l_offer_back_create_rec.security_group_id;
843 END IF;
844 -- Note: Developers need to modify the procedure
845 -- to handle any business specific requirements.
846 END Complete_offer_back_Rec;
847 PROCEDURE Validate_offer_back(
848 p_api_version_number IN NUMBER,
849 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
850 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
851 p_offer_back_create_rec IN offer_back_create_rec_type,
852 p_validation_mode IN VARCHAR2,
853 x_return_status OUT NOCOPY VARCHAR2,
854 x_msg_count OUT NOCOPY NUMBER,
855 x_msg_data OUT NOCOPY VARCHAR2
856 )
857 IS
858 L_API_NAME CONSTANT VARCHAR2(30) := 'Validate_Offer_Back';
859 L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
860 l_object_version_number NUMBER;
861 l_offer_back_create_rec OZF_Offer_Back_Create_PVT.offer_back_create_rec_type;
862
863 BEGIN
864 -- Standard Start of API savepoint
865 SAVEPOINT VALIDATE_Offer_Back_;
866
867 -- Standard call to check for call compatibility.
868 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
869 p_api_version_number,
870 l_api_name,
871 G_PKG_NAME)
872 THEN
873 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
874 END IF;
875
876 -- Initialize message list if p_init_msg_list is set to TRUE.
877 IF FND_API.to_Boolean( p_init_msg_list )
878 THEN
879 FND_MSG_PUB.initialize;
880 END IF;
881 IF p_validation_level >= JTF_PLSQL_API.g_valid_level_item THEN
882 Check_offer_back_Items(
883 p_offer_back_create_rec => p_offer_back_create_rec,
884 p_validation_mode => p_validation_mode,
885 x_return_status => x_return_status
886 );
887
888 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
889 RAISE FND_API.G_EXC_ERROR;
890 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
891 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
892 END IF;
893 END IF;
894
895 Complete_offer_back_Rec(
896 p_offer_back_create_rec => p_offer_back_create_rec,
897 x_complete_rec => l_offer_back_create_rec
898 );
899
900 IF p_validation_level >= JTF_PLSQL_API.g_valid_level_item THEN
901 Validate_offer_back_Rec(
902 p_api_version_number => 1.0,
903 p_init_msg_list => FND_API.G_FALSE,
904 x_return_status => x_return_status,
905 x_msg_count => x_msg_count,
906 x_msg_data => x_msg_data,
907 p_offer_back_create_rec => l_offer_back_create_rec);
908
909 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
910 RAISE FND_API.G_EXC_ERROR;
911 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
912 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
913 END IF;
914 END IF;
915
916
917 -- Debug Message
918 OZF_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
919
920
921 -- Initialize API return status to SUCCESS
922 x_return_status := FND_API.G_RET_STS_SUCCESS;
923
924
925 -- Debug Message
926 OZF_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'end');
927
928 -- Standard call to get message count and if count is 1, get message info.
929 FND_MSG_PUB.Count_And_Get
930 (p_count => x_msg_count,
931 p_data => x_msg_data
932 );
933 EXCEPTION
934
935 WHEN OZF_Utility_PVT.resource_locked THEN
936 x_return_status := FND_API.g_ret_sts_error;
937 OZF_Utility_PVT.Error_Message(p_message_name => 'OZF_API_RESOURCE_LOCKED');
938
939 WHEN FND_API.G_EXC_ERROR THEN
940 ROLLBACK TO VALIDATE_Offer_Back_;
941 x_return_status := FND_API.G_RET_STS_ERROR;
942 -- Standard call to get message count and if count=1, get the message
943 FND_MSG_PUB.Count_And_Get (
944 p_encoded => FND_API.G_FALSE,
945 p_count => x_msg_count,
946 p_data => x_msg_data
947 );
948
949 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
950 ROLLBACK TO VALIDATE_Offer_Back_;
951 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
952 -- Standard call to get message count and if count=1, get the message
953 FND_MSG_PUB.Count_And_Get (
954 p_encoded => FND_API.G_FALSE,
955 p_count => x_msg_count,
956 p_data => x_msg_data
957 );
958
959 WHEN OTHERS THEN
960 ROLLBACK TO VALIDATE_Offer_Back_;
961 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
962 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
963 THEN
964 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
965 END IF;
966 -- Standard call to get message count and if count=1, get the message
967 FND_MSG_PUB.Count_And_Get (
968 p_encoded => FND_API.G_FALSE,
969 p_count => x_msg_count,
970 p_data => x_msg_data
971 );
972 End Validate_Offer_Back;
973
974
975 PROCEDURE Validate_offer_back_rec(
976 p_api_version_number IN NUMBER,
977 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
978 x_return_status OUT NOCOPY VARCHAR2,
979 x_msg_count OUT NOCOPY NUMBER,
980 x_msg_data OUT NOCOPY VARCHAR2,
981 p_offer_back_create_rec IN offer_back_create_rec_type
982 )
983 IS
984 BEGIN
985 -- Initialize message list if p_init_msg_list is set to TRUE.
986 IF FND_API.to_Boolean( p_init_msg_list )
987 THEN
988 FND_MSG_PUB.initialize;
989 END IF;
990
991 -- Initialize API return status to SUCCESS
992 x_return_status := FND_API.G_RET_STS_SUCCESS;
993
994 -- Hint: Validate data
995 -- If data not valid
996 -- THEN
997 -- x_return_status := FND_API.G_RET_STS_ERROR;
998
999 -- Debug Message
1000 OZF_UTILITY_PVT.debug_message('Private API: Validate_dm_model_rec');
1001 -- Standard call to get message count and if count is 1, get message info.
1002 FND_MSG_PUB.Count_And_Get
1003 (p_count => x_msg_count,
1004 p_data => x_msg_data
1005 );
1006 END Validate_offer_back_Rec;
1007
1008 END OZF_Offer_Back_Create_PVT;