25: -- FUNCTION
26: -- Compare_Line_Items
27: --
28: -- NOTES
29: -- 1. Compare_Line_Items function will return FND_API.g_true/false;
30: -- 2. Return FND_API.g_true: Compare is the same;
31: -- 3. Return FND_API.g_false: Compare is not the same;
32: --
33: -- HISTORY
26: -- Compare_Line_Items
27: --
28: -- NOTES
29: -- 1. Compare_Line_Items function will return FND_API.g_true/false;
30: -- 2. Return FND_API.g_true: Compare is the same;
31: -- 3. Return FND_API.g_false: Compare is not the same;
32: --
33: -- HISTORY
34: -- 02/01/2001 mchang Created.
27: --
28: -- NOTES
29: -- 1. Compare_Line_Items function will return FND_API.g_true/false;
30: -- 2. Return FND_API.g_true: Compare is the same;
31: -- 3. Return FND_API.g_false: Compare is not the same;
32: --
33: -- HISTORY
34: -- 02/01/2001 mchang Created.
35: -- 07/02/2001 mchang Incorporated with AMS_COLUMN_RULES to look up history
52: AND object_type = 'CLAM'
53: AND object_attribute = cv_object_attribute;
54:
55: l_line_hist_col VARCHAR2(80);
56: l_return VARCHAR2(1) := FND_API.g_true;
57:
58: BEGIN
59: OPEN csr_user_hist_cols(p_object_attribute);
60: LOOP
59: OPEN csr_user_hist_cols(p_object_attribute);
60: LOOP
61: FETCH csr_user_hist_cols INTO l_line_hist_col;
62: EXIT WHEN csr_user_hist_cols%NOTFOUND;
63: EXIT WHEN l_return = FND_API.g_false;
64: IF l_line_hist_col = 'VALID_FLAG' AND
65: p_old_rec.valid_flag <> p_new_rec.valid_flag THEN
66: l_return := FND_API.g_false;
67: ELSIF l_line_hist_col = 'PERFORMANCE_COMPLETE_FLAG' AND
62: EXIT WHEN csr_user_hist_cols%NOTFOUND;
63: EXIT WHEN l_return = FND_API.g_false;
64: IF l_line_hist_col = 'VALID_FLAG' AND
65: p_old_rec.valid_flag <> p_new_rec.valid_flag THEN
66: l_return := FND_API.g_false;
67: ELSIF l_line_hist_col = 'PERFORMANCE_COMPLETE_FLAG' AND
68: p_old_rec.performance_complete_flag <> p_new_rec.performance_complete_flag THEN
69: l_return := FND_API.g_false;
70: ELSIF l_line_hist_col = 'PERFORMANCE_ATTACHED_FLAG' AND
65: p_old_rec.valid_flag <> p_new_rec.valid_flag THEN
66: l_return := FND_API.g_false;
67: ELSIF l_line_hist_col = 'PERFORMANCE_COMPLETE_FLAG' AND
68: p_old_rec.performance_complete_flag <> p_new_rec.performance_complete_flag THEN
69: l_return := FND_API.g_false;
70: ELSIF l_line_hist_col = 'PERFORMANCE_ATTACHED_FLAG' AND
71: p_old_rec.performance_attached_flag <> p_new_rec.performance_attached_flag THEN
72: l_return := FND_API.g_false;
73: ELSIF l_line_hist_col = 'EARNINGS_ASSOCIATED_FLAG' AND
68: p_old_rec.performance_complete_flag <> p_new_rec.performance_complete_flag THEN
69: l_return := FND_API.g_false;
70: ELSIF l_line_hist_col = 'PERFORMANCE_ATTACHED_FLAG' AND
71: p_old_rec.performance_attached_flag <> p_new_rec.performance_attached_flag THEN
72: l_return := FND_API.g_false;
73: ELSIF l_line_hist_col = 'EARNINGS_ASSOCIATED_FLAG' AND
74: p_old_rec.earnings_associated_flag <> p_new_rec.earnings_associated_flag THEN
75: l_return := FND_API.g_false;
76: ELSIF l_line_hist_col = 'CLAIM_CURRENCY_AMOUNT' AND
71: p_old_rec.performance_attached_flag <> p_new_rec.performance_attached_flag THEN
72: l_return := FND_API.g_false;
73: ELSIF l_line_hist_col = 'EARNINGS_ASSOCIATED_FLAG' AND
74: p_old_rec.earnings_associated_flag <> p_new_rec.earnings_associated_flag THEN
75: l_return := FND_API.g_false;
76: ELSIF l_line_hist_col = 'CLAIM_CURRENCY_AMOUNT' AND
77: p_old_rec.claim_currency_amount <> p_new_rec.claim_currency_amount THEN
78: l_return := FND_API.g_false;
79: ELSIF l_line_hist_col = 'ACTIVITY_TYPE' AND
74: p_old_rec.earnings_associated_flag <> p_new_rec.earnings_associated_flag THEN
75: l_return := FND_API.g_false;
76: ELSIF l_line_hist_col = 'CLAIM_CURRENCY_AMOUNT' AND
77: p_old_rec.claim_currency_amount <> p_new_rec.claim_currency_amount THEN
78: l_return := FND_API.g_false;
79: ELSIF l_line_hist_col = 'ACTIVITY_TYPE' AND
80: p_old_rec.activity_type <> p_new_rec.activity_type THEN
81: l_return := FND_API.g_false;
82: ELSIF l_line_hist_col = 'ACTIVITY_ID' AND
77: p_old_rec.claim_currency_amount <> p_new_rec.claim_currency_amount THEN
78: l_return := FND_API.g_false;
79: ELSIF l_line_hist_col = 'ACTIVITY_TYPE' AND
80: p_old_rec.activity_type <> p_new_rec.activity_type THEN
81: l_return := FND_API.g_false;
82: ELSIF l_line_hist_col = 'ACTIVITY_ID' AND
83: p_old_rec.activity_id <> p_new_rec.activity_id THEN
84: l_return := FND_API.g_false;
85: ELSIF l_line_hist_col = 'PLAN_ID' AND
80: p_old_rec.activity_type <> p_new_rec.activity_type THEN
81: l_return := FND_API.g_false;
82: ELSIF l_line_hist_col = 'ACTIVITY_ID' AND
83: p_old_rec.activity_id <> p_new_rec.activity_id THEN
84: l_return := FND_API.g_false;
85: ELSIF l_line_hist_col = 'PLAN_ID' AND
86: p_old_rec.plan_id <> p_new_rec.plan_id THEN
87: l_return := FND_API.g_false;
88: ELSIF l_line_hist_col = 'OFFER_ID' AND
83: p_old_rec.activity_id <> p_new_rec.activity_id THEN
84: l_return := FND_API.g_false;
85: ELSIF l_line_hist_col = 'PLAN_ID' AND
86: p_old_rec.plan_id <> p_new_rec.plan_id THEN
87: l_return := FND_API.g_false;
88: ELSIF l_line_hist_col = 'OFFER_ID' AND
89: p_old_rec.offer_id <> p_new_rec.offer_id THEN
90: l_return := FND_API.g_false;
91: ELSIF l_line_hist_col = 'SOURCE_OBJECT_ID' AND
86: p_old_rec.plan_id <> p_new_rec.plan_id THEN
87: l_return := FND_API.g_false;
88: ELSIF l_line_hist_col = 'OFFER_ID' AND
89: p_old_rec.offer_id <> p_new_rec.offer_id THEN
90: l_return := FND_API.g_false;
91: ELSIF l_line_hist_col = 'SOURCE_OBJECT_ID' AND
92: p_old_rec.source_object_id <> p_new_rec.source_object_id THEN
93: l_return := FND_API.g_false;
94: ELSIF l_line_hist_col = 'SOURCE_OBJECT_LINE_ID' AND
89: p_old_rec.offer_id <> p_new_rec.offer_id THEN
90: l_return := FND_API.g_false;
91: ELSIF l_line_hist_col = 'SOURCE_OBJECT_ID' AND
92: p_old_rec.source_object_id <> p_new_rec.source_object_id THEN
93: l_return := FND_API.g_false;
94: ELSIF l_line_hist_col = 'SOURCE_OBJECT_LINE_ID' AND
95: p_old_rec.source_object_line_id <> p_new_rec.source_object_line_id THEN
96: l_return := FND_API.g_false;
97: ELSIF l_line_hist_col = 'SOURCE_OBJECT_CLASS' AND
92: p_old_rec.source_object_id <> p_new_rec.source_object_id THEN
93: l_return := FND_API.g_false;
94: ELSIF l_line_hist_col = 'SOURCE_OBJECT_LINE_ID' AND
95: p_old_rec.source_object_line_id <> p_new_rec.source_object_line_id THEN
96: l_return := FND_API.g_false;
97: ELSIF l_line_hist_col = 'SOURCE_OBJECT_CLASS' AND
98: p_old_rec.source_object_class <> p_new_rec.source_object_class THEN
99: l_return := FND_API.g_false;
100: ELSIF l_line_hist_col = 'QUANTITY' AND
95: p_old_rec.source_object_line_id <> p_new_rec.source_object_line_id THEN
96: l_return := FND_API.g_false;
97: ELSIF l_line_hist_col = 'SOURCE_OBJECT_CLASS' AND
98: p_old_rec.source_object_class <> p_new_rec.source_object_class THEN
99: l_return := FND_API.g_false;
100: ELSIF l_line_hist_col = 'QUANTITY' AND
101: p_old_rec.quantity <> p_new_rec.quantity THEN
102: l_return := FND_API.g_false;
103: ELSIF l_line_hist_col = 'RATE' AND
98: p_old_rec.source_object_class <> p_new_rec.source_object_class THEN
99: l_return := FND_API.g_false;
100: ELSIF l_line_hist_col = 'QUANTITY' AND
101: p_old_rec.quantity <> p_new_rec.quantity THEN
102: l_return := FND_API.g_false;
103: ELSIF l_line_hist_col = 'RATE' AND
104: p_old_rec.rate <> p_new_rec.rate THEN
105: l_return := FND_API.g_false;
106: ELSIF l_line_hist_col = 'QUANTITY_UOM' AND
101: p_old_rec.quantity <> p_new_rec.quantity THEN
102: l_return := FND_API.g_false;
103: ELSIF l_line_hist_col = 'RATE' AND
104: p_old_rec.rate <> p_new_rec.rate THEN
105: l_return := FND_API.g_false;
106: ELSIF l_line_hist_col = 'QUANTITY_UOM' AND
107: p_old_rec.quantity_uom <> p_new_rec.quantity_uom THEN
108: l_return := FND_API.g_false;
109: ELSIF l_line_hist_col = 'ITEM_ID' AND
104: p_old_rec.rate <> p_new_rec.rate THEN
105: l_return := FND_API.g_false;
106: ELSIF l_line_hist_col = 'QUANTITY_UOM' AND
107: p_old_rec.quantity_uom <> p_new_rec.quantity_uom THEN
108: l_return := FND_API.g_false;
109: ELSIF l_line_hist_col = 'ITEM_ID' AND
110: p_old_rec.item_id <> p_new_rec.item_id THEN
111: l_return := FND_API.g_false;
112: ELSIF l_line_hist_col = 'ITEM_DESCRIPTION' AND
107: p_old_rec.quantity_uom <> p_new_rec.quantity_uom THEN
108: l_return := FND_API.g_false;
109: ELSIF l_line_hist_col = 'ITEM_ID' AND
110: p_old_rec.item_id <> p_new_rec.item_id THEN
111: l_return := FND_API.g_false;
112: ELSIF l_line_hist_col = 'ITEM_DESCRIPTION' AND
113: p_old_rec.item_description <> p_new_rec.item_description THEN
114: l_return := FND_API.g_false;
115: ELSIF l_line_hist_col = 'COMMENTS' AND
110: p_old_rec.item_id <> p_new_rec.item_id THEN
111: l_return := FND_API.g_false;
112: ELSIF l_line_hist_col = 'ITEM_DESCRIPTION' AND
113: p_old_rec.item_description <> p_new_rec.item_description THEN
114: l_return := FND_API.g_false;
115: ELSIF l_line_hist_col = 'COMMENTS' AND
116: p_old_rec.comments <> p_new_rec.comments THEN
117: l_return := FND_API.g_false;
118: ELSIF l_line_hist_col = 'TAX_CODE' AND
113: p_old_rec.item_description <> p_new_rec.item_description THEN
114: l_return := FND_API.g_false;
115: ELSIF l_line_hist_col = 'COMMENTS' AND
116: p_old_rec.comments <> p_new_rec.comments THEN
117: l_return := FND_API.g_false;
118: ELSIF l_line_hist_col = 'TAX_CODE' AND
119: p_old_rec.tax_code <> p_new_rec.tax_code THEN
120: l_return := FND_API.g_false;
121: ELSIF l_line_hist_col = 'CREDIT_TO' AND
116: p_old_rec.comments <> p_new_rec.comments THEN
117: l_return := FND_API.g_false;
118: ELSIF l_line_hist_col = 'TAX_CODE' AND
119: p_old_rec.tax_code <> p_new_rec.tax_code THEN
120: l_return := FND_API.g_false;
121: ELSIF l_line_hist_col = 'CREDIT_TO' AND
122: p_old_rec.credit_to <> p_new_rec.credit_to THEN
123: l_return := FND_API.g_false;
124: -- ELSE
119: p_old_rec.tax_code <> p_new_rec.tax_code THEN
120: l_return := FND_API.g_false;
121: ELSIF l_line_hist_col = 'CREDIT_TO' AND
122: p_old_rec.credit_to <> p_new_rec.credit_to THEN
123: l_return := FND_API.g_false;
124: -- ELSE
125: -- l_return := FND_API.g_true;
126: END IF;
127: END LOOP;
121: ELSIF l_line_hist_col = 'CREDIT_TO' AND
122: p_old_rec.credit_to <> p_new_rec.credit_to THEN
123: l_return := FND_API.g_false;
124: -- ELSE
125: -- l_return := FND_API.g_true;
126: END IF;
127: END LOOP;
128: CLOSE csr_user_hist_cols;
129:
158:
159: l_default_uom varchar2(30);
160: BEGIN
161:
162: If ((p_product_id is not null and p_product_id <> FND_API.G_MISS_NUM)
163: AND (p_org_id is not null and p_org_id <> FND_API.G_MISS_NUM))
164: THEN
165: OPEN default_uom_csr(p_product_id, p_org_id);
166: FETCH default_uom_csr into l_default_uom;
159: l_default_uom varchar2(30);
160: BEGIN
161:
162: If ((p_product_id is not null and p_product_id <> FND_API.G_MISS_NUM)
163: AND (p_org_id is not null and p_org_id <> FND_API.G_MISS_NUM))
164: THEN
165: OPEN default_uom_csr(p_product_id, p_org_id);
166: FETCH default_uom_csr into l_default_uom;
167: CLOSE default_uom_csr;
189: -- 08/13/2001 mchang Add p_object_attribute as passing in parameter.
190: ---------------------------------------------------------------------
191: PROCEDURE Check_Create_Line_Hist(
192: p_api_version IN NUMBER
193: ,p_init_msg_list IN VARCHAR2 := FND_API.g_false
194:
195: ,x_return_status OUT NOCOPY VARCHAR2
196: ,x_msg_count OUT NOCOPY NUMBER
197: ,x_msg_data OUT NOCOPY VARCHAR2
247: IF OZF_DEBUG_HIGH_ON THEN
248: OZF_Utility_PVT.debug_message(l_full_name||': start');
249: END IF;
250:
251: IF FND_API.to_boolean(p_init_msg_list) THEN
252: FND_MSG_PUB.initialize;
253: END IF;
254:
255: IF NOT FND_API.compatible_api_call(
251: IF FND_API.to_boolean(p_init_msg_list) THEN
252: FND_MSG_PUB.initialize;
253: END IF;
254:
255: IF NOT FND_API.compatible_api_call(
256: l_api_version,
257: p_api_version,
258: l_api_name,
259: g_pkg_name
257: p_api_version,
258: l_api_name,
259: g_pkg_name
260: ) THEN
261: RAISE FND_API.g_exc_unexpected_error;
262: END IF;
263:
264: IF p_mode <> 'CREATE' THEN
265: -- replace g_miss_char/num/date with current column values
271: l_new_line_rec := p_claim_line_rec;
272: END IF;
273:
274:
275: x_return_status := FND_API.g_ret_sts_success;
276:
277: ------------------------ start -------------------------
278: -- fetch out old claim line record
279: IF p_mode = JTF_PLSQL_API.g_create THEN
278: -- fetch out old claim line record
279: IF p_mode = JTF_PLSQL_API.g_create THEN
280: l_old_line_rec := null;
281: ELSE
282: IF p_claim_line_rec.claim_line_id <> FND_API.g_miss_num
283: AND p_claim_line_rec.claim_line_id IS NOT NULL THEN
284: OPEN c_claim_old_line(p_claim_line_rec.claim_line_id);
285: FETCH c_claim_old_line INTO l_old_line_rec.claim_id
286: , l_old_line_rec.valid_flag
323: -- p_old_rec => l_old_line_rec
324: -- ,p_new_rec => l_new_line_rec
325: -- ,p_object_attribute => p_object_attribute
326: -- );
327: -- IF l_compare_result = FND_API.g_true THEN
328: -- x_create_hist_flag := 'N';
329: -- ELSE
330: -- x_create_hist_flag := 'Y';
331: -- END IF;
337: p_old_rec => l_old_line_rec
338: ,p_new_rec => l_new_line_rec
339: ,p_object_attribute => p_object_attribute
340: );
341: IF l_compare_result = FND_API.g_true THEN
342: x_create_hist_flag := 'N';
343: ELSE
344: x_create_hist_flag := 'Y';
345: END IF;
348: p_old_rec => l_old_line_rec
349: ,p_new_rec => l_new_line_rec
350: ,p_object_attribute => p_object_attribute
351: );
352: IF l_compare_result = FND_API.g_true THEN
353: x_create_hist_flag := 'N';
354: ELSE
355: x_create_hist_flag := 'Y';
356: END IF;
357: ELSE
358: IF OZF_DEBUG_HIGH_ON THEN
359: OZF_Utility_PVT.debug_message(l_full_name||': p_mode should be CREATE, UPDATE, or DELETE');
360: END IF;
361: RAISE FND_API.g_exc_error;
362: END IF;
363:
364: ------------------------- finish -------------------------------
365: FND_MSG_PUB.count_and_get(
362: END IF;
363:
364: ------------------------- finish -------------------------------
365: FND_MSG_PUB.count_and_get(
366: p_encoded => FND_API.g_false,
367: p_count => x_msg_count,
368: p_data => x_msg_data
369: );
370:
372: OZF_Utility_PVT.debug_message(l_full_name ||': end');
373: END IF;
374:
375: EXCEPTION
376: WHEN FND_API.g_exc_error THEN
377: ROLLBACK TO Check_Create_Line_Hist;
378: x_return_status := FND_API.g_ret_sts_error;
379: FND_MSG_PUB.count_and_get (
380: p_encoded => FND_API.g_false
374:
375: EXCEPTION
376: WHEN FND_API.g_exc_error THEN
377: ROLLBACK TO Check_Create_Line_Hist;
378: x_return_status := FND_API.g_ret_sts_error;
379: FND_MSG_PUB.count_and_get (
380: p_encoded => FND_API.g_false
381: ,p_count => x_msg_count
382: ,p_data => x_msg_data
376: WHEN FND_API.g_exc_error THEN
377: ROLLBACK TO Check_Create_Line_Hist;
378: x_return_status := FND_API.g_ret_sts_error;
379: FND_MSG_PUB.count_and_get (
380: p_encoded => FND_API.g_false
381: ,p_count => x_msg_count
382: ,p_data => x_msg_data
383: );
384:
381: ,p_count => x_msg_count
382: ,p_data => x_msg_data
383: );
384:
385: WHEN FND_API.g_exc_unexpected_error THEN
386: ROLLBACK TO Check_Create_Line_Hist;
387: x_return_status := FND_API.g_ret_sts_unexp_error ;
388: FND_MSG_PUB.count_and_get (
389: p_encoded => FND_API.g_false
383: );
384:
385: WHEN FND_API.g_exc_unexpected_error THEN
386: ROLLBACK TO Check_Create_Line_Hist;
387: x_return_status := FND_API.g_ret_sts_unexp_error ;
388: FND_MSG_PUB.count_and_get (
389: p_encoded => FND_API.g_false
390: ,p_count => x_msg_count
391: ,p_data => x_msg_data
385: WHEN FND_API.g_exc_unexpected_error THEN
386: ROLLBACK TO Check_Create_Line_Hist;
387: x_return_status := FND_API.g_ret_sts_unexp_error ;
388: FND_MSG_PUB.count_and_get (
389: p_encoded => FND_API.g_false
390: ,p_count => x_msg_count
391: ,p_data => x_msg_data
392: );
393:
392: );
393:
394: WHEN OTHERS THEN
395: ROLLBACK TO Check_Create_Line_Hist;
396: x_return_status := FND_API.g_ret_sts_unexp_error ;
397: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error)
398: THEN
399: FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
400: END IF;
398: THEN
399: FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
400: END IF;
401: FND_MSG_PUB.count_and_get(
402: p_encoded => FND_API.g_false
403: ,p_count => x_msg_count
404: ,p_data => x_msg_data
405: );
406:
482:
483: l_claim_line_rec claim_line_rec_type := p_claim_line_rec;
484:
485: BEGIN
486: x_return_status := FND_API.g_ret_sts_success;
487: -- Added check for Credit Memo for bug # 12369100
488: IF p_claim_line_rec.source_object_id IS NOT NULL THEN
489: IF p_claim_line_rec.source_object_class IN ('INVOICE', 'CB', 'DM','CM') THEN --//Fix for Bug 16301455 - Added Credit Memo -CM
490: OPEN csr_invoice_default_exc(p_claim_line_rec.source_object_id);
531: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
532: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_LINE_TRIANG_API_ERR');
533: FND_MSG_PUB.add;
534: END IF;
535: RAISE FND_API.g_exc_error;
536: END;
537:
538: l_line_amount := p_claim_line_rec.claim_currency_amount * l_rate;
539: */
557: ,x_return_status => l_return_status
558: ,x_to_amount => l_line_amount
559: ,x_rate => l_rate
560: );
561: IF l_return_status = FND_API.g_ret_sts_error THEN
562: RAISE FND_API.g_exc_error;
563: ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
564: RAISE FND_API.g_exc_unexpected_error;
565: END IF;
558: ,x_to_amount => l_line_amount
559: ,x_rate => l_rate
560: );
561: IF l_return_status = FND_API.g_ret_sts_error THEN
562: RAISE FND_API.g_exc_error;
563: ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
564: RAISE FND_API.g_exc_unexpected_error;
565: END IF;
566:
559: ,x_rate => l_rate
560: );
561: IF l_return_status = FND_API.g_ret_sts_error THEN
562: RAISE FND_API.g_exc_error;
563: ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
564: RAISE FND_API.g_exc_unexpected_error;
565: END IF;
566:
567: l_claim_line_rec.currency_code := l_default_currency;
560: );
561: IF l_return_status = FND_API.g_ret_sts_error THEN
562: RAISE FND_API.g_exc_error;
563: ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
564: RAISE FND_API.g_exc_unexpected_error;
565: END IF;
566:
567: l_claim_line_rec.currency_code := l_default_currency;
568: l_claim_line_rec.exchange_rate_type := l_default_exc_type;
574:
575: x_claim_line_rec := l_claim_line_rec;
576:
577: EXCEPTION
578: WHEN FND_API.g_exc_error THEN
579: x_return_status := FND_API.g_ret_sts_error;
580:
581: WHEN FND_API.g_exc_unexpected_error THEN
582: x_return_status := FND_API.g_ret_sts_unexp_error ;
575: x_claim_line_rec := l_claim_line_rec;
576:
577: EXCEPTION
578: WHEN FND_API.g_exc_error THEN
579: x_return_status := FND_API.g_ret_sts_error;
580:
581: WHEN FND_API.g_exc_unexpected_error THEN
582: x_return_status := FND_API.g_ret_sts_unexp_error ;
583:
577: EXCEPTION
578: WHEN FND_API.g_exc_error THEN
579: x_return_status := FND_API.g_ret_sts_error;
580:
581: WHEN FND_API.g_exc_unexpected_error THEN
582: x_return_status := FND_API.g_ret_sts_unexp_error ;
583:
584: WHEN OTHERS THEN
585: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
578: WHEN FND_API.g_exc_error THEN
579: x_return_status := FND_API.g_ret_sts_error;
580:
581: WHEN FND_API.g_exc_unexpected_error THEN
582: x_return_status := FND_API.g_ret_sts_unexp_error ;
583:
584: WHEN OTHERS THEN
585: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
586: IF OZF_DEBUG_LOW_ON THEN
581: WHEN FND_API.g_exc_unexpected_error THEN
582: x_return_status := FND_API.g_ret_sts_unexp_error ;
583:
584: WHEN OTHERS THEN
585: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
586: IF OZF_DEBUG_LOW_ON THEN
587: FND_MESSAGE.set_name('OZF', 'OZF_API_DEBUG_MESSAGE');
588: FND_MESSAGE.set_token('TEXT', l_full_name||': An error happened while converting line amount');
589: FND_MSG_PUB.add;
600: -- 07/26/2001 mchang Create.
601: ---------------------------------------------------------------------
602: PROCEDURE Update_Line_Fm_Claim(
603: p_api_version IN NUMBER
604: ,p_init_msg_list IN VARCHAR2 := FND_API.g_false
605: ,p_commit IN VARCHAR2 := FND_API.g_false
606: ,p_validation_level IN NUMBER := FND_API.g_valid_level_full
607:
608: ,x_return_status OUT NOCOPY VARCHAR2
601: ---------------------------------------------------------------------
602: PROCEDURE Update_Line_Fm_Claim(
603: p_api_version IN NUMBER
604: ,p_init_msg_list IN VARCHAR2 := FND_API.g_false
605: ,p_commit IN VARCHAR2 := FND_API.g_false
606: ,p_validation_level IN NUMBER := FND_API.g_valid_level_full
607:
608: ,x_return_status OUT NOCOPY VARCHAR2
609: ,x_msg_data OUT NOCOPY VARCHAR2
602: PROCEDURE Update_Line_Fm_Claim(
603: p_api_version IN NUMBER
604: ,p_init_msg_list IN VARCHAR2 := FND_API.g_false
605: ,p_commit IN VARCHAR2 := FND_API.g_false
606: ,p_validation_level IN NUMBER := FND_API.g_valid_level_full
607:
608: ,x_return_status OUT NOCOPY VARCHAR2
609: ,x_msg_data OUT NOCOPY VARCHAR2
610: ,x_msg_count OUT NOCOPY NUMBER
620: l_msg_count NUMBER;
621: l_msg_data VARCHAR2(4000);
622:
623: l_old_claim_rec OZF_CLAIM_PVT.claim_rec_type;
624: l_upd_line_flag VARCHAR2(1) := FND_API.g_false;
625: l_remove_tax_code VARCHAR2(1) := FND_API.g_false;
626: l_remove_related_cust VARCHAR2(1) := FND_API.g_false;
627: l_amount_change_flag VARCHAR2(1) := FND_API.g_false; --Bug:2781186
628:
621: l_msg_data VARCHAR2(4000);
622:
623: l_old_claim_rec OZF_CLAIM_PVT.claim_rec_type;
624: l_upd_line_flag VARCHAR2(1) := FND_API.g_false;
625: l_remove_tax_code VARCHAR2(1) := FND_API.g_false;
626: l_remove_related_cust VARCHAR2(1) := FND_API.g_false;
627: l_amount_change_flag VARCHAR2(1) := FND_API.g_false; --Bug:2781186
628:
629: l_claim_line_tbl claim_line_tbl_type;
622:
623: l_old_claim_rec OZF_CLAIM_PVT.claim_rec_type;
624: l_upd_line_flag VARCHAR2(1) := FND_API.g_false;
625: l_remove_tax_code VARCHAR2(1) := FND_API.g_false;
626: l_remove_related_cust VARCHAR2(1) := FND_API.g_false;
627: l_amount_change_flag VARCHAR2(1) := FND_API.g_false; --Bug:2781186
628:
629: l_claim_line_tbl claim_line_tbl_type;
630: l_line_counter NUMBER := 1;
623: l_old_claim_rec OZF_CLAIM_PVT.claim_rec_type;
624: l_upd_line_flag VARCHAR2(1) := FND_API.g_false;
625: l_remove_tax_code VARCHAR2(1) := FND_API.g_false;
626: l_remove_related_cust VARCHAR2(1) := FND_API.g_false;
627: l_amount_change_flag VARCHAR2(1) := FND_API.g_false; --Bug:2781186
628:
629: l_claim_line_tbl claim_line_tbl_type;
630: l_line_counter NUMBER := 1;
631: l_object_version NUMBER;
678: IF OZF_DEBUG_HIGH_ON THEN
679: OZF_Utility_PVT.debug_message(l_full_name||': start');
680: END IF;
681:
682: IF FND_API.to_boolean(p_init_msg_list) THEN
683: FND_MSG_PUB.initialize;
684: END IF;
685:
686: IF NOT FND_API.compatible_api_call(
682: IF FND_API.to_boolean(p_init_msg_list) THEN
683: FND_MSG_PUB.initialize;
684: END IF;
685:
686: IF NOT FND_API.compatible_api_call(
687: l_api_version,
688: p_api_version,
689: l_api_name,
690: g_pkg_name
688: p_api_version,
689: l_api_name,
690: g_pkg_name
691: ) THEN
692: RAISE FND_API.g_exc_unexpected_error;
693: END IF;
694:
695: x_return_status := FND_API.g_ret_sts_success;
696:
691: ) THEN
692: RAISE FND_API.g_exc_unexpected_error;
693: END IF;
694:
695: x_return_status := FND_API.g_ret_sts_success;
696:
697: -------------------------- start ----------------------------
698: OPEN csr_claim_old_rec(p_new_claim_rec.claim_id);
699: FETCH csr_claim_old_rec INTO l_old_claim_rec.currency_code
707: , l_old_claim_rec.amount; --Bug:2781186
708: CLOSE csr_claim_old_rec;
709:
710: -- change in currency_code and exchange_rates
711: IF ( p_new_claim_rec.currency_code <> FND_API.g_miss_char
712: AND
713: p_new_claim_rec.currency_code <> l_old_claim_rec.currency_code )
714: THEN
715: l_upd_line_flag := FND_API.g_true;
711: IF ( p_new_claim_rec.currency_code <> FND_API.g_miss_char
712: AND
713: p_new_claim_rec.currency_code <> l_old_claim_rec.currency_code )
714: THEN
715: l_upd_line_flag := FND_API.g_true;
716: G_CLAIM_CURRENCY := p_new_claim_rec.currency_code;
717: ELSE
718: G_CLAIM_CURRENCY := l_old_claim_rec.currency_code;
719: END IF;
718: G_CLAIM_CURRENCY := l_old_claim_rec.currency_code;
719: END IF;
720:
721:
722: IF ( p_new_claim_rec.exchange_rate_type <> FND_API.g_miss_char
723: AND
724: NVL(p_new_claim_rec.exchange_rate_type,FND_API.g_miss_char) <> NVL(l_old_claim_rec.exchange_rate_type,FND_API.g_miss_char))
725: THEN
726: l_upd_line_flag := FND_API.g_true;
720:
721:
722: IF ( p_new_claim_rec.exchange_rate_type <> FND_API.g_miss_char
723: AND
724: NVL(p_new_claim_rec.exchange_rate_type,FND_API.g_miss_char) <> NVL(l_old_claim_rec.exchange_rate_type,FND_API.g_miss_char))
725: THEN
726: l_upd_line_flag := FND_API.g_true;
727: G_CLAIM_EXC_TYPE := p_new_claim_rec.exchange_rate_type;
728: ELSE
722: IF ( p_new_claim_rec.exchange_rate_type <> FND_API.g_miss_char
723: AND
724: NVL(p_new_claim_rec.exchange_rate_type,FND_API.g_miss_char) <> NVL(l_old_claim_rec.exchange_rate_type,FND_API.g_miss_char))
725: THEN
726: l_upd_line_flag := FND_API.g_true;
727: G_CLAIM_EXC_TYPE := p_new_claim_rec.exchange_rate_type;
728: ELSE
729: G_CLAIM_EXC_TYPE := l_old_claim_rec.exchange_rate_type;
730: END IF;
728: ELSE
729: G_CLAIM_EXC_TYPE := l_old_claim_rec.exchange_rate_type;
730: END IF;
731:
732: IF ( p_new_claim_rec.exchange_rate_date <> FND_API.g_miss_date
733: AND
734: NVL(p_new_claim_rec.exchange_rate_date,FND_API.g_miss_date) <> NVL(l_old_claim_rec.exchange_rate_date,FND_API.g_miss_date))
735: THEN
736: l_upd_line_flag := FND_API.g_true;
730: END IF;
731:
732: IF ( p_new_claim_rec.exchange_rate_date <> FND_API.g_miss_date
733: AND
734: NVL(p_new_claim_rec.exchange_rate_date,FND_API.g_miss_date) <> NVL(l_old_claim_rec.exchange_rate_date,FND_API.g_miss_date))
735: THEN
736: l_upd_line_flag := FND_API.g_true;
737: G_CLAIM_EXC_DATE := p_new_claim_rec.exchange_rate_date;
738: ELSE
732: IF ( p_new_claim_rec.exchange_rate_date <> FND_API.g_miss_date
733: AND
734: NVL(p_new_claim_rec.exchange_rate_date,FND_API.g_miss_date) <> NVL(l_old_claim_rec.exchange_rate_date,FND_API.g_miss_date))
735: THEN
736: l_upd_line_flag := FND_API.g_true;
737: G_CLAIM_EXC_DATE := p_new_claim_rec.exchange_rate_date;
738: ELSE
739: G_CLAIM_EXC_DATE := l_old_claim_rec.exchange_rate_date;
740: END IF;
738: ELSE
739: G_CLAIM_EXC_DATE := l_old_claim_rec.exchange_rate_date;
740: END IF;
741:
742: IF ( p_new_claim_rec.exchange_rate <> FND_API.g_miss_num
743: AND
744: NVL(p_new_claim_rec.exchange_rate,FND_API.g_miss_num) <> NVL(l_old_claim_rec.exchange_rate,FND_API.g_miss_num))
745: THEN
746: l_upd_line_flag := FND_API.g_true;
740: END IF;
741:
742: IF ( p_new_claim_rec.exchange_rate <> FND_API.g_miss_num
743: AND
744: NVL(p_new_claim_rec.exchange_rate,FND_API.g_miss_num) <> NVL(l_old_claim_rec.exchange_rate,FND_API.g_miss_num))
745: THEN
746: l_upd_line_flag := FND_API.g_true;
747: G_CLAIM_EXC_RATE := p_new_claim_rec.exchange_rate;
748: ELSE
742: IF ( p_new_claim_rec.exchange_rate <> FND_API.g_miss_num
743: AND
744: NVL(p_new_claim_rec.exchange_rate,FND_API.g_miss_num) <> NVL(l_old_claim_rec.exchange_rate,FND_API.g_miss_num))
745: THEN
746: l_upd_line_flag := FND_API.g_true;
747: G_CLAIM_EXC_RATE := p_new_claim_rec.exchange_rate;
748: ELSE
749: G_CLAIM_EXC_RATE := l_old_claim_rec.exchange_rate;
750: END IF;
750: END IF;
751:
752:
753: -- change in cust_account_id
754: IF ( p_new_claim_rec.cust_account_id <> FND_API.g_miss_num
755: AND p_new_claim_rec.cust_account_id <> l_old_claim_rec.cust_account_id) THEN
756: l_upd_line_flag := FND_API.g_true;
757: l_remove_related_cust := FND_API.g_true;
758: END IF;
752:
753: -- change in cust_account_id
754: IF ( p_new_claim_rec.cust_account_id <> FND_API.g_miss_num
755: AND p_new_claim_rec.cust_account_id <> l_old_claim_rec.cust_account_id) THEN
756: l_upd_line_flag := FND_API.g_true;
757: l_remove_related_cust := FND_API.g_true;
758: END IF;
759:
760: -- change in settlement method
753: -- change in cust_account_id
754: IF ( p_new_claim_rec.cust_account_id <> FND_API.g_miss_num
755: AND p_new_claim_rec.cust_account_id <> l_old_claim_rec.cust_account_id) THEN
756: l_upd_line_flag := FND_API.g_true;
757: l_remove_related_cust := FND_API.g_true;
758: END IF;
759:
760: -- change in settlement method
761: IF ( p_new_claim_rec.payment_method <> FND_API.g_miss_char
757: l_remove_related_cust := FND_API.g_true;
758: END IF;
759:
760: -- change in settlement method
761: IF ( p_new_claim_rec.payment_method <> FND_API.g_miss_char
762: AND
763: NVL(p_new_claim_rec.payment_method,FND_API.g_miss_char) <> NVL(l_old_claim_rec.payment_method,FND_API.g_miss_char))
764: THEN
765: l_upd_line_flag := FND_API.g_true;
759:
760: -- change in settlement method
761: IF ( p_new_claim_rec.payment_method <> FND_API.g_miss_char
762: AND
763: NVL(p_new_claim_rec.payment_method,FND_API.g_miss_char) <> NVL(l_old_claim_rec.payment_method,FND_API.g_miss_char))
764: THEN
765: l_upd_line_flag := FND_API.g_true;
766: l_remove_tax_code := FND_API.g_true;
767: END IF;
761: IF ( p_new_claim_rec.payment_method <> FND_API.g_miss_char
762: AND
763: NVL(p_new_claim_rec.payment_method,FND_API.g_miss_char) <> NVL(l_old_claim_rec.payment_method,FND_API.g_miss_char))
764: THEN
765: l_upd_line_flag := FND_API.g_true;
766: l_remove_tax_code := FND_API.g_true;
767: END IF;
768:
769: -- change in tax_code
762: AND
763: NVL(p_new_claim_rec.payment_method,FND_API.g_miss_char) <> NVL(l_old_claim_rec.payment_method,FND_API.g_miss_char))
764: THEN
765: l_upd_line_flag := FND_API.g_true;
766: l_remove_tax_code := FND_API.g_true;
767: END IF;
768:
769: -- change in tax_code
770: IF ( p_new_claim_rec.tax_code <> FND_API.g_miss_char
766: l_remove_tax_code := FND_API.g_true;
767: END IF;
768:
769: -- change in tax_code
770: IF ( p_new_claim_rec.tax_code <> FND_API.g_miss_char
771: AND
772: NVL(p_new_claim_rec.tax_code,FND_API.g_miss_char) <> NVL(l_old_claim_rec.tax_code,FND_API.g_miss_char))
773: THEN
774: l_upd_line_flag := FND_API.g_true;
768:
769: -- change in tax_code
770: IF ( p_new_claim_rec.tax_code <> FND_API.g_miss_char
771: AND
772: NVL(p_new_claim_rec.tax_code,FND_API.g_miss_char) <> NVL(l_old_claim_rec.tax_code,FND_API.g_miss_char))
773: THEN
774: l_upd_line_flag := FND_API.g_true;
775: END IF;
776:
770: IF ( p_new_claim_rec.tax_code <> FND_API.g_miss_char
771: AND
772: NVL(p_new_claim_rec.tax_code,FND_API.g_miss_char) <> NVL(l_old_claim_rec.tax_code,FND_API.g_miss_char))
773: THEN
774: l_upd_line_flag := FND_API.g_true;
775: END IF;
776:
777:
778: -- Bug4489415: Pass tax_action to claim line
775: END IF;
776:
777:
778: -- Bug4489415: Pass tax_action to claim line
779: IF (p_new_claim_rec.tax_action is not null AND p_new_claim_rec.tax_action <> FND_API.g_miss_char) THEN
780: l_upd_line_flag := FND_API.g_true;
781: END IF;
782:
783: -- ----------------------------------------------------------------------------
776:
777:
778: -- Bug4489415: Pass tax_action to claim line
779: IF (p_new_claim_rec.tax_action is not null AND p_new_claim_rec.tax_action <> FND_API.g_miss_char) THEN
780: l_upd_line_flag := FND_API.g_true;
781: END IF;
782:
783: -- ----------------------------------------------------------------------------
784: -- Bug : 2781186
784: -- Bug : 2781186
785: -- Changed by : Uday Poluri Date: 03-Jun-2003
786: -- Comments : Check for change in deduction amount
787: -- ----------------------------------------------------------------------------
788: IF (p_new_claim_rec.amount is not null AND p_new_claim_rec.amount <> FND_API.g_miss_num)
789: AND p_new_claim_rec.amount <> l_old_claim_rec.amount THEN
790:
791: --Count how many records are present in claim_lines
792: OPEN csr_claim_line_count(p_new_claim_rec.claim_id);
803: --Compare new deduction amount with line amount if it is less then only update.
804: --IF p_new_claim_rec.amount < l_claim_line_amount THEN
805: --IF p_new_claim_rec.amount_remaining <> l_claim_line_amount THEN --Changed on 11-Mar-03
806: IF p_new_claim_rec.amount <> l_claim_line_amount THEN --Changed on 12-Mar-03
807: l_upd_line_flag := FND_API.g_true;
808: l_amount_change_flag := FND_API.g_true;
809: END IF;
810:
811: END IF;
804: --IF p_new_claim_rec.amount < l_claim_line_amount THEN
805: --IF p_new_claim_rec.amount_remaining <> l_claim_line_amount THEN --Changed on 11-Mar-03
806: IF p_new_claim_rec.amount <> l_claim_line_amount THEN --Changed on 12-Mar-03
807: l_upd_line_flag := FND_API.g_true;
808: l_amount_change_flag := FND_API.g_true;
809: END IF;
810:
811: END IF;
812: END IF;
813: -- End Bug: 2781186 -----------------------------------------------------------
814:
815:
816: -------------------- Update Claim Line ----------------------
817: IF l_upd_line_flag = FND_API.g_true THEN
818: OPEN csr_line_rec_upd(p_new_claim_rec.claim_id);
819: LOOP
820: Init_Claim_Line_Rec(
821: x_claim_line_rec => l_claim_line_tbl(l_line_counter)
837: -- assign new value in claim line rec
838: FOR i IN l_claim_line_tbl.FIRST..l_claim_line_tbl.LAST LOOP
839:
840: IF l_claim_line_tbl(i).claim_line_id IS NOT NULL AND
841: l_claim_line_tbl(i).claim_line_id <> FND_API.g_miss_num THEN
842:
843: -- Modified for Bug4489415
844: IF l_remove_tax_code = FND_API.g_true THEN
845: l_claim_line_tbl(i).tax_code := NVL(p_new_claim_rec.tax_code,FND_API.g_miss_char);
840: IF l_claim_line_tbl(i).claim_line_id IS NOT NULL AND
841: l_claim_line_tbl(i).claim_line_id <> FND_API.g_miss_num THEN
842:
843: -- Modified for Bug4489415
844: IF l_remove_tax_code = FND_API.g_true THEN
845: l_claim_line_tbl(i).tax_code := NVL(p_new_claim_rec.tax_code,FND_API.g_miss_char);
846: l_claim_line_tbl(i).tax_amount := FND_API.g_miss_num;
847: l_claim_line_tbl(i).acctd_tax_amount := FND_API.g_miss_num;
848: l_claim_line_tbl(i).claim_curr_tax_amount := FND_API.g_miss_num;
841: l_claim_line_tbl(i).claim_line_id <> FND_API.g_miss_num THEN
842:
843: -- Modified for Bug4489415
844: IF l_remove_tax_code = FND_API.g_true THEN
845: l_claim_line_tbl(i).tax_code := NVL(p_new_claim_rec.tax_code,FND_API.g_miss_char);
846: l_claim_line_tbl(i).tax_amount := FND_API.g_miss_num;
847: l_claim_line_tbl(i).acctd_tax_amount := FND_API.g_miss_num;
848: l_claim_line_tbl(i).claim_curr_tax_amount := FND_API.g_miss_num;
849: ELSE
842:
843: -- Modified for Bug4489415
844: IF l_remove_tax_code = FND_API.g_true THEN
845: l_claim_line_tbl(i).tax_code := NVL(p_new_claim_rec.tax_code,FND_API.g_miss_char);
846: l_claim_line_tbl(i).tax_amount := FND_API.g_miss_num;
847: l_claim_line_tbl(i).acctd_tax_amount := FND_API.g_miss_num;
848: l_claim_line_tbl(i).claim_curr_tax_amount := FND_API.g_miss_num;
849: ELSE
850: IF l_claim_line_tbl(i).tax_code = l_old_claim_rec.tax_code
843: -- Modified for Bug4489415
844: IF l_remove_tax_code = FND_API.g_true THEN
845: l_claim_line_tbl(i).tax_code := NVL(p_new_claim_rec.tax_code,FND_API.g_miss_char);
846: l_claim_line_tbl(i).tax_amount := FND_API.g_miss_num;
847: l_claim_line_tbl(i).acctd_tax_amount := FND_API.g_miss_num;
848: l_claim_line_tbl(i).claim_curr_tax_amount := FND_API.g_miss_num;
849: ELSE
850: IF l_claim_line_tbl(i).tax_code = l_old_claim_rec.tax_code
851: OR l_claim_line_tbl(i).tax_code IS NULL THEN
844: IF l_remove_tax_code = FND_API.g_true THEN
845: l_claim_line_tbl(i).tax_code := NVL(p_new_claim_rec.tax_code,FND_API.g_miss_char);
846: l_claim_line_tbl(i).tax_amount := FND_API.g_miss_num;
847: l_claim_line_tbl(i).acctd_tax_amount := FND_API.g_miss_num;
848: l_claim_line_tbl(i).claim_curr_tax_amount := FND_API.g_miss_num;
849: ELSE
850: IF l_claim_line_tbl(i).tax_code = l_old_claim_rec.tax_code
851: OR l_claim_line_tbl(i).tax_code IS NULL THEN
852: l_claim_line_tbl(i).tax_code := p_new_claim_rec.tax_code;
856:
857:
858: l_claim_line_tbl(i).tax_action := p_new_claim_rec.tax_action; -- Bug4489415
859:
860: IF l_remove_related_cust = FND_API.g_true THEN
861: l_claim_line_tbl(i).earnings_associated_flag := FND_API.g_false;
862: l_claim_line_tbl(i).relationship_type := FND_API.g_miss_char;
863: l_claim_line_tbl(i).related_cust_account_id := FND_API.g_miss_num;
864: END IF;
857:
858: l_claim_line_tbl(i).tax_action := p_new_claim_rec.tax_action; -- Bug4489415
859:
860: IF l_remove_related_cust = FND_API.g_true THEN
861: l_claim_line_tbl(i).earnings_associated_flag := FND_API.g_false;
862: l_claim_line_tbl(i).relationship_type := FND_API.g_miss_char;
863: l_claim_line_tbl(i).related_cust_account_id := FND_API.g_miss_num;
864: END IF;
865:
858: l_claim_line_tbl(i).tax_action := p_new_claim_rec.tax_action; -- Bug4489415
859:
860: IF l_remove_related_cust = FND_API.g_true THEN
861: l_claim_line_tbl(i).earnings_associated_flag := FND_API.g_false;
862: l_claim_line_tbl(i).relationship_type := FND_API.g_miss_char;
863: l_claim_line_tbl(i).related_cust_account_id := FND_API.g_miss_num;
864: END IF;
865:
866: -- ----------------------------------------------------------------------------
859:
860: IF l_remove_related_cust = FND_API.g_true THEN
861: l_claim_line_tbl(i).earnings_associated_flag := FND_API.g_false;
862: l_claim_line_tbl(i).relationship_type := FND_API.g_miss_char;
863: l_claim_line_tbl(i).related_cust_account_id := FND_API.g_miss_num;
864: END IF;
865:
866: -- ----------------------------------------------------------------------------
867: -- Bug : 2781186
866: -- ----------------------------------------------------------------------------
867: -- Bug : 2781186
868: -- Comments : Check for amount_change_flag
869: -- ----------------------------------------------------------------------------
870: IF l_amount_change_flag = FND_API.g_true THEN
871: l_claim_line_tbl(i).claim_currency_amount := p_new_claim_rec.amount;
872: IF l_claim_line_tbl(i).earnings_associated_flag = 'T' THEN
873: --Delete associated earnings lines.
874: l_claim_line_tbl(i).earnings_associated_flag := FND_API.g_false;
870: IF l_amount_change_flag = FND_API.g_true THEN
871: l_claim_line_tbl(i).claim_currency_amount := p_new_claim_rec.amount;
872: IF l_claim_line_tbl(i).earnings_associated_flag = 'T' THEN
873: --Delete associated earnings lines.
874: l_claim_line_tbl(i).earnings_associated_flag := FND_API.g_false;
875: END IF;
876: END IF;
877: -- End Bug: 2781186 -----------------------------------------------------------
878:
876: END IF;
877: -- End Bug: 2781186 -----------------------------------------------------------
878:
879:
880: l_claim_line_tbl(i).update_from_tbl_flag := FND_API.g_true;
881:
882: -- Call the update_claim_line API
883: Update_Claim_Line(
884: p_api_version => 1.0
881:
882: -- Call the update_claim_line API
883: Update_Claim_Line(
884: p_api_version => 1.0
885: , p_init_msg_list => FND_API.g_false
886: , p_commit => FND_API.g_false
887: , p_validation_level => p_validation_level
888: , x_return_status => l_return_status
889: , x_msg_data => x_msg_data
882: -- Call the update_claim_line API
883: Update_Claim_Line(
884: p_api_version => 1.0
885: , p_init_msg_list => FND_API.g_false
886: , p_commit => FND_API.g_false
887: , p_validation_level => p_validation_level
888: , x_return_status => l_return_status
889: , x_msg_data => x_msg_data
890: , x_msg_count => x_msg_count
890: , x_msg_count => x_msg_count
891: , p_claim_line_rec => l_claim_line_tbl(i)
892: , x_object_version => l_object_version
893: );
894: IF l_return_status = fnd_api.g_ret_sts_error THEN
895: RAISE FND_API.g_exc_error;
896: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
897: RAISE FND_API.g_exc_unexpected_error;
898: END IF;
891: , p_claim_line_rec => l_claim_line_tbl(i)
892: , x_object_version => l_object_version
893: );
894: IF l_return_status = fnd_api.g_ret_sts_error THEN
895: RAISE FND_API.g_exc_error;
896: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
897: RAISE FND_API.g_exc_unexpected_error;
898: END IF;
899: END IF;
892: , x_object_version => l_object_version
893: );
894: IF l_return_status = fnd_api.g_ret_sts_error THEN
895: RAISE FND_API.g_exc_error;
896: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
897: RAISE FND_API.g_exc_unexpected_error;
898: END IF;
899: END IF;
900: END LOOP;
893: );
894: IF l_return_status = fnd_api.g_ret_sts_error THEN
895: RAISE FND_API.g_exc_error;
896: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
897: RAISE FND_API.g_exc_unexpected_error;
898: END IF;
899: END IF;
900: END LOOP;
901: END IF;
900: END LOOP;
901: END IF;
902:
903: ------------------------- finish -------------------------------
904: IF FND_API.to_boolean(p_commit) THEN
905: COMMIT;
906: END IF;
907:
908: FND_MSG_PUB.count_and_get(
905: COMMIT;
906: END IF;
907:
908: FND_MSG_PUB.count_and_get(
909: p_encoded => FND_API.g_false,
910: p_count => x_msg_count,
911: p_data => x_msg_data
912: );
913:
915: OZF_Utility_PVT.debug_message(l_full_name ||': end');
916: END IF;
917:
918: EXCEPTION
919: WHEN FND_API.g_exc_error THEN
920: ROLLBACK TO Update_Line_Fm_Claim;
921: x_return_status := FND_API.g_ret_sts_error;
922: FND_MSG_PUB.count_and_get (
923: p_encoded => FND_API.g_false
917:
918: EXCEPTION
919: WHEN FND_API.g_exc_error THEN
920: ROLLBACK TO Update_Line_Fm_Claim;
921: x_return_status := FND_API.g_ret_sts_error;
922: FND_MSG_PUB.count_and_get (
923: p_encoded => FND_API.g_false
924: ,p_count => x_msg_count
925: ,p_data => x_msg_data
919: WHEN FND_API.g_exc_error THEN
920: ROLLBACK TO Update_Line_Fm_Claim;
921: x_return_status := FND_API.g_ret_sts_error;
922: FND_MSG_PUB.count_and_get (
923: p_encoded => FND_API.g_false
924: ,p_count => x_msg_count
925: ,p_data => x_msg_data
926: );
927:
924: ,p_count => x_msg_count
925: ,p_data => x_msg_data
926: );
927:
928: WHEN FND_API.g_exc_unexpected_error THEN
929: ROLLBACK TO Update_Line_Fm_Claim;
930: x_return_status := FND_API.g_ret_sts_unexp_error ;
931: FND_MSG_PUB.count_and_get (
932: p_encoded => FND_API.g_false
926: );
927:
928: WHEN FND_API.g_exc_unexpected_error THEN
929: ROLLBACK TO Update_Line_Fm_Claim;
930: x_return_status := FND_API.g_ret_sts_unexp_error ;
931: FND_MSG_PUB.count_and_get (
932: p_encoded => FND_API.g_false
933: ,p_count => x_msg_count
934: ,p_data => x_msg_data
928: WHEN FND_API.g_exc_unexpected_error THEN
929: ROLLBACK TO Update_Line_Fm_Claim;
930: x_return_status := FND_API.g_ret_sts_unexp_error ;
931: FND_MSG_PUB.count_and_get (
932: p_encoded => FND_API.g_false
933: ,p_count => x_msg_count
934: ,p_data => x_msg_data
935: );
936:
935: );
936:
937: WHEN OTHERS THEN
938: ROLLBACK TO Update_Line_Fm_Claim;
939: x_return_status := FND_API.g_ret_sts_unexp_error ;
940: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
941: FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
942: END IF;
943: FND_MSG_PUB.count_and_get(
940: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
941: FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
942: END IF;
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:
958: -- update based on change of claim header columns
959: ---------------------------------------------------------------------
960: PROCEDURE Update_Line_Fm_Claim(
961: p_api_version IN NUMBER
962: ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
963: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
964: ,p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
965:
966: ,x_return_status OUT NOCOPY VARCHAR2
959: ---------------------------------------------------------------------
960: PROCEDURE Update_Line_Fm_Claim(
961: p_api_version IN NUMBER
962: ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
963: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
964: ,p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
965:
966: ,x_return_status OUT NOCOPY VARCHAR2
967: ,x_msg_data OUT NOCOPY VARCHAR2
960: PROCEDURE Update_Line_Fm_Claim(
961: p_api_version IN NUMBER
962: ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
963: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
964: ,p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
965:
966: ,x_return_status OUT NOCOPY VARCHAR2
967: ,x_msg_data OUT NOCOPY VARCHAR2
968: ,x_msg_count OUT NOCOPY NUMBER
968: ,x_msg_count OUT NOCOPY NUMBER
969:
970: ,p_claim_id IN NUMBER
971: ,p_tax_action IN VARCHAR2
972: ,p_remove_tax_code IN VARCHAR2 := FND_API.G_FALSE
973: ,p_remove_related_cust IN VARCHAR2 := FND_API.G_FALSE
974: ,p_amount_change_flag IN VARCHAR2 := FND_API.G_FALSE
975: )
976: IS
969:
970: ,p_claim_id IN NUMBER
971: ,p_tax_action IN VARCHAR2
972: ,p_remove_tax_code IN VARCHAR2 := FND_API.G_FALSE
973: ,p_remove_related_cust IN VARCHAR2 := FND_API.G_FALSE
974: ,p_amount_change_flag IN VARCHAR2 := FND_API.G_FALSE
975: )
976: IS
977: l_api_version CONSTANT NUMBER := 1.0;
970: ,p_claim_id IN NUMBER
971: ,p_tax_action IN VARCHAR2
972: ,p_remove_tax_code IN VARCHAR2 := FND_API.G_FALSE
973: ,p_remove_related_cust IN VARCHAR2 := FND_API.G_FALSE
974: ,p_amount_change_flag IN VARCHAR2 := FND_API.G_FALSE
975: )
976: IS
977: l_api_version CONSTANT NUMBER := 1.0;
978: l_api_name CONSTANT VARCHAR2(30) := 'Update_Line_Fm_Claim';
1020: IF OZF_DEBUG_HIGH_ON THEN
1021: OZF_Utility_PVT.debug_message(l_full_name||': start');
1022: END IF;
1023:
1024: IF FND_API.to_boolean(p_init_msg_list) THEN
1025: FND_MSG_PUB.initialize;
1026: END IF;
1027:
1028: IF NOT FND_API.compatible_api_call(
1024: IF FND_API.to_boolean(p_init_msg_list) THEN
1025: FND_MSG_PUB.initialize;
1026: END IF;
1027:
1028: IF NOT FND_API.compatible_api_call(
1029: l_api_version,
1030: p_api_version,
1031: l_api_name,
1032: g_pkg_name
1030: p_api_version,
1031: l_api_name,
1032: g_pkg_name
1033: ) THEN
1034: RAISE FND_API.g_exc_unexpected_error;
1035: END IF;
1036:
1037: x_return_status := FND_API.g_ret_sts_success;
1038:
1033: ) THEN
1034: RAISE FND_API.g_exc_unexpected_error;
1035: END IF;
1036:
1037: x_return_status := FND_API.g_ret_sts_success;
1038:
1039: -------------------------- start ----------------------------
1040: OPEN csr_claim_rec;
1041: FETCH csr_claim_rec INTO G_CLAIM_CURRENCY
1049: , l_vendor_site_id;
1050: CLOSE csr_claim_rec;
1051:
1052: -- Fix for Bug 12373880 : Throwing error if vendor information is missing
1053: IF (p_tax_action IS NOT NULL AND p_tax_action <> FND_API.G_MISS_CHAR) THEN
1054: IF l_payment_method IN ( 'EFT','WIRE','CHECK','AP_DEBIT', 'AP_DEFAULT') AND
1055: l_vendor_id IS NULL AND l_vendor_site_id IS NULL THEN
1056: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
1057: FND_MESSAGE.set_name('OZF', 'OZF_VENDOR_INFO_MISSING');
1056: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
1057: FND_MESSAGE.set_name('OZF', 'OZF_VENDOR_INFO_MISSING');
1058: FND_MSG_PUB.add;
1059: END IF;
1060: RAISE FND_API.g_exc_error;
1061: END IF;
1062: END IF;
1063:
1064: -------------------- Update Claim Line ----------------------
1084:
1085: FOR i IN l_claim_line_tbl.FIRST..l_claim_line_tbl.LAST LOOP
1086:
1087: IF l_claim_line_tbl(i).claim_line_id IS NOT NULL AND
1088: l_claim_line_tbl(i).claim_line_id <> FND_API.g_miss_num THEN
1089:
1090: IF l_remove_tax_code = FND_API.g_true THEN
1091: l_claim_line_tbl(i).tax_code := NVL(l_claim_line_tbl(i).tax_code, NVL(l_tax_code,FND_API.g_miss_char));
1092: l_claim_line_tbl(i).tax_amount := FND_API.g_miss_num;
1086:
1087: IF l_claim_line_tbl(i).claim_line_id IS NOT NULL AND
1088: l_claim_line_tbl(i).claim_line_id <> FND_API.g_miss_num THEN
1089:
1090: IF l_remove_tax_code = FND_API.g_true THEN
1091: l_claim_line_tbl(i).tax_code := NVL(l_claim_line_tbl(i).tax_code, NVL(l_tax_code,FND_API.g_miss_char));
1092: l_claim_line_tbl(i).tax_amount := FND_API.g_miss_num;
1093: l_claim_line_tbl(i).acctd_tax_amount := FND_API.g_miss_num;
1094: l_claim_line_tbl(i).claim_curr_tax_amount := FND_API.g_miss_num;
1087: IF l_claim_line_tbl(i).claim_line_id IS NOT NULL AND
1088: l_claim_line_tbl(i).claim_line_id <> FND_API.g_miss_num THEN
1089:
1090: IF l_remove_tax_code = FND_API.g_true THEN
1091: l_claim_line_tbl(i).tax_code := NVL(l_claim_line_tbl(i).tax_code, NVL(l_tax_code,FND_API.g_miss_char));
1092: l_claim_line_tbl(i).tax_amount := FND_API.g_miss_num;
1093: l_claim_line_tbl(i).acctd_tax_amount := FND_API.g_miss_num;
1094: l_claim_line_tbl(i).claim_curr_tax_amount := FND_API.g_miss_num;
1095: ELSE
1088: l_claim_line_tbl(i).claim_line_id <> FND_API.g_miss_num THEN
1089:
1090: IF l_remove_tax_code = FND_API.g_true THEN
1091: l_claim_line_tbl(i).tax_code := NVL(l_claim_line_tbl(i).tax_code, NVL(l_tax_code,FND_API.g_miss_char));
1092: l_claim_line_tbl(i).tax_amount := FND_API.g_miss_num;
1093: l_claim_line_tbl(i).acctd_tax_amount := FND_API.g_miss_num;
1094: l_claim_line_tbl(i).claim_curr_tax_amount := FND_API.g_miss_num;
1095: ELSE
1096: IF (l_tax_code <> NULL AND l_tax_code <> FND_API.g_miss_char
1089:
1090: IF l_remove_tax_code = FND_API.g_true THEN
1091: l_claim_line_tbl(i).tax_code := NVL(l_claim_line_tbl(i).tax_code, NVL(l_tax_code,FND_API.g_miss_char));
1092: l_claim_line_tbl(i).tax_amount := FND_API.g_miss_num;
1093: l_claim_line_tbl(i).acctd_tax_amount := FND_API.g_miss_num;
1094: l_claim_line_tbl(i).claim_curr_tax_amount := FND_API.g_miss_num;
1095: ELSE
1096: IF (l_tax_code <> NULL AND l_tax_code <> FND_API.g_miss_char
1097: AND l_claim_line_tbl(i).tax_code <> l_tax_code)
1090: IF l_remove_tax_code = FND_API.g_true THEN
1091: l_claim_line_tbl(i).tax_code := NVL(l_claim_line_tbl(i).tax_code, NVL(l_tax_code,FND_API.g_miss_char));
1092: l_claim_line_tbl(i).tax_amount := FND_API.g_miss_num;
1093: l_claim_line_tbl(i).acctd_tax_amount := FND_API.g_miss_num;
1094: l_claim_line_tbl(i).claim_curr_tax_amount := FND_API.g_miss_num;
1095: ELSE
1096: IF (l_tax_code <> NULL AND l_tax_code <> FND_API.g_miss_char
1097: AND l_claim_line_tbl(i).tax_code <> l_tax_code)
1098: OR l_claim_line_tbl(i).tax_code IS NULL THEN
1092: l_claim_line_tbl(i).tax_amount := FND_API.g_miss_num;
1093: l_claim_line_tbl(i).acctd_tax_amount := FND_API.g_miss_num;
1094: l_claim_line_tbl(i).claim_curr_tax_amount := FND_API.g_miss_num;
1095: ELSE
1096: IF (l_tax_code <> NULL AND l_tax_code <> FND_API.g_miss_char
1097: AND l_claim_line_tbl(i).tax_code <> l_tax_code)
1098: OR l_claim_line_tbl(i).tax_code IS NULL THEN
1099: l_claim_line_tbl(i).tax_code := l_tax_code;
1100: END IF;
1101: END IF;
1102:
1103: l_claim_line_tbl(i).tax_action := p_tax_action;
1104:
1105: IF l_remove_related_cust = FND_API.g_true THEN
1106: l_claim_line_tbl(i).earnings_associated_flag := FND_API.g_false;
1107: l_claim_line_tbl(i).relationship_type := FND_API.g_miss_char;
1108: l_claim_line_tbl(i).related_cust_account_id := FND_API.g_miss_num;
1109: END IF;
1102:
1103: l_claim_line_tbl(i).tax_action := p_tax_action;
1104:
1105: IF l_remove_related_cust = FND_API.g_true THEN
1106: l_claim_line_tbl(i).earnings_associated_flag := FND_API.g_false;
1107: l_claim_line_tbl(i).relationship_type := FND_API.g_miss_char;
1108: l_claim_line_tbl(i).related_cust_account_id := FND_API.g_miss_num;
1109: END IF;
1110:
1103: l_claim_line_tbl(i).tax_action := p_tax_action;
1104:
1105: IF l_remove_related_cust = FND_API.g_true THEN
1106: l_claim_line_tbl(i).earnings_associated_flag := FND_API.g_false;
1107: l_claim_line_tbl(i).relationship_type := FND_API.g_miss_char;
1108: l_claim_line_tbl(i).related_cust_account_id := FND_API.g_miss_num;
1109: END IF;
1110:
1111: IF l_amount_change_flag = FND_API.g_true THEN
1104:
1105: IF l_remove_related_cust = FND_API.g_true THEN
1106: l_claim_line_tbl(i).earnings_associated_flag := FND_API.g_false;
1107: l_claim_line_tbl(i).relationship_type := FND_API.g_miss_char;
1108: l_claim_line_tbl(i).related_cust_account_id := FND_API.g_miss_num;
1109: END IF;
1110:
1111: IF l_amount_change_flag = FND_API.g_true THEN
1112: l_claim_line_tbl(i).claim_currency_amount := l_amount;
1107: l_claim_line_tbl(i).relationship_type := FND_API.g_miss_char;
1108: l_claim_line_tbl(i).related_cust_account_id := FND_API.g_miss_num;
1109: END IF;
1110:
1111: IF l_amount_change_flag = FND_API.g_true THEN
1112: l_claim_line_tbl(i).claim_currency_amount := l_amount;
1113: IF l_claim_line_tbl(i).earnings_associated_flag = 'T' THEN
1114: --Delete associated earnings lines.
1115: l_claim_line_tbl(i).earnings_associated_flag := FND_API.g_false;
1111: IF l_amount_change_flag = FND_API.g_true THEN
1112: l_claim_line_tbl(i).claim_currency_amount := l_amount;
1113: IF l_claim_line_tbl(i).earnings_associated_flag = 'T' THEN
1114: --Delete associated earnings lines.
1115: l_claim_line_tbl(i).earnings_associated_flag := FND_API.g_false;
1116: END IF;
1117: END IF;
1118:
1119: l_claim_line_tbl(i).update_from_tbl_flag := FND_API.g_true;
1115: l_claim_line_tbl(i).earnings_associated_flag := FND_API.g_false;
1116: END IF;
1117: END IF;
1118:
1119: l_claim_line_tbl(i).update_from_tbl_flag := FND_API.g_true;
1120:
1121: --Call the update_claim_line API
1122: Update_Claim_Line(
1123: p_api_version => 1.0
1120:
1121: --Call the update_claim_line API
1122: Update_Claim_Line(
1123: p_api_version => 1.0
1124: , p_init_msg_list => FND_API.g_false
1125: , p_commit => FND_API.g_false
1126: , p_validation_level => p_validation_level
1127: , x_return_status => x_return_status
1128: , x_msg_data => x_msg_data
1121: --Call the update_claim_line API
1122: Update_Claim_Line(
1123: p_api_version => 1.0
1124: , p_init_msg_list => FND_API.g_false
1125: , p_commit => FND_API.g_false
1126: , p_validation_level => p_validation_level
1127: , x_return_status => x_return_status
1128: , x_msg_data => x_msg_data
1129: , x_msg_count => x_msg_count
1129: , x_msg_count => x_msg_count
1130: , p_claim_line_rec => l_claim_line_tbl(i)
1131: , x_object_version => l_object_version
1132: );
1133: IF x_return_status = fnd_api.g_ret_sts_error THEN
1134: RAISE FND_API.g_exc_error;
1135: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
1136: RAISE FND_API.g_exc_unexpected_error;
1137: END IF;
1130: , p_claim_line_rec => l_claim_line_tbl(i)
1131: , x_object_version => l_object_version
1132: );
1133: IF x_return_status = fnd_api.g_ret_sts_error THEN
1134: RAISE FND_API.g_exc_error;
1135: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
1136: RAISE FND_API.g_exc_unexpected_error;
1137: END IF;
1138: END IF;
1131: , x_object_version => l_object_version
1132: );
1133: IF x_return_status = fnd_api.g_ret_sts_error THEN
1134: RAISE FND_API.g_exc_error;
1135: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
1136: RAISE FND_API.g_exc_unexpected_error;
1137: END IF;
1138: END IF;
1139:
1132: );
1133: IF x_return_status = fnd_api.g_ret_sts_error THEN
1134: RAISE FND_API.g_exc_error;
1135: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
1136: RAISE FND_API.g_exc_unexpected_error;
1137: END IF;
1138: END IF;
1139:
1140: END LOOP;
1139:
1140: END LOOP;
1141:
1142: ------------------------- finish -------------------------------
1143: IF FND_API.to_boolean(p_commit) THEN
1144: COMMIT;
1145: END IF;
1146:
1147: FND_MSG_PUB.count_and_get(
1144: COMMIT;
1145: END IF;
1146:
1147: FND_MSG_PUB.count_and_get(
1148: p_encoded => FND_API.g_false,
1149: p_count => x_msg_count,
1150: p_data => x_msg_data
1151: );
1152:
1154: OZF_Utility_PVT.debug_message(l_full_name ||': end');
1155: END IF;
1156:
1157: EXCEPTION
1158: WHEN FND_API.g_exc_error THEN
1159: ROLLBACK TO Update_Line_Fm_Claim;
1160: x_return_status := FND_API.g_ret_sts_error;
1161: FND_MSG_PUB.count_and_get (
1162: p_encoded => FND_API.g_false
1156:
1157: EXCEPTION
1158: WHEN FND_API.g_exc_error THEN
1159: ROLLBACK TO Update_Line_Fm_Claim;
1160: x_return_status := FND_API.g_ret_sts_error;
1161: FND_MSG_PUB.count_and_get (
1162: p_encoded => FND_API.g_false
1163: ,p_count => x_msg_count
1164: ,p_data => x_msg_data
1158: WHEN FND_API.g_exc_error THEN
1159: ROLLBACK TO Update_Line_Fm_Claim;
1160: x_return_status := FND_API.g_ret_sts_error;
1161: FND_MSG_PUB.count_and_get (
1162: p_encoded => FND_API.g_false
1163: ,p_count => x_msg_count
1164: ,p_data => x_msg_data
1165: );
1166:
1163: ,p_count => x_msg_count
1164: ,p_data => x_msg_data
1165: );
1166:
1167: WHEN FND_API.g_exc_unexpected_error THEN
1168: ROLLBACK TO Update_Line_Fm_Claim;
1169: x_return_status := FND_API.g_ret_sts_unexp_error ;
1170: FND_MSG_PUB.count_and_get (
1171: p_encoded => FND_API.g_false
1165: );
1166:
1167: WHEN FND_API.g_exc_unexpected_error THEN
1168: ROLLBACK TO Update_Line_Fm_Claim;
1169: x_return_status := FND_API.g_ret_sts_unexp_error ;
1170: FND_MSG_PUB.count_and_get (
1171: p_encoded => FND_API.g_false
1172: ,p_count => x_msg_count
1173: ,p_data => x_msg_data
1167: WHEN FND_API.g_exc_unexpected_error THEN
1168: ROLLBACK TO Update_Line_Fm_Claim;
1169: x_return_status := FND_API.g_ret_sts_unexp_error ;
1170: FND_MSG_PUB.count_and_get (
1171: p_encoded => FND_API.g_false
1172: ,p_count => x_msg_count
1173: ,p_data => x_msg_data
1174: );
1175:
1174: );
1175:
1176: WHEN OTHERS THEN
1177: ROLLBACK TO Update_Line_Fm_Claim;
1178: x_return_status := FND_API.g_ret_sts_unexp_error ;
1179: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
1180: FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
1181: END IF;
1182: FND_MSG_PUB.count_and_get(
1179: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
1180: FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
1181: END IF;
1182: FND_MSG_PUB.count_and_get(
1183: p_encoded => FND_API.g_false
1184: ,p_count => x_msg_count
1185: ,p_data => x_msg_data
1186: );
1187:
1200: -- 21/02/2011 kpatro made record type claim_line_tbl_type as IN OUT
1201: ---------------------------------------------------------------------
1202: PROCEDURE Create_Claim_Line_Tbl(
1203: p_api_version IN NUMBER
1204: ,p_init_msg_list IN VARCHAR2 := FND_API.g_false
1205: ,p_commit IN VARCHAR2 := FND_API.g_false
1206: ,p_validation_level IN NUMBER := FND_API.g_valid_level_full
1207:
1208: ,x_return_status OUT NOCOPY VARCHAR2
1201: ---------------------------------------------------------------------
1202: PROCEDURE Create_Claim_Line_Tbl(
1203: p_api_version IN NUMBER
1204: ,p_init_msg_list IN VARCHAR2 := FND_API.g_false
1205: ,p_commit IN VARCHAR2 := FND_API.g_false
1206: ,p_validation_level IN NUMBER := FND_API.g_valid_level_full
1207:
1208: ,x_return_status OUT NOCOPY VARCHAR2
1209: ,x_msg_data OUT NOCOPY VARCHAR2
1202: PROCEDURE Create_Claim_Line_Tbl(
1203: p_api_version IN NUMBER
1204: ,p_init_msg_list IN VARCHAR2 := FND_API.g_false
1205: ,p_commit IN VARCHAR2 := FND_API.g_false
1206: ,p_validation_level IN NUMBER := FND_API.g_valid_level_full
1207:
1208: ,x_return_status OUT NOCOPY VARCHAR2
1209: ,x_msg_data OUT NOCOPY VARCHAR2
1210: ,x_msg_count OUT NOCOPY NUMBER
1275: IF OZF_DEBUG_HIGH_ON THEN
1276: OZF_Utility_PVT.debug_message(l_full_name||': start');
1277: END IF;
1278:
1279: IF FND_API.to_boolean(p_init_msg_list) THEN
1280: FND_MSG_PUB.initialize;
1281: END IF;
1282:
1283: IF NOT FND_API.compatible_api_call(
1279: IF FND_API.to_boolean(p_init_msg_list) THEN
1280: FND_MSG_PUB.initialize;
1281: END IF;
1282:
1283: IF NOT FND_API.compatible_api_call(
1284: l_api_version,
1285: p_api_version,
1286: l_api_name,
1287: g_pkg_name
1286: l_api_name,
1287: g_pkg_name
1288: )
1289: THEN
1290: RAISE FND_API.g_exc_unexpected_error;
1291: END IF;
1292:
1293: x_return_status := FND_API.g_ret_sts_success;
1294:
1289: THEN
1290: RAISE FND_API.g_exc_unexpected_error;
1291: END IF;
1292:
1293: x_return_status := FND_API.g_ret_sts_success;
1294:
1295: l_claim_line_tbl := p_claim_line_tbl;
1296:
1297: ---------------------- check claim access ------------------------
1299: FOR j IN p_claim_line_tbl.FIRST..p_claim_line_tbl.LAST LOOP
1300: IF p_claim_line_tbl.EXISTS(j) THEN
1301: OZF_CLAIM_UTILITY_PVT.Check_Claim_access(
1302: P_Api_Version_Number => 1.0
1303: , P_Init_Msg_List => FND_API.G_FALSE
1304: , p_validation_level => FND_API.G_VALID_LEVEL_FULL
1305: , P_Commit => FND_API.G_FALSE
1306: , P_object_id => p_claim_line_tbl(j).claim_id
1307: , P_object_type => G_CLAIM_OBJECT_TYPE
1300: IF p_claim_line_tbl.EXISTS(j) THEN
1301: OZF_CLAIM_UTILITY_PVT.Check_Claim_access(
1302: P_Api_Version_Number => 1.0
1303: , P_Init_Msg_List => FND_API.G_FALSE
1304: , p_validation_level => FND_API.G_VALID_LEVEL_FULL
1305: , P_Commit => FND_API.G_FALSE
1306: , P_object_id => p_claim_line_tbl(j).claim_id
1307: , P_object_type => G_CLAIM_OBJECT_TYPE
1308: , P_user_id => OZF_UTILITY_PVT.get_resource_id(NVL(FND_GLOBAL.user_id,-1))
1301: OZF_CLAIM_UTILITY_PVT.Check_Claim_access(
1302: P_Api_Version_Number => 1.0
1303: , P_Init_Msg_List => FND_API.G_FALSE
1304: , p_validation_level => FND_API.G_VALID_LEVEL_FULL
1305: , P_Commit => FND_API.G_FALSE
1306: , P_object_id => p_claim_line_tbl(j).claim_id
1307: , P_object_type => G_CLAIM_OBJECT_TYPE
1308: , P_user_id => OZF_UTILITY_PVT.get_resource_id(NVL(FND_GLOBAL.user_id,-1))
1309: , X_Return_Status => l_return_status
1315: IF FND_MSG_PUB.check_msg_level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
1316: FND_MESSAGE.set_name('OZF','OZF_CLAIM_NO_ACCESS');
1317: FND_MSG_PUB.add;
1318: END IF;
1319: RAISE FND_API.G_EXC_ERROR;
1320: END IF;
1321: EXIT;
1322: END IF;
1323: END LOOP;
1325:
1326: ------------ Default Claim Line by Settlement Method ----------------
1327: OZF_CLAIM_SETTLEMENT_VAL_PVT.Default_Claim_Line_Tbl(
1328: p_api_version => l_api_version
1329: ,p_init_msg_list => FND_API.g_false
1330: ,p_validation_level => p_validation_level
1331: ,x_return_status => l_return_status
1332: ,x_msg_data => x_msg_data
1333: ,x_msg_count => x_msg_count
1332: ,x_msg_data => x_msg_data
1333: ,x_msg_count => x_msg_count
1334: ,p_x_claim_line_tbl => l_claim_line_tbl
1335: );
1336: IF l_return_status = fnd_api.g_ret_sts_error THEN
1337: RAISE FND_API.g_exc_error;
1338: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1339: RAISE FND_API.g_exc_unexpected_error;
1340: END IF;
1333: ,x_msg_count => x_msg_count
1334: ,p_x_claim_line_tbl => l_claim_line_tbl
1335: );
1336: IF l_return_status = fnd_api.g_ret_sts_error THEN
1337: RAISE FND_API.g_exc_error;
1338: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1339: RAISE FND_API.g_exc_unexpected_error;
1340: END IF;
1341:
1334: ,p_x_claim_line_tbl => l_claim_line_tbl
1335: );
1336: IF l_return_status = fnd_api.g_ret_sts_error THEN
1337: RAISE FND_API.g_exc_error;
1338: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1339: RAISE FND_API.g_exc_unexpected_error;
1340: END IF;
1341:
1342: --------------------- Amount Checking -----------------------
1335: );
1336: IF l_return_status = fnd_api.g_ret_sts_error THEN
1337: RAISE FND_API.g_exc_error;
1338: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1339: RAISE FND_API.g_exc_unexpected_error;
1340: END IF;
1341:
1342: --------------------- Amount Checking -----------------------
1343: IF l_claim_line_tbl.count > 0 THEN
1353: -- Bug#9957893 (+)
1354: -- Fix for Bug 10383102: Added a check for source_object_line_id
1355: IF l_claim_line_tbl(j).source_object_class = 'INVOICE' AND
1356: l_claim_line_tbl(j).source_object_line_id IS NOT NULL AND
1357: l_claim_line_tbl(j).source_object_line_id <> FND_API.G_MISS_NUM THEN
1358:
1359: l_tot_quantity := l_claim_line_tbl(j).quantity;
1360:
1361: OPEN c_tot_qty(l_claim_line_tbl(j).claim_id, l_claim_line_tbl(j).source_object_line_id);
1385: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_LINE_INV_QTY');
1386: FND_MSG_PUB.add;
1387: END IF;
1388: x_error_index := j;
1389: RAISE FND_API.g_exc_error;
1390: END IF;
1391: END IF;
1392: -- Bug#9957893 (-)
1393:
1406: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_LINE_AMT_NULL');
1407: FND_MSG_PUB.add;
1408: END IF;
1409: x_error_index := j;
1410: RAISE FND_API.g_exc_error;
1411: ELSE
1412: IF OZF_DEBUG_HIGH_ON THEN
1413: OZF_Utility_PVT.debug_message('Before CurrRound :: claim line currency_currency_amount = '||l_claim_line_tbl(j).claim_currency_amount);
1414: OZF_Utility_PVT.debug_message('Before CurrRound :: claim currency code = '||l_currency_code);
1443: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
1444: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_LINE_AMT_SIGN_ERR');
1445: FND_MSG_PUB.add;
1446: END IF;
1447: RAISE FND_API.g_exc_error;
1448: END IF;
1449: END IF;
1450:
1451:
1454: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
1455: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_LINE_EXCESS_AMOUNT');
1456: FND_MSG_PUB.add;
1457: END IF;
1458: RAISE FND_API.g_exc_error;
1459: END IF;
1460: END IF;
1461:
1462: --------------------- Create Claim Line Table -----------------------
1476: l_claim_line_rec.quantity IS NOT NULL OR
1477: l_claim_line_rec.rate IS NOT NULL OR
1478: l_claim_line_rec.tax_code IS NOT NULL OR
1479: l_claim_line_rec.item_description IS NOT NULL THEN
1480: l_claim_line_rec.update_from_tbl_flag := FND_API.g_true;
1481:
1482: -- Call the create claim line API
1483: Create_Claim_Line(
1484: p_api_version => 1.0
1481:
1482: -- Call the create claim line API
1483: Create_Claim_Line(
1484: p_api_version => 1.0
1485: , p_init_msg_list => FND_API.g_false
1486: , p_commit => FND_API.g_false
1487: , p_validation_level => p_validation_level
1488: , x_return_status => l_return_status
1489: , x_msg_data => x_msg_data
1482: -- Call the create claim line API
1483: Create_Claim_Line(
1484: p_api_version => 1.0
1485: , p_init_msg_list => FND_API.g_false
1486: , p_commit => FND_API.g_false
1487: , p_validation_level => p_validation_level
1488: , x_return_status => l_return_status
1489: , x_msg_data => x_msg_data
1490: , x_msg_count => x_msg_count
1491: , p_claim_line_rec => l_claim_line_rec
1492: , p_mode => OZF_CLAIM_UTILITY_PVT.g_auto_mode
1493: , x_claim_line_id => l_claim_line_id
1494: );
1495: IF l_return_status = fnd_api.g_ret_sts_error THEN
1496: x_error_index := i;
1497: RAISE FND_API.g_exc_error;
1498: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1499: x_error_index := i;
1493: , x_claim_line_id => l_claim_line_id
1494: );
1495: IF l_return_status = fnd_api.g_ret_sts_error THEN
1496: x_error_index := i;
1497: RAISE FND_API.g_exc_error;
1498: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1499: x_error_index := i;
1500: RAISE FND_API.g_exc_unexpected_error;
1501: END IF;
1494: );
1495: IF l_return_status = fnd_api.g_ret_sts_error THEN
1496: x_error_index := i;
1497: RAISE FND_API.g_exc_error;
1498: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1499: x_error_index := i;
1500: RAISE FND_API.g_exc_unexpected_error;
1501: END IF;
1502: -- Fix for Bug 11793070
1496: x_error_index := i;
1497: RAISE FND_API.g_exc_error;
1498: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1499: x_error_index := i;
1500: RAISE FND_API.g_exc_unexpected_error;
1501: END IF;
1502: -- Fix for Bug 11793070
1503: p_claim_line_tbl(i).claim_line_id := l_claim_line_id;
1504: END IF;
1505: END IF;
1506: END LOOP;
1507: END IF;
1508: ------------------------- finish -------------------------------
1509: IF FND_API.to_boolean(p_commit) THEN
1510: COMMIT;
1511: END IF;
1512:
1513: FND_MSG_PUB.count_and_get(
1510: COMMIT;
1511: END IF;
1512:
1513: FND_MSG_PUB.count_and_get(
1514: p_encoded => FND_API.g_false,
1515: p_count => x_msg_count,
1516: p_data => x_msg_data
1517: );
1518:
1520: OZF_Utility_PVT.debug_message(l_full_name ||': end');
1521: END IF;
1522:
1523: EXCEPTION
1524: WHEN FND_API.g_exc_error THEN
1525: ROLLBACK TO Create_Claim_Line_Tbl;
1526: x_return_status := FND_API.g_ret_sts_error;
1527: FND_MSG_PUB.count_and_get (
1528: p_encoded => FND_API.g_false
1522:
1523: EXCEPTION
1524: WHEN FND_API.g_exc_error THEN
1525: ROLLBACK TO Create_Claim_Line_Tbl;
1526: x_return_status := FND_API.g_ret_sts_error;
1527: FND_MSG_PUB.count_and_get (
1528: p_encoded => FND_API.g_false
1529: ,p_count => x_msg_count
1530: ,p_data => x_msg_data
1524: WHEN FND_API.g_exc_error THEN
1525: ROLLBACK TO Create_Claim_Line_Tbl;
1526: x_return_status := FND_API.g_ret_sts_error;
1527: FND_MSG_PUB.count_and_get (
1528: p_encoded => FND_API.g_false
1529: ,p_count => x_msg_count
1530: ,p_data => x_msg_data
1531: );
1532:
1529: ,p_count => x_msg_count
1530: ,p_data => x_msg_data
1531: );
1532:
1533: WHEN FND_API.g_exc_unexpected_error THEN
1534: ROLLBACK TO Create_Claim_Line_Tbl;
1535: x_return_status := FND_API.g_ret_sts_unexp_error ;
1536: FND_MSG_PUB.count_and_get (
1537: p_encoded => FND_API.g_false
1531: );
1532:
1533: WHEN FND_API.g_exc_unexpected_error THEN
1534: ROLLBACK TO Create_Claim_Line_Tbl;
1535: x_return_status := FND_API.g_ret_sts_unexp_error ;
1536: FND_MSG_PUB.count_and_get (
1537: p_encoded => FND_API.g_false
1538: ,p_count => x_msg_count
1539: ,p_data => x_msg_data
1533: WHEN FND_API.g_exc_unexpected_error THEN
1534: ROLLBACK TO Create_Claim_Line_Tbl;
1535: x_return_status := FND_API.g_ret_sts_unexp_error ;
1536: FND_MSG_PUB.count_and_get (
1537: p_encoded => FND_API.g_false
1538: ,p_count => x_msg_count
1539: ,p_data => x_msg_data
1540: );
1541:
1540: );
1541:
1542: WHEN OTHERS THEN
1543: ROLLBACK TO Create_Claim_Line_Tbl;
1544: x_return_status := FND_API.g_ret_sts_unexp_error ;
1545: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
1546: FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
1547: END IF;
1548: FND_MSG_PUB.count_and_get(
1545: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
1546: FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
1547: END IF;
1548: FND_MSG_PUB.count_and_get(
1549: p_encoded => FND_API.g_false
1550: ,p_count => x_msg_count
1551: ,p_data => x_msg_data
1552: );
1553:
1573: --
1574: -----------------------------------------------------------------------------------------
1575: PROCEDURE Create_Claim_Line(
1576: p_api_version IN NUMBER
1577: ,p_init_msg_list IN VARCHAR2 := FND_API.g_false
1578: ,p_commit IN VARCHAR2 := FND_API.g_false
1579: ,p_validation_level IN NUMBER := FND_API.g_valid_level_full
1580:
1581: ,x_return_status OUT NOCOPY VARCHAR2
1574: -----------------------------------------------------------------------------------------
1575: PROCEDURE Create_Claim_Line(
1576: p_api_version IN NUMBER
1577: ,p_init_msg_list IN VARCHAR2 := FND_API.g_false
1578: ,p_commit IN VARCHAR2 := FND_API.g_false
1579: ,p_validation_level IN NUMBER := FND_API.g_valid_level_full
1580:
1581: ,x_return_status OUT NOCOPY VARCHAR2
1582: ,x_msg_count OUT NOCOPY NUMBER
1575: PROCEDURE Create_Claim_Line(
1576: p_api_version IN NUMBER
1577: ,p_init_msg_list IN VARCHAR2 := FND_API.g_false
1578: ,p_commit IN VARCHAR2 := FND_API.g_false
1579: ,p_validation_level IN NUMBER := FND_API.g_valid_level_full
1580:
1581: ,x_return_status OUT NOCOPY VARCHAR2
1582: ,x_msg_count OUT NOCOPY NUMBER
1583: ,x_msg_data OUT NOCOPY VARCHAR2
1699: IF OZF_DEBUG_HIGH_ON THEN
1700: OZF_Utility_PVT.debug_message(l_full_name||': start');
1701: END IF;
1702:
1703: IF FND_API.to_boolean(p_init_msg_list) THEN
1704: FND_MSG_PUB.initialize;
1705: END IF;
1706:
1707: IF NOT FND_API.compatible_api_call(
1703: IF FND_API.to_boolean(p_init_msg_list) THEN
1704: FND_MSG_PUB.initialize;
1705: END IF;
1706:
1707: IF NOT FND_API.compatible_api_call(
1708: l_api_version,
1709: p_api_version,
1710: l_api_name,
1711: g_pkg_name
1709: p_api_version,
1710: l_api_name,
1711: g_pkg_name
1712: ) THEN
1713: RAISE FND_API.g_exc_unexpected_error;
1714: END IF;
1715:
1716: x_return_status := FND_API.g_ret_sts_success;
1717:
1712: ) THEN
1713: RAISE FND_API.g_exc_unexpected_error;
1714: END IF;
1715:
1716: x_return_status := FND_API.g_ret_sts_success;
1717:
1718: l_claim_line_rec := p_claim_line_rec;
1719:
1720: ----------------- check claim access -------------------
1720: ----------------- check claim access -------------------
1721: IF p_mode = OZF_CLAIM_UTILITY_PVT.g_manu_mode THEN
1722: OZF_CLAIM_UTILITY_PVT.Check_Claim_access(
1723: P_Api_Version_Number => 1.0
1724: , P_Init_Msg_List => FND_API.G_FALSE
1725: , p_validation_level => FND_API.G_VALID_LEVEL_FULL
1726: , P_Commit => FND_API.G_FALSE
1727: , P_object_id => l_claim_line_rec.claim_id
1728: , P_object_type => G_CLAIM_OBJECT_TYPE
1721: IF p_mode = OZF_CLAIM_UTILITY_PVT.g_manu_mode THEN
1722: OZF_CLAIM_UTILITY_PVT.Check_Claim_access(
1723: P_Api_Version_Number => 1.0
1724: , P_Init_Msg_List => FND_API.G_FALSE
1725: , p_validation_level => FND_API.G_VALID_LEVEL_FULL
1726: , P_Commit => FND_API.G_FALSE
1727: , P_object_id => l_claim_line_rec.claim_id
1728: , P_object_type => G_CLAIM_OBJECT_TYPE
1729: , P_user_id => OZF_UTILITY_PVT.get_resource_id(NVL(FND_GLOBAL.user_id,-1))
1722: OZF_CLAIM_UTILITY_PVT.Check_Claim_access(
1723: P_Api_Version_Number => 1.0
1724: , P_Init_Msg_List => FND_API.G_FALSE
1725: , p_validation_level => FND_API.G_VALID_LEVEL_FULL
1726: , P_Commit => FND_API.G_FALSE
1727: , P_object_id => l_claim_line_rec.claim_id
1728: , P_object_type => G_CLAIM_OBJECT_TYPE
1729: , P_user_id => OZF_UTILITY_PVT.get_resource_id(NVL(FND_GLOBAL.user_id,-1))
1730: , X_Return_Status => l_return_status
1736: IF FND_MSG_PUB.check_msg_level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
1737: FND_MESSAGE.set_name('OZF','OZF_CLAIM_NO_ACCESS');
1738: FND_MSG_PUB.add;
1739: END IF;
1740: RAISE FND_API.G_EXC_ERROR;
1741: END IF;
1742: END IF;
1743:
1744: /*-------------------------------------------------------*
1746: *-------------------------------------------------------*/
1747: l_created_by := NVL(FND_GLOBAL.user_id,-1);
1748: l_updated_by := NVL(FND_GLOBAL.user_id,-1);
1749: l_last_update_login := NVL(FND_GLOBAL.conc_login_id,-1);
1750: l_valid_flag := NVL(l_claim_line_rec.valid_flag, FND_API.g_false);
1751:
1752: -- get org_id, set_of_books_id and tax_code from claim
1753: OPEN csr_default_fm_claim(l_claim_line_rec.claim_id);
1754: FETCH csr_default_fm_claim INTO l_set_of_books_id
1774:
1775: -- Default UOM for product.
1776: IF l_claim_line_rec.item_type = 'PRODUCT'
1777: AND (l_claim_line_rec.item_id is not null
1778: AND l_claim_line_rec.item_id <> FND_API.G_MISS_NUM )
1779: AND (l_claim_line_rec.quantity_uom is null
1780: OR l_claim_line_rec.quantity_uom = FND_API.G_MISS_CHAR)
1781: THEN
1782: --Bugfix 5182181
1776: IF l_claim_line_rec.item_type = 'PRODUCT'
1777: AND (l_claim_line_rec.item_id is not null
1778: AND l_claim_line_rec.item_id <> FND_API.G_MISS_NUM )
1779: AND (l_claim_line_rec.quantity_uom is null
1780: OR l_claim_line_rec.quantity_uom = FND_API.G_MISS_CHAR)
1781: THEN
1782: --Bugfix 5182181
1783: l_claim_line_rec.quantity_uom := Get_Default_Product_UOM
1784: ( p_product_id => l_claim_line_rec.item_id
1799: l_claim_line_rec.tax_code := l_tax_code;
1800: END IF;
1801:
1802: -- default claim line by settlement method
1803: IF l_claim_line_rec.update_from_tbl_flag = FND_API.g_false THEN
1804: OZF_CLAIM_SETTLEMENT_VAL_PVT.Default_Claim_Line(
1805: p_api_version => l_api_version
1806: ,p_init_msg_list => FND_API.g_false
1807: ,p_validation_level => FND_API.g_valid_level_full
1802: -- default claim line by settlement method
1803: IF l_claim_line_rec.update_from_tbl_flag = FND_API.g_false THEN
1804: OZF_CLAIM_SETTLEMENT_VAL_PVT.Default_Claim_Line(
1805: p_api_version => l_api_version
1806: ,p_init_msg_list => FND_API.g_false
1807: ,p_validation_level => FND_API.g_valid_level_full
1808: ,x_return_status => l_return_status
1809: ,x_msg_data => x_msg_data
1810: ,x_msg_count => x_msg_count
1803: IF l_claim_line_rec.update_from_tbl_flag = FND_API.g_false THEN
1804: OZF_CLAIM_SETTLEMENT_VAL_PVT.Default_Claim_Line(
1805: p_api_version => l_api_version
1806: ,p_init_msg_list => FND_API.g_false
1807: ,p_validation_level => FND_API.g_valid_level_full
1808: ,x_return_status => l_return_status
1809: ,x_msg_data => x_msg_data
1810: ,x_msg_count => x_msg_count
1811: ,p_x_claim_line_rec => l_claim_line_rec
1809: ,x_msg_data => x_msg_data
1810: ,x_msg_count => x_msg_count
1811: ,p_x_claim_line_rec => l_claim_line_rec
1812: );
1813: IF l_return_status = FND_API.g_ret_sts_error THEN
1814: RAISE FND_API.g_exc_error;
1815: ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
1816: RAISE FND_API.g_exc_unexpected_error;
1817: END IF;
1810: ,x_msg_count => x_msg_count
1811: ,p_x_claim_line_rec => l_claim_line_rec
1812: );
1813: IF l_return_status = FND_API.g_ret_sts_error THEN
1814: RAISE FND_API.g_exc_error;
1815: ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
1816: RAISE FND_API.g_exc_unexpected_error;
1817: END IF;
1818: END IF;
1811: ,p_x_claim_line_rec => l_claim_line_rec
1812: );
1813: IF l_return_status = FND_API.g_ret_sts_error THEN
1814: RAISE FND_API.g_exc_error;
1815: ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
1816: RAISE FND_API.g_exc_unexpected_error;
1817: END IF;
1818: END IF;
1819:
1812: );
1813: IF l_return_status = FND_API.g_ret_sts_error THEN
1814: RAISE FND_API.g_exc_error;
1815: ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
1816: RAISE FND_API.g_exc_unexpected_error;
1817: END IF;
1818: END IF;
1819:
1820: -- get functional currency
1823: CLOSE csr_function_currency;
1824:
1825: ------------------ checking quantity * rate -------------------
1826: -- added by slkrishn since the condition below is moved to tbl api
1827: IF l_claim_line_rec.update_from_tbl_flag = FND_API.g_false THEN
1828: IF l_claim_line_rec.quantity IS NOT NULL AND
1829: l_claim_line_rec.rate IS NOT NULL THEN
1830: l_claim_line_rec.claim_currency_amount := l_claim_line_rec.quantity * l_claim_line_rec.rate;
1831: END IF;
1863: X_RETURN_STATUS => l_return_status,
1864: X_ACC_AMOUNT => l_claim_line_rec.acctd_amount,
1865: X_RATE => l_claim_line_rec.exchange_rate
1866: );
1867: IF l_return_status = FND_API.g_ret_sts_error THEN
1868: RAISE FND_API.g_exc_error;
1869: ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
1870: RAISE FND_API.g_exc_unexpected_error;
1871: END IF;
1864: X_ACC_AMOUNT => l_claim_line_rec.acctd_amount,
1865: X_RATE => l_claim_line_rec.exchange_rate
1866: );
1867: IF l_return_status = FND_API.g_ret_sts_error THEN
1868: RAISE FND_API.g_exc_error;
1869: ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
1870: RAISE FND_API.g_exc_unexpected_error;
1871: END IF;
1872: -- END IF;
1865: X_RATE => l_claim_line_rec.exchange_rate
1866: );
1867: IF l_return_status = FND_API.g_ret_sts_error THEN
1868: RAISE FND_API.g_exc_error;
1869: ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
1870: RAISE FND_API.g_exc_unexpected_error;
1871: END IF;
1872: -- END IF;
1873: --Bug# 7319828 fixed by ateotia(-)
1866: );
1867: IF l_return_status = FND_API.g_ret_sts_error THEN
1868: RAISE FND_API.g_exc_error;
1869: ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
1870: RAISE FND_API.g_exc_unexpected_error;
1871: END IF;
1872: -- END IF;
1873: --Bug# 7319828 fixed by ateotia(-)
1874:
1887: p_claim_line_rec => l_claim_line_rec
1888: ,x_claim_line_rec => l_x_claim_line_rec
1889: ,x_return_status => l_return_status
1890: );
1891: IF l_return_status = FND_API.g_ret_sts_error THEN
1892: RAISE FND_API.g_exc_error;
1893: ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
1894: RAISE FND_API.g_exc_unexpected_error;
1895: END IF;
1888: ,x_claim_line_rec => l_x_claim_line_rec
1889: ,x_return_status => l_return_status
1890: );
1891: IF l_return_status = FND_API.g_ret_sts_error THEN
1892: RAISE FND_API.g_exc_error;
1893: ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
1894: RAISE FND_API.g_exc_unexpected_error;
1895: END IF;
1896: l_claim_line_rec := l_x_claim_line_rec;
1889: ,x_return_status => l_return_status
1890: );
1891: IF l_return_status = FND_API.g_ret_sts_error THEN
1892: RAISE FND_API.g_exc_error;
1893: ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
1894: RAISE FND_API.g_exc_unexpected_error;
1895: END IF;
1896: l_claim_line_rec := l_x_claim_line_rec;
1897: END IF;
1890: );
1891: IF l_return_status = FND_API.g_ret_sts_error THEN
1892: RAISE FND_API.g_exc_error;
1893: ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
1894: RAISE FND_API.g_exc_unexpected_error;
1895: END IF;
1896: l_claim_line_rec := l_x_claim_line_rec;
1897: END IF;
1898: -- raise error if claim currency amount is null
1900: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
1901: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_LINE_AMT_NULL');
1902: FND_MSG_PUB.add;
1903: END IF;
1904: RAISE FND_API.g_exc_error;
1905: END IF;
1906:
1907: /*-------------------------------------------------------*
1908: | validate |
1919: x_msg_count => x_msg_count,
1920: x_msg_data => x_msg_data,
1921: p_claim_line_rec => l_claim_line_rec
1922: );
1923: IF l_return_status = FND_API.g_ret_sts_error THEN
1924: RAISE FND_API.g_exc_error;
1925: ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
1926: RAISE FND_API.g_exc_unexpected_error;
1927: END IF;
1920: x_msg_data => x_msg_data,
1921: p_claim_line_rec => l_claim_line_rec
1922: );
1923: IF l_return_status = FND_API.g_ret_sts_error THEN
1924: RAISE FND_API.g_exc_error;
1925: ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
1926: RAISE FND_API.g_exc_unexpected_error;
1927: END IF;
1928:
1921: p_claim_line_rec => l_claim_line_rec
1922: );
1923: IF l_return_status = FND_API.g_ret_sts_error THEN
1924: RAISE FND_API.g_exc_error;
1925: ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
1926: RAISE FND_API.g_exc_unexpected_error;
1927: END IF;
1928:
1929: ------------------- amount rounding --------------------
1922: );
1923: IF l_return_status = FND_API.g_ret_sts_error THEN
1924: RAISE FND_API.g_exc_error;
1925: ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
1926: RAISE FND_API.g_exc_unexpected_error;
1927: END IF;
1928:
1929: ------------------- amount rounding --------------------
1930: IF l_claim_line_rec.claim_currency_amount IS NOT NULL THEN
1957: -- IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
1958: -- FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_LINE_AMT_SIGN_ERR');
1959: -- FND_MSG_PUB.add;
1960: -- END IF;
1961: -- RAISE FND_API.g_exc_error;
1962: --END IF;
1963:
1964: -- skip amount comparison if it's updating from tbl.
1965: -- update_from_tbl_flag condition commented by slkrishn
1964: -- skip amount comparison if it's updating from tbl.
1965: -- update_from_tbl_flag condition commented by slkrishn
1966: -- amount condition not working at table
1967: -- mchnag: open the checking again to fix BUG#2242664
1968: IF l_claim_line_rec.update_from_tbl_flag = FND_API.g_false AND
1969: l_claim_class <> 'GROUP' THEN
1970: -- get total of existing line amount (sum of claim_currency_amount)
1971: OPEN c_line_sum_amt(l_claim_line_rec.claim_id);
1972: FETCH c_line_sum_amt INTO l_line_sum_amt;
1978: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
1979: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_LINE_EXCESS_AMOUNT');
1980: FND_MSG_PUB.add;
1981: END IF;
1982: RAISE FND_API.g_exc_error;
1983: END IF;
1984: ELSIF ABS(l_claim_line_rec.claim_currency_amount) > ABS(l_claim_amount) THEN
1985: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
1986: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_LINE_EXCESS_AMOUNT');
1985: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
1986: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_LINE_EXCESS_AMOUNT');
1987: FND_MSG_PUB.add;
1988: END IF;
1989: RAISE FND_API.g_exc_error;
1990: END IF;
1991: END IF;
1992: END IF;
1993:
1992: END IF;
1993:
1994: OZF_CLAIM_SETTLEMENT_VAL_PVT.Validate_Claim_Line(
1995: p_api_version => l_api_version
1996: ,p_init_msg_list => FND_API.g_false
1997: ,p_validation_level => FND_API.g_valid_level_full
1998: ,x_return_status => l_return_status
1999: ,x_msg_data => x_msg_data
2000: ,x_msg_count => x_msg_count
1993:
1994: OZF_CLAIM_SETTLEMENT_VAL_PVT.Validate_Claim_Line(
1995: p_api_version => l_api_version
1996: ,p_init_msg_list => FND_API.g_false
1997: ,p_validation_level => FND_API.g_valid_level_full
1998: ,x_return_status => l_return_status
1999: ,x_msg_data => x_msg_data
2000: ,x_msg_count => x_msg_count
2001: ,p_claim_line_rec => l_claim_line_rec
1999: ,x_msg_data => x_msg_data
2000: ,x_msg_count => x_msg_count
2001: ,p_claim_line_rec => l_claim_line_rec
2002: );
2003: IF l_return_status = FND_API.g_ret_sts_error THEN
2004: RAISE FND_API.g_exc_error;
2005: ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
2006: RAISE FND_API.g_exc_unexpected_error;
2007: END IF;
2000: ,x_msg_count => x_msg_count
2001: ,p_claim_line_rec => l_claim_line_rec
2002: );
2003: IF l_return_status = FND_API.g_ret_sts_error THEN
2004: RAISE FND_API.g_exc_error;
2005: ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
2006: RAISE FND_API.g_exc_unexpected_error;
2007: END IF;
2008:
2001: ,p_claim_line_rec => l_claim_line_rec
2002: );
2003: IF l_return_status = FND_API.g_ret_sts_error THEN
2004: RAISE FND_API.g_exc_error;
2005: ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
2006: RAISE FND_API.g_exc_unexpected_error;
2007: END IF;
2008:
2009:
2002: );
2003: IF l_return_status = FND_API.g_ret_sts_error THEN
2004: RAISE FND_API.g_exc_error;
2005: ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
2006: RAISE FND_API.g_exc_unexpected_error;
2007: END IF;
2008:
2009:
2010: IF l_claim_line_rec.claim_line_id IS NULL THEN
2027: l_claim_line_rec.amount IS NOT NULL THEN
2028:
2029: OZF_CLAIM_TAX_PVT.Calculate_Claim_Line_Tax(
2030: p_api_version => l_api_version
2031: ,p_init_msg_list => FND_API.g_false
2032: ,p_validation_level => FND_API.g_valid_level_full
2033: ,x_return_status => l_return_status
2034: ,x_msg_data => x_msg_data
2035: ,x_msg_count => x_msg_count
2028:
2029: OZF_CLAIM_TAX_PVT.Calculate_Claim_Line_Tax(
2030: p_api_version => l_api_version
2031: ,p_init_msg_list => FND_API.g_false
2032: ,p_validation_level => FND_API.g_valid_level_full
2033: ,x_return_status => l_return_status
2034: ,x_msg_data => x_msg_data
2035: ,x_msg_count => x_msg_count
2036: ,p_x_claim_line_rec => l_claim_line_rec
2034: ,x_msg_data => x_msg_data
2035: ,x_msg_count => x_msg_count
2036: ,p_x_claim_line_rec => l_claim_line_rec
2037: );
2038: IF l_return_status = FND_API.g_ret_sts_error THEN
2039: RAISE FND_API.g_exc_error;
2040: ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
2041: RAISE FND_API.g_exc_unexpected_error;
2042: END IF;
2035: ,x_msg_count => x_msg_count
2036: ,p_x_claim_line_rec => l_claim_line_rec
2037: );
2038: IF l_return_status = FND_API.g_ret_sts_error THEN
2039: RAISE FND_API.g_exc_error;
2040: ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
2041: RAISE FND_API.g_exc_unexpected_error;
2042: END IF;
2043:
2036: ,p_x_claim_line_rec => l_claim_line_rec
2037: );
2038: IF l_return_status = FND_API.g_ret_sts_error THEN
2039: RAISE FND_API.g_exc_error;
2040: ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
2041: RAISE FND_API.g_exc_unexpected_error;
2042: END IF;
2043:
2044: END IF;
2037: );
2038: IF l_return_status = FND_API.g_ret_sts_error THEN
2039: RAISE FND_API.g_exc_error;
2040: ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
2041: RAISE FND_API.g_exc_unexpected_error;
2042: END IF;
2043:
2044: END IF;
2045:
2241: ------------------------- finish -------------------------------
2242: x_claim_line_id := l_claim_line_rec.claim_line_id;
2243:
2244: -- Check for commit
2245: IF FND_API.to_boolean(p_commit) THEN
2246: COMMIT;
2247: END IF;
2248:
2249: FND_MSG_PUB.count_and_get(
2246: COMMIT;
2247: END IF;
2248:
2249: FND_MSG_PUB.count_and_get(
2250: p_encoded => FND_API.g_false,
2251: p_count => x_msg_count,
2252: p_data => x_msg_data
2253: );
2254:
2256: OZF_Utility_PVT.debug_message(l_full_name ||': end');
2257: END IF;
2258:
2259: EXCEPTION
2260: WHEN FND_API.g_exc_error THEN
2261: ROLLBACK TO Create_Claim_Line;
2262: x_return_status := FND_API.g_ret_sts_error;
2263: FND_MSG_PUB.count_and_get (
2264: p_encoded => FND_API.g_false
2258:
2259: EXCEPTION
2260: WHEN FND_API.g_exc_error THEN
2261: ROLLBACK TO Create_Claim_Line;
2262: x_return_status := FND_API.g_ret_sts_error;
2263: FND_MSG_PUB.count_and_get (
2264: p_encoded => FND_API.g_false
2265: ,p_count => x_msg_count
2266: ,p_data => x_msg_data
2260: WHEN FND_API.g_exc_error THEN
2261: ROLLBACK TO Create_Claim_Line;
2262: x_return_status := FND_API.g_ret_sts_error;
2263: FND_MSG_PUB.count_and_get (
2264: p_encoded => FND_API.g_false
2265: ,p_count => x_msg_count
2266: ,p_data => x_msg_data
2267: );
2268:
2265: ,p_count => x_msg_count
2266: ,p_data => x_msg_data
2267: );
2268:
2269: WHEN FND_API.g_exc_unexpected_error THEN
2270: ROLLBACK TO Create_Claim_Line;
2271: x_return_status := FND_API.g_ret_sts_unexp_error ;
2272: FND_MSG_PUB.count_and_get (
2273: p_encoded => FND_API.g_false
2267: );
2268:
2269: WHEN FND_API.g_exc_unexpected_error THEN
2270: ROLLBACK TO Create_Claim_Line;
2271: x_return_status := FND_API.g_ret_sts_unexp_error ;
2272: FND_MSG_PUB.count_and_get (
2273: p_encoded => FND_API.g_false
2274: ,p_count => x_msg_count
2275: ,p_data => x_msg_data
2269: WHEN FND_API.g_exc_unexpected_error THEN
2270: ROLLBACK TO Create_Claim_Line;
2271: x_return_status := FND_API.g_ret_sts_unexp_error ;
2272: FND_MSG_PUB.count_and_get (
2273: p_encoded => FND_API.g_false
2274: ,p_count => x_msg_count
2275: ,p_data => x_msg_data
2276: );
2277:
2276: );
2277:
2278: WHEN OTHERS THEN
2279: ROLLBACK TO Create_Claim_Line;
2280: x_return_status := FND_API.g_ret_sts_unexp_error ;
2281: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
2282: FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
2283: END IF;
2284: FND_MSG_PUB.count_and_get(
2281: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
2282: FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
2283: END IF;
2284: FND_MSG_PUB.count_and_get(
2285: p_encoded => FND_API.g_false
2286: ,p_count => x_msg_count
2287: ,p_data => x_msg_data
2288: );
2289:
2301: -- 07/22/2002 yizhang add p_mode for security check
2302: ---------------------------------------------------------------------
2303: PROCEDURE Delete_Claim_Line_Tbl(
2304: p_api_version IN NUMBER
2305: ,p_init_msg_list IN VARCHAR2 := FND_API.g_false
2306: ,p_commit IN VARCHAR2 := FND_API.g_false
2307: ,p_validation_level IN NUMBER := FND_API.g_valid_level_full
2308:
2309: ,x_return_status OUT NOCOPY VARCHAR2
2302: ---------------------------------------------------------------------
2303: PROCEDURE Delete_Claim_Line_Tbl(
2304: p_api_version IN NUMBER
2305: ,p_init_msg_list IN VARCHAR2 := FND_API.g_false
2306: ,p_commit IN VARCHAR2 := FND_API.g_false
2307: ,p_validation_level IN NUMBER := FND_API.g_valid_level_full
2308:
2309: ,x_return_status OUT NOCOPY VARCHAR2
2310: ,x_msg_data OUT NOCOPY VARCHAR2
2303: PROCEDURE Delete_Claim_Line_Tbl(
2304: p_api_version IN NUMBER
2305: ,p_init_msg_list IN VARCHAR2 := FND_API.g_false
2306: ,p_commit IN VARCHAR2 := FND_API.g_false
2307: ,p_validation_level IN NUMBER := FND_API.g_valid_level_full
2308:
2309: ,x_return_status OUT NOCOPY VARCHAR2
2310: ,x_msg_data OUT NOCOPY VARCHAR2
2311: ,x_msg_count OUT NOCOPY NUMBER
2310: ,x_msg_data OUT NOCOPY VARCHAR2
2311: ,x_msg_count OUT NOCOPY NUMBER
2312:
2313: ,p_claim_line_tbl IN claim_line_tbl_type
2314: ,p_change_object_version IN VARCHAR2 := FND_API.g_false
2315: ,p_mode IN VARCHAR2 := OZF_CLAIM_UTILITY_PVT.g_auto_mode
2316: ,x_error_index OUT NOCOPY NUMBER
2317: ) IS
2318: l_api_version CONSTANT NUMBER := 1.0;
2361: IF OZF_DEBUG_HIGH_ON THEN
2362: OZF_Utility_PVT.debug_message(l_full_name||': start');
2363: END IF;
2364:
2365: IF FND_API.to_boolean(p_init_msg_list) THEN
2366: FND_MSG_PUB.initialize;
2367: END IF;
2368:
2369: IF NOT FND_API.compatible_api_call(
2365: IF FND_API.to_boolean(p_init_msg_list) THEN
2366: FND_MSG_PUB.initialize;
2367: END IF;
2368:
2369: IF NOT FND_API.compatible_api_call(
2370: l_api_version,
2371: p_api_version,
2372: l_api_name,
2373: g_pkg_name
2371: p_api_version,
2372: l_api_name,
2373: g_pkg_name
2374: ) THEN
2375: RAISE FND_API.g_exc_unexpected_error;
2376: END IF;
2377:
2378: x_return_status := FND_API.g_ret_sts_success;
2379:
2374: ) THEN
2375: RAISE FND_API.g_exc_unexpected_error;
2376: END IF;
2377:
2378: x_return_status := FND_API.g_ret_sts_success;
2379:
2380: ---------------------- check claim access ------------------------
2381: IF p_mode = OZF_CLAIM_UTILITY_PVT.g_manu_mode AND p_claim_line_tbl.count > 0 THEN
2382: FOR j IN p_claim_line_tbl.FIRST..p_claim_line_tbl.LAST LOOP
2382: FOR j IN p_claim_line_tbl.FIRST..p_claim_line_tbl.LAST LOOP
2383: IF p_claim_line_tbl.EXISTS(j) THEN
2384: OZF_CLAIM_UTILITY_PVT.Check_Claim_access(
2385: P_Api_Version_Number => 1.0
2386: , P_Init_Msg_List => FND_API.G_FALSE
2387: , p_validation_level => FND_API.G_VALID_LEVEL_FULL
2388: , P_Commit => FND_API.G_FALSE
2389: , P_object_id => p_claim_line_tbl(j).claim_id
2390: , P_object_type => G_CLAIM_OBJECT_TYPE
2383: IF p_claim_line_tbl.EXISTS(j) THEN
2384: OZF_CLAIM_UTILITY_PVT.Check_Claim_access(
2385: P_Api_Version_Number => 1.0
2386: , P_Init_Msg_List => FND_API.G_FALSE
2387: , p_validation_level => FND_API.G_VALID_LEVEL_FULL
2388: , P_Commit => FND_API.G_FALSE
2389: , P_object_id => p_claim_line_tbl(j).claim_id
2390: , P_object_type => G_CLAIM_OBJECT_TYPE
2391: , P_user_id => OZF_UTILITY_PVT.get_resource_id(NVL(FND_GLOBAL.user_id,-1))
2384: OZF_CLAIM_UTILITY_PVT.Check_Claim_access(
2385: P_Api_Version_Number => 1.0
2386: , P_Init_Msg_List => FND_API.G_FALSE
2387: , p_validation_level => FND_API.G_VALID_LEVEL_FULL
2388: , P_Commit => FND_API.G_FALSE
2389: , P_object_id => p_claim_line_tbl(j).claim_id
2390: , P_object_type => G_CLAIM_OBJECT_TYPE
2391: , P_user_id => OZF_UTILITY_PVT.get_resource_id(NVL(FND_GLOBAL.user_id,-1))
2392: , X_Return_Status => l_return_status
2398: IF FND_MSG_PUB.check_msg_level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
2399: FND_MESSAGE.set_name('OZF','OZF_CLAIM_NO_ACCESS');
2400: FND_MSG_PUB.add;
2401: END IF;
2402: RAISE FND_API.G_EXC_ERROR;
2403: END IF;
2404: EXIT;
2405: END IF;
2406: END LOOP;
2434: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
2435: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_LINE_AMT_SIGN_ERR');
2436: FND_MSG_PUB.add;
2437: END IF;
2438: RAISE FND_API.g_exc_error;
2439: END IF;
2440:
2441: IF ABS(l_effective_line_amount) > ABS(l_claim_amount)
2442: THEN
2443: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
2444: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_LINE_EXCESS_AMOUNT');
2445: FND_MSG_PUB.add;
2446: END IF;
2447: RAISE FND_API.g_exc_error;
2448: END IF;
2449: END IF;
2450: END IF;
2451: --------------------- End of Amount Checking -----------------------
2454: IF p_claim_line_tbl.count > 0 THEN
2455: FOR i IN p_claim_line_tbl.FIRST..p_claim_line_tbl.LAST LOOP
2456: IF p_claim_line_tbl.EXISTS(i) THEN
2457: l_claim_line_id := p_claim_line_tbl(i).claim_line_id;
2458: IF p_change_object_version = FND_API.g_true THEN
2459: --l_object_version := p_claim_line_tbl(i).object_version_number + 1;
2460: OPEN csr_line_obj_ver(p_claim_line_tbl(i).claim_line_id);
2461: FETCH csr_line_obj_ver INTO l_object_version;
2462: CLOSE csr_line_obj_ver;
2475: END IF;
2476: -- Call the delete claim line API
2477: Delete_Claim_Line(
2478: p_api_version => 1.0
2479: , p_init_msg_list => FND_API.g_false
2480: , p_commit => FND_API.g_false
2481: , x_return_status => l_return_status
2482: , x_msg_data => x_msg_data
2483: , x_msg_count => x_msg_count
2476: -- Call the delete claim line API
2477: Delete_Claim_Line(
2478: p_api_version => 1.0
2479: , p_init_msg_list => FND_API.g_false
2480: , p_commit => FND_API.g_false
2481: , x_return_status => l_return_status
2482: , x_msg_data => x_msg_data
2483: , x_msg_count => x_msg_count
2484: , p_claim_line_id => l_claim_line_id
2484: , p_claim_line_id => l_claim_line_id
2485: , p_object_version => l_object_version
2486: , p_mode => OZF_CLAIM_UTILITY_PVT.g_auto_mode
2487: );
2488: IF l_return_status = fnd_api.g_ret_sts_error THEN
2489: x_error_index := i;
2490: RAISE FND_API.g_exc_error;
2491: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2492: x_error_index := i;
2486: , p_mode => OZF_CLAIM_UTILITY_PVT.g_auto_mode
2487: );
2488: IF l_return_status = fnd_api.g_ret_sts_error THEN
2489: x_error_index := i;
2490: RAISE FND_API.g_exc_error;
2491: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2492: x_error_index := i;
2493: RAISE FND_API.g_exc_unexpected_error;
2494: END IF;
2487: );
2488: IF l_return_status = fnd_api.g_ret_sts_error THEN
2489: x_error_index := i;
2490: RAISE FND_API.g_exc_error;
2491: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2492: x_error_index := i;
2493: RAISE FND_API.g_exc_unexpected_error;
2494: END IF;
2495: END IF;
2489: x_error_index := i;
2490: RAISE FND_API.g_exc_error;
2491: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2492: x_error_index := i;
2493: RAISE FND_API.g_exc_unexpected_error;
2494: END IF;
2495: END IF;
2496: END LOOP;
2497: END IF;
2496: END LOOP;
2497: END IF;
2498:
2499: ------------------------- finish -------------------------------
2500: IF FND_API.to_boolean(p_commit) THEN
2501: COMMIT;
2502: END IF;
2503:
2504: FND_MSG_PUB.count_and_get(
2501: COMMIT;
2502: END IF;
2503:
2504: FND_MSG_PUB.count_and_get(
2505: p_encoded => FND_API.g_false,
2506: p_count => x_msg_count,
2507: p_data => x_msg_data
2508: );
2509:
2511: OZF_Utility_PVT.debug_message(l_full_name ||': end');
2512: END IF;
2513:
2514: EXCEPTION
2515: WHEN FND_API.g_exc_error THEN
2516: ROLLBACK TO Delete_Claim_Line_Tbl;
2517: x_return_status := FND_API.g_ret_sts_error;
2518: FND_MSG_PUB.count_and_get (
2519: p_encoded => FND_API.g_false
2513:
2514: EXCEPTION
2515: WHEN FND_API.g_exc_error THEN
2516: ROLLBACK TO Delete_Claim_Line_Tbl;
2517: x_return_status := FND_API.g_ret_sts_error;
2518: FND_MSG_PUB.count_and_get (
2519: p_encoded => FND_API.g_false
2520: ,p_count => x_msg_count
2521: ,p_data => x_msg_data
2515: WHEN FND_API.g_exc_error THEN
2516: ROLLBACK TO Delete_Claim_Line_Tbl;
2517: x_return_status := FND_API.g_ret_sts_error;
2518: FND_MSG_PUB.count_and_get (
2519: p_encoded => FND_API.g_false
2520: ,p_count => x_msg_count
2521: ,p_data => x_msg_data
2522: );
2523:
2520: ,p_count => x_msg_count
2521: ,p_data => x_msg_data
2522: );
2523:
2524: WHEN FND_API.g_exc_unexpected_error THEN
2525: ROLLBACK TO Delete_Claim_Line_Tbl;
2526: x_return_status := FND_API.g_ret_sts_unexp_error ;
2527: FND_MSG_PUB.count_and_get (
2528: p_encoded => FND_API.g_false
2522: );
2523:
2524: WHEN FND_API.g_exc_unexpected_error THEN
2525: ROLLBACK TO Delete_Claim_Line_Tbl;
2526: x_return_status := FND_API.g_ret_sts_unexp_error ;
2527: FND_MSG_PUB.count_and_get (
2528: p_encoded => FND_API.g_false
2529: ,p_count => x_msg_count
2530: ,p_data => x_msg_data
2524: WHEN FND_API.g_exc_unexpected_error THEN
2525: ROLLBACK TO Delete_Claim_Line_Tbl;
2526: x_return_status := FND_API.g_ret_sts_unexp_error ;
2527: FND_MSG_PUB.count_and_get (
2528: p_encoded => FND_API.g_false
2529: ,p_count => x_msg_count
2530: ,p_data => x_msg_data
2531: );
2532:
2531: );
2532:
2533: WHEN OTHERS THEN
2534: ROLLBACK TO Delete_Claim_Line_Tbl;
2535: x_return_status := FND_API.g_ret_sts_unexp_error ;
2536: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
2537: FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
2538: END IF;
2539: FND_MSG_PUB.count_and_get(
2536: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
2537: FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
2538: END IF;
2539: FND_MSG_PUB.count_and_get(
2540: p_encoded => FND_API.g_false
2541: ,p_count => x_msg_count
2542: ,p_data => x_msg_data
2543: );
2544:
2560: -- 07/22/2002 yizhang add p_mode for security check
2561: ---------------------------------------------------------------
2562: PROCEDURE Delete_Claim_Line(
2563: p_api_version IN NUMBER
2564: ,p_init_msg_list IN VARCHAR2 := FND_API.g_false
2565: ,p_commit IN VARCHAR2 := FND_API.g_false
2566:
2567: ,x_return_status OUT NOCOPY VARCHAR2
2568: ,x_msg_count OUT NOCOPY NUMBER
2561: ---------------------------------------------------------------
2562: PROCEDURE Delete_Claim_Line(
2563: p_api_version IN NUMBER
2564: ,p_init_msg_list IN VARCHAR2 := FND_API.g_false
2565: ,p_commit IN VARCHAR2 := FND_API.g_false
2566:
2567: ,x_return_status OUT NOCOPY VARCHAR2
2568: ,x_msg_count OUT NOCOPY NUMBER
2569: ,x_msg_data OUT NOCOPY VARCHAR2
2620: IF OZF_DEBUG_HIGH_ON THEN
2621: OZF_Utility_PVT.debug_message(l_full_name||': start');
2622: END IF;
2623:
2624: IF FND_API.to_boolean(p_init_msg_list) THEN
2625: FND_MSG_PUB.initialize;
2626: END IF;
2627:
2628: IF NOT FND_API.compatible_api_call(
2624: IF FND_API.to_boolean(p_init_msg_list) THEN
2625: FND_MSG_PUB.initialize;
2626: END IF;
2627:
2628: IF NOT FND_API.compatible_api_call(
2629: l_api_version,
2630: p_api_version,
2631: l_api_name,
2632: g_pkg_name
2630: p_api_version,
2631: l_api_name,
2632: g_pkg_name
2633: ) THEN
2634: RAISE FND_API.g_exc_unexpected_error;
2635: END IF;
2636:
2637: x_return_status := FND_API.G_RET_STS_SUCCESS;
2638:
2633: ) THEN
2634: RAISE FND_API.g_exc_unexpected_error;
2635: END IF;
2636:
2637: x_return_status := FND_API.G_RET_STS_SUCCESS;
2638:
2639: OPEN csr_claim_id(p_claim_line_id);
2640: FETCH csr_claim_id INTO l_claim_id;
2641: CLOSE csr_claim_id;
2643: ---------------------- check claim access ------------------------
2644: IF p_mode = OZF_CLAIM_UTILITY_PVT.g_manu_mode THEN
2645: OZF_CLAIM_UTILITY_PVT.Check_Claim_access(
2646: P_Api_Version_Number => 1.0
2647: , P_Init_Msg_List => FND_API.G_FALSE
2648: , p_validation_level => FND_API.G_VALID_LEVEL_FULL
2649: , P_Commit => FND_API.G_FALSE
2650: , P_object_id => l_claim_id
2651: , P_object_type => G_CLAIM_OBJECT_TYPE
2644: IF p_mode = OZF_CLAIM_UTILITY_PVT.g_manu_mode THEN
2645: OZF_CLAIM_UTILITY_PVT.Check_Claim_access(
2646: P_Api_Version_Number => 1.0
2647: , P_Init_Msg_List => FND_API.G_FALSE
2648: , p_validation_level => FND_API.G_VALID_LEVEL_FULL
2649: , P_Commit => FND_API.G_FALSE
2650: , P_object_id => l_claim_id
2651: , P_object_type => G_CLAIM_OBJECT_TYPE
2652: , P_user_id => OZF_UTILITY_PVT.get_resource_id(NVL(FND_GLOBAL.user_id,-1))
2645: OZF_CLAIM_UTILITY_PVT.Check_Claim_access(
2646: P_Api_Version_Number => 1.0
2647: , P_Init_Msg_List => FND_API.G_FALSE
2648: , p_validation_level => FND_API.G_VALID_LEVEL_FULL
2649: , P_Commit => FND_API.G_FALSE
2650: , P_object_id => l_claim_id
2651: , P_object_type => G_CLAIM_OBJECT_TYPE
2652: , P_user_id => OZF_UTILITY_PVT.get_resource_id(NVL(FND_GLOBAL.user_id,-1))
2653: , X_Return_Status => l_return_status
2659: IF FND_MSG_PUB.check_msg_level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
2660: FND_MESSAGE.set_name('OZF','OZF_CLAIM_NO_ACCESS');
2661: FND_MSG_PUB.add;
2662: END IF;
2663: RAISE FND_API.G_EXC_ERROR;
2664: END IF;
2665: END IF;
2666:
2667: --------------------- claim amount checking -----------------------
2681: --IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
2682: -- FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_LINE_EXCESS_AMOUNT');
2683: --FND_MSG_PUB.add;
2684: --END IF;
2685: --RAISE FND_API.g_exc_error;
2686: --END IF;
2687: --END IF;
2688:
2689: ------------------ Remove Associate Earnings ----------------
2700:
2701: IF l_counter > 1 THEN
2702: OZF_Claim_Accrual_PVT.Delete_Line_Util_Tbl(
2703: p_api_version => l_api_version
2704: ,p_init_msg_list => FND_API.g_false
2705: ,p_commit => FND_API.g_false
2706: ,p_validation_level => FND_API.g_valid_level_full
2707: ,x_return_status => l_return_status
2708: ,x_msg_data => x_msg_data
2701: IF l_counter > 1 THEN
2702: OZF_Claim_Accrual_PVT.Delete_Line_Util_Tbl(
2703: p_api_version => l_api_version
2704: ,p_init_msg_list => FND_API.g_false
2705: ,p_commit => FND_API.g_false
2706: ,p_validation_level => FND_API.g_valid_level_full
2707: ,x_return_status => l_return_status
2708: ,x_msg_data => x_msg_data
2709: ,x_msg_count => x_msg_count
2702: OZF_Claim_Accrual_PVT.Delete_Line_Util_Tbl(
2703: p_api_version => l_api_version
2704: ,p_init_msg_list => FND_API.g_false
2705: ,p_commit => FND_API.g_false
2706: ,p_validation_level => FND_API.g_valid_level_full
2707: ,x_return_status => l_return_status
2708: ,x_msg_data => x_msg_data
2709: ,x_msg_count => x_msg_count
2710: ,p_line_util_tbl => l_line_util_tbl
2710: ,p_line_util_tbl => l_line_util_tbl
2711: ,p_mode => OZF_CLAIM_UTILITY_PVT.g_auto_mode
2712: ,x_error_index => l_error_index
2713: );
2714: IF l_return_status = fnd_api.g_ret_sts_error THEN
2715: RAISE FND_API.g_exc_error;
2716: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2717: RAISE FND_API.g_exc_unexpected_error;
2718: END IF;
2711: ,p_mode => OZF_CLAIM_UTILITY_PVT.g_auto_mode
2712: ,x_error_index => l_error_index
2713: );
2714: IF l_return_status = fnd_api.g_ret_sts_error THEN
2715: RAISE FND_API.g_exc_error;
2716: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2717: RAISE FND_API.g_exc_unexpected_error;
2718: END IF;
2719: END IF;
2712: ,x_error_index => l_error_index
2713: );
2714: IF l_return_status = fnd_api.g_ret_sts_error THEN
2715: RAISE FND_API.g_exc_error;
2716: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2717: RAISE FND_API.g_exc_unexpected_error;
2718: END IF;
2719: END IF;
2720:
2713: );
2714: IF l_return_status = fnd_api.g_ret_sts_error THEN
2715: RAISE FND_API.g_exc_error;
2716: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2717: RAISE FND_API.g_exc_unexpected_error;
2718: END IF;
2719: END IF;
2720:
2721: ------------------------ Delete ------------------------
2733: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
2734: FND_MESSAGE.set_name('OZF', 'OZF_API_RECORD_NOT_FOUND');
2735: FND_MSG_PUB.add;
2736: END IF;
2737: RAISE FND_API.g_exc_error;
2738: END IF;
2739:
2740: -------------------- finish --------------------------
2741: IF FND_API.to_boolean(p_commit) THEN
2737: RAISE FND_API.g_exc_error;
2738: END IF;
2739:
2740: -------------------- finish --------------------------
2741: IF FND_API.to_boolean(p_commit) THEN
2742: COMMIT;
2743: END IF;
2744:
2745: FND_MSG_PUB.count_and_get(
2742: COMMIT;
2743: END IF;
2744:
2745: FND_MSG_PUB.count_and_get(
2746: p_encoded => FND_API.g_false,
2747: p_count => x_msg_count,
2748: p_data => x_msg_data
2749: );
2750:
2752: OZF_Utility_PVT.debug_message(l_full_name ||': end');
2753: END IF;
2754:
2755: EXCEPTION
2756: WHEN FND_API.g_exc_error THEN
2757: ROLLBACK TO Delete_Claim_Line;
2758: x_return_status := FND_API.g_ret_sts_error;
2759: FND_MSG_PUB.count_and_get(
2760: p_encoded => FND_API.g_false,
2754:
2755: EXCEPTION
2756: WHEN FND_API.g_exc_error THEN
2757: ROLLBACK TO Delete_Claim_Line;
2758: x_return_status := FND_API.g_ret_sts_error;
2759: FND_MSG_PUB.count_and_get(
2760: p_encoded => FND_API.g_false,
2761: p_count => x_msg_count,
2762: p_data => x_msg_data
2756: WHEN FND_API.g_exc_error THEN
2757: ROLLBACK TO Delete_Claim_Line;
2758: x_return_status := FND_API.g_ret_sts_error;
2759: FND_MSG_PUB.count_and_get(
2760: p_encoded => FND_API.g_false,
2761: p_count => x_msg_count,
2762: p_data => x_msg_data
2763: );
2764:
2761: p_count => x_msg_count,
2762: p_data => x_msg_data
2763: );
2764:
2765: WHEN FND_API.g_exc_unexpected_error THEN
2766: ROLLBACK TO Delete_Claim_Line;
2767: x_return_status := FND_API.g_ret_sts_unexp_error ;
2768: FND_MSG_PUB.count_and_get(
2769: p_encoded => FND_API.g_false,
2763: );
2764:
2765: WHEN FND_API.g_exc_unexpected_error THEN
2766: ROLLBACK TO Delete_Claim_Line;
2767: x_return_status := FND_API.g_ret_sts_unexp_error ;
2768: FND_MSG_PUB.count_and_get(
2769: p_encoded => FND_API.g_false,
2770: p_count => x_msg_count,
2771: p_data => x_msg_data
2765: WHEN FND_API.g_exc_unexpected_error THEN
2766: ROLLBACK TO Delete_Claim_Line;
2767: x_return_status := FND_API.g_ret_sts_unexp_error ;
2768: FND_MSG_PUB.count_and_get(
2769: p_encoded => FND_API.g_false,
2770: p_count => x_msg_count,
2771: p_data => x_msg_data
2772: );
2773:
2772: );
2773:
2774: WHEN OTHERS THEN
2775: ROLLBACK TO Delete_Claim_Line;
2776: x_return_status := FND_API.g_ret_sts_unexp_error ;
2777: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
2778: FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
2779: END IF;
2780: FND_MSG_PUB.count_and_get(
2777: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
2778: FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
2779: END IF;
2780: FND_MSG_PUB.count_and_get(
2781: p_encoded => FND_API.g_false,
2782: p_count => x_msg_count,
2783: p_data => x_msg_data
2784: );
2785:
2794: -- 07/11/2000 mchang Create.
2795: --------------------------------------------------------------------
2796: PROCEDURE Lock_Claim_Line(
2797: p_api_version IN NUMBER
2798: ,p_init_msg_list IN VARCHAR2 := FND_API.g_false
2799:
2800: ,x_return_status OUT NOCOPY VARCHAR2
2801: ,x_msg_count OUT NOCOPY NUMBER
2802: ,x_msg_data OUT NOCOPY VARCHAR2
2823: IF OZF_DEBUG_HIGH_ON THEN
2824: OZF_Utility_PVT.debug_message(l_full_name||': start');
2825: END IF;
2826:
2827: IF FND_API.to_boolean(p_init_msg_list) THEN
2828: FND_MSG_PUB.initialize;
2829: END IF;
2830:
2831: IF NOT FND_API.compatible_api_call(
2827: IF FND_API.to_boolean(p_init_msg_list) THEN
2828: FND_MSG_PUB.initialize;
2829: END IF;
2830:
2831: IF NOT FND_API.compatible_api_call(
2832: l_api_version,
2833: p_api_version,
2834: l_api_name,
2835: g_pkg_name
2833: p_api_version,
2834: l_api_name,
2835: g_pkg_name
2836: ) THEN
2837: RAISE FND_API.g_exc_unexpected_error;
2838: END IF;
2839:
2840: x_return_status := FND_API.g_ret_sts_success;
2841:
2836: ) THEN
2837: RAISE FND_API.g_exc_unexpected_error;
2838: END IF;
2839:
2840: x_return_status := FND_API.g_ret_sts_success;
2841:
2842: ------------------------ lock -------------------------
2843: IF OZF_DEBUG_HIGH_ON THEN
2844: OZF_Utility_PVT.debug_message(l_full_name||': lock');
2851: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
2852: FND_MESSAGE.set_name('OZF', 'OZF_API_RECORD_NOT_FOUND');
2853: FND_MSG_PUB.add;
2854: END IF;
2855: RAISE FND_API.g_exc_error;
2856: END IF;
2857: CLOSE c_claim_line;
2858:
2859: -------------------- finish --------------------------
2857: CLOSE c_claim_line;
2858:
2859: -------------------- finish --------------------------
2860: FND_MSG_PUB.count_and_get(
2861: p_encoded => FND_API.g_false,
2862: p_count => x_msg_count,
2863: p_data => x_msg_data
2864: );
2865:
2868: END IF;
2869:
2870: EXCEPTION
2871: WHEN OZF_Utility_PVT.resource_locked THEN
2872: x_return_status := FND_API.g_ret_sts_error;
2873: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
2874: FND_MESSAGE.set_name('OZF', 'OZF_API_RESOURCE_LOCKED');
2875: FND_MSG_PUB.add;
2876: END IF;
2874: FND_MESSAGE.set_name('OZF', 'OZF_API_RESOURCE_LOCKED');
2875: FND_MSG_PUB.add;
2876: END IF;
2877: FND_MSG_PUB.count_and_get(
2878: p_encoded => FND_API.g_false,
2879: p_count => x_msg_count,
2880: p_data => x_msg_data
2881: );
2882:
2879: p_count => x_msg_count,
2880: p_data => x_msg_data
2881: );
2882:
2883: WHEN FND_API.g_exc_error THEN
2884: x_return_status := FND_API.g_ret_sts_error;
2885: FND_MSG_PUB.count_and_get(
2886: p_encoded => FND_API.g_false,
2887: p_count => x_msg_count,
2880: p_data => x_msg_data
2881: );
2882:
2883: WHEN FND_API.g_exc_error THEN
2884: x_return_status := FND_API.g_ret_sts_error;
2885: FND_MSG_PUB.count_and_get(
2886: p_encoded => FND_API.g_false,
2887: p_count => x_msg_count,
2888: p_data => x_msg_data
2882:
2883: WHEN FND_API.g_exc_error THEN
2884: x_return_status := FND_API.g_ret_sts_error;
2885: FND_MSG_PUB.count_and_get(
2886: p_encoded => FND_API.g_false,
2887: p_count => x_msg_count,
2888: p_data => x_msg_data
2889: );
2890:
2887: p_count => x_msg_count,
2888: p_data => x_msg_data
2889: );
2890:
2891: WHEN FND_API.g_exc_unexpected_error THEN
2892: x_return_status := FND_API.g_ret_sts_unexp_error ;
2893: FND_MSG_PUB.count_and_get(
2894: p_encoded => FND_API.g_false,
2895: p_count => x_msg_count,
2888: p_data => x_msg_data
2889: );
2890:
2891: WHEN FND_API.g_exc_unexpected_error THEN
2892: x_return_status := FND_API.g_ret_sts_unexp_error ;
2893: FND_MSG_PUB.count_and_get(
2894: p_encoded => FND_API.g_false,
2895: p_count => x_msg_count,
2896: p_data => x_msg_data
2890:
2891: WHEN FND_API.g_exc_unexpected_error THEN
2892: x_return_status := FND_API.g_ret_sts_unexp_error ;
2893: FND_MSG_PUB.count_and_get(
2894: p_encoded => FND_API.g_false,
2895: p_count => x_msg_count,
2896: p_data => x_msg_data
2897: );
2898:
2896: p_data => x_msg_data
2897: );
2898:
2899: WHEN OTHERS THEN
2900: x_return_status := FND_API.g_ret_sts_unexp_error ;
2901: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
2902: FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
2903: END IF;
2904: FND_MSG_PUB.count_and_get(
2901: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
2902: FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
2903: END IF;
2904: FND_MSG_PUB.count_and_get(
2905: p_encoded => FND_API.g_false,
2906: p_count => x_msg_count,
2907: p_data => x_msg_data
2908: );
2909:
2934: l_activity_id NUMBER := NULL;
2935: l_earnings_associated_flag VARCHAR2(1);
2936:
2937: CURSOR csr_line_lock_items(cv_claim_line_id IN NUMBER) IS
2938: SELECT NVL(source_object_id, FND_API.g_miss_num)
2939: , NVL(source_object_class, FND_API.g_miss_char)
2940: , NVL(source_object_type_id, FND_API.g_miss_num)
2941: , NVL(plan_id, FND_API.g_miss_num)
2942: , NVL(item_id, FND_API.g_miss_num)
2935: l_earnings_associated_flag VARCHAR2(1);
2936:
2937: CURSOR csr_line_lock_items(cv_claim_line_id IN NUMBER) IS
2938: SELECT NVL(source_object_id, FND_API.g_miss_num)
2939: , NVL(source_object_class, FND_API.g_miss_char)
2940: , NVL(source_object_type_id, FND_API.g_miss_num)
2941: , NVL(plan_id, FND_API.g_miss_num)
2942: , NVL(item_id, FND_API.g_miss_num)
2943: , NVL(item_description, FND_API.g_miss_char)
2936:
2937: CURSOR csr_line_lock_items(cv_claim_line_id IN NUMBER) IS
2938: SELECT NVL(source_object_id, FND_API.g_miss_num)
2939: , NVL(source_object_class, FND_API.g_miss_char)
2940: , NVL(source_object_type_id, FND_API.g_miss_num)
2941: , NVL(plan_id, FND_API.g_miss_num)
2942: , NVL(item_id, FND_API.g_miss_num)
2943: , NVL(item_description, FND_API.g_miss_char)
2944: , NVL(activity_type, FND_API.g_miss_char)
2937: CURSOR csr_line_lock_items(cv_claim_line_id IN NUMBER) IS
2938: SELECT NVL(source_object_id, FND_API.g_miss_num)
2939: , NVL(source_object_class, FND_API.g_miss_char)
2940: , NVL(source_object_type_id, FND_API.g_miss_num)
2941: , NVL(plan_id, FND_API.g_miss_num)
2942: , NVL(item_id, FND_API.g_miss_num)
2943: , NVL(item_description, FND_API.g_miss_char)
2944: , NVL(activity_type, FND_API.g_miss_char)
2945: , NVL(activity_id, FND_API.g_miss_num)
2938: SELECT NVL(source_object_id, FND_API.g_miss_num)
2939: , NVL(source_object_class, FND_API.g_miss_char)
2940: , NVL(source_object_type_id, FND_API.g_miss_num)
2941: , NVL(plan_id, FND_API.g_miss_num)
2942: , NVL(item_id, FND_API.g_miss_num)
2943: , NVL(item_description, FND_API.g_miss_char)
2944: , NVL(activity_type, FND_API.g_miss_char)
2945: , NVL(activity_id, FND_API.g_miss_num)
2946: , earnings_associated_flag
2939: , NVL(source_object_class, FND_API.g_miss_char)
2940: , NVL(source_object_type_id, FND_API.g_miss_num)
2941: , NVL(plan_id, FND_API.g_miss_num)
2942: , NVL(item_id, FND_API.g_miss_num)
2943: , NVL(item_description, FND_API.g_miss_char)
2944: , NVL(activity_type, FND_API.g_miss_char)
2945: , NVL(activity_id, FND_API.g_miss_num)
2946: , earnings_associated_flag
2947: FROM ozf_claim_lines
2940: , NVL(source_object_type_id, FND_API.g_miss_num)
2941: , NVL(plan_id, FND_API.g_miss_num)
2942: , NVL(item_id, FND_API.g_miss_num)
2943: , NVL(item_description, FND_API.g_miss_char)
2944: , NVL(activity_type, FND_API.g_miss_char)
2945: , NVL(activity_id, FND_API.g_miss_num)
2946: , earnings_associated_flag
2947: FROM ozf_claim_lines
2948: WHERE claim_line_id = cv_claim_line_id;
2941: , NVL(plan_id, FND_API.g_miss_num)
2942: , NVL(item_id, FND_API.g_miss_num)
2943: , NVL(item_description, FND_API.g_miss_char)
2944: , NVL(activity_type, FND_API.g_miss_char)
2945: , NVL(activity_id, FND_API.g_miss_num)
2946: , earnings_associated_flag
2947: FROM ozf_claim_lines
2948: WHERE claim_line_id = cv_claim_line_id;
2949: BEGIN
2946: , earnings_associated_flag
2947: FROM ozf_claim_lines
2948: WHERE claim_line_id = cv_claim_line_id;
2949: BEGIN
2950: x_return_status := FND_API.g_ret_sts_success;
2951:
2952: -- get old claim line values
2953: OPEN csr_line_lock_items(p_claim_line_rec.claim_line_id);
2954: FETCH csr_line_lock_items INTO l_source_object_id
2962: , l_earnings_associated_flag;
2963: CLOSE csr_line_lock_items;
2964:
2965: -------------- Lock items when earnings is associated --------------
2966: IF l_earnings_associated_flag = FND_API.g_true THEN
2967: IF NVL(p_claim_line_rec.source_object_id,FND_API.g_miss_num) <> l_source_object_id THEN
2968: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
2969: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_LINE_LOCK');
2970: FND_MESSAGE.set_token('LOCK', 'Name OR Line / Product');
2963: CLOSE csr_line_lock_items;
2964:
2965: -------------- Lock items when earnings is associated --------------
2966: IF l_earnings_associated_flag = FND_API.g_true THEN
2967: IF NVL(p_claim_line_rec.source_object_id,FND_API.g_miss_num) <> l_source_object_id THEN
2968: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
2969: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_LINE_LOCK');
2970: FND_MESSAGE.set_token('LOCK', 'Name OR Line / Product');
2971: FND_MSG_PUB.add;
2969: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_LINE_LOCK');
2970: FND_MESSAGE.set_token('LOCK', 'Name OR Line / Product');
2971: FND_MSG_PUB.add;
2972: END IF;
2973: x_return_status := FND_API.g_ret_sts_error;
2974: RETURN;
2975: END IF;
2976: IF NVL(p_claim_line_rec.source_object_class,FND_API.g_miss_char) <> l_source_object_class THEN
2977: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
2972: END IF;
2973: x_return_status := FND_API.g_ret_sts_error;
2974: RETURN;
2975: END IF;
2976: IF NVL(p_claim_line_rec.source_object_class,FND_API.g_miss_char) <> l_source_object_class THEN
2977: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
2978: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_LINE_LOCK');
2979: FND_MESSAGE.set_token('LOCK', 'Type');
2980: FND_MSG_PUB.add;
2978: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_LINE_LOCK');
2979: FND_MESSAGE.set_token('LOCK', 'Type');
2980: FND_MSG_PUB.add;
2981: END IF;
2982: x_return_status := FND_API.g_ret_sts_error;
2983: RETURN;
2984: END IF;
2985: IF NVL(p_claim_line_rec.source_object_type_id,FND_API.g_miss_num) <> l_source_object_type_id THEN
2986: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
2981: END IF;
2982: x_return_status := FND_API.g_ret_sts_error;
2983: RETURN;
2984: END IF;
2985: IF NVL(p_claim_line_rec.source_object_type_id,FND_API.g_miss_num) <> l_source_object_type_id THEN
2986: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
2987: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_LINE_LOCK');
2988: FND_MESSAGE.set_token('LOCK', 'Type');
2989: FND_MSG_PUB.add;
2987: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_LINE_LOCK');
2988: FND_MESSAGE.set_token('LOCK', 'Type');
2989: FND_MSG_PUB.add;
2990: END IF;
2991: x_return_status := FND_API.g_ret_sts_error;
2992: RETURN;
2993: END IF;
2994: IF NVL(p_claim_line_rec.plan_id,FND_API.g_miss_num) <> l_plan_id THEN
2995: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
2990: END IF;
2991: x_return_status := FND_API.g_ret_sts_error;
2992: RETURN;
2993: END IF;
2994: IF NVL(p_claim_line_rec.plan_id,FND_API.g_miss_num) <> l_plan_id THEN
2995: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
2996: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_LINE_LOCK');
2997: FND_MESSAGE.set_token('LOCK', 'Type');
2998: FND_MSG_PUB.add;
2996: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_LINE_LOCK');
2997: FND_MESSAGE.set_token('LOCK', 'Type');
2998: FND_MSG_PUB.add;
2999: END IF;
3000: x_return_status := FND_API.g_ret_sts_error;
3001: RETURN;
3002: END IF;
3003: IF NVL(p_claim_line_rec.item_id,FND_API.g_miss_num) <> l_item_id THEN
3004: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
2999: END IF;
3000: x_return_status := FND_API.g_ret_sts_error;
3001: RETURN;
3002: END IF;
3003: IF NVL(p_claim_line_rec.item_id,FND_API.g_miss_num) <> l_item_id THEN
3004: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
3005: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_LINE_LOCK');
3006: FND_MESSAGE.set_token('LOCK', 'Line / Product');
3007: FND_MSG_PUB.add;
3005: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_LINE_LOCK');
3006: FND_MESSAGE.set_token('LOCK', 'Line / Product');
3007: FND_MSG_PUB.add;
3008: END IF;
3009: x_return_status := FND_API.g_ret_sts_error;
3010: RETURN;
3011: END IF;
3012: /*
3013: IF NVL(p_claim_line_rec.item_description,FND_API.g_miss_char) <> l_item_description THEN
3009: x_return_status := FND_API.g_ret_sts_error;
3010: RETURN;
3011: END IF;
3012: /*
3013: IF NVL(p_claim_line_rec.item_description,FND_API.g_miss_char) <> l_item_description THEN
3014: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
3015: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_LINE_LOCK');
3016: FND_MESSAGE.set_token('LOCK', 'ITEM_DESCRIPTION');
3017: FND_MSG_PUB.add;
3015: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_LINE_LOCK');
3016: FND_MESSAGE.set_token('LOCK', 'ITEM_DESCRIPTION');
3017: FND_MSG_PUB.add;
3018: END IF;
3019: x_return_status := FND_API.g_ret_sts_error;
3020: RETURN;
3021: END IF;
3022: */
3023: IF NVL(p_claim_line_rec.activity_type,FND_API.g_miss_char) <> l_activity_type THEN
3019: x_return_status := FND_API.g_ret_sts_error;
3020: RETURN;
3021: END IF;
3022: */
3023: IF NVL(p_claim_line_rec.activity_type,FND_API.g_miss_char) <> l_activity_type THEN
3024: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
3025: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_LINE_LOCK');
3026: FND_MESSAGE.set_token('LOCK', 'Name');
3027: FND_MSG_PUB.add;
3025: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_LINE_LOCK');
3026: FND_MESSAGE.set_token('LOCK', 'Name');
3027: FND_MSG_PUB.add;
3028: END IF;
3029: x_return_status := FND_API.g_ret_sts_error;
3030: RETURN;
3031: END IF;
3032: IF NVL(p_claim_line_rec.activity_id,FND_API.g_miss_num) <> l_activity_id THEN
3033: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
3028: END IF;
3029: x_return_status := FND_API.g_ret_sts_error;
3030: RETURN;
3031: END IF;
3032: IF NVL(p_claim_line_rec.activity_id,FND_API.g_miss_num) <> l_activity_id THEN
3033: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
3034: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_LINE_LOCK');
3035: FND_MESSAGE.set_token('LOCK', 'Name');
3036: FND_MSG_PUB.add;
3034: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_LINE_LOCK');
3035: FND_MESSAGE.set_token('LOCK', 'Name');
3036: FND_MSG_PUB.add;
3037: END IF;
3038: x_return_status := FND_API.g_ret_sts_error;
3039: RETURN;
3040: END IF;
3041: END IF;
3042:
3054: -- 23/01/2002 slkrishn modified amount checking conditions
3055: ---------------------------------------------------------------------
3056: PROCEDURE Update_Claim_Line_Tbl(
3057: p_api_version IN NUMBER
3058: ,p_init_msg_list IN VARCHAR2 := FND_API.g_false
3059: ,p_commit IN VARCHAR2 := FND_API.g_false
3060: ,p_validation_level IN NUMBER := FND_API.g_valid_level_full
3061:
3062: ,x_return_status OUT NOCOPY VARCHAR2
3055: ---------------------------------------------------------------------
3056: PROCEDURE Update_Claim_Line_Tbl(
3057: p_api_version IN NUMBER
3058: ,p_init_msg_list IN VARCHAR2 := FND_API.g_false
3059: ,p_commit IN VARCHAR2 := FND_API.g_false
3060: ,p_validation_level IN NUMBER := FND_API.g_valid_level_full
3061:
3062: ,x_return_status OUT NOCOPY VARCHAR2
3063: ,x_msg_data OUT NOCOPY VARCHAR2
3056: PROCEDURE Update_Claim_Line_Tbl(
3057: p_api_version IN NUMBER
3058: ,p_init_msg_list IN VARCHAR2 := FND_API.g_false
3059: ,p_commit IN VARCHAR2 := FND_API.g_false
3060: ,p_validation_level IN NUMBER := FND_API.g_valid_level_full
3061:
3062: ,x_return_status OUT NOCOPY VARCHAR2
3063: ,x_msg_data OUT NOCOPY VARCHAR2
3064: ,x_msg_count OUT NOCOPY NUMBER
3063: ,x_msg_data OUT NOCOPY VARCHAR2
3064: ,x_msg_count OUT NOCOPY NUMBER
3065:
3066: ,p_claim_line_tbl IN claim_line_tbl_type
3067: ,p_change_object_version IN VARCHAR2 := FND_API.g_false
3068: ,p_mode IN VARCHAR2 := OZF_CLAIM_UTILITY_PVT.g_auto_mode
3069:
3070: ,x_error_index OUT NOCOPY NUMBER
3071: ) IS
3138: IF OZF_DEBUG_HIGH_ON THEN
3139: OZF_Utility_PVT.debug_message(l_full_name||': start');
3140: END IF;
3141:
3142: IF FND_API.to_boolean(p_init_msg_list) THEN
3143: FND_MSG_PUB.initialize;
3144: END IF;
3145:
3146: IF NOT FND_API.compatible_api_call(
3142: IF FND_API.to_boolean(p_init_msg_list) THEN
3143: FND_MSG_PUB.initialize;
3144: END IF;
3145:
3146: IF NOT FND_API.compatible_api_call(
3147: l_api_version,
3148: p_api_version,
3149: l_api_name,
3150: g_pkg_name
3148: p_api_version,
3149: l_api_name,
3150: g_pkg_name
3151: ) THEN
3152: RAISE FND_API.g_exc_unexpected_error;
3153: END IF;
3154:
3155: x_return_status := FND_API.g_ret_sts_success;
3156:
3151: ) THEN
3152: RAISE FND_API.g_exc_unexpected_error;
3153: END IF;
3154:
3155: x_return_status := FND_API.g_ret_sts_success;
3156:
3157: l_claim_line_tbl := p_claim_line_tbl;
3158:
3159: ---------------------- check claim access ------------------------
3161: FOR j IN p_claim_line_tbl.FIRST..p_claim_line_tbl.LAST LOOP
3162: IF p_claim_line_tbl.EXISTS(j) THEN
3163: OZF_CLAIM_UTILITY_PVT.Check_Claim_access(
3164: P_Api_Version_Number => 1.0
3165: , P_Init_Msg_List => FND_API.G_FALSE
3166: , p_validation_level => FND_API.G_VALID_LEVEL_FULL
3167: , P_Commit => FND_API.G_FALSE
3168: , P_object_id => p_claim_line_tbl(j).claim_id
3169: , P_object_type => G_CLAIM_OBJECT_TYPE
3162: IF p_claim_line_tbl.EXISTS(j) THEN
3163: OZF_CLAIM_UTILITY_PVT.Check_Claim_access(
3164: P_Api_Version_Number => 1.0
3165: , P_Init_Msg_List => FND_API.G_FALSE
3166: , p_validation_level => FND_API.G_VALID_LEVEL_FULL
3167: , P_Commit => FND_API.G_FALSE
3168: , P_object_id => p_claim_line_tbl(j).claim_id
3169: , P_object_type => G_CLAIM_OBJECT_TYPE
3170: , P_user_id => OZF_UTILITY_PVT.get_resource_id(NVL(FND_GLOBAL.user_id,-1))
3163: OZF_CLAIM_UTILITY_PVT.Check_Claim_access(
3164: P_Api_Version_Number => 1.0
3165: , P_Init_Msg_List => FND_API.G_FALSE
3166: , p_validation_level => FND_API.G_VALID_LEVEL_FULL
3167: , P_Commit => FND_API.G_FALSE
3168: , P_object_id => p_claim_line_tbl(j).claim_id
3169: , P_object_type => G_CLAIM_OBJECT_TYPE
3170: , P_user_id => OZF_UTILITY_PVT.get_resource_id(NVL(FND_GLOBAL.user_id,-1))
3171: , X_Return_Status => l_return_status
3177: IF FND_MSG_PUB.check_msg_level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
3178: FND_MESSAGE.set_name('OZF','OZF_CLAIM_NO_ACCESS');
3179: FND_MSG_PUB.add;
3180: END IF;
3181: RAISE FND_API.G_EXC_ERROR;
3182: END IF;
3183: EXIT;
3184: END IF;
3185: END LOOP;
3187:
3188: ------------ Default Claim Line by Settlement Method ----------------
3189: OZF_CLAIM_SETTLEMENT_VAL_PVT.Default_Claim_Line_Tbl(
3190: p_api_version => l_api_version
3191: ,p_init_msg_list => FND_API.g_false
3192: ,p_validation_level => p_validation_level
3193: ,x_return_status => l_return_status
3194: ,x_msg_data => x_msg_data
3195: ,x_msg_count => x_msg_count
3194: ,x_msg_data => x_msg_data
3195: ,x_msg_count => x_msg_count
3196: ,p_x_claim_line_tbl => l_claim_line_tbl
3197: );
3198: IF l_return_status = fnd_api.g_ret_sts_error THEN
3199: RAISE FND_API.g_exc_error;
3200: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
3201: RAISE FND_API.g_exc_unexpected_error;
3202: END IF;
3195: ,x_msg_count => x_msg_count
3196: ,p_x_claim_line_tbl => l_claim_line_tbl
3197: );
3198: IF l_return_status = fnd_api.g_ret_sts_error THEN
3199: RAISE FND_API.g_exc_error;
3200: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
3201: RAISE FND_API.g_exc_unexpected_error;
3202: END IF;
3203:
3196: ,p_x_claim_line_tbl => l_claim_line_tbl
3197: );
3198: IF l_return_status = fnd_api.g_ret_sts_error THEN
3199: RAISE FND_API.g_exc_error;
3200: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
3201: RAISE FND_API.g_exc_unexpected_error;
3202: END IF;
3203:
3204: --------------------- Amount Checking -----------------------
3197: );
3198: IF l_return_status = fnd_api.g_ret_sts_error THEN
3199: RAISE FND_API.g_exc_error;
3200: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
3201: RAISE FND_API.g_exc_unexpected_error;
3202: END IF;
3203:
3204: --------------------- Amount Checking -----------------------
3205:
3231: -- Bug#9957893 (+)
3232: -- Fix for Bug 10383102: Added a check for source_object_line_id
3233: IF l_claim_line_tbl(j).source_object_class = 'INVOICE' AND
3234: l_claim_line_tbl(j).source_object_line_id IS NOT NULL AND
3235: l_claim_line_tbl(j).source_object_line_id <> FND_API.G_MISS_NUM THEN
3236:
3237: l_tot_quantity := l_claim_line_tbl(j).quantity;
3238:
3239: FOR m IN j+1..l_claim_line_tbl.LAST LOOP
3257: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_LINE_INV_QTY');
3258: FND_MSG_PUB.add;
3259: END IF;
3260: x_error_index := j;
3261: RAISE FND_API.g_exc_error;
3262: END IF;
3263: END IF;
3264: -- Bug#9957893 (-)
3265:
3264: -- Bug#9957893 (-)
3265:
3266: -- added by slkrishn
3267: IF (l_claim_line_tbl(j).quantity IS NOT NULL AND
3268: l_claim_line_tbl(j).quantity <> FND_API.g_miss_num)
3269: AND (l_claim_line_tbl(j).rate IS NOT NULL AND
3270: l_claim_line_tbl(j).rate <> FND_API.g_miss_num)
3271: THEN
3272: l_claim_line_tbl(j).claim_currency_amount :=
3266: -- added by slkrishn
3267: IF (l_claim_line_tbl(j).quantity IS NOT NULL AND
3268: l_claim_line_tbl(j).quantity <> FND_API.g_miss_num)
3269: AND (l_claim_line_tbl(j).rate IS NOT NULL AND
3270: l_claim_line_tbl(j).rate <> FND_API.g_miss_num)
3271: THEN
3272: l_claim_line_tbl(j).claim_currency_amount :=
3273: l_claim_line_tbl(j).quantity * l_claim_line_tbl(j).rate;
3274: END IF;
3279: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_LINE_AMT_NULL');
3280: FND_MSG_PUB.add;
3281: END IF;
3282: x_error_index := j;
3283: RAISE FND_API.g_exc_error;
3284: ELSE
3285: IF OZF_DEBUG_HIGH_ON THEN
3286: OZF_Utility_PVT.debug_message('Before CurrRound :: claim line currency_currency_amount = '||l_claim_line_tbl(j).claim_currency_amount);
3287: OZF_Utility_PVT.debug_message('Before CurrRound :: claim currency code = '||l_currency_code);
3314: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
3315: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_LINE_AMT_SIGN_ERR');
3316: FND_MSG_PUB.add;
3317: END IF;
3318: RAISE FND_API.g_exc_error;
3319: END IF;
3320:
3321: END IF;
3322:
3328: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
3329: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_LINE_EXCESS_AMOUNT');
3330: FND_MSG_PUB.add;
3331: END IF;
3332: RAISE FND_API.g_exc_error;
3333: END IF;
3334: END IF;
3335:
3336: END IF;
3340: IF l_claim_line_tbl.count > 0 THEN
3341: FOR i IN l_claim_line_tbl.FIRST..l_claim_line_tbl.LAST LOOP
3342: IF l_claim_line_tbl.EXISTS(i) THEN
3343: l_claim_line_rec := l_claim_line_tbl(i);
3344: IF p_change_object_version = FND_API.g_true THEN
3345: --l_claim_line_rec.object_version_number := l_claim_line_rec.object_version_number + 1;
3346: OPEN csr_line_obj_ver(l_claim_line_tbl(i).claim_line_id);
3347: FETCH csr_line_obj_ver INTO l_claim_line_rec.object_version_number;
3348: CLOSE csr_line_obj_ver;
3346: OPEN csr_line_obj_ver(l_claim_line_tbl(i).claim_line_id);
3347: FETCH csr_line_obj_ver INTO l_claim_line_rec.object_version_number;
3348: CLOSE csr_line_obj_ver;
3349: END IF;
3350: l_claim_line_rec.update_from_tbl_flag := FND_API.g_true;
3351:
3352: -- Call the update claim line API
3353: Update_Claim_Line(
3354: p_api_version => 1.0
3351:
3352: -- Call the update claim line API
3353: Update_Claim_Line(
3354: p_api_version => 1.0
3355: , p_init_msg_list => FND_API.g_false
3356: , p_commit => FND_API.g_false
3357: , p_validation_level => p_validation_level
3358: , x_return_status => l_return_status
3359: , x_msg_data => x_msg_data
3352: -- Call the update claim line API
3353: Update_Claim_Line(
3354: p_api_version => 1.0
3355: , p_init_msg_list => FND_API.g_false
3356: , p_commit => FND_API.g_false
3357: , p_validation_level => p_validation_level
3358: , x_return_status => l_return_status
3359: , x_msg_data => x_msg_data
3360: , x_msg_count => x_msg_count
3361: , p_claim_line_rec => l_claim_line_rec
3362: , p_mode => OZF_CLAIM_UTILITY_PVT.g_auto_mode
3363: , x_object_version => l_object_version
3364: );
3365: IF l_return_status = fnd_api.g_ret_sts_error THEN
3366: x_error_index := i;
3367: RAISE FND_API.g_exc_error;
3368: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
3369: x_error_index := i;
3363: , x_object_version => l_object_version
3364: );
3365: IF l_return_status = fnd_api.g_ret_sts_error THEN
3366: x_error_index := i;
3367: RAISE FND_API.g_exc_error;
3368: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
3369: x_error_index := i;
3370: RAISE FND_API.g_exc_unexpected_error;
3371: END IF;
3364: );
3365: IF l_return_status = fnd_api.g_ret_sts_error THEN
3366: x_error_index := i;
3367: RAISE FND_API.g_exc_error;
3368: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
3369: x_error_index := i;
3370: RAISE FND_API.g_exc_unexpected_error;
3371: END IF;
3372: END IF;
3366: x_error_index := i;
3367: RAISE FND_API.g_exc_error;
3368: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
3369: x_error_index := i;
3370: RAISE FND_API.g_exc_unexpected_error;
3371: END IF;
3372: END IF;
3373: END LOOP;
3374: END IF;
3373: END LOOP;
3374: END IF;
3375:
3376: ------------------------- finish -------------------------------
3377: IF FND_API.to_boolean(p_commit) THEN
3378: COMMIT;
3379: END IF;
3380:
3381: FND_MSG_PUB.count_and_get(
3378: COMMIT;
3379: END IF;
3380:
3381: FND_MSG_PUB.count_and_get(
3382: p_encoded => FND_API.g_false,
3383: p_count => x_msg_count,
3384: p_data => x_msg_data
3385: );
3386:
3388: OZF_Utility_PVT.debug_message(l_full_name ||': end');
3389: END IF;
3390:
3391: EXCEPTION
3392: WHEN FND_API.g_exc_error THEN
3393: ROLLBACK TO Update_Claim_Line_Tbl;
3394: x_return_status := FND_API.g_ret_sts_error;
3395: FND_MSG_PUB.count_and_get (
3396: p_encoded => FND_API.g_false
3390:
3391: EXCEPTION
3392: WHEN FND_API.g_exc_error THEN
3393: ROLLBACK TO Update_Claim_Line_Tbl;
3394: x_return_status := FND_API.g_ret_sts_error;
3395: FND_MSG_PUB.count_and_get (
3396: p_encoded => FND_API.g_false
3397: ,p_count => x_msg_count
3398: ,p_data => x_msg_data
3392: WHEN FND_API.g_exc_error THEN
3393: ROLLBACK TO Update_Claim_Line_Tbl;
3394: x_return_status := FND_API.g_ret_sts_error;
3395: FND_MSG_PUB.count_and_get (
3396: p_encoded => FND_API.g_false
3397: ,p_count => x_msg_count
3398: ,p_data => x_msg_data
3399: );
3400:
3397: ,p_count => x_msg_count
3398: ,p_data => x_msg_data
3399: );
3400:
3401: WHEN FND_API.g_exc_unexpected_error THEN
3402: ROLLBACK TO Update_Claim_Line_Tbl;
3403: x_return_status := FND_API.g_ret_sts_unexp_error ;
3404: FND_MSG_PUB.count_and_get (
3405: p_encoded => FND_API.g_false
3399: );
3400:
3401: WHEN FND_API.g_exc_unexpected_error THEN
3402: ROLLBACK TO Update_Claim_Line_Tbl;
3403: x_return_status := FND_API.g_ret_sts_unexp_error ;
3404: FND_MSG_PUB.count_and_get (
3405: p_encoded => FND_API.g_false
3406: ,p_count => x_msg_count
3407: ,p_data => x_msg_data
3401: WHEN FND_API.g_exc_unexpected_error THEN
3402: ROLLBACK TO Update_Claim_Line_Tbl;
3403: x_return_status := FND_API.g_ret_sts_unexp_error ;
3404: FND_MSG_PUB.count_and_get (
3405: p_encoded => FND_API.g_false
3406: ,p_count => x_msg_count
3407: ,p_data => x_msg_data
3408: );
3409:
3408: );
3409:
3410: WHEN OTHERS THEN
3411: ROLLBACK TO Update_Claim_Line_Tbl;
3412: x_return_status := FND_API.g_ret_sts_unexp_error ;
3413: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
3414: FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
3415: END IF;
3416: FND_MSG_PUB.count_and_get(
3413: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
3414: FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
3415: END IF;
3416: FND_MSG_PUB.count_and_get(
3417: p_encoded => FND_API.g_false
3418: ,p_count => x_msg_count
3419: ,p_data => x_msg_data
3420: );
3421:
3440: -- 07/22/2002 yizhang add p_mode for security check
3441: ----------------------------------------------------------------------
3442: PROCEDURE Update_Claim_Line(
3443: p_api_version IN NUMBER
3444: ,p_init_msg_list IN VARCHAR2 := FND_API.g_false
3445: ,p_commit IN VARCHAR2 := FND_API.g_false
3446: ,p_validation_level IN NUMBER := FND_API.g_valid_level_full
3447:
3448: ,x_return_status OUT NOCOPY VARCHAR2
3441: ----------------------------------------------------------------------
3442: PROCEDURE Update_Claim_Line(
3443: p_api_version IN NUMBER
3444: ,p_init_msg_list IN VARCHAR2 := FND_API.g_false
3445: ,p_commit IN VARCHAR2 := FND_API.g_false
3446: ,p_validation_level IN NUMBER := FND_API.g_valid_level_full
3447:
3448: ,x_return_status OUT NOCOPY VARCHAR2
3449: ,x_msg_count OUT NOCOPY NUMBER
3442: PROCEDURE Update_Claim_Line(
3443: p_api_version IN NUMBER
3444: ,p_init_msg_list IN VARCHAR2 := FND_API.g_false
3445: ,p_commit IN VARCHAR2 := FND_API.g_false
3446: ,p_validation_level IN NUMBER := FND_API.g_valid_level_full
3447:
3448: ,x_return_status OUT NOCOPY VARCHAR2
3449: ,x_msg_count OUT NOCOPY NUMBER
3450: ,x_msg_data OUT NOCOPY VARCHAR2
3556: IF OZF_DEBUG_HIGH_ON THEN
3557: OZF_Utility_PVT.debug_message(l_full_name||': start');
3558: END IF;
3559:
3560: IF FND_API.to_boolean(p_init_msg_list) THEN
3561: FND_MSG_PUB.initialize;
3562: END IF;
3563:
3564: IF NOT FND_API.compatible_api_call(
3560: IF FND_API.to_boolean(p_init_msg_list) THEN
3561: FND_MSG_PUB.initialize;
3562: END IF;
3563:
3564: IF NOT FND_API.compatible_api_call(
3565: l_api_version,
3566: p_api_version,
3567: l_api_name,
3568: g_pkg_name
3566: p_api_version,
3567: l_api_name,
3568: g_pkg_name
3569: ) THEN
3570: RAISE FND_API.g_exc_unexpected_error;
3571: END IF;
3572:
3573: x_return_status := FND_API.g_ret_sts_success;
3574:
3569: ) THEN
3570: RAISE FND_API.g_exc_unexpected_error;
3571: END IF;
3572:
3573: x_return_status := FND_API.g_ret_sts_success;
3574:
3575: ---------------------- check claim access ------------------------
3576: IF p_mode = OZF_CLAIM_UTILITY_PVT.g_manu_mode THEN
3577: OZF_CLAIM_UTILITY_PVT.Check_Claim_access(
3575: ---------------------- check claim access ------------------------
3576: IF p_mode = OZF_CLAIM_UTILITY_PVT.g_manu_mode THEN
3577: OZF_CLAIM_UTILITY_PVT.Check_Claim_access(
3578: P_Api_Version_Number => 1.0
3579: , P_Init_Msg_List => FND_API.G_FALSE
3580: , p_validation_level => FND_API.G_VALID_LEVEL_FULL
3581: , P_Commit => FND_API.G_FALSE
3582: , P_object_id => p_claim_line_rec.claim_id
3583: , P_object_type => G_CLAIM_OBJECT_TYPE
3576: IF p_mode = OZF_CLAIM_UTILITY_PVT.g_manu_mode THEN
3577: OZF_CLAIM_UTILITY_PVT.Check_Claim_access(
3578: P_Api_Version_Number => 1.0
3579: , P_Init_Msg_List => FND_API.G_FALSE
3580: , p_validation_level => FND_API.G_VALID_LEVEL_FULL
3581: , P_Commit => FND_API.G_FALSE
3582: , P_object_id => p_claim_line_rec.claim_id
3583: , P_object_type => G_CLAIM_OBJECT_TYPE
3584: , P_user_id => OZF_UTILITY_PVT.get_resource_id(NVL(FND_GLOBAL.user_id,-1))
3577: OZF_CLAIM_UTILITY_PVT.Check_Claim_access(
3578: P_Api_Version_Number => 1.0
3579: , P_Init_Msg_List => FND_API.G_FALSE
3580: , p_validation_level => FND_API.G_VALID_LEVEL_FULL
3581: , P_Commit => FND_API.G_FALSE
3582: , P_object_id => p_claim_line_rec.claim_id
3583: , P_object_type => G_CLAIM_OBJECT_TYPE
3584: , P_user_id => OZF_UTILITY_PVT.get_resource_id(NVL(FND_GLOBAL.user_id,-1))
3585: , X_Return_Status => l_return_status
3591: IF FND_MSG_PUB.check_msg_level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
3592: FND_MESSAGE.set_name('OZF','OZF_CLAIM_NO_ACCESS');
3593: FND_MSG_PUB.add;
3594: END IF;
3595: RAISE FND_API.G_EXC_ERROR;
3596: END IF;
3597: END IF;
3598:
3599: l_object_version_number := p_claim_line_rec.object_version_number + 1;
3603:
3604: -- Default UOM for product.
3605: IF l_claim_line_rec.item_type = 'PRODUCT'
3606: AND (l_claim_line_rec.item_id is not null
3607: AND l_claim_line_rec.item_id <> FND_API.G_MISS_NUM )
3608: AND (l_claim_line_rec.quantity_uom is null
3609: OR l_claim_line_rec.quantity_uom = FND_API.G_MISS_CHAR)
3610: THEN
3611: -- Bugfix 5182181
3605: IF l_claim_line_rec.item_type = 'PRODUCT'
3606: AND (l_claim_line_rec.item_id is not null
3607: AND l_claim_line_rec.item_id <> FND_API.G_MISS_NUM )
3608: AND (l_claim_line_rec.quantity_uom is null
3609: OR l_claim_line_rec.quantity_uom = FND_API.G_MISS_CHAR)
3610: THEN
3611: -- Bugfix 5182181
3612: l_claim_line_rec.quantity_uom := Get_Default_Product_UOM
3613: ( p_product_id => l_claim_line_rec.item_id
3624: p_validation_mode => JTF_PLSQL_API.g_update,
3625: x_return_status => l_return_status
3626: );
3627:
3628: IF l_return_status = FND_API.g_ret_sts_unexp_error THEN
3629: RAISE FND_API.g_exc_unexpected_error;
3630: ELSIF l_return_status = FND_API.g_ret_sts_error THEN
3631: RAISE FND_API.g_exc_error;
3632: END IF;
3625: x_return_status => l_return_status
3626: );
3627:
3628: IF l_return_status = FND_API.g_ret_sts_unexp_error THEN
3629: RAISE FND_API.g_exc_unexpected_error;
3630: ELSIF l_return_status = FND_API.g_ret_sts_error THEN
3631: RAISE FND_API.g_exc_error;
3632: END IF;
3633: END IF;
3626: );
3627:
3628: IF l_return_status = FND_API.g_ret_sts_unexp_error THEN
3629: RAISE FND_API.g_exc_unexpected_error;
3630: ELSIF l_return_status = FND_API.g_ret_sts_error THEN
3631: RAISE FND_API.g_exc_error;
3632: END IF;
3633: END IF;
3634:
3627:
3628: IF l_return_status = FND_API.g_ret_sts_unexp_error THEN
3629: RAISE FND_API.g_exc_unexpected_error;
3630: ELSIF l_return_status = FND_API.g_ret_sts_error THEN
3631: RAISE FND_API.g_exc_error;
3632: END IF;
3633: END IF;
3634:
3635: -- replace g_miss_char/num/date with current column values
3638: ,x_complete_rec => l_claim_line_rec
3639: );
3640:
3641: -- default claim line based on claim settlement method
3642: IF l_claim_line_rec.update_from_tbl_flag = FND_API.g_false THEN
3643: OZF_CLAIM_SETTLEMENT_VAL_PVT.Default_Claim_Line(
3644: p_api_version => l_api_version
3645: ,p_init_msg_list => FND_API.g_false
3646: ,p_validation_level => FND_API.g_valid_level_full
3641: -- default claim line based on claim settlement method
3642: IF l_claim_line_rec.update_from_tbl_flag = FND_API.g_false THEN
3643: OZF_CLAIM_SETTLEMENT_VAL_PVT.Default_Claim_Line(
3644: p_api_version => l_api_version
3645: ,p_init_msg_list => FND_API.g_false
3646: ,p_validation_level => FND_API.g_valid_level_full
3647: ,x_return_status => l_return_status
3648: ,x_msg_data => x_msg_data
3649: ,x_msg_count => x_msg_count
3642: IF l_claim_line_rec.update_from_tbl_flag = FND_API.g_false THEN
3643: OZF_CLAIM_SETTLEMENT_VAL_PVT.Default_Claim_Line(
3644: p_api_version => l_api_version
3645: ,p_init_msg_list => FND_API.g_false
3646: ,p_validation_level => FND_API.g_valid_level_full
3647: ,x_return_status => l_return_status
3648: ,x_msg_data => x_msg_data
3649: ,x_msg_count => x_msg_count
3650: ,p_x_claim_line_rec => l_claim_line_rec
3648: ,x_msg_data => x_msg_data
3649: ,x_msg_count => x_msg_count
3650: ,p_x_claim_line_rec => l_claim_line_rec
3651: );
3652: IF l_return_status = FND_API.g_ret_sts_error THEN
3653: RAISE FND_API.g_exc_error;
3654: ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
3655: RAISE FND_API.g_exc_unexpected_error;
3656: END IF;
3649: ,x_msg_count => x_msg_count
3650: ,p_x_claim_line_rec => l_claim_line_rec
3651: );
3652: IF l_return_status = FND_API.g_ret_sts_error THEN
3653: RAISE FND_API.g_exc_error;
3654: ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
3655: RAISE FND_API.g_exc_unexpected_error;
3656: END IF;
3657: END IF;
3650: ,p_x_claim_line_rec => l_claim_line_rec
3651: );
3652: IF l_return_status = FND_API.g_ret_sts_error THEN
3653: RAISE FND_API.g_exc_error;
3654: ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
3655: RAISE FND_API.g_exc_unexpected_error;
3656: END IF;
3657: END IF;
3658:
3651: );
3652: IF l_return_status = FND_API.g_ret_sts_error THEN
3653: RAISE FND_API.g_exc_error;
3654: ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
3655: RAISE FND_API.g_exc_unexpected_error;
3656: END IF;
3657: END IF;
3658:
3659: -- lock line items when earning is associated
3661: p_claim_line_rec => l_claim_line_rec
3662: ,x_return_status => l_return_status
3663: );
3664:
3665: IF l_return_status = FND_API.g_ret_sts_unexp_error THEN
3666: RAISE FND_API.g_exc_unexpected_error;
3667: ELSIF l_return_status = FND_API.g_ret_sts_error THEN
3668: RAISE FND_API.g_exc_error;
3669: END IF;
3662: ,x_return_status => l_return_status
3663: );
3664:
3665: IF l_return_status = FND_API.g_ret_sts_unexp_error THEN
3666: RAISE FND_API.g_exc_unexpected_error;
3667: ELSIF l_return_status = FND_API.g_ret_sts_error THEN
3668: RAISE FND_API.g_exc_error;
3669: END IF;
3670:
3663: );
3664:
3665: IF l_return_status = FND_API.g_ret_sts_unexp_error THEN
3666: RAISE FND_API.g_exc_unexpected_error;
3667: ELSIF l_return_status = FND_API.g_ret_sts_error THEN
3668: RAISE FND_API.g_exc_error;
3669: END IF;
3670:
3671: -- record level validation
3664:
3665: IF l_return_status = FND_API.g_ret_sts_unexp_error THEN
3666: RAISE FND_API.g_exc_unexpected_error;
3667: ELSIF l_return_status = FND_API.g_ret_sts_error THEN
3668: RAISE FND_API.g_exc_error;
3669: END IF;
3670:
3671: -- record level validation
3672: IF l_claim_line_rec.update_from_tbl_flag = FND_API.g_false THEN
3668: RAISE FND_API.g_exc_error;
3669: END IF;
3670:
3671: -- record level validation
3672: IF l_claim_line_rec.update_from_tbl_flag = FND_API.g_false THEN
3673: IF p_validation_level >= JTF_PLSQL_API.g_valid_level_record THEN
3674: Check_Claim_Line_Record(
3675: p_claim_line_rec => p_claim_line_rec,
3676: p_complete_rec => l_claim_line_rec,
3675: p_claim_line_rec => p_claim_line_rec,
3676: p_complete_rec => l_claim_line_rec,
3677: x_return_status => l_return_status
3678: );
3679: IF l_return_status = FND_API.g_ret_sts_unexp_error THEN
3680: RAISE FND_API.g_exc_unexpected_error;
3681: ELSIF l_return_status = FND_API.g_ret_sts_error THEN
3682: RAISE FND_API.g_exc_error;
3683: END IF;
3676: p_complete_rec => l_claim_line_rec,
3677: x_return_status => l_return_status
3678: );
3679: IF l_return_status = FND_API.g_ret_sts_unexp_error THEN
3680: RAISE FND_API.g_exc_unexpected_error;
3681: ELSIF l_return_status = FND_API.g_ret_sts_error THEN
3682: RAISE FND_API.g_exc_error;
3683: END IF;
3684: END IF;
3677: x_return_status => l_return_status
3678: );
3679: IF l_return_status = FND_API.g_ret_sts_unexp_error THEN
3680: RAISE FND_API.g_exc_unexpected_error;
3681: ELSIF l_return_status = FND_API.g_ret_sts_error THEN
3682: RAISE FND_API.g_exc_error;
3683: END IF;
3684: END IF;
3685: END IF;
3678: );
3679: IF l_return_status = FND_API.g_ret_sts_unexp_error THEN
3680: RAISE FND_API.g_exc_unexpected_error;
3681: ELSIF l_return_status = FND_API.g_ret_sts_error THEN
3682: RAISE FND_API.g_exc_error;
3683: END IF;
3684: END IF;
3685: END IF;
3686:
3685: END IF;
3686:
3687: -- skip qty*rate calc if it's updating from tbl.
3688: -- updated by slkrishn
3689: IF l_claim_line_rec.update_from_tbl_flag = FND_API.g_false THEN
3690: ------------------ checking quantity * rate -------------------
3691: IF (p_claim_line_rec.quantity IS NOT NULL AND
3692: p_claim_line_rec.quantity <> FND_API.g_miss_num) AND
3693: (p_claim_line_rec.rate IS NOT NULL
3688: -- updated by slkrishn
3689: IF l_claim_line_rec.update_from_tbl_flag = FND_API.g_false THEN
3690: ------------------ checking quantity * rate -------------------
3691: IF (p_claim_line_rec.quantity IS NOT NULL AND
3692: p_claim_line_rec.quantity <> FND_API.g_miss_num) AND
3693: (p_claim_line_rec.rate IS NOT NULL
3694: AND p_claim_line_rec.rate <> FND_API.g_miss_num)
3695: THEN
3696: l_claim_line_rec.claim_currency_amount := l_claim_line_rec.quantity * l_claim_line_rec.rate;
3690: ------------------ checking quantity * rate -------------------
3691: IF (p_claim_line_rec.quantity IS NOT NULL AND
3692: p_claim_line_rec.quantity <> FND_API.g_miss_num) AND
3693: (p_claim_line_rec.rate IS NOT NULL
3694: AND p_claim_line_rec.rate <> FND_API.g_miss_num)
3695: THEN
3696: l_claim_line_rec.claim_currency_amount := l_claim_line_rec.quantity * l_claim_line_rec.rate;
3697: END IF;
3698:
3701: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
3702: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_LINE_AMT_NULL');
3703: FND_MSG_PUB.add;
3704: END IF;
3705: RAISE FND_API.g_exc_error;
3706: END IF;
3707: END IF;
3708:
3709: ---------------- get claim exchange data -------------------
3707: END IF;
3708:
3709: ---------------- get claim exchange data -------------------
3710: -- No need to set global claim exc info if it's updating from tbl
3711: IF l_claim_line_rec.update_from_tbl_flag = FND_API.g_false THEN
3712: OPEN c_claim_default_exc(l_claim_line_rec.claim_id);
3713: FETCH c_claim_default_exc INTO G_CLAIM_SET_OF_BOOKS_ID
3714: , G_CLAIM_CURRENCY
3715: , G_CLAIM_EXC_TYPE
3743: OZF_Utility_PVT.debug_message('l_line_util_sum =' ||l_line_util_sum);
3744: OZF_Utility_PVT.debug_message('l_claim_line_rec.claim_currency_amount =' ||l_claim_line_rec.claim_currency_amount);
3745: END IF;
3746:
3747: IF (p_claim_line_rec.acctd_amount IS NULL OR p_claim_line_rec.acctd_amount = FND_API.g_miss_num) THEN
3748: IF l_claim_line_rec.claim_currency_amount IS NULL THEN
3749: l_claim_line_rec.acctd_amount := NULL;
3750: l_claim_line_rec.amount := NULL;
3751: ELSE
3767: X_RETURN_STATUS => l_return_status,
3768: X_ACC_AMOUNT => l_claim_line_rec.acctd_amount,
3769: X_RATE => l_rate
3770: );
3771: IF l_return_status = FND_API.g_ret_sts_error THEN
3772: RAISE FND_API.g_exc_error;
3773: ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
3774: RAISE FND_API.g_exc_unexpected_error;
3775: END IF;
3768: X_ACC_AMOUNT => l_claim_line_rec.acctd_amount,
3769: X_RATE => l_rate
3770: );
3771: IF l_return_status = FND_API.g_ret_sts_error THEN
3772: RAISE FND_API.g_exc_error;
3773: ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
3774: RAISE FND_API.g_exc_unexpected_error;
3775: END IF;
3776: END IF;
3769: X_RATE => l_rate
3770: );
3771: IF l_return_status = FND_API.g_ret_sts_error THEN
3772: RAISE FND_API.g_exc_error;
3773: ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
3774: RAISE FND_API.g_exc_unexpected_error;
3775: END IF;
3776: END IF;
3777:
3770: );
3771: IF l_return_status = FND_API.g_ret_sts_error THEN
3772: RAISE FND_API.g_exc_error;
3773: ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
3774: RAISE FND_API.g_exc_unexpected_error;
3775: END IF;
3776: END IF;
3777:
3778: -- Convert Line Amount
3780: -- Fix for 7443072
3781: -- Bugfix 7811671
3782: IF ((l_claim_line_rec.source_object_class IS NULL OR l_claim_line_rec.source_object_class IN('PPCUSTOMER','PPVENDOR','PPINCVENDOR','SD_SUPPLIER'))
3783: AND l_claim_line_rec.source_object_id IS NULL) THEN
3784: IF (p_claim_line_rec.claim_currency_amount <> FND_API.g_miss_num
3785: AND p_claim_line_rec.claim_currency_amount IS NOT NULL ) THEN
3786: l_claim_line_rec.currency_code := G_CLAIM_CURRENCY;
3787: l_claim_line_rec.exchange_rate_type := G_CLAIM_EXC_TYPE;
3788: l_claim_line_rec.exchange_rate_date := G_CLAIM_EXC_DATE;
3790: l_claim_line_rec.amount := l_claim_line_rec.claim_currency_amount;
3791: END IF;
3792: --Fix for Bug 14808223 - Added ELSIF conditon
3793: ELSIF (l_claim_line_rec.source_object_class IS NOT NULL AND l_claim_line_rec.source_object_id IS NULL) THEN
3794: IF (p_claim_line_rec.claim_currency_amount <> FND_API.g_miss_num
3795: AND p_claim_line_rec.claim_currency_amount IS NOT NULL ) THEN
3796: l_claim_line_rec.currency_code := G_CLAIM_CURRENCY;
3797: l_claim_line_rec.exchange_rate_type := G_CLAIM_EXC_TYPE;
3798: l_claim_line_rec.exchange_rate_date := G_CLAIM_EXC_DATE;
3804: p_claim_line_rec => l_claim_line_rec
3805: ,x_claim_line_rec => l_x_claim_line_rec
3806: ,x_return_status => l_return_status
3807: );
3808: IF l_return_status = FND_API.g_ret_sts_error THEN
3809: RAISE FND_API.g_exc_error;
3810: ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
3811: RAISE FND_API.g_exc_unexpected_error;
3812: END IF;
3805: ,x_claim_line_rec => l_x_claim_line_rec
3806: ,x_return_status => l_return_status
3807: );
3808: IF l_return_status = FND_API.g_ret_sts_error THEN
3809: RAISE FND_API.g_exc_error;
3810: ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
3811: RAISE FND_API.g_exc_unexpected_error;
3812: END IF;
3813: l_claim_line_rec := l_x_claim_line_rec;
3806: ,x_return_status => l_return_status
3807: );
3808: IF l_return_status = FND_API.g_ret_sts_error THEN
3809: RAISE FND_API.g_exc_error;
3810: ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
3811: RAISE FND_API.g_exc_unexpected_error;
3812: END IF;
3813: l_claim_line_rec := l_x_claim_line_rec;
3814: END IF;
3807: );
3808: IF l_return_status = FND_API.g_ret_sts_error THEN
3809: RAISE FND_API.g_exc_error;
3810: ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
3811: RAISE FND_API.g_exc_unexpected_error;
3812: END IF;
3813: l_claim_line_rec := l_x_claim_line_rec;
3814: END IF;
3815: END IF;
3854: -- IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
3855: -- FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_LINE_AMT_SIGN_ERR');
3856: -- FND_MSG_PUB.add;
3857: -- END IF;
3858: -- RAISE FND_API.g_exc_error;
3859: -- END IF;
3860: --END IF;
3861: --END IF; --Bug:2781186
3862:
3863: -- skip amount comparison if it's updating from tbl.
3864: -- commenting update_from_tbl_flag since checking does not happen
3865: -- updated by skrishn
3866: -- mchang: open the cursor again to fix BUG#2242644
3867: IF l_claim_line_rec.update_from_tbl_flag = FND_API.g_false THEN
3868: -- get total of existing line amount (sum of claim_currency_amount)
3869: OPEN c_line_sum_amt(l_claim_line_rec.claim_id, l_claim_line_rec.claim_line_id);
3870: FETCH c_line_sum_amt INTO l_line_sum_amt;
3871: CLOSE c_line_sum_amt;
3891: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
3892: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_LINE_EXCESS_AMOUNT');
3893: FND_MSG_PUB.add;
3894: END IF;
3895: RAISE FND_API.g_exc_error;
3896: END IF;
3897: ELSIF ABS(l_claim_line_rec.claim_currency_amount) > ABS(l_claim_amount) THEN
3898: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
3899: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_LINE_EXCESS_AMOUNT');
3898: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
3899: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_LINE_EXCESS_AMOUNT');
3900: FND_MSG_PUB.add;
3901: END IF;
3902: RAISE FND_API.g_exc_error;
3903: END IF;
3904: END IF;
3905: END IF;
3906: END IF;
3905: END IF;
3906: END IF;
3907:
3908: ---------------- check associate earnings flag ------------------------
3909: IF p_claim_line_rec.earnings_associated_flag = FND_API.g_false THEN
3910: -- remove associated earnings
3911: OPEN csr_get_lines_util(l_claim_line_rec.claim_line_id);
3912: LOOP
3913: FETCH csr_get_lines_util INTO l_line_util_tbl(l_counter).claim_line_util_id
3921:
3922: IF l_counter > 1 THEN
3923: OZF_Claim_Accrual_PVT.Delete_Line_Util_Tbl(
3924: p_api_version => l_api_version
3925: ,p_init_msg_list => FND_API.g_false
3926: ,p_commit => FND_API.g_false
3927: ,p_validation_level => FND_API.g_valid_level_full
3928: ,x_return_status => l_return_status
3929: ,x_msg_data => x_msg_data
3922: IF l_counter > 1 THEN
3923: OZF_Claim_Accrual_PVT.Delete_Line_Util_Tbl(
3924: p_api_version => l_api_version
3925: ,p_init_msg_list => FND_API.g_false
3926: ,p_commit => FND_API.g_false
3927: ,p_validation_level => FND_API.g_valid_level_full
3928: ,x_return_status => l_return_status
3929: ,x_msg_data => x_msg_data
3930: ,x_msg_count => x_msg_count
3923: OZF_Claim_Accrual_PVT.Delete_Line_Util_Tbl(
3924: p_api_version => l_api_version
3925: ,p_init_msg_list => FND_API.g_false
3926: ,p_commit => FND_API.g_false
3927: ,p_validation_level => FND_API.g_valid_level_full
3928: ,x_return_status => l_return_status
3929: ,x_msg_data => x_msg_data
3930: ,x_msg_count => x_msg_count
3931: ,p_line_util_tbl => l_line_util_tbl
3931: ,p_line_util_tbl => l_line_util_tbl
3932: ,p_mode => OZF_CLAIM_UTILITY_PVT.g_auto_mode
3933: ,x_error_index => l_error_index
3934: );
3935: IF l_return_status = fnd_api.g_ret_sts_error THEN
3936: RAISE FND_API.g_exc_error;
3937: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
3938: RAISE FND_API.g_exc_unexpected_error;
3939: END IF;
3932: ,p_mode => OZF_CLAIM_UTILITY_PVT.g_auto_mode
3933: ,x_error_index => l_error_index
3934: );
3935: IF l_return_status = fnd_api.g_ret_sts_error THEN
3936: RAISE FND_API.g_exc_error;
3937: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
3938: RAISE FND_API.g_exc_unexpected_error;
3939: END IF;
3940: END IF;
3933: ,x_error_index => l_error_index
3934: );
3935: IF l_return_status = fnd_api.g_ret_sts_error THEN
3936: RAISE FND_API.g_exc_error;
3937: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
3938: RAISE FND_API.g_exc_unexpected_error;
3939: END IF;
3940: END IF;
3941:
3934: );
3935: IF l_return_status = fnd_api.g_ret_sts_error THEN
3936: RAISE FND_API.g_exc_error;
3937: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
3938: RAISE FND_API.g_exc_unexpected_error;
3939: END IF;
3940: END IF;
3941:
3942: ELSE
3946: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
3947: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_EXCESS_LINE_AMT');
3948: FND_MSG_PUB.add;
3949: END IF;
3950: RAISE FND_API.g_exc_error;
3951: END IF;
3952:
3953: END IF;
3954:
3952:
3953: END IF;
3954:
3955: -- validate claim line record based on claim settlement method
3956: IF l_claim_line_rec.update_from_tbl_flag = FND_API.g_false THEN
3957: OZF_CLAIM_SETTLEMENT_VAL_PVT.Validate_Claim_Line(
3958: p_api_version => l_api_version
3959: ,p_init_msg_list => FND_API.g_false
3960: ,p_validation_level => FND_API.g_valid_level_full
3955: -- validate claim line record based on claim settlement method
3956: IF l_claim_line_rec.update_from_tbl_flag = FND_API.g_false THEN
3957: OZF_CLAIM_SETTLEMENT_VAL_PVT.Validate_Claim_Line(
3958: p_api_version => l_api_version
3959: ,p_init_msg_list => FND_API.g_false
3960: ,p_validation_level => FND_API.g_valid_level_full
3961: ,x_return_status => l_return_status
3962: ,x_msg_data => x_msg_data
3963: ,x_msg_count => x_msg_count
3956: IF l_claim_line_rec.update_from_tbl_flag = FND_API.g_false THEN
3957: OZF_CLAIM_SETTLEMENT_VAL_PVT.Validate_Claim_Line(
3958: p_api_version => l_api_version
3959: ,p_init_msg_list => FND_API.g_false
3960: ,p_validation_level => FND_API.g_valid_level_full
3961: ,x_return_status => l_return_status
3962: ,x_msg_data => x_msg_data
3963: ,x_msg_count => x_msg_count
3964: ,p_claim_line_rec => l_claim_line_rec
3962: ,x_msg_data => x_msg_data
3963: ,x_msg_count => x_msg_count
3964: ,p_claim_line_rec => l_claim_line_rec
3965: );
3966: IF l_return_status = FND_API.g_ret_sts_error THEN
3967: RAISE FND_API.g_exc_error;
3968: ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
3969: RAISE FND_API.g_exc_unexpected_error;
3970: END IF;
3963: ,x_msg_count => x_msg_count
3964: ,p_claim_line_rec => l_claim_line_rec
3965: );
3966: IF l_return_status = FND_API.g_ret_sts_error THEN
3967: RAISE FND_API.g_exc_error;
3968: ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
3969: RAISE FND_API.g_exc_unexpected_error;
3970: END IF;
3971: END IF;
3964: ,p_claim_line_rec => l_claim_line_rec
3965: );
3966: IF l_return_status = FND_API.g_ret_sts_error THEN
3967: RAISE FND_API.g_exc_error;
3968: ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
3969: RAISE FND_API.g_exc_unexpected_error;
3970: END IF;
3971: END IF;
3972:
3965: );
3966: IF l_return_status = FND_API.g_ret_sts_error THEN
3967: RAISE FND_API.g_exc_error;
3968: ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
3969: RAISE FND_API.g_exc_unexpected_error;
3970: END IF;
3971: END IF;
3972:
3973:
3988: IF l_payment_method IS NOT NULL THEN
3989:
3990: OZF_CLAIM_TAX_PVT.Calculate_Claim_Line_Tax(
3991: p_api_version => l_api_version
3992: ,p_init_msg_list => FND_API.g_false
3993: ,p_validation_level => FND_API.g_valid_level_full
3994: ,x_return_status => l_return_status
3995: ,x_msg_data => x_msg_data
3996: ,x_msg_count => x_msg_count
3989:
3990: OZF_CLAIM_TAX_PVT.Calculate_Claim_Line_Tax(
3991: p_api_version => l_api_version
3992: ,p_init_msg_list => FND_API.g_false
3993: ,p_validation_level => FND_API.g_valid_level_full
3994: ,x_return_status => l_return_status
3995: ,x_msg_data => x_msg_data
3996: ,x_msg_count => x_msg_count
3997: ,p_x_claim_line_rec => l_claim_line_rec
3995: ,x_msg_data => x_msg_data
3996: ,x_msg_count => x_msg_count
3997: ,p_x_claim_line_rec => l_claim_line_rec
3998: );
3999: IF l_return_status = FND_API.g_ret_sts_error THEN
4000: RAISE FND_API.g_exc_error;
4001: ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
4002: RAISE FND_API.g_exc_unexpected_error;
4003: END IF;
3996: ,x_msg_count => x_msg_count
3997: ,p_x_claim_line_rec => l_claim_line_rec
3998: );
3999: IF l_return_status = FND_API.g_ret_sts_error THEN
4000: RAISE FND_API.g_exc_error;
4001: ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
4002: RAISE FND_API.g_exc_unexpected_error;
4003: END IF;
4004:
3997: ,p_x_claim_line_rec => l_claim_line_rec
3998: );
3999: IF l_return_status = FND_API.g_ret_sts_error THEN
4000: RAISE FND_API.g_exc_error;
4001: ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
4002: RAISE FND_API.g_exc_unexpected_error;
4003: END IF;
4004:
4005: END IF;
3998: );
3999: IF l_return_status = FND_API.g_ret_sts_error THEN
4000: RAISE FND_API.g_exc_error;
4001: ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
4002: RAISE FND_API.g_exc_unexpected_error;
4003: END IF;
4004:
4005: END IF;
4006:
4107: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
4108: FND_MESSAGE.set_name('OZF', 'OZF_API_RECORD_NOT_FOUND');
4109: FND_MSG_PUB.add;
4110: END IF;
4111: RAISE FND_API.g_exc_error;
4112: END IF;
4113:
4114: -------------------- finish --------------------------
4115: x_object_version := l_object_version_number;
4114: -------------------- finish --------------------------
4115: x_object_version := l_object_version_number;
4116:
4117: -- Check for commit
4118: IF FND_API.to_boolean(p_commit) THEN
4119: COMMIT;
4120: END IF;
4121:
4122: FND_MSG_PUB.count_and_get(
4119: COMMIT;
4120: END IF;
4121:
4122: FND_MSG_PUB.count_and_get(
4123: p_encoded => FND_API.g_false,
4124: p_count => x_msg_count,
4125: p_data => x_msg_data
4126: );
4127:
4129: OZF_Utility_PVT.debug_message(l_full_name ||': end');
4130: END IF;
4131:
4132: EXCEPTION
4133: WHEN FND_API.g_exc_error THEN
4134: ROLLBACK TO Update_Claim_Line;
4135: x_return_status := FND_API.g_ret_sts_error;
4136: FND_MSG_PUB.count_and_get(
4137: p_encoded => FND_API.g_false,
4131:
4132: EXCEPTION
4133: WHEN FND_API.g_exc_error THEN
4134: ROLLBACK TO Update_Claim_Line;
4135: x_return_status := FND_API.g_ret_sts_error;
4136: FND_MSG_PUB.count_and_get(
4137: p_encoded => FND_API.g_false,
4138: p_count => x_msg_count,
4139: p_data => x_msg_data
4133: WHEN FND_API.g_exc_error THEN
4134: ROLLBACK TO Update_Claim_Line;
4135: x_return_status := FND_API.g_ret_sts_error;
4136: FND_MSG_PUB.count_and_get(
4137: p_encoded => FND_API.g_false,
4138: p_count => x_msg_count,
4139: p_data => x_msg_data
4140: );
4141:
4138: p_count => x_msg_count,
4139: p_data => x_msg_data
4140: );
4141:
4142: WHEN FND_API.g_exc_unexpected_error THEN
4143: ROLLBACK TO Update_Claim_Line;
4144: x_return_status := FND_API.g_ret_sts_unexp_error ;
4145: FND_MSG_PUB.count_and_get(
4146: p_encoded => FND_API.g_false,
4140: );
4141:
4142: WHEN FND_API.g_exc_unexpected_error THEN
4143: ROLLBACK TO Update_Claim_Line;
4144: x_return_status := FND_API.g_ret_sts_unexp_error ;
4145: FND_MSG_PUB.count_and_get(
4146: p_encoded => FND_API.g_false,
4147: p_count => x_msg_count,
4148: p_data => x_msg_data
4142: WHEN FND_API.g_exc_unexpected_error THEN
4143: ROLLBACK TO Update_Claim_Line;
4144: x_return_status := FND_API.g_ret_sts_unexp_error ;
4145: FND_MSG_PUB.count_and_get(
4146: p_encoded => FND_API.g_false,
4147: p_count => x_msg_count,
4148: p_data => x_msg_data
4149: );
4150:
4149: );
4150:
4151: WHEN OTHERS THEN
4152: ROLLBACK TO Update_Claim_Line;
4153: x_return_status := FND_API.g_ret_sts_unexp_error ;
4154: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
4155: FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
4156: END IF;
4157: FND_MSG_PUB.count_and_get(
4154: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
4155: FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
4156: END IF;
4157: FND_MSG_PUB.count_and_get(
4158: p_encoded => FND_API.g_false,
4159: p_count => x_msg_count,
4160: p_data => x_msg_data
4161: );
4162:
4171: -- 07/11/2000 mchang Create.
4172: --------------------------------------------------------------------
4173: PROCEDURE Validate_Claim_Line(
4174: p_api_version IN NUMBER
4175: ,p_init_msg_list IN VARCHAR2 := FND_API.g_false
4176: ,p_validation_level IN NUMBER := FND_API.g_valid_level_full
4177:
4178: ,x_return_status OUT NOCOPY VARCHAR2
4179: ,x_msg_count OUT NOCOPY NUMBER
4172: --------------------------------------------------------------------
4173: PROCEDURE Validate_Claim_Line(
4174: p_api_version IN NUMBER
4175: ,p_init_msg_list IN VARCHAR2 := FND_API.g_false
4176: ,p_validation_level IN NUMBER := FND_API.g_valid_level_full
4177:
4178: ,x_return_status OUT NOCOPY VARCHAR2
4179: ,x_msg_count OUT NOCOPY NUMBER
4180: ,x_msg_data OUT NOCOPY VARCHAR2
4193: IF OZF_DEBUG_HIGH_ON THEN
4194: OZF_Utility_PVT.debug_message(l_full_name||': start');
4195: END IF;
4196:
4197: IF FND_API.to_boolean(p_init_msg_list) THEN
4198: FND_MSG_PUB.initialize;
4199: END IF;
4200:
4201: IF NOT FND_API.compatible_api_call(
4197: IF FND_API.to_boolean(p_init_msg_list) THEN
4198: FND_MSG_PUB.initialize;
4199: END IF;
4200:
4201: IF NOT FND_API.compatible_api_call(
4202: l_api_version,
4203: p_api_version,
4204: l_api_name,
4205: g_pkg_name
4203: p_api_version,
4204: l_api_name,
4205: g_pkg_name
4206: ) THEN
4207: RAISE FND_API.g_exc_unexpected_error;
4208: END IF;
4209:
4210: x_return_status := FND_API.g_ret_sts_success;
4211:
4206: ) THEN
4207: RAISE FND_API.g_exc_unexpected_error;
4208: END IF;
4209:
4210: x_return_status := FND_API.g_ret_sts_success;
4211:
4212: ---------------------- validate ------------------------
4213: IF OZF_DEBUG_HIGH_ON THEN
4214: OZF_Utility_PVT.debug_message(l_full_name||': check items');
4220: p_validation_mode => JTF_PLSQL_API.g_create,
4221: x_return_status => l_return_status
4222: );
4223:
4224: IF l_return_status = FND_API.g_ret_sts_unexp_error THEN
4225: RAISE FND_API.g_exc_unexpected_error;
4226: ELSIF l_return_status = FND_API.g_ret_sts_error THEN
4227: RAISE FND_API.g_exc_error;
4228: END IF;
4221: x_return_status => l_return_status
4222: );
4223:
4224: IF l_return_status = FND_API.g_ret_sts_unexp_error THEN
4225: RAISE FND_API.g_exc_unexpected_error;
4226: ELSIF l_return_status = FND_API.g_ret_sts_error THEN
4227: RAISE FND_API.g_exc_error;
4228: END IF;
4229: END IF;
4222: );
4223:
4224: IF l_return_status = FND_API.g_ret_sts_unexp_error THEN
4225: RAISE FND_API.g_exc_unexpected_error;
4226: ELSIF l_return_status = FND_API.g_ret_sts_error THEN
4227: RAISE FND_API.g_exc_error;
4228: END IF;
4229: END IF;
4230:
4223:
4224: IF l_return_status = FND_API.g_ret_sts_unexp_error THEN
4225: RAISE FND_API.g_exc_unexpected_error;
4226: ELSIF l_return_status = FND_API.g_ret_sts_error THEN
4227: RAISE FND_API.g_exc_error;
4228: END IF;
4229: END IF;
4230:
4231: IF OZF_DEBUG_HIGH_ON THEN
4238: p_complete_rec => NULL,
4239: x_return_status => l_return_status
4240: );
4241:
4242: IF l_return_status = FND_API.g_ret_sts_unexp_error THEN
4243: RAISE FND_API.g_exc_unexpected_error;
4244: ELSIF l_return_status = FND_API.g_ret_sts_error THEN
4245: RAISE FND_API.g_exc_error;
4246: END IF;
4239: x_return_status => l_return_status
4240: );
4241:
4242: IF l_return_status = FND_API.g_ret_sts_unexp_error THEN
4243: RAISE FND_API.g_exc_unexpected_error;
4244: ELSIF l_return_status = FND_API.g_ret_sts_error THEN
4245: RAISE FND_API.g_exc_error;
4246: END IF;
4247: END IF;
4240: );
4241:
4242: IF l_return_status = FND_API.g_ret_sts_unexp_error THEN
4243: RAISE FND_API.g_exc_unexpected_error;
4244: ELSIF l_return_status = FND_API.g_ret_sts_error THEN
4245: RAISE FND_API.g_exc_error;
4246: END IF;
4247: END IF;
4248:
4241:
4242: IF l_return_status = FND_API.g_ret_sts_unexp_error THEN
4243: RAISE FND_API.g_exc_unexpected_error;
4244: ELSIF l_return_status = FND_API.g_ret_sts_error THEN
4245: RAISE FND_API.g_exc_error;
4246: END IF;
4247: END IF;
4248:
4249: -------------------- finish --------------------------
4247: END IF;
4248:
4249: -------------------- finish --------------------------
4250: FND_MSG_PUB.count_and_get(
4251: p_encoded => FND_API.g_false,
4252: p_count => x_msg_count,
4253: p_data => x_msg_data
4254: );
4255:
4257: OZF_Utility_PVT.debug_message(l_full_name ||': end');
4258: END IF;
4259:
4260: EXCEPTION
4261: WHEN FND_API.g_exc_error THEN
4262: x_return_status := FND_API.g_ret_sts_error;
4263: FND_MSG_PUB.count_and_get(
4264: p_encoded => FND_API.g_false,
4265: p_count => x_msg_count,
4258: END IF;
4259:
4260: EXCEPTION
4261: WHEN FND_API.g_exc_error THEN
4262: x_return_status := FND_API.g_ret_sts_error;
4263: FND_MSG_PUB.count_and_get(
4264: p_encoded => FND_API.g_false,
4265: p_count => x_msg_count,
4266: p_data => x_msg_data
4260: EXCEPTION
4261: WHEN FND_API.g_exc_error THEN
4262: x_return_status := FND_API.g_ret_sts_error;
4263: FND_MSG_PUB.count_and_get(
4264: p_encoded => FND_API.g_false,
4265: p_count => x_msg_count,
4266: p_data => x_msg_data
4267: );
4268:
4265: p_count => x_msg_count,
4266: p_data => x_msg_data
4267: );
4268:
4269: WHEN FND_API.g_exc_unexpected_error THEN
4270: x_return_status := FND_API.g_ret_sts_unexp_error ;
4271: FND_MSG_PUB.count_and_get(
4272: p_encoded => FND_API.g_false,
4273: p_count => x_msg_count,
4266: p_data => x_msg_data
4267: );
4268:
4269: WHEN FND_API.g_exc_unexpected_error THEN
4270: x_return_status := FND_API.g_ret_sts_unexp_error ;
4271: FND_MSG_PUB.count_and_get(
4272: p_encoded => FND_API.g_false,
4273: p_count => x_msg_count,
4274: p_data => x_msg_data
4268:
4269: WHEN FND_API.g_exc_unexpected_error THEN
4270: x_return_status := FND_API.g_ret_sts_unexp_error ;
4271: FND_MSG_PUB.count_and_get(
4272: p_encoded => FND_API.g_false,
4273: p_count => x_msg_count,
4274: p_data => x_msg_data
4275: );
4276:
4274: p_data => x_msg_data
4275: );
4276:
4277: WHEN OTHERS THEN
4278: x_return_status := FND_API.g_ret_sts_unexp_error;
4279: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
4280: FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
4281: END IF;
4282: FND_MSG_PUB.count_and_get(
4279: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
4280: FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
4281: END IF;
4282: FND_MSG_PUB.count_and_get(
4283: p_encoded => FND_API.g_false,
4284: p_count => x_msg_count,
4285: p_data => x_msg_data
4286: );
4287:
4301: )
4302: IS
4303: BEGIN
4304:
4305: x_return_status := FND_API.g_ret_sts_success;
4306:
4307: ------------------------ CLAIM_ID -------------------------------
4308: IF p_claim_line_rec.claim_id <> FND_API.g_miss_num AND
4309: p_claim_line_rec.claim_id IS NULL THEN
4304:
4305: x_return_status := FND_API.g_ret_sts_success;
4306:
4307: ------------------------ CLAIM_ID -------------------------------
4308: IF p_claim_line_rec.claim_id <> FND_API.g_miss_num AND
4309: p_claim_line_rec.claim_id IS NULL THEN
4310: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
4311: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_MISSING_COLUMN');
4312: FND_MESSAGE.set_token('COLUMN', 'CLAIM_ID');
4312: FND_MESSAGE.set_token('COLUMN', 'CLAIM_ID');
4313: FND_MSG_PUB.add;
4314: END IF;
4315:
4316: x_return_status := FND_API.g_ret_sts_error;
4317: RETURN;
4318: ------------------------ LINE_NUMBER -------------------------------
4319: ELSIF p_claim_line_rec.line_number <> FND_API.g_miss_num AND
4320: p_claim_line_rec.line_number IS NULL THEN
4315:
4316: x_return_status := FND_API.g_ret_sts_error;
4317: RETURN;
4318: ------------------------ LINE_NUMBER -------------------------------
4319: ELSIF p_claim_line_rec.line_number <> FND_API.g_miss_num AND
4320: p_claim_line_rec.line_number IS NULL THEN
4321: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
4322: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_MISSING_COLUMN');
4323: FND_MESSAGE.set_token('COLUMN', 'LINE_NUMBER');
4323: FND_MESSAGE.set_token('COLUMN', 'LINE_NUMBER');
4324: FND_MSG_PUB.add;
4325: END IF;
4326:
4327: x_return_status := FND_API.g_ret_sts_error;
4328: RETURN;
4329: ------------------------ SET_OF_BOOKS_ID -------------------------------
4330: ELSIF p_claim_line_rec.set_of_books_id <> FND_API.g_miss_num AND
4331: p_claim_line_rec.set_of_books_id IS NULL THEN
4326:
4327: x_return_status := FND_API.g_ret_sts_error;
4328: RETURN;
4329: ------------------------ SET_OF_BOOKS_ID -------------------------------
4330: ELSIF p_claim_line_rec.set_of_books_id <> FND_API.g_miss_num AND
4331: p_claim_line_rec.set_of_books_id IS NULL THEN
4332: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
4333: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_MISSING_COLUMN');
4334: FND_MESSAGE.set_token('COLUMN', 'SET_OF_BOOKS_ID');
4334: FND_MESSAGE.set_token('COLUMN', 'SET_OF_BOOKS_ID');
4335: FND_MSG_PUB.add;
4336: END IF;
4337:
4338: x_return_status := FND_API.g_ret_sts_error;
4339: RETURN;
4340: END IF;
4341:
4342: END Check_Claim_Line_Req_Items;
4357: IS
4358: l_valid_flag VARCHAR2(1);
4359:
4360: BEGIN
4361: x_return_status := FND_API.g_ret_sts_success;
4362:
4363: -- For Create_Claim_Line, when claim_line_id is passed in, we need to
4364: -- check if this claim_line_id is unique.
4365: IF p_validation_mode = JTF_PLSQL_API.g_create AND
4366: p_claim_line_rec.claim_line_id IS NOT NULL THEN
4367: IF OZF_Utility_PVT.check_uniqueness(
4368: 'ozf_claim_lines',
4369: 'claim_line_id = ' || p_claim_line_rec.claim_line_id
4370: ) = FND_API.g_false THEN
4371: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
4372: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_DUPLICATE_VALUE');
4373: FND_MESSAGE.set_token('COLLUMN', 'CLAIM_LINE_ID');
4374: FND_MSG_PUB.add;
4372: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_DUPLICATE_VALUE');
4373: FND_MESSAGE.set_token('COLLUMN', 'CLAIM_LINE_ID');
4374: FND_MSG_PUB.add;
4375: END IF;
4376: x_return_status := FND_API.g_ret_sts_error;
4377: RETURN;
4378: END IF;
4379: END IF;
4380:
4396: )
4397: IS
4398: BEGIN
4399:
4400: x_return_status := FND_API.g_ret_sts_success;
4401:
4402: -- check other fk items
4403:
4404: END Check_Claim_Line_Fk_Items;
4417: )
4418: IS
4419: BEGIN
4420:
4421: x_return_status := FND_API.g_ret_sts_success;
4422:
4423: -- check other lookup codes
4424:
4425: END Check_Claim_Line_Lookup_Items;
4437: ,x_return_status OUT NOCOPY VARCHAR2
4438: )
4439: IS
4440: BEGIN
4441: x_return_status := FND_API.g_ret_sts_success;
4442:
4443: ----------------------- VALID_FLAG ------------------------
4444: IF p_claim_line_rec.valid_flag <> FND_API.g_miss_char AND
4445: p_claim_line_rec.valid_flag IS NOT NULL THEN
4440: BEGIN
4441: x_return_status := FND_API.g_ret_sts_success;
4442:
4443: ----------------------- VALID_FLAG ------------------------
4444: IF p_claim_line_rec.valid_flag <> FND_API.g_miss_char AND
4445: p_claim_line_rec.valid_flag IS NOT NULL THEN
4446: IF p_claim_line_rec.valid_flag <> FND_API.g_true AND
4447: p_claim_line_rec.valid_flag <> FND_API.g_false THEN
4448: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
4442:
4443: ----------------------- VALID_FLAG ------------------------
4444: IF p_claim_line_rec.valid_flag <> FND_API.g_miss_char AND
4445: p_claim_line_rec.valid_flag IS NOT NULL THEN
4446: IF p_claim_line_rec.valid_flag <> FND_API.g_true AND
4447: p_claim_line_rec.valid_flag <> FND_API.g_false THEN
4448: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
4449: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_BAD_FLAG');
4450: FND_MESSAGE.set_token('FLAG', 'VALID_FLAG');
4443: ----------------------- VALID_FLAG ------------------------
4444: IF p_claim_line_rec.valid_flag <> FND_API.g_miss_char AND
4445: p_claim_line_rec.valid_flag IS NOT NULL THEN
4446: IF p_claim_line_rec.valid_flag <> FND_API.g_true AND
4447: p_claim_line_rec.valid_flag <> FND_API.g_false THEN
4448: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
4449: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_BAD_FLAG');
4450: FND_MESSAGE.set_token('FLAG', 'VALID_FLAG');
4451: FND_MSG_PUB.add;
4449: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_BAD_FLAG');
4450: FND_MESSAGE.set_token('FLAG', 'VALID_FLAG');
4451: FND_MSG_PUB.add;
4452: END IF;
4453: x_return_status := FND_API.g_ret_sts_error;
4454: RETURN;
4455: END IF;
4456: END IF;
4457:
4455: END IF;
4456: END IF;
4457:
4458: ----------------------- APPROVED_FLAG ------------------------
4459: IF p_claim_line_rec.approved_flag <> FND_API.g_miss_char AND
4460: p_claim_line_rec.approved_flag IS NOT NULL THEN
4461: IF p_claim_line_rec.approved_flag <> FND_API.g_true AND
4462: p_claim_line_rec.approved_flag <> FND_API.g_false THEN
4463: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
4457:
4458: ----------------------- APPROVED_FLAG ------------------------
4459: IF p_claim_line_rec.approved_flag <> FND_API.g_miss_char AND
4460: p_claim_line_rec.approved_flag IS NOT NULL THEN
4461: IF p_claim_line_rec.approved_flag <> FND_API.g_true AND
4462: p_claim_line_rec.approved_flag <> FND_API.g_false THEN
4463: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
4464: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_BAD_FLAG');
4465: FND_MESSAGE.set_token('FLAG', 'APPROVED_FLAG');
4458: ----------------------- APPROVED_FLAG ------------------------
4459: IF p_claim_line_rec.approved_flag <> FND_API.g_miss_char AND
4460: p_claim_line_rec.approved_flag IS NOT NULL THEN
4461: IF p_claim_line_rec.approved_flag <> FND_API.g_true AND
4462: p_claim_line_rec.approved_flag <> FND_API.g_false THEN
4463: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
4464: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_BAD_FLAG');
4465: FND_MESSAGE.set_token('FLAG', 'APPROVED_FLAG');
4466: FND_MSG_PUB.add;
4464: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_BAD_FLAG');
4465: FND_MESSAGE.set_token('FLAG', 'APPROVED_FLAG');
4466: FND_MSG_PUB.add;
4467: END IF;
4468: x_return_status := FND_API.g_ret_sts_error;
4469: RETURN;
4470: END IF;
4471: END IF;
4472:
4470: END IF;
4471: END IF;
4472:
4473: ----------------------- PERFORMANCE_COMPLETE_FLAG ------------------------
4474: IF p_claim_line_rec.performance_complete_flag <> FND_API.g_miss_char AND
4475: p_claim_line_rec.performance_complete_flag IS NOT NULL THEN
4476: IF p_claim_line_rec.performance_complete_flag <> FND_API.g_true AND
4477: p_claim_line_rec.performance_complete_flag <> FND_API.g_false THEN
4478: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
4472:
4473: ----------------------- PERFORMANCE_COMPLETE_FLAG ------------------------
4474: IF p_claim_line_rec.performance_complete_flag <> FND_API.g_miss_char AND
4475: p_claim_line_rec.performance_complete_flag IS NOT NULL THEN
4476: IF p_claim_line_rec.performance_complete_flag <> FND_API.g_true AND
4477: p_claim_line_rec.performance_complete_flag <> FND_API.g_false THEN
4478: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
4479: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_BAD_FLAG');
4480: FND_MESSAGE.set_token('FLAG', 'PERFORMANCE_COMPLETE_FLAG');
4473: ----------------------- PERFORMANCE_COMPLETE_FLAG ------------------------
4474: IF p_claim_line_rec.performance_complete_flag <> FND_API.g_miss_char AND
4475: p_claim_line_rec.performance_complete_flag IS NOT NULL THEN
4476: IF p_claim_line_rec.performance_complete_flag <> FND_API.g_true AND
4477: p_claim_line_rec.performance_complete_flag <> FND_API.g_false THEN
4478: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
4479: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_BAD_FLAG');
4480: FND_MESSAGE.set_token('FLAG', 'PERFORMANCE_COMPLETE_FLAG');
4481: FND_MSG_PUB.add;
4479: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_BAD_FLAG');
4480: FND_MESSAGE.set_token('FLAG', 'PERFORMANCE_COMPLETE_FLAG');
4481: FND_MSG_PUB.add;
4482: END IF;
4483: x_return_status := FND_API.g_ret_sts_error;
4484: RETURN;
4485: END IF;
4486: END IF;
4487:
4485: END IF;
4486: END IF;
4487:
4488: ----------------------- PERFORMANCE_ATTACHED_FLAG ------------------------
4489: IF p_claim_line_rec.performance_attached_flag <> FND_API.g_miss_char AND
4490: p_claim_line_rec.performance_attached_flag IS NOT NULL THEN
4491: IF p_claim_line_rec.performance_attached_flag <> FND_API.g_true AND
4492: p_claim_line_rec.performance_attached_flag <> FND_API.g_false THEN
4493: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
4487:
4488: ----------------------- PERFORMANCE_ATTACHED_FLAG ------------------------
4489: IF p_claim_line_rec.performance_attached_flag <> FND_API.g_miss_char AND
4490: p_claim_line_rec.performance_attached_flag IS NOT NULL THEN
4491: IF p_claim_line_rec.performance_attached_flag <> FND_API.g_true AND
4492: p_claim_line_rec.performance_attached_flag <> FND_API.g_false THEN
4493: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
4494: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_BAD_FLAG');
4495: FND_MESSAGE.set_token('FLAG', 'PERFORMANCE_ATTACHED_FLAG');
4488: ----------------------- PERFORMANCE_ATTACHED_FLAG ------------------------
4489: IF p_claim_line_rec.performance_attached_flag <> FND_API.g_miss_char AND
4490: p_claim_line_rec.performance_attached_flag IS NOT NULL THEN
4491: IF p_claim_line_rec.performance_attached_flag <> FND_API.g_true AND
4492: p_claim_line_rec.performance_attached_flag <> FND_API.g_false THEN
4493: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
4494: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_BAD_FLAG');
4495: FND_MESSAGE.set_token('FLAG', 'PERFORMANCE_ATTACHED_FLAG');
4496: FND_MSG_PUB.add;
4494: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_BAD_FLAG');
4495: FND_MESSAGE.set_token('FLAG', 'PERFORMANCE_ATTACHED_FLAG');
4496: FND_MSG_PUB.add;
4497: END IF;
4498: x_return_status := FND_API.g_ret_sts_error;
4499: RETURN;
4500: END IF;
4501: END IF;
4502:
4500: END IF;
4501: END IF;
4502:
4503: ----------------------- EARNINGS_ASSOCIATED_FLAG ------------------------
4504: IF p_claim_line_rec.earnings_associated_flag <> FND_API.g_miss_char AND
4505: p_claim_line_rec.earnings_associated_flag IS NOT NULL THEN
4506: IF p_claim_line_rec.earnings_associated_flag <> FND_API.g_true AND
4507: p_claim_line_rec.earnings_associated_flag <> FND_API.g_false THEN
4508: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
4502:
4503: ----------------------- EARNINGS_ASSOCIATED_FLAG ------------------------
4504: IF p_claim_line_rec.earnings_associated_flag <> FND_API.g_miss_char AND
4505: p_claim_line_rec.earnings_associated_flag IS NOT NULL THEN
4506: IF p_claim_line_rec.earnings_associated_flag <> FND_API.g_true AND
4507: p_claim_line_rec.earnings_associated_flag <> FND_API.g_false THEN
4508: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
4509: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_BAD_FLAG');
4510: FND_MESSAGE.set_token('FLAG', 'EARNINGS_ASSOCIATED_FLAG');
4503: ----------------------- EARNINGS_ASSOCIATED_FLAG ------------------------
4504: IF p_claim_line_rec.earnings_associated_flag <> FND_API.g_miss_char AND
4505: p_claim_line_rec.earnings_associated_flag IS NOT NULL THEN
4506: IF p_claim_line_rec.earnings_associated_flag <> FND_API.g_true AND
4507: p_claim_line_rec.earnings_associated_flag <> FND_API.g_false THEN
4508: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
4509: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_BAD_FLAG');
4510: FND_MESSAGE.set_token('FLAG', 'EARNINGS_ASSOCIATED_FLAG');
4511: FND_MSG_PUB.add;
4509: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_BAD_FLAG');
4510: FND_MESSAGE.set_token('FLAG', 'EARNINGS_ASSOCIATED_FLAG');
4511: FND_MSG_PUB.add;
4512: END IF;
4513: x_return_status := FND_API.g_ret_sts_error;
4514: RETURN;
4515: END IF;
4516: END IF;
4517:
4537: p_claim_line_rec => p_claim_line_rec
4538: ,x_return_status => x_return_status
4539: );
4540:
4541: IF x_return_status <> FND_API.g_ret_sts_success THEN
4542: RETURN;
4543: END IF;
4544:
4545: Check_Claim_Line_Uk_Items(
4547: ,p_validation_mode => p_validation_mode
4548: ,x_return_status => x_return_status
4549: );
4550:
4551: IF x_return_status <> FND_API.g_ret_sts_success THEN
4552: RETURN;
4553: END IF;
4554:
4555: Check_Claim_Line_Fk_Items(
4556: p_claim_line_rec => p_claim_line_rec
4557: ,x_return_status => x_return_status
4558: );
4559:
4560: IF x_return_status <> FND_API.g_ret_sts_success THEN
4561: RETURN;
4562: END IF;
4563:
4564: Check_Claim_Line_Lookup_Items(
4565: p_claim_line_rec => p_claim_line_rec
4566: ,x_return_status => x_return_status
4567: );
4568:
4569: IF x_return_status <> FND_API.g_ret_sts_success THEN
4570: RETURN;
4571: END IF;
4572:
4573: Check_Claim_Line_Flag_Items(
4574: p_claim_line_rec => p_claim_line_rec
4575: ,x_return_status => x_return_status
4576: );
4577:
4578: IF x_return_status <> FND_API.g_ret_sts_success THEN
4579: RETURN;
4580: END IF;
4581:
4582: END Check_Claim_Line_Items;
4628: FROM ra_customer_trx_lines
4629: WHERE customer_trx_line_id = cv_customer_trx_line_id;
4630:
4631: BEGIN
4632: x_return_status := FND_API.g_ret_sts_success;
4633:
4634: -- check if tax code belonging to the right settlement method
4635: IF p_complete_rec.tax_code IS NOT NULL THEN
4636: OPEN csr_claim_settle_method(p_complete_rec.claim_id);
4646: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
4647: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_LINE_TAX_CODE_ERR');
4648: FND_MSG_PUB.add;
4649: END IF;
4650: x_return_status := FND_API.g_ret_sts_error;
4651: RETURN;
4652: END IF;
4653: ELSIF l_tax_for = 'AR' THEN
4654: OPEN csr_ar_tax_code(p_complete_rec.tax_code);
4659: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
4660: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_LINE_TAX_CODE_ERR');
4661: FND_MSG_PUB.add;
4662: END IF;
4663: x_return_status := FND_API.g_ret_sts_error;
4664: RETURN;
4665: END IF;
4666: ELSIF l_tax_for IS NULL THEN
4667: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
4667: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
4668: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_LINE_TAX_CODE_ERR');
4669: FND_MSG_PUB.add;
4670: END IF;
4671: x_return_status := FND_API.g_ret_sts_error;
4672: RETURN;
4673: END IF;
4674: END IF;
4675:
4685: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
4686: FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_INVLINE_NOT_IN_INV');
4687: FND_MSG_PUB.add;
4688: END IF;
4689: x_return_status := FND_API.g_ret_sts_error;
4690: RETURN;
4691: END IF;
4692: END IF;
4693: END IF;
4818: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
4819: FND_MESSAGE.set_name('OZF', 'OZF_API_RECORD_NOT_FOUND');
4820: FND_MSG_PUB.add;
4821: END IF;
4822: RAISE FND_API.g_exc_error;
4823: END IF;
4824: CLOSE c_claim_line;
4825:
4826: IF p_claim_line_rec.object_version_number = FND_API.G_MISS_NUM THEN
4822: RAISE FND_API.g_exc_error;
4823: END IF;
4824: CLOSE c_claim_line;
4825:
4826: IF p_claim_line_rec.object_version_number = FND_API.G_MISS_NUM THEN
4827: x_complete_rec.object_version_number := NULL;
4828: END IF;
4829: IF p_claim_line_rec.object_version_number IS NULL THEN
4830: x_complete_rec.object_version_number := l_claim_line_rec.object_version_number;
4829: IF p_claim_line_rec.object_version_number IS NULL THEN
4830: x_complete_rec.object_version_number := l_claim_line_rec.object_version_number;
4831: END IF;
4832:
4833: IF p_claim_line_rec.claim_id = FND_API.G_MISS_NUM THEN
4834: x_complete_rec.claim_id := NULL;
4835: END IF;
4836: IF p_claim_line_rec.claim_id IS NULL THEN
4837: x_complete_rec.claim_id := l_claim_line_rec.claim_id;
4836: IF p_claim_line_rec.claim_id IS NULL THEN
4837: x_complete_rec.claim_id := l_claim_line_rec.claim_id;
4838: END IF;
4839:
4840: IF p_claim_line_rec.line_number = FND_API.G_MISS_NUM THEN
4841: x_complete_rec.line_number := NULL;
4842: END IF;
4843: IF p_claim_line_rec.line_number IS NULL THEN
4844: x_complete_rec.line_number := l_claim_line_rec.line_number;
4843: IF p_claim_line_rec.line_number IS NULL THEN
4844: x_complete_rec.line_number := l_claim_line_rec.line_number;
4845: END IF;
4846:
4847: IF p_claim_line_rec.split_from_claim_line_id = FND_API.G_MISS_NUM THEN
4848: x_complete_rec.split_from_claim_line_id := NULL;
4849: END IF;
4850: IF p_claim_line_rec.split_from_claim_line_id IS NULL THEN
4851: x_complete_rec.split_from_claim_line_id := l_claim_line_rec.split_from_claim_line_id;
4850: IF p_claim_line_rec.split_from_claim_line_id IS NULL THEN
4851: x_complete_rec.split_from_claim_line_id := l_claim_line_rec.split_from_claim_line_id;
4852: END IF;
4853:
4854: IF p_claim_line_rec.amount = FND_API.G_MISS_NUM THEN
4855: x_complete_rec.amount := NULL;
4856: END IF;
4857: IF p_claim_line_rec.amount IS NULL THEN
4858: x_complete_rec.amount := l_claim_line_rec.amount;
4857: IF p_claim_line_rec.amount IS NULL THEN
4858: x_complete_rec.amount := l_claim_line_rec.amount;
4859: END IF;
4860:
4861: IF p_claim_line_rec.claim_currency_amount = FND_API.G_MISS_NUM THEN
4862: x_complete_rec.claim_currency_amount := NULL;
4863: END IF;
4864: IF p_claim_line_rec.claim_currency_amount IS NULL THEN
4865: x_complete_rec.claim_currency_amount := l_claim_line_rec.claim_currency_amount;
4864: IF p_claim_line_rec.claim_currency_amount IS NULL THEN
4865: x_complete_rec.claim_currency_amount := l_claim_line_rec.claim_currency_amount;
4866: END IF;
4867:
4868: IF p_claim_line_rec.acctd_amount = FND_API.G_MISS_NUM THEN
4869: x_complete_rec.acctd_amount := NULL;
4870: END IF;
4871: IF p_claim_line_rec.acctd_amount IS NULL THEN
4872: x_complete_rec.acctd_amount := l_claim_line_rec.acctd_amount;
4871: IF p_claim_line_rec.acctd_amount IS NULL THEN
4872: x_complete_rec.acctd_amount := l_claim_line_rec.acctd_amount;
4873: END IF;
4874:
4875: IF p_claim_line_rec.currency_code = FND_API.G_MISS_CHAR THEN
4876: x_complete_rec.currency_code := NULL;
4877: END IF;
4878: IF p_claim_line_rec.currency_code IS NULL THEN
4879: x_complete_rec.currency_code := l_claim_line_rec.currency_code;
4878: IF p_claim_line_rec.currency_code IS NULL THEN
4879: x_complete_rec.currency_code := l_claim_line_rec.currency_code;
4880: END IF;
4881:
4882: IF p_claim_line_rec.exchange_rate_type = FND_API.G_MISS_CHAR THEN
4883: x_complete_rec.exchange_rate_type := NULL;
4884: END IF;
4885: IF p_claim_line_rec.exchange_rate_type IS NULL THEN
4886: x_complete_rec.exchange_rate_type := l_claim_line_rec.exchange_rate_type;
4885: IF p_claim_line_rec.exchange_rate_type IS NULL THEN
4886: x_complete_rec.exchange_rate_type := l_claim_line_rec.exchange_rate_type;
4887: END IF;
4888:
4889: IF p_claim_line_rec.exchange_rate_date = FND_API.G_MISS_DATE THEN
4890: x_complete_rec.exchange_rate_date := NULL;
4891: END IF;
4892: IF p_claim_line_rec.exchange_rate_date IS NULL THEN
4893: x_complete_rec.exchange_rate_date := l_claim_line_rec.exchange_rate_date;
4892: IF p_claim_line_rec.exchange_rate_date IS NULL THEN
4893: x_complete_rec.exchange_rate_date := l_claim_line_rec.exchange_rate_date;
4894: END IF;
4895:
4896: IF p_claim_line_rec.exchange_rate = FND_API.G_MISS_NUM THEN
4897: x_complete_rec.exchange_rate := NULL;
4898: END IF;
4899: IF p_claim_line_rec.exchange_rate IS NULL THEN
4900: x_complete_rec.exchange_rate := l_claim_line_rec.exchange_rate;
4899: IF p_claim_line_rec.exchange_rate IS NULL THEN
4900: x_complete_rec.exchange_rate := l_claim_line_rec.exchange_rate;
4901: END IF;
4902:
4903: IF p_claim_line_rec.set_of_books_id = FND_API.G_MISS_NUM THEN
4904: x_complete_rec.set_of_books_id := NULL;
4905: END IF;
4906: IF p_claim_line_rec.set_of_books_id IS NULL THEN
4907: x_complete_rec.set_of_books_id := l_claim_line_rec.set_of_books_id;
4906: IF p_claim_line_rec.set_of_books_id IS NULL THEN
4907: x_complete_rec.set_of_books_id := l_claim_line_rec.set_of_books_id;
4908: END IF;
4909:
4910: IF p_claim_line_rec.valid_flag = FND_API.G_MISS_CHAR THEN
4911: x_complete_rec.valid_flag := NULL;
4912: END IF;
4913: IF p_claim_line_rec.valid_flag IS NULL THEN
4914: x_complete_rec.valid_flag := l_claim_line_rec.valid_flag;
4913: IF p_claim_line_rec.valid_flag IS NULL THEN
4914: x_complete_rec.valid_flag := l_claim_line_rec.valid_flag;
4915: END IF;
4916:
4917: IF p_claim_line_rec.source_object_id = FND_API.G_MISS_NUM THEN
4918: x_complete_rec.source_object_id := NULL;
4919: END IF;
4920: IF p_claim_line_rec.source_object_id IS NULL THEN
4921: x_complete_rec.source_object_id := l_claim_line_rec.source_object_id;
4920: IF p_claim_line_rec.source_object_id IS NULL THEN
4921: x_complete_rec.source_object_id := l_claim_line_rec.source_object_id;
4922: END IF;
4923:
4924: IF p_claim_line_rec.source_object_line_id = FND_API.G_MISS_NUM THEN
4925: x_complete_rec.source_object_line_id := NULL;
4926: END IF;
4927: IF p_claim_line_rec.source_object_line_id IS NULL THEN
4928: x_complete_rec.source_object_line_id := l_claim_line_rec.source_object_line_id;
4927: IF p_claim_line_rec.source_object_line_id IS NULL THEN
4928: x_complete_rec.source_object_line_id := l_claim_line_rec.source_object_line_id;
4929: END IF;
4930:
4931: IF p_claim_line_rec.source_object_class = FND_API.G_MISS_CHAR THEN
4932: x_complete_rec.source_object_class := NULL;
4933: END IF;
4934: IF p_claim_line_rec.source_object_class IS NULL THEN
4935: x_complete_rec.source_object_class := l_claim_line_rec.source_object_class;
4934: IF p_claim_line_rec.source_object_class IS NULL THEN
4935: x_complete_rec.source_object_class := l_claim_line_rec.source_object_class;
4936: END IF;
4937:
4938: IF p_claim_line_rec.source_object_type_id = FND_API.G_MISS_NUM THEN
4939: x_complete_rec.source_object_type_id := NULL;
4940: END IF;
4941: IF p_claim_line_rec.source_object_type_id IS NULL THEN
4942: x_complete_rec.source_object_type_id := l_claim_line_rec.source_object_type_id;
4941: IF p_claim_line_rec.source_object_type_id IS NULL THEN
4942: x_complete_rec.source_object_type_id := l_claim_line_rec.source_object_type_id;
4943: END IF;
4944:
4945: IF p_claim_line_rec.plan_id = FND_API.G_MISS_NUM THEN
4946: x_complete_rec.plan_id := NULL;
4947: END IF;
4948: IF p_claim_line_rec.plan_id IS NULL THEN
4949: x_complete_rec.plan_id := l_claim_line_rec.plan_id;
4948: IF p_claim_line_rec.plan_id IS NULL THEN
4949: x_complete_rec.plan_id := l_claim_line_rec.plan_id;
4950: END IF;
4951:
4952: IF p_claim_line_rec.offer_id = FND_API.G_MISS_NUM THEN
4953: x_complete_rec.offer_id := NULL;
4954: END IF;
4955: IF p_claim_line_rec.offer_id IS NULL THEN
4956: x_complete_rec.offer_id := l_claim_line_rec.offer_id;
4955: IF p_claim_line_rec.offer_id IS NULL THEN
4956: x_complete_rec.offer_id := l_claim_line_rec.offer_id;
4957: END IF;
4958:
4959: IF p_claim_line_rec.utilization_id = FND_API.G_MISS_NUM THEN
4960: x_complete_rec.utilization_id := NULL;
4961: END IF;
4962: IF p_claim_line_rec.utilization_id IS NULL THEN
4963: x_complete_rec.utilization_id := l_claim_line_rec.utilization_id;
4962: IF p_claim_line_rec.utilization_id IS NULL THEN
4963: x_complete_rec.utilization_id := l_claim_line_rec.utilization_id;
4964: END IF;
4965:
4966: IF p_claim_line_rec.payment_method = FND_API.G_MISS_CHAR THEN
4967: x_complete_rec.payment_method := NULL;
4968: END IF;
4969: IF p_claim_line_rec.payment_method IS NULL THEN
4970: x_complete_rec.payment_method := l_claim_line_rec.payment_method;
4969: IF p_claim_line_rec.payment_method IS NULL THEN
4970: x_complete_rec.payment_method := l_claim_line_rec.payment_method;
4971: END IF;
4972:
4973: IF p_claim_line_rec.payment_reference_id = FND_API.G_MISS_NUM THEN
4974: x_complete_rec.payment_reference_id := NULL;
4975: END IF;
4976: IF p_claim_line_rec.payment_reference_id IS NULL THEN
4977: x_complete_rec.payment_reference_id := l_claim_line_rec.payment_reference_id;
4976: IF p_claim_line_rec.payment_reference_id IS NULL THEN
4977: x_complete_rec.payment_reference_id := l_claim_line_rec.payment_reference_id;
4978: END IF;
4979:
4980: IF p_claim_line_rec.payment_reference_number = FND_API.G_MISS_CHAR THEN
4981: x_complete_rec.payment_reference_number := NULL;
4982: END IF;
4983: IF p_claim_line_rec.payment_reference_number IS NULL THEN
4984: x_complete_rec.payment_reference_number := l_claim_line_rec.payment_reference_number;
4983: IF p_claim_line_rec.payment_reference_number IS NULL THEN
4984: x_complete_rec.payment_reference_number := l_claim_line_rec.payment_reference_number;
4985: END IF;
4986:
4987: IF p_claim_line_rec.payment_reference_date = FND_API.G_MISS_DATE THEN
4988: x_complete_rec.payment_reference_date := NULL;
4989: END IF;
4990: IF p_claim_line_rec.payment_reference_date IS NULL THEN
4991: x_complete_rec.payment_reference_date := l_claim_line_rec.payment_reference_date;
4990: IF p_claim_line_rec.payment_reference_date IS NULL THEN
4991: x_complete_rec.payment_reference_date := l_claim_line_rec.payment_reference_date;
4992: END IF;
4993:
4994: IF p_claim_line_rec.voucher_id = FND_API.G_MISS_NUM THEN
4995: x_complete_rec.voucher_id := NULL;
4996: END IF;
4997: IF p_claim_line_rec.voucher_id IS NULL THEN
4998: x_complete_rec.voucher_id := l_claim_line_rec.voucher_id;
4997: IF p_claim_line_rec.voucher_id IS NULL THEN
4998: x_complete_rec.voucher_id := l_claim_line_rec.voucher_id;
4999: END IF;
5000:
5001: IF p_claim_line_rec.voucher_number = FND_API.G_MISS_CHAR THEN
5002: x_complete_rec.voucher_number := NULL;
5003: END IF;
5004: IF p_claim_line_rec.voucher_number IS NULL THEN
5005: x_complete_rec.voucher_number := l_claim_line_rec.voucher_number;
5004: IF p_claim_line_rec.voucher_number IS NULL THEN
5005: x_complete_rec.voucher_number := l_claim_line_rec.voucher_number;
5006: END IF;
5007:
5008: IF p_claim_line_rec.payment_status = FND_API.G_MISS_CHAR THEN
5009: x_complete_rec.payment_status := NULL;
5010: END IF;
5011: IF p_claim_line_rec.payment_status IS NULL THEN
5012: x_complete_rec.payment_status := l_claim_line_rec.payment_status;
5011: IF p_claim_line_rec.payment_status IS NULL THEN
5012: x_complete_rec.payment_status := l_claim_line_rec.payment_status;
5013: END IF;
5014:
5015: IF p_claim_line_rec.approved_flag = FND_API.G_MISS_CHAR THEN
5016: x_complete_rec.approved_flag := NULL;
5017: END IF;
5018: IF p_claim_line_rec.approved_flag IS NULL THEN
5019: x_complete_rec.approved_flag := l_claim_line_rec.approved_flag;
5018: IF p_claim_line_rec.approved_flag IS NULL THEN
5019: x_complete_rec.approved_flag := l_claim_line_rec.approved_flag;
5020: END IF;
5021:
5022: IF p_claim_line_rec.approved_date = FND_API.G_MISS_DATE THEN
5023: x_complete_rec.approved_date := NULL;
5024: END IF;
5025: IF p_claim_line_rec.approved_date IS NULL THEN
5026: x_complete_rec.approved_date := l_claim_line_rec.approved_date;
5025: IF p_claim_line_rec.approved_date IS NULL THEN
5026: x_complete_rec.approved_date := l_claim_line_rec.approved_date;
5027: END IF;
5028:
5029: IF p_claim_line_rec.approved_by = FND_API.G_MISS_NUM THEN
5030: x_complete_rec.approved_by := NULL;
5031: END IF;
5032: IF p_claim_line_rec.approved_by IS NULL THEN
5033: x_complete_rec.approved_by := l_claim_line_rec.approved_by;
5032: IF p_claim_line_rec.approved_by IS NULL THEN
5033: x_complete_rec.approved_by := l_claim_line_rec.approved_by;
5034: END IF;
5035:
5036: IF p_claim_line_rec.settled_date = FND_API.G_MISS_DATE THEN
5037: x_complete_rec.settled_date := NULL;
5038: END IF;
5039: IF p_claim_line_rec.settled_date IS NULL THEN
5040: x_complete_rec.settled_date := l_claim_line_rec.settled_date;
5039: IF p_claim_line_rec.settled_date IS NULL THEN
5040: x_complete_rec.settled_date := l_claim_line_rec.settled_date;
5041: END IF;
5042:
5043: IF p_claim_line_rec.settled_by = FND_API.G_MISS_NUM THEN
5044: x_complete_rec.settled_by := NULL;
5045: END IF;
5046: IF p_claim_line_rec.settled_by IS NULL THEN
5047: x_complete_rec.settled_by := l_claim_line_rec.settled_by;
5046: IF p_claim_line_rec.settled_by IS NULL THEN
5047: x_complete_rec.settled_by := l_claim_line_rec.settled_by;
5048: END IF;
5049:
5050: IF p_claim_line_rec.performance_complete_flag = FND_API.G_MISS_CHAR THEN
5051: x_complete_rec.performance_complete_flag := NULL;
5052: END IF;
5053: IF p_claim_line_rec.performance_complete_flag IS NULL THEN
5054: x_complete_rec.performance_complete_flag := l_claim_line_rec.performance_complete_flag;
5053: IF p_claim_line_rec.performance_complete_flag IS NULL THEN
5054: x_complete_rec.performance_complete_flag := l_claim_line_rec.performance_complete_flag;
5055: END IF;
5056:
5057: IF p_claim_line_rec.performance_attached_flag = FND_API.G_MISS_CHAR THEN
5058: x_complete_rec.performance_attached_flag := NULL;
5059: END IF;
5060: IF p_claim_line_rec.performance_attached_flag IS NULL THEN
5061: x_complete_rec.performance_attached_flag := l_claim_line_rec.performance_attached_flag;
5060: IF p_claim_line_rec.performance_attached_flag IS NULL THEN
5061: x_complete_rec.performance_attached_flag := l_claim_line_rec.performance_attached_flag;
5062: END IF;
5063:
5064: IF p_claim_line_rec.select_cust_children_flag = FND_API.G_MISS_CHAR THEN
5065: x_complete_rec.select_cust_children_flag := NULL;
5066: END IF;
5067: IF p_claim_line_rec.select_cust_children_flag IS NULL THEN
5068: x_complete_rec.select_cust_children_flag := l_claim_line_rec.select_cust_children_flag;
5067: IF p_claim_line_rec.select_cust_children_flag IS NULL THEN
5068: x_complete_rec.select_cust_children_flag := l_claim_line_rec.select_cust_children_flag;
5069: END IF;
5070:
5071: IF p_claim_line_rec.attribute_category = FND_API.G_MISS_CHAR THEN
5072: x_complete_rec.attribute_category := NULL;
5073: END IF;
5074: IF p_claim_line_rec.attribute_category IS NULL THEN
5075: x_complete_rec.attribute_category := l_claim_line_rec.attribute_category;
5074: IF p_claim_line_rec.attribute_category IS NULL THEN
5075: x_complete_rec.attribute_category := l_claim_line_rec.attribute_category;
5076: END IF;
5077:
5078: IF p_claim_line_rec.item_id = FND_API.G_MISS_NUM THEN
5079: x_complete_rec.item_id := NULL;
5080: END IF;
5081: IF p_claim_line_rec.item_id IS NULL THEN
5082: x_complete_rec.item_id := l_claim_line_rec.item_id;
5081: IF p_claim_line_rec.item_id IS NULL THEN
5082: x_complete_rec.item_id := l_claim_line_rec.item_id;
5083: END IF;
5084:
5085: IF p_claim_line_rec.item_description = FND_API.G_MISS_CHAR THEN
5086: x_complete_rec.item_description := NULL;
5087: END IF;
5088: IF p_claim_line_rec.item_description IS NULL THEN
5089: x_complete_rec.item_description := l_claim_line_rec.item_description;
5088: IF p_claim_line_rec.item_description IS NULL THEN
5089: x_complete_rec.item_description := l_claim_line_rec.item_description;
5090: END IF;
5091:
5092: IF p_claim_line_rec.quantity = FND_API.G_MISS_NUM THEN
5093: x_complete_rec.quantity := NULL;
5094: END IF;
5095: IF p_claim_line_rec.quantity IS NULL THEN
5096: x_complete_rec.quantity := l_claim_line_rec.quantity;
5095: IF p_claim_line_rec.quantity IS NULL THEN
5096: x_complete_rec.quantity := l_claim_line_rec.quantity;
5097: END IF;
5098:
5099: IF p_claim_line_rec.quantity_uom = FND_API.G_MISS_CHAR THEN
5100: x_complete_rec.quantity_uom := NULL;
5101: END IF;
5102: IF p_claim_line_rec.quantity_uom IS NULL THEN
5103: x_complete_rec.quantity_uom := l_claim_line_rec.quantity_uom;
5102: IF p_claim_line_rec.quantity_uom IS NULL THEN
5103: x_complete_rec.quantity_uom := l_claim_line_rec.quantity_uom;
5104: END IF;
5105:
5106: IF p_claim_line_rec.rate = FND_API.G_MISS_NUM THEN
5107: x_complete_rec.rate := NULL;
5108: END IF;
5109: IF p_claim_line_rec.rate IS NULL THEN
5110: x_complete_rec.rate := l_claim_line_rec.rate;
5109: IF p_claim_line_rec.rate IS NULL THEN
5110: x_complete_rec.rate := l_claim_line_rec.rate;
5111: END IF;
5112:
5113: IF p_claim_line_rec.activity_type = FND_API.G_MISS_CHAR THEN
5114: x_complete_rec.activity_type := NULL;
5115: END IF;
5116: IF p_claim_line_rec.activity_type IS NULL THEN
5117: x_complete_rec.activity_type := l_claim_line_rec.activity_type;
5116: IF p_claim_line_rec.activity_type IS NULL THEN
5117: x_complete_rec.activity_type := l_claim_line_rec.activity_type;
5118: END IF;
5119:
5120: IF p_claim_line_rec.activity_id = FND_API.G_MISS_NUM THEN
5121: x_complete_rec.activity_id := NULL;
5122: END IF;
5123: IF p_claim_line_rec.activity_id IS NULL THEN
5124: x_complete_rec.activity_id := l_claim_line_rec.activity_id;
5123: IF p_claim_line_rec.activity_id IS NULL THEN
5124: x_complete_rec.activity_id := l_claim_line_rec.activity_id;
5125: END IF;
5126:
5127: IF p_claim_line_rec.related_cust_account_id = FND_API.G_MISS_NUM THEN
5128: x_complete_rec.related_cust_account_id := NULL;
5129: END IF;
5130: IF p_claim_line_rec.related_cust_account_id IS NULL THEN
5131: x_complete_rec.related_cust_account_id := l_claim_line_rec.related_cust_account_id;
5130: IF p_claim_line_rec.related_cust_account_id IS NULL THEN
5131: x_complete_rec.related_cust_account_id := l_claim_line_rec.related_cust_account_id;
5132: END IF;
5133:
5134: IF p_claim_line_rec.buy_group_cust_account_id = FND_API.G_MISS_NUM THEN
5135: x_complete_rec.buy_group_cust_account_id := NULL;
5136: END IF;
5137: IF p_claim_line_rec.buy_group_cust_account_id IS NULL THEN
5138: x_complete_rec.buy_group_cust_account_id := l_claim_line_rec.buy_group_cust_account_id;
5137: IF p_claim_line_rec.buy_group_cust_account_id IS NULL THEN
5138: x_complete_rec.buy_group_cust_account_id := l_claim_line_rec.buy_group_cust_account_id;
5139: END IF;
5140:
5141: IF p_claim_line_rec.relationship_type = FND_API.G_MISS_CHAR THEN
5142: x_complete_rec.relationship_type := NULL;
5143: END IF;
5144: IF p_claim_line_rec.relationship_type IS NULL THEN
5145: x_complete_rec.relationship_type := l_claim_line_rec.relationship_type;
5144: IF p_claim_line_rec.relationship_type IS NULL THEN
5145: x_complete_rec.relationship_type := l_claim_line_rec.relationship_type;
5146: END IF;
5147:
5148: IF p_claim_line_rec.earnings_associated_flag = FND_API.G_MISS_CHAR THEN
5149: x_complete_rec.earnings_associated_flag := NULL;
5150: END IF;
5151: IF p_claim_line_rec.earnings_associated_flag IS NULL THEN
5152: x_complete_rec.earnings_associated_flag := l_claim_line_rec.earnings_associated_flag;
5151: IF p_claim_line_rec.earnings_associated_flag IS NULL THEN
5152: x_complete_rec.earnings_associated_flag := l_claim_line_rec.earnings_associated_flag;
5153: END IF;
5154:
5155: IF p_claim_line_rec.comments = FND_API.G_MISS_CHAR THEN
5156: x_complete_rec.comments := NULL;
5157: END IF;
5158: IF p_claim_line_rec.comments IS NULL THEN
5159: x_complete_rec.comments := l_claim_line_rec.comments;
5158: IF p_claim_line_rec.comments IS NULL THEN
5159: x_complete_rec.comments := l_claim_line_rec.comments;
5160: END IF;
5161:
5162: IF p_claim_line_rec.tax_code = FND_API.G_MISS_CHAR THEN
5163: x_complete_rec.tax_code := NULL;
5164: END IF;
5165: IF p_claim_line_rec.tax_code IS NULL THEN
5166: x_complete_rec.tax_code := l_claim_line_rec.tax_code;
5165: IF p_claim_line_rec.tax_code IS NULL THEN
5166: x_complete_rec.tax_code := l_claim_line_rec.tax_code;
5167: END IF;
5168:
5169: IF p_claim_line_rec.credit_to = FND_API.G_MISS_CHAR THEN
5170: x_complete_rec.credit_to := NULL;
5171: END IF;
5172: IF p_claim_line_rec.credit_to IS NULL THEN
5173: x_complete_rec.credit_to := l_claim_line_rec.credit_to;
5172: IF p_claim_line_rec.credit_to IS NULL THEN
5173: x_complete_rec.credit_to := l_claim_line_rec.credit_to;
5174: END IF;
5175:
5176: IF p_claim_line_rec.attribute1 = FND_API.G_MISS_CHAR THEN
5177: x_complete_rec.attribute1 := NULL;
5178: END IF;
5179: IF p_claim_line_rec.attribute1 IS NULL THEN
5180: x_complete_rec.attribute1 := l_claim_line_rec.attribute1;
5179: IF p_claim_line_rec.attribute1 IS NULL THEN
5180: x_complete_rec.attribute1 := l_claim_line_rec.attribute1;
5181: END IF;
5182:
5183: IF p_claim_line_rec.attribute2 = FND_API.G_MISS_CHAR THEN
5184: x_complete_rec.attribute2 := NULL;
5185: END IF;
5186: IF p_claim_line_rec.attribute2 IS NULL THEN
5187: x_complete_rec.attribute2 := l_claim_line_rec.attribute2;
5186: IF p_claim_line_rec.attribute2 IS NULL THEN
5187: x_complete_rec.attribute2 := l_claim_line_rec.attribute2;
5188: END IF;
5189:
5190: IF p_claim_line_rec.attribute3 = FND_API.G_MISS_CHAR THEN
5191: x_complete_rec.attribute3 := NULL;
5192: END IF;
5193: IF p_claim_line_rec.attribute3 IS NULL THEN
5194: x_complete_rec.attribute3 := l_claim_line_rec.attribute3;
5193: IF p_claim_line_rec.attribute3 IS NULL THEN
5194: x_complete_rec.attribute3 := l_claim_line_rec.attribute3;
5195: END IF;
5196:
5197: IF p_claim_line_rec.attribute4 = FND_API.G_MISS_CHAR THEN
5198: x_complete_rec.attribute4 := NULL;
5199: END IF;
5200: IF p_claim_line_rec.attribute4 IS NULL THEN
5201: x_complete_rec.attribute4 := l_claim_line_rec.attribute4;
5200: IF p_claim_line_rec.attribute4 IS NULL THEN
5201: x_complete_rec.attribute4 := l_claim_line_rec.attribute4;
5202: END IF;
5203:
5204: IF p_claim_line_rec.attribute5 = FND_API.G_MISS_CHAR THEN
5205: x_complete_rec.attribute5 := NULL;
5206: END IF;
5207: IF p_claim_line_rec.attribute5 IS NULL THEN
5208: x_complete_rec.attribute5 := l_claim_line_rec.attribute5;
5207: IF p_claim_line_rec.attribute5 IS NULL THEN
5208: x_complete_rec.attribute5 := l_claim_line_rec.attribute5;
5209: END IF;
5210:
5211: IF p_claim_line_rec.attribute6 = FND_API.G_MISS_CHAR THEN
5212: x_complete_rec.attribute6 := NULL;
5213: END IF;
5214: IF p_claim_line_rec.attribute6 IS NULL THEN
5215: x_complete_rec.attribute6 := l_claim_line_rec.attribute6;
5214: IF p_claim_line_rec.attribute6 IS NULL THEN
5215: x_complete_rec.attribute6 := l_claim_line_rec.attribute6;
5216: END IF;
5217:
5218: IF p_claim_line_rec.attribute7 = FND_API.G_MISS_CHAR THEN
5219: x_complete_rec.attribute7 := NULL;
5220: END IF;
5221: IF p_claim_line_rec.attribute7 IS NULL THEN
5222: x_complete_rec.attribute7 := l_claim_line_rec.attribute7;
5221: IF p_claim_line_rec.attribute7 IS NULL THEN
5222: x_complete_rec.attribute7 := l_claim_line_rec.attribute7;
5223: END IF;
5224:
5225: IF p_claim_line_rec.attribute8 = FND_API.G_MISS_CHAR THEN
5226: x_complete_rec.attribute8 := NULL;
5227: END IF;
5228: IF p_claim_line_rec.attribute8 IS NULL THEN
5229: x_complete_rec.attribute8 := l_claim_line_rec.attribute8;
5228: IF p_claim_line_rec.attribute8 IS NULL THEN
5229: x_complete_rec.attribute8 := l_claim_line_rec.attribute8;
5230: END IF;
5231:
5232: IF p_claim_line_rec.attribute9 = FND_API.G_MISS_CHAR THEN
5233: x_complete_rec.attribute9 := NULL;
5234: END IF;
5235: IF p_claim_line_rec.attribute9 IS NULL THEN
5236: x_complete_rec.attribute9 := l_claim_line_rec.attribute9;
5235: IF p_claim_line_rec.attribute9 IS NULL THEN
5236: x_complete_rec.attribute9 := l_claim_line_rec.attribute9;
5237: END IF;
5238:
5239: IF p_claim_line_rec.attribute10 = FND_API.G_MISS_CHAR THEN
5240: x_complete_rec.attribute10 := NULL;
5241: END IF;
5242: IF p_claim_line_rec.attribute10 IS NULL THEN
5243: x_complete_rec.attribute10 := l_claim_line_rec.attribute10;
5242: IF p_claim_line_rec.attribute10 IS NULL THEN
5243: x_complete_rec.attribute10 := l_claim_line_rec.attribute10;
5244: END IF;
5245:
5246: IF p_claim_line_rec.attribute11 = FND_API.G_MISS_CHAR THEN
5247: x_complete_rec.attribute11 := NULL;
5248: END IF;
5249: IF p_claim_line_rec.attribute11 IS NULL THEN
5250: x_complete_rec.attribute11 := l_claim_line_rec.attribute11;
5249: IF p_claim_line_rec.attribute11 IS NULL THEN
5250: x_complete_rec.attribute11 := l_claim_line_rec.attribute11;
5251: END IF;
5252:
5253: IF p_claim_line_rec.attribute12 = FND_API.G_MISS_CHAR THEN
5254: x_complete_rec.attribute12 := NULL;
5255: END IF;
5256: IF p_claim_line_rec.attribute12 IS NULL THEN
5257: x_complete_rec.attribute12 := l_claim_line_rec.attribute12;
5256: IF p_claim_line_rec.attribute12 IS NULL THEN
5257: x_complete_rec.attribute12 := l_claim_line_rec.attribute12;
5258: END IF;
5259:
5260: IF p_claim_line_rec.attribute13 = FND_API.G_MISS_CHAR THEN
5261: x_complete_rec.attribute13 := NULL;
5262: END IF;
5263: IF p_claim_line_rec.attribute13 IS NULL THEN
5264: x_complete_rec.attribute13 := l_claim_line_rec.attribute13;
5263: IF p_claim_line_rec.attribute13 IS NULL THEN
5264: x_complete_rec.attribute13 := l_claim_line_rec.attribute13;
5265: END IF;
5266:
5267: IF p_claim_line_rec.attribute14 = FND_API.G_MISS_CHAR THEN
5268: x_complete_rec.attribute14 := NULL;
5269: END IF;
5270: IF p_claim_line_rec.attribute14 IS NULL THEN
5271: x_complete_rec.attribute14 := l_claim_line_rec.attribute14;
5270: IF p_claim_line_rec.attribute14 IS NULL THEN
5271: x_complete_rec.attribute14 := l_claim_line_rec.attribute14;
5272: END IF;
5273:
5274: IF p_claim_line_rec.attribute15 = FND_API.G_MISS_CHAR THEN
5275: x_complete_rec.attribute15 := NULL;
5276: END IF;
5277: IF p_claim_line_rec.attribute15 IS NULL THEN
5278: x_complete_rec.attribute15 := l_claim_line_rec.attribute15;
5277: IF p_claim_line_rec.attribute15 IS NULL THEN
5278: x_complete_rec.attribute15 := l_claim_line_rec.attribute15;
5279: END IF;
5280:
5281: IF p_claim_line_rec.update_from_tbl_flag = FND_API.G_MISS_CHAR THEN
5282: x_complete_rec.update_from_tbl_flag := NULL;
5283: END IF;
5284: IF p_claim_line_rec.update_from_tbl_flag IS NULL THEN
5285: x_complete_rec.update_from_tbl_flag := FND_API.g_false;
5281: IF p_claim_line_rec.update_from_tbl_flag = FND_API.G_MISS_CHAR THEN
5282: x_complete_rec.update_from_tbl_flag := NULL;
5283: END IF;
5284: IF p_claim_line_rec.update_from_tbl_flag IS NULL THEN
5285: x_complete_rec.update_from_tbl_flag := FND_API.g_false;
5286: END IF;
5287:
5288: IF p_claim_line_rec.sale_date = FND_API.G_MISS_DATE THEN
5289: x_complete_rec.sale_date := NULL;
5284: IF p_claim_line_rec.update_from_tbl_flag IS NULL THEN
5285: x_complete_rec.update_from_tbl_flag := FND_API.g_false;
5286: END IF;
5287:
5288: IF p_claim_line_rec.sale_date = FND_API.G_MISS_DATE THEN
5289: x_complete_rec.sale_date := NULL;
5290: END IF;
5291: IF p_claim_line_rec.sale_date IS NULL THEN
5292: x_complete_rec.sale_date := l_claim_line_rec.sale_date;
5291: IF p_claim_line_rec.sale_date IS NULL THEN
5292: x_complete_rec.sale_date := l_claim_line_rec.sale_date;
5293: END IF;
5294:
5295: IF p_claim_line_rec.item_type = FND_API.G_MISS_CHAR THEN
5296: x_complete_rec.item_type := NULL;
5297: END IF;
5298: IF p_claim_line_rec.item_type IS NULL THEN
5299: x_complete_rec.item_type := l_claim_line_rec.item_type;
5298: IF p_claim_line_rec.item_type IS NULL THEN
5299: x_complete_rec.item_type := l_claim_line_rec.item_type;
5300: END IF;
5301:
5302: IF p_claim_line_rec.tax_amount = FND_API.G_MISS_NUM THEN
5303: x_complete_rec.tax_amount := NULL;
5304: END IF;
5305: IF p_claim_line_rec.tax_amount IS NULL THEN
5306: x_complete_rec.tax_amount := l_claim_line_rec.tax_amount;
5305: IF p_claim_line_rec.tax_amount IS NULL THEN
5306: x_complete_rec.tax_amount := l_claim_line_rec.tax_amount;
5307: END IF;
5308:
5309: IF p_claim_line_rec.claim_curr_tax_amount = FND_API.G_MISS_NUM THEN
5310: x_complete_rec.claim_curr_tax_amount := NULL;
5311: END IF;
5312: IF p_claim_line_rec.claim_curr_tax_amount IS NULL THEN
5313: x_complete_rec.claim_curr_tax_amount := l_claim_line_rec.claim_curr_tax_amount;
5313: x_complete_rec.claim_curr_tax_amount := l_claim_line_rec.claim_curr_tax_amount;
5314: END IF;
5315:
5316: -- Added for Bug4489415
5317: IF p_claim_line_rec.acctd_tax_amount = FND_API.G_MISS_NUM THEN
5318: x_complete_rec.acctd_tax_amount := NULL;
5319: END IF;
5320: IF p_claim_line_rec.acctd_tax_amount IS NULL THEN
5321: x_complete_rec.acctd_tax_amount := l_claim_line_rec.acctd_tax_amount;
5320: IF p_claim_line_rec.acctd_tax_amount IS NULL THEN
5321: x_complete_rec.acctd_tax_amount := l_claim_line_rec.acctd_tax_amount;
5322: END IF;
5323:
5324: IF p_claim_line_rec.activity_line_id = FND_API.G_MISS_NUM THEN
5325: x_complete_rec.activity_line_id := NULL;
5326: END IF;
5327: IF p_claim_line_rec.activity_line_id IS NULL THEN
5328: x_complete_rec.activity_line_id := l_claim_line_rec.activity_line_id;
5327: IF p_claim_line_rec.activity_line_id IS NULL THEN
5328: x_complete_rec.activity_line_id := l_claim_line_rec.activity_line_id;
5329: END IF;
5330:
5331: IF p_claim_line_rec.offer_type = FND_API.G_MISS_CHAR THEN
5332: x_complete_rec.offer_type := NULL;
5333: END IF;
5334: IF p_claim_line_rec.offer_type IS NULL THEN
5335: x_complete_rec.offer_type := l_claim_line_rec.offer_type;
5334: IF p_claim_line_rec.offer_type IS NULL THEN
5335: x_complete_rec.offer_type := l_claim_line_rec.offer_type;
5336: END IF;
5337:
5338: IF p_claim_line_rec.prorate_earnings_flag = FND_API.G_MISS_CHAR THEN
5339: x_complete_rec.prorate_earnings_flag := NULL;
5340: END IF;
5341: IF p_claim_line_rec.prorate_earnings_flag IS NULL THEN
5342: x_complete_rec.prorate_earnings_flag := l_claim_line_rec.prorate_earnings_flag;
5342: x_complete_rec.prorate_earnings_flag := l_claim_line_rec.prorate_earnings_flag;
5343: END IF;
5344:
5345:
5346: IF p_claim_line_rec.earnings_end_date = FND_API.G_MISS_DATE THEN
5347: x_complete_rec.earnings_end_date := NULL;
5348: END IF;
5349: IF p_claim_line_rec.earnings_end_date IS NULL THEN
5350: x_complete_rec.earnings_end_date := l_claim_line_rec.earnings_end_date;
5349: IF p_claim_line_rec.earnings_end_date IS NULL THEN
5350: x_complete_rec.earnings_end_date := l_claim_line_rec.earnings_end_date;
5351: END IF;
5352:
5353: IF p_claim_line_rec.buy_group_party_id = FND_API.G_MISS_NUM THEN
5354: x_complete_rec.buy_group_party_id := NULL;
5355: END IF;
5356: IF p_claim_line_rec.buy_group_party_id IS NULL THEN
5357: x_complete_rec.buy_group_party_id := l_claim_line_rec.buy_group_party_id;
5357: x_complete_rec.buy_group_party_id := l_claim_line_rec.buy_group_party_id;
5358: END IF;
5359:
5360: -- Bug4489415
5361: IF p_claim_line_rec.tax_action = FND_API.G_MISS_CHAR THEN
5362: x_complete_rec.tax_action := NULL;
5363: END IF;
5364:
5365: --12.1 Enhancement : Price Protection
5382: -- 03-Mar-06 azahmed bugfix 5075837 line number increment
5383: ---------------------------------------------------------------------
5384: PROCEDURE split_claim_line(
5385: p_api_version IN NUMBER
5386: ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
5387: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
5388: ,p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
5389:
5390: ,p_claim_line_id IN NUMBER
5383: ---------------------------------------------------------------------
5384: PROCEDURE split_claim_line(
5385: p_api_version IN NUMBER
5386: ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
5387: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
5388: ,p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
5389:
5390: ,p_claim_line_id IN NUMBER
5391: ,x_return_status OUT NOCOPY VARCHAR2
5384: PROCEDURE split_claim_line(
5385: p_api_version IN NUMBER
5386: ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
5387: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
5388: ,p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
5389:
5390: ,p_claim_line_id IN NUMBER
5391: ,x_return_status OUT NOCOPY VARCHAR2
5392: ,x_msg_count OUT NOCOPY NUMBER
5571: IF OZF_DEBUG_HIGH_ON THEN
5572: OZF_Utility_PVT.debug_message(l_full_name||': start');
5573: END IF;
5574:
5575: IF FND_API.to_boolean(p_init_msg_list) THEN
5576: FND_MSG_PUB.initialize;
5577: END IF;
5578:
5579: IF NOT FND_API.compatible_api_call(
5575: IF FND_API.to_boolean(p_init_msg_list) THEN
5576: FND_MSG_PUB.initialize;
5577: END IF;
5578:
5579: IF NOT FND_API.compatible_api_call(
5580: l_api_version,
5581: p_api_version,
5582: l_api_name,
5583: g_pkg_name
5581: p_api_version,
5582: l_api_name,
5583: g_pkg_name
5584: ) THEN
5585: RAISE FND_API.g_exc_unexpected_error;
5586: END IF;
5587:
5588: x_return_status := FND_API.g_ret_sts_success;
5589:
5584: ) THEN
5585: RAISE FND_API.g_exc_unexpected_error;
5586: END IF;
5587:
5588: x_return_status := FND_API.g_ret_sts_success;
5589:
5590:
5591:
5592: -- Get the line being processed
5721: l_claim_line_rec.acctd_amount := l_acctd_amount;
5722: l_claim_line_rec.claim_currency_amount := l_claim_line_amount; -- Modified
5723: l_claim_line_rec.activity_id := NVL(l_old_line_rec.activity_id, l_offer_id);
5724: l_claim_line_rec.activity_type := NVL(l_old_line_rec.activity_type, 'OFFR');
5725: l_claim_line_rec.update_from_tbl_flag := FND_API.g_true;
5726:
5727:
5728: -- Call API to create new claim line
5729: ozf_claim_line_pvt.Create_Claim_Line(
5727:
5728: -- Call API to create new claim line
5729: ozf_claim_line_pvt.Create_Claim_Line(
5730: p_api_version => 1.0
5731: , p_init_msg_list => FND_API.g_false
5732: , p_commit => FND_API.g_false
5733: , p_validation_level => p_validation_level
5734: , x_return_status => x_return_status
5735: , x_msg_data => x_msg_data
5728: -- Call API to create new claim line
5729: ozf_claim_line_pvt.Create_Claim_Line(
5730: p_api_version => 1.0
5731: , p_init_msg_list => FND_API.g_false
5732: , p_commit => FND_API.g_false
5733: , p_validation_level => p_validation_level
5734: , x_return_status => x_return_status
5735: , x_msg_data => x_msg_data
5736: , x_msg_count => x_msg_count
5737: , p_claim_line_rec => l_claim_line_rec
5738: , p_mode => OZF_CLAIM_UTILITY_PVT.g_auto_mode
5739: , x_claim_line_id => l_claim_line_id
5740: );
5741: IF x_return_status = fnd_api.g_ret_sts_error THEN
5742: RAISE FND_API.g_exc_error;
5743: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
5744: RAISE FND_API.g_exc_unexpected_error;
5745: END IF;
5738: , p_mode => OZF_CLAIM_UTILITY_PVT.g_auto_mode
5739: , x_claim_line_id => l_claim_line_id
5740: );
5741: IF x_return_status = fnd_api.g_ret_sts_error THEN
5742: RAISE FND_API.g_exc_error;
5743: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
5744: RAISE FND_API.g_exc_unexpected_error;
5745: END IF;
5746:
5739: , x_claim_line_id => l_claim_line_id
5740: );
5741: IF x_return_status = fnd_api.g_ret_sts_error THEN
5742: RAISE FND_API.g_exc_error;
5743: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
5744: RAISE FND_API.g_exc_unexpected_error;
5745: END IF;
5746:
5747: -- Point the utilizations to the new claim line
5740: );
5741: IF x_return_status = fnd_api.g_ret_sts_error THEN
5742: RAISE FND_API.g_exc_error;
5743: ELSIF x_return_status = fnd_api.g_ret_sts_unexp_error THEN
5744: RAISE FND_API.g_exc_unexpected_error;
5745: END IF;
5746:
5747: -- Point the utilizations to the new claim line
5748: IF l_util_product_id IS NULL AND l_util_product_level IS NULL THEN
5814: CLOSE csr_line_utils;
5815:
5816:
5817: -- Check for commit
5818: IF FND_API.to_boolean(p_commit) THEN
5819: COMMIT;
5820: END IF;
5821:
5822: FND_MSG_PUB.count_and_get(
5819: COMMIT;
5820: END IF;
5821:
5822: FND_MSG_PUB.count_and_get(
5823: p_encoded => FND_API.g_false,
5824: p_count => x_msg_count,
5825: p_data => x_msg_data
5826: );
5827:
5829: OZF_Utility_PVT.debug_message(l_full_name ||': end');
5830: END IF;
5831:
5832: EXCEPTION
5833: WHEN FND_API.g_exc_error THEN
5834: ROLLBACK TO split_claim_line;
5835: x_return_status := FND_API.g_ret_sts_error;
5836: FND_MSG_PUB.count_and_get(
5837: p_encoded => FND_API.g_false,
5831:
5832: EXCEPTION
5833: WHEN FND_API.g_exc_error THEN
5834: ROLLBACK TO split_claim_line;
5835: x_return_status := FND_API.g_ret_sts_error;
5836: FND_MSG_PUB.count_and_get(
5837: p_encoded => FND_API.g_false,
5838: p_count => x_msg_count,
5839: p_data => x_msg_data
5833: WHEN FND_API.g_exc_error THEN
5834: ROLLBACK TO split_claim_line;
5835: x_return_status := FND_API.g_ret_sts_error;
5836: FND_MSG_PUB.count_and_get(
5837: p_encoded => FND_API.g_false,
5838: p_count => x_msg_count,
5839: p_data => x_msg_data
5840: );
5841:
5838: p_count => x_msg_count,
5839: p_data => x_msg_data
5840: );
5841:
5842: WHEN FND_API.g_exc_unexpected_error THEN
5843: ROLLBACK TO split_claim_line;
5844: x_return_status := FND_API.g_ret_sts_unexp_error ;
5845: FND_MSG_PUB.count_and_get(
5846: p_encoded => FND_API.g_false,
5840: );
5841:
5842: WHEN FND_API.g_exc_unexpected_error THEN
5843: ROLLBACK TO split_claim_line;
5844: x_return_status := FND_API.g_ret_sts_unexp_error ;
5845: FND_MSG_PUB.count_and_get(
5846: p_encoded => FND_API.g_false,
5847: p_count => x_msg_count,
5848: p_data => x_msg_data
5842: WHEN FND_API.g_exc_unexpected_error THEN
5843: ROLLBACK TO split_claim_line;
5844: x_return_status := FND_API.g_ret_sts_unexp_error ;
5845: FND_MSG_PUB.count_and_get(
5846: p_encoded => FND_API.g_false,
5847: p_count => x_msg_count,
5848: p_data => x_msg_data
5849: );
5850:
5849: );
5850:
5851: WHEN OTHERS THEN
5852: ROLLBACK TO split_claim_line;
5853: x_return_status := FND_API.g_ret_sts_unexp_error ;
5854: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
5855: FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
5856: END IF;
5857: FND_MSG_PUB.count_and_get(
5854: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
5855: FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
5856: END IF;
5857: FND_MSG_PUB.count_and_get(
5858: p_encoded => FND_API.g_false,
5859: p_count => x_msg_count,
5860: p_data => x_msg_data
5861: );
5862:
5875: -- 14-MAR-2011 KPATRO Created
5876: ---------------------------------------------------------------------
5877: PROCEDURE Delete_All_Association_AssoUI(
5878: p_api_version IN NUMBER
5879: ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
5880: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
5881: ,p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
5882:
5883: ,p_claim_id IN NUMBER
5876: ---------------------------------------------------------------------
5877: PROCEDURE Delete_All_Association_AssoUI(
5878: p_api_version IN NUMBER
5879: ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
5880: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
5881: ,p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
5882:
5883: ,p_claim_id IN NUMBER
5884: ,x_return_status OUT NOCOPY VARCHAR2
5877: PROCEDURE Delete_All_Association_AssoUI(
5878: p_api_version IN NUMBER
5879: ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
5880: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
5881: ,p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
5882:
5883: ,p_claim_id IN NUMBER
5884: ,x_return_status OUT NOCOPY VARCHAR2
5885: ,x_msg_count OUT NOCOPY NUMBER
5920: IF OZF_DEBUG_HIGH_ON THEN
5921: OZF_Utility_PVT.debug_message(l_full_name||': start');
5922: END IF;
5923:
5924: IF FND_API.to_boolean(p_init_msg_list) THEN
5925: FND_MSG_PUB.initialize;
5926: END IF;
5927:
5928: IF NOT FND_API.compatible_api_call(
5924: IF FND_API.to_boolean(p_init_msg_list) THEN
5925: FND_MSG_PUB.initialize;
5926: END IF;
5927:
5928: IF NOT FND_API.compatible_api_call(
5929: l_api_version,
5930: p_api_version,
5931: l_api_name,
5932: g_pkg_name
5930: p_api_version,
5931: l_api_name,
5932: g_pkg_name
5933: ) THEN
5934: RAISE FND_API.g_exc_unexpected_error;
5935: END IF;
5936:
5937: x_return_status := FND_API.g_ret_sts_success;
5938:
5933: ) THEN
5934: RAISE FND_API.g_exc_unexpected_error;
5935: END IF;
5936:
5937: x_return_status := FND_API.g_ret_sts_success;
5938:
5939: OPEN claim_line_id_csr(p_claim_id);
5940: LOOP
5941: FETCH claim_line_id_csr into l_claim_line_id, l_object_version_number_line;
5948: -- API call to Delete the claim Association and claim line.
5949: IF(l_claim_line_tbl.COUNT > 0 ) THEN
5950: OZF_Claim_Line_PVT.Delete_Claim_Line_Tbl(
5951: p_api_version => l_api_version
5952: ,p_init_msg_list => FND_API.g_false
5953: ,p_commit => FND_API.g_false
5954: ,p_validation_level => FND_API.g_valid_level_full
5955: ,x_return_status => l_return_status
5956: ,x_msg_count => l_msg_count
5949: IF(l_claim_line_tbl.COUNT > 0 ) THEN
5950: OZF_Claim_Line_PVT.Delete_Claim_Line_Tbl(
5951: p_api_version => l_api_version
5952: ,p_init_msg_list => FND_API.g_false
5953: ,p_commit => FND_API.g_false
5954: ,p_validation_level => FND_API.g_valid_level_full
5955: ,x_return_status => l_return_status
5956: ,x_msg_count => l_msg_count
5957: ,x_msg_data => l_msg_data
5950: OZF_Claim_Line_PVT.Delete_Claim_Line_Tbl(
5951: p_api_version => l_api_version
5952: ,p_init_msg_list => FND_API.g_false
5953: ,p_commit => FND_API.g_false
5954: ,p_validation_level => FND_API.g_valid_level_full
5955: ,x_return_status => l_return_status
5956: ,x_msg_count => l_msg_count
5957: ,x_msg_data => l_msg_data
5958: ,p_claim_line_tbl => l_claim_line_tbl
5955: ,x_return_status => l_return_status
5956: ,x_msg_count => l_msg_count
5957: ,x_msg_data => l_msg_data
5958: ,p_claim_line_tbl => l_claim_line_tbl
5959: ,p_change_object_version => FND_API.g_false
5960: ,x_error_index => l_error_index
5961: );
5962: IF l_return_status = FND_API.g_ret_sts_error THEN
5963: RAISE FND_API.g_exc_unexpected_error;
5958: ,p_claim_line_tbl => l_claim_line_tbl
5959: ,p_change_object_version => FND_API.g_false
5960: ,x_error_index => l_error_index
5961: );
5962: IF l_return_status = FND_API.g_ret_sts_error THEN
5963: RAISE FND_API.g_exc_unexpected_error;
5964: ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
5965: RAISE FND_API.g_exc_unexpected_error;
5966: END IF;
5959: ,p_change_object_version => FND_API.g_false
5960: ,x_error_index => l_error_index
5961: );
5962: IF l_return_status = FND_API.g_ret_sts_error THEN
5963: RAISE FND_API.g_exc_unexpected_error;
5964: ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
5965: RAISE FND_API.g_exc_unexpected_error;
5966: END IF;
5967: END IF;
5960: ,x_error_index => l_error_index
5961: );
5962: IF l_return_status = FND_API.g_ret_sts_error THEN
5963: RAISE FND_API.g_exc_unexpected_error;
5964: ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
5965: RAISE FND_API.g_exc_unexpected_error;
5966: END IF;
5967: END IF;
5968:
5961: );
5962: IF l_return_status = FND_API.g_ret_sts_error THEN
5963: RAISE FND_API.g_exc_unexpected_error;
5964: ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
5965: RAISE FND_API.g_exc_unexpected_error;
5966: END IF;
5967: END IF;
5968:
5969:
5967: END IF;
5968:
5969:
5970: -- Check for commit
5971: IF FND_API.to_boolean(p_commit) THEN
5972: COMMIT;
5973: END IF;
5974:
5975: FND_MSG_PUB.count_and_get(
5972: COMMIT;
5973: END IF;
5974:
5975: FND_MSG_PUB.count_and_get(
5976: p_encoded => FND_API.g_false,
5977: p_count => x_msg_count,
5978: p_data => x_msg_data
5979: );
5980:
5982: OZF_Utility_PVT.debug_message(l_full_name ||': end');
5983: END IF;
5984:
5985: EXCEPTION
5986: WHEN FND_API.g_exc_error THEN
5987: ROLLBACK TO delete_all_association;
5988: x_return_status := FND_API.g_ret_sts_error;
5989: FND_MSG_PUB.count_and_get(
5990: p_encoded => FND_API.g_false,
5984:
5985: EXCEPTION
5986: WHEN FND_API.g_exc_error THEN
5987: ROLLBACK TO delete_all_association;
5988: x_return_status := FND_API.g_ret_sts_error;
5989: FND_MSG_PUB.count_and_get(
5990: p_encoded => FND_API.g_false,
5991: p_count => x_msg_count,
5992: p_data => x_msg_data
5986: WHEN FND_API.g_exc_error THEN
5987: ROLLBACK TO delete_all_association;
5988: x_return_status := FND_API.g_ret_sts_error;
5989: FND_MSG_PUB.count_and_get(
5990: p_encoded => FND_API.g_false,
5991: p_count => x_msg_count,
5992: p_data => x_msg_data
5993: );
5994:
5991: p_count => x_msg_count,
5992: p_data => x_msg_data
5993: );
5994:
5995: WHEN FND_API.g_exc_unexpected_error THEN
5996: ROLLBACK TO delete_all_association;
5997: x_return_status := FND_API.g_ret_sts_unexp_error ;
5998: FND_MSG_PUB.count_and_get(
5999: p_encoded => FND_API.g_false,
5993: );
5994:
5995: WHEN FND_API.g_exc_unexpected_error THEN
5996: ROLLBACK TO delete_all_association;
5997: x_return_status := FND_API.g_ret_sts_unexp_error ;
5998: FND_MSG_PUB.count_and_get(
5999: p_encoded => FND_API.g_false,
6000: p_count => x_msg_count,
6001: p_data => x_msg_data
5995: WHEN FND_API.g_exc_unexpected_error THEN
5996: ROLLBACK TO delete_all_association;
5997: x_return_status := FND_API.g_ret_sts_unexp_error ;
5998: FND_MSG_PUB.count_and_get(
5999: p_encoded => FND_API.g_false,
6000: p_count => x_msg_count,
6001: p_data => x_msg_data
6002: );
6003:
6002: );
6003:
6004: WHEN OTHERS THEN
6005: ROLLBACK TO delete_all_association;
6006: x_return_status := FND_API.g_ret_sts_unexp_error ;
6007: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
6008: FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
6009: END IF;
6010: FND_MSG_PUB.count_and_get(
6007: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
6008: FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
6009: END IF;
6010: FND_MSG_PUB.count_and_get(
6011: p_encoded => FND_API.g_false,
6012: p_count => x_msg_count,
6013: p_data => x_msg_data
6014: );
6015: