DBA Data[Home] [Help]

PACKAGE BODY: APPS.OZF_CLAIM_PUB

Source


1 PACKAGE BODY OZF_Claim_PUB as
2 /* $Header: ozfpclab.pls 120.3.12010000.2 2008/09/30 11:14:09 kpatro ship $ */
3 -- ===============================================================
4 -- Start of Comments
5 -- Package name
6 --          OZF_Claim_PUB
7 -- Purpose
8 --
9 -- History
10 --
11 -- NOTE
12 --
13 -- MODIFICATION HISTORY
14 --    KPATRO     26-Dec-2007      12.1 Enhancement: Price Protection
15 --                                Added a new column dpp_cust_account_id
16 --    KPATRO     17-Jan-2008      Added the PPVENDOR check for update claim
17 --    KPATRO     16-Apr-2008      Fix for bug 6965694
18 --    KPATRO     30-sep-2008      Fix for Bug 7443072
19 -- End of Comments
20 -- ===============================================================
21 G_PKG_NAME CONSTANT VARCHAR2(30):= 'OZF_Claim_PUB';
22 G_FILE_NAME CONSTANT VARCHAR2(14) := 'ozfpclab.pls';
23 
24 G_DEBUG BOOLEAN := FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_debug_high);
25 
26 ---------------------------------------------------------------------
27 -- PROCEDURE
28 --    create_claim
29 --
30 -- PURPOSE
31 --    This procedure creates claim and claim line with unique ID's
32 --
33 -- PARAMETERS
34 --    p_claim_line_tbl
35 --    p_claim_rec
36 --    x_claim_id
37 --    x_return_status
38 --
39 -- NOTES
40 ---------------------------------------------------------------------
41 PROCEDURE Create_Claim(
42    p_api_version_number IN   NUMBER,
43    p_init_msg_list      IN   VARCHAR2     := FND_API.G_FALSE,
44    p_commit             IN   VARCHAR2     := FND_API.G_FALSE,
45    p_validation_level   IN    NUMBER   := FND_API.g_valid_level_full,
46    x_return_status      OUT NOCOPY  VARCHAR2,
47    x_msg_count          OUT NOCOPY  NUMBER,
48    x_msg_data           OUT NOCOPY  VARCHAR2,
49    p_claim_rec          IN   claim_rec_type,
50    p_claim_line_tbl     IN   claim_line_tbl_type,
51    x_claim_id           OUT NOCOPY  NUMBER
52 )
53 IS
54    L_API_NAME               CONSTANT VARCHAR2(30) := 'Create_Claim';
55    L_API_VERSION_NUMBER     CONSTANT NUMBER   := 1.0;
56    l_pvt_claim_rec          OZF_ClAIM_PVT.claim_rec_type;
57    l_x_pvt_claim_rec        OZF_ClAIM_PVT.claim_rec_type;
58    l_claim_rec              OZF_Claim_PUB.claim_rec_type  := p_claim_rec;
59    l_claim_line_tbl         claim_line_tbl_type := p_claim_line_tbl;
60    l_claim_line_rec         claim_line_rec_type ;
61    l_pvt_line_rec           OZF_CLAIM_LINE_PVT.claim_line_rec_type;
62    x_claim_LINE_id          NUMBER;
63    l_error_index            NUMBER;
64 BEGIN
65 -- Standard Start of API savepoint
66 SAVEPOINT CREATE_Claim_PUB;
67 -- Standard call to check for call compatibility.
68 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
69    p_api_version_number,
70    l_api_name,
71    G_PKG_NAME)
72 THEN
73    RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
74 END IF;
75 -- Initialize message list if p_init_msg_list is set to TRUE.
76 IF FND_API.to_Boolean( p_init_msg_list )
77 THEN
78    FND_MSG_PUB.initialize;
79 END IF;
80 -- Debug Message
81 IF g_debug THEN
82    OZF_UTILITY_PVT.debug_message('Public API: ' || l_api_name || ' pub start');
83 END IF;
84 -- Initialize API return status to SUCCESS
85 x_return_status := FND_API.G_RET_STS_SUCCESS;
86 --
87 -- API body
88 --
89 -- Construct the claim rec to pass to private api
90 --
91    l_pvt_claim_rec.claim_id:=l_claim_rec.claim_id;
92    l_pvt_claim_rec.object_version_number:=l_claim_rec.object_version_number;
93    l_pvt_claim_rec.last_update_date:=l_claim_rec.last_update_date;
94    l_pvt_claim_rec.last_updated_by:=l_claim_rec.last_updated_by;
95    l_pvt_claim_rec.creation_date:=l_claim_rec.creation_date;
96    l_pvt_claim_rec.created_by:=l_claim_rec.created_by;
97    l_pvt_claim_rec.last_update_login:=l_claim_rec.last_update_login;
98    l_pvt_claim_rec.request_id:=l_claim_rec.request_id;
99    l_pvt_claim_rec.program_application_id:=l_claim_rec.program_application_id;
100    l_pvt_claim_rec.program_update_date:=l_claim_rec.program_update_date;
101    l_pvt_claim_rec.program_id:=l_claim_rec.program_id;
102    l_pvt_claim_rec.created_from:=l_claim_rec.created_from;
103    l_pvt_claim_rec.batch_id:=l_claim_rec.batch_id;
104    l_pvt_claim_rec.claim_number:=l_claim_rec.claim_number;
105    l_pvt_claim_rec.claim_type_id:=l_claim_rec.claim_type_id;
106    l_pvt_claim_rec.claim_class:=l_claim_rec.claim_class;
107    l_pvt_claim_rec.claim_date:=l_claim_rec.claim_date;
108    l_pvt_claim_rec.due_date:=l_claim_rec.due_date;
109    l_pvt_claim_rec.owner_id:=l_claim_rec.owner_id;
110    l_pvt_claim_rec.history_event:=l_claim_rec.history_event;
111    l_pvt_claim_rec.history_event_date:=l_claim_rec.history_event_date;
112    l_pvt_claim_rec.history_event_description:=l_claim_rec.history_event_description;
113    l_pvt_claim_rec.split_from_claim_id:=l_claim_rec.split_from_claim_id;
114    l_pvt_claim_rec.duplicate_claim_id:=l_claim_rec.duplicate_claim_id;
115    l_pvt_claim_rec.split_date:=l_claim_rec.split_date;
116    l_pvt_claim_rec.root_claim_id:=l_claim_rec.root_claim_id;
117    l_pvt_claim_rec.amount:=l_claim_rec.amount;
118    l_pvt_claim_rec.amount_adjusted:=l_claim_rec.amount_adjusted;
119    l_pvt_claim_rec.amount_remaining:=l_claim_rec.amount_remaining;
120    l_pvt_claim_rec.amount_settled:=l_claim_rec.amount_settled;
121    l_pvt_claim_rec.acctd_amount:=l_claim_rec.acctd_amount;
122    l_pvt_claim_rec.acctd_amount_remaining:=l_claim_rec.acctd_amount_remaining;
123    l_pvt_claim_rec.tax_amount:=l_claim_rec.tax_amount;
124    l_pvt_claim_rec.tax_code:=l_claim_rec.tax_code;
125    l_pvt_claim_rec.tax_calculation_flag:=l_claim_rec.tax_calculation_flag;
126    l_pvt_claim_rec.currency_code:=l_claim_rec.currency_code;
127    l_pvt_claim_rec.exchange_rate_type:=l_claim_rec.exchange_rate_type;
128    l_pvt_claim_rec.exchange_rate_date:=l_claim_rec.exchange_rate_date;
129    l_pvt_claim_rec.exchange_rate:=l_claim_rec.exchange_rate;
130    l_pvt_claim_rec.set_of_books_id:=l_claim_rec.set_of_books_id;
131    l_pvt_claim_rec.original_claim_date:=l_claim_rec.original_claim_date;
132    l_pvt_claim_rec.source_object_id:=l_claim_rec.source_object_id;
133    l_pvt_claim_rec.source_object_class:=l_claim_rec.source_object_class;
134    l_pvt_claim_rec.source_object_type_id:=l_claim_rec.source_object_type_id;
135    l_pvt_claim_rec.source_object_number:=l_claim_rec.source_object_number;
136    l_pvt_claim_rec.cust_account_id:=l_claim_rec.cust_account_id;
137    l_pvt_claim_rec.cust_billto_acct_site_id:=l_claim_rec.cust_billto_acct_site_id;
138    l_pvt_claim_rec.cust_shipto_acct_site_id:=l_claim_rec.cust_shipto_acct_site_id;
139    l_pvt_claim_rec.location_id:=l_claim_rec.location_id;
140    l_pvt_claim_rec.pay_related_account_flag:=l_claim_rec.pay_related_account_flag;
141    l_pvt_claim_rec.related_cust_account_id:=l_claim_rec.related_cust_account_id;
142    l_pvt_claim_rec.related_site_use_id:=l_claim_rec.related_site_use_id;
143    l_pvt_claim_rec.relationship_type:=l_claim_rec.relationship_type;
144    l_pvt_claim_rec.vendor_id:=l_claim_rec.vendor_id;
145    l_pvt_claim_rec.vendor_site_id:=l_claim_rec.vendor_site_id;
146    l_pvt_claim_rec.reason_type:=l_claim_rec.reason_type;
147    l_pvt_claim_rec.reason_code_id:=l_claim_rec.reason_code_id;
148    l_pvt_claim_rec.task_template_group_id:=l_claim_rec.task_template_group_id;
149    l_pvt_claim_rec.status_code:=l_claim_rec.status_code;
150    l_pvt_claim_rec.user_status_id:=l_claim_rec.user_status_id;
151    l_pvt_claim_rec.sales_rep_id:=l_claim_rec.sales_rep_id;
152    l_pvt_claim_rec.collector_id:=l_claim_rec.collector_id;
153    l_pvt_claim_rec.contact_id:=l_claim_rec.contact_id;
154    l_pvt_claim_rec.broker_id:=l_claim_rec.broker_id;
155    l_pvt_claim_rec.territory_id:=l_claim_rec.territory_id;
156    l_pvt_claim_rec.customer_ref_date:=l_claim_rec.customer_ref_date;
157    l_pvt_claim_rec.customer_ref_number:=l_claim_rec.customer_ref_number;
158    l_pvt_claim_rec.assigned_to:=l_claim_rec.assigned_to;
159    l_pvt_claim_rec.receipt_id:=l_claim_rec.receipt_id;
160    l_pvt_claim_rec.receipt_number:=l_claim_rec.receipt_number;
161    l_pvt_claim_rec.doc_sequence_id:=l_claim_rec.doc_sequence_id;
162    l_pvt_claim_rec.doc_sequence_value:=l_claim_rec.doc_sequence_value;
163    l_pvt_claim_rec.gl_date:=l_claim_rec.gl_date;
164    l_pvt_claim_rec.payment_method:=l_claim_rec.payment_method;
165    l_pvt_claim_rec.voucher_id:=l_claim_rec.voucher_id;
166    l_pvt_claim_rec.voucher_number:=l_claim_rec.voucher_number;
167    l_pvt_claim_rec.payment_reference_id:=l_claim_rec.payment_reference_id;
168    l_pvt_claim_rec.payment_reference_number:=l_claim_rec.payment_reference_number;
169    l_pvt_claim_rec.payment_reference_date:=l_claim_rec.payment_reference_date;
170    l_pvt_claim_rec.payment_status:=l_claim_rec.payment_status;
171    l_pvt_claim_rec.approved_flag:=l_claim_rec.approved_flag;
172    l_pvt_claim_rec.approved_date:=l_claim_rec.approved_date;
173    l_pvt_claim_rec.approved_by:=l_claim_rec.approved_by;
174    l_pvt_claim_rec.settled_date:=l_claim_rec.settled_date;
175    l_pvt_claim_rec.settled_by:=l_claim_rec.settled_by;
176    l_pvt_claim_rec.effective_date:=l_claim_rec.effective_date;
177    l_pvt_claim_rec.custom_setup_id:=l_claim_rec.custom_setup_id;
178    l_pvt_claim_rec.task_id:=l_claim_rec.task_id;
179    l_pvt_claim_rec.country_id:=l_claim_rec.country_id;
180    l_pvt_claim_rec.order_type_id:=l_claim_rec.order_type_id;
181    l_pvt_claim_rec.comments:=l_claim_rec.comments;
182    l_pvt_claim_rec.attribute_category:=l_claim_rec.attribute_category;
183    l_pvt_claim_rec.attribute1:=l_claim_rec.attribute1;
184    l_pvt_claim_rec.attribute2:=l_claim_rec.attribute2;
185    l_pvt_claim_rec.attribute3:=l_claim_rec.attribute3;
186    l_pvt_claim_rec.attribute4:=l_claim_rec.attribute4;
187    l_pvt_claim_rec.attribute5:=l_claim_rec.attribute5;
188    l_pvt_claim_rec.attribute6:=l_claim_rec.attribute6;
189    l_pvt_claim_rec.attribute7:=l_claim_rec.attribute7;
190    l_pvt_claim_rec.attribute8:=l_claim_rec.attribute8;
191    l_pvt_claim_rec.attribute9:=l_claim_rec.attribute9;
192    l_pvt_claim_rec.attribute10:=l_claim_rec.attribute10;
193    l_pvt_claim_rec.attribute11:=l_claim_rec.attribute11;
194    l_pvt_claim_rec.attribute12:=l_claim_rec.attribute12;
195    l_pvt_claim_rec.attribute13:=l_claim_rec.attribute13;
196    l_pvt_claim_rec.attribute14:=l_claim_rec.attribute14;
197    l_pvt_claim_rec.attribute15:=l_claim_rec.attribute15;
198    l_pvt_claim_rec.deduction_attribute_category:=l_claim_rec.deduction_attribute_category;
199    l_pvt_claim_rec.deduction_attribute1:=l_claim_rec.deduction_attribute1;
200    l_pvt_claim_rec.deduction_attribute2:=l_claim_rec.deduction_attribute2;
201    l_pvt_claim_rec.deduction_attribute3:=l_claim_rec.deduction_attribute3;
202    l_pvt_claim_rec.deduction_attribute4:=l_claim_rec.deduction_attribute4;
203    l_pvt_claim_rec.deduction_attribute5:=l_claim_rec.deduction_attribute5;
204    l_pvt_claim_rec.deduction_attribute6:=l_claim_rec.deduction_attribute6;
205    l_pvt_claim_rec.deduction_attribute7:=l_claim_rec.deduction_attribute7;
206    l_pvt_claim_rec.deduction_attribute8:=l_claim_rec.deduction_attribute8;
207    l_pvt_claim_rec.deduction_attribute9:=l_claim_rec.deduction_attribute9;
208    l_pvt_claim_rec.deduction_attribute10:=l_claim_rec.deduction_attribute10;
209    l_pvt_claim_rec.deduction_attribute11:=l_claim_rec.deduction_attribute11;
210    l_pvt_claim_rec.deduction_attribute12:=l_claim_rec.deduction_attribute12;
211    l_pvt_claim_rec.deduction_attribute13:=l_claim_rec.deduction_attribute13;
212    l_pvt_claim_rec.deduction_attribute14:=l_claim_rec.deduction_attribute14;
213    l_pvt_claim_rec.deduction_attribute15:=l_claim_rec.deduction_attribute15;
214    l_pvt_claim_rec.org_id:=l_claim_rec.org_id;
215 
216    l_pvt_claim_rec.write_off_flag                  	:=l_claim_rec.write_off_flag;
217    l_pvt_claim_rec.write_off_threshold_amount      	:=l_claim_rec.write_off_threshold_amount;
218    l_pvt_claim_rec.under_write_off_threshold       	:=l_claim_rec.under_write_off_threshold;
219    l_pvt_claim_rec.customer_reason                 	:=l_claim_rec.customer_reason;
220    l_pvt_claim_rec.ship_to_cust_account_id         	:=l_claim_rec.ship_to_cust_account_id;
221    l_pvt_claim_rec.amount_applied                  	:=l_claim_rec.amount_applied;
222    l_pvt_claim_rec.applied_receipt_id              	:=l_claim_rec.applied_receipt_id;
223    l_pvt_claim_rec.applied_receipt_number          	:=l_claim_rec.applied_receipt_number;
224    l_pvt_claim_rec.wo_rec_trx_id                   	:=l_claim_rec.wo_rec_trx_id;
225    l_pvt_claim_rec.group_claim_id                     :=l_claim_rec.group_claim_id;
226    l_pvt_claim_rec.appr_wf_item_key                	:=l_claim_rec.appr_wf_item_key;
227    l_pvt_claim_rec.cstl_wf_item_key                	:=l_claim_rec.cstl_wf_item_key;
228    l_pvt_claim_rec.batch_type                      	:=l_claim_rec.batch_type;
229 
230 --
231 -- Calling Private package: Create_Claim
232 -- Hint: Primary key needs to be returned
233 -- Check for default values befor creating claim.
234 
235    OZF_claim_PVT.Check_Claim_Common_Element (
236       p_api_version      => p_api_version_number,
237       p_init_msg_list    => p_init_msg_list,
238       p_validation_level => p_validation_level,
239       x_Return_Status      => x_return_status,
240       x_Msg_Count          => x_msg_count,
241       x_Msg_Data           => x_msg_data,
242       p_claim              => l_pvt_claim_rec,
243       x_claim              => l_x_pvt_claim_rec
244    );
245 -- Check return status from the above procedure call
246    IF x_return_status = FND_API.G_RET_STS_ERROR THEN
247       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
248    ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
249       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
250    END IF;
251    l_pvt_claim_rec := l_x_pvt_claim_rec;
252 
253 -- OZF_UTILITY_PVT.debug_message('Call  Private APICreate Claim Procdure 1');
254    OZF_claim_PVT.Create_Claim(
255       p_api_version      => p_api_version_number,
256       p_init_msg_list    => FND_API.G_FALSE,
257       p_commit           => FND_API.G_FALSE,
258       P_Validation_Level   => p_Validation_Level,
259       X_Return_Status      => x_return_status,
260       X_Msg_Count          => x_msg_count,
261       X_Msg_Data           => x_msg_data,
262       P_claim              => l_pvt_claim_rec,
263       X_CLAIM_ID           => x_claim_id
264    );
265 -- Check return status from the above procedure call
266    IF x_return_status = FND_API.G_RET_STS_ERROR then
267       RAISE FND_API.G_EXC_ERROR;
268    ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
269       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
270    END IF;
271 
272    IF p_claim_line_tbl.count > 0 THEN
273      l_claim_line_tbl := p_claim_line_tbl;
274      FOR i IN p_claim_line_tbl.FIRST..p_claim_line_tbl.LAST LOOP
275        l_claim_line_tbl(i).claim_id := x_claim_id;
276      END LOOP;
277    END IF;
278 -- Call create claim line procedure
279    Create_Claim_Line_Tbl(
280    p_api_version       => p_api_version_number
281    ,p_init_msg_list    => FND_API.G_FALSE
282    ,P_commit           => FND_API.G_FALSE
283    ,p_validation_level => p_validation_level
284    ,x_return_status          =>   x_return_status
285    ,x_msg_data               =>   x_msg_data
286    ,x_msg_count              =>   x_msg_count
287    ,p_claim_line_tbl         =>   l_claim_line_tbl
288    ,x_error_index            =>   l_error_index);
289 IF g_debug THEN
290    ozf_utility_pvt.debug_message('return status for create_claim_line_tbl =>'||x_return_status);
291 END IF;
292    IF x_return_status = FND_API.G_RET_STS_ERROR then
293       RAISE FND_API.G_EXC_ERROR;
294    ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
295       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
296    END IF;
297 -- Debug Message
298 IF g_debug THEN
299    OZF_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'end');
300 END IF;
301    IF FND_API.to_Boolean( p_commit )
302    THEN
303       COMMIT WORK;
304    END IF;
305 --OZF_UTILITY_PVT.DEBUG_MESSAGE('CLAIM_ID=>'||l_claim_line_rec.claim_id);
306 -- Standard call to get message count and if count is 1, get message info.
307    FND_MSG_PUB.Count_And_Get (
308    p_encoded => FND_API.G_FALSE,
309    p_count          =>   x_msg_count,
310    p_data           =>   x_msg_data
311    );
312 EXCEPTION
313 WHEN OZF_Utility_PVT.resource_locked THEN
314    ROLLBACK TO CREATE_Claim_PUB;
315    x_return_status := FND_API.G_RET_STS_ERROR;
316    OZF_Utility_PVT.Error_Message(p_message_name => 'OZF_API_RESOURCE_LOCKED');
317    FND_MSG_PUB.Count_And_Get (
318    p_encoded => FND_API.G_FALSE,
319    p_count   => x_msg_count,
320    p_data    => x_msg_data
321    );
322 WHEN FND_API.G_EXC_ERROR THEN
323    ROLLBACK TO CREATE_Claim_PUB;
324    x_return_status := FND_API.G_RET_STS_ERROR;
325    -- Standard call to get message count and if count=1, get the message
326    FND_MSG_PUB.Count_And_Get (
327    p_encoded => FND_API.G_FALSE,
328    p_count   => x_msg_count,
329    p_data    => x_msg_data
330    );
331 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
332    ROLLBACK TO CREATE_Claim_PUB;
333    x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
334    -- Standard call to get message count and if count=1, get the message
335    FND_MSG_PUB.Count_And_Get (
336    p_encoded => FND_API.G_FALSE,
337    p_count => x_msg_count,
338    p_data  => x_msg_data
339    );
340 WHEN OTHERS THEN
341    ROLLBACK TO CREATE_Claim_PUB;
342    x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
343    IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
344    THEN
345       FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
346    END IF;
347    -- Standard call to get message count and if count=1, get the message
348    FND_MSG_PUB.Count_And_Get (
349    p_encoded => FND_API.G_FALSE,
350    p_count => x_msg_count,
351    p_data  => x_msg_data
352    );
353 End Create_Claim;
354 --Begin of create claim line
355 ---------------------------------------------------------------------
356 -- PROCEDURE
357 --    create_claim_line_Tbl
358 --
359 -- PURPOSE
360 --    This procedure  claim line with unique ID's
361 --
362 -- PARAMETERS
363 --
364 --    p_claim_rec
365 --    x_claim_line_id
366 --    x_return_status
367 --
368 -- NOTES
369 ---------------------------------------------------------------------
370 PROCEDURE Create_Claim_Line_Tbl(
371    p_api_version             IN  NUMBER
372    ,p_init_msg_list          IN  VARCHAR2 := FND_API.g_false
373    ,p_commit                 IN  VARCHAR2 := FND_API.g_false
374    ,p_validation_level       IN  NUMBER   := FND_API.g_valid_level_full
375    ,x_return_status          OUT NOCOPY   VARCHAR2
376    ,x_msg_data               OUT NOCOPY   VARCHAR2
377    ,x_msg_count              OUT NOCOPY   NUMBER
378    ,p_claim_line_tbl         IN  claim_line_tbl_type
379    ,x_error_index            OUT NOCOPY   NUMBER
380 )
381 IS
382    L_API_NAME               CONSTANT VARCHAR2(30) := 'Create_Claim_Line';
383    L_API_VERSION_NUMBER     CONSTANT NUMBER   := 1.0;
384    l_pvt_claim_line_rec     OZF_CLAIM_LINE_PVT.claim_line_rec_type;
385    l_claim_LINE_id          NUMBER;
386    l_claim_line_rec         claim_line_rec_type;
387    l_error_index            NUMBER;
388    l_pvt_claim_line_tbl     OZF_CLAIM_LINE_PVT.claim_line_tbl_type ;
389    l_claim_line_tbl         OZF_CLAIM_PUB.claim_line_tbl_type := p_claim_line_tbl;
390 BEGIN
391    SAVEPOINT Create_Claim_Line_Tbl;
392 -- Standard call to check for call compatibility.
393    IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
394       p_api_version,
395       l_api_name,
396       G_PKG_NAME)
397    THEN
398       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
399    END IF;
400 -- Initialize message list if p_init_msg_list is set to TRUE.
401    IF FND_API.to_Boolean( p_init_msg_list )
402    THEN
403       FND_MSG_PUB.initialize;
404    END IF;
405 -- Debug Message
406    IF g_debug THEN
407       OZF_UTILITY_PVT.debug_message('Public API: ' || l_api_name || ' pub start');
408    END IF;
409 -- Initialize API return status to SUCCESS
410    x_return_status := FND_API.G_RET_STS_SUCCESS;
411     IF p_claim_line_tbl.count > 0 THEN
412    --
413        l_claim_line_tbl := p_claim_line_tbl;
414    FOR i IN p_claim_line_tbl.FIRST..p_claim_line_tbl.LAST LOOP
415    --
416      l_pvt_claim_line_tbl(i).claim_line_id               := l_claim_line_tbl(i).claim_line_id  ;
417      l_pvt_claim_line_tbl(i).object_version_number       := l_claim_line_tbl(i).object_version_number;
418      l_pvt_claim_line_tbl(i).last_update_date            := l_claim_line_tbl(i).last_update_date;
419      l_pvt_claim_line_tbl(i).last_updated_by             := l_claim_line_tbl(i).last_updated_by ;
420      l_pvt_claim_line_tbl(i).creation_date               := l_claim_line_tbl(i).creation_date ;
421      l_pvt_claim_line_tbl(i).created_by                  := l_claim_line_tbl(i).created_by ;
422      l_pvt_claim_line_tbl(i).last_update_login           := l_claim_line_tbl(i).last_update_login;
423      l_pvt_claim_line_tbl(i).request_id                  := l_claim_line_tbl(i).request_id;
424      l_pvt_claim_line_tbl(i).program_application_id      := l_claim_line_tbl(i).program_application_id;
425      l_pvt_claim_line_tbl(i).program_update_date         := l_claim_line_tbl(i).program_update_date ;
426      l_pvt_claim_line_tbl(i).program_id                  := l_claim_line_tbl(i).program_id;
427      l_pvt_claim_line_tbl(i).created_from                := l_claim_line_tbl(i).created_from;
428      l_pvt_claim_line_tbl(i).claim_id                    := l_claim_line_tbl(i).claim_id;
429      l_pvt_claim_line_tbl(i).line_number                 := l_claim_line_tbl(i).line_number;
430      l_pvt_claim_line_tbl(i).split_from_claim_line_id    := l_claim_line_tbl(i).split_from_claim_line_id;
431      l_pvt_claim_line_tbl(i).amount                      := l_claim_line_tbl(i).amount;
432      l_pvt_claim_line_tbl(i).claim_currency_amount       := l_claim_line_tbl(i).claim_currency_amount;
433      l_pvt_claim_line_tbl(i).acctd_amount                := l_claim_line_tbl(i).acctd_amount;
434      l_pvt_claim_line_tbl(i).currency_code               := l_claim_line_tbl(i).currency_code ;
435      l_pvt_claim_line_tbl(i).exchange_rate_type          := l_claim_line_tbl(i).exchange_rate_type ;
436      l_pvt_claim_line_tbl(i).exchange_rate_date          := l_claim_line_tbl(i).exchange_rate_date;
437      l_pvt_claim_line_tbl(i).exchange_rate               := l_claim_line_tbl(i).exchange_rate;
438      l_pvt_claim_line_tbl(i).set_of_books_id             := l_claim_line_tbl(i).set_of_books_id;
439      l_pvt_claim_line_tbl(i).valid_flag                  := l_claim_line_tbl(i).valid_flag;
440      l_pvt_claim_line_tbl(i).source_object_id            := l_claim_line_tbl(i).source_object_id;
441      l_pvt_claim_line_tbl(i).source_object_class         := l_claim_line_tbl(i).source_object_class;
442      l_pvt_claim_line_tbl(i).source_object_type_id       := l_claim_line_tbl(i).source_object_type_id;
443      l_pvt_claim_line_tbl(i).source_object_line_id       := l_claim_line_tbl(i).source_object_line_id;
444      l_pvt_claim_line_tbl(i).plan_id                     := l_claim_line_tbl(i).plan_id;
445      l_pvt_claim_line_tbl(i).offer_id                    := l_claim_line_tbl(i).offer_id;
446      l_pvt_claim_line_tbl(i).utilization_id              := l_claim_line_tbl(i).utilization_id;
447      l_pvt_claim_line_tbl(i).payment_method              := l_claim_line_tbl(i).payment_method;
448      l_pvt_claim_line_tbl(i).payment_reference_id        := l_claim_line_tbl(i).payment_reference_id;
449      l_pvt_claim_line_tbl(i).payment_reference_number    := l_claim_line_tbl(i).payment_reference_number;
450      l_pvt_claim_line_tbl(i).payment_reference_date      := l_claim_line_tbl(i).payment_reference_date;
451      l_pvt_claim_line_tbl(i).voucher_id                  := l_claim_line_tbl(i).voucher_id;
452      l_pvt_claim_line_tbl(i).voucher_number              := l_claim_line_tbl(i).voucher_number;
453      l_pvt_claim_line_tbl(i).payment_status              := l_claim_line_tbl(i).payment_status;
454      l_pvt_claim_line_tbl(i).approved_flag               := l_claim_line_tbl(i).approved_flag ;
455      l_pvt_claim_line_tbl(i).approved_date               := l_claim_line_tbl(i).approved_date;
456      l_pvt_claim_line_tbl(i).approved_by                 := l_claim_line_tbl(i).approved_by  ;
457      l_pvt_claim_line_tbl(i).settled_date                := l_claim_line_tbl(i).settled_date;
458      l_pvt_claim_line_tbl(i).settled_by                  := l_claim_line_tbl(i).settled_by;
459      l_pvt_claim_line_tbl(i).performance_complete_flag   := l_claim_line_tbl(i).performance_complete_flag;
460      l_pvt_claim_line_tbl(i).performance_attached_flag   := l_claim_line_tbl(i).performance_attached_flag;
461      l_pvt_claim_line_tbl(i).item_id                     := l_claim_line_tbl(i).item_id;
462      l_pvt_claim_line_tbl(i).item_description            := l_claim_line_tbl(i).item_description ;
463      l_pvt_claim_line_tbl(i).quantity                    := l_claim_line_tbl(i).quantity;
464      l_pvt_claim_line_tbl(i).quantity_uom                := l_claim_line_tbl(i).quantity_uom;
465      l_pvt_claim_line_tbl(i).rate                        := l_claim_line_tbl(i).rate;
466      l_pvt_claim_line_tbl(i).activity_type               := l_claim_line_tbl(i).activity_type;
467      l_pvt_claim_line_tbl(i).activity_id                 := l_claim_line_tbl(i).activity_id;
468      l_pvt_claim_line_tbl(i).related_cust_account_id     := l_claim_line_tbl(i).related_cust_account_id;
469      l_pvt_claim_line_tbl(i).relationship_type           := l_claim_line_tbl(i).relationship_type;
470      l_pvt_claim_line_tbl(i).earnings_associated_flag    := l_claim_line_tbl(i).earnings_associated_flag;
471      l_pvt_claim_line_tbl(i).comments                    := l_claim_line_tbl(i).comments;
472      l_pvt_claim_line_tbl(i).tax_code                    := l_claim_line_tbl(i).tax_code;
473      l_pvt_claim_line_tbl(i).attribute_category          := l_claim_line_tbl(i).attribute_category;
474      l_pvt_claim_line_tbl(i).attribute1                  := l_claim_line_tbl(i).attribute1;
475      l_pvt_claim_line_tbl(i).attribute2                  := l_claim_line_tbl(i).attribute2;
476      l_pvt_claim_line_tbl(i).attribute3                  := l_claim_line_tbl(i).attribute3;
477      l_pvt_claim_line_tbl(i).attribute4                  := l_claim_line_tbl(i).attribute4;
478      l_pvt_claim_line_tbl(i).attribute5                  := l_claim_line_tbl(i).attribute5;
479      l_pvt_claim_line_tbl(i).attribute6                  := l_claim_line_tbl(i).attribute6;
480      l_pvt_claim_line_tbl(i).attribute7                  := l_claim_line_tbl(i).attribute7;
481      l_pvt_claim_line_tbl(i).attribute8                  := l_claim_line_tbl(i).attribute8;
482      l_pvt_claim_line_tbl(i).attribute9                  := l_claim_line_tbl(i).attribute9;
483      l_pvt_claim_line_tbl(i).attribute10                 := l_claim_line_tbl(i).attribute10;
484      l_pvt_claim_line_tbl(i).attribute11                 := l_claim_line_tbl(i).attribute11;
485      l_pvt_claim_line_tbl(i).attribute12                 := l_claim_line_tbl(i).attribute12;
486      l_pvt_claim_line_tbl(i).attribute13                 := l_claim_line_tbl(i).attribute13;
487      l_pvt_claim_line_tbl(i).attribute14                 := l_claim_line_tbl(i).attribute14;
488      l_pvt_claim_line_tbl(i).attribute15                 := l_claim_line_tbl(i).attribute15;
489      l_pvt_claim_line_tbl(i).org_id                      := l_claim_line_tbl(i).org_id ;
490      l_pvt_claim_line_tbl(i).update_from_tbl_flag        := l_claim_line_tbl(i).update_from_tbl_flag;
491      l_pvt_claim_line_tbl(i).tax_action	               := l_claim_line_tbl(i).tax_action;
492      l_pvt_claim_line_tbl(i).sale_date	                  := l_claim_line_tbl(i).sale_date;
493      l_pvt_claim_line_tbl(i).item_type	                  := l_claim_line_tbl(i).item_type;
494      l_pvt_claim_line_tbl(i).tax_amount	               := l_claim_line_tbl(i).tax_amount;
495      l_pvt_claim_line_tbl(i).claim_curr_tax_amount	      := l_claim_line_tbl(i).claim_curr_tax_amount;
496      l_pvt_claim_line_tbl(i).activity_line_id	         := l_claim_line_tbl(i).activity_line_id;
497      l_pvt_claim_line_tbl(i).offer_type	               := l_claim_line_tbl(i).offer_type;
498      l_pvt_claim_line_tbl(i).prorate_earnings_flag	      := l_claim_line_tbl(i).prorate_earnings_flag;
499      l_pvt_claim_line_tbl(i).earnings_end_date	         := l_claim_line_tbl(i).earnings_end_date;
500      --12.1 Enhancement : Price Protection
501      l_pvt_claim_line_tbl(i).dpp_cust_account_id	     := l_claim_line_tbl(i).dpp_cust_account_id;
502 
503     END LOOP;
504    END IF;
505 
506 -- call to create_claim_line_tbl
507    Ozf_Claim_Line_Pvt.Create_Claim_Line_Tbl(
508     p_api_version      => p_api_version
509    ,p_init_msg_list    => FND_API.G_FALSE
510    ,P_commit           => FND_API.G_FALSE
511    ,p_validation_level => p_validation_level
512    ,x_return_status          =>   x_return_status
513    ,x_msg_data               =>   x_msg_data
514    ,x_msg_count              =>   x_msg_count
515    ,p_claim_line_tbl         =>   l_pvt_claim_line_tbl
516    ,x_error_index            =>   l_error_index);
517    IF g_debug THEN
518       ozf_utility_pvt.debug_message('return status for create_claim_line_tbl =>'||x_return_status);
519    END IF;
520    IF x_return_status = FND_API.G_RET_STS_ERROR then
521       RAISE FND_API.G_EXC_ERROR;
522    ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
523       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
524    END IF;
525    -- Standard check for p_commit
526    IF FND_API.to_Boolean( p_commit )
527    THEN
528       COMMIT WORK;
529    END IF;
530    -- Debug Message
531    IF g_debug THEN
532       OZF_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'end');
533    END IF;
534    -- Standard call to get message count and if count is 1, get message info.
535    FND_MSG_PUB.Count_And_Get
536    (p_count          =>   x_msg_count,
537    p_data           =>   x_msg_data
538    );
539 EXCEPTION
540 WHEN OZF_Utility_PVT.resource_locked THEN
541    ROLLBACK TO Create_Claim_Line_Tbl;
542    x_return_status := FND_API.G_RET_STS_ERROR;
543    OZF_Utility_PVT.Error_Message(p_message_name => 'OZF_API_RESOURCE_LOCKED');
544    FND_MSG_PUB.Count_And_Get (
545    p_encoded => FND_API.G_FALSE,
546    p_count   => x_msg_count,
547    p_data    => x_msg_data
548    );
549 WHEN FND_API.G_EXC_ERROR THEN
550    ROLLBACK TO Create_Claim_Line_Tbl;
551    x_return_status := FND_API.G_RET_STS_ERROR;
552    -- Standard call to get message count and if count=1, get the message
553    FND_MSG_PUB.Count_And_Get (
554    p_encoded => FND_API.G_FALSE,
555    p_count   => x_msg_count,
556    p_data    => x_msg_data
557    );
558 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
559    ROLLBACK TO Create_Claim_Line_Tbl;
560    x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
561    -- Standard call to get message count and if count=1, get the message
562    FND_MSG_PUB.Count_And_Get (
563    p_encoded => FND_API.G_FALSE,
564    p_count => x_msg_count,
565    p_data  => x_msg_data
566    );
567 WHEN OTHERS THEN
568    ROLLBACK TO Create_Claim_Line_Tbl;
569    x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
570    IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
571    THEN
572       FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
573    END IF;
574    -- Standard call to get message count and if count=1, get the message
575    FND_MSG_PUB.Count_And_Get (
576    p_encoded => FND_API.G_FALSE,
577    p_count => x_msg_count,
578    p_data  => x_msg_data
579    );
580 End Create_Claim_Line_Tbl;
581 
582 --BEGIN OF UPDATE CLAIM
583 ---------------------------------------------------------------------
584 -- PROCEDURE
585 --   update_claim
586 --
587 -- PURPOSE
588 --    This procedure updates claim record by incrementing object version number
589 --
590 -- PARAMETERS
591 --
592 --    p_claim_line_tbl
593 --    x_object_version_number
594 --    x_return_status
595 --    p_claim_rec
596 -- NOTES
597 ---------------------------------------------------------------------
598 PROCEDURE Update_Claim(
599    p_api_version_number         IN    NUMBER,
600    p_init_msg_list              IN    VARCHAR2     := FND_API.G_FALSE,
601    p_commit                     IN    VARCHAR2     := FND_API.G_FALSE,
602    p_validation_level           IN    NUMBER   := FND_API.g_valid_level_full,
603    x_return_status              OUT NOCOPY   VARCHAR2,
604    x_msg_count                  OUT NOCOPY   NUMBER,
605    x_msg_data                   OUT NOCOPY   VARCHAR2,
606    p_claim_rec                  IN    claim_rec_type,
607    p_claim_line_tbl             IN    claim_line_tbl_type,
608    x_object_version_number      OUT NOCOPY   NUMBER
609 )
610 IS
611    L_API_NAME                  CONSTANT VARCHAR2(30) := 'Update_Claim';
612    L_API_VERSION_NUMBER        CONSTANT NUMBER   := 1.0;
613    l_pvt_claim_rec             OZF_Claim_PVT.claim_rec_type;
614    l_claim_rec                 OZF_CLAIM_PUB.claim_rec_type := p_claim_rec;
615    l_claim_line_tbl            claim_line_tbl_type:=p_claim_line_tbl ;
616    l_claim_line_rec            claim_line_rec_type;
617    l_object_version_number     NUMBER;
618    --l_pvt_claim_line_rec        OZF_CLAIM_LINE_PVT.claim_line_rec_type;
619    --l_pvt_claim_line_tbl        OZF_CLAIM_LINE_PVT.claim_line_tbl_type ;
620    x_object_version            NUMBER ;
621    x_error_index               NUMBER;
622 -- Added for Bug 6727136
623 CURSOR Claim_Source_csr(p_claim_id in number) IS
624 SELECT source_object_class
625 FROM ozf_claims_all
626 WHERE claim_id = p_claim_id;
627 
628 l_source_object_class VARCHAR2(30);
629 
630 BEGIN
631 -- Standard Start of API savepoint
632    SAVEPOINT SAVE_UPDATE_CLAIM_PUB;
633 -- Standard call to check for call compatibility.
634    IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
635       p_api_version_number,
636       l_api_name,
637       G_PKG_NAME)
638    THEN
639       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
640    END IF;
641 -- Initialize message list if p_init_msg_list is set to TRUE.
642    IF FND_API.to_Boolean( p_init_msg_list )
643    THEN
644       FND_MSG_PUB.initialize;
645    END IF;
646 
647    -- Debug Message
648    IF g_debug THEN
649       OZF_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'start');
650    END IF;
651 
652 -- Initialize API return status to SUCCESS
653    x_return_status := FND_API.G_RET_STS_SUCCESS;
654 --
655 -- API body
656 --
657 --  Pass Public API values to Private API
658    l_pvt_claim_rec.claim_id:=l_claim_rec.claim_id;
659    l_pvt_claim_rec.object_version_number :=l_claim_rec.object_version_number;
660    l_pvt_claim_rec.last_update_date:=l_claim_rec.last_update_date;
661    l_pvt_claim_rec.last_updated_by:=l_claim_rec.last_updated_by;
662    l_pvt_claim_rec.creation_date:=l_claim_rec.creation_date;
663    l_pvt_claim_rec.created_by:=l_claim_rec.created_by;
664    l_pvt_claim_rec.last_update_login:=l_claim_rec.last_update_login;
665    l_pvt_claim_rec.request_id:=l_claim_rec.request_id;
666    l_pvt_claim_rec.program_application_id:=l_claim_rec.program_application_id;
667    l_pvt_claim_rec.program_update_date:=l_claim_rec.program_update_date;
668    l_pvt_claim_rec.program_id:=l_claim_rec.program_id;
669    l_pvt_claim_rec.created_from:=l_claim_rec.created_from;
670    l_pvt_claim_rec.batch_id:=l_claim_rec.batch_id;
671    l_pvt_claim_rec.claim_number:=l_claim_rec.claim_number;
672    l_pvt_claim_rec.claim_type_id:=l_claim_rec.claim_type_id;
673    l_pvt_claim_rec.claim_class:=l_claim_rec.claim_class;
674    l_pvt_claim_rec.claim_date:=l_claim_rec.claim_date;
675    l_pvt_claim_rec.due_date:=l_claim_rec.due_date;
676    l_pvt_claim_rec.owner_id:=l_claim_rec.owner_id;
677    l_pvt_claim_rec.history_event:=l_claim_rec.history_event;
678    l_pvt_claim_rec.history_event_date:=l_claim_rec.history_event_date;
679    l_pvt_claim_rec.history_event_description:=l_claim_rec.history_event_description;
680    l_pvt_claim_rec.split_from_claim_id:=l_claim_rec.split_from_claim_id;
681    l_pvt_claim_rec.duplicate_claim_id:=l_claim_rec.duplicate_claim_id;
682    l_pvt_claim_rec.split_date:=l_claim_rec.split_date;
683    l_pvt_claim_rec.root_claim_id:=l_claim_rec.root_claim_id;
684    l_pvt_claim_rec.amount:=l_claim_rec.amount;
685    l_pvt_claim_rec.amount_adjusted:=l_claim_rec.amount_adjusted;
686    l_pvt_claim_rec.amount_remaining:=l_claim_rec.amount_remaining;
687    l_pvt_claim_rec.amount_settled:=l_claim_rec.amount_settled;
688    l_pvt_claim_rec.acctd_amount:=l_claim_rec.acctd_amount;
689    l_pvt_claim_rec.acctd_amount_remaining:=l_claim_rec.acctd_amount_remaining;
690    l_pvt_claim_rec.tax_amount:=l_claim_rec.tax_amount;
691    l_pvt_claim_rec.tax_code:=l_claim_rec.tax_code;
692    l_pvt_claim_rec.tax_calculation_flag:=l_claim_rec.tax_calculation_flag;
693    l_pvt_claim_rec.currency_code:=l_claim_rec.currency_code;
694    l_pvt_claim_rec.exchange_rate_type:=l_claim_rec.exchange_rate_type;
695    l_pvt_claim_rec.exchange_rate_date:=l_claim_rec.exchange_rate_date;
696    l_pvt_claim_rec.exchange_rate:=l_claim_rec.exchange_rate;
697    l_pvt_claim_rec.set_of_books_id:=l_claim_rec.set_of_books_id;
698    l_pvt_claim_rec.original_claim_date:=l_claim_rec.original_claim_date;
699    l_pvt_claim_rec.source_object_id:=l_claim_rec.source_object_id;
700    l_pvt_claim_rec.source_object_class:=l_claim_rec.source_object_class;
701    l_pvt_claim_rec.source_object_type_id:=l_claim_rec.source_object_type_id;
702    l_pvt_claim_rec.source_object_number:=l_claim_rec.source_object_number;
703    l_pvt_claim_rec.cust_account_id:=l_claim_rec.cust_account_id;
704    l_pvt_claim_rec.cust_billto_acct_site_id:=l_claim_rec.cust_billto_acct_site_id;
705    l_pvt_claim_rec.cust_shipto_acct_site_id:=l_claim_rec.cust_shipto_acct_site_id;
706    l_pvt_claim_rec.location_id:=l_claim_rec.location_id;
707    l_pvt_claim_rec.pay_related_account_flag:=l_claim_rec.pay_related_account_flag;
708    l_pvt_claim_rec.related_cust_account_id:=l_claim_rec.related_cust_account_id;
709    l_pvt_claim_rec.related_site_use_id:=l_claim_rec.related_site_use_id;
710    l_pvt_claim_rec.relationship_type:=l_claim_rec.relationship_type;
711    l_pvt_claim_rec.vendor_id:=l_claim_rec.vendor_id;
712    l_pvt_claim_rec.vendor_site_id:=l_claim_rec.vendor_site_id;
713    l_pvt_claim_rec.reason_type:=l_claim_rec.reason_type;
714    l_pvt_claim_rec.reason_code_id:=l_claim_rec.reason_code_id;
715    l_pvt_claim_rec.task_template_group_id:=l_claim_rec.task_template_group_id;
716    l_pvt_claim_rec.status_code:=l_claim_rec.status_code;
717    l_pvt_claim_rec.user_status_id:=l_claim_rec.user_status_id;
718    l_pvt_claim_rec.sales_rep_id:=l_claim_rec.sales_rep_id;
719    l_pvt_claim_rec.collector_id:=l_claim_rec.collector_id;
720    l_pvt_claim_rec.contact_id:=l_claim_rec.contact_id;
721    l_pvt_claim_rec.broker_id:=l_claim_rec.broker_id;
722    l_pvt_claim_rec.territory_id:=l_claim_rec.territory_id;
723    l_pvt_claim_rec.customer_ref_date:=l_claim_rec.customer_ref_date;
724    l_pvt_claim_rec.customer_ref_number:=l_claim_rec.customer_ref_number;
725    l_pvt_claim_rec.assigned_to:=l_claim_rec.assigned_to;
726    l_pvt_claim_rec.receipt_id:=l_claim_rec.receipt_id;
727    l_pvt_claim_rec.receipt_number:=l_claim_rec.receipt_number;
728    l_pvt_claim_rec.doc_sequence_id:=l_claim_rec.doc_sequence_id;
729    l_pvt_claim_rec.doc_sequence_value:=l_claim_rec.doc_sequence_value;
730    l_pvt_claim_rec.gl_date:=l_claim_rec.gl_date;
731    l_pvt_claim_rec.payment_method:=l_claim_rec.payment_method;
732    l_pvt_claim_rec.voucher_id:=l_claim_rec.voucher_id;
733    l_pvt_claim_rec.voucher_number:=l_claim_rec.voucher_number;
734    l_pvt_claim_rec.payment_reference_id:=l_claim_rec.payment_reference_id;
735    l_pvt_claim_rec.payment_reference_number:=l_claim_rec.payment_reference_number;
736    l_pvt_claim_rec.payment_reference_date:=l_claim_rec.payment_reference_date;
737    l_pvt_claim_rec.payment_status:=l_claim_rec.payment_status;
738    l_pvt_claim_rec.approved_flag:=l_claim_rec.approved_flag;
739    l_pvt_claim_rec.approved_date:=l_claim_rec.approved_date;
740    l_pvt_claim_rec.approved_by:=l_claim_rec.approved_by;
741    l_pvt_claim_rec.settled_date:=l_claim_rec.settled_date;
742    l_pvt_claim_rec.settled_by:=l_claim_rec.settled_by;
743    l_pvt_claim_rec.effective_date:=l_claim_rec.effective_date;
744    l_pvt_claim_rec.custom_setup_id:=l_claim_rec.custom_setup_id;
745    l_pvt_claim_rec.task_id:=l_claim_rec.task_id;
746    l_pvt_claim_rec.country_id:=l_claim_rec.country_id;
747    l_pvt_claim_rec.order_type_id:=l_claim_rec.order_type_id;
748    l_pvt_claim_rec.comments:=l_claim_rec.comments;
749    l_pvt_claim_rec.attribute_category:=l_claim_rec.attribute_category;
750    l_pvt_claim_rec.attribute1:=l_claim_rec.attribute1;
751    l_pvt_claim_rec.attribute2:=l_claim_rec.attribute2;
752    l_pvt_claim_rec.attribute3:=l_claim_rec.attribute3;
753    l_pvt_claim_rec.attribute4:=l_claim_rec.attribute4;
754    l_pvt_claim_rec.attribute5:=l_claim_rec.attribute5;
755    l_pvt_claim_rec.attribute6:=l_claim_rec.attribute6;
756    l_pvt_claim_rec.attribute7:=l_claim_rec.attribute7;
757    l_pvt_claim_rec.attribute8:=l_claim_rec.attribute8;
758    l_pvt_claim_rec.attribute9:=l_claim_rec.attribute9;
759    l_pvt_claim_rec.attribute10:=l_claim_rec.attribute10;
760    l_pvt_claim_rec.attribute11:=l_claim_rec.attribute11;
761    l_pvt_claim_rec.attribute12:=l_claim_rec.attribute12;
762    l_pvt_claim_rec.attribute13:=l_claim_rec.attribute13;
763    l_pvt_claim_rec.attribute14:=l_claim_rec.attribute14;
764    l_pvt_claim_rec.attribute15:=l_claim_rec.attribute15;
765    l_pvt_claim_rec.deduction_attribute_category:=l_claim_rec.deduction_attribute_category;
766    l_pvt_claim_rec.deduction_attribute1:=l_claim_rec.deduction_attribute1;
767    l_pvt_claim_rec.deduction_attribute2:=l_claim_rec.deduction_attribute2;
768    l_pvt_claim_rec.deduction_attribute3:=l_claim_rec.deduction_attribute3;
769    l_pvt_claim_rec.deduction_attribute4:=l_claim_rec.deduction_attribute4;
770    l_pvt_claim_rec.deduction_attribute5:=l_claim_rec.deduction_attribute5;
771    l_pvt_claim_rec.deduction_attribute6:=l_claim_rec.deduction_attribute6;
772    l_pvt_claim_rec.deduction_attribute7:=l_claim_rec.deduction_attribute7;
773    l_pvt_claim_rec.deduction_attribute8:=l_claim_rec.deduction_attribute8;
774    l_pvt_claim_rec.deduction_attribute9:=l_claim_rec.deduction_attribute9;
775    l_pvt_claim_rec.deduction_attribute10:=l_claim_rec.deduction_attribute10;
776    l_pvt_claim_rec.deduction_attribute11:=l_claim_rec.deduction_attribute11;
777    l_pvt_claim_rec.deduction_attribute12:=l_claim_rec.deduction_attribute12;
778    l_pvt_claim_rec.deduction_attribute13:=l_claim_rec.deduction_attribute13;
779    l_pvt_claim_rec.deduction_attribute14:=l_claim_rec.deduction_attribute14;
780    l_pvt_claim_rec.deduction_attribute15:=l_claim_rec.deduction_attribute15;
781    l_pvt_claim_rec.org_id:=l_claim_rec.org_id;
782    l_pvt_claim_rec.write_off_flag			      :=  l_claim_rec.write_off_flag;
783    l_pvt_claim_rec.write_off_threshold_amount	:=  l_claim_rec.write_off_threshold_amount;
784    l_pvt_claim_rec.under_write_off_threshold	   :=  l_claim_rec.under_write_off_threshold;
785    l_pvt_claim_rec.customer_reason			      :=  l_claim_rec.customer_reason;
786    l_pvt_claim_rec.ship_to_cust_account_id		:=  l_claim_rec.ship_to_cust_account_id;
787    l_pvt_claim_rec.amount_applied			      :=  l_claim_rec.amount_applied;
788    l_pvt_claim_rec.applied_receipt_id		      :=  l_claim_rec.applied_receipt_id;
789    l_pvt_claim_rec.applied_receipt_number		   :=  l_claim_rec.applied_receipt_number;
790    l_pvt_claim_rec.wo_rec_trx_id			         :=  l_claim_rec.wo_rec_trx_id;
791    l_pvt_claim_rec.group_claim_id			      :=  l_claim_rec.group_claim_id;
792    l_pvt_claim_rec.appr_wf_item_key		         :=  l_claim_rec.appr_wf_item_key;
793    l_pvt_claim_rec.cstl_wf_item_key		         :=  l_claim_rec.cstl_wf_item_key;
794    l_pvt_claim_rec.batch_type			            :=  l_claim_rec.batch_type;
795 
796 --
797    --l_pvt_claim_line_rec.update_from_tbl_flag:= l_claim_line_rec.update_from_tbl_flag;
798    OZF_Claim_PVT.Update_Claim(
799    p_api_version      => p_api_version_number,
800    p_init_msg_list    => FND_API.G_FALSE,
801    p_commit           => FND_API.G_FALSE,
802    P_Validation_Level   => p_Validation_Level,
803    x_return_status              => x_return_status,
804    x_msg_count                  => x_msg_count,
805    x_msg_data                   => x_msg_data,
806    p_claim                      => l_pvt_claim_rec,
807    p_event                      => 'UPDATE',
808    p_mode                       => OZF_claim_Utility_pvt.G_AUTO_MODE,
809    x_object_version_number      => x_object_version_number );
810    IF g_debug THEN
811       OZF_UTILITY_PVT.DEBUG_MESSAGE('OBJ VERSION NUMBER =>'||NVL(x_object_version_number,-99));
812       OZF_UTILITY_PVT.DEBUG_MESSAGE('RETURN STATUS FOR UPDATE CLAIM =>'||X_RETURN_STATUS);
813    END IF;
814    -- Check return status from the above procedure call
815    IF x_return_status = FND_API.G_RET_STS_ERROR then
816       RAISE FND_API.G_EXC_ERROR;
817    ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
818       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
819    END IF;
820 --
821 --
822 -- In case claim id is not popluated.
823    IF l_claim_line_tbl.count > 0 THEN
824       FOR i IN l_claim_line_tbl.FIRST..l_claim_line_tbl.LAST LOOP
825           l_claim_line_tbl(i).claim_id := l_claim_rec.claim_id;
826       END LOOP;
827    END IF;
828 
829 
830      OPEN Claim_Source_csr(l_claim_rec.claim_id);
831      FETCH Claim_Source_csr INTO l_source_object_class;
832      ClOSE Claim_Source_csr;
833 
834    IF g_debug THEN
835             OZF_UTILITY_PVT.DEBUG_MESSAGE('In Public API l_source_object_class =>'||l_source_object_class);
836            OZF_UTILITY_PVT.DEBUG_MESSAGE('In Public API l_claim_rec.claim_id =>'||l_claim_rec.claim_id);
837     END IF;
838    --Added for bug 6965694
839    -- Added for bug 7443072
840 
841    IF (l_source_object_class <> 'PPVENDOR' OR ( l_source_object_class = 'PPVENDOR' AND l_claim_line_tbl.count >1)
842    OR l_source_object_class <> 'PPINCVENDOR' OR ( l_source_object_class = 'PPINCVENDOR' AND l_claim_line_tbl.count >1))
843    THEN
844 	   Update_Claim_Line_Tbl(
845 	    p_api_version      => p_api_version_number
846 	   ,p_init_msg_list    => FND_API.G_FALSE
847 	   ,p_commit           => FND_API.G_FALSE
848 	   ,P_Validation_Level   => p_Validation_Level
849 	   ,x_return_status          => x_return_status
850 	   ,x_msg_data               => x_msg_data
851 	   ,x_msg_count              => x_msg_count
852 	   ,p_claim_line_tbl         => l_claim_line_tbl
853 	   ,p_change_object_version  => FND_API.g_false
854 	   ,x_error_index            => x_error_index);
855    END IF;
856    --OZF_UTILITY_PVT.DEBUG_MESSAGE('OBJ VERSION  =>'||NVL(x_object_version,-99));
857    IF g_debug THEN
858       OZF_UTILITY_PVT.DEBUG_MESSAGE('Return Status for Update claim line =>'||x_return_status);
859    END IF;
860    IF x_return_status = FND_API.G_RET_STS_ERROR then
861       RAISE FND_API.G_EXC_ERROR;
862    ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
863       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
864    END IF;
865 
866    -- Standard check for p_commit
867    IF FND_API.to_Boolean( p_commit )
868    THEN
869       COMMIT WORK;
870    END IF;
871    -- Debug Message
872    IF g_debug THEN
873       OZF_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'end');
874    END IF;
875    -- Standard call to get message count and if count is 1, get message info.
876    FND_MSG_PUB.Count_And_Get
877    (p_count          =>   x_msg_count,
878    p_data           =>   x_msg_data
879    );
880    EXCEPTION
881 WHEN OZF_Utility_PVT.resource_locked THEN
882    ROLLBACK TO SAVE_UPDATE_CLAIM_PUB;
883    x_return_status := FND_API.g_ret_sts_error;
884    OZF_Utility_PVT.Error_Message(p_message_name => 'OZF_API_RESOURCE_LOCKED');
885    FND_MSG_PUB.Count_And_Get (
886    p_encoded => FND_API.G_FALSE,
887    p_count   => x_msg_count,
888    p_data    => x_msg_data
889    );
890 WHEN FND_API.G_EXC_ERROR THEN
891    ROLLBACK TO SAVE_UPDATE_CLAIM_PUB;
892    x_return_status := FND_API.G_RET_STS_ERROR;
893    -- Standard call to get message count and if count=1, get the message
894    FND_MSG_PUB.Count_And_Get (
895    p_encoded => FND_API.G_FALSE,
896    p_count   => x_msg_count,
897    p_data    => x_msg_data
898    );
899 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
900    ROLLBACK TO SAVE_UPDATE_CLAIM_PUB;
901    x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
902    -- Standard call to get message count and if count=1, get the message
903    FND_MSG_PUB.Count_And_Get (
904    p_encoded => FND_API.G_FALSE,
905    p_count => x_msg_count,
906    p_data  => x_msg_data
907    );
908 WHEN OTHERS THEN
909    ROLLBACK TO SAVE_UPDATE_CLAIM_PUB;
910    x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
911    IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
912       THEN
913       FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
914    END IF;
915    -- Standard call to get message count and if count=1, get the message
916    FND_MSG_PUB.Count_And_Get (
917    p_encoded => FND_API.G_FALSE,
918    p_count => x_msg_count,
919    p_data  => x_msg_data
920    );
921 End Update_Claim;
922 
923 ---------------------------------------------------------------------
924 -- PROCEDURE
925 --    Update_Claim_Line_Tbl
926 --
927 -- PURPOSE
928 --    This procedure updates claim lines
929 --
930 -- PARAMETERS
931 --    p_claim_line_tbl
932 --    p_change_object_version  IN    VARCHAR2 := FND_API.g_false
933 --    x_error_index
934 --
935 --
936 -- NOTES
937 ---------------------------------------------------------------------
938 PROCEDURE Update_Claim_Line_Tbl(
939    p_api_version            IN    NUMBER
940    ,p_init_msg_list          IN    VARCHAR2 := FND_API.g_false
941    ,p_commit                 IN    VARCHAR2 := FND_API.g_false
942    ,p_validation_level       IN    NUMBER   := FND_API.g_valid_level_full
943    ,x_return_status          OUT NOCOPY   VARCHAR2
944    ,x_msg_data               OUT NOCOPY   VARCHAR2
945    ,x_msg_count              OUT NOCOPY   NUMBER
946    ,p_claim_line_tbl         IN    claim_line_tbl_type
947    ,p_change_object_version  IN    VARCHAR2 := FND_API.g_false
948    ,x_error_index            OUT NOCOPY   NUMBER
949 )
950 IS
951    L_API_NAME               CONSTANT VARCHAR2(30) := 'Update_Claim_Line';
952    L_API_VERSION_NUMBER     CONSTANT NUMBER   := 1.0;
953    l_pvt_claim_line_rec     OZF_CLAIM_LINE_PVT.claim_line_rec_type;
954    l_claim_line_tbl         OZF_CLAIM_PUB.claim_line_tbl_type:=p_claim_line_tbl;
955    l_pvt_claim_line_tbl     OZF_CLAIM_LINE_PVT.claim_line_tbl_type ;
956    l_error_index            NUMBER;
957    l_temp_line_rec          OZF_CLAIM_LINE_PVT.claim_line_rec_type;
958 BEGIN
959    SAVEPOINT Update_Claim_Line_Tbl;
960    -- Standard call to check for call compatibility.
961    IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
962       p_api_version,
963       l_api_name,
964       G_PKG_NAME)
965    THEN
966       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
967    END IF;
968    -- Initialize message list if p_init_msg_list is set to TRUE.
969    IF FND_API.to_Boolean( p_init_msg_list )
970       THEN
971       FND_MSG_PUB.initialize;
972    END IF;
973 -- Debug Message
974    IF g_debug THEN
975       OZF_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'start');
976    END IF;
977 
978 -- Initialize API return status to SUCCESS
979    x_return_status := FND_API.G_RET_STS_SUCCESS;
980    l_claim_line_tbl := p_claim_line_tbl;
981 
982    IF p_claim_line_tbl.COUNT > 0 THEN
983    FOR i IN p_claim_line_tbl.FIRST..p_claim_line_tbl.LAST LOOP
984    --
985      l_pvt_claim_line_tbl(i).claim_line_id               := l_claim_line_tbl(i).claim_line_id  ;
986 
987      IF l_claim_line_tbl(i).object_version_number is null then
988         l_pvt_claim_line_tbl(i).object_version_number    := FND_API.G_MISS_NUM;
989      ELSE
990         l_pvt_claim_line_tbl(i).object_version_number    :=l_claim_line_tbl(i).object_version_number;
991      END IF;
992 
993      IF l_claim_line_tbl(i).last_update_date is null then
994         l_pvt_claim_line_tbl(i).last_update_date    := FND_API.G_MISS_DATE;
995      ELSE
996         l_pvt_claim_line_tbl(i).last_update_date    :=l_claim_line_tbl(i).last_update_date;
997      END IF;
998 
999      IF l_claim_line_tbl(i).last_updated_by is null then
1000         l_pvt_claim_line_tbl(i).last_updated_by    := FND_API.G_MISS_NUM;
1001      ELSE
1002         l_pvt_claim_line_tbl(i).last_updated_by    :=l_claim_line_tbl(i).last_updated_by;
1003      END IF;
1004 
1005      IF l_claim_line_tbl(i).creation_date is null then
1006         l_pvt_claim_line_tbl(i).creation_date    := FND_API.G_MISS_DATE;
1007      ELSE
1008         l_pvt_claim_line_tbl(i).creation_date    :=l_claim_line_tbl(i).creation_date;
1009      END IF;
1010 
1011      IF l_claim_line_tbl(i).created_by is null then
1012         l_pvt_claim_line_tbl(i).created_by    := FND_API.G_MISS_NUM;
1013      ELSE
1014         l_pvt_claim_line_tbl(i).created_by    :=l_claim_line_tbl(i).created_by;
1015      END IF;
1016 
1017      IF l_claim_line_tbl(i).last_update_login is null then
1018         l_pvt_claim_line_tbl(i).last_update_login    := FND_API.G_MISS_NUM;
1019      ELSE
1020         l_pvt_claim_line_tbl(i).last_update_login    :=l_claim_line_tbl(i).last_update_login;
1021      END IF;
1022 
1023      IF l_claim_line_tbl(i).request_id is null then
1024         l_pvt_claim_line_tbl(i).request_id    := FND_API.G_MISS_NUM;
1025      ELSE
1026         l_pvt_claim_line_tbl(i).request_id    :=l_claim_line_tbl(i).request_id;
1027      END IF;
1028 
1029      IF l_claim_line_tbl(i).program_application_id is null then
1030         l_pvt_claim_line_tbl(i).program_application_id    := FND_API.G_MISS_NUM;
1031      ELSE
1032         l_pvt_claim_line_tbl(i).program_application_id    :=l_claim_line_tbl(i).program_application_id;
1033      END IF;
1034 
1035      IF l_claim_line_tbl(i).program_update_date is null then
1036         l_pvt_claim_line_tbl(i).program_update_date    := FND_API.G_MISS_DATE;
1037      ELSE
1038         l_pvt_claim_line_tbl(i).program_update_date    :=l_claim_line_tbl(i).program_update_date;
1039      END IF;
1040 
1041      IF l_claim_line_tbl(i).program_id is null then
1042         l_pvt_claim_line_tbl(i).program_id    := FND_API.G_MISS_NUM;
1043      ELSE
1044         l_pvt_claim_line_tbl(i).program_id    :=l_claim_line_tbl(i).program_id;
1045      END IF;
1046 
1047      IF l_claim_line_tbl(i).created_from is null then
1048         l_pvt_claim_line_tbl(i).created_from    := FND_API.G_MISS_CHAR;
1049      ELSE
1050         l_pvt_claim_line_tbl(i).created_from    :=l_claim_line_tbl(i).created_from;
1051      END IF;
1052 
1053      IF l_claim_line_tbl(i).claim_id is null then
1054         l_pvt_claim_line_tbl(i).claim_id    := FND_API.G_MISS_NUM;
1055      ELSE
1056         l_pvt_claim_line_tbl(i).claim_id    :=l_claim_line_tbl(i).claim_id;
1057      END IF;
1058 
1059      IF l_claim_line_tbl(i).line_number is null then
1060         l_pvt_claim_line_tbl(i).line_number              := FND_API.G_MISS_NUM;
1061      ELSE
1062         l_pvt_claim_line_tbl(i).line_number              :=l_claim_line_tbl(i).line_number;
1063      END IF;
1064 
1065      IF l_claim_line_tbl(i).split_from_claim_line_id is null then
1066         l_pvt_claim_line_tbl(i).split_from_claim_line_id    := FND_API.G_MISS_NUM;
1067      ELSE
1068         l_pvt_claim_line_tbl(i).split_from_claim_line_id    :=l_claim_line_tbl(i).split_from_claim_line_id;
1069      END IF;
1070 
1071      IF l_claim_line_tbl(i).amount is null then
1072         l_pvt_claim_line_tbl(i).amount    := FND_API.G_MISS_NUM;
1073      ELSE
1074         l_pvt_claim_line_tbl(i).amount    :=l_claim_line_tbl(i).amount;
1075      END IF;
1076 
1077      IF l_claim_line_tbl(i).claim_currency_amount is null then
1078         l_pvt_claim_line_tbl(i).claim_currency_amount    := FND_API.G_MISS_NUM;
1079      ELSE
1080         l_pvt_claim_line_tbl(i).claim_currency_amount    :=l_claim_line_tbl(i).claim_currency_amount;
1081      END IF;
1082 
1083      IF l_claim_line_tbl(i).acctd_amount is null then
1084         l_pvt_claim_line_tbl(i).acctd_amount    := FND_API.G_MISS_NUM;
1085      ELSE
1086         l_pvt_claim_line_tbl(i).acctd_amount   :=l_claim_line_tbl(i).acctd_amount;
1087      END IF;
1088 
1089      IF l_claim_line_tbl(i).currency_code is null then
1090         l_pvt_claim_line_tbl(i).currency_code    := FND_API.G_MISS_CHAR;
1091      ELSE
1092         l_pvt_claim_line_tbl(i).currency_code    :=l_claim_line_tbl(i).currency_code;
1093      END IF;
1094 
1095      IF l_claim_line_tbl(i).exchange_rate_type is null then
1096         l_pvt_claim_line_tbl(i).exchange_rate_type    := FND_API.G_MISS_CHAR;
1097      ELSE
1098         l_pvt_claim_line_tbl(i).exchange_rate_type    :=l_claim_line_tbl(i).exchange_rate_type;
1099      END IF;
1100 
1101      IF l_claim_line_tbl(i).exchange_rate_date is null then
1102         l_pvt_claim_line_tbl(i).exchange_rate_date    := FND_API.G_MISS_DATE;
1103      ELSE
1104         l_pvt_claim_line_tbl(i).exchange_rate_date    :=l_claim_line_tbl(i).exchange_rate_date;
1105      END IF;
1106 
1107      IF l_claim_line_tbl(i).exchange_rate is null then
1108         l_pvt_claim_line_tbl(i).exchange_rate    := FND_API.G_MISS_NUM;
1109      ELSE
1110         l_pvt_claim_line_tbl(i).exchange_rate    :=l_claim_line_tbl(i).exchange_rate;
1111      END IF;
1112 
1113      IF l_claim_line_tbl(i).set_of_books_id is null then
1114         l_pvt_claim_line_tbl(i).set_of_books_id    := FND_API.G_MISS_NUM;
1115      ELSE
1116         l_pvt_claim_line_tbl(i).set_of_books_id    :=l_claim_line_tbl(i).set_of_books_id;
1117      END IF;
1118 
1119      IF l_claim_line_tbl(i).valid_flag is null then
1120         l_pvt_claim_line_tbl(i).valid_flag    := FND_API.G_MISS_CHAR;
1121      ELSE
1122         l_pvt_claim_line_tbl(i).valid_flag    :=l_claim_line_tbl(i).valid_flag;
1123      END IF;
1124 
1125      IF l_claim_line_tbl(i).source_object_id is null then
1126         l_pvt_claim_line_tbl(i).source_object_id    := FND_API.G_MISS_NUM;
1127      ELSE
1128         l_pvt_claim_line_tbl(i).source_object_id    :=l_claim_line_tbl(i).source_object_id;
1129      END IF;
1130 
1131      IF l_claim_line_tbl(i).source_object_class is null then
1132         l_pvt_claim_line_tbl(i).source_object_class    := FND_API.G_MISS_CHAR;
1133      ELSE
1134         l_pvt_claim_line_tbl(i).source_object_class    :=l_claim_line_tbl(i).source_object_class;
1135      END IF;
1136 
1137      IF l_claim_line_tbl(i).source_object_type_id  is null then
1138         l_pvt_claim_line_tbl(i).source_object_type_id     := FND_API.G_MISS_NUM;
1139      ELSE
1140         l_pvt_claim_line_tbl(i).source_object_type_id     :=l_claim_line_tbl(i).source_object_type_id ;
1141      END IF;
1142 
1143      IF l_claim_line_tbl(i).source_object_line_id is null then
1144         l_pvt_claim_line_tbl(i).source_object_line_id    := FND_API.G_MISS_NUM;
1145      ELSE
1146         l_pvt_claim_line_tbl(i).source_object_line_id    :=l_claim_line_tbl(i).source_object_line_id;
1147      END IF;
1148 
1149      IF l_claim_line_tbl(i).plan_id is null then
1150         l_pvt_claim_line_tbl(i).plan_id    := FND_API.G_MISS_NUM;
1151      ELSE
1152         l_pvt_claim_line_tbl(i).plan_id    :=l_claim_line_tbl(i).plan_id;
1153      END IF;
1154 
1155      IF l_claim_line_tbl(i).offer_id is null then
1156         l_pvt_claim_line_tbl(i).offer_id    := FND_API.G_MISS_NUM;
1157      ELSE
1158         l_pvt_claim_line_tbl(i).offer_id    :=l_claim_line_tbl(i).offer_id;
1159      END IF;
1160 
1161      IF l_claim_line_tbl(i).utilization_id is null then
1162         l_pvt_claim_line_tbl(i).utilization_id    := FND_API.G_MISS_NUM;
1163      ELSE
1164         l_pvt_claim_line_tbl(i).utilization_id   :=l_claim_line_tbl(i).utilization_id;
1165      END IF;
1166 
1167      IF l_claim_line_tbl(i).payment_method is null then
1168         l_pvt_claim_line_tbl(i).payment_method    := FND_API.G_MISS_CHAR;
1169      ELSE
1170         l_pvt_claim_line_tbl(i).payment_method    :=l_claim_line_tbl(i).payment_method;
1171      END IF;
1172 
1173      IF l_claim_line_tbl(i).payment_reference_id is null then
1174         l_pvt_claim_line_tbl(i).payment_reference_id    := FND_API.G_MISS_NUM;
1175      ELSE
1176         l_pvt_claim_line_tbl(i).payment_reference_id    :=l_claim_line_tbl(i).payment_reference_id;
1177      END IF;
1178 
1179      IF l_claim_line_tbl(i).payment_reference_number is null then
1180         l_pvt_claim_line_tbl(i).payment_reference_number    := FND_API.G_MISS_CHAR;
1181      ELSE
1182         l_pvt_claim_line_tbl(i).payment_reference_number    :=l_claim_line_tbl(i).payment_reference_number;
1183      END IF;
1184 
1185      IF l_claim_line_tbl(i).payment_reference_date is null then
1186         l_pvt_claim_line_tbl(i).payment_reference_date    := FND_API.G_MISS_DATE;
1187      ELSE
1188         l_pvt_claim_line_tbl(i).payment_reference_date    :=l_claim_line_tbl(i).payment_reference_date;
1189      END IF;
1190 
1191      IF l_claim_line_tbl(i).voucher_id is null then
1192         l_pvt_claim_line_tbl(i).voucher_id    := FND_API.G_MISS_NUM;
1193      ELSE
1194         l_pvt_claim_line_tbl(i).voucher_id   :=l_claim_line_tbl(i).voucher_id;
1195      END IF;
1196 
1197      IF l_claim_line_tbl(i).voucher_number is null then
1198         l_pvt_claim_line_tbl(i).voucher_number    := FND_API.G_MISS_CHAR;
1199      ELSE
1200         l_pvt_claim_line_tbl(i).voucher_number    :=l_claim_line_tbl(i).voucher_number;
1201      END IF;
1202 
1203      IF l_claim_line_tbl(i).payment_status is null then
1204         l_pvt_claim_line_tbl(i).payment_status    := FND_API.G_MISS_CHAR;
1205      ELSE
1206         l_pvt_claim_line_tbl(i).payment_status    :=l_claim_line_tbl(i).payment_status;
1207      END IF;
1208 
1209      IF l_claim_line_tbl(i).approved_flag is null then
1210         l_pvt_claim_line_tbl(i).approved_flag    := FND_API.G_MISS_CHAR;
1211      ELSE
1212         l_pvt_claim_line_tbl(i).approved_flag    :=l_claim_line_tbl(i).approved_flag;
1213      END IF;
1214 
1215      IF l_claim_line_tbl(i).approved_date is null then
1216         l_pvt_claim_line_tbl(i).approved_date    := FND_API.G_MISS_DATE;
1217      ELSE
1218         l_pvt_claim_line_tbl(i).approved_date    :=l_claim_line_tbl(i).approved_date;
1219      END IF;
1220 
1221      IF l_claim_line_tbl(i).approved_by is null then
1222         l_pvt_claim_line_tbl(i).approved_by    := FND_API.G_MISS_NUM;
1223      ELSE
1224         l_pvt_claim_line_tbl(i).approved_by    :=l_claim_line_tbl(i).approved_by;
1225      END IF;
1226 
1227      IF l_claim_line_tbl(i).settled_date is null then
1228         l_pvt_claim_line_tbl(i).settled_date    := FND_API.G_MISS_DATE;
1229      ELSE
1230         l_pvt_claim_line_tbl(i).settled_date   :=l_claim_line_tbl(i).settled_date;
1231      END IF;
1232 
1233      IF l_claim_line_tbl(i).settled_by  is null then
1234         l_pvt_claim_line_tbl(i).settled_by    := FND_API.G_MISS_NUM;
1235      ELSE
1236         l_pvt_claim_line_tbl(i).settled_by     :=l_claim_line_tbl(i).settled_by ;
1237      END IF;
1238 
1239      IF l_claim_line_tbl(i).performance_complete_flag is null then
1240         l_pvt_claim_line_tbl(i).performance_complete_flag    := FND_API.G_MISS_CHAR;
1241      ELSE
1242         l_pvt_claim_line_tbl(i).performance_complete_flag    :=l_claim_line_tbl(i).performance_complete_flag;
1243      END IF;
1244 
1245      IF l_claim_line_tbl(i).performance_attached_flag is null then
1246         l_pvt_claim_line_tbl(i).performance_attached_flag    := FND_API.G_MISS_CHAR;
1247      ELSE
1248         l_pvt_claim_line_tbl(i).performance_attached_flag    :=l_claim_line_tbl(i).performance_attached_flag;
1249      END IF;
1250 
1251      IF l_claim_line_tbl(i).item_id is null then
1252         l_pvt_claim_line_tbl(i).item_id    := FND_API.G_MISS_NUM;
1253      ELSE
1254         l_pvt_claim_line_tbl(i).item_id    :=l_claim_line_tbl(i).item_id;
1255      END IF;
1256 
1257      IF l_claim_line_tbl(i).item_description is null then
1258         l_pvt_claim_line_tbl(i).item_description    := FND_API.G_MISS_CHAR;
1259      ELSE
1260         l_pvt_claim_line_tbl(i).item_description    :=l_claim_line_tbl(i).item_description;
1261      END IF;
1262 
1263      IF l_claim_line_tbl(i).quantity is null then
1264         l_pvt_claim_line_tbl(i).quantity    := FND_API.G_MISS_NUM;
1265      ELSE
1266         l_pvt_claim_line_tbl(i).quantity   :=l_claim_line_tbl(i).quantity;
1267      END IF;
1268 
1269      IF l_claim_line_tbl(i).quantity_uom is null then
1270         l_pvt_claim_line_tbl(i).quantity_uom    := FND_API.G_MISS_CHAR;
1271      ELSE
1272         l_pvt_claim_line_tbl(i).quantity_uom   :=l_claim_line_tbl(i).quantity_uom;
1273      END IF;
1274 
1275      IF l_claim_line_tbl(i).rate is null then
1276         l_pvt_claim_line_tbl(i).rate    := FND_API.G_MISS_NUM;
1277      ELSE
1278         l_pvt_claim_line_tbl(i).rate    :=l_claim_line_tbl(i).rate;
1279      END IF;
1280 
1281      IF l_claim_line_tbl(i).activity_type is null then
1282         l_pvt_claim_line_tbl(i).activity_type    := FND_API.G_MISS_CHAR;
1283      ELSE
1284         l_pvt_claim_line_tbl(i).activity_type    :=l_claim_line_tbl(i).activity_type;
1285      END IF;
1286 
1287      IF l_claim_line_tbl(i).activity_id is null then
1288         l_pvt_claim_line_tbl(i).activity_id    := FND_API.G_MISS_NUM;
1289      ELSE
1290         l_pvt_claim_line_tbl(i).activity_id    :=l_claim_line_tbl(i).activity_id;
1291      END IF;
1292 
1293      IF l_claim_line_tbl(i).related_cust_account_id is null then
1294         l_pvt_claim_line_tbl(i).related_cust_account_id    := FND_API.G_MISS_NUM;
1295      ELSE
1296         l_pvt_claim_line_tbl(i).related_cust_account_id   :=l_claim_line_tbl(i).related_cust_account_id;
1297      END IF;
1298 
1299      IF l_claim_line_tbl(i).relationship_type is null then
1300         l_pvt_claim_line_tbl(i).relationship_type    := FND_API.G_MISS_CHAR;
1301      ELSE
1302         l_pvt_claim_line_tbl(i).relationship_type    :=l_claim_line_tbl(i).relationship_type;
1303      END IF;
1304 
1305      IF l_claim_line_tbl(i).earnings_associated_flag is null then
1306         l_pvt_claim_line_tbl(i).earnings_associated_flag    := FND_API.G_MISS_CHAR;
1307      ELSE
1308         l_pvt_claim_line_tbl(i).earnings_associated_flag    :=l_claim_line_tbl(i).earnings_associated_flag;
1309      END IF;
1310 
1311      IF l_claim_line_tbl(i).comments is null then
1312         l_pvt_claim_line_tbl(i).comments    := FND_API.G_MISS_CHAR;
1313      ELSE
1314         l_pvt_claim_line_tbl(i).comments    :=l_claim_line_tbl(i).comments;
1315      END IF;
1316 
1317      IF l_claim_line_tbl(i).tax_code is null then
1318         l_pvt_claim_line_tbl(i).tax_code    := FND_API.G_MISS_CHAR;
1319      ELSE
1320         l_pvt_claim_line_tbl(i).tax_code    :=l_claim_line_tbl(i).tax_code;
1321      END IF;
1322 
1323      IF l_claim_line_tbl(i).attribute_category is null then
1324         l_pvt_claim_line_tbl(i).attribute_category    := FND_API.G_MISS_CHAR;
1325      ELSE
1326         l_pvt_claim_line_tbl(i).attribute_category    :=l_claim_line_tbl(i).attribute_category;
1327      END IF;
1328 
1329      IF l_claim_line_tbl(i).attribute1 is null then
1330         l_pvt_claim_line_tbl(i).attribute1    := FND_API.G_MISS_CHAR;
1331      ELSE
1332         l_pvt_claim_line_tbl(i).attribute1    :=l_claim_line_tbl(i).attribute1;
1333      END IF;
1334 
1335      IF l_claim_line_tbl(i).attribute2 is null then
1336         l_pvt_claim_line_tbl(i).attribute2    := FND_API.G_MISS_CHAR;
1337      ELSE
1338         l_pvt_claim_line_tbl(i).attribute2    :=l_claim_line_tbl(i).attribute2;
1339      END IF;
1340 
1341      IF l_claim_line_tbl(i).attribute3 is null then
1342         l_pvt_claim_line_tbl(i).attribute3   := FND_API.G_MISS_CHAR;
1343      ELSE
1344         l_pvt_claim_line_tbl(i).attribute3   :=l_claim_line_tbl(i).attribute3;
1345      END IF;
1346 
1347      IF l_claim_line_tbl(i).attribute4 is null then
1348         l_pvt_claim_line_tbl(i).attribute4    := FND_API.G_MISS_CHAR;
1349      ELSE
1350         l_pvt_claim_line_tbl(i).attribute4   :=l_claim_line_tbl(i).attribute4;
1351      END IF;
1352 
1353      IF l_claim_line_tbl(i).attribute5 is null then
1354         l_pvt_claim_line_tbl(i).attribute5    := FND_API.G_MISS_CHAR;
1355      ELSE
1356         l_pvt_claim_line_tbl(i).attribute5    :=l_claim_line_tbl(i).attribute5;
1357      END IF;
1358 
1359      IF l_claim_line_tbl(i).attribute6 is null then
1360         l_pvt_claim_line_tbl(i).attribute6    := FND_API.G_MISS_CHAR;
1361      ELSE
1362         l_pvt_claim_line_tbl(i).attribute6   :=l_claim_line_tbl(i).attribute6;
1363      END IF;
1364 
1365      IF l_claim_line_tbl(i).attribute7 is null then
1366         l_pvt_claim_line_tbl(i).attribute7    := FND_API.G_MISS_CHAR;
1367      ELSE
1368         l_pvt_claim_line_tbl(i).attribute7   :=l_claim_line_tbl(i).attribute7;
1369      END IF;
1370 
1371      IF l_claim_line_tbl(i).attribute8 is null then
1372         l_pvt_claim_line_tbl(i).attribute8    := FND_API.G_MISS_CHAR;
1373      ELSE
1374         l_pvt_claim_line_tbl(i).attribute8    :=l_claim_line_tbl(i).attribute8;
1375      END IF;
1376 
1377      IF l_claim_line_tbl(i).attribute9 is null then
1378         l_pvt_claim_line_tbl(i).attribute9    := FND_API.G_MISS_CHAR;
1379      ELSE
1380         l_pvt_claim_line_tbl(i).attribute9    :=l_claim_line_tbl(i).attribute9;
1381      END IF;
1382 
1383      IF l_claim_line_tbl(i).attribute10 is null then
1384         l_pvt_claim_line_tbl(i).attribute10    := FND_API.G_MISS_CHAR;
1385      ELSE
1386         l_pvt_claim_line_tbl(i).attribute10    :=l_claim_line_tbl(i).attribute10;
1387      END IF;
1388 
1389      IF l_claim_line_tbl(i).attribute11 is null then
1390         l_pvt_claim_line_tbl(i).attribute11    := FND_API.G_MISS_CHAR;
1391      ELSE
1392         l_pvt_claim_line_tbl(i).attribute11    :=l_claim_line_tbl(i).attribute11;
1393      END IF;
1394 
1395      IF l_claim_line_tbl(i).attribute12 is null then
1396         l_pvt_claim_line_tbl(i).attribute12    := FND_API.G_MISS_CHAR;
1397      ELSE
1398         l_pvt_claim_line_tbl(i).attribute12   :=l_claim_line_tbl(i).attribute12;
1399      END IF;
1400 
1401      IF l_claim_line_tbl(i).attribute13 is null then
1402         l_pvt_claim_line_tbl(i).attribute13    := FND_API.G_MISS_CHAR;
1403      ELSE
1404         l_pvt_claim_line_tbl(i).attribute13  :=l_claim_line_tbl(i).attribute13;
1405      END IF;
1406 
1407      IF l_claim_line_tbl(i).attribute14 is null then
1408         l_pvt_claim_line_tbl(i).attribute14    := FND_API.G_MISS_CHAR;
1409      ELSE
1410         l_pvt_claim_line_tbl(i).attribute14    :=l_claim_line_tbl(i).attribute14;
1411      END IF;
1412 
1413      IF l_claim_line_tbl(i).attribute15 is null then
1414         l_pvt_claim_line_tbl(i).attribute15    := FND_API.G_MISS_CHAR;
1415      ELSE
1416         l_pvt_claim_line_tbl(i).attribute15    :=l_claim_line_tbl(i).attribute15;
1417      END IF;
1418 
1419      IF l_claim_line_tbl(i).org_id is null then
1420         l_pvt_claim_line_tbl(i).org_id    := FND_API.G_MISS_NUM;
1421      ELSE
1422         l_pvt_claim_line_tbl(i).org_id    :=l_claim_line_tbl(i).org_id;
1423      END IF;
1424 
1425      IF l_claim_line_tbl(i).update_from_tbl_flag is null then
1426         l_pvt_claim_line_tbl(i).update_from_tbl_flag   := FND_API.G_MISS_CHAR;
1427      ELSE
1428         l_pvt_claim_line_tbl(i).update_from_tbl_flag   :=l_claim_line_tbl(i).update_from_tbl_flag;
1429      END IF;
1430 
1431      IF l_claim_line_tbl(i).tax_action is null then
1432         l_pvt_claim_line_tbl(i).tax_action   := FND_API.G_MISS_CHAR;
1433      ELSE
1434         l_pvt_claim_line_tbl(i).tax_action   :=l_claim_line_tbl(i).tax_action;
1435      END IF;
1436 
1437      IF l_claim_line_tbl(i).sale_date is null then
1438         l_pvt_claim_line_tbl(i).sale_date    := FND_API.G_MISS_DATE;
1439      ELSE
1440         l_pvt_claim_line_tbl(i).sale_date   :=l_claim_line_tbl(i).sale_date;
1441      END IF;
1442 
1443      IF l_claim_line_tbl(i).item_type is null then
1444         l_pvt_claim_line_tbl(i).item_type   := FND_API.G_MISS_CHAR;
1445      ELSE
1446         l_pvt_claim_line_tbl(i).item_type   :=l_claim_line_tbl(i).item_type;
1447      END IF;
1448 
1449      IF l_claim_line_tbl(i).tax_amount is null then
1450         l_pvt_claim_line_tbl(i).tax_amount    := FND_API.G_MISS_NUM;
1451      ELSE
1452         l_pvt_claim_line_tbl(i).tax_amount    :=l_claim_line_tbl(i).tax_amount;
1453      END IF;
1454 
1455      IF l_claim_line_tbl(i).claim_curr_tax_amount is null then
1456         l_pvt_claim_line_tbl(i).claim_curr_tax_amount    := FND_API.G_MISS_NUM;
1457      ELSE
1458         l_pvt_claim_line_tbl(i).claim_curr_tax_amount    :=l_claim_line_tbl(i).claim_curr_tax_amount;
1459      END IF;
1460 
1461      IF l_claim_line_tbl(i).activity_line_id is null then
1462         l_pvt_claim_line_tbl(i).activity_line_id    := FND_API.G_MISS_NUM;
1463      ELSE
1464         l_pvt_claim_line_tbl(i).activity_line_id    :=l_claim_line_tbl(i).activity_line_id;
1465      END IF;
1466 
1467      IF l_claim_line_tbl(i).offer_type is null then
1468         l_pvt_claim_line_tbl(i).offer_type   := FND_API.G_MISS_CHAR;
1469      ELSE
1470         l_pvt_claim_line_tbl(i).offer_type   :=l_claim_line_tbl(i).offer_type;
1471      END IF;
1472 
1473      IF l_claim_line_tbl(i).prorate_earnings_flag is null then
1474         l_pvt_claim_line_tbl(i).prorate_earnings_flag   := FND_API.G_MISS_CHAR;
1475      ELSE
1476         l_pvt_claim_line_tbl(i).prorate_earnings_flag   :=l_claim_line_tbl(i).prorate_earnings_flag;
1477      END IF;
1478 
1479      IF l_claim_line_tbl(i).earnings_end_date is null then
1480         l_pvt_claim_line_tbl(i).earnings_end_date    := FND_API.G_MISS_DATE;
1481      ELSE
1482         l_pvt_claim_line_tbl(i).earnings_end_date   :=l_claim_line_tbl(i).earnings_end_date;
1483      END IF;
1484      --12.1 Enhancement : Price Protection
1485      IF l_claim_line_tbl(i).dpp_cust_account_id is null then
1486         l_pvt_claim_line_tbl(i).dpp_cust_account_id   := FND_API.G_MISS_CHAR;
1487      ELSE
1488         l_pvt_claim_line_tbl(i).dpp_cust_account_id   :=l_claim_line_tbl(i).dpp_cust_account_id;
1489      END IF;
1490     END LOOP;
1491    END IF;
1492 
1493 -- Call to Update claim line tbl.
1494    Ozf_Claim_Line_Pvt.Update_Claim_line_Tbl(
1495     p_api_version        => p_api_version
1496    ,p_init_msg_list      => FND_API.G_FALSE
1497    ,p_commit             => FND_API.G_FALSE
1498    ,P_Validation_Level   => p_Validation_Level
1499    ,x_return_status          =>   x_return_status
1500    ,x_msg_data               =>   x_msg_data
1501    ,x_msg_count              =>   x_msg_count
1502    ,p_claim_line_tbl         =>   l_pvt_claim_line_tbl
1503    ,p_change_object_version  =>   FND_API.g_false
1504    ,x_error_index            =>   l_error_index );
1505    IF g_debug THEN
1506       OZF_UTILITY_PVT.DEBUG_MESSAGE('sTATUS FOR Update claim line =>'||x_return_status);
1507    END IF;
1508    IF x_return_status = FND_API.G_RET_STS_ERROR then
1509       RAISE FND_API.G_EXC_ERROR;
1510    ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
1511       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1512    END IF;
1513 --Standard check for p_commit
1514    IF FND_API.to_Boolean( p_commit )
1515    THEN
1516       COMMIT WORK;
1517    END IF;
1518 -- Debug Message
1519    IF g_debug THEN
1520       OZF_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'end');
1521    END IF;
1522    -- Standard call to get message count and if count is 1, get message info.
1523    FND_MSG_PUB.Count_And_Get
1524    (p_count          =>   x_msg_count,
1525    p_data           =>   x_msg_data
1526    );
1527 EXCEPTION
1528 WHEN OZF_Utility_PVT.resource_locked THEN
1529    ROLLBACK TO Update_Claim_Line_Tbl;
1530    x_return_status := FND_API.g_ret_sts_error;
1531    FND_MSG_PUB.Count_And_Get (
1532    p_encoded => FND_API.G_FALSE,
1533    p_count   => x_msg_count,
1534    p_data    => x_msg_data
1535    );
1536 OZF_Utility_PVT.Error_Message(p_message_name => 'OZF_API_RESOURCE_LOCKED');
1537 WHEN FND_API.G_EXC_ERROR THEN
1538    ROLLBACK TO Update_Claim_Line_Tbl;
1539    x_return_status := FND_API.G_RET_STS_ERROR;
1540    -- Standard call to get message count and if count=1, get the message
1541    FND_MSG_PUB.Count_And_Get (
1542    p_encoded => FND_API.G_FALSE,
1543    p_count   => x_msg_count,
1544    p_data    => x_msg_data
1545    );
1546 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1547    ROLLBACK TO Update_Claim_Line_Tbl;
1548    x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1549    -- Standard call to get message count and if count=1, get the message
1550    FND_MSG_PUB.Count_And_Get (
1551    p_encoded => FND_API.G_FALSE,
1552    p_count => x_msg_count,
1553    p_data  => x_msg_data
1554    );
1555 WHEN OTHERS THEN
1556    ROLLBACK TO Update_Claim_Line_Tbl;
1557    x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1558    IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1559       THEN
1560       FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
1561    END IF;
1562    -- Standard call to get message count and if count=1, get the message
1563    FND_MSG_PUB.Count_And_Get (
1564    p_encoded => FND_API.G_FALSE,
1565    p_count => x_msg_count,
1566    p_data  => x_msg_data
1567    );
1568 End Update_Claim_Line_tbl;
1569 /*End of Update Claim Line*/
1570 ---------------------------------------------------------------------
1571 -- PROCEDURE
1572 --   delete_claim
1573 --
1574 -- PURPOSE
1575 --    This procedure deletes claim record when Claim_Id and Object Version Number are provided.
1576 --
1577 -- PARAMETERS
1578 --
1579 --    x_msg_count
1580 --    x_object_version_number
1581 --    x_return_status
1582 --    p_claim_id
1583 --    p_object_version_number
1584 -- NOTES
1585 ---------------------------------------------------------------------
1586 PROCEDURE Delete_Claim(
1587    p_api_version_number         IN   NUMBER,
1588    p_init_msg_list              IN   VARCHAR2     := FND_API.G_FALSE,
1589    p_commit                     IN   VARCHAR2     := FND_API.G_FALSE,
1590    p_validation_level           IN    NUMBER   := FND_API.g_valid_level_full,
1591    x_return_status              OUT NOCOPY  VARCHAR2,
1592    x_msg_count                  OUT NOCOPY  NUMBER,
1593    x_msg_data                   OUT NOCOPY  VARCHAR2,
1594    p_claim_id                   IN  NUMBER,
1595    p_object_version_number      IN   NUMBER
1596 )
1597 IS
1598    L_API_NAME                  CONSTANT VARCHAR2(30) := 'Delete_Claim';
1599    L_API_VERSION_NUMBER        CONSTANT NUMBER   := 1.0;
1600    l_object_version_NUMBER     NUMBER:=p_object_version_number;
1601    l_claim_id                  NUMBER:=p_claim_id;
1602 BEGIN
1603 -- Standard Start of API savepoint
1604    SAVEPOINT DELETE_Claim_PUB;
1605 -- Standard call to check for call compatibility.
1606    IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
1607       p_api_version_number,
1608       l_api_name,
1609       G_PKG_NAME)
1610    THEN
1611       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1612    END IF;
1613 -- Initialize message list if p_init_msg_list is set to TRUE.
1614    IF FND_API.to_Boolean( p_init_msg_list )
1615       THEN
1616       FND_MSG_PUB.initialize;
1617    END IF;
1618 -- Debug Message
1619    IF g_debug THEN
1620       OZF_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'start');
1621    END IF;
1622 -- Initialize API return status to SUCCESS
1623 x_return_status := FND_API.G_RET_STS_SUCCESS;
1624 --
1625 -- Calling private API
1626 --
1627    OZF_Claim_PVT.Delete_Claim(
1628     p_api_version_number     => p_api_version_number,
1629     p_init_msg_list          => FND_API.G_FALSE,
1630     p_commit                 => FND_API.G_FALSE,
1631     p_object_id              => l_claim_id,
1632     p_object_version_number  => l_object_version_number,
1633     x_return_status          => x_return_status,
1634     x_msg_count              => x_msg_count,
1635     x_msg_data               => x_msg_data
1636     );
1637 --
1638    IF g_debug THEN
1639       OZF_UTILITY_PVT.DEBUG_MESSAGE('RETURN STATUS FOR DELETE_CLAIM =>'||X_RETURN_STATUS);
1640    END IF;
1641 -- Check return status from the above procedure call
1642 --
1643 -- Standard check for p_commit
1644    IF FND_API.to_Boolean( p_commit )
1645       THEN
1646        COMMIT WORK;
1647    END IF;
1648    -- Debug Message
1649    IF g_debug THEN
1650       OZF_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'end');
1651    END IF;
1652    -- Standard call to get message count and if count is 1, get message info.
1653    FND_MSG_PUB.Count_And_Get
1654    (p_count          =>   x_msg_count,
1655    p_data           =>   x_msg_data
1656    );
1657 EXCEPTION
1658 WHEN OZF_Utility_PVT.resource_locked THEN
1659    ROLLBACK TO DELETE_Claim_PUB;
1660    x_return_status := FND_API.g_ret_sts_error;
1661    FND_MSG_PUB.Count_And_Get (
1662    p_encoded => FND_API.G_FALSE,
1663    p_count => x_msg_count,
1664    p_data  => x_msg_data
1665    );
1666 OZF_Utility_PVT.Error_Message(p_message_name => 'OZF_API_RESOURCE_LOCKED');
1667 WHEN FND_API.G_EXC_ERROR THEN
1668    ROLLBACK TO DELETE_Claim_PUB;
1669    x_return_status := FND_API.G_RET_STS_ERROR;
1670    -- Standard call to get message count and if count=1, get the message
1671    FND_MSG_PUB.Count_And_Get (
1672    p_encoded => FND_API.G_FALSE,
1673    p_count   => x_msg_count,
1674    p_data    => x_msg_data
1675    );
1676 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1677    ROLLBACK TO DELETE_Claim_PUB;
1678    x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1679    -- Standard call to get message count and if count=1, get the message
1680    FND_MSG_PUB.Count_And_Get (
1681    p_encoded => FND_API.G_FALSE,
1682    p_count => x_msg_count,
1683    p_data  => x_msg_data
1684    );
1685 WHEN OTHERS THEN
1686    ROLLBACK TO DELETE_Claim_PUB;
1687    x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1688    IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1689       THEN
1690       FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
1691    END IF;
1692 -- Standard call to get message count and if count=1, get the message
1693    FND_MSG_PUB.Count_And_Get (
1694    p_encoded => FND_API.G_FALSE,
1695    p_count => x_msg_count,
1696    p_data  => x_msg_data
1697    );
1698    End Delete_Claim;
1699 ---------------------------------------------------------------------
1700 -- PROCEDURE
1701 --   Delete_Claim_Line_Tbl
1702 --
1703 -- PURPOSE
1704 --    This procedure deletes claim line records
1705 --
1706 -- PARAMETERS
1707 --
1708 --    x_msg_count
1709 --    x_object_version_number
1710 --    x_return_status
1711 --    p_claim_line_tbl
1712 --    p_object_version_number
1713 --    x_error_index
1714 -- NOTES
1715 ---------------------------------------------------------------------
1716 PROCEDURE Delete_Claim_Line_Tbl(
1717    p_api_version             IN    NUMBER
1718    ,p_init_msg_list          IN    VARCHAR2 := FND_API.g_false
1719    ,p_commit                 IN    VARCHAR2 := FND_API.g_false
1720    ,p_validation_level       IN    NUMBER   := FND_API.g_valid_level_full
1721    ,x_return_status          OUT NOCOPY   VARCHAR2
1722    ,x_msg_data               OUT NOCOPY   VARCHAR2
1723    ,x_msg_count              OUT NOCOPY   NUMBER
1724    ,p_claim_line_tbl         IN    claim_line_tbl_type
1725    ,p_change_object_version  IN    VARCHAR2 := FND_API.g_false
1726    ,x_error_index            OUT NOCOPY   NUMBER)
1727 IS
1728    L_API_NAME                  CONSTANT VARCHAR2(30) := 'Delete_Claim_Line';
1729    L_API_VERSION_NUMBER        CONSTANT NUMBER   := 1.0;
1730    l_pvt_claim_line_tbl        OZF_CLAIM_LINE_PVT.claim_line_Tbl_type;
1731    l_claim_line_tbl            OZF_CLAIM_PUB.claim_line_tbl_type:=p_claim_line_tbl;
1732    l_error_index               NUMBER;
1733 BEGIN
1734 -- Standard Start of API savepoint
1735    SAVEPOINT DELETE_Claim_Line_PUB;
1736 -- Standard call to check for call compatibility.
1737 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
1738    p_api_version,
1739    l_api_name,
1740    G_PKG_NAME)
1741    THEN
1742    RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1743 END IF;
1744 -- Initialize message list if p_init_msg_list is set to TRUE.
1745 IF FND_API.to_Boolean( p_init_msg_list )
1746    THEN
1747    FND_MSG_PUB.initialize;
1748 END IF;
1749 -- Debug Message
1750    IF g_debug THEN
1751       OZF_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'start');
1752    END IF;
1753 -- Initialize API return status to SUCCESS
1754    x_return_status := FND_API.G_RET_STS_SUCCESS;
1755 --
1756 -- API body
1757 --
1758      l_claim_line_tbl := p_claim_line_tbl;
1759        IF p_claim_line_tbl.COUNT > 0 THEN
1760    FOR i IN p_claim_line_tbl.FIRST..p_claim_line_tbl.LAST LOOP
1761    --
1762      l_pvt_claim_line_tbl(i). claim_line_id              := l_claim_line_tbl(i). claim_line_id  ;
1763      l_pvt_claim_line_tbl(i).object_version_number       := l_claim_line_tbl(i).object_version_number;
1764      l_pvt_claim_line_tbl(i).claim_id                    := l_claim_line_tbl(i).claim_id;
1765 END LOOP;
1766  END IF;
1767    OZF_Claim_Line_PVT.Delete_Claim_Line_Tbl(
1768     p_api_version        => p_api_version
1769    ,p_init_msg_list      => FND_API.G_FALSE
1770    ,p_commit             => FND_API.G_FALSE
1771    ,P_Validation_Level   => p_Validation_Level
1772    ,x_return_status         =>    x_return_status
1773    ,x_msg_data              =>    x_msg_data
1774    ,x_msg_count             =>    x_msg_count
1775    ,p_claim_line_tbl        =>    l_pvt_claim_line_tbl
1776    ,p_change_object_version =>    FND_API.g_false
1777    ,x_error_index           =>    l_error_index);
1778    IF g_debug THEN
1779       OZF_UTILITY_PVT.DEBUG_MESSAGE('RETURN STATUS FOR DELETE_CLAIM_Line_Tbl =>'||X_RETURN_STATUS);
1780    END IF;
1781    -- Check return status from the above procedure call
1782    IF x_return_status = FND_API.G_RET_STS_ERROR then
1783        RAISE FND_API.G_EXC_ERROR;
1784    ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
1785    RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1786    END IF;
1787 --
1788 -- End of API body
1789 --
1790 -- Standard check for p_commit
1791    IF FND_API.to_Boolean( p_commit )
1792       THEN
1793       COMMIT WORK;
1794    END IF;
1795 -- Debug Message
1796 IF g_debug THEN
1797    OZF_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'end');
1798 END IF;
1799 -- Standard call to get message count and if count is 1, get message info.
1800 FND_MSG_PUB.Count_And_Get
1801 (p_count          =>   x_msg_count,
1802 p_data           =>   x_msg_data
1803 );
1804 EXCEPTION
1805 WHEN OZF_Utility_PVT.resource_locked THEN
1806    ROLLBACK TO DELETE_Claim_Line_PUB;
1807    x_return_status := FND_API.G_RET_STS_ERROR;
1808    -- Standard call to get message count and if count=1, get the message
1809    FND_MSG_PUB.Count_And_Get (
1810    p_encoded => FND_API.G_FALSE,
1811    p_count   => x_msg_count,
1812    p_data    => x_msg_data
1813    );
1814 OZF_Utility_PVT.Error_Message(p_message_name => 'OZF_API_RESOURCE_LOCKED');
1815    WHEN FND_API.G_EXC_ERROR THEN
1816    ROLLBACK TO DELETE_Claim_Line_PUB;
1817    x_return_status := FND_API.G_RET_STS_ERROR;
1818    -- Standard call to get message count and if count=1, get the message
1819    FND_MSG_PUB.Count_And_Get (
1820    p_encoded => FND_API.G_FALSE,
1821    p_count   => x_msg_count,
1822    p_data    => x_msg_data
1823    );
1824 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1825    ROLLBACK TO DELETE_Claim_Line_PUB;
1826    x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1827    -- Standard call to get message count and if count=1, get the message
1828    FND_MSG_PUB.Count_And_Get (
1829    p_encoded => FND_API.G_FALSE,
1830    p_count => x_msg_count,
1831    p_data  => x_msg_data
1832    );
1833 WHEN OTHERS THEN
1834    ROLLBACK TO DELETE_Claim_PUB;
1835    x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1836    IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1837       THEN
1838       FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
1839    END IF;
1840    -- Standard call to get message count and if count=1, get the message
1841    FND_MSG_PUB.Count_And_Get (
1842    p_encoded => FND_API.G_FALSE,
1843    p_count => x_msg_count,
1844    p_data  => x_msg_data
1845    );
1846 End Delete_Claim_Line_Tbl;
1847 /* End of Delete claim line*/
1848 
1849 ---------------------------------------------------------------------
1850 -- PROCEDURE
1851 --   asso_accruals_to_claim
1852 --
1853 -- PURPOSE
1854 --    This procedure associates accruals based on the given fund
1855 --    utilization criteria.
1856 --
1857 -- PARAMETERS
1858 --    p_api_version
1859 --    p_init_msg_list
1860 --    p_commit
1861 --    p_validation_level
1862 --    p_claim_id
1863 --    p_funds_util_flt
1864 --    x_return_status
1865 --    x_msg_count
1866 --    x_msg_data
1867 -- NOTES
1868 ---------------------------------------------------------------------
1869 PROCEDURE Asso_Accruals_To_Claim(
1870     p_api_version            IN    NUMBER
1871    ,p_init_msg_list          IN    VARCHAR2 := FND_API.g_false
1872    ,p_commit                 IN    VARCHAR2 := FND_API.g_false
1873    ,p_validation_level       IN    NUMBER   := FND_API.g_valid_level_full
1874    ,x_return_status          OUT NOCOPY   VARCHAR2
1875    ,x_msg_data               OUT NOCOPY   VARCHAR2
1876    ,x_msg_count              OUT NOCOPY   NUMBER
1877    ,p_claim_id               IN    NUMBER
1878    ,p_funds_util_flt         IN    funds_util_flt_type
1879 )
1880 IS
1881 l_api_version                CONSTANT NUMBER       := 1.0;
1882 l_api_name                   CONSTANT VARCHAR2(30) := 'Asso_Accruals_To_Claim';
1883 l_full_name                  CONSTANT VARCHAR2(60) := G_PKG_NAME||'.'||l_api_name;
1884 l_return_status                       VARCHAR2(1);
1885 
1886 l_funds_util_flt                      OZF_Claim_Accrual_PVT.funds_util_flt_type;
1887 
1888 BEGIN
1889    -- Standard Start of API savepoint
1890    SAVEPOINT Asso_Accruals_To_Claim;
1891 
1892    IF G_DEBUG THEN
1893       OZF_Utility_PVT.debug_message(l_full_name||': start');
1894    END IF;
1895 
1896    -- Standard call to check for call compatibility.
1897    IF NOT FND_API.Compatible_API_Call ( l_api_version,
1898                                         p_api_version,
1899                                         l_api_name,
1900                                         G_PKG_NAME ) THEN
1901       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1902    END IF;
1903 
1904    -- Initialize message list if p_init_msg_list is set to TRUE.
1905    IF FND_API.to_Boolean( p_init_msg_list ) THEN
1906       FND_MSG_PUB.initialize;
1907    END IF;
1908 
1909    -- Initialize API return status to SUCCESS
1910    x_return_status := FND_API.G_RET_STS_SUCCESS;
1911 
1912    ------------------------------------------
1913    -- 1. Default and derive column valude  --
1914    ------------------------------------------
1915    l_funds_util_flt.fund_id                     := p_funds_util_flt.fund_id;
1916    l_funds_util_flt.activity_type               := p_funds_util_flt.activity_type;
1917    l_funds_util_flt.activity_id                 := p_funds_util_flt.activity_id;
1918    l_funds_util_flt.activity_product_id         := p_funds_util_flt.activity_product_id;
1919    l_funds_util_flt.offer_type                  := p_funds_util_flt.offer_type;
1920    l_funds_util_flt.document_class              := p_funds_util_flt.document_class;
1921    l_funds_util_flt.document_id                 := p_funds_util_flt.document_id;
1922    l_funds_util_flt.product_level_type          := p_funds_util_flt.product_level_type;
1923    l_funds_util_flt.product_id                  := p_funds_util_flt.product_id;
1924    l_funds_util_flt.reference_type              := p_funds_util_flt.reference_type;
1925    l_funds_util_flt.reference_id                := p_funds_util_flt.reference_id;
1926    l_funds_util_flt.utilization_type            := p_funds_util_flt.utilization_type;
1927    l_funds_util_flt.cust_account_id             := p_funds_util_flt.cust_account_id;
1928    l_funds_util_flt.relationship_type           := p_funds_util_flt.relationship_type;
1929    l_funds_util_flt.related_cust_account_id     := p_funds_util_flt.related_cust_account_id;
1930    l_funds_util_flt.buy_group_cust_account_id   := p_funds_util_flt.buy_group_cust_account_id;
1931    l_funds_util_flt.select_cust_children_flag   := p_funds_util_flt.select_cust_children_flag;
1932    l_funds_util_flt.pay_to_customer             := p_funds_util_flt.pay_to_customer;
1933    l_funds_util_flt.prorate_earnings_flag       := p_funds_util_flt.prorate_earnings_flag;
1934    l_funds_util_flt.end_date                    := p_funds_util_flt.end_date;
1935    l_funds_util_flt.total_amount                := p_funds_util_flt.total_amount;
1936    l_funds_util_flt.total_units                 := p_funds_util_flt.total_units;
1937    l_funds_util_flt.quantity                    := p_funds_util_flt.quantity;
1938    l_funds_util_flt.uom_code                    := p_funds_util_flt.uom_code;
1939 
1940    ------------------------------------------
1941    -- 2. Call OZF_CLAIM_ACCRUAL_PVT
1942    ------------------------------------------
1943    OZF_Claim_Accrual_PVT.Asso_Accruals_To_Claim(
1944      p_api_version         => l_api_version
1945     ,p_init_msg_list       => FND_API.g_false
1946     ,p_commit              => FND_API.g_false
1947     ,p_validation_level    => FND_API.g_valid_level_full
1948 
1949     ,x_return_status       => l_return_status
1950     ,x_msg_count           => x_msg_count
1951     ,x_msg_data            => x_msg_data
1952 
1953     ,p_claim_id            => p_claim_id
1954     ,p_funds_util_flt      => l_funds_util_flt
1955    );
1956    IF l_return_status = FND_API.g_ret_sts_error THEN
1957       RAISE FND_API.g_exc_error;
1958    ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
1959       RAISE FND_API.g_exc_unexpected_error;
1960    END IF;
1961 
1962    -- Standard check for p_commit
1963    IF FND_API.to_Boolean(p_commit) THEN
1964       COMMIT WORK;
1965    END IF;
1966 
1967    IF G_DEBUG THEN
1968       OZF_Utility_PVT.debug_message(l_full_name ||': end');
1969    END IF;
1970 
1971    -- Standard call to get message count and if count is 1, get message info.
1972    FND_MSG_PUB.Count_And_Get(
1973          p_count          =>   x_msg_count,
1974          p_data           =>   x_msg_data
1975    );
1976 
1977 EXCEPTION
1978    WHEN FND_API.G_EXC_ERROR THEN
1979       ROLLBACK TO Asso_Accruals_To_Claim;
1980       x_return_status := FND_API.G_RET_STS_ERROR;
1981       FND_MSG_PUB.Count_And_Get (
1982          p_encoded => FND_API.G_FALSE,
1983          p_count   => x_msg_count,
1984          p_data    => x_msg_data
1985       );
1986 
1987    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1988       ROLLBACK TO Asso_Accruals_To_Claim;
1989       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1990       IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1991          FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_CRE_DEDU_ERR');
1992          FND_MSG_PUB.add;
1993       END IF;
1994       FND_MSG_PUB.Count_And_Get (
1995          p_encoded => FND_API.G_FALSE,
1996          p_count   => x_msg_count,
1997          p_data    => x_msg_data
1998       );
1999 
2000    WHEN OTHERS THEN
2001       ROLLBACK TO Asso_Accruals_To_Claim;
2002       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2003       IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
2004          FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_CRE_DEDU_ERR');
2005          FND_MSG_PUB.add;
2006       END IF;
2007       FND_MSG_PUB.Count_And_Get (
2008          p_encoded => FND_API.G_FALSE,
2009          p_count   => x_msg_count,
2010          p_data    => x_msg_data
2011       );
2012 END Asso_Accruals_To_Claim;
2013 
2014 ---------------------------------------------------------------------
2015 -- PROCEDURE
2016 --   asso_accruals_to_claim_line
2017 --
2018 -- PURPOSE
2019 --    This procedure associates accruals to a claim line.
2020 --
2021 -- PARAMETERS
2022 --    p_api_version
2023 --    p_init_msg_list
2024 --    p_commit
2025 --    p_validation_level
2026 --    p_claim_line_id
2027 --    x_return_status
2028 --    x_msg_count
2029 --    x_msg_data
2030 -- NOTES
2031 ---------------------------------------------------------------------
2032 PROCEDURE Asso_Accruals_To_Claim_Line(
2033     p_api_version            IN    NUMBER
2034    ,p_init_msg_list          IN    VARCHAR2 := FND_API.g_false
2035    ,p_commit                 IN    VARCHAR2 := FND_API.g_false
2036    ,p_validation_level       IN    NUMBER   := FND_API.g_valid_level_full
2037    ,x_return_status          OUT NOCOPY   VARCHAR2
2038    ,x_msg_data               OUT NOCOPY   VARCHAR2
2039    ,x_msg_count              OUT NOCOPY   NUMBER
2040    ,p_claim_line_id          IN    NUMBER
2041 )
2042 IS
2043 l_api_version                CONSTANT NUMBER       := 1.0;
2044 l_api_name                   CONSTANT VARCHAR2(30) := 'Asso_Accruals_To_Claim_Line';
2045 l_full_name                  CONSTANT VARCHAR2(60) := G_PKG_NAME||'.'||l_api_name;
2046 l_return_status                       VARCHAR2(1);
2047 
2048 BEGIN
2049    -- Standard Start of API savepoint
2050    SAVEPOINT Asso_Accruals_To_Claim_Line;
2051 
2052    IF G_DEBUG THEN
2053       OZF_Utility_PVT.debug_message(l_full_name||': start');
2054    END IF;
2055 
2056    -- Standard call to check for call compatibility.
2057    IF NOT FND_API.Compatible_API_Call ( l_api_version,
2058                                         p_api_version,
2059                                         l_api_name,
2060                                         G_PKG_NAME ) THEN
2061       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2062    END IF;
2063 
2064    -- Initialize message list if p_init_msg_list is set to TRUE.
2065    IF FND_API.to_Boolean( p_init_msg_list ) THEN
2066       FND_MSG_PUB.initialize;
2067    END IF;
2068 
2069    -- Initialize API return status to SUCCESS
2070    x_return_status := FND_API.G_RET_STS_SUCCESS;
2071 
2072    ------------------------------------------
2073    -- 1. Call OZF_CLAIM_ACCRUAL_PVT
2074    ------------------------------------------
2075    OZF_Claim_Accrual_PVT.Asso_Accruals_To_Claim_Line(
2076      p_api_version         => l_api_version
2077     ,p_init_msg_list       => FND_API.g_false
2078     ,p_commit              => FND_API.g_false
2079     ,p_validation_level    => FND_API.g_valid_level_full
2080 
2081     ,x_return_status       => l_return_status
2082     ,x_msg_count           => x_msg_count
2083     ,x_msg_data            => x_msg_data
2084 
2085     ,p_claim_line_id       => p_claim_line_id
2086    );
2087    IF l_return_status = FND_API.g_ret_sts_error THEN
2088       RAISE FND_API.g_exc_error;
2089    ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
2090       RAISE FND_API.g_exc_unexpected_error;
2091    END IF;
2092 
2093    -- Standard check for p_commit
2094    IF FND_API.to_Boolean(p_commit) THEN
2095       COMMIT WORK;
2096    END IF;
2097 
2098    IF G_DEBUG THEN
2099       OZF_Utility_PVT.debug_message(l_full_name ||': end');
2100    END IF;
2101 
2102    -- Standard call to get message count and if count is 1, get message info.
2103    FND_MSG_PUB.Count_And_Get(
2104          p_count          =>   x_msg_count,
2105          p_data           =>   x_msg_data
2106    );
2107 
2108 EXCEPTION
2109    WHEN FND_API.G_EXC_ERROR THEN
2110       ROLLBACK TO Asso_Accruals_To_Claim_Line;
2111       x_return_status := FND_API.G_RET_STS_ERROR;
2112       FND_MSG_PUB.Count_And_Get (
2113          p_encoded => FND_API.G_FALSE,
2114          p_count   => x_msg_count,
2115          p_data    => x_msg_data
2116       );
2117 
2118    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2119       ROLLBACK TO Asso_Accruals_To_Claim_Line;
2120       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2121       IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
2122          FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_CRE_DEDU_ERR');
2123          FND_MSG_PUB.add;
2124       END IF;
2125       FND_MSG_PUB.Count_And_Get (
2126          p_encoded => FND_API.G_FALSE,
2127          p_count   => x_msg_count,
2128          p_data    => x_msg_data
2129       );
2130 
2131    WHEN OTHERS THEN
2132       ROLLBACK TO Asso_Accruals_To_Claim_Line;
2133       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2134       IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
2135          FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_CRE_DEDU_ERR');
2136          FND_MSG_PUB.add;
2137       END IF;
2138       FND_MSG_PUB.Count_And_Get (
2139          p_encoded => FND_API.G_FALSE,
2140          p_count   => x_msg_count,
2141          p_data    => x_msg_data
2142       );
2143 END Asso_Accruals_To_Claim_Line;
2144 
2145 ---------------------------------------------------------------------
2146 -- PROCEDURE
2147 --   create_claim_for_accruals
2148 --
2149 -- PURPOSE
2150 --    This procedure creates a claim for accruals that meet the fund
2151 --    utilization search criteria.
2152 --
2153 -- PARAMETERS
2154 --    p_api_version
2155 --    p_init_msg_list
2156 --    p_commit
2157 --    p_validation_level
2158 --    p_claim_rec
2159 --    p_funds_util_flt
2160 --    x_return_status
2161 --    x_msg_count
2162 --    x_msg_data
2163 -- NOTES
2164 ---------------------------------------------------------------------
2165 PROCEDURE Create_Claim_For_Accruals(
2166     p_api_version            IN    NUMBER
2167    ,p_init_msg_list          IN    VARCHAR2 := FND_API.g_false
2168    ,p_commit                 IN    VARCHAR2 := FND_API.g_false
2169    ,p_validation_level       IN    NUMBER   := FND_API.g_valid_level_full
2170    ,x_return_status          OUT NOCOPY   VARCHAR2
2171    ,x_msg_data               OUT NOCOPY   VARCHAR2
2172    ,x_msg_count              OUT NOCOPY   NUMBER
2173    ,p_claim_rec              IN    claim_rec_type
2174    ,p_funds_util_flt         IN    funds_util_flt_type
2175    ,x_claim_id               OUT NOCOPY   NUMBER
2176 )
2177 IS
2178 l_api_version                CONSTANT NUMBER       := 1.0;
2179 l_api_name                   CONSTANT VARCHAR2(30) := 'Create_Claim_For_Accruals';
2180 l_full_name                  CONSTANT VARCHAR2(60) := G_PKG_NAME||'.'||l_api_name;
2181 l_return_status                       VARCHAR2(1);
2182 
2183 l_claim_rec                           OZF_Claim_PVT.claim_rec_type;
2184 l_funds_util_flt                      OZF_Claim_Accrual_PVT.funds_util_flt_type;
2185 
2186 BEGIN
2187    -- Standard Start of API savepoint
2188    SAVEPOINT Create_Claim_For_Accruals;
2189 
2190    IF G_DEBUG THEN
2191       OZF_Utility_PVT.debug_message(l_full_name||': start');
2192    END IF;
2193 
2194    -- Standard call to check for call compatibility.
2195    IF NOT FND_API.Compatible_API_Call ( l_api_version,
2196                                         p_api_version,
2197                                         l_api_name,
2198                                         G_PKG_NAME ) THEN
2199       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2200    END IF;
2201 
2202    -- Initialize message list if p_init_msg_list is set to TRUE.
2203    IF FND_API.to_Boolean( p_init_msg_list ) THEN
2204       FND_MSG_PUB.initialize;
2205    END IF;
2206 
2207    -- Initialize API return status to SUCCESS
2208    x_return_status := FND_API.G_RET_STS_SUCCESS;
2209 
2210    ------------------------------------------
2211    -- 1. Default and derive column valude  --
2212    ------------------------------------------
2213    l_claim_rec.claim_type_id                := p_claim_rec.claim_type_id;
2214    l_claim_rec.claim_date                   := p_claim_rec.claim_date;
2215    l_claim_rec.due_date                     := p_claim_rec.due_date;
2216    l_claim_rec.gl_date                      := p_claim_rec.gl_date;
2217    l_claim_rec.owner_id                     := p_claim_rec.owner_id;
2218    l_claim_rec.amount                       := p_claim_rec.amount;
2219    l_claim_rec.currency_code                := p_claim_rec.currency_code;
2220    l_claim_rec.exchange_rate_type           := p_claim_rec.exchange_rate_type;
2221    l_claim_rec.exchange_rate_date           := p_claim_rec.exchange_rate_date;
2222    l_claim_rec.exchange_rate                := p_claim_rec.exchange_rate;
2223    l_claim_rec.set_of_books_id              := p_claim_rec.set_of_books_id;
2224    l_claim_rec.source_object_id             := p_claim_rec.source_object_id;
2225    l_claim_rec.source_object_class          := p_claim_rec.source_object_class;
2226    l_claim_rec.source_object_type_id        := p_claim_rec.source_object_type_id;
2227    l_claim_rec.source_object_number         := p_claim_rec.source_object_number;
2228    l_claim_rec.cust_account_id              := p_claim_rec.cust_account_id;
2229    l_claim_rec.cust_billto_acct_site_id     := p_claim_rec.cust_billto_acct_site_id;
2230    l_claim_rec.cust_shipto_acct_site_id     := p_claim_rec.cust_shipto_acct_site_id;
2231    l_claim_rec.related_cust_account_id      := p_claim_rec.related_cust_account_id;
2232    l_claim_rec.reason_code_id               := p_claim_rec.reason_code_id;
2233    l_claim_rec.reason_type                  := p_claim_rec.reason_type;
2234    l_claim_rec.status_code                  := p_claim_rec.status_code;
2235    l_claim_rec.user_status_id               := p_claim_rec.user_status_id;
2236    l_claim_rec.sales_rep_id                 := p_claim_rec.sales_rep_id;
2237    l_claim_rec.collector_id                 := p_claim_rec.collector_id;
2238    l_claim_rec.contact_id                   := p_claim_rec.contact_id;
2239    l_claim_rec.broker_id                    := p_claim_rec.broker_id;
2240    l_claim_rec.customer_ref_date            := p_claim_rec.customer_ref_date;
2241    l_claim_rec.customer_ref_number          := p_claim_rec.customer_ref_number;
2242    l_claim_rec.comments                     := p_claim_rec.comments;
2243    l_claim_rec.attribute_category           := p_claim_rec.attribute_category;
2244    l_claim_rec.attribute1                   := p_claim_rec.attribute1;
2245    l_claim_rec.attribute2                   := p_claim_rec.attribute2;
2246    l_claim_rec.attribute3                   := p_claim_rec.attribute3;
2247    l_claim_rec.attribute4                   := p_claim_rec.attribute4;
2248    l_claim_rec.attribute5                   := p_claim_rec.attribute5;
2249    l_claim_rec.attribute6                   := p_claim_rec.attribute6;
2250    l_claim_rec.attribute7                   := p_claim_rec.attribute7;
2251    l_claim_rec.attribute8                   := p_claim_rec.attribute8;
2252    l_claim_rec.attribute9                   := p_claim_rec.attribute9;
2253    l_claim_rec.attribute10                  := p_claim_rec.attribute10;
2254    l_claim_rec.attribute11                  := p_claim_rec.attribute11;
2255    l_claim_rec.attribute12                  := p_claim_rec.attribute12;
2256    l_claim_rec.attribute13                  := p_claim_rec.attribute13;
2257    l_claim_rec.attribute14                  := p_claim_rec.attribute14;
2258    l_claim_rec.attribute15                  := p_claim_rec.attribute15;
2259    l_claim_rec.org_id                       := p_claim_rec.org_id;
2260    l_claim_rec.write_off_flag		           := p_claim_rec.write_off_flag;
2261    l_claim_rec.write_off_threshold_amount	  := p_claim_rec.write_off_threshold_amount;
2262    l_claim_rec.under_write_off_threshold	  := p_claim_rec.under_write_off_threshold;
2263    l_claim_rec.customer_reason		        := p_claim_rec.customer_reason;
2264    l_claim_rec.ship_to_cust_account_id	     := p_claim_rec.ship_to_cust_account_id;
2265    l_claim_rec.amount_applied		           := p_claim_rec.amount_applied;
2266    l_claim_rec.applied_receipt_id		     := p_claim_rec.applied_receipt_id;
2267    l_claim_rec.applied_receipt_number	     := p_claim_rec.applied_receipt_number;
2268    l_claim_rec.wo_rec_trx_id		           := p_claim_rec.wo_rec_trx_id;
2269    l_claim_rec.group_claim_id		           := p_claim_rec.group_claim_id;
2270    l_claim_rec.appr_wf_item_key		        := p_claim_rec.appr_wf_item_key;
2271    l_claim_rec.cstl_wf_item_key		        := p_claim_rec.cstl_wf_item_key;
2272    l_claim_rec.batch_type			           := p_claim_rec.batch_type;
2273 
2274 
2275    l_funds_util_flt.fund_id                     := p_funds_util_flt.fund_id;
2276    l_funds_util_flt.activity_type               := p_funds_util_flt.activity_type;
2277    l_funds_util_flt.activity_id                 := p_funds_util_flt.activity_id;
2278    l_funds_util_flt.activity_product_id         := p_funds_util_flt.activity_product_id;
2279    l_funds_util_flt.offer_type                  := p_funds_util_flt.offer_type;
2280    l_funds_util_flt.document_class              := p_funds_util_flt.document_class;
2281    l_funds_util_flt.document_id                 := p_funds_util_flt.document_id;
2282    l_funds_util_flt.product_level_type          := p_funds_util_flt.product_level_type;
2283    l_funds_util_flt.product_id                  := p_funds_util_flt.product_id;
2284    l_funds_util_flt.reference_type              := p_funds_util_flt.reference_type;
2285    l_funds_util_flt.reference_id                := p_funds_util_flt.reference_id;
2286    l_funds_util_flt.utilization_type            := p_funds_util_flt.utilization_type;
2287    l_funds_util_flt.cust_account_id             := p_funds_util_flt.cust_account_id;
2288    l_funds_util_flt.relationship_type           := p_funds_util_flt.relationship_type;
2289    l_funds_util_flt.related_cust_account_id     := p_funds_util_flt.related_cust_account_id;
2290    l_funds_util_flt.buy_group_cust_account_id   := p_funds_util_flt.buy_group_cust_account_id;
2291    l_funds_util_flt.select_cust_children_flag   := p_funds_util_flt.select_cust_children_flag;
2292    l_funds_util_flt.pay_to_customer             := p_funds_util_flt.pay_to_customer;
2293    l_funds_util_flt.prorate_earnings_flag       := p_funds_util_flt.prorate_earnings_flag;
2294    l_funds_util_flt.end_date                    := p_funds_util_flt.end_date;
2295    l_funds_util_flt.total_amount                := p_funds_util_flt.total_amount;
2296    l_funds_util_flt.total_units                 := p_funds_util_flt.total_units;
2297    l_funds_util_flt.quantity                    := p_funds_util_flt.quantity;
2298    l_funds_util_flt.uom_code                    := p_funds_util_flt.uom_code;
2299 
2300    ------------------------------------------
2301    -- 2. Call OZF_CLAIM_ACCRUAL_PVT
2302    ------------------------------------------
2303    OZF_Claim_Accrual_PVT.Create_Claim_For_Accruals(
2304      p_api_version         => l_api_version
2305     ,p_init_msg_list       => FND_API.g_false
2306     ,p_commit              => FND_API.g_false
2307     ,p_validation_level    => FND_API.g_valid_level_full
2308 
2309     ,x_return_status       => l_return_status
2310     ,x_msg_count           => x_msg_count
2311     ,x_msg_data            => x_msg_data
2312 
2313     ,p_claim_rec           => l_claim_rec
2314     ,p_funds_util_flt      => l_funds_util_flt
2315 
2316     ,x_claim_id            => x_claim_id
2317    );
2318    IF l_return_status = FND_API.g_ret_sts_error THEN
2319       RAISE FND_API.g_exc_error;
2320    ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
2321       RAISE FND_API.g_exc_unexpected_error;
2322    END IF;
2323 
2324    -- Standard check for p_commit
2325    IF FND_API.to_Boolean(p_commit) THEN
2326       COMMIT WORK;
2327    END IF;
2328 
2329    IF G_DEBUG THEN
2330       OZF_Utility_PVT.debug_message(l_full_name ||': end');
2331    END IF;
2332 
2333    -- Standard call to get message count and if count is 1, get message info.
2334    FND_MSG_PUB.Count_And_Get(
2335          p_count          =>   x_msg_count,
2336          p_data           =>   x_msg_data
2337    );
2338 
2339 EXCEPTION
2340    WHEN FND_API.G_EXC_ERROR THEN
2341       ROLLBACK TO Create_Claim_For_Accruals;
2342       x_return_status := FND_API.G_RET_STS_ERROR;
2343       FND_MSG_PUB.Count_And_Get (
2344          p_encoded => FND_API.G_FALSE,
2345          p_count   => x_msg_count,
2346          p_data    => x_msg_data
2347       );
2348 
2349    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2350       ROLLBACK TO Create_Claim_For_Accruals;
2351       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2352       IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
2353          FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_CRE_DEDU_ERR');
2354          FND_MSG_PUB.add;
2355       END IF;
2356       FND_MSG_PUB.Count_And_Get (
2357          p_encoded => FND_API.G_FALSE,
2358          p_count   => x_msg_count,
2359          p_data    => x_msg_data
2360       );
2361 
2362    WHEN OTHERS THEN
2363       ROLLBACK TO Create_Claim_For_Accruals;
2364       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2365       IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
2366          FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_CRE_DEDU_ERR');
2367          FND_MSG_PUB.add;
2368       END IF;
2369       FND_MSG_PUB.Count_And_Get (
2370          p_encoded => FND_API.G_FALSE,
2371          p_count   => x_msg_count,
2372          p_data    => x_msg_data
2373       );
2374 END Create_Claim_For_Accruals;
2375 
2376 ---------------------------------------------------------------------
2377 -- PROCEDURE
2378 --   pay_claim_for_accruals
2379 --
2380 -- PURPOSE
2381 --    This procedure creates a claim for accruals that meet the fund
2382 --    utilization search criteria and initiates settlement of the claim.
2383 --
2384 -- PARAMETERS
2385 --    p_api_version
2386 --    p_init_msg_list
2387 --    p_commit
2388 --    p_validation_level
2389 --    p_claim_rec
2390 --    p_funds_util_flt
2391 --    x_return_status
2392 --    x_msg_count
2393 --    x_msg_data
2394 -- NOTES
2395 ---------------------------------------------------------------------
2396 PROCEDURE Pay_Claim_For_Accruals(
2397     p_api_version            IN    NUMBER
2398    ,p_init_msg_list          IN    VARCHAR2 := FND_API.g_false
2399    ,p_commit                 IN    VARCHAR2 := FND_API.g_false
2400    ,p_validation_level       IN    NUMBER   := FND_API.g_valid_level_full
2401    ,x_return_status          OUT NOCOPY   VARCHAR2
2402    ,x_msg_data               OUT NOCOPY   VARCHAR2
2403    ,x_msg_count              OUT NOCOPY   NUMBER
2404    ,p_claim_rec              IN    claim_rec_type
2405    ,p_funds_util_flt         IN    funds_util_flt_type
2406    ,x_claim_id               OUT NOCOPY   NUMBER
2407 )
2408 IS
2409 l_api_version                CONSTANT NUMBER       := 1.0;
2410 l_api_name                   CONSTANT VARCHAR2(30) := 'Pay_Claim_For_Accruals';
2411 l_full_name                  CONSTANT VARCHAR2(60) := G_PKG_NAME||'.'||l_api_name;
2412 l_return_status                       VARCHAR2(1);
2413 
2414 l_claim_rec                           OZF_Claim_PVT.claim_rec_type;
2415 l_funds_util_flt                      OZF_Claim_Accrual_PVT.funds_util_flt_type;
2416 
2417 BEGIN
2418    -- Standard Start of API savepoint
2419    SAVEPOINT Pay_Claim_For_Accruals;
2420 
2421    IF G_DEBUG THEN
2422       OZF_Utility_PVT.debug_message(l_full_name||': start');
2423    END IF;
2424 
2425    -- Standard call to check for call compatibility.
2426    IF NOT FND_API.Compatible_API_Call ( l_api_version,
2427                                         p_api_version,
2428                                         l_api_name,
2429                                         G_PKG_NAME ) THEN
2430       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2431    END IF;
2432 
2433    -- Initialize message list if p_init_msg_list is set to TRUE.
2434    IF FND_API.to_Boolean( p_init_msg_list ) THEN
2435       FND_MSG_PUB.initialize;
2436    END IF;
2437 
2438    -- Initialize API return status to SUCCESS
2439    x_return_status := FND_API.G_RET_STS_SUCCESS;
2440 
2441    ------------------------------------------
2442    -- 1. Default and derive column valude  --
2443    ------------------------------------------
2444    l_claim_rec.claim_type_id                := p_claim_rec.claim_type_id;
2445    l_claim_rec.claim_date                   := p_claim_rec.claim_date;
2446    l_claim_rec.due_date                     := p_claim_rec.due_date;
2447    l_claim_rec.gl_date                      := p_claim_rec.gl_date;
2448    l_claim_rec.owner_id                     := p_claim_rec.owner_id;
2449    l_claim_rec.amount                       := p_claim_rec.amount;
2450    l_claim_rec.currency_code                := p_claim_rec.currency_code;
2451    l_claim_rec.exchange_rate_type           := p_claim_rec.exchange_rate_type;
2452    l_claim_rec.exchange_rate_date           := p_claim_rec.exchange_rate_date;
2453    l_claim_rec.exchange_rate                := p_claim_rec.exchange_rate;
2454    l_claim_rec.set_of_books_id              := p_claim_rec.set_of_books_id;
2455    l_claim_rec.source_object_id             := p_claim_rec.source_object_id;
2456    l_claim_rec.source_object_class          := p_claim_rec.source_object_class;
2457    l_claim_rec.source_object_type_id        := p_claim_rec.source_object_type_id;
2458    l_claim_rec.source_object_number         := p_claim_rec.source_object_number;
2459    l_claim_rec.cust_account_id              := p_claim_rec.cust_account_id;
2460    l_claim_rec.cust_billto_acct_site_id     := p_claim_rec.cust_billto_acct_site_id;
2461    l_claim_rec.cust_shipto_acct_site_id     := p_claim_rec.cust_shipto_acct_site_id;
2462    l_claim_rec.related_cust_account_id      := p_claim_rec.related_cust_account_id;
2463    l_claim_rec.reason_code_id               := p_claim_rec.reason_code_id;
2464    l_claim_rec.reason_type                  := p_claim_rec.reason_type;
2465    l_claim_rec.status_code                  := p_claim_rec.status_code;
2466    l_claim_rec.user_status_id               := p_claim_rec.user_status_id;
2467    l_claim_rec.sales_rep_id                 := p_claim_rec.sales_rep_id;
2468    l_claim_rec.collector_id                 := p_claim_rec.collector_id;
2469    l_claim_rec.contact_id                   := p_claim_rec.contact_id;
2470    l_claim_rec.broker_id                    := p_claim_rec.broker_id;
2471    l_claim_rec.customer_ref_date            := p_claim_rec.customer_ref_date;
2472    l_claim_rec.customer_ref_number          := p_claim_rec.customer_ref_number;
2473    l_claim_rec.comments                     := p_claim_rec.comments;
2474    l_claim_rec.attribute_category           := p_claim_rec.attribute_category;
2475    l_claim_rec.attribute1                   := p_claim_rec.attribute1;
2476    l_claim_rec.attribute2                   := p_claim_rec.attribute2;
2477    l_claim_rec.attribute3                   := p_claim_rec.attribute3;
2478    l_claim_rec.attribute4                   := p_claim_rec.attribute4;
2479    l_claim_rec.attribute5                   := p_claim_rec.attribute5;
2480    l_claim_rec.attribute6                   := p_claim_rec.attribute6;
2481    l_claim_rec.attribute7                   := p_claim_rec.attribute7;
2482    l_claim_rec.attribute8                   := p_claim_rec.attribute8;
2483    l_claim_rec.attribute9                   := p_claim_rec.attribute9;
2484    l_claim_rec.attribute10                  := p_claim_rec.attribute10;
2485    l_claim_rec.attribute11                  := p_claim_rec.attribute11;
2486    l_claim_rec.attribute12                  := p_claim_rec.attribute12;
2487    l_claim_rec.attribute13                  := p_claim_rec.attribute13;
2488    l_claim_rec.attribute14                  := p_claim_rec.attribute14;
2489    l_claim_rec.attribute15                  := p_claim_rec.attribute15;
2490    l_claim_rec.org_id                       := p_claim_rec.org_id;
2491    l_claim_rec.write_off_flag		           := p_claim_rec.write_off_flag;
2492    l_claim_rec.write_off_threshold_amount	  := p_claim_rec.write_off_threshold_amount;
2493    l_claim_rec.under_write_off_threshold	  := p_claim_rec.under_write_off_threshold;
2494    l_claim_rec.customer_reason		        := p_claim_rec.customer_reason;
2495    l_claim_rec.ship_to_cust_account_id	     := p_claim_rec.ship_to_cust_account_id;
2496    l_claim_rec.amount_applied		           := p_claim_rec.amount_applied;
2497    l_claim_rec.applied_receipt_id		     := p_claim_rec.applied_receipt_id;
2498    l_claim_rec.applied_receipt_number	     := p_claim_rec.applied_receipt_number;
2499    l_claim_rec.wo_rec_trx_id		           := p_claim_rec.wo_rec_trx_id;
2500    l_claim_rec.group_claim_id		           := p_claim_rec.group_claim_id;
2501    l_claim_rec.appr_wf_item_key		        := p_claim_rec.appr_wf_item_key;
2502    l_claim_rec.cstl_wf_item_key		        := p_claim_rec.cstl_wf_item_key;
2503    l_claim_rec.batch_type			           := p_claim_rec.batch_type;
2504 
2505 
2506    l_funds_util_flt.fund_id                     := p_funds_util_flt.fund_id;
2507    l_funds_util_flt.activity_type               := p_funds_util_flt.activity_type;
2508    l_funds_util_flt.activity_id                 := p_funds_util_flt.activity_id;
2509    l_funds_util_flt.activity_product_id         := p_funds_util_flt.activity_product_id;
2510    l_funds_util_flt.offer_type                  := p_funds_util_flt.offer_type;
2511    l_funds_util_flt.document_class              := p_funds_util_flt.document_class;
2512    l_funds_util_flt.document_id                 := p_funds_util_flt.document_id;
2513    l_funds_util_flt.product_level_type          := p_funds_util_flt.product_level_type;
2514    l_funds_util_flt.product_id                  := p_funds_util_flt.product_id;
2515    l_funds_util_flt.reference_type              := p_funds_util_flt.reference_type;
2516    l_funds_util_flt.reference_id                := p_funds_util_flt.reference_id;
2517    l_funds_util_flt.utilization_type            := p_funds_util_flt.utilization_type;
2518    l_funds_util_flt.cust_account_id             := p_funds_util_flt.cust_account_id;
2519    l_funds_util_flt.relationship_type           := p_funds_util_flt.relationship_type;
2520    l_funds_util_flt.related_cust_account_id     := p_funds_util_flt.related_cust_account_id;
2521    l_funds_util_flt.buy_group_cust_account_id   := p_funds_util_flt.buy_group_cust_account_id;
2522    l_funds_util_flt.select_cust_children_flag   := p_funds_util_flt.select_cust_children_flag;
2523    l_funds_util_flt.pay_to_customer             := p_funds_util_flt.pay_to_customer;
2524    l_funds_util_flt.prorate_earnings_flag       := p_funds_util_flt.prorate_earnings_flag;
2525    l_funds_util_flt.end_date                    := p_funds_util_flt.end_date;
2526    l_funds_util_flt.total_amount                := p_funds_util_flt.total_amount;
2527    l_funds_util_flt.total_units                 := p_funds_util_flt.total_units;
2528    l_funds_util_flt.quantity                    := p_funds_util_flt.quantity;
2529    l_funds_util_flt.uom_code                    := p_funds_util_flt.uom_code;
2530 
2531    ------------------------------------------
2532    -- 2. Call OZF_CLAIM_ACCRUAL_PVT
2533    ------------------------------------------
2534    OZF_Claim_Accrual_PVT.Pay_Claim_For_Accruals(
2535      p_api_version         => l_api_version
2536     ,p_init_msg_list       => FND_API.g_false
2537     ,p_commit              => FND_API.g_false
2538     ,p_validation_level    => FND_API.g_valid_level_full
2539 
2540     ,x_return_status       => l_return_status
2541     ,x_msg_count           => x_msg_count
2542     ,x_msg_data            => x_msg_data
2543 
2544     ,p_claim_rec           => l_claim_rec
2545     ,p_funds_util_flt      => l_funds_util_flt
2546 
2547     ,x_claim_id            => x_claim_id
2548    );
2549    IF l_return_status = FND_API.g_ret_sts_error THEN
2550       RAISE FND_API.g_exc_error;
2551    ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
2552       RAISE FND_API.g_exc_unexpected_error;
2553    END IF;
2554 
2555    -- Standard check for p_commit
2556    IF FND_API.to_Boolean(p_commit) THEN
2557       COMMIT WORK;
2558    END IF;
2559 
2560    IF G_DEBUG THEN
2561       OZF_Utility_PVT.debug_message(l_full_name ||': end');
2562    END IF;
2563 
2564    -- Standard call to get message count and if count is 1, get message info.
2565    FND_MSG_PUB.Count_And_Get(
2566          p_count          =>   x_msg_count,
2567          p_data           =>   x_msg_data
2568    );
2569 
2570 EXCEPTION
2571    WHEN FND_API.G_EXC_ERROR THEN
2572       ROLLBACK TO Pay_Claim_For_Accruals;
2573       x_return_status := FND_API.G_RET_STS_ERROR;
2574       FND_MSG_PUB.Count_And_Get (
2575          p_encoded => FND_API.G_FALSE,
2576          p_count   => x_msg_count,
2577          p_data    => x_msg_data
2578       );
2579 
2580    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2581       ROLLBACK TO Pay_Claim_For_Accruals;
2582       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2583       IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
2584          FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_CRE_DEDU_ERR');
2585          FND_MSG_PUB.add;
2586       END IF;
2587       FND_MSG_PUB.Count_And_Get (
2588          p_encoded => FND_API.G_FALSE,
2589          p_count   => x_msg_count,
2590          p_data    => x_msg_data
2591       );
2592 
2593    WHEN OTHERS THEN
2594       ROLLBACK TO Pay_Claim_For_Accruals;
2595       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2596       IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
2597          FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_CRE_DEDU_ERR');
2598          FND_MSG_PUB.add;
2599       END IF;
2600       FND_MSG_PUB.Count_And_Get (
2601          p_encoded => FND_API.G_FALSE,
2602          p_count   => x_msg_count,
2603          p_data    => x_msg_data
2604       );
2605 END Pay_Claim_For_Accruals;
2606 
2607 END OZF_Claim_PUB;