[Home] [Help]
PACKAGE BODY: APPS.OZF_OFFER_PERFORMANCE_PVT
Source
1 PACKAGE BODY OZF_Offer_Performance_PVT as
2 /* $Header: ozfvperb.pls 120.1 2005/09/07 19:20:29 appldev ship $ */
3 -- ===============================================================
4 -- Start of Comments
5 -- Package name
6 -- OZF_Offer_Performance_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_Performance_PVT';
18 G_FILE_NAME CONSTANT VARCHAR2(12) := 'ozfvperb.pls';
19
20 -- Hint: Primary key needs to be returned.
21 PROCEDURE Create_Offer_Performance(
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_perf_rec IN offer_perf_rec_type := g_miss_offer_perf_rec,
32 x_offer_performance_id OUT NOCOPY NUMBER
33 )
34
35 IS
36 L_API_NAME CONSTANT VARCHAR2(30) := 'Create_Offer_Performance';
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_PERFORMANCE_ID NUMBER;
42 l_dummy NUMBER;
43
44 CURSOR c_id IS
45 SELECT OZF_OFFER_PERFORMANCES_S.NEXTVAL
46 FROM dual;
47
48 CURSOR c_id_exists (l_id IN NUMBER) IS
49 SELECT 1
50 FROM OZF_OFFER_PERFORMANCES
51 WHERE OFFER_PERFORMANCE_ID = l_id;
52
53 BEGIN
54 --dbms_output.put_line('First message');
55 -- Standard Start of API savepoint
56 SAVEPOINT CREATE_Offer_Performance_PVT;
57
58 ozf_utility_pvt.debug_message('inside create');
59 -- Standard call to check for call compatibility.
60 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
61 p_api_version_number,
62 l_api_name,
63 G_PKG_NAME)
64 THEN
65 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
66 END IF;
67
68 -- Initialize message list if p_init_msg_list is set to TRUE.
69 IF FND_API.to_Boolean( p_init_msg_list )
70 THEN
71 FND_MSG_PUB.initialize;
72 END IF;
73
74 -- Debug Message
75 ozf_utility_pvt.debug_message('Private API: ' || l_api_name || 'start');
76
77
78 -- Initialize API return status to SUCCESS
79 x_return_status := FND_API.G_RET_STS_SUCCESS;
80
81 -- Local variable initialization
82
83 IF p_offer_perf_rec.OFFER_PERFORMANCE_ID IS NULL OR p_offer_perf_rec.OFFER_PERFORMANCE_ID = FND_API.g_miss_num THEN
84 LOOP
85 l_dummy := NULL;
86 OPEN c_id;
87 FETCH c_id INTO l_OFFER_PERFORMANCE_ID;
88 CLOSE c_id;
89
90 OPEN c_id_exists(l_OFFER_PERFORMANCE_ID);
91 FETCH c_id_exists INTO l_dummy;
92 CLOSE c_id_exists;
93 EXIT WHEN l_dummy IS NULL;
94 END LOOP;
95 ELSE
96 l_offer_performance_id := p_offer_perf_rec.offer_performance_id;
97
98 END IF;
99
100 -- =========================================================================
101 -- Validate Environment
102 -- =========================================================================
103
104 IF FND_GLOBAL.User_Id IS NULL
105 THEN
106 ozf_utility_pvt.Error_Message(p_message_name => 'USER_PROFILE_MISSING');
107 RAISE FND_API.G_EXC_ERROR;
108 END IF;
109
110 IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL)
111 THEN
112 -- Debug message
113 ozf_utility_pvt.debug_message('Private API: Validate_Offer_Performance');
114
115 -- Invoke validation procedures
116 Validate_offer_performance(
117 p_api_version_number => 1.0,
118 p_init_msg_list => FND_API.G_FALSE,
119 p_validation_level => p_validation_level,
120 p_validation_mode => JTF_PLSQL_API.g_create,
121 p_offer_perf_rec => p_offer_perf_rec,
122 x_return_status => x_return_status,
123 x_msg_count => x_msg_count,
124 x_msg_data => x_msg_data);
125 END IF;
126
127 IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
128 RAISE FND_API.G_EXC_ERROR;
129 END IF;
130
131
132 -- Debug Message
133 ozf_utility_pvt.debug_message( 'Private API: Calling create table handler');
134
135 -- Invoke table handler(OZF_OFFER_PERFORMANCES_PKG.Insert_Row)
136 OZF_OFFER_PERFORMANCES_PKG.Insert_Row(
137 px_offer_performance_id => l_offer_performance_id,
138 p_list_header_id => p_offer_perf_rec.list_header_id,
139 p_last_update_date => SYSDATE,
140 p_last_updated_by => FND_GLOBAL.USER_ID,
141 p_creation_date => SYSDATE,
142 p_created_by => FND_GLOBAL.USER_ID,
143 p_last_update_login => FND_GLOBAL.CONC_LOGIN_ID,
144 px_object_version_number => l_object_version_number,
145 p_product_attribute_context => p_offer_perf_rec.product_attribute_context,
146 p_product_attribute => p_offer_perf_rec.product_attribute,
147 p_product_attr_value => p_offer_perf_rec.product_attr_value,
148 p_channel_id => p_offer_perf_rec.channel_id,
149 p_start_date => p_offer_perf_rec.start_date,
150 p_end_date => p_offer_perf_rec.end_date,
151 p_estimated_value => p_offer_perf_rec.estimated_value,
152 p_required_flag => p_offer_perf_rec.required_flag,
153 p_attribute_category => p_offer_perf_rec.attribute_category,
154 p_attribute1 => p_offer_perf_rec.attribute1,
155 p_attribute2 => p_offer_perf_rec.attribute2,
156 p_attribute3 => p_offer_perf_rec.attribute3,
157 p_attribute4 => p_offer_perf_rec.attribute4,
158 p_attribute5 => p_offer_perf_rec.attribute5,
159 p_attribute6 => p_offer_perf_rec.attribute6,
160 p_attribute7 => p_offer_perf_rec.attribute7,
161 p_attribute8 => p_offer_perf_rec.attribute8,
162 p_attribute9 => p_offer_perf_rec.attribute9,
163 p_attribute10 => p_offer_perf_rec.attribute10,
164 p_attribute11 => p_offer_perf_rec.attribute11,
165 p_attribute12 => p_offer_perf_rec.attribute12,
166 p_attribute13 => p_offer_perf_rec.attribute13,
167 p_attribute14 => p_offer_perf_rec.attribute14,
168 p_attribute15 => p_offer_perf_rec.attribute15,
169 p_security_group_id => p_offer_perf_rec.security_group_id,
170 p_requirement_type => p_offer_perf_rec.requirement_type,
171 p_uom_code => p_offer_perf_rec.uom_code,
172 p_description => p_offer_perf_rec.description);
173
174 x_offer_performance_id := l_offer_performance_id;
175 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
176 RAISE FND_API.G_EXC_ERROR;
177 END IF;
178 --
179 -- End of API body
180 --
181
182 -- Standard check for p_commit
183 IF FND_API.to_Boolean( p_commit )
184 THEN
185 COMMIT WORK;
186 END IF;
187
188
189 -- Debug Message
190 ozf_utility_pvt.debug_message('Private API: ' || l_api_name || 'end');
191
192 -- Standard call to get message count and if count is 1, get message info.
193 FND_MSG_PUB.Count_And_Get
194 (p_count => x_msg_count,
195 p_data => x_msg_data
196 );
197 EXCEPTION
198
199 WHEN ozf_utility_pvt.resource_locked THEN
200 x_return_status := FND_API.g_ret_sts_error;
201 ozf_utility_pvt.Error_Message(p_message_name => 'OZF_API_RESOURCE_LOCKED');
202
203 WHEN FND_API.G_EXC_ERROR THEN
204 ROLLBACK TO CREATE_Offer_Performance_PVT;
205 x_return_status := FND_API.G_RET_STS_ERROR;
206 -- Standard call to get message count and if count=1, get the message
207 FND_MSG_PUB.Count_And_Get (
208 p_encoded => FND_API.G_FALSE,
209 p_count => x_msg_count,
210 p_data => x_msg_data
211 );
212
213 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
214 ROLLBACK TO CREATE_Offer_Performance_PVT;
215 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
216 -- Standard call to get message count and if count=1, get the message
217 FND_MSG_PUB.Count_And_Get (
218 p_encoded => FND_API.G_FALSE,
219 p_count => x_msg_count,
220 p_data => x_msg_data
221 );
222
223 WHEN OTHERS THEN
224 ROLLBACK TO CREATE_Offer_Performance_PVT;
225 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
226 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
227 THEN
228 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
229 END IF;
230 -- Standard call to get message count and if count=1, get the message
231 FND_MSG_PUB.Count_And_Get (
232 p_encoded => FND_API.G_FALSE,
233 p_count => x_msg_count,
234 p_data => x_msg_data
235 );
236 End Create_Offer_Performance;
237
238
239 PROCEDURE Update_Offer_Performance(
240 p_api_version_number IN NUMBER,
241 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
242 p_commit IN VARCHAR2 := FND_API.G_FALSE,
243 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
244
245 x_return_status OUT NOCOPY VARCHAR2,
246 x_msg_count OUT NOCOPY NUMBER,
247 x_msg_data OUT NOCOPY VARCHAR2,
248
249 p_offer_perf_rec IN offer_perf_rec_type,
250 x_object_version_number OUT NOCOPY NUMBER
251 )
252
253 IS
254
255 CURSOR c_get_offer_performance(l_offer_performance_id NUMBER) IS
256 SELECT *
257 FROM OZF_OFFER_PERFORMANCES
258 where offer_performance_id = l_offer_performance_id;
259 -- Hint: Developer need to provide Where clause
260
261 L_API_NAME CONSTANT VARCHAR2(30) := 'Update_Offer_Performance';
262 L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
263 -- Local Variables
264 l_object_version_number NUMBER;
265 l_OFFER_PERFORMANCE_ID NUMBER;
266 l_ref_offer_perf_rec c_get_Offer_Performance%ROWTYPE ;
267 l_tar_offer_perf_rec OZF_Offer_Performance_PVT.offer_perf_rec_type := P_offer_perf_rec;
268 l_rowid ROWID;
269
270 BEGIN
271 --dbms_output.put_line('second message');
272 -- Standard Start of API savepoint
273 SAVEPOINT UPDATE_Offer_Performance_PVT;
274 ozf_utility_pvt.debug_message('Inside update Private API: - Open Cursor to Select');
275 ozf_utility_pvt.debug_message('Inside update Private API: - Open Cursor to Select');
276 -- Standard call to check for call compatibility.
277 -- RAISE FND_API.G_EXC_ERROR;
278 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
279 p_api_version_number,
280 l_api_name,
281 G_PKG_NAME)
282 THEN
283 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
284 END IF;
285
286 -- Initialize message list if p_init_msg_list is set to TRUE.
287 IF FND_API.to_Boolean( p_init_msg_list )
288 THEN
289 FND_MSG_PUB.initialize;
290 END IF;
291
292 -- Debug Message
293 ozf_utility_pvt.debug_message('Private API: ' || l_api_name || 'start');
294
295
296 -- Initialize API return status to SUCCESS
297 x_return_status := FND_API.G_RET_STS_SUCCESS;
298
299 -- Debug Message
300 ozf_utility_pvt.debug_message('Private API: - Open Cursor to Select');
301
302
303 OPEN c_get_Offer_Performance( l_tar_offer_perf_rec.offer_performance_id);
304
305 FETCH c_get_Offer_Performance INTO l_ref_offer_perf_rec ;
306
307 If ( c_get_Offer_Performance%NOTFOUND) THEN
308 ozf_utility_pvt.Error_Message(p_message_name => 'API_MISSING_UPDATE_TARGET',
309 p_token_name => 'INFO',
310 p_token_value => 'Offer_Performance') ;
311 RAISE FND_API.G_EXC_ERROR;
312 END IF;
313 -- Debug Message
314 ozf_utility_pvt.debug_message('Private API: - Close Cursor');
315 CLOSE c_get_Offer_Performance;
316
317
318
319 If (l_tar_offer_perf_rec.object_version_number is NULL or
320 l_tar_offer_perf_rec.object_version_number = FND_API.G_MISS_NUM ) Then
321 ozf_utility_pvt.Error_Message(p_message_name => 'API_VERSION_MISSING',
322 p_token_name => 'COLUMN',
323 p_token_value => 'Last_Update_Date') ;
324 raise FND_API.G_EXC_ERROR;
325 End if;
329 p_token_name => 'INFO',
326 -- Check Whether record has been changed by someone else
327 If (l_tar_offer_perf_rec.object_version_number <> l_ref_offer_perf_rec.object_version_number) Then
328 ozf_utility_pvt.Error_Message(p_message_name => 'API_RECORD_CHANGED',
330 p_token_value => 'Offer_Performance') ;
331 raise FND_API.G_EXC_ERROR;
332 End if;
333 IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL)
334 THEN
335 -- Debug message
336 ozf_utility_pvt.debug_message('Private API: Validate_Offer_Performance');
337
338 -- Invoke validation procedures
339 Validate_offer_performance(
340 p_api_version_number => 1.0,
341 p_init_msg_list => FND_API.G_FALSE,
342 p_validation_level => p_validation_level,
343 p_validation_mode => JTF_PLSQL_API.g_update,
344 p_offer_perf_rec => p_offer_perf_rec,
345 x_return_status => x_return_status,
346 x_msg_count => x_msg_count,
347 x_msg_data => x_msg_data);
348 END IF;
349 ozf_utility_pvt.debug_message('out of validate');
350
351 IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
352 RAISE FND_API.G_EXC_ERROR;
353 END IF;
354
355 ozf_utility_pvt.debug_message('out OUT NOCOPY out of validate');
356 -- Debug Message
357 ozf_utility_pvt.debug_message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW||'Private API: Calling update table handler');
358 l_object_version_number := l_tar_offer_perf_rec.object_version_number + 1;
359 -- Invoke table handler(OZF_OFFER_PERFORMANCES_PKG.Update_Row)
360 OZF_OFFER_PERFORMANCES_PKG.Update_Row(
361 p_offer_performance_id => p_offer_perf_rec.offer_performance_id,
362 p_list_header_id => p_offer_perf_rec.list_header_id,
363 p_last_update_date => SYSDATE,
364 p_last_updated_by => FND_GLOBAL.USER_ID,
365 p_creation_date => p_offer_perf_rec.creation_date,
366 p_created_by => p_offer_perf_rec.created_by,
367 p_last_update_login => FND_GLOBAL.CONC_LOGIN_ID,
368 p_object_version_number => l_object_version_number,
369 p_product_attribute_context => p_offer_perf_rec.product_attribute_context,
370 p_product_attribute => p_offer_perf_rec.product_attribute,
371 p_product_attr_value => p_offer_perf_rec.product_attr_value,
372 p_channel_id => p_offer_perf_rec.channel_id,
373 p_start_date => p_offer_perf_rec.start_date,
374 p_end_date => p_offer_perf_rec.end_date,
375 p_estimated_value => p_offer_perf_rec.estimated_value,
376 p_required_flag => p_offer_perf_rec.required_flag,
377 p_attribute_category => p_offer_perf_rec.attribute_category,
378 p_attribute1 => p_offer_perf_rec.attribute1,
379 p_attribute2 => p_offer_perf_rec.attribute2,
380 p_attribute3 => p_offer_perf_rec.attribute3,
381 p_attribute4 => p_offer_perf_rec.attribute4,
382 p_attribute5 => p_offer_perf_rec.attribute5,
383 p_attribute6 => p_offer_perf_rec.attribute6,
384 p_attribute7 => p_offer_perf_rec.attribute7,
385 p_attribute8 => p_offer_perf_rec.attribute8,
386 p_attribute9 => p_offer_perf_rec.attribute9,
387 p_attribute10 => p_offer_perf_rec.attribute10,
388 p_attribute11 => p_offer_perf_rec.attribute11,
389 p_attribute12 => p_offer_perf_rec.attribute12,
390 p_attribute13 => p_offer_perf_rec.attribute13,
391 p_attribute14 => p_offer_perf_rec.attribute14,
392 p_attribute15 => p_offer_perf_rec.attribute15,
393 p_security_group_id => p_offer_perf_rec.security_group_id,
394 p_requirement_type => p_offer_perf_rec.requirement_type,
395 p_uom_code => p_offer_perf_rec.uom_code,
396 p_description => p_offer_perf_rec.description);
397
398 x_object_version_number := p_offer_perf_rec.object_version_number + 1;
399
400 --
401 -- End of API body.
402 --
403
404 -- Standard check for p_commit
405 IF FND_API.to_Boolean( p_commit )
406 THEN
407 COMMIT WORK;
408 END IF;
409
410
411 -- Debug Message
412 ozf_utility_pvt.debug_message('Private API: ' || l_api_name || 'end');
413
414 -- Standard call to get message count and if count is 1, get message info.
415 FND_MSG_PUB.Count_And_Get
416 (p_count => x_msg_count,
417 p_data => x_msg_data
418 );
419 EXCEPTION
420
421 WHEN ozf_utility_pvt.resource_locked THEN
422 x_return_status := FND_API.g_ret_sts_error;
423 ozf_utility_pvt.Error_Message(p_message_name => 'OZF_API_RESOURCE_LOCKED');
424
425 WHEN FND_API.G_EXC_ERROR THEN
426 ROLLBACK TO UPDATE_Offer_Performance_PVT;
427 x_return_status := FND_API.G_RET_STS_ERROR;
428 -- Standard call to get message count and if count=1, get the message
429 FND_MSG_PUB.Count_And_Get (
430 p_encoded => FND_API.G_FALSE,
431 p_count => x_msg_count,
432 p_data => x_msg_data
433 );
434
435 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
436 ROLLBACK TO UPDATE_Offer_Performance_PVT;
440 p_encoded => FND_API.G_FALSE,
437 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
438 -- Standard call to get message count and if count=1, get the message
439 FND_MSG_PUB.Count_And_Get (
441 p_count => x_msg_count,
442 p_data => x_msg_data
443 );
444
445 WHEN OTHERS THEN
446 ROLLBACK TO UPDATE_Offer_Performance_PVT;
447 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
448 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
449 THEN
450 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
451 END IF;
452 -- Standard call to get message count and if count=1, get the message
453 FND_MSG_PUB.Count_And_Get (
454 p_encoded => FND_API.G_FALSE,
455 p_count => x_msg_count,
456 p_data => x_msg_data
457 );
458 End Update_Offer_Performance;
459
460
461 PROCEDURE Delete_Offer_Performance(
462 p_api_version_number IN NUMBER,
463 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
464 p_commit IN VARCHAR2 := FND_API.G_FALSE,
465 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
466 x_return_status OUT NOCOPY VARCHAR2,
467 x_msg_count OUT NOCOPY NUMBER,
468 x_msg_data OUT NOCOPY VARCHAR2,
469 p_offer_performance_id IN NUMBER,
470 p_object_version_number IN NUMBER
471 )
472
473 IS
474 L_API_NAME CONSTANT VARCHAR2(30) := 'Delete_Offer_Performance';
475 L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
476 l_object_version_number NUMBER;
477
478 BEGIN
479 --dbms_output.put_line('Third message');
480 -- Standard Start of API savepoint
481 SAVEPOINT DELETE_Offer_Performance_PVT;
482
483 -- Standard call to check for call compatibility.
484 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
485 p_api_version_number,
486 l_api_name,
487 G_PKG_NAME)
488 THEN
489 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
490 END IF;
491
492 -- Initialize message list if p_init_msg_list is set to TRUE.
493 IF FND_API.to_Boolean( p_init_msg_list )
494 THEN
495 FND_MSG_PUB.initialize;
496 END IF;
497
498 -- Debug Message
499 ozf_utility_pvt.debug_message('Private API: ' || l_api_name || 'start');
500
501
502 -- Initialize API return status to SUCCESS
503 x_return_status := FND_API.G_RET_STS_SUCCESS;
504
505 --
506 -- Api body
507 --
508 -- Debug Message
509 ozf_utility_pvt.debug_message( 'Private API: Calling delete table handler');
510
511 -- Invoke table handler(OZF_OFFER_PERFORMANCES_PKG.Delete_Row)
512 OZF_OFFER_PERFORMANCES_PKG.Delete_Row(
513 p_OFFER_PERFORMANCE_ID => p_OFFER_PERFORMANCE_ID);
514 --
515 -- End of API body
516 --
517
518 -- Standard check for p_commit
519 IF FND_API.to_Boolean( p_commit )
520 THEN
521 COMMIT WORK;
522 END IF;
523
524
525 -- Debug Message
526 ozf_utility_pvt.debug_message('Private API: ' || l_api_name || 'end');
527
528 -- Standard call to get message count and if count is 1, get message info.
529 FND_MSG_PUB.Count_And_Get
530 (p_count => x_msg_count,
531 p_data => x_msg_data
532 );
533 EXCEPTION
534
535 WHEN ozf_utility_pvt.resource_locked THEN
536 x_return_status := FND_API.g_ret_sts_error;
537 ozf_utility_pvt.Error_Message(p_message_name => 'OZF_API_RESOURCE_LOCKED');
538
539 WHEN FND_API.G_EXC_ERROR THEN
540 ROLLBACK TO DELETE_Offer_Performance_PVT;
541 x_return_status := FND_API.G_RET_STS_ERROR;
542 -- Standard call to get message count and if count=1, get the message
543 FND_MSG_PUB.Count_And_Get (
544 p_encoded => FND_API.G_FALSE,
545 p_count => x_msg_count,
546 p_data => x_msg_data
547 );
548
549 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
550 ROLLBACK TO DELETE_Offer_Performance_PVT;
551 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
552 -- Standard call to get message count and if count=1, get the message
553 FND_MSG_PUB.Count_And_Get (
554 p_encoded => FND_API.G_FALSE,
555 p_count => x_msg_count,
556 p_data => x_msg_data
557 );
558
559 WHEN OTHERS THEN
560 ROLLBACK TO DELETE_Offer_Performance_PVT;
561 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
562 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
563 THEN
564 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
565 END IF;
566 -- Standard call to get message count and if count=1, get the message
567 FND_MSG_PUB.Count_And_Get (
568 p_encoded => FND_API.G_FALSE,
569 p_count => x_msg_count,
570 p_data => x_msg_data
571 );
575
572 End Delete_Offer_Performance;
573
574
576 -- Hint: Primary key needs to be returned.
577 PROCEDURE Lock_Offer_Performance(
578 p_api_version_number IN NUMBER,
579 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
580
581 x_return_status OUT NOCOPY VARCHAR2,
582 x_msg_count OUT NOCOPY NUMBER,
583 x_msg_data OUT NOCOPY VARCHAR2,
584
585 p_offer_performance_id IN NUMBER,
586 p_object_version IN NUMBER
587 )
588
589 IS
590 L_API_NAME CONSTANT VARCHAR2(30) := 'Lock_Offer_Performance';
591 L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
592 L_FULL_NAME CONSTANT VARCHAR2(60) := g_pkg_name ||'.'|| l_api_name;
593 l_OFFER_PERFORMANCE_ID NUMBER;
594
595 CURSOR c_Offer_Performance IS
596 SELECT OFFER_PERFORMANCE_ID
597 FROM OZF_OFFER_PERFORMANCES
598 WHERE OFFER_PERFORMANCE_ID = p_OFFER_PERFORMANCE_ID
599 AND object_version_number = p_object_version
600 FOR UPDATE NOWAIT;
601
602 BEGIN
603 --dbms_output.put_line('Fourth message');
604 -- Debug Message
605 ozf_utility_pvt.debug_message('Private API: ' || l_api_name || 'start');
606
607 -- Initialize message list if p_init_msg_list is set to TRUE.
608 IF FND_API.to_Boolean( p_init_msg_list )
609 THEN
610 FND_MSG_PUB.initialize;
611 END IF;
612
613 -- Standard call to check for call compatibility.
614 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
615 p_api_version_number,
616 l_api_name,
617 G_PKG_NAME)
618 THEN
619 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
620 END IF;
621
622
623 -- Initialize API return status to SUCCESS
624 x_return_status := FND_API.G_RET_STS_SUCCESS;
625
626
627 ------------------------ lock -------------------------
628
629 ozf_utility_pvt.debug_message(l_full_name||': start');
630 OPEN c_Offer_Performance;
631
632 FETCH c_Offer_Performance INTO l_OFFER_PERFORMANCE_ID;
633
634 IF (c_Offer_Performance%NOTFOUND) THEN
635 CLOSE c_Offer_Performance;
636 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
637 FND_MESSAGE.set_name('OZF', 'OZF_API_RECORD_NOT_FOUND');
638 FND_MSG_PUB.add;
639 END IF;
640 RAISE FND_API.g_exc_error;
641 END IF;
642
643 CLOSE c_Offer_Performance;
644
645 -------------------- finish --------------------------
646 FND_MSG_PUB.count_and_get(
647 p_encoded => FND_API.g_false,
648 p_count => x_msg_count,
649 p_data => x_msg_data);
650 ozf_utility_pvt.debug_message(l_full_name ||': end');
651 EXCEPTION
652
653 WHEN ozf_utility_pvt.resource_locked THEN
654 x_return_status := FND_API.g_ret_sts_error;
655 ozf_utility_pvt.Error_Message(p_message_name => 'OZF_API_RESOURCE_LOCKED');
656
657 WHEN FND_API.G_EXC_ERROR THEN
658 ROLLBACK TO LOCK_Offer_Performance_PVT;
659 x_return_status := FND_API.G_RET_STS_ERROR;
660 -- Standard call to get message count and if count=1, get the message
661 FND_MSG_PUB.Count_And_Get (
662 p_encoded => FND_API.G_FALSE,
663 p_count => x_msg_count,
664 p_data => x_msg_data
665 );
666
667 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
668 ROLLBACK TO LOCK_Offer_Performance_PVT;
669 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
670 -- Standard call to get message count and if count=1, get the message
671 FND_MSG_PUB.Count_And_Get (
672 p_encoded => FND_API.G_FALSE,
673 p_count => x_msg_count,
674 p_data => x_msg_data
675 );
676
677 WHEN OTHERS THEN
678 ROLLBACK TO LOCK_Offer_Performance_PVT;
679 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
680 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
681 THEN
682 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
683 END IF;
684 -- Standard call to get message count and if count=1, get the message
685 FND_MSG_PUB.Count_And_Get (
686 p_encoded => FND_API.G_FALSE,
687 p_count => x_msg_count,
688 p_data => x_msg_data
689 );
690 End Lock_Offer_Performance;
691
692
693 PROCEDURE check_offer_perf_uk_items(
694 p_offer_perf_rec IN offer_perf_rec_type,
695 p_validation_mode IN VARCHAR2 := JTF_PLSQL_API.g_create,
696 x_return_status OUT NOCOPY VARCHAR2)
697 IS
698 l_valid_flag VARCHAR2(1);
699
700
701 BEGIN
702 x_return_status := FND_API.g_ret_sts_success;
703
704 ozf_utility_pvt.debug_message('inside uk='||p_validation_mode||''||p_offer_perf_rec.OFFER_PERFORMANCE_ID);
705 ozf_utility_pvt.debug_message('ins'||p_offer_perf_rec.PRODUCT_ATTRIBUTE);
706 ozf_utility_pvt.debug_message('ins'||p_offer_perf_rec.PRODUCT_ATTR_VALUE);
707 ozf_utility_pvt.debug_message('ins'||p_offer_perf_rec.CHANNEL_ID);
711 IF p_validation_mode = JTF_PLSQL_API.g_create THEN
708
709
710
712 l_valid_flag := ozf_utility_pvt.check_uniqueness(
713 'OZF_OFFER_PERFORMANCES',
714 ' PRODUCT_ATTRIBUTE ='||' '||p_offer_perf_rec.PRODUCT_ATTRIBUTE ||''||
715 ' AND PRODUCT_ATTR_VALUE ='||' '|| p_offer_perf_rec.PRODUCT_ATTR_VALUE||''||
716 ' AND CHANNEL_ID = '||' '|| p_offer_perf_rec.CHANNEL_ID||' '||
717 ' AND LIST_HEADER_ID = '||' '|| p_offer_perf_rec.LIST_HEADER_ID
718 );
719
720 ELSE
721 -- l_valid_flag := ozf_utility_pvt.check_uniqueness('OZF_OFFER_PERFORMANCES','OFFER_PERFORMANCE_ID = '||' '||p_offer_perf_rec.offer_performance_id||' '||
722 -- ' AND REQUIRED_FLAG = '||' '|| p_offer_perf_rec.REQUIRED_FLAG||''||
723 -- ' AND ESTIMATED_VALUE = '||' '|| p_offer_perf_rec.ESTIMATED_VALUE||' '||
724 -- ' AND START_DATE = '||' '|| p_offer_perf_rec.START_DATE||' '||
725 -- ' AND END_DATE = '||' '|| p_offer_perf_rec.END_DATE||' '
726 -- );
727 l_valid_flag := FND_API.g_true;
728 END IF;
729 ozf_utility_pvt.debug_message('inside uk middle');
730 IF l_valid_flag = FND_API.g_false THEN
731 ozf_utility_pvt.Error_Message(p_message_name => 'OZF_PERFORMANCE_ID_DUPLICATE');
732 x_return_status := FND_API.g_ret_sts_error;
733 RETURN;
734 END IF;
735 ozf_utility_pvt.debug_message('inside uk end');
736 END check_offer_perf_uk_items;
737
738 PROCEDURE check_offer_perf_req_items(
739 p_offer_perf_rec IN offer_perf_rec_type,
740 p_validation_mode IN VARCHAR2 := JTF_PLSQL_API.g_create,
741 x_return_status OUT NOCOPY VARCHAR2
742 )
743 IS
744 BEGIN
745 x_return_status := FND_API.g_ret_sts_success;
746
747 -- IF p_validation_mode = JTF_PLSQL_API.g_create THEN
748 -- ELSE
749 --END IF;
750 IF p_offer_perf_rec.channel_id = -1 THEN
751 IF p_offer_perf_rec.requirement_type IS NULL OR p_offer_perf_rec.requirement_type = fnd_api.g_miss_char THEN
752 ozf_utility_pvt.Error_Message('OZF', 'OZF_PERF_NO_REQ_TYPE');
753 x_return_status := FND_API.g_ret_sts_error;
754 END IF;
755
756 IF p_offer_perf_rec.estimated_value IS NULL OR p_offer_perf_rec.estimated_value = fnd_api.g_miss_num THEN
757 ozf_utility_pvt.Error_Message('OZF', 'OZF_PERF_NO_EST_VALUE');
758 x_return_status := FND_API.g_ret_sts_error;
759 END IF;
760 END IF;
761
762 IF p_offer_perf_rec.requirement_type = 'VOLUME' THEN
763 IF p_offer_perf_rec.uom_code IS NULL OR p_offer_perf_rec.uom_code = fnd_api.g_miss_char THEN
764 ozf_utility_pvt.Error_Message('OZF', 'OZF_PERF_NO_UOM');
765 x_return_status := FND_API.g_ret_sts_error;
766 END IF;
767 END IF;
768
769 END check_offer_perf_req_items;
770
771 PROCEDURE check_offer_perf_FK_items(
772 p_offer_perf_rec IN offer_perf_rec_type,
773 x_return_status OUT NOCOPY VARCHAR2
774 )
775 IS
776 BEGIN
777 x_return_status := FND_API.g_ret_sts_success;
778
779 -- Enter custom code here
780
781 END check_offer_perf_FK_items;
782
783 PROCEDURE check_offer_perf_Lookup_items(
784 p_offer_perf_rec IN offer_perf_rec_type,
785 x_return_status OUT NOCOPY VARCHAR2
786 )
787 IS
788 BEGIN
789 x_return_status := FND_API.g_ret_sts_success;
790
791 -- Enter custom code here
792
793 END check_offer_perf_Lookup_items;
794
795 PROCEDURE Check_offer_perf_Items (
796 P_offer_perf_rec IN offer_perf_rec_type,
797 p_validation_mode IN VARCHAR2,
798 x_return_status OUT NOCOPY VARCHAR2
799 )
800 IS
801 BEGIN
802
803 -- Check Items Uniqueness API calls
804 ozf_utility_pvt.debug_message('inside items validation mode='||p_validation_mode);
805 ozf_utility_pvt.debug_message('inside items validation mode='||p_validation_mode);
806
807
808 check_offer_perf_uk_items(
809 p_offer_perf_rec => p_offer_perf_rec,
810 p_validation_mode => p_validation_mode,
811 x_return_status => x_return_status);
812 IF x_return_status <> FND_API.g_ret_sts_success THEN
813 RETURN;
814 END IF;
815
816 -- Check Items Required/NOT NULL API calls
817
818 check_offer_perf_req_items(
819 p_offer_perf_rec => p_offer_perf_rec,
820 p_validation_mode => p_validation_mode,
821 x_return_status => x_return_status);
822 IF x_return_status <> FND_API.g_ret_sts_success THEN
823 RETURN;
824 END IF;
825 -- Check Items Foreign Keys API calls
826
827 check_offer_perf_FK_items(
828 p_offer_perf_rec => p_offer_perf_rec,
829 x_return_status => x_return_status);
830 IF x_return_status <> FND_API.g_ret_sts_success THEN
831 RETURN;
832 END IF;
833 -- Check Items Lookups
834
835 check_offer_perf_Lookup_items(
836 p_offer_perf_rec => p_offer_perf_rec,
837 x_return_status => x_return_status);
838 IF x_return_status <> FND_API.g_ret_sts_success THEN
839 RETURN;
840 END IF;
841
842 END Check_offer_perf_Items;
843
844
845
846 PROCEDURE Complete_offer_perf_Rec (
847 p_offer_perf_rec IN offer_perf_rec_type,
848 x_complete_rec OUT NOCOPY offer_perf_rec_type)
849 IS
850 l_return_status VARCHAR2(1);
851
855 WHERE offer_performance_id = p_offer_perf_rec.offer_performance_id;
852 CURSOR c_complete IS
853 SELECT *
854 FROM OZF_offer_performances
856 l_offer_perf_rec c_complete%ROWTYPE;
857 BEGIN
858 x_complete_rec := p_offer_perf_rec;
859
860
861 OPEN c_complete;
862 FETCH c_complete INTO l_offer_perf_rec;
863 CLOSE c_complete;
864
865 -- offer_performance_id
866 IF p_offer_perf_rec.offer_performance_id = FND_API.g_miss_num THEN
867 x_complete_rec.offer_performance_id := l_offer_perf_rec.offer_performance_id;
868 END IF;
869
870 -- list_header_id
871 IF p_offer_perf_rec.list_header_id = FND_API.g_miss_num THEN
872 x_complete_rec.list_header_id := l_offer_perf_rec.list_header_id;
873 END IF;
874
875 -- last_update_date
876 IF p_offer_perf_rec.last_update_date = FND_API.g_miss_date THEN
877 x_complete_rec.last_update_date := l_offer_perf_rec.last_update_date;
878 END IF;
879
880 -- last_updated_by
881 IF p_offer_perf_rec.last_updated_by = FND_API.g_miss_num THEN
882 x_complete_rec.last_updated_by := l_offer_perf_rec.last_updated_by;
883 END IF;
884
885 -- creation_date
886 IF p_offer_perf_rec.creation_date = FND_API.g_miss_date THEN
887 x_complete_rec.creation_date := l_offer_perf_rec.creation_date;
888 END IF;
889
890 -- created_by
891 IF p_offer_perf_rec.created_by = FND_API.g_miss_num THEN
892 x_complete_rec.created_by := l_offer_perf_rec.created_by;
893 END IF;
894
895 -- last_update_login
896 IF p_offer_perf_rec.last_update_login = FND_API.g_miss_num THEN
897 x_complete_rec.last_update_login := l_offer_perf_rec.last_update_login;
898 END IF;
899
900 -- object_version_number
901 IF p_offer_perf_rec.object_version_number = FND_API.g_miss_num THEN
902 x_complete_rec.object_version_number := l_offer_perf_rec.object_version_number;
903 END IF;
904
905 -- product_attribute_context
906 IF p_offer_perf_rec.product_attribute_context = FND_API.g_miss_char THEN
907 x_complete_rec.product_attribute_context := l_offer_perf_rec.product_attribute_context;
908 END IF;
909
910 -- product_attribute
911 IF p_offer_perf_rec.product_attribute = FND_API.g_miss_char THEN
912 x_complete_rec.product_attribute := l_offer_perf_rec.product_attribute;
913 END IF;
914
915 -- product_attr_value
916 IF p_offer_perf_rec.product_attr_value = FND_API.g_miss_char THEN
917 x_complete_rec.product_attr_value := l_offer_perf_rec.product_attr_value;
918 END IF;
919
920 -- channel_id
921 IF p_offer_perf_rec.channel_id = FND_API.g_miss_num THEN
922 x_complete_rec.channel_id := l_offer_perf_rec.channel_id;
923 END IF;
924
925 -- start_date
926 IF p_offer_perf_rec.start_date = FND_API.g_miss_date THEN
927 x_complete_rec.start_date := l_offer_perf_rec.start_date;
928 END IF;
929
930 -- end_date
931 IF p_offer_perf_rec.end_date = FND_API.g_miss_date THEN
932 x_complete_rec.end_date := l_offer_perf_rec.end_date;
933 END IF;
934
935 -- estimated_value
936 IF p_offer_perf_rec.estimated_value = FND_API.g_miss_num THEN
937 x_complete_rec.estimated_value := l_offer_perf_rec.estimated_value;
938 END IF;
939
940 -- required_flag
941 IF p_offer_perf_rec.required_flag = FND_API.g_miss_char THEN
942 x_complete_rec.required_flag := l_offer_perf_rec.required_flag;
943 END IF;
944
945 -- attribute_category
946 IF p_offer_perf_rec.attribute_category = FND_API.g_miss_char THEN
947 x_complete_rec.attribute_category := l_offer_perf_rec.attribute_category;
948 END IF;
949
950 -- attribute1
951 IF p_offer_perf_rec.attribute1 = FND_API.g_miss_char THEN
952 x_complete_rec.attribute1 := l_offer_perf_rec.attribute1;
953 END IF;
954
955 -- attribute2
956 IF p_offer_perf_rec.attribute2 = FND_API.g_miss_char THEN
957 x_complete_rec.attribute2 := l_offer_perf_rec.attribute2;
958 END IF;
959
960 -- attribute3
961 IF p_offer_perf_rec.attribute3 = FND_API.g_miss_char THEN
962 x_complete_rec.attribute3 := l_offer_perf_rec.attribute3;
963 END IF;
964
965 -- attribute4
966 IF p_offer_perf_rec.attribute4 = FND_API.g_miss_char THEN
967 x_complete_rec.attribute4 := l_offer_perf_rec.attribute4;
968 END IF;
969
970 -- attribute5
971 IF p_offer_perf_rec.attribute5 = FND_API.g_miss_char THEN
972 x_complete_rec.attribute5 := l_offer_perf_rec.attribute5;
973 END IF;
974
975 -- attribute6
976 IF p_offer_perf_rec.attribute6 = FND_API.g_miss_char THEN
977 x_complete_rec.attribute6 := l_offer_perf_rec.attribute6;
978 END IF;
979
980 -- attribute7
981 IF p_offer_perf_rec.attribute7 = FND_API.g_miss_char THEN
982 x_complete_rec.attribute7 := l_offer_perf_rec.attribute7;
983 END IF;
984
985 -- attribute8
986 IF p_offer_perf_rec.attribute8 = FND_API.g_miss_char THEN
987 x_complete_rec.attribute8 := l_offer_perf_rec.attribute8;
988 END IF;
989
990 -- attribute9
991 IF p_offer_perf_rec.attribute9 = FND_API.g_miss_char THEN
995 -- attribute10
992 x_complete_rec.attribute9 := l_offer_perf_rec.attribute9;
993 END IF;
994
996 IF p_offer_perf_rec.attribute10 = FND_API.g_miss_char THEN
997 x_complete_rec.attribute10 := l_offer_perf_rec.attribute10;
998 END IF;
999
1000 -- attribute11
1001 IF p_offer_perf_rec.attribute11 = FND_API.g_miss_char THEN
1002 x_complete_rec.attribute11 := l_offer_perf_rec.attribute11;
1003 END IF;
1004
1005 -- attribute12
1006 IF p_offer_perf_rec.attribute12 = FND_API.g_miss_char THEN
1007 x_complete_rec.attribute12 := l_offer_perf_rec.attribute12;
1008 END IF;
1009
1010 -- attribute13
1011 IF p_offer_perf_rec.attribute13 = FND_API.g_miss_char THEN
1012 x_complete_rec.attribute13 := l_offer_perf_rec.attribute13;
1013 END IF;
1014
1015 -- attribute14
1016 IF p_offer_perf_rec.attribute14 = FND_API.g_miss_char THEN
1017 x_complete_rec.attribute14 := l_offer_perf_rec.attribute14;
1018 END IF;
1019
1020 -- attribute15
1021 IF p_offer_perf_rec.attribute15 = FND_API.g_miss_char THEN
1022 x_complete_rec.attribute15 := l_offer_perf_rec.attribute15;
1023 END IF;
1024
1025 -- security_group_id
1026 IF p_offer_perf_rec.security_group_id = FND_API.g_miss_num THEN
1027 x_complete_rec.security_group_id := l_offer_perf_rec.security_group_id;
1028 END IF;
1029 -- Note: Developers need to modify the procedure
1030 -- to handle any business specific requirements.
1031 END Complete_offer_perf_Rec;
1032 PROCEDURE Validate_offer_performance(
1033 p_api_version_number IN NUMBER,
1034 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1035 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1036 p_offer_perf_rec IN offer_perf_rec_type,
1037 p_validation_mode IN VARCHAR2,
1038 x_return_status OUT NOCOPY VARCHAR2,
1039 x_msg_count OUT NOCOPY NUMBER,
1040 x_msg_data OUT NOCOPY VARCHAR2
1041 )
1042 IS
1043 L_API_NAME CONSTANT VARCHAR2(30) := 'Validate_Offer_Performance';
1044 L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
1045 l_object_version_number NUMBER;
1046 l_offer_perf_rec OZF_Offer_Performance_PVT.offer_perf_rec_type;
1047
1048 BEGIN
1049 -- Standard Start of API savepoint
1050 SAVEPOINT VALIDATE_Offer_Performance_;
1051
1052 -- Standard call to check for call compatibility.
1053 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
1054 p_api_version_number,
1055 l_api_name,
1056 G_PKG_NAME)
1057 THEN
1058 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1059 END IF;
1060
1061 -- Initialize message list if p_init_msg_list is set to TRUE.
1062 IF FND_API.to_Boolean( p_init_msg_list )
1063 THEN
1064 FND_MSG_PUB.initialize;
1065 END IF;
1066 IF p_validation_level >= JTF_PLSQL_API.g_valid_level_item THEN
1067 Check_offer_perf_Items(
1068 p_offer_perf_rec => p_offer_perf_rec,
1069 p_validation_mode => p_validation_mode,
1070 x_return_status => x_return_status
1071 );
1072
1073 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1074 RAISE FND_API.G_EXC_ERROR;
1075 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1076 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1077 END IF;
1078 END IF;
1079
1080 Complete_offer_perf_Rec(
1081 p_offer_perf_rec => p_offer_perf_rec,
1082 x_complete_rec => l_offer_perf_rec
1083 );
1084
1085 IF p_validation_level >= JTF_PLSQL_API.g_valid_level_item THEN
1086 Validate_offer_perf_Rec(
1087 p_api_version_number => 1.0,
1088 p_init_msg_list => FND_API.G_FALSE,
1089 x_return_status => x_return_status,
1090 x_msg_count => x_msg_count,
1091 x_msg_data => x_msg_data,
1092 p_offer_perf_rec => l_offer_perf_rec);
1093
1094 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1095 RAISE FND_API.G_EXC_ERROR;
1096 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1097 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1098 END IF;
1099 END IF;
1100
1101
1102 -- Debug Message
1103 ozf_utility_pvt.debug_message('Private API: ' || l_api_name || 'start');
1104
1105
1106 -- Initialize API return status to SUCCESS
1107 x_return_status := FND_API.G_RET_STS_SUCCESS;
1108
1109
1110 -- Debug Message
1111 ozf_utility_pvt.debug_message('Private API: ' || l_api_name || 'end');
1112
1113 -- Standard call to get message count and if count is 1, get message info.
1114 FND_MSG_PUB.Count_And_Get
1115 (p_count => x_msg_count,
1116 p_data => x_msg_data
1117 );
1118 EXCEPTION
1119
1120 WHEN ozf_utility_pvt.resource_locked THEN
1121 x_return_status := FND_API.g_ret_sts_error;
1125 ROLLBACK TO VALIDATE_Offer_Performance_;
1122 ozf_utility_pvt.Error_Message(p_message_name => 'OZF_API_RESOURCE_LOCKED');
1123
1124 WHEN FND_API.G_EXC_ERROR THEN
1126 x_return_status := FND_API.G_RET_STS_ERROR;
1127 -- Standard call to get message count and if count=1, get the message
1128 FND_MSG_PUB.Count_And_Get (
1129 p_encoded => FND_API.G_FALSE,
1130 p_count => x_msg_count,
1131 p_data => x_msg_data
1132 );
1133
1134 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1135 ROLLBACK TO VALIDATE_Offer_Performance_;
1136 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1137 -- Standard call to get message count and if count=1, get the message
1138 FND_MSG_PUB.Count_And_Get (
1139 p_encoded => FND_API.G_FALSE,
1140 p_count => x_msg_count,
1141 p_data => x_msg_data
1142 );
1143
1144 WHEN OTHERS THEN
1145 ROLLBACK TO VALIDATE_Offer_Performance_;
1146 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1147 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1148 THEN
1149 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
1150 END IF;
1151 -- Standard call to get message count and if count=1, get the message
1152 FND_MSG_PUB.Count_And_Get (
1153 p_encoded => FND_API.G_FALSE,
1154 p_count => x_msg_count,
1155 p_data => x_msg_data
1156 );
1157 End Validate_Offer_Performance;
1158
1159
1160 PROCEDURE Validate_offer_perf_rec(
1161 p_api_version_number IN NUMBER,
1162 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1163 x_return_status OUT NOCOPY VARCHAR2,
1164 x_msg_count OUT NOCOPY NUMBER,
1165 x_msg_data OUT NOCOPY VARCHAR2,
1166 p_offer_perf_rec IN offer_perf_rec_type
1167 )
1168 IS
1169 BEGIN
1170 -- Initialize message list if p_init_msg_list is set to TRUE.
1171 IF FND_API.to_Boolean( p_init_msg_list )
1172 THEN
1173 FND_MSG_PUB.initialize;
1174 END IF;
1175
1176 -- Initialize API return status to SUCCESS
1177 x_return_status := FND_API.G_RET_STS_SUCCESS;
1178
1179 -- Hint: Validate data
1180 -- If data not valid
1181 -- THEN
1182 -- x_return_status := FND_API.G_RET_STS_ERROR;
1183
1184 -- Debug Message
1185 ozf_utility_pvt.debug_message('Private API: Validate_dm_model_rec');
1186 -- Standard call to get message count and if count is 1, get message info.
1187 FND_MSG_PUB.Count_And_Get
1188 (p_count => x_msg_count,
1189 p_data => x_msg_data
1190 );
1191 END Validate_offer_perf_Rec;
1192
1193
1194 END OZF_Offer_Performance_PVT;