[Home] [Help]
PACKAGE BODY: APPS.OZF_PARTNER_CLAIM_GRP
Source
1 PACKAGE BODY OZF_PARTNER_CLAIM_GRP AS
2 /* $Header: ozfgpclb.pls 120.3 2005/10/05 00:22:30 kdhulipa ship $ */
3 -- Start of Comments
4 -- Package name : OZF_PARTNER_CLAIM_GRP
5 -- Purpose :
6 -- History :
7 -- NOTE :
8 -- End of Comments
9
10 G_PKG_NAME CONSTANT VARCHAR2(30) := 'OZF_PARTNER_CLAIM_GRP';
11 G_FILE_NAME CONSTANT VARCHAR2(12) := 'ozfgpclb.pls';
12
13 OZF_DEBUG_HIGH_ON CONSTANT BOOLEAN := FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_debug_high);
14 OZF_DEBUG_LOW_ON CONSTANT BOOLEAN := FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_debug_low);
15
16 ---------------------------------------------------------------------
17 -- PROCEDURE: Create_Claim
18 --
19 -- PURPOSE:
20 --
21 -- PARAMETERS:
22 -- IN
23 -- p_api_version_number IN NUMBER Required
24 -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
25 -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
26 -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
27 -- p_claim_rec IN CLAIM_REC_TYPE Required
28 -- p_promotion_activity_tbl IN PROMOTION_ACTIVITY_TBL_TYPE Required
29 --
30 -- OUT:
31 -- x_return_status OUT VARCHAR2
32 -- x_msg_count OUT NUMBER
33 -- x_msg_data OUT VARCHAR2
34 -- x_claim_id OUT NUMBER
35 -- x_claim_number OUT VARCHAR2
36 -- x_claim_amount OUT NUMBER
37 --
38 -- NOTES:
39 --
40 ---------------------------------------------------------------------
41 PROCEDURE Create_Claim(
42 p_api_version_number IN NUMBER,
43 p_init_msg_list IN VARCHAR2,
44 p_validation_level IN NUMBER,
45 p_commit IN VARCHAR2,
46
47 x_return_status OUT NOCOPY VARCHAR2,
48 x_msg_count OUT NOCOPY NUMBER,
49 x_msg_data OUT NOCOPY VARCHAR2,
50
51 p_claim_rec IN CLAIM_REC_TYPE,
52 p_promotion_activity_rec IN PROMOTION_ACTIVITY_REC_TYPE,
53 x_claim_id OUT NOCOPY NUMBER,
54 x_claim_number OUT NOCOPY VARCHAR2,
55 x_claim_amount OUT NOCOPY NUMBER
56 )
57 IS
58 l_api_version CONSTANT NUMBER := 1.0;
59 l_api_name CONSTANT VARCHAR2(30) := 'Create_Claim';
60 l_full_name CONSTANT VARCHAR2(60) := G_PKG_NAME||'.'||l_api_name;
61 l_return_status VARCHAR2(1);
62 ---
63 CURSOR csr_claim(cv_claim_id IN NUMBER) IS
64 SELECT claim_id
65 , claim_number
66 , amount
67 FROM ozf_claims_all
68 WHERE claim_id = cv_claim_id;
69
70 l_claim_pub_rec CLAIM_REC_TYPE := p_claim_rec;
71 l_claim_pvt_rec OZF_Claim_PVT.claim_rec_type;
72 l_funds_util_flt OZF_Claim_Accrual_PVT.funds_util_flt_type;
73 l_claim_id NUMBER;
74
75 -- [BEGIN OF BUG 4067282 FIXING]
76 l_session_org_id NUMBER;
77
78 CURSOR csr_utiz_order(cv_claim_id IN NUMBER) IS
79 SELECT ln.claim_line_id
80 , ut.object_type
81 , ut.object_id
82 FROM ozf_funds_utilized_all_b ut
83 , ozf_claim_lines_util_all lu
84 , ozf_claim_lines_all ln
85 WHERE ln.claim_id = cv_claim_id
86 AND ln.claim_line_id = lu.claim_line_id
87 AND lu.utilization_id = ut.utilization_id
88 AND ut.object_type = 'ORDER';
89
90 l_claim_line_id NUMBER;
91 l_source_object_class OZF_CLAIMS_ALL.source_object_class%TYPE;
92 l_source_object_id OZF_CLAIMS_ALL.source_object_id%TYPE;
93
94 -- [END OF BUG 4067282 FIXING]
95
96 BEGIN
97 -- Standard Start of API savepoint
98 SAVEPOINT Create_Partner_Claim;
99
100 IF OZF_DEBUG_HIGH_ON THEN
101 OZF_Utility_PVT.debug_message(l_full_name||': start');
102 END IF;
103
104 -- Standard call to check for call compatibility.
105 IF NOT FND_API.Compatible_API_Call ( l_api_version,
106 p_api_version_number,
107 l_api_name,
108 G_PKG_NAME ) THEN
109 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
110 END IF;
111
112 -- Initialize message list if p_init_msg_list is set to TRUE.
113 IF FND_API.to_Boolean( p_init_msg_list ) THEN
114 FND_MSG_PUB.initialize;
115 END IF;
116
117 -- Initialize API return status to SUCCESS
118 x_return_status := FND_API.G_RET_STS_SUCCESS;
119
120
121 -- Standard call to check for call compatibility.
122 IF NOT FND_API.Compatible_API_Call ( l_api_version,
123 p_api_version_number,
124 l_api_name,
125 G_PKG_NAME)
126 THEN
127 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
128 END IF;
129
130 -- Initialize message list if p_init_msg_list is set to TRUE.
131 IF FND_API.to_Boolean( p_init_msg_list ) THEN
132 FND_MSG_PUB.initialize;
133 END IF;
134
135 -- Debug Message
136 IF FND_MSG_PUB.Check_Msg_level (FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW) THEN
137 FND_MESSAGE.Set_Name('AMS','AMS_API_DEBUG_MESSAGE');
138 FND_MESSAGE.Set_Token('TEXT',l_full_name||': Start');
139 FND_MSG_PUB.Add;
140 END IF;
141
142 -- Initialize API return status to SUCCESS
143 x_return_status := FND_API.G_RET_STS_SUCCESS;
144
145 -- [BEGIN OF BUG 4067282 FIXING]
146 l_session_org_id := MO_GLOBAL.GET_CURRENT_ORG_ID(); -- R12 Enahancements.
147
148 IF p_claim_rec.org_id IS NOT NULL THEN
149 MO_GLOBAL.set_policy_context('S', p_claim_rec.org_id); -- R12 Enhancements
150 END IF;
151 -- [END OF BUG 4067282 FIXING]
152
153 -----------------------------
154 -- 1. Assignment Qualifier --
155 -----------------------------
156 -- raise business event
157 OZF_CLAIM_SETTLEMENT_PVT.Raise_Business_Event(
158 p_api_version => l_api_version
159 ,p_init_msg_list => FND_API.g_false
160 ,p_commit => FND_API.g_false
161 ,p_validation_level => FND_API.g_valid_level_full
162 ,x_return_status => l_return_status
163 ,x_msg_data => x_msg_data
164 ,x_msg_count => x_msg_count
165
166 ,p_claim_id => 000999
167 ,p_old_status => NULL
168 ,p_new_status => 'NEW'
169 ,p_event_name => 'oracle.apps.ozf.claim.assignQualifier'
170 );
171 IF l_return_status = FND_API.g_ret_sts_error THEN
172 RAISE FND_API.g_exc_error;
173 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
174 RAISE FND_API.g_exc_unexpected_error;
175 END IF;
176
177 -----------------------------------------
178 -- 2. Minimum required fields checking --
179 -----------------------------------------
180 -- First, check whether all the required fields are filled for deductions.
181 -- These fields are
182 -- cust_account_id
183 -- currency_code
184 -- source_object_id
185 -- source_object_class
186 -- source_object_number
187 IF l_claim_pub_rec.source_object_id IS NULL OR
188 l_claim_pub_rec.source_object_class IS NULL OR
189 l_claim_pub_rec.source_object_number IS NULL OR
190 l_claim_pub_rec.currency_code IS NULL OR
191 l_claim_pub_rec.cust_account_id IS NULL THEN
192 IF FND_MSG_PUB.Check_Msg_level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
193 FND_MESSAGE.Set_Name('OZF','OZF_REQUIRED_FIELDS_MISSING');
194 FND_MSG_PUB.Add;
195 END IF;
196 RAISE FND_API.G_EXC_ERROR;
197 END IF;
198
199 ------------------------------------------
200 -- 3. Default and derive column valude --
201 ------------------------------------------
202 l_claim_pvt_rec.claim_type_id := l_claim_pub_rec.claim_type_id;
203 l_claim_pvt_rec.claim_date := l_claim_pub_rec.claim_date;
204 l_claim_pvt_rec.due_date := l_claim_pub_rec.due_date;
205 l_claim_pvt_rec.gl_date := l_claim_pub_rec.gl_date;
206 l_claim_pvt_rec.owner_id := l_claim_pub_rec.owner_id;
207 l_claim_pvt_rec.amount := l_claim_pub_rec.amount;
208 l_claim_pvt_rec.currency_code := l_claim_pub_rec.currency_code;
209 l_claim_pvt_rec.exchange_rate_type := l_claim_pub_rec.exchange_rate_type;
210 l_claim_pvt_rec.exchange_rate_date := l_claim_pub_rec.exchange_rate_date;
211 l_claim_pvt_rec.exchange_rate := l_claim_pub_rec.exchange_rate;
212 l_claim_pvt_rec.set_of_books_id := l_claim_pub_rec.set_of_books_id;
213 l_claim_pvt_rec.source_object_id := l_claim_pub_rec.source_object_id;
214 l_claim_pvt_rec.source_object_class := l_claim_pub_rec.source_object_class;
215 l_claim_pvt_rec.source_object_type_id := l_claim_pub_rec.source_object_type_id;
216 l_claim_pvt_rec.source_object_number := l_claim_pub_rec.source_object_number;
217 l_claim_pvt_rec.cust_account_id := l_claim_pub_rec.cust_account_id;
218 l_claim_pvt_rec.cust_billto_acct_site_id := l_claim_pub_rec.cust_billto_acct_site_id;
219 l_claim_pvt_rec.cust_shipto_acct_site_id := l_claim_pub_rec.cust_shipto_acct_site_id;
220 l_claim_pvt_rec.related_cust_account_id := l_claim_pub_rec.pay_to_cust_account_id;
221 l_claim_pvt_rec.reason_code_id := l_claim_pub_rec.reason_code_id;
222 l_claim_pvt_rec.customer_reason := l_claim_pub_rec.customer_reason;
223 l_claim_pvt_rec.status_code := l_claim_pub_rec.status_code;
224 l_claim_pvt_rec.user_status_id := l_claim_pub_rec.user_status_id;
225 l_claim_pvt_rec.sales_rep_id := l_claim_pub_rec.sales_rep_id;
226 l_claim_pvt_rec.collector_id := l_claim_pub_rec.collector_id;
227 l_claim_pvt_rec.contact_id := l_claim_pub_rec.contact_id;
228 l_claim_pvt_rec.broker_id := l_claim_pub_rec.broker_id;
229 l_claim_pvt_rec.customer_ref_date := l_claim_pub_rec.customer_ref_date;
230 l_claim_pvt_rec.customer_ref_number := l_claim_pub_rec.customer_ref_number;
231 l_claim_pvt_rec.comments := l_claim_pub_rec.comments;
232 l_claim_pvt_rec.attribute_category := l_claim_pub_rec.attribute_category;
233 l_claim_pvt_rec.attribute1 := l_claim_pub_rec.attribute1;
234 l_claim_pvt_rec.attribute2 := l_claim_pub_rec.attribute2;
235 l_claim_pvt_rec.attribute3 := l_claim_pub_rec.attribute3;
236 l_claim_pvt_rec.attribute4 := l_claim_pub_rec.attribute4;
237 l_claim_pvt_rec.attribute5 := l_claim_pub_rec.attribute5;
238 l_claim_pvt_rec.attribute6 := l_claim_pub_rec.attribute6;
239 l_claim_pvt_rec.attribute7 := l_claim_pub_rec.attribute7;
240 l_claim_pvt_rec.attribute8 := l_claim_pub_rec.attribute8;
241 l_claim_pvt_rec.attribute9 := l_claim_pub_rec.attribute9;
242 l_claim_pvt_rec.attribute10 := l_claim_pub_rec.attribute10;
243 l_claim_pvt_rec.attribute11 := l_claim_pub_rec.attribute11;
244 l_claim_pvt_rec.attribute12 := l_claim_pub_rec.attribute12;
245 l_claim_pvt_rec.attribute13 := l_claim_pub_rec.attribute13;
246 l_claim_pvt_rec.attribute14 := l_claim_pub_rec.attribute14;
247 l_claim_pvt_rec.attribute15 := l_claim_pub_rec.attribute15;
248 l_claim_pvt_rec.org_id := l_claim_pub_rec.org_id;
249
250 l_funds_util_flt.activity_type := 'OFFR';
251 l_funds_util_flt.activity_id := p_promotion_activity_rec.offer_id;
252 l_funds_util_flt.activity_product_id := p_promotion_activity_rec.item_id;
253 l_funds_util_flt.reference_type := p_promotion_activity_rec.reference_type;
254 l_funds_util_flt.reference_id := p_promotion_activity_rec.reference_id;
255
256
257 ------------------------------------------
258 -- 4. Call OZF_CLAIM_ACCRUL_PVT
259 ------------------------------------------
260 OZF_Claim_Accrual_PVT.Create_Claim_For_Accruals(
261 p_api_version => l_api_version
262 ,p_init_msg_list => FND_API.g_false
263 ,p_commit => FND_API.g_false
264 ,p_validation_level => FND_API.g_valid_level_full
265
266 ,x_return_status => l_return_status
267 ,x_msg_count => x_msg_count
268 ,x_msg_data => x_msg_data
269
270 ,p_claim_rec => l_claim_pvt_rec
271 ,p_funds_util_flt => l_funds_util_flt
272
273 ,x_claim_id => l_claim_id
274 );
275 IF l_return_status = FND_API.g_ret_sts_error THEN
276 RAISE FND_API.g_exc_error;
277 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
278 RAISE FND_API.g_exc_unexpected_error;
279 END IF;
280
281 -- [BEGIN OF BUG 4067282 FIXING]: Update Claim Line with Order information
282 -- Assumption: per referral claim <--> per order
283 -- Fix for Bug4576309: Replaced call to table handler with a direct update
284 OPEN csr_utiz_order(l_claim_id);
285 LOOP
286 FETCH csr_utiz_order INTO l_claim_line_id
287 , l_source_object_class
288 , l_source_object_id;
289 EXIT WHEN csr_utiz_order%NOTFOUND;
290 IF l_source_object_id IS NOT NULL THEN
291 UPDATE ozf_claim_lines_all
292 SET source_object_class = l_source_object_class,
293 source_object_id = l_source_object_id,
294 object_version_number = object_version_number + 1
295 WHERE claim_line_id = l_claim_line_id;
296 END IF;
297 END LOOP;
298 CLOSE csr_utiz_order;
299
300 -- [END OF BUG 4067282 FIXING]
301
302
303 OPEN csr_claim(l_claim_id);
304 FETCH csr_claim INTO x_claim_id
305 , x_claim_number
306 , x_claim_amount;
307 CLOSE csr_claim;
308
309 -- [BEGIN OF BUG 4067282 FIXING]
310 IF l_session_org_id IS NOT NULL THEN
311 MO_GLOBAL.set_policy_context('S', l_session_org_id); -- R12 Enhancements
312 ELSE
313 MO_GLOBAL.set_policy_context('M', NULL); -- BUG 4650224
314 END IF;
315 -- [END OF BUG 4067282 FIXING]
316
317
318 -- Standard check for p_commit
319 IF FND_API.to_Boolean(p_commit) THEN
320 COMMIT WORK;
321 END IF;
322
323 -- Debug Message
324 IF FND_MSG_PUB.Check_Msg_level (FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW) THEN
325 FND_MESSAGE.Set_Name('OZF','OZF_API_DEBUG_MESSAGE');
326 FND_MESSAGE.Set_Token('TEXT',l_full_name||': End');
327 FND_MSG_PUB.Add;
328 END IF;
329
330 -- Standard call to get message count and if count is 1, get message info.
331 FND_MSG_PUB.Count_And_Get(
332 p_count => x_msg_count,
333 p_data => x_msg_data
334 );
335
336 IF OZF_DEBUG_HIGH_ON THEN
337 OZF_Utility_PVT.debug_message(l_full_name ||': end');
338 END IF;
339
340 EXCEPTION
341 WHEN FND_API.G_EXC_ERROR THEN
342 ROLLBACK TO Create_Partner_Claim;
343 x_return_status := FND_API.G_RET_STS_ERROR;
344 FND_MSG_PUB.Count_And_Get (
345 p_encoded => FND_API.G_FALSE,
346 p_count => x_msg_count,
347 p_data => x_msg_data
348 );
349
350 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
351 ROLLBACK TO Create_Partner_Claim;
352 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
353 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
354 FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_CRE_DEDU_ERR');
355 FND_MSG_PUB.add;
356 END IF;
357 FND_MSG_PUB.Count_And_Get (
358 p_encoded => FND_API.G_FALSE,
359 p_count => x_msg_count,
360 p_data => x_msg_data
361 );
362
363 WHEN OTHERS THEN
364 ROLLBACK TO Create_Partner_Claim;
365 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
366 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
367 FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_CRE_DEDU_ERR');
368 FND_MSG_PUB.add;
369 END IF;
370 FND_MSG_PUB.Count_And_Get (
371 p_encoded => FND_API.G_FALSE,
372 p_count => x_msg_count,
373 p_data => x_msg_data
374 );
375
376 End Create_Claim;
377
378
379 ---------------------------------------------------------------------
380 -- PROCEDURE: Update_Claim
381 --
382 -- PURPOSE:
383 --
384 -- PARAMETERS:
385 -- IN:
386 -- p_api_version_number IN NUMBER Required
387 -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
388 -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
389 -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
390 -- P_claim_id IN NUMBER Required
391 -- P_status_code IN VARCHAR2 Required
392 -- P_note_type IN VARCHAR2 Optional Default = NULL
393 -- p_note_detail IN VARCHAR2 Optional Default = NULL
394 --
395 -- OUT:
396 -- x_return_status OUT NOCOPY VARCHAR2
397 -- x_msg_count OUT NOCOPY NUMBER
398 -- x_msg_data OUT NOCOPY VARCHAR2
399 --
400 -- Note:
401 --
402 ---------------------------------------------------------------------
403 PROCEDURE Update_Claim(
404 p_api_version_number IN NUMBER,
405 p_init_msg_list IN VARCHAR2,
406 p_validation_level IN NUMBER,
407 p_commit IN VARCHAR2,
408
409 x_return_status OUT NOCOPY VARCHAR2,
410 x_msg_count OUT NOCOPY NUMBER,
411 x_msg_data OUT NOCOPY VARCHAR2,
412
413 p_claim_id IN NUMBER,
414 p_status_code IN VARCHAR2,
415 p_comments IN VARCHAR2,
416 p_note_type IN VARCHAR2,
417 p_note_detail IN VARCHAR2
418 )
419 IS
420 l_api_version CONSTANT NUMBER := 1.0;
421 l_api_name CONSTANT VARCHAR2(30) := 'Update_Claim';
422 l_full_name CONSTANT VARCHAR2(60) := G_PKG_NAME||'.'||l_api_name;
423 l_return_status VARCHAR2(1);
424 --
425 l_dummy_number NUMBER;
426 l_status_code VARCHAR2(30);
427 l_claim_pvt_rec OZF_Claim_PVT.claim_rec_type;
428 l_x_note_id NUMBER;
429
430 CURSOR csr_claim_status(cv_status_code IN VARCHAR2) IS
431 SELECT lookup_code
432 FROM ozf_lookups
433 WHERE lookup_type = 'OZF_CLAIM_STATUS';
434
435 CURSOR csr_claim_obj_num(cv_claim_id IN NUMBER) IS
436 SELECT object_version_number
437 , org_id
438 FROM ozf_claims_all
439 WHERE claim_id = cv_claim_id;
440
441
442 -- [BEGIN OF BUG 4067282 FIXING]
443 l_session_org_id NUMBER;
444 l_claim_org_id NUMBER;
445 -- [END OF BUG 4067282 FIXING]
446
447
448 BEGIN
449 -- Standard Start of API savepoint
450 SAVEPOINT Update_Partner_Claim;
451
452 IF OZF_DEBUG_HIGH_ON THEN
453 OZF_Utility_PVT.debug_message(l_full_name||': start');
454 END IF;
455
456 -- Standard call to check for call compatibility.
457 IF NOT FND_API.Compatible_API_Call ( l_api_version,
458 p_api_version_number,
459 l_api_name,
460 G_PKG_NAME ) THEN
461 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
462 END IF;
463
464 -- Initialize message list if p_init_msg_list is set to TRUE.
465 IF FND_API.to_Boolean( p_init_msg_list ) THEN
466 FND_MSG_PUB.initialize;
467 END IF;
468
469 -- Initialize API return status to SUCCESS
470 x_return_status := FND_API.G_RET_STS_SUCCESS;
471
472 -----------------------------------------
473 -- 1. Minimum required fields checking --
474 -----------------------------------------
475 IF p_claim_id IS NULL OR
476 p_status_code IS NULL THEN
477 IF FND_MSG_PUB.Check_Msg_level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
478 FND_MESSAGE.Set_Name('OZF','OZF_REQUIRED_FIELDS_MISSING');
479 FND_MSG_PUB.Add;
480 END IF;
481 RAISE FND_API.G_EXC_ERROR;
482 ELSE
483 OPEN csr_claim_status(p_status_code);
484 FETCH csr_claim_status INTO l_status_code;
485 CLOSE csr_claim_status;
486 IF l_status_code IS NULL THEN
487 IF FND_MSG_PUB.Check_Msg_level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
488 FND_MESSAGE.Set_Name('OZF','OZF_CLAIM_INVALID_STATUS');
489 FND_MSG_PUB.Add;
490 END IF;
491 RAISE FND_API.G_EXC_ERROR;
492 END IF;
493 END IF;
494
495 -----------------------------------------
496 -- 2. Update Claim
497 -----------------------------------------
498 IF OZF_DEBUG_HIGH_ON THEN
499 OZF_Utility_PVT.debug_message('1. Update Claim');
500 END IF;
501
502 l_claim_pvt_rec.claim_id := p_claim_id;
503
504 OPEN csr_claim_obj_num(p_claim_id);
505 FETCH csr_claim_obj_num INTO l_claim_pvt_rec.object_version_number
506 , l_claim_org_id;
507 CLOSE csr_claim_obj_num;
508
509 -- [BEGIN OF BUG 4067282 FIXING]
510 l_session_org_id := MO_GLOBAL.GET_CURRENT_ORG_ID(); -- R12 Enahancements.
511
512 IF l_claim_org_id IS NOT NULL THEN
513 MO_GLOBAL.set_policy_context('S', l_claim_org_id); -- R12 Enhancements, BUG 4650224
514 END IF;
515 -- [END OF BUG 4067282 FIXING]
516
517 IF p_status_code = 'APPROVED' THEN
518 BEGIN
519 UPDATE ozf_claims_all
520 SET status_code = 'APPROVED'
521 , user_status_id = OZF_UTILITY_PVT.get_default_user_status('OZF_CLAIM_STATUS', 'APPROVED')
522 WHERE claim_id = p_claim_id;
523 EXCEPTION
524 WHEN OTHERS THEN
525 IF OZF_DEBUG_LOW_ON THEN
526 FND_MESSAGE.Set_Name('OZF','OZF_API_DEBUG_MESSAGE');
527 FND_MESSAGE.Set_Token('TEXT',sqlerrm);
528 FND_MSG_PUB.Add;
529 END IF;
530 RAISE FND_API.g_exc_unexpected_error;
531 END;
532 l_claim_pvt_rec.status_code := 'CLOSED';
533 ELSE
534 l_claim_pvt_rec.status_code := p_status_code;
535 END IF;
536
537 l_claim_pvt_rec.comments := SUBSTR(p_comments, 1, 2000);
538
539 OZF_claim_PVT.Update_Claim (
540 p_api_version => l_api_version
541 ,p_init_msg_list => FND_API.G_FALSE
542 ,p_commit => FND_API.G_FALSE
543 ,p_validation_level => FND_API.G_VALID_LEVEL_FULL
544 ,x_return_status => l_return_status
545 ,x_msg_data => x_msg_data
546 ,x_msg_count => x_msg_count
547 ,p_claim => l_claim_pvt_rec
548 ,p_event => 'UPDATE'
549 ,p_mode => OZF_Claim_Utility_PVT.G_AUTO_MODE
550 ,x_object_version_number => l_dummy_number
551 );
552 IF l_return_status = FND_API.g_ret_sts_error THEN
553 RAISE FND_API.g_exc_error;
554 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
555 RAISE FND_API.g_exc_unexpected_error;
556 END IF;
557
558 -----------------------------------------
559 -- 3. Create Note
560 -----------------------------------------
561 IF p_note_detail IS NOT NULL THEN
562 IF OZF_DEBUG_HIGH_ON THEN
563 OZF_Utility_PVT.debug_message('2. Create Note');
564 END IF;
565
566 JTF_NOTES_PUB.Create_Note(
567 p_api_version => l_api_version
568 ,x_return_status => l_return_status
569 ,x_msg_count => x_msg_count
570 ,x_msg_data => x_msg_data
571 ,p_source_object_id => p_claim_id
572 ,p_source_object_code => 'AMS_CLAM'
573 ,p_notes => p_note_detail
574 ,p_note_status => NULL
575 ,p_entered_by => FND_GLOBAL.user_id
576 ,p_entered_date => SYSDATE
577 ,p_last_updated_by => FND_GLOBAL.user_id
578 ,x_jtf_note_id => l_x_note_id
579 ,p_note_type => p_note_type
580 ,p_last_update_date => SYSDATE
581 ,p_creation_date => SYSDATE
582 );
583 IF l_return_status = FND_API.g_ret_sts_error THEN
584 RAISE FND_API.g_exc_error;
585 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
586 RAISE FND_API.g_exc_unexpected_error;
587 END IF;
588 END IF;
589
590 -- [BEGIN OF BUG 4067282 FIXING]
591 IF l_session_org_id IS NOT NULL THEN
592 MO_GLOBAL.set_policy_context('S', l_session_org_id); -- R12 Enhancements
593 ELSE
594 MO_GLOBAL.set_policy_context('M', NULL); -- BUG 4650224
595 END IF;
596 -- [END OF BUG 4067282 FIXING]
597
598 -- Standard check for p_commit
599 IF FND_API.to_Boolean(p_commit) THEN
600 COMMIT WORK;
601 END IF;
602
603 -- Standard call to get message count and if count is 1, get message info.
604 FND_MSG_PUB.Count_And_Get(
605 p_count => x_msg_count,
606 p_data => x_msg_data
607 );
608
609 IF OZF_DEBUG_HIGH_ON THEN
610 OZF_Utility_PVT.debug_message(l_full_name||': start');
611 END IF;
612
613 EXCEPTION
614 WHEN FND_API.G_EXC_ERROR THEN
615 ROLLBACK TO Update_Partner_Claim;
616 x_return_status := FND_API.G_RET_STS_ERROR;
617 FND_MSG_PUB.Count_And_Get (
618 p_encoded => FND_API.G_FALSE,
619 p_count => x_msg_count,
620 p_data => x_msg_data
621 );
622
623 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
624 ROLLBACK TO Update_Partner_Claim;
625 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
626 FND_MSG_PUB.Count_And_Get (
627 p_encoded => FND_API.G_FALSE,
628 p_count => x_msg_count,
629 p_data => x_msg_data
630 );
631
632 WHEN OTHERS THEN
633 ROLLBACK TO Update_Partner_Claim;
634 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
635 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
636 FND_MESSAGE.set_name('AMS', 'AMS_CLAIM_UPD_DEDU_ERR');
637 FND_MSG_PUB.add;
638 END IF;
639 FND_MSG_PUB.Count_And_Get (
640 p_encoded => FND_API.G_FALSE,
641 p_count => x_msg_count,
642 p_data => x_msg_data
643 );
644
645 End Update_Claim;
646
647
648 END OZF_PARTNER_CLAIM_GRP;