DBA Data[Home] [Help]

PACKAGE BODY: APPS.OZF_CLAIMS_HISTORY_PVT

Source


1 PACKAGE BODY OZF_claims_history_PVT as
2 /* $Header: ozfvchib.pls 120.1 2005/09/15 22:40:06 appldev ship $ */
3 -- Start of Comments
4 -- Package name     : OZF_claims_history_PVT
5 -- Purpose          :
6 -- History          :
7 -- NOTE             :
8 -- End of Comments
9 
10 G_PKG_NAME  CONSTANT VARCHAR2(30):= 'OZF_claims_history_PVT';
11 G_FILE_NAME CONSTANT VARCHAR2(12) := 'ozfvchib.pls';
12 
13 G_UPDATE_EVENT       CONSTANT VARCHAR2(30) := 'UPDATE';
14 G_LINE_EVENT         CONSTANT VARCHAR2(30) := 'LINE';
15 G_LINE_EVENT_DESC    CONSTANT VARCHAR2(30) := 'LINE';
16 G_SPLIT_EVENT        CONSTANT VARCHAR2(30) := 'SPLIT';
17 G_SETTLEMENT_EVENT   CONSTANT VARCHAR2(30) := 'SETL';
18 G_NEW_EVENT          CONSTANT VARCHAR2(30) := 'NEW';
19 G_NO_CHANGE_EVENT  CONSTANT VARCHAR2(30) := 'NOCHANGE';
20 
21 --Start Bug:2781186
22 G_SUBSEQUENT_APPLY_EVENT       CONSTANT VARCHAR2(30) := 'SUBSEQUENT_APPLY';
23 G_SUBSEQUENT_UNAPPLY_EVENT     CONSTANT VARCHAR2(30) := 'SUBSEQUENT_UNAPPLY';
24 --End Bug:2781186
25 
26 G_CHANGE_EVENT       CONSTANT VARCHAR2(30) :='CHANGES';  -- This event is returned to the caller.
27 --Start Bug:2781186
28 G_SUBSEQUENT_APPLY_CHG_EVENT   CONSTANT VARCHAR2(30) :='APPLY';    -- This event is returned to the caller.
29 G_SUBSEQUENT_UNAPPLY_CHG_EVENT CONSTANT VARCHAR2(30) :='UNAPPLY';  -- This event is returned to the caller.
30 --End Bug:2781186
31 
32 G_NEW_STATUS        CONSTANT VARCHAR2(30) :='NEW';
33 G_CLAIM_TYPE         CONSTANT VARCHAR2(30) :='OZF_CLAM';
34 G_CLAIM_HIST_OBJ_TYPE CONSTANT VARCHAR2(30) :='CLAMHIST';
35 
36 OZF_DEBUG_LOW_ON BOOLEAN := FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_debug_low);
37 
38 -- define types private to this package.
39 
40 ---------------------------------------------------------------------
41 -- PROCEDURE
42 --    Complete_Claim_History_Rec
43 --
44 -- PURPOSE
45 --    For Update_Claim_history, some attributes may be passed in as
46 --    FND_API.g_miss_char/num/date if the user doesn't want to
47 --    update those attributes. This procedure will replace the
48 --    "g_miss" attributes with current database values.
49 --
50 -- PARAMETERS
51 --    p_claim_history_rec  : the record which may contain attributes as
52 --                    FND_API.g_miss_char/num/date
53 --    x_complete_rec: the complete record after all "g_miss" items
54 --                    have been replaced by current database values
55 ---------------------------------------------------------------------
56 PROCEDURE Complete_Claim_History_Rec (
57    p_claim_history_rec  IN   claims_history_rec_type
58   ,x_complete_rec     OUT NOCOPY  claims_history_rec_type
59   ,x_return_status    OUT NOCOPY  varchar2
60 )
61 IS
62 CURSOR c_claim_history_csr (p_id in NUMBER) IS
63 SELECT * FROM ozf_claims_history_all
64 WHERE claim_history_id = p_id;
65 
66 l_claim_history_rec    c_claim_history_csr%ROWTYPE;
67 l_api_name  varchar2(30) := 'Complete_Claim_History_Rec';
68 BEGIN
69 --	letter_id                       NUMBER := FND_API.G_MISS_NUM,
70 --       letter_date                     DATE := FND_API.G_MISS_DATE,
71 
72    -- Initialize API return status to sucess
73    x_return_status := FND_API.G_RET_STS_SUCCESS;
74 
75    -- Api body
76    --
77    -- Debug Message
78    IF OZF_DEBUG_LOW_ON THEN
79       FND_MESSAGE.Set_Name('OZF','OZF_API_DEBUG_MESSAGE');
80       FND_MESSAGE.Set_Token('TEXT',l_api_name||': Start');
81       FND_MSG_PUB.Add;
82    END IF;
83 
84    x_complete_rec  := p_claim_history_rec;
85 
86   OPEN c_claim_history_csr(p_claim_history_rec.claim_history_id);
87   FETCH c_claim_history_csr INTO l_claim_history_rec;
88      IF c_claim_history_csr%NOTFOUND THEN
89         CLOSE c_claim_history_csr;
90         IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
91            FND_MESSAGE.set_name('OZF','OZF_API_RECORD_NOT_FOUND');
92            FND_MSG_PUB.add;
93         END IF;
94         RAISE FND_API.g_exc_error;
95      END IF;
96   CLOSE c_claim_history_csr;
97 
98   IF p_claim_history_rec.claim_history_id         = FND_API.G_MISS_NUM  THEN
99      x_complete_rec.claim_history_id       := NULL;
100   END IF;
101   IF p_claim_history_rec.claim_history_id         IS NULL THEN
102      x_complete_rec.claim_history_id       := l_claim_history_rec.claim_history_id;
103   END IF;
104   IF p_claim_history_rec.object_version_number  = FND_API.G_MISS_NUM  THEN
105      x_complete_rec.object_version_number       := NULL;
106   END IF;
107   IF p_claim_history_rec.object_version_number  IS NULL THEN
108      x_complete_rec.object_version_number       := l_claim_history_rec.object_version_number;
109   END IF;
110   IF p_claim_history_rec.claim_id         = FND_API.G_MISS_NUM  THEN
111      x_complete_rec.claim_id       := NULL;
112   END IF;
113   IF p_claim_history_rec.claim_id         IS NULL THEN
114      x_complete_rec.claim_id       := l_claim_history_rec.claim_id;
115   END IF;
116   IF p_claim_history_rec.batch_id         = FND_API.G_MISS_NUM  THEN
117      x_complete_rec.batch_id       := NULL;
118   END IF;
119   IF p_claim_history_rec.batch_id         IS NULL THEN
120      x_complete_rec.batch_id       := l_claim_history_rec.batch_id;
121   END IF;
122   IF p_claim_history_rec.claim_number         = FND_API.G_MISS_CHAR  THEN
123      x_complete_rec.claim_number       := NULL;
124   END IF;
125   IF p_claim_history_rec.claim_number         IS NULL THEN
126      x_complete_rec.claim_number       := l_claim_history_rec.claim_number;
127   END IF;
128   IF p_claim_history_rec.claim_type_id         = FND_API.G_MISS_NUM  THEN
129      x_complete_rec.claim_type_id       := NULL;
130   END IF;
131   IF p_claim_history_rec.claim_type_id         IS NULL THEN
132      x_complete_rec.claim_type_id       := l_claim_history_rec.claim_type_id;
133   END IF;
134   IF p_claim_history_rec.claim_class         = FND_API.G_MISS_CHAR  THEN
135      x_complete_rec.claim_class       := NULL;
136   END IF;
137   IF p_claim_history_rec.claim_class         IS NULL THEN
138      x_complete_rec.claim_class       := l_claim_history_rec.claim_class;
139   END IF;
140   IF p_claim_history_rec.claim_date         = FND_API.G_MISS_DATE  THEN
141      x_complete_rec.claim_date       := NULL;
142   END IF;
143   IF p_claim_history_rec.claim_date         IS NULL THEN
144      x_complete_rec.claim_date       := l_claim_history_rec.claim_date;
145   END IF;
146   IF p_claim_history_rec.due_date         = FND_API.G_MISS_DATE  THEN
147      x_complete_rec.due_date       := NULL;
148   END IF;
149   IF p_claim_history_rec.due_date         IS NULL THEN
150      x_complete_rec.due_date       := l_claim_history_rec.due_date;
151   END IF;
152   IF p_claim_history_rec.owner_id  = FND_API.G_MISS_NUM  THEN
153      x_complete_rec.owner_id := NULL;
154   END IF;
155   IF p_claim_history_rec.owner_id  IS NULL THEN
156      x_complete_rec.owner_id := l_claim_history_rec.owner_id;
157   END IF;
158   IF p_claim_history_rec.history_event  = FND_API.G_MISS_CHAR  THEN
159      x_complete_rec.history_event := NULL;
160   END IF;
161   IF p_claim_history_rec.history_event  IS NULL THEN
162      x_complete_rec.history_event := l_claim_history_rec.history_event;
163   END IF;
164   IF p_claim_history_rec.history_event_date  = FND_API.G_MISS_DATE  THEN
165      x_complete_rec.history_event_date := NULL;
166   END IF;
167   IF p_claim_history_rec.history_event_date  IS NULL THEN
168      x_complete_rec.history_event_date := l_claim_history_rec.history_event_date;
169   END IF;
170   IF p_claim_history_rec.history_event_description  = FND_API.G_MISS_CHAR  THEN
171      x_complete_rec.history_event_description := NULL;
172   END IF;
173   IF p_claim_history_rec.history_event_description  IS NULL THEN
174      x_complete_rec.history_event_description := l_claim_history_rec.history_event_description;
175   END IF;
176   IF p_claim_history_rec.split_from_claim_id  = FND_API.G_MISS_NUM  THEN
177      x_complete_rec.split_from_claim_id       := NULL;
178   END IF;
179   IF p_claim_history_rec.split_from_claim_id  IS NULL THEN
180      x_complete_rec.split_from_claim_id       := l_claim_history_rec.split_from_claim_id;
181   END IF;
182   IF p_claim_history_rec.duplicate_claim_id  = FND_API.G_MISS_NUM  THEN
183      x_complete_rec.duplicate_claim_id       := NULL;
184   END IF;
185   IF p_claim_history_rec.duplicate_claim_id  IS NULL THEN
186      x_complete_rec.duplicate_claim_id       := l_claim_history_rec.duplicate_claim_id;
187   END IF;
188   IF p_claim_history_rec.split_date  = FND_API.G_MISS_DATE  THEN
189      x_complete_rec.split_date := NULL;
190   END IF;
191   IF p_claim_history_rec.split_date  IS NULL THEN
192      x_complete_rec.split_date := l_claim_history_rec.split_date;
193   END IF;
194   IF p_claim_history_rec.root_claim_id  = FND_API.G_MISS_NUM  THEN
195      x_complete_rec.root_claim_id       := NULL;
196   END IF;
197   IF p_claim_history_rec.root_claim_id  IS NULL THEN
198      x_complete_rec.root_claim_id       := l_claim_history_rec.root_claim_id;
199   END IF;
200   IF p_claim_history_rec.amount  = FND_API.G_MISS_NUM  THEN
201      x_complete_rec.amount       := NULL;
202   END IF;
203   IF p_claim_history_rec.amount  IS NULL THEN
204      x_complete_rec.amount       := l_claim_history_rec.amount;
205   END IF;
206   IF p_claim_history_rec.amount_adjusted  = FND_API.G_MISS_NUM  THEN
207      x_complete_rec.amount_adjusted       := NULL;
208   END IF;
209   IF p_claim_history_rec.amount_adjusted  IS NULL THEN
210      x_complete_rec.amount_adjusted       := l_claim_history_rec.amount_adjusted;
211   END IF;
212   IF p_claim_history_rec.amount_remaining  = FND_API.G_MISS_NUM  THEN
213      x_complete_rec.amount_remaining       := NULL;
214   END IF;
215   IF p_claim_history_rec.amount_remaining  IS NULL THEN
216      x_complete_rec.amount_remaining       := l_claim_history_rec.amount_remaining;
217   END IF;
218   IF p_claim_history_rec.amount_settled  = FND_API.G_MISS_NUM  THEN
219      x_complete_rec.amount_settled       := NULL;
220   END IF;
221   IF p_claim_history_rec.amount_settled  IS NULL THEN
222      x_complete_rec.amount_settled       := l_claim_history_rec.amount_settled;
223   END IF;
224   IF p_claim_history_rec.acctd_amount  = FND_API.G_MISS_NUM  THEN
225      x_complete_rec.acctd_amount       := NULL;
226   END IF;
227   IF p_claim_history_rec.acctd_amount  IS NULL THEN
228      x_complete_rec.acctd_amount       := l_claim_history_rec.acctd_amount;
229   END IF;
230   IF p_claim_history_rec.acctd_amount_remaining   = FND_API.G_MISS_NUM  THEN
231      x_complete_rec.acctd_amount_remaining        := NULL;
232   END IF;
233   IF p_claim_history_rec.acctd_amount_remaining   IS NULL THEN
234      x_complete_rec.acctd_amount_remaining        := l_claim_history_rec.acctd_amount_remaining ;
235   END IF;
236   IF p_claim_history_rec.acctd_amount_adjusted  = FND_API.G_MISS_NUM  THEN
237      x_complete_rec.acctd_amount_adjusted       := NULL;
238   END IF;
239   IF p_claim_history_rec.acctd_amount_adjusted  IS NULL THEN
240      x_complete_rec.acctd_amount_adjusted       := l_claim_history_rec.acctd_amount_adjusted;
241   END IF;
242   IF p_claim_history_rec.acctd_amount_settled  = FND_API.G_MISS_NUM  THEN
243      x_complete_rec.acctd_amount_settled       := NULL;
244   END IF;
245   IF p_claim_history_rec.acctd_amount_settled  IS NULL THEN
246      x_complete_rec.acctd_amount_settled       := l_claim_history_rec.acctd_amount_settled;
247   END IF;
248   IF p_claim_history_rec.tax_amount   = FND_API.G_MISS_NUM  THEN
249      x_complete_rec.tax_amount        := NULL;
250   END IF;
251   IF p_claim_history_rec.tax_amount   IS NULL THEN
252      x_complete_rec.tax_amount        := l_claim_history_rec.tax_amount ;
253   END IF;
254   IF p_claim_history_rec.tax_code   = FND_API.G_MISS_CHAR  THEN
255      x_complete_rec.tax_code        := NULL;
256   END IF;
257   IF p_claim_history_rec.tax_code   IS NULL THEN
258      x_complete_rec.tax_code        := l_claim_history_rec.tax_code ;
259   END IF;
260   IF p_claim_history_rec.tax_calculation_flag   = FND_API.G_MISS_CHAR  THEN
261      x_complete_rec.tax_calculation_flag        := NULL;
262   END IF;
263   IF p_claim_history_rec.tax_calculation_flag   IS NULL THEN
264      x_complete_rec.tax_calculation_flag        := l_claim_history_rec.tax_calculation_flag ;
265   END IF;
266   IF p_claim_history_rec.currency_code         = FND_API.G_MISS_CHAR  THEN
267      x_complete_rec.currency_code       := NULL;
268   END IF;
269   IF p_claim_history_rec.currency_code         IS NULL THEN
270      x_complete_rec.currency_code       := l_claim_history_rec.currency_code;
271   END IF;
272   IF p_claim_history_rec.exchange_rate_type         = FND_API.G_MISS_CHAR  THEN
273      x_complete_rec.exchange_rate_type       := NULL;
274   END IF;
275   IF p_claim_history_rec.exchange_rate_type         IS NULL THEN
276      x_complete_rec.exchange_rate_type       := l_claim_history_rec.exchange_rate_type;
277   END IF;
278   IF p_claim_history_rec.exchange_rate_date         = FND_API.G_MISS_DATE  THEN
279      x_complete_rec.exchange_rate_date       := NULL;
280   END IF;
281   IF p_claim_history_rec.exchange_rate_date         IS NULL THEN
282      x_complete_rec.exchange_rate_date       := l_claim_history_rec.exchange_rate_date;
283   END IF;
284   IF p_claim_history_rec.exchange_rate  = FND_API.G_MISS_NUM  THEN
285      x_complete_rec.exchange_rate       := NULL;
286   END IF;
287   IF p_claim_history_rec.exchange_rate  IS NULL THEN
288      x_complete_rec.exchange_rate       := l_claim_history_rec.exchange_rate;
289   END IF;
290   IF p_claim_history_rec.set_of_books_id  = FND_API.G_MISS_NUM  THEN
291      x_complete_rec.set_of_books_id       := NULL;
292   END IF;
293   IF p_claim_history_rec.set_of_books_id  IS NULL THEN
294      x_complete_rec.set_of_books_id       := l_claim_history_rec.set_of_books_id;
295   END IF;
296   IF p_claim_history_rec.original_claim_date         = FND_API.G_MISS_DATE  THEN
297      x_complete_rec.original_claim_date       := NULL;
298   END IF;
299   IF p_claim_history_rec.original_claim_date         IS NULL THEN
300      x_complete_rec.original_claim_date       := l_claim_history_rec.original_claim_date;
301   END IF;
302   IF p_claim_history_rec.source_object_id  = FND_API.G_MISS_NUM  THEN
303      x_complete_rec.source_object_id       := NULL;
307   END IF;
304   END IF;
305   IF p_claim_history_rec.source_object_id  IS NULL THEN
306      x_complete_rec.source_object_id       := l_claim_history_rec.source_object_id;
308   IF p_claim_history_rec.source_object_class  = FND_API.G_MISS_CHAR  THEN
309      x_complete_rec.source_object_class       := NULL;
310   END IF;
311   IF p_claim_history_rec.source_object_class  IS NULL THEN
312      x_complete_rec.source_object_class       := l_claim_history_rec.source_object_class;
313   END IF;
314   IF p_claim_history_rec.source_object_type_id  = FND_API.G_MISS_NUM  THEN
315      x_complete_rec.source_object_type_id       := NULL;
316   END IF;
317   IF p_claim_history_rec.source_object_type_id  IS NULL THEN
318      x_complete_rec.source_object_type_id       := l_claim_history_rec.source_object_type_id;
319   END IF;
320   IF p_claim_history_rec.source_object_number  = FND_API.G_MISS_CHAR  THEN
321      x_complete_rec.source_object_number       := NULL;
322   END IF;
323   IF p_claim_history_rec.source_object_number  IS NULL THEN
324      x_complete_rec.source_object_number       := l_claim_history_rec.source_object_number;
325   END IF;
326   IF p_claim_history_rec.cust_account_id  = FND_API.G_MISS_NUM  THEN
327      x_complete_rec.cust_account_id       := NULL;
328   END IF;
329   IF p_claim_history_rec.cust_account_id  IS NULL THEN
330      x_complete_rec.cust_account_id       := l_claim_history_rec.cust_account_id;
331   END IF;
332   IF p_claim_history_rec.cust_billto_acct_site_id  = FND_API.G_MISS_NUM  THEN
333      x_complete_rec.cust_billto_acct_site_id       := NULL;
334   END IF;
335   IF p_claim_history_rec.cust_billto_acct_site_id  IS NULL THEN
336      x_complete_rec.cust_billto_acct_site_id       := l_claim_history_rec.cust_billto_acct_site_id;
337   END IF;
338   IF p_claim_history_rec.cust_shipto_acct_site_id  = FND_API.G_MISS_NUM  THEN
339      x_complete_rec.cust_shipto_acct_site_id := NULL;
340   END IF;
341   IF p_claim_history_rec.cust_shipto_acct_site_id  IS NULL THEN
342      x_complete_rec.cust_shipto_acct_site_id := l_claim_history_rec.cust_shipto_acct_site_id;
343   END IF;
344   IF p_claim_history_rec.location_id  = FND_API.G_MISS_NUM  THEN
345      x_complete_rec.location_id       := NULL;
346   END IF;
347   IF p_claim_history_rec.location_id  IS NULL THEN
348      x_complete_rec.location_id       := l_claim_history_rec.location_id;
349   END IF;
350   IF p_claim_history_rec.pay_related_account_flag  = FND_API.G_MISS_CHAR  THEN
351      x_complete_rec.pay_related_account_flag := NULL;
352   END IF;
353   IF p_claim_history_rec.pay_related_account_flag  IS NULL THEN
354      x_complete_rec.pay_related_account_flag := l_claim_history_rec.pay_related_account_flag;
355   END IF;
356   IF p_claim_history_rec.related_cust_account_id  = FND_API.G_MISS_NUM  THEN
357      x_complete_rec.related_cust_account_id := NULL;
358   END IF;
359   IF p_claim_history_rec.related_cust_account_id  IS NULL THEN
360      x_complete_rec.related_cust_account_id := l_claim_history_rec.related_cust_account_id;
361   END IF;
362   IF p_claim_history_rec.related_site_use_id  = FND_API.G_MISS_NUM  THEN
363      x_complete_rec.related_site_use_id := NULL;
364   END IF;
365   IF p_claim_history_rec.related_site_use_id  IS NULL THEN
366      x_complete_rec.related_site_use_id := l_claim_history_rec.related_site_use_id;
367   END IF;
368   IF p_claim_history_rec.relationship_type = FND_API.G_MISS_CHAR  THEN
369      x_complete_rec.relationship_type := NULL;
370   END IF;
371   IF p_claim_history_rec.relationship_type IS NULL THEN
372      x_complete_rec.relationship_type := l_claim_history_rec.relationship_type;
373   END IF;
374   IF p_claim_history_rec.vendor_id   = FND_API.G_MISS_NUM  THEN
375      x_complete_rec.vendor_id := NULL;
376   END IF;
377   IF p_claim_history_rec.vendor_id   IS NULL THEN
378      x_complete_rec.vendor_id := l_claim_history_rec.vendor_id;
379   END IF;
380   IF p_claim_history_rec.vendor_site_id = FND_API.G_MISS_NUM  THEN
381      x_complete_rec.vendor_site_id := NULL;
382   END IF;
383   IF p_claim_history_rec.vendor_site_id IS NULL THEN
384      x_complete_rec.vendor_site_id := l_claim_history_rec.vendor_site_id;
385   END IF;
386   IF p_claim_history_rec.reason_type  = FND_API.G_MISS_CHAR  THEN
387      x_complete_rec.reason_type       := NULL;
388   END IF;
389   IF p_claim_history_rec.reason_type  IS NULL THEN
390      x_complete_rec.reason_type       := l_claim_history_rec.reason_type;
391   END IF;
392   IF p_claim_history_rec.reason_code_id  = FND_API.G_MISS_NUM  THEN
393      x_complete_rec.reason_code_id       := NULL;
394   END IF;
395   IF p_claim_history_rec.reason_code_id  IS NULL THEN
396      x_complete_rec.reason_code_id       := l_claim_history_rec.reason_code_id;
397   END IF;
398   IF p_claim_history_rec.task_template_group_id  = FND_API.G_MISS_NUM  THEN
399      x_complete_rec.task_template_group_id       := NULL;
400   END IF;
401   IF p_claim_history_rec.task_template_group_id  IS NULL THEN
402      x_complete_rec.task_template_group_id       := l_claim_history_rec.task_template_group_id;
403   END IF;
404   IF p_claim_history_rec.status_code  = FND_API.G_MISS_CHAR  THEN
405      x_complete_rec.status_code       := NULL;
406   END IF;
407   IF p_claim_history_rec.status_code  IS NULL THEN
408      x_complete_rec.status_code       := l_claim_history_rec.status_code;
409   END IF;
410   IF p_claim_history_rec.user_status_id  = FND_API.G_MISS_NUM  THEN
411      x_complete_rec.user_status_id       := NULL;
412   END IF;
416   IF p_claim_history_rec.sales_rep_id  = FND_API.G_MISS_NUM  THEN
413   IF p_claim_history_rec.user_status_id  IS NULL THEN
414      x_complete_rec.user_status_id       := l_claim_history_rec.user_status_id;
415   END IF;
417      x_complete_rec.sales_rep_id       := NULL;
418   END IF;
419   IF p_claim_history_rec.sales_rep_id  IS NULL THEN
420      x_complete_rec.sales_rep_id       := l_claim_history_rec.sales_rep_id;
421   END IF;
422   IF p_claim_history_rec.collector_id  = FND_API.G_MISS_NUM  THEN
423      x_complete_rec.collector_id       := NULL;
424   END IF;
425   IF p_claim_history_rec.collector_id  IS NULL THEN
426      x_complete_rec.collector_id       := l_claim_history_rec.collector_id;
427   END IF;
428   IF p_claim_history_rec.contact_id  = FND_API.G_MISS_NUM  THEN
429      x_complete_rec.contact_id       := NULL;
430   END IF;
431   IF p_claim_history_rec.contact_id  IS NULL THEN
432      x_complete_rec.contact_id       := l_claim_history_rec.contact_id;
433   END IF;
434   IF p_claim_history_rec.broker_id  = FND_API.G_MISS_NUM  THEN
435      x_complete_rec.broker_id       := NULL;
436   END IF;
437   IF p_claim_history_rec.broker_id  IS NULL THEN
438      x_complete_rec.broker_id       := l_claim_history_rec.broker_id;
439   END IF;
440   IF p_claim_history_rec.territory_id  = FND_API.G_MISS_NUM  THEN
441      x_complete_rec.territory_id       := NULL;
442   END IF;
443   IF p_claim_history_rec.territory_id  IS NULL THEN
444      x_complete_rec.territory_id       := l_claim_history_rec.territory_id;
445   END IF;
446   IF p_claim_history_rec.customer_ref_date         = FND_API.G_MISS_DATE  THEN
447      x_complete_rec.customer_ref_date       := NULL;
448   END IF;
449   IF p_claim_history_rec.customer_ref_date         IS NULL THEN
450      x_complete_rec.customer_ref_date       := l_claim_history_rec.customer_ref_date;
451   END IF;
452   IF p_claim_history_rec.customer_ref_number  = FND_API.G_MISS_CHAR  THEN
453      x_complete_rec.customer_ref_number       := NULL;
454   END IF;
455   IF p_claim_history_rec.customer_ref_number  IS NULL THEN
456      x_complete_rec.customer_ref_number       := l_claim_history_rec.customer_ref_number;
457   END IF;
458   IF p_claim_history_rec.receipt_id  = FND_API.G_MISS_NUM  THEN
459      x_complete_rec.receipt_id       := NULL;
460   END IF;
461   IF p_claim_history_rec.receipt_id  IS NULL THEN
462      x_complete_rec.receipt_id       := l_claim_history_rec.receipt_id;
463   END IF;
464   IF p_claim_history_rec.receipt_number  = FND_API.G_MISS_CHAR  THEN
465      x_complete_rec.receipt_number       := NULL;
466   END IF;
467   IF p_claim_history_rec.receipt_number  IS NULL THEN
468      x_complete_rec.receipt_number       := l_claim_history_rec.receipt_number;
469   END IF;
470   IF p_claim_history_rec.doc_sequence_id  = FND_API.G_MISS_NUM  THEN
471      x_complete_rec.doc_sequence_id       := NULL;
472   END IF;
473   IF p_claim_history_rec.doc_sequence_id  IS NULL THEN
474      x_complete_rec.doc_sequence_id       := l_claim_history_rec.doc_sequence_id;
475   END IF;
476   IF p_claim_history_rec.doc_sequence_value  = FND_API.G_MISS_NUM  THEN
477      x_complete_rec.doc_sequence_value       := NULL;
478   END IF;
479   IF p_claim_history_rec.doc_sequence_value  IS NULL THEN
480      x_complete_rec.doc_sequence_value       := l_claim_history_rec.doc_sequence_value;
481   END IF;
482   IF p_claim_history_rec.gl_date  = FND_API.G_MISS_DATE  THEN
483      x_complete_rec.gl_date       := NULL;
484   END IF;
485   IF p_claim_history_rec.gl_date  IS NULL THEN
486      x_complete_rec.gl_date       := l_claim_history_rec.gl_date;
487   END IF;
488   IF p_claim_history_rec.payment_method  = FND_API.G_MISS_CHAR  THEN
489      x_complete_rec.payment_method       := NULL;
490   END IF;
491   IF p_claim_history_rec.payment_method  IS NULL THEN
492      x_complete_rec.payment_method       := l_claim_history_rec.payment_method;
493   END IF;
494   IF p_claim_history_rec.voucher_id  = FND_API.G_MISS_NUM  THEN
495      x_complete_rec.voucher_id       := NULL;
496   END IF;
497   IF p_claim_history_rec.voucher_id  IS NULL THEN
498      x_complete_rec.voucher_id       := l_claim_history_rec.voucher_id;
499   END IF;
500   IF p_claim_history_rec.voucher_number  = FND_API.G_MISS_CHAR  THEN
501      x_complete_rec.voucher_number       := NULL;
502   END IF;
503   IF p_claim_history_rec.voucher_number  IS NULL THEN
504      x_complete_rec.voucher_number       := l_claim_history_rec.voucher_number;
505   END IF;
506   IF p_claim_history_rec.payment_reference_id  = FND_API.G_MISS_NUM  THEN
507      x_complete_rec.payment_reference_id       := NULL;
508   END IF;
509   IF p_claim_history_rec.payment_reference_id  IS NULL THEN
510      x_complete_rec.payment_reference_id       := l_claim_history_rec.payment_reference_id;
511   END IF;
512   IF p_claim_history_rec.payment_reference_number  = FND_API.G_MISS_CHAR  THEN
513      x_complete_rec.payment_reference_number := NULL;
514   END IF;
515   IF p_claim_history_rec.payment_reference_number  IS NULL THEN
516      x_complete_rec.payment_reference_number := l_claim_history_rec.payment_reference_number;
517   END IF;
518   IF p_claim_history_rec.payment_reference_date  = FND_API.G_MISS_DATE  THEN
519      x_complete_rec.payment_reference_date := NULL;
520   END IF;
521   IF p_claim_history_rec.payment_reference_date  IS NULL THEN
525      x_complete_rec.payment_status := NULL;
522      x_complete_rec.payment_reference_date := l_claim_history_rec.payment_reference_date;
523   END IF;
524   IF p_claim_history_rec.payment_status  = FND_API.G_MISS_CHAR  THEN
526   END IF;
527   IF p_claim_history_rec.payment_status  IS NULL THEN
528      x_complete_rec.payment_status := l_claim_history_rec.payment_status;
529   END IF;
530   IF p_claim_history_rec.approved_flag  = FND_API.G_MISS_CHAR  THEN
531      x_complete_rec.approved_flag := NULL;
532   END IF;
533   IF p_claim_history_rec.approved_flag  IS NULL THEN
534      x_complete_rec.approved_flag := l_claim_history_rec.approved_flag;
535   END IF;
536   IF p_claim_history_rec.approved_date  = FND_API.G_MISS_DATE  THEN
537      x_complete_rec.approved_date := NULL;
538   END IF;
539   IF p_claim_history_rec.approved_date  IS NULL THEN
540      x_complete_rec.approved_date := l_claim_history_rec.approved_date;
541   END IF;
542   IF p_claim_history_rec.approved_by  = FND_API.G_MISS_NUM  THEN
543      x_complete_rec.approved_by := NULL;
544   END IF;
545   IF p_claim_history_rec.approved_by  IS NULL THEN
546      x_complete_rec.approved_by := l_claim_history_rec.approved_by;
547   END IF;
548   IF p_claim_history_rec.settled_date  = FND_API.G_MISS_DATE  THEN
549      x_complete_rec.settled_date := NULL;
550   END IF;
551   IF p_claim_history_rec.settled_date  IS NULL THEN
552      x_complete_rec.settled_date := l_claim_history_rec.settled_date;
553   END IF;
554   IF p_claim_history_rec.settled_by  = FND_API.G_MISS_NUM  THEN
555      x_complete_rec.settled_by := NULL;
556   END IF;
557   IF p_claim_history_rec.settled_by  IS NULL THEN
558      x_complete_rec.settled_by := l_claim_history_rec.settled_by;
559   END IF;
560   IF p_claim_history_rec.effective_date  = FND_API.G_MISS_DATE  THEN
561      x_complete_rec.effective_date := NULL;
562   END IF;
563   IF p_claim_history_rec.effective_date  IS NULL THEN
564      x_complete_rec.effective_date := l_claim_history_rec.effective_date;
565   END IF;
566   IF p_claim_history_rec.custom_setup_id = FND_API.G_MISS_NUM  THEN
567      x_complete_rec.custom_setup_id := NULL;
568   END IF;
569   IF p_claim_history_rec.custom_setup_id IS NULL THEN
570      x_complete_rec.custom_setup_id := l_claim_history_rec.custom_setup_id;
571   END IF;
572   IF p_claim_history_rec.task_id  = FND_API.G_MISS_NUM  THEN
573      x_complete_rec.task_id := NULL;
574   END IF;
575   IF p_claim_history_rec.task_id  IS NULL THEN
576      x_complete_rec.task_id := l_claim_history_rec.task_id;
577   END IF;
578   IF p_claim_history_rec.country_id = FND_API.G_MISS_NUM  THEN
579      x_complete_rec.country_id := NULL;
580   END IF;
581   IF p_claim_history_rec.country_id IS NULL THEN
582      x_complete_rec.country_id := l_claim_history_rec.country_id;
583   END IF;
584   IF p_claim_history_rec.order_type_id = FND_API.G_MISS_NUM  THEN
585      x_complete_rec.order_type_id := NULL;
586   END IF;
587   IF p_claim_history_rec.order_type_id IS NULL THEN
588      x_complete_rec.order_type_id := l_claim_history_rec.order_type_id;
589   END IF;
590   IF p_claim_history_rec.comments  = FND_API.G_MISS_CHAR  THEN
591      x_complete_rec.comments := NULL;
592   END IF;
593   IF p_claim_history_rec.comments  IS NULL THEN
594      x_complete_rec.comments := l_claim_history_rec.comments;
595   END IF;
596   IF p_claim_history_rec.task_source_object_id = FND_API.G_MISS_NUM  THEN
597      x_complete_rec.task_source_object_id := NULL;
598   END IF;
599   IF p_claim_history_rec.task_source_object_id IS NULL THEN
600      x_complete_rec.task_source_object_id := l_claim_history_rec.task_source_object_id;
601   END IF;
602   IF p_claim_history_rec.task_source_object_type_code  = FND_API.G_MISS_CHAR  THEN
603      x_complete_rec.task_source_object_type_code := NULL;
604   END IF;
605   IF p_claim_history_rec.task_source_object_type_code  IS NULL THEN
606      x_complete_rec.task_source_object_type_code := l_claim_history_rec.task_source_object_type_code;
607   END IF;
608   IF p_claim_history_rec.attribute_category  = FND_API.G_MISS_CHAR  THEN
609      x_complete_rec.attribute_category := NULL;
610   END IF;
611   IF p_claim_history_rec.attribute_category  IS NULL THEN
612      x_complete_rec.attribute_category := l_claim_history_rec.attribute_category;
613   END IF;
614   IF p_claim_history_rec.attribute1  = FND_API.G_MISS_CHAR  THEN
615      x_complete_rec.attribute1 := NULL;
616   END IF;
617   IF p_claim_history_rec.attribute1  IS NULL THEN
618      x_complete_rec.attribute1 := l_claim_history_rec.attribute1;
619   END IF;
620   IF p_claim_history_rec.attribute2  = FND_API.G_MISS_CHAR  THEN
621      x_complete_rec.attribute2 := NULL;
622   END IF;
623   IF p_claim_history_rec.attribute2  IS NULL THEN
624      x_complete_rec.attribute2 := l_claim_history_rec.attribute2;
625   END IF;
626   IF p_claim_history_rec.attribute3  = FND_API.G_MISS_CHAR  THEN
627      x_complete_rec.attribute3 := NULL;
628   END IF;
629   IF p_claim_history_rec.attribute3  IS NULL THEN
630      x_complete_rec.attribute3 := l_claim_history_rec.attribute3;
631   END IF;
632   IF p_claim_history_rec.attribute4  = FND_API.G_MISS_CHAR  THEN
633      x_complete_rec.attribute4 := NULL;
634   END IF;
635   IF p_claim_history_rec.attribute4  IS NULL THEN
636      x_complete_rec.attribute4 := l_claim_history_rec.attribute4;
637   END IF;
638   IF p_claim_history_rec.attribute5  = FND_API.G_MISS_CHAR  THEN
639      x_complete_rec.attribute5 := NULL;
640   END IF;
644   IF p_claim_history_rec.attribute6  = FND_API.G_MISS_CHAR  THEN
641   IF p_claim_history_rec.attribute5  IS NULL THEN
642      x_complete_rec.attribute5 := l_claim_history_rec.attribute5;
643   END IF;
645      x_complete_rec.attribute6 := NULL;
646   END IF;
647   IF p_claim_history_rec.attribute6  IS NULL THEN
648      x_complete_rec.attribute6 := l_claim_history_rec.attribute6;
649   END IF;
650   IF p_claim_history_rec.attribute7  = FND_API.G_MISS_CHAR  THEN
651      x_complete_rec.attribute7 := NULL;
652   END IF;
653   IF p_claim_history_rec.attribute7  IS NULL THEN
654      x_complete_rec.attribute7 := l_claim_history_rec.attribute7;
655   END IF;
656   IF p_claim_history_rec.attribute8  = FND_API.G_MISS_CHAR  THEN
657      x_complete_rec.attribute8 := NULL;
658   END IF;
659   IF p_claim_history_rec.attribute8  IS NULL THEN
660      x_complete_rec.attribute8 := l_claim_history_rec.attribute8;
661   END IF;
662   IF p_claim_history_rec.attribute9  = FND_API.G_MISS_CHAR  THEN
663      x_complete_rec.attribute9 := NULL;
664   END IF;
665   IF p_claim_history_rec.attribute9  IS NULL THEN
666      x_complete_rec.attribute9 := l_claim_history_rec.attribute9;
667   END IF;
668   IF p_claim_history_rec.attribute10  = FND_API.G_MISS_CHAR  THEN
669      x_complete_rec.attribute10 := NULL;
670   END IF;
671   IF p_claim_history_rec.attribute10  IS NULL THEN
672      x_complete_rec.attribute10 := l_claim_history_rec.attribute10;
673   END IF;
674   IF p_claim_history_rec.attribute11  = FND_API.G_MISS_CHAR  THEN
675      x_complete_rec.attribute11 := NULL;
676   END IF;
677   IF p_claim_history_rec.attribute11  IS NULL THEN
678      x_complete_rec.attribute11 := l_claim_history_rec.attribute11;
679   END IF;
680   IF p_claim_history_rec.attribute12  = FND_API.G_MISS_CHAR  THEN
681      x_complete_rec.attribute12 := NULL;
682   END IF;
683   IF p_claim_history_rec.attribute12  IS NULL THEN
684      x_complete_rec.attribute12 := l_claim_history_rec.attribute12;
685   END IF;
686   IF p_claim_history_rec.attribute13  = FND_API.G_MISS_CHAR  THEN
687      x_complete_rec.attribute13 := NULL;
688   END IF;
689   IF p_claim_history_rec.attribute13  IS NULL THEN
690      x_complete_rec.attribute13 := l_claim_history_rec.attribute13;
691   END IF;
692   IF p_claim_history_rec.attribute14  = FND_API.G_MISS_CHAR  THEN
693      x_complete_rec.attribute14 := NULL;
694   END IF;
695   IF p_claim_history_rec.attribute14  IS NULL THEN
696      x_complete_rec.attribute14 := l_claim_history_rec.attribute14;
697   END IF;
698   IF p_claim_history_rec.attribute15  = FND_API.G_MISS_CHAR  THEN
699      x_complete_rec.attribute15 := NULL;
700   END IF;
701   IF p_claim_history_rec.attribute15  IS NULL THEN
702      x_complete_rec.attribute15 := l_claim_history_rec.attribute15;
703   END IF;
704   IF p_claim_history_rec.deduction_attribute_category  = FND_API.G_MISS_CHAR  THEN
705      x_complete_rec.deduction_attribute_category := NULL;
706   END IF;
707   IF p_claim_history_rec.deduction_attribute_category  IS NULL THEN
708      x_complete_rec.deduction_attribute_category := l_claim_history_rec.deduction_attribute_category;
709   END IF;
710   IF p_claim_history_rec.deduction_attribute1  = FND_API.G_MISS_CHAR  THEN
711      x_complete_rec.deduction_attribute1 := NULL;
712   END IF;
713   IF p_claim_history_rec.deduction_attribute1  IS NULL THEN
714      x_complete_rec.deduction_attribute1 := l_claim_history_rec.deduction_attribute1;
715   END IF;
716   IF p_claim_history_rec.deduction_attribute2  = FND_API.G_MISS_CHAR  THEN
717      x_complete_rec.deduction_attribute2 := NULL;
718   END IF;
719   IF p_claim_history_rec.deduction_attribute2  IS NULL THEN
720      x_complete_rec.deduction_attribute2 := l_claim_history_rec.deduction_attribute2;
721   END IF;
722   IF p_claim_history_rec.deduction_attribute3  = FND_API.G_MISS_CHAR  THEN
723      x_complete_rec.deduction_attribute3 := NULL;
724   END IF;
725   IF p_claim_history_rec.deduction_attribute3  IS NULL THEN
726      x_complete_rec.deduction_attribute3 := l_claim_history_rec.deduction_attribute3;
727   END IF;
728   IF p_claim_history_rec.deduction_attribute4  = FND_API.G_MISS_CHAR  THEN
729      x_complete_rec.deduction_attribute4 := NULL;
730   END IF;
731   IF p_claim_history_rec.deduction_attribute4  IS NULL THEN
732      x_complete_rec.deduction_attribute4 := l_claim_history_rec.deduction_attribute4;
733   END IF;
734   IF p_claim_history_rec.deduction_attribute5  = FND_API.G_MISS_CHAR  THEN
735      x_complete_rec.deduction_attribute5 := NULL;
736   END IF;
737   IF p_claim_history_rec.deduction_attribute5  IS NULL THEN
738      x_complete_rec.deduction_attribute5 := l_claim_history_rec.deduction_attribute5;
739   END IF;
740   IF p_claim_history_rec.attribute6  = FND_API.G_MISS_CHAR  THEN
741      x_complete_rec.deduction_attribute6 := NULL;
742   END IF;
743   IF p_claim_history_rec.attribute6  IS NULL THEN
744      x_complete_rec.deduction_attribute6 := l_claim_history_rec.deduction_attribute6;
745   END IF;
746   IF p_claim_history_rec.deduction_attribute7  = FND_API.G_MISS_CHAR  THEN
747      x_complete_rec.deduction_attribute7 := NULL;
748   END IF;
749   IF p_claim_history_rec.deduction_attribute7  IS NULL THEN
750      x_complete_rec.deduction_attribute7 := l_claim_history_rec.deduction_attribute7;
751   END IF;
752   IF p_claim_history_rec.deduction_attribute8  = FND_API.G_MISS_CHAR  THEN
753      x_complete_rec.deduction_attribute8 := NULL;
754   END IF;
755   IF p_claim_history_rec.deduction_attribute8  IS NULL THEN
756      x_complete_rec.deduction_attribute8 := l_claim_history_rec.deduction_attribute8;
757   END IF;
758   IF p_claim_history_rec.deduction_attribute9  = FND_API.G_MISS_CHAR  THEN
762      x_complete_rec.deduction_attribute9 := l_claim_history_rec.deduction_attribute9;
759      x_complete_rec.deduction_attribute9 := NULL;
760   END IF;
761   IF p_claim_history_rec.deduction_attribute9  IS NULL THEN
763   END IF;
764   IF p_claim_history_rec.deduction_attribute10  = FND_API.G_MISS_CHAR  THEN
765      x_complete_rec.deduction_attribute10 := NULL;
766   END IF;
767   IF p_claim_history_rec.deduction_attribute10  IS NULL THEN
768      x_complete_rec.deduction_attribute10 := l_claim_history_rec.deduction_attribute10;
769   END IF;
770   IF p_claim_history_rec.deduction_attribute11  = FND_API.G_MISS_CHAR  THEN
771      x_complete_rec.deduction_attribute11 := NULL;
772   END IF;
773   IF p_claim_history_rec.deduction_attribute11  IS NULL THEN
774      x_complete_rec.deduction_attribute11 := l_claim_history_rec.deduction_attribute11;
775   END IF;
776   IF p_claim_history_rec.deduction_attribute12  = FND_API.G_MISS_CHAR  THEN
777      x_complete_rec.deduction_attribute12 := NULL;
778   END IF;
779   IF p_claim_history_rec.deduction_attribute12  IS NULL THEN
780      x_complete_rec.deduction_attribute12 := l_claim_history_rec.deduction_attribute12;
781   END IF;
782   IF p_claim_history_rec.deduction_attribute13  = FND_API.G_MISS_CHAR  THEN
783      x_complete_rec.deduction_attribute13 := NULL;
784   END IF;
785   IF p_claim_history_rec.deduction_attribute13  IS NULL THEN
786      x_complete_rec.deduction_attribute13 := l_claim_history_rec.deduction_attribute13;
787   END IF;
788   IF p_claim_history_rec.deduction_attribute14  = FND_API.G_MISS_CHAR  THEN
789      x_complete_rec.deduction_attribute14 := NULL;
790   END IF;
791   IF p_claim_history_rec.deduction_attribute14  IS NULL THEN
792      x_complete_rec.deduction_attribute14 := l_claim_history_rec.deduction_attribute14;
793   END IF;
794   IF p_claim_history_rec.deduction_attribute15  = FND_API.G_MISS_CHAR  THEN
795      x_complete_rec.deduction_attribute15 := NULL;
796   END IF;
797   IF p_claim_history_rec.deduction_attribute15  IS NULL THEN
798      x_complete_rec.deduction_attribute15 := l_claim_history_rec.deduction_attribute15;
799   END IF;
800   IF p_claim_history_rec.org_id  = FND_API.G_MISS_NUM  THEN
801      x_complete_rec.org_id := NULL;
802   END IF;
803   IF p_claim_history_rec.org_id  IS NULL THEN
804      x_complete_rec.org_id := l_claim_history_rec.org_id;
805   END IF;
806 
807   IF p_claim_history_rec.write_off_flag  = FND_API.G_MISS_CHAR  THEN
808      x_complete_rec.write_off_flag := NULL;
809   END IF;
810   IF p_claim_history_rec.write_off_flag  IS NULL THEN
811      x_complete_rec.write_off_flag := l_claim_history_rec.write_off_flag;
812   END IF;
813 
814   IF p_claim_history_rec.write_off_threshold_amount  = FND_API.G_MISS_NUM  THEN
815      x_complete_rec.write_off_threshold_amount := NULL;
816   END IF;
817   IF p_claim_history_rec.write_off_threshold_amount  IS NULL THEN
818      x_complete_rec.write_off_threshold_amount := l_claim_history_rec.write_off_threshold_amount;
819   END IF;
820 
821   IF p_claim_history_rec.under_write_off_threshold  = FND_API.G_MISS_CHAR  THEN
822      x_complete_rec.under_write_off_threshold := NULL;
823   END IF;
824   IF p_claim_history_rec.under_write_off_threshold  IS NULL THEN
825      x_complete_rec.under_write_off_threshold := l_claim_history_rec.under_write_off_threshold;
826   END IF;
827 
828   IF p_claim_history_rec.customer_reason  = FND_API.G_MISS_CHAR  THEN
829      x_complete_rec.customer_reason := NULL;
830   END IF;
831   IF p_claim_history_rec.customer_reason  IS NULL THEN
832      x_complete_rec.customer_reason := l_claim_history_rec.customer_reason;
833   END IF;
834 
835   IF p_claim_history_rec.ship_to_cust_account_id  = FND_API.G_MISS_NUM  THEN
836      x_complete_rec.ship_to_cust_account_id       := NULL;
837   END IF;
838   IF p_claim_history_rec.ship_to_cust_account_id  IS NULL THEN
839      x_complete_rec.ship_to_cust_account_id       := l_claim_history_rec.ship_to_cust_account_id;
840   END IF;
841 
842   -- Start Bug:2781186
843   IF p_claim_history_rec.amount_applied  = FND_API.G_MISS_NUM  THEN
844      x_complete_rec.amount_applied := NULL;
845   END IF;
846   IF p_claim_history_rec.amount_applied  IS NULL THEN
847      x_complete_rec.amount_applied := l_claim_history_rec.amount_applied;
848   END IF;
849 
850   IF p_claim_history_rec.applied_receipt_id  = FND_API.G_MISS_NUM  THEN
851      x_complete_rec.applied_receipt_id := NULL;
852   END IF;
853   IF p_claim_history_rec.applied_receipt_id  IS NULL THEN
854      x_complete_rec.applied_receipt_id := l_claim_history_rec.applied_receipt_id;
855   END IF;
856 
857   IF p_claim_history_rec.applied_receipt_number  = FND_API.G_MISS_CHAR  THEN
858      x_complete_rec.applied_receipt_number := NULL;
859   END IF;
863 
860   IF p_claim_history_rec.applied_receipt_number  IS NULL THEN
861      x_complete_rec.applied_receipt_number := l_claim_history_rec.applied_receipt_number;
862   END IF;
864   IF p_claim_history_rec.wo_rec_trx_id  = FND_API.G_MISS_NUM  THEN
865      x_complete_rec.wo_rec_trx_id := NULL;
866   END IF;
867   IF p_claim_history_rec.wo_rec_trx_id  IS NULL THEN
868      x_complete_rec.wo_rec_trx_id := l_claim_history_rec.wo_rec_trx_id;
869   END IF;
870   -- End Bug:2781186
871 
872   IF p_claim_history_rec.group_claim_id  = FND_API.G_MISS_NUM  THEN
873      x_complete_rec.group_claim_id := NULL;
874   END IF;
875   IF p_claim_history_rec.group_claim_id  IS NULL  THEN
876      x_complete_rec.group_claim_id := l_claim_history_rec.group_claim_id;
877   END IF;
878   IF p_claim_history_rec.appr_wf_item_key  = FND_API.G_MISS_CHAR  THEN
879      x_complete_rec.appr_wf_item_key := NULL;
880   END IF;
881   IF p_claim_history_rec.appr_wf_item_key  IS NULL  THEN
882      x_complete_rec.appr_wf_item_key := l_claim_history_rec.appr_wf_item_key;
883   END IF;
884   IF p_claim_history_rec.cstl_wf_item_key  = FND_API.G_MISS_CHAR  THEN
885      x_complete_rec.cstl_wf_item_key := NULL;
886   END IF;
887   IF p_claim_history_rec.cstl_wf_item_key  IS NULL  THEN
888      x_complete_rec.cstl_wf_item_key := l_claim_history_rec.cstl_wf_item_key;
889   END IF;
890   IF p_claim_history_rec.batch_type  = FND_API.G_MISS_CHAR  THEN
891      x_complete_rec.batch_type := NULL;
892   END IF;
893   IF p_claim_history_rec.batch_type  IS NULL  THEN
894      x_complete_rec.batch_type := l_claim_history_rec.batch_type;
895   END IF;
896 
897    -- Debug Message
898    IF OZF_DEBUG_LOW_ON THEN
899       FND_MESSAGE.Set_Name('OZF','OZF_API_DEBUG_MESSAGE');
900       FND_MESSAGE.Set_Token('TEXT',l_api_name||': End');
901       FND_MSG_PUB.Add;
902    END IF;
903  EXCEPTION
904    WHEN FND_API.G_EXC_ERROR THEN
905       x_return_status := FND_API.G_RET_STS_ERROR;
906    WHEN OTHERS THEN
907       IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
908          FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_HIST_COMPLETE_ERR');
909          FND_MSG_PUB.add;
910       END IF;
911       x_return_status := FND_API.g_ret_sts_unexp_error;
912 END Complete_Claim_History_Rec;
913 
914 ---------------------------------------------------------------------
915 -- PROCEDURE
916 --    Create_Claims_History
917 --
918 -- PURPOSE
919 --    This procedure inserts a record in ozf_claims_history_all table by calling
920 --    the table handler package.
921 --
922 -- PARAMETERS
923 --    p_CLAIMS_HISTORY_Rec: The record that you want to insert.
924 --    x_CLAIM_HISTORY_ID:   Primary key of the new record in the table.
925 --
926 -- NOTES:
927 --
928 ---------------------------------------------------------------------
929 
930 PROCEDURE Create_Claims_History(
931     p_Api_Version_Number         IN   NUMBER,
932     p_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
933     p_Commit                     IN   VARCHAR2     := FND_API.G_FALSE,
934     p_validation_level           IN   NUMBER       := FND_API.G_VALID_LEVEL_FULL,
935 
936     x_Return_Status              OUT NOCOPY  VARCHAR2,
937     x_Msg_Count                  OUT NOCOPY  NUMBER,
938     x_Msg_Data                   OUT NOCOPY  VARCHAR2,
939 
940     p_CLAIMS_HISTORY_Rec         IN   CLAIMS_HISTORY_Rec_Type  := G_MISS_CLAIMS_HISTORY_REC,
941     x_CLAIM_HISTORY_ID           OUT NOCOPY  NUMBER
942     )
943 IS
944 l_api_name                CONSTANT VARCHAR2(30) := 'Create_claims_history';
945 l_api_version_number      CONSTANT NUMBER   := 1.0;
946 l_return_status_full      VARCHAR2(1);
947 l_object_version_number   NUMBER := 1;
948 l_org_id                  NUMBER;
949 l_CLAIM_HISTORY_ID        NUMBER;
950 
951 l_return_status           varchar2(30);
952 l_msg_data                varchar2(2000);
953 l_msg_count               number;
954 
955 BEGIN
956       -- Standard Start of API savepoint
957       SAVEPOINT CREATE_CLAIMS_HISTORY_PVT;
958       -- Standard call to check for call compatibility.
959       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
963       THEN
960                                            p_api_version_number,
961                                            l_api_name,
962                                            G_PKG_NAME)
964           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
965       END IF;
966 
967       -- Initialize message list if p_init_msg_list is set to TRUE.
968       IF FND_API.to_Boolean( p_init_msg_list )
969       THEN
970           FND_MSG_PUB.initialize;
971       END IF;
972 
973       IF OZF_DEBUG_LOW_ON THEN
974          FND_MESSAGE.Set_Name('OZF','OZF_API_DEBUG_MESSAGE');
975          FND_MESSAGE.Set_Token('TEXT',l_api_name||': Start');
976          FND_MSG_PUB.Add;
977       END IF;
978 
979       -- Initialize API return status to SUCCESS
980       x_return_status := FND_API.G_RET_STS_SUCCESS;
981 
982       -- ******************************************************************
983       -- Validate Environment
984       -- ******************************************************************
985       IF (FND_GLOBAL.User_Id IS NULL) THEN
986           IF (FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)) THEN
987              FND_MESSAGE.Set_Name('OZF', 'USER_PROFILE_MISSING');
988              FND_MSG_PUB.ADD;
989           END IF;
990           RAISE FND_API.G_EXC_ERROR;
991       END IF;
992 
993       IF (P_validation_level >= FND_API.G_VALID_LEVEL_FULL) THEN
994 
995 	  -- Invoke validation procedures
996           Validate_claims_history(
997              p_api_version_number  => 1.0,
998              p_init_msg_list       => FND_API.G_FALSE,
999              p_validation_level    => p_validation_level,
1000              P_CLAIMS_HISTORY_Rec  => p_CLAIMS_HISTORY_Rec,
1001              x_return_status       => l_return_status,
1002              x_msg_count           => l_msg_count,
1003              x_msg_data            => l_msg_data
1004 	  );
1005       END IF;
1006       IF l_return_status = FND_API.g_ret_sts_error THEN
1007          RAISE FND_API.g_exc_error;
1008       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
1009          RAISE FND_API.g_exc_unexpected_error;
1010       END IF;
1011 
1012       -- Check whether claim_history_id exists
1013       IF (p_claims_history_rec.claim_history_id is NOT NULL AND
1014           p_claims_history_rec.claim_history_id <> FND_API.G_MISS_NUM) THEN
1015          l_claim_history_id := p_claims_history_rec.claim_history_id;
1016       END IF;
1017 
1018       l_org_id :=   p_claims_history_rec.org_id;
1019 
1020       -- Invoke table handler(OZF_claims_history_PKG.Insert_Row)
1021       BEGIN
1022         OZF_claims_history_PKG.Insert_Row(
1023           px_CLAIM_HISTORY_ID       => l_claim_history_id,
1024           px_OBJECT_VERSION_NUMBER  => l_object_version_number,
1025           p_LAST_UPDATE_DATE        => SYSDATE,
1026           p_LAST_UPDATED_BY         => FND_GLOBAL.USER_ID,
1027           p_CREATION_DATE           => SYSDATE,
1028           p_CREATED_BY              => FND_GLOBAL.USER_ID,
1029           p_LAST_UPDATE_LOGIN       => FND_GLOBAL.CONC_LOGIN_ID,
1030           p_REQUEST_ID              => p_CLAIMS_HISTORY_rec.REQUEST_ID,
1031           p_PROGRAM_APPLICATION_ID  => p_CLAIMS_HISTORY_rec.PROGRAM_APPLICATION_ID,
1032           p_PROGRAM_UPDATE_DATE     => p_CLAIMS_HISTORY_rec.PROGRAM_UPDATE_DATE,
1033           p_PROGRAM_ID              => p_CLAIMS_HISTORY_rec.PROGRAM_ID,
1034           p_CREATED_FROM            => p_CLAIMS_HISTORY_rec.CREATED_FROM,
1035           p_BATCH_ID                => p_CLAIMS_HISTORY_rec.BATCH_ID,
1039           p_CLAIM_CLASS             => p_CLAIMS_HISTORY_REC.CLAIM_CLASS,
1036           p_CLAIM_ID                => p_CLAIMS_HISTORY_rec.CLAIM_ID,
1037           p_CLAIM_NUMBER            => p_CLAIMS_HISTORY_rec.CLAIM_NUMBER,
1038           p_CLAIM_TYPE_ID           => p_CLAIMS_HISTORY_rec.CLAIM_TYPE_ID,
1040 	       p_CLAIM_DATE              => p_CLAIMS_HISTORY_rec.CLAIM_DATE,
1041           p_DUE_DATE                => p_CLAIMS_HISTORY_rec.DUE_DATE,
1042           p_OWNER_ID                => p_CLAIMS_HISTORY_rec.OWNER_ID,
1043           p_HISTORY_EVENT           => p_CLAIMS_HISTORY_rec.HISTORY_EVENT,
1044           p_HISTORY_EVENT_DATE      => p_CLAIMS_HISTORY_rec.HISTORY_EVENT_DATE,
1045           p_HISTORY_EVENT_DESCRIPTION => p_CLAIMS_HISTORY_rec.HISTORY_EVENT_DESCRIPTION,
1046           p_SPLIT_FROM_CLAIM_ID     => p_CLAIMS_HISTORY_rec.SPLIT_FROM_CLAIM_ID,
1047           p_duplicate_claim_id  => p_claims_history_rec.duplicate_claim_id,
1048 	       p_SPLIT_DATE              => p_CLAIMS_HISTORY_rec.SPLIT_DATE,
1049           p_ROOT_CLAIM_ID           => p_claims_history_rec.ROOT_CLAIM_ID,
1050           p_AMOUNT                  => p_CLAIMS_HISTORY_rec.AMOUNT,
1051           p_AMOUNT_ADJUSTED         => p_CLAIMS_HISTORY_rec.AMOUNT_ADJUSTED,
1052           p_AMOUNT_REMAINING        => p_CLAIMS_HISTORY_rec.AMOUNT_REMAINING,
1053           p_AMOUNT_SETTLED          => p_CLAIMS_HISTORY_rec.AMOUNT_SETTLED,
1054           p_ACCTD_AMOUNT            => p_CLAIMS_HISTORY_rec.ACCTD_AMOUNT,
1055 	       p_acctd_amount_remaining  => p_claims_history_rec.acctd_amount_remaining,
1056           p_acctd_AMOUNT_ADJUSTED   => p_CLAIMS_HISTORY_rec.acctd_AMOUNT_ADJUSTED,
1057           p_acctd_AMOUNT_SETTLED    => p_CLAIMS_HISTORY_rec.acctd_AMOUNT_SETTLED,
1058           p_tax_amount  => p_claims_history_rec.tax_amount,
1059           p_tax_code  => p_claims_history_rec.tax_code,
1060           p_tax_calculation_flag  => p_claims_history_rec.tax_calculation_flag,
1061           p_CURRENCY_CODE           => p_CLAIMS_HISTORY_rec.CURRENCY_CODE,
1062           p_EXCHANGE_RATE_TYPE      => p_CLAIMS_HISTORY_rec.EXCHANGE_RATE_TYPE,
1063           p_EXCHANGE_RATE_DATE      => p_CLAIMS_HISTORY_rec.EXCHANGE_RATE_DATE,
1064           p_EXCHANGE_RATE           => p_CLAIMS_HISTORY_rec.EXCHANGE_RATE,
1065           p_SET_OF_BOOKS_ID         => p_CLAIMS_HISTORY_rec.SET_OF_BOOKS_ID,
1066           p_ORIGINAL_CLAIM_DATE     => p_CLAIMS_HISTORY_rec.ORIGINAL_CLAIM_DATE,
1067           p_SOURCE_OBJECT_ID        => p_CLAIMS_HISTORY_rec.SOURCE_OBJECT_ID,
1068           p_SOURCE_OBJECT_CLASS     => p_CLAIMS_HISTORY_rec.SOURCE_OBJECT_CLASS,
1069           p_SOURCE_OBJECT_TYPE_ID   => p_CLAIMS_HISTORY_rec.SOURCE_OBJECT_TYPE_ID,
1070           p_SOURCE_OBJECT_NUMBER    => p_CLAIMS_HISTORY_rec.SOURCE_OBJECT_NUMBER,
1071           p_CUST_ACCOUNT_ID         => p_CLAIMS_HISTORY_rec.CUST_ACCOUNT_ID,
1072           p_CUST_BILLTO_ACCT_SITE_ID=> p_CLAIMS_HISTORY_rec.CUST_BILLTO_ACCT_SITE_ID,
1073           p_cust_shipto_acct_site_id  => p_claims_history_rec.cust_shipto_acct_site_id,
1074           p_LOCATION_ID              => p_CLAIMS_HISTORY_rec.LOCATION_ID,
1075           p_PAY_RELATED_ACCOUNT_FLAG => p_claims_history_rec.PAY_RELATED_ACCOUNT_FLAG,
1076           p_RELATED_CUST_ACCOUNT_ID  => p_claims_history_rec.RELATED_CUST_ACCOUNT_ID,
1077           p_RELATED_SITE_USE_ID      => p_claims_history_rec.RELATED_SITE_USE_ID,
1078           p_RELATIONSHIP_TYPE        => p_claims_history_rec.RELATIONSHIP_TYPE,
1079           p_VENDOR_ID                => p_claims_history_rec.VENDOR_ID,
1080           p_VENDOR_SITE_ID           => p_claims_history_rec.VENDOR_SITE_ID,
1081 	       p_REASON_TYPE             => p_CLAIMS_HISTORY_rec.REASON_TYPE,
1082           p_REASON_CODE_ID          => p_CLAIMS_HISTORY_rec.REASON_CODE_ID,
1083           p_TASK_TEMPLATE_GROUP_ID  => p_claims_history_rec.TASK_TEMPLATE_GROUP_ID,
1084           p_STATUS_CODE             => p_CLAIMS_HISTORY_rec.STATUS_CODE,
1085           p_USER_STATUS_ID          => p_CLAIMS_HISTORY_rec.USER_STATUS_ID,
1086           p_SALES_REP_ID            => p_CLAIMS_HISTORY_rec.SALES_REP_ID,
1087           p_COLLECTOR_ID            => p_CLAIMS_HISTORY_rec.COLLECTOR_ID,
1088           p_CONTACT_ID              => p_CLAIMS_HISTORY_rec.CONTACT_ID,
1089           p_BROKER_ID               => p_CLAIMS_HISTORY_rec.BROKER_ID,
1090           p_TERRITORY_ID            => p_CLAIMS_HISTORY_rec.TERRITORY_ID,
1091           p_CUSTOMER_REF_DATE       => p_CLAIMS_HISTORY_rec.CUSTOMER_REF_DATE,
1092           p_CUSTOMER_REF_NUMBER     => p_CLAIMS_HISTORY_rec.CUSTOMER_REF_NUMBER,
1093           p_ASSIGNED_TO             => p_CLAIMS_HISTORY_rec.ASSIGNED_TO,
1094           p_RECEIPT_ID              => p_CLAIMS_HISTORY_rec.RECEIPT_ID,
1095           p_RECEIPT_NUMBER          => p_CLAIMS_HISTORY_rec.RECEIPT_NUMBER,
1096           p_DOC_SEQUENCE_ID         => p_CLAIMS_HISTORY_rec.DOC_SEQUENCE_ID,
1097           p_DOC_SEQUENCE_VALUE      => p_CLAIMS_HISTORY_rec.DOC_SEQUENCE_VALUE,
1098           p_GL_DATE                 => p_CLAIMS_HISTORY_rec.GL_DATE,
1099           p_PAYMENT_METHOD          => p_CLAIMS_HISTORY_rec.PAYMENT_METHOD,
1100           p_VOUCHER_ID              => p_CLAIMS_HISTORY_rec.VOUCHER_ID,
1101           p_VOUCHER_NUMBER          => p_CLAIMS_HISTORY_rec.VOUCHER_NUMBER,
1102           p_PAYMENT_REFERENCE_ID    => p_CLAIMS_HISTORY_rec.PAYMENT_REFERENCE_ID,
1103           p_PAYMENT_REFERENCE_NUMBER => p_CLAIMS_HISTORY_rec.PAYMENT_REFERENCE_NUMBER,
1104           p_PAYMENT_REFERENCE_DATE  => p_CLAIMS_HISTORY_rec.PAYMENT_REFERENCE_DATE,
1105           p_PAYMENT_STATUS          => p_CLAIMS_HISTORY_rec.PAYMENT_STATUS,
1106           p_APPROVED_FLAG           => p_CLAIMS_HISTORY_rec.APPROVED_FLAG,
1107           p_APPROVED_DATE           => p_CLAIMS_HISTORY_rec.APPROVED_DATE,
1108           p_APPROVED_BY             => p_CLAIMS_HISTORY_rec.APPROVED_BY,
1109           p_SETTLED_DATE            => p_CLAIMS_HISTORY_rec.SETTLED_DATE,
1113           p_TASK_ID                 => p_claims_history_rec.TASK_ID,
1110           p_SETTLED_BY              => p_CLAIMS_HISTORY_rec.SETTLED_BY,
1111           p_effective_date  => p_claims_history_rec.effective_date,
1112           p_CUSTOM_SETUP_ID         => p_claims_history_rec.CUSTOM_SETUP_ID,
1114           p_COUNTRY_ID              => p_claims_history_rec.COUNTRY_ID,
1115 	       p_ORDER_TYPE_ID              => p_claims_history_rec.ORDER_TYPE_ID,
1116           p_COMMENTS                => p_CLAIMS_HISTORY_rec.COMMENTS,
1117           p_LETTER_ID               => p_CLAIMS_HISTORY_rec.LETTER_ID,
1118           p_LETTER_DATE             => p_CLAIMS_HISTORY_rec.LETTER_DATE,
1119           p_TASK_SOURCE_OBJECT_ID   => p_CLAIMS_HISTORY_rec.TASK_SOURCE_OBJECT_ID,
1120           p_TASK_SOURCE_OBJECT_TYPE_CODE => p_CLAIMS_HISTORY_rec.TASK_SOURCE_OBJECT_TYPE_CODE,
1121           p_ATTRIBUTE_CATEGORY      => p_CLAIMS_HISTORY_rec.ATTRIBUTE_CATEGORY,
1122           p_ATTRIBUTE1              => p_CLAIMS_HISTORY_rec.ATTRIBUTE1,
1123           p_ATTRIBUTE2              => p_CLAIMS_HISTORY_rec.ATTRIBUTE2,
1124           p_ATTRIBUTE3              => p_CLAIMS_HISTORY_rec.ATTRIBUTE3,
1125           p_ATTRIBUTE4              => p_CLAIMS_HISTORY_rec.ATTRIBUTE4,
1126           p_ATTRIBUTE5              => p_CLAIMS_HISTORY_rec.ATTRIBUTE5,
1127           p_ATTRIBUTE6              => p_CLAIMS_HISTORY_rec.ATTRIBUTE6,
1128           p_ATTRIBUTE7              => p_CLAIMS_HISTORY_rec.ATTRIBUTE7,
1129           p_ATTRIBUTE8              => p_CLAIMS_HISTORY_rec.ATTRIBUTE8,
1130           p_ATTRIBUTE9              => p_CLAIMS_HISTORY_rec.ATTRIBUTE9,
1131           p_ATTRIBUTE10             => p_CLAIMS_HISTORY_rec.ATTRIBUTE10,
1132           p_ATTRIBUTE11             => p_CLAIMS_HISTORY_rec.ATTRIBUTE11,
1133           p_ATTRIBUTE12             => p_CLAIMS_HISTORY_rec.ATTRIBUTE12,
1134           p_ATTRIBUTE13             => p_CLAIMS_HISTORY_rec.ATTRIBUTE13,
1135           p_ATTRIBUTE14             => p_CLAIMS_HISTORY_rec.ATTRIBUTE14,
1136           p_ATTRIBUTE15             => p_CLAIMS_HISTORY_rec.ATTRIBUTE15,
1137           p_DEDUCTION_ATTRIBUTE_CATEGORY  => p_claims_history_rec.DEDUCTION_ATTRIBUTE_CATEGORY,
1138           p_DEDUCTION_ATTRIBUTE1  => p_claims_history_rec.DEDUCTION_ATTRIBUTE1,
1139           p_DEDUCTION_ATTRIBUTE2  => p_claims_history_rec.DEDUCTION_ATTRIBUTE2,
1140           p_DEDUCTION_ATTRIBUTE3  => p_claims_history_rec.DEDUCTION_ATTRIBUTE3,
1141           p_DEDUCTION_ATTRIBUTE4  => p_claims_history_rec.DEDUCTION_ATTRIBUTE4,
1142           p_DEDUCTION_ATTRIBUTE5  => p_claims_history_rec.DEDUCTION_ATTRIBUTE5,
1143           p_DEDUCTION_ATTRIBUTE6  => p_claims_history_rec.DEDUCTION_ATTRIBUTE6,
1144           p_DEDUCTION_ATTRIBUTE7  => p_claims_history_rec.DEDUCTION_ATTRIBUTE7,
1145           p_DEDUCTION_ATTRIBUTE8  => p_claims_history_rec.DEDUCTION_ATTRIBUTE8,
1146           p_DEDUCTION_ATTRIBUTE9  => p_claims_history_rec.DEDUCTION_ATTRIBUTE9,
1147           p_DEDUCTION_ATTRIBUTE10  => p_claims_history_rec.DEDUCTION_ATTRIBUTE10,
1148           p_DEDUCTION_ATTRIBUTE11  => p_claims_history_rec.DEDUCTION_ATTRIBUTE11,
1149           p_DEDUCTION_ATTRIBUTE12  => p_claims_history_rec.DEDUCTION_ATTRIBUTE12,
1150           p_DEDUCTION_ATTRIBUTE13  => p_claims_history_rec.DEDUCTION_ATTRIBUTE13,
1151           p_DEDUCTION_ATTRIBUTE14  => p_claims_history_rec.DEDUCTION_ATTRIBUTE14,
1152           p_DEDUCTION_ATTRIBUTE15  => p_claims_history_rec.DEDUCTION_ATTRIBUTE15,
1153 	       px_ORG_ID                 => l_org_id,
1154           p_WRITE_OFF_FLAG  => p_claims_history_rec.WRITE_OFF_FLAG,
1155           p_WRITE_OFF_THRESHOLD_AMOUNT  => p_claims_history_rec.WRITE_OFF_THRESHOLD_AMOUNT,
1156           p_UNDER_WRITE_OFF_THRESHOLD  => p_claims_history_rec.UNDER_WRITE_OFF_THRESHOLD,
1157           p_CUSTOMER_REASON  => p_claims_history_rec.CUSTOMER_REASON,
1158           p_SHIP_TO_CUST_ACCOUNT_ID         => p_CLAIMS_HISTORY_rec.SHIP_TO_CUST_ACCOUNT_ID,
1159           p_AMOUNT_APPLIED             => p_claims_history_rec.AMOUNT_APPLIED,              --BUG:2781186
1160           p_APPLIED_RECEIPT_ID         => p_claims_history_rec.APPLIED_RECEIPT_ID,          --BUG:2781186
1161           p_APPLIED_RECEIPT_NUMBER     => p_claims_history_rec.APPLIED_RECEIPT_NUMBER,      --BUG:2781186
1162           p_WO_REC_TRX_ID              => p_claims_history_rec.WO_REC_TRX_ID,
1163           p_GROUP_CLAIM_ID             => p_claims_history_rec.GROUP_CLAIM_ID,
1164           p_APPR_WF_ITEM_KEY           => p_claims_history_rec.APPR_WF_ITEM_KEY,
1165           p_CSTL_WF_ITEM_KEY           => p_claims_history_rec.CSTL_WF_ITEM_KEY,
1166           p_BATCH_TYPE                 => p_claims_history_rec.BATCH_TYPE
1167 
1168       );
1169       EXCEPTION
1170         WHEN OTHERS THEN
1171            IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
1172               FND_MESSAGE.set_name('OZF', 'OZF_TABLE_HANDLER_ERROR');
1173               FND_MSG_PUB.add;
1174            END IF;
1178       x_claim_history_id := l_claim_history_id;
1175            RAISE FND_API.g_exc_error;
1176       END;
1177 
1179 
1180       -- Standard check for p_commit
1181       IF FND_API.to_Boolean( p_commit ) THEN
1182          COMMIT WORK;
1183       END IF;
1184 
1185       IF OZF_DEBUG_LOW_ON THEN
1186          FND_MESSAGE.Set_Name('OZF','OZF_API_DEBUG_MESSAGE');
1187          FND_MESSAGE.Set_Token('TEXT',l_api_name||': End');
1188          FND_MSG_PUB.Add;
1189       END IF;
1190 
1191       -- Standard call to get message count and if count is 1, get message info.
1192       FND_MSG_PUB.Count_And_Get(
1193          p_count          =>   x_msg_count,
1194          p_data           =>   x_msg_data
1195       );
1196 EXCEPTION
1197    WHEN OZF_Utility_PVT.resource_locked THEN
1198       x_return_status := FND_API.g_ret_sts_error;
1199       OZF_Utility_PVT.Error_Message(p_message_name => 'OZF_API_RESOURCE_LOCKED');
1200    WHEN FND_API.G_EXC_ERROR THEN
1201       ROLLBACK TO CREATE_Claims_History_PVT;
1202       x_return_status := FND_API.G_RET_STS_ERROR;
1203       -- Standard call to get message count and if count=1, get the message
1204       FND_MSG_PUB.Count_And_Get (
1205          p_encoded => FND_API.G_FALSE,
1206          p_count   => x_msg_count,
1207          p_data    => x_msg_data
1208       );
1209    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1210       ROLLBACK TO CREATE_Claims_History_PVT;
1211       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1212       -- Standard call to get message count and if count=1, get the message
1213       FND_MSG_PUB.Count_And_Get (
1214          p_encoded => FND_API.G_FALSE,
1215          p_count => x_msg_count,
1216          p_data  => x_msg_data
1217       );
1218    WHEN OTHERS THEN
1219       ROLLBACK TO CREATE_Claims_History_PVT;
1220       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1221       IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1222          FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
1223       END IF;
1224       -- Standard call to get message count and if count=1, get the message
1225       FND_MSG_PUB.Count_And_Get (
1226          p_encoded => FND_API.G_FALSE,
1227          p_count => x_msg_count,
1228          p_data  => x_msg_data
1229       );
1230 End Create_Claims_History;
1231 ---------------------------------------------------------------------
1232 -- PROCEDURE
1233 --    change_description
1234 --
1235 -- PURPOSE
1236 --    This procedure creates a description of an event.
1237 --
1238 -- PARAMETERS
1239 --    px_description:  description that has been generated.
1240 --    p_column_name:  column name that you want to add to the event description
1241 --
1242 -- NOTES:
1243 --
1244 ---------------------------------------------------------------------
1245 PROCEDURE change_description (px_description   IN OUT NOCOPY VARCHAR2,
1246                               p_column_desc   IN  VARCHAR2)
1247 IS
1248 l_description varchar2(2000);
1249 BEGIN
1250    IF px_description is null THEN
1251       l_description := p_column_desc;
1252    ELSE
1253       l_description := px_description || ',' || p_column_desc;
1254    END IF;
1255    px_description := l_description;
1256 
1257 End change_description;
1258 ---------------------------------------------------------------------
1259 -- PROCEDURE
1260 --    Check_Create_History
1261 --
1262 -- PURPOSE
1266 -- PARAMETERS
1263 --    This procedure check whether we should create a history snapshot
1264 --    of a claim.
1265 --
1267 --    p_claim   :  claim record.
1268 --    p_event   :  Indicator to show whether the current caller is from
1269 --                 a claim update, which is "UPDATE" OR
1270 --                 a claim line update which is "LINE"
1271 --    x_history_event : This is the event that will be recorded in the
1272 --                      database.
1273 --    x_history_event_description : Event description based on what happend.
1274 --    x_needed_to_create : Whether we need to create a snapshot or not.
1275 --
1276 -- NOTES:
1277 --
1278 ---------------------------------------------------------------------
1279 /*
1280 PROCEDURE Check_Create_History_test(p_claim            IN  OZF_CLAIM_PVT.claim_rec_type,
1281                                p_event            IN  VARCHAR2,
1282                                x_history_event    OUT NOCOPY VARCHAR2,
1283                                x_history_event_description OUT NOCOPY VARCHAR2,
1284                                x_needed_to_create OUT NOCOPY VARCHAR2,
1285 			       x_return_status    OUT NOCOPY VARCHAR2
1286 )
1287 IS
1288 CURSOR column_names_csr
1289 SELECT db_table_name, db_column_name, ak_attribute_code
1290 FROM ams_column_rules
1291 WHERE rule_type = 'HISTORY';
1292 
1293 TYPE column_names_table_tye is table of column_names_csr%rowtype;
1294 l_column_names_tbl column_names_table_type;
1295 
1296 l_index number = 0;
1297 l_count number = null;
1298 l_select varchar2(500);
1299 l_from  varchar2(100);
1300 l_where varchar2(500);
1301 l_stmt varchar2(1200);
1302 
1303 l_count number;
1304 BEGIN
1305 
1306   OPEN column_names_csr;
1307   LOOP
1308     FETCH column_names_csr INTO l_column_names_tbl(l_index);
1309     EXIT WHEN column_names_crs%NOTFOUND;
1310     l_index := l_index +1;
1311   END LOOP;
1312   CLOSE column_names_csr;
1313 
1314   FOR i in l..l_column_names_tbl.COUNT LOOP
1315   l_str := 'p_claim'.db_column_name;
1316 
1317     l_column_name_table(i).db_column_name
1318     l_stmt :=          'SELECT count(claim_id) ';
1319     l_stmt := l_stmt ||' from ' || l_column_names_tbl(i).db_table_name;
1320     l_stmt := l_stmt ||' where '|| l_column_name_table(i).db_column_name ||'= :1';
1321     l_stmt := l_stmt ||' AND '  || 'claim_id = '|| p_claim.claim_id;
1322 
1323     EXECUTE IMMEDIATE l_stmt USING p_claim.amount OUT NOCOPY l_count;
1324 
1325 
1326   END LOOP;
1327 
1328  change_description (
1329 	        p_description => l_event_description,
1330                 p_column_name => 'reason_type',
1331                 x_description => l_event_description
1332 	     );
1333 
1334 EXCEPTION
1335    WHEN FND_API.G_EXC_ERROR THEN
1336       x_return_status := FND_API.G_RET_STS_ERROR;
1337    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1338       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1339    WHEN OTHERS THEN
1340       IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
1341          FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_CHK_CRT_HIST_ERR');
1342          FND_MSG_PUB.add;
1343       END IF;
1344       x_return_status := FND_API.g_ret_sts_unexp_error;
1345 END check_create_history;
1346 */
1347 
1348 ---------------------------------------------------------------------
1349 PROCEDURE Check_Create_History(p_claim            IN  OZF_CLAIM_PVT.claim_rec_type,
1350                                p_event            IN  VARCHAR2,
1351                                x_history_event    OUT NOCOPY VARCHAR2,
1352                                x_history_event_description OUT NOCOPY VARCHAR2,
1353                                x_needed_to_create OUT NOCOPY VARCHAR2,
1354 			       x_return_status    OUT NOCOPY VARCHAR2
1355 )
1356 IS
1357 l_system_status     varchar2(30);
1358 l_claim_hist_id     number;
1359 l_event_description varchar2(2000) := null;
1360 l_history_event     varchar2(30)   := null;
1361 l_return            boolean := FALSE; -- return value default to be FLASE.
1362                                       -- Its value will be changed to TRUE if we need to create history
1363 
1364 l_return_status  varchar2(30);
1365 l_msg_data       varchar2(2000);
1366 l_msg_count      number;
1367 
1368 --Variables to track the repetitions of the column rules.
1369 l_payment_method_rule   boolean := false;
1370 l_user_status_id_rule   boolean := false;
1371 --l_claim_number_rule     boolean := false;
1372 --l_tax_code_rule         boolean := false;
1373 l_amount_rule           boolean := false;
1374 l_claim_type_id_rule    boolean := false;
1375 l_reason_code_id_rule   boolean := false;
1376 l_duplicate_claim_id_rule    boolean := false;
1377 l_currency_code_rule         boolean := false;
1378 l_claim_date_rule            boolean := false;
1379 l_due_date_rule              boolean := false;
1380 l_task_template_group_id_rule boolean := false;
1381 l_owner_id_rule               boolean := false;
1382 
1383 
1384 CURSOR  user_selected_columns_csr IS
1385 SELECT  db_column_name, ak_attribute_code
1386 FROM    ams_column_rules
1387 WHERE   object_type = 'CLAM'
1388 AND db_table_name = 'OZF_CLAIMS_ALL'
1389 AND     rule_type = 'HISTORY';
1390 
1391 l_column_info user_selected_columns_csr%rowtype;
1392 
1393 CURSOR claim_rec_csr(p_id in number) IS
1397        task_template_group_id,
1394 SELECT claim_type_id,
1395        claim_date,
1396        due_date,
1398        reason_code_id,
1399        owner_id,
1400        sales_rep_id,
1401        broker_id,
1402        status_code,
1403        user_status_id,
1404        cust_account_id,
1405        cust_billto_acct_site_id,
1406        cust_shipto_acct_site_id,
1407        contact_id,
1408        customer_ref_number,
1409        customer_ref_date,
1410        amount,
1411        currency_code,
1412        exchange_rate_type,
1413        exchange_rate,
1414        exchange_rate_date,
1415        duplicate_claim_id,
1416        order_type_id,
1417        comments,
1418        effective_date,
1419        gl_date,
1420        payment_method,
1421        pay_related_account_flag,
1422        related_cust_account_id,
1423        related_site_use_id,
1424        relationship_type,
1425        vendor_id,
1426        vendor_site_id
1427 FROM   ozf_claims_history_all
1428 WHERE  claim_id = p_id
1429 order by claim_history_id desc;
1430 
1431 l_claim_rec claim_rec_csr%rowtype;
1432 
1433 CURSOR history_exists_csr(p_id in number) IS
1434 SELECT claim_history_id
1435 FROM   ozf_claims_history_all
1436 WHERE  claim_id = p_id;
1437 
1438 l_api_name varchar2(30):='Check_Create_history';
1439 l_status_changed boolean := false;
1440 BEGIN
1441    -- Initialize API return status to sucess
1442    x_return_status := FND_API.G_RET_STS_SUCCESS;
1443 
1444    IF OZF_DEBUG_LOW_ON THEN
1445       FND_MESSAGE.Set_Name('OZF','OZF_API_DEBUG_MESSAGE');
1446       FND_MESSAGE.Set_Token('TEXT',l_api_name||': Start');
1447       FND_MSG_PUB.Add;
1448    END IF;
1449 
1450    -- First based on event, we check history
1451    IF (p_event = G_NEW_EVENT) THEN
1452       l_history_event := G_NEW_EVENT;
1453       change_description (
1454          px_description => l_event_description,
1455          p_column_desc =>  'OZF_CLAIM_CREATE'
1456       );
1457       l_return := TRUE;
1458    ELSIF (p_event = G_LINE_EVENT) THEN
1459       l_history_event := G_LINE_EVENT;
1460       change_description (
1461          px_description => l_event_description,
1462          p_column_desc => 'OZF_CLAIM_LINES'
1463       );
1464       l_return := TRUE;
1465    ELSIF (p_event = G_SPLIT_EVENT)  THEN
1466       l_history_event := G_SPLIT_EVENT;
1467       change_description (
1468          px_description => l_event_description,
1469          p_column_desc => 'OZF_CLAIM_SPLIT'
1470       );
1471      l_return := TRUE;
1472    ELSIF (p_event = G_NO_CHANGE_EVENT) THEN
1473      l_history_event := null;
1474      l_event_description := null;
1475      l_return := FALSE;
1476    -- -------------------------------------------------------------------------------------------
1477    -- Bug        : 2781186
1478    -- Changed by : (Uday Poluri)  Date: 03-Jun-2003
1479    -- Comments   : Follwing two ELSEIF are added to create history incase of APPLY/UNAPPLY
1480    --              Subsequent receipt application.
1481    -- -------------------------------------------------------------------------------------------
1482    ELSIF (p_event = G_SUBSEQUENT_APPLY_EVENT)  THEN
1483       l_history_event := G_SUBSEQUENT_APPLY_CHG_EVENT;
1484       change_description (
1485          px_description => l_event_description,
1486          p_column_desc => 'OZF_CLAIM_SUBSEQUENT_APPN'
1487       );
1488      l_return := TRUE;
1492          px_description => l_event_description,
1489    ELSIF (p_event = G_SUBSEQUENT_UNAPPLY_EVENT)  THEN
1490       l_history_event := G_SUBSEQUENT_UNAPPLY_CHG_EVENT;
1491       change_description (
1493          p_column_desc => 'OZF_CLAIM_SUBSEQUENT_UNAPPN'
1494       );
1495      l_return := TRUE;
1496    -- End Bug: 2781186 --------------------------------------------------------------------------
1497    ELSIF (p_event = G_UPDATE_EVENT) THEN
1498    -- If it is an update event and the claim is in NEW status
1499    -- then no need to create/update the history record (uday)
1500      IF p_claim.status_code = 'NEW' THEN
1501         l_history_event := null;
1502          l_event_description := null;
1503          l_return := FALSE;
1504      ELSE
1505          -- If event is change, we need to check each column
1506          OPEN CLAIM_REC_CSR(p_claim.claim_id);
1507          FETCH CLAIM_REC_CSR INTO l_claim_rec;
1508          CLOSE CLAIM_REC_CSR;
1509 
1510          OPEN user_selected_columns_csr;
1511          LOOP
1512              FETCH user_selected_columns_csr INTO l_column_info;
1513              EXIT WHEN user_selected_columns_csr%NOTFOUND;
1514              IF l_column_info.db_column_name = 'CLAIM_TYPE_ID' AND l_claim_type_id_rule = false
1515              AND
1516             ((p_claim.claim_type_id is null      and  l_claim_rec.claim_type_id is not null) OR
1517             (p_claim.claim_type_id is not null  and  l_claim_rec.claim_type_id is null) OR
1518             (p_claim.claim_type_id is not null  and  l_claim_rec.claim_type_id is not null AND
1519              p_claim.claim_type_id <> l_claim_rec.claim_type_id))
1520              THEN
1521                  l_history_event := G_CHANGE_EVENT;
1522                  change_description (
1523                 px_description => l_event_description,
1524                      p_column_desc => l_column_info.ak_attribute_code
1525              );
1526                  l_claim_type_id_rule := TRUE;
1527                  l_return := TRUE;
1528              ELSIF l_column_info.db_column_name = 'CLAIM_DATE' AND l_claim_date_rule = false
1529                 AND ((p_claim.claim_date is null     and  l_claim_rec.claim_date is not null) OR
1530                (p_claim.claim_date is not null and  l_claim_rec.claim_date is null) OR
1531                (p_claim.claim_date is not null and  l_claim_rec.claim_date is not null AND
1532                 to_char(p_claim.claim_date,'DD-MM-YYYY') <>  to_char(l_claim_rec.claim_date,'DD-MM-YYYY'))) THEN
1533                    l_history_event := G_CHANGE_EVENT;
1534                    change_description (
1535                 px_description => l_event_description,
1536                      p_column_desc => l_column_info.ak_attribute_code
1537               );
1538                    l_claim_date_rule := true;
1539                    l_return := TRUE;
1540              ELSIF l_column_info.db_column_name = 'DUE_DATE' AND l_due_date_rule = false
1541                 AND ((p_claim.due_date is null     and  l_claim_rec.due_date is not null) OR
1542                (p_claim.due_date is not null and  l_claim_rec.due_date is null) OR
1543                (p_claim.due_date is not null and  l_claim_rec.due_date is not null AND
1544                 to_char(p_claim.due_date,'DD-MM-YYYY') <> to_char(l_claim_rec.due_date,'DD-MM-YYYY'))) THEN
1545                    l_history_event := G_CHANGE_EVENT;
1546                    change_description (
1547                 px_description => l_event_description,
1548                      p_column_desc => l_column_info.ak_attribute_code
1549               );
1550                    l_due_date_rule := true;
1551                    l_return := TRUE;
1552              ELSIF l_column_info.db_column_name = 'TASK_TEMPLATE_GROUP_ID' AND  l_task_template_group_id_rule = false
1553               AND ((p_claim.task_template_group_id is null     and  l_claim_rec.task_template_group_id is not null) OR
1554                (p_claim.task_template_group_id is not null and  l_claim_rec.task_template_group_id is null) OR
1555                (p_claim.task_template_group_id is not null and  l_claim_rec.task_template_group_id is not null AND
1556                 p_claim.task_template_group_id <> l_claim_rec.task_template_group_id)) THEN
1557               l_history_event := G_CHANGE_EVENT;
1558                    change_description (
1559                 px_description => l_event_description,
1560                      p_column_desc => l_column_info.ak_attribute_code
1561               );
1562                    l_task_template_group_id_rule := true;
1563                    l_return := TRUE;
1564              ELSIF l_column_info.db_column_name = 'REASON_CODE_ID' AND l_reason_code_id_rule = false
1565              AND
1566               ((p_claim.reason_code_id is null     and  l_claim_rec.reason_code_id is not null) OR
1567                (p_claim.reason_code_id is not null and  l_claim_rec.reason_code_id is null) OR
1568                (p_claim.reason_code_id is not null and  l_claim_rec.reason_code_id is not null AND
1569                 p_claim.reason_code_id <> l_claim_rec.reason_code_id))
1570                 THEN
1571                    l_history_event := G_CHANGE_EVENT;
1572                    change_description (
1573                 px_description => l_event_description,
1574                      p_column_desc => l_column_info.ak_attribute_code
1575               );
1576                    l_reason_code_id_rule := TRUE;
1577                    l_return := TRUE;
1578              ELSIF l_column_info.db_column_name = 'OWNER_ID' AND l_owner_id_rule = false
1579               AND ((p_claim.owner_id is null     and  l_claim_rec.owner_id is not null) OR
1580                (p_claim.owner_id is not null and  l_claim_rec.owner_id is null) OR
1581                (p_claim.owner_id is not null and  l_claim_rec.owner_id is not null AND
1582                 p_claim.owner_id <> l_claim_rec.owner_id))  THEN
1586                      p_column_desc => l_column_info.ak_attribute_code
1583                    l_history_event := G_CHANGE_EVENT;
1584                    change_description (
1585                 px_description => l_event_description,
1587               );
1588                    l_owner_id_rule := true;
1589                    l_return := TRUE;
1590              ELSIF l_column_info.db_column_name = 'SALES_REP_ID' AND
1591               ((p_claim.sales_rep_id is null     and  l_claim_rec.sales_rep_id is not null) OR
1592                (p_claim.sales_rep_id is not null and  l_claim_rec.sales_rep_id is null) OR
1593                (p_claim.sales_rep_id is not null and  l_claim_rec.sales_rep_id is not null AND
1594                 p_claim.sales_rep_id <> l_claim_rec.sales_rep_id)) THEN
1595                    l_history_event := G_CHANGE_EVENT;
1596                    change_description (
1597                 px_description => l_event_description,
1598                      p_column_desc => l_column_info.ak_attribute_code
1599               );
1600                    l_return := TRUE;
1601              ELSIF l_column_info.db_column_name = 'BROKER_ID' AND
1602                    ((p_claim.broker_id is null     and  l_claim_rec.broker_id is not null) OR
1603                (p_claim.broker_id is not null and  l_claim_rec.broker_id is null) OR
1604                (p_claim.broker_id is not null and  l_claim_rec.broker_id is not null AND
1605                 p_claim.broker_id <> l_claim_rec.broker_id)) THEN
1606                    l_history_event := G_CHANGE_EVENT;
1607                    change_description (
1608                 px_description => l_event_description,
1609                      p_column_desc => l_column_info.ak_attribute_code
1610               );
1611                    l_return := TRUE;
1612         /*     ELSIF l_column_info.db_column_name = 'STATUS_CODE' AND
1613                    (p_claim.status_code <> FND_API.G_MISS_CHAR AND p_claim.status_code <> l_claim_rec.status_code)THEN
1614                    l_history_event := G_CHANGE_EVENT;
1615                    change_description (
1616                 px_description => l_event_description,
1617                      p_column_desc => l_column_info.ak_attribute_code
1618               );
1619                    l_return := TRUE;
1620              ELSIF l_column_info.db_column_name = 'USER_STATUS_ID' AND
1621                    ((p_claim.user_status_id <> FND_API.G_MISS_NUM AND p_claim.user_status_id is not null)
1622                    AND p_claim.user_status_id <> l_claim_rec.user_status_id) AND
1623                    l_status_changed = false THEN
1624                    l_history_event := G_CHANGE_EVENT;
1625                    change_description (
1626                 px_description => l_event_description,
1627                      p_column_desc => l_column_info.ak_attribute_code
1628               );
1629               l_status_changed := true;
1630                    l_return := TRUE;*/
1631              ELSIF l_column_info.db_column_name = 'CUST_ACCOUNT_ID' AND
1632                    ((p_claim.cust_account_id <> FND_API.G_MISS_NUM AND p_claim.cust_account_id is not null)
1633                    AND p_claim.cust_account_id <> l_claim_rec.cust_account_id) THEN
1634                    l_history_event := G_CHANGE_EVENT;
1635                    change_description (
1636                 px_description => l_event_description,
1637                      p_column_desc => l_column_info.ak_attribute_code
1638               );
1639                    l_return := TRUE;
1640              ELSIF l_column_info.db_column_name = 'CUST_BILLTO_ACCT_SITE_ID' AND
1641               ((p_claim.cust_billto_acct_site_id is null     and  l_claim_rec.cust_billto_acct_site_id is not null) OR
1642                (p_claim.cust_billto_acct_site_id is not null and  l_claim_rec.cust_billto_acct_site_id is null) OR
1643                (p_claim.cust_billto_acct_site_id is not null and  l_claim_rec.cust_billto_acct_site_id is not null AND
1644                 p_claim.cust_billto_acct_site_id <> l_claim_rec.cust_billto_acct_site_id)) THEN
1645                    l_history_event := G_CHANGE_EVENT;
1646                    change_description (
1647                 px_description => l_event_description,
1648                      p_column_desc => l_column_info.ak_attribute_code
1649               );
1650                    l_return := TRUE;
1651              ELSIF l_column_info.db_column_name = 'CUST_SHIPTO_ACCT_SITE_ID' AND
1652               ((p_claim.cust_shipto_acct_site_id is null     and  l_claim_rec.cust_shipto_acct_site_id is not null) OR
1653                (p_claim.cust_shipto_acct_site_id is not null and  l_claim_rec.cust_shipto_acct_site_id is null) OR
1654                (p_claim.cust_shipto_acct_site_id is not null and  l_claim_rec.cust_shipto_acct_site_id is not null AND
1655                 p_claim.cust_shipto_acct_site_id <> l_claim_rec.cust_shipto_acct_site_id)) THEN
1656                    l_history_event := G_CHANGE_EVENT;
1657                    change_description (
1658                 px_description => l_event_description,
1659                      p_column_desc => l_column_info.ak_attribute_code
1660               );
1661                    l_return := TRUE;
1662              ELSIF l_column_info.db_column_name = 'CONTACT_ID' AND
1663                    ((p_claim.contact_id is null     and  l_claim_rec.contact_id is not null) OR
1664                (p_claim.contact_id is not null and  l_claim_rec.contact_id is null) OR
1665                (p_claim.contact_id is not null and  l_claim_rec.contact_id is not null AND
1666                 p_claim.contact_id <> l_claim_rec.contact_id)) THEN
1667               l_history_event := G_CHANGE_EVENT;
1668                    change_description (
1669                 px_description => l_event_description,
1670                      p_column_desc => l_column_info.ak_attribute_code
1674                    ((p_claim.customer_ref_number is null     and  l_claim_rec.customer_ref_number is not null) OR
1671               );
1672                    l_return := TRUE;
1673              ELSIF l_column_info.db_column_name = 'CUSTOMER_REF_NUMBER' AND
1675                (p_claim.customer_ref_number is not null and  l_claim_rec.customer_ref_number is null) OR
1676                (p_claim.customer_ref_number is not null and  l_claim_rec.customer_ref_number is not null AND
1677                 p_claim.customer_ref_number <> l_claim_rec.customer_ref_number)) THEN
1678                    l_history_event := G_CHANGE_EVENT;
1679                    change_description (
1680                 px_description => l_event_description,
1681                      p_column_desc => l_column_info.ak_attribute_code
1682               );
1683                    l_return := TRUE;
1684              ELSIF l_column_info.db_column_name = 'CUSTOMER_REF_DATE' AND
1685                    ((p_claim.customer_ref_date is null     and  l_claim_rec.customer_ref_date is not null) OR
1686                (p_claim.customer_ref_date is not null and  l_claim_rec.customer_ref_date is null) OR
1687                (p_claim.customer_ref_date is not null and  l_claim_rec.customer_ref_date is not null AND
1688                 to_char(p_claim.customer_ref_date,'DD-MM-YYYY') <> to_char(l_claim_rec.customer_ref_date,'DD-MM-YYYY'))) THEN
1689                    l_history_event := G_CHANGE_EVENT;
1690                    change_description (
1691                 px_description => l_event_description,
1692                      p_column_desc => l_column_info.ak_attribute_code
1693               );
1694                    l_return := TRUE;
1695              ELSIF l_column_info.db_column_name = 'AMOUNT' AND
1696                    ((p_claim.amount <>FND_API.G_MISS_NUM AND p_claim.amount is not null)
1697                    AND p_claim.amount <> l_claim_rec.amount)
1698                    AND l_amount_rule = false
1699                    THEN
1700                    l_history_event := G_CHANGE_EVENT;
1701                    change_description (
1702                 px_description => l_event_description,
1703                      p_column_desc => l_column_info.ak_attribute_code
1704                );
1705                     l_amount_rule := TRUE;
1706                     l_return := TRUE;
1707              ELSIF l_column_info.db_column_name = 'CURRENCY_CODE' AND l_currency_code_rule = false
1708                    AND ((p_claim.currency_code <> FND_API.G_MISS_CHAR  AND p_claim.currency_code is not null )
1709                    AND p_claim.currency_code <> l_claim_rec.currency_code) THEN
1710                    l_history_event := G_CHANGE_EVENT;
1711                    change_description (
1712                 px_description => l_event_description,
1713                      p_column_desc => l_column_info.ak_attribute_code
1714               );
1715                    l_currency_code_rule := true;
1716                    l_return := TRUE;
1717              ELSIF l_column_info.db_column_name = 'EXCHANGE_RATE_TYPE' AND
1718               ((p_claim.exchange_rate_type is null     and  l_claim_rec.exchange_rate_type is not null) OR
1719                (p_claim.exchange_rate_type is not null and  l_claim_rec.exchange_rate_type is null) OR
1720                (p_claim.exchange_rate_type is not null and  l_claim_rec.exchange_rate_type is not null AND
1721                 p_claim.exchange_rate_type <> l_claim_rec.exchange_rate_type)) THEN
1722                    l_history_event := G_CHANGE_EVENT;
1723                    change_description (
1724                 px_description => l_event_description,
1725                      p_column_desc => l_column_info.ak_attribute_code
1726               );
1727                    l_return := TRUE;
1728              ELSIF l_column_info.db_column_name = 'EXCHANGE_RATE' AND
1729                    ((p_claim.exchange_rate is null     and  l_claim_rec.exchange_rate is not null) OR
1730                (p_claim.exchange_rate is not null and  l_claim_rec.exchange_rate is null) OR
1731                (p_claim.exchange_rate is not null and  l_claim_rec.exchange_rate is not null AND
1732                 p_claim.exchange_rate <> l_claim_rec.exchange_rate)) THEN
1733                    l_history_event := G_CHANGE_EVENT;
1734                    change_description (
1735                 px_description => l_event_description,
1736                      p_column_desc => l_column_info.ak_attribute_code
1737               );
1738                    l_return := TRUE;
1739              ELSIF l_column_info.db_column_name = 'EXCHANGE_RATE_DATE' AND
1740                    ((p_claim.exchange_rate_date is null     and  l_claim_rec.exchange_rate_date is not null) OR
1741                (p_claim.exchange_rate_date is not null and  l_claim_rec.exchange_rate_date is null) OR
1742                (p_claim.exchange_rate_date is not null and  l_claim_rec.exchange_rate_date is not null AND
1743                 to_char(p_claim.exchange_rate_date,'DD-MM-YYYY') <> to_char(l_claim_rec.exchange_rate_date,'DD-MM-YYYY'))) THEN
1744                    l_history_event := G_CHANGE_EVENT;
1745                    change_description (
1746                 px_description => l_event_description,
1747                      p_column_desc => l_column_info.ak_attribute_code
1748               );
1749                    l_return := TRUE;
1750              ELSIF l_column_info.db_column_name = 'DUPLICATE_CLAIM_ID' AND l_duplicate_claim_id_rule = false
1751                 AND ((p_claim.duplicate_claim_id is null     and  l_claim_rec.duplicate_claim_id is not null) OR
1752                (p_claim.duplicate_claim_id is not null and  l_claim_rec.duplicate_claim_id is null) OR
1753                (p_claim.duplicate_claim_id is not null and  l_claim_rec.duplicate_claim_id is not null AND
1754                 p_claim.duplicate_claim_id <> l_claim_rec.duplicate_claim_id)) THEN
1755                    l_history_event := G_CHANGE_EVENT;
1759               );
1756                    change_description (
1757                 px_description => l_event_description,
1758                      p_column_desc => l_column_info.ak_attribute_code
1760                    l_duplicate_claim_id_rule := true;
1761                    l_return := TRUE;
1762              ELSIF l_column_info.db_column_name = 'ORDER_TYPE_ID' AND
1763                    ((p_claim.order_type_id is null     and  l_claim_rec.order_type_id is not null) OR
1764                (p_claim.order_type_id is not null and  l_claim_rec.order_type_id is null) OR
1765                (p_claim.order_type_id is not null and  l_claim_rec.order_type_id is not null AND
1766                 p_claim.order_type_id <> l_claim_rec.order_type_id)) THEN
1767                    l_history_event := G_CHANGE_EVENT;
1768                    change_description (
1769                 px_description => l_event_description,
1770                      p_column_desc => l_column_info.ak_attribute_code
1771               );
1772                    l_return := TRUE;
1773             ELSIF l_column_info.db_column_name = 'COMMENTS' AND
1774                    ((p_claim.comments is null     and  l_claim_rec.comments is not null) OR
1775                (p_claim.comments is not null and  l_claim_rec.comments is null) OR
1776                (p_claim.comments is not null and  l_claim_rec.comments is not null AND
1777                 p_claim.comments <> l_claim_rec.comments)) THEN
1778                    l_history_event := G_CHANGE_EVENT;
1779                    change_description (
1780                 px_description => l_event_description,
1781                      p_column_desc => l_column_info.ak_attribute_code
1782               );
1783                    l_return := TRUE;
1784             ELSIF l_column_info.db_column_name = 'EFFECTIVE_DATE' AND
1785                    ((p_claim.effective_date is null     and  l_claim_rec.effective_date is not null) OR
1786                (p_claim.effective_date is not null and  l_claim_rec.effective_date is null) OR
1787                (p_claim.effective_date is not null and  l_claim_rec.effective_date is not null AND
1788                 to_char(p_claim.effective_date,'DD-MM-YYYY') <> to_char(l_claim_rec.effective_date,'DD-MM-YYYY'))) THEN
1789                    l_history_event := G_CHANGE_EVENT;
1790                    change_description (
1791                 px_description => l_event_description,
1792                      p_column_desc => l_column_info.ak_attribute_code
1793               );
1794                    l_return := TRUE;
1795             ELSIF l_column_info.db_column_name = 'GL_DATE' AND
1796                    ((p_claim.gl_date is null     and  l_claim_rec.gl_date is not null) OR
1797                (p_claim.gl_date is not null and  l_claim_rec.gl_date is null) OR
1798                (p_claim.gl_date is not null and  l_claim_rec.gl_date is not null AND
1799                 to_char(p_claim.gl_date,'DD-MM-YYYY') <> to_char(l_claim_rec.gl_date,'DD-MM-YYYY'))) THEN
1800                    l_history_event := G_CHANGE_EVENT;
1801                    change_description (
1802                 px_description => l_event_description,
1803                      p_column_desc => l_column_info.ak_attribute_code
1804               );
1805                    l_return := TRUE;
1806             ELSIF l_column_info.db_column_name = 'PAYMENT_METHOD' AND
1807                    ((p_claim.payment_method is null     and  l_claim_rec.payment_method is not null) OR
1808                (p_claim.payment_method is not null and  l_claim_rec.payment_method is null) OR
1809                (p_claim.payment_method is not null and  l_claim_rec.payment_method is not null AND
1810                 p_claim.payment_method <> l_claim_rec.payment_method))
1811                 AND l_payment_method_rule = false
1812                 THEN
1813                    l_history_event := G_CHANGE_EVENT;
1814                    change_description (
1815                 px_description => l_event_description,
1816                      p_column_desc => l_column_info.ak_attribute_code
1817               );
1818                    l_payment_method_rule := TRUE;
1819                    l_return := TRUE;
1820             ELSIF l_column_info.db_column_name = 'PAY_RELATED_ACCOUNT_FLAG' AND
1821                    ((p_claim.pay_related_account_flag is null     and  l_claim_rec.pay_related_account_flag is not null) OR
1822                (p_claim.pay_related_account_flag is not null and  l_claim_rec.pay_related_account_flag is null) OR
1823                (p_claim.pay_related_account_flag is not null and  l_claim_rec.pay_related_account_flag is not null AND
1824                 p_claim.pay_related_account_flag <> l_claim_rec.pay_related_account_flag)) THEN
1825                    l_history_event := G_CHANGE_EVENT;
1826                    change_description (
1827                 px_description => l_event_description,
1828                      p_column_desc => l_column_info.ak_attribute_code
1829               );
1830                    l_return := TRUE;
1831             ELSIF l_column_info.db_column_name = 'RELATED_CUST_ACCOUNT_ID' AND
1832                    ((p_claim.related_cust_account_id is null     and  l_claim_rec.related_cust_account_id is not null) OR
1833                (p_claim.related_cust_account_id is not null and  l_claim_rec.related_cust_account_id is null) OR
1834                (p_claim.related_cust_account_id is not null and  l_claim_rec.related_cust_account_id is not null AND
1835                 p_claim.related_cust_account_id <> l_claim_rec.related_cust_account_id)) THEN
1836                    l_history_event := G_CHANGE_EVENT;
1837                    change_description (
1838                 px_description => l_event_description,
1839                      p_column_desc => l_column_info.ak_attribute_code
1840               );
1841                    l_return := TRUE;
1842             ELSIF l_column_info.db_column_name = 'RELATED_SITE_USE_ID' AND
1846                 p_claim.related_site_use_id <> l_claim_rec.related_site_use_id)) THEN
1843                    ((p_claim.related_site_use_id is null     and  l_claim_rec.related_site_use_id is not null) OR
1844                (p_claim.related_site_use_id is not null and  l_claim_rec.related_site_use_id is null) OR
1845                (p_claim.related_site_use_id is not null and  l_claim_rec.related_site_use_id is not null AND
1847                    l_history_event := G_CHANGE_EVENT;
1848                    change_description (
1849                 px_description => l_event_description,
1850                      p_column_desc => l_column_info.ak_attribute_code
1851               );
1852                    l_return := TRUE;
1853             ELSIF l_column_info.db_column_name = 'RELATIONSHIP_TYPE' AND
1854                    ((p_claim.relationship_type is null     and  l_claim_rec.relationship_type is not null) OR
1855                (p_claim.relationship_type is not null and  l_claim_rec.relationship_type is null) OR
1856                (p_claim.relationship_type is not null and  l_claim_rec.relationship_type is not null AND
1857                 p_claim.relationship_type <> l_claim_rec.relationship_type)) THEN
1858                    l_history_event := G_CHANGE_EVENT;
1859                    change_description (
1860                 px_description => l_event_description,
1861                      p_column_desc => l_column_info.ak_attribute_code
1862               );
1863                    l_return := TRUE;
1864             ELSIF l_column_info.db_column_name = 'USER_STATUS_ID' AND
1865                    ((p_claim.user_status_id is null     and  l_claim_rec.user_status_id is not null) OR
1866                (p_claim.user_status_id is not null and  l_claim_rec.user_status_id is null) OR
1867                (p_claim.user_status_id is not null and  l_claim_rec.user_status_id is not null AND
1868                 p_claim.user_status_id <> l_claim_rec.user_status_id))
1869                 AND l_user_status_id_rule = false
1870                 THEN
1871                    l_history_event := G_CHANGE_EVENT;
1872                    change_description (
1873                 px_description => l_event_description,
1874                      p_column_desc => l_column_info.ak_attribute_code
1875               );
1876                    l_return := TRUE;
1877                    l_user_status_id_rule := TRUE;
1878             ELSIF l_column_info.db_column_name = 'VENDOR_ID' AND
1879                    ((p_claim.vendor_id is null     and  l_claim_rec.vendor_id is not null) OR
1880                (p_claim.vendor_id is not null and  l_claim_rec.vendor_id is null) OR
1881                (p_claim.vendor_id is not null and  l_claim_rec.vendor_id is not null AND
1882                 p_claim.vendor_id <> l_claim_rec.vendor_id)) THEN
1883                    l_history_event := G_CHANGE_EVENT;
1884                    change_description (
1885                 px_description => l_event_description,
1886                      p_column_desc => l_column_info.ak_attribute_code
1887               );
1888                    l_return := TRUE;
1889             ELSIF l_column_info.db_column_name = 'VENDOR_SITE_ID' AND
1890                    ((p_claim.vendor_site_id is null     and  l_claim_rec.vendor_site_id is not null) OR
1891                (p_claim.vendor_site_id is not null and  l_claim_rec.vendor_site_id is null) OR
1892                (p_claim.vendor_site_id is not null and  l_claim_rec.vendor_site_id is not null AND
1893                 p_claim.vendor_site_id <> l_claim_rec.vendor_site_id)) THEN
1894                    l_history_event := G_CHANGE_EVENT;
1895                    change_description (
1896                 px_description => l_event_description,
1897                      p_column_desc => l_column_info.ak_attribute_code
1898               );
1899                    l_return := TRUE;
1900              END IF;
1901          END LOOP;
1902          CLOSE user_selected_columns_csr;
1903     END IF;
1904    --end (uday)
1905    END IF;
1906 
1907    x_history_event := l_history_event;
1908    x_history_event_description := l_event_description;
1909    IF l_return THEN
1910       x_needed_to_create := 'Y';
1911    ELSE
1912       x_needed_to_create := 'N';
1913    END IF;
1914    IF OZF_DEBUG_LOW_ON THEN
1915       FND_MESSAGE.Set_Name('OZF','OZF_API_DEBUG_MESSAGE');
1916       FND_MESSAGE.Set_Token('TEXT',l_api_name||': End');
1917       FND_MSG_PUB.Add;
1918    END IF;
1919 
1920 EXCEPTION
1921    WHEN FND_API.G_EXC_ERROR THEN
1922       x_return_status := FND_API.G_RET_STS_ERROR;
1923    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1924       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1925    WHEN OTHERS THEN
1926       IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
1927          FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_CHK_CREATE_HIST_ERR');
1928          FND_MSG_PUB.add;
1929       END IF;
1930       x_return_status := FND_API.g_ret_sts_unexp_error;
1931 END check_create_history;
1932 
1933 ---------------------------------------------------------------------
1934 -- PROCEDURE
1935 --    Create_History
1936 --
1937 -- PURPOSE
1938 --    This procedure checks whether if a history record of a claim is
1939 --    needed based on the previous event. If there is a need, it then
1940 --    creates a snapshot (or history) of claim. The snapshot includes
1941 --    claim detail information, claim line information and tasks information
1942 --
1943 -- PARAMETERS
1944 --    p_claim_id: Id to identify a claim
1945 --    x_claim_history_id:  Id of a claim history
1946 --
1947 -- NOTES:
1948 --
1949 ---------------------------------------------------------------------
1950 PROCEDURE Create_History(p_claim_id         IN  NUMBER,
1951                          p_history_event    IN  VARCHAR2,
1955 IS
1952 			                p_history_event_description IN VARCHAR2,
1953                          x_claim_history_id OUT NOCOPY NUMBER,
1954                          x_return_status    OUT NOCOPY VARCHAR2)
1956 l_msg_count       number;
1957 l_msg_data        varchar2(2000);
1958 l_return_status   varchar2(30);
1959 l_api_name        varchar2(30) := 'Create_History';
1960 
1961 l_claims_history_rec      OZF_claims_history_PVT.claims_history_rec_type;
1962 l_claim_history_id        number := null;
1963 
1964 l_claim_lines_hist_rec    OZF_claim_line_hist_PVT.claim_line_hist_rec_type;
1965 l_claim_line_history_id   number;
1966 l_claim_line_rec          OZF_Claim_Line_PVT.claim_line_rec_type;
1967 l_event_description       varchar2(2000);
1968 
1969 CURSOR custom_setup_id_csr (p_claim_class in varchar2) IS
1970 SELECT custom_setup_id
1971 FROM ams_custom_setups_vl
1972 WHERE object_type = G_CLAIM_HIST_OBJ_TYPE
1973 AND  activity_type_code = p_claim_class;
1974 
1975 CURSOR claim_csr(pid in number) IS
1976 SELECT *
1977 FROM ozf_claims_all
1978 WHERE claim_id = pid;
1979 l_claim_rec             claim_csr%ROWTYPE;
1980 
1981 CURSOR claim_line_csr(p_id in number) IS
1982 SELECT *
1983 FROM   ozf_claim_lines_all
1984 WHERE  claim_id = p_id;
1985 
1986 --CURSOR history_ids_csr(p_claim_id) IS
1987 --SELECT line_claim_history_id, task_claim_history_id
1988 --FROM ozf_claims_history
1989 --WHERE claim_id = p_claim_id
1990 --AND event_date = max(event_date);
1991 
1992 --CURSOR history_ids_csr(p_claim_id) IS
1993 --SELECT line_claim_history_id
1994 --FROM ozf_claims_history
1995 --WHERE claim_id = p_claim_id
1996 --AND event_date = max(event_date);
1997 
1998 CURSOR claim_history_sequence_cur IS
1999 SELECT ozf_claims_history_all_s.nextval
2000 FROM dual;
2001 
2002 CURSOR check_csr (pid in number)is
2003 select history_event, history_event_description
2004 from ozf_claims_all
2005 where claim_id = pid;
2006 
2007 CURSOR c_claim_hist_id_count(p_id in number) is
2008 select count(*)
2009 from ozf_claims_history
2010 where claim_history_id =p_id;
2011 l_claim_hist_id_count number:=0;
2012 
2013 l_history_event      varchar2(40);
2014 l_history_event_desc varchar2(60);
2015 
2016 BEGIN
2017     -- Initialize API return status to sucess
2018     x_return_status := FND_API.G_RET_STS_SUCCESS;
2019 
2020     IF OZF_DEBUG_LOW_ON THEN
2021          FND_MESSAGE.Set_Name('OZF','OZF_API_DEBUG_MESSAGE');
2022          FND_MESSAGE.Set_Token('TEXT',l_api_name||': Start');
2023          FND_MSG_PUB.Add;
2024     END IF;
2025 
2026     OPEN claim_csr(p_claim_id);
2027     FETCH claim_csr INTO l_claim_rec;
2028     CLOSE claim_csr;
2029 
2030     -- Here we need to chang the custom_setup_id from CLAM to CLAMHIST
2031     OPEN custom_setup_id_csr(l_claim_rec.claim_class);
2032     FETCH custom_setup_id_csr INTO l_claim_rec.custom_setup_id;
2033     CLOSE custom_setup_id_csr;
2034 
2035     -- Get the value for claim_history_id
2036 
2037 
2038     LOOP
2039       -- Get the identifier
2040       OPEN claim_history_sequence_cur;
2041       FETCH claim_history_sequence_cur INTO l_claim_history_id;
2042       CLOSE claim_history_sequence_cur;
2043       -- Check the uniqueness of the identifier
2044       OPEN  c_claim_hist_id_count(l_claim_history_id);
2045       FETCH c_claim_hist_id_count INTO l_claim_hist_id_count;
2046       CLOSE c_claim_hist_id_count;
2047       -- Exit when the identifier uniqueness is established
2048       EXIT WHEN l_claim_hist_id_count = 0;
2049     END LOOP;
2050 
2051     --Construct claim history rec for the rest of the columns
2052     l_claims_history_rec.claim_history_id   := l_claim_history_id;
2053     l_claims_history_rec.batch_id            := l_claim_rec.batch_id;
2054     l_claims_history_rec.claim_id            := l_claim_rec.claim_id;
2055     l_claims_history_rec.claim_number        := l_claim_rec.claim_number;
2056     l_claims_history_rec.claim_type_id       := l_claim_rec.claim_type_id;
2057     l_claims_history_rec.claim_class         := l_claim_rec.claim_class;
2058     l_claims_history_rec.claim_date          := l_claim_rec.claim_date;
2059     l_claims_history_rec.due_date            := l_claim_rec.due_date;
2060     l_claims_history_rec.owner_id            := l_claim_rec.owner_id;
2061     l_claims_history_rec.history_event_date  := l_claim_rec.history_event_date;
2062     --Code changes (uday)
2063     l_claims_history_rec.history_event       := p_history_event;
2064     l_claims_history_rec.history_event_description   := p_history_event_description;
2065     --end (-uday)
2066 
2067     l_claims_history_rec.split_from_claim_id := l_claim_rec.split_from_claim_id;
2068     l_claims_history_rec.duplicate_claim_id  := l_claim_rec.duplicate_claim_id;
2069     l_claims_history_rec.split_date          := l_claim_rec.split_date;
2070     l_claims_history_rec.root_claim_id       := l_claim_rec.root_claim_id;
2071     l_claims_history_rec.amount              := l_claim_rec.amount;
2072     l_claims_history_rec.amount_adjusted     := l_claim_rec.amount_adjusted;
2073     l_claims_history_rec.amount_settled      := l_claim_rec.amount_settled;
2074     l_claims_history_rec.amount_remaining    := l_claim_rec.amount_remaining;
2075     l_claims_history_rec.acctd_amount        := l_claim_rec.acctd_amount;
2076     l_claims_history_rec.acctd_amount_remaining := l_claim_rec.acctd_amount_remaining;
2077     l_claims_history_rec.acctd_amount_adjusted  := l_claim_rec.acctd_amount_adjusted;
2081     l_claims_history_rec.tax_calculation_flag := l_claim_rec.tax_calculation_flag;
2078     l_claims_history_rec.acctd_amount_settled   := l_claim_rec.acctd_amount_settled;
2079     l_claims_history_rec.tax_amount          := l_claim_rec.tax_amount;
2080     l_claims_history_rec.tax_code            := l_claim_rec.tax_code;
2082     l_claims_history_rec.currency_code       := l_claim_rec.currency_code;
2083     l_claims_history_rec.exchange_rate_type  := l_claim_rec.exchange_rate_type;
2084     l_claims_history_rec.exchange_rate_date  := l_claim_rec.exchange_rate_date;
2085     l_claims_history_rec.exchange_rate       := l_claim_rec.exchange_rate;
2086     l_claims_history_rec.set_of_books_id     := l_claim_rec.set_of_books_id;
2087     l_claims_history_rec.original_claim_date := l_claim_rec.original_claim_date;
2088     l_claims_history_rec.source_object_id    := l_claim_rec.source_object_id;
2089     l_claims_history_rec.source_object_class := l_claim_rec.source_object_class;
2090     l_claims_history_rec.source_object_type_id := l_claim_rec.source_object_type_id;
2091     l_claims_history_rec.source_object_number:= l_claim_rec.source_object_number;
2092     l_claims_history_rec.cust_account_id     := l_claim_rec.cust_account_id;
2093     l_claims_history_rec.cust_billto_acct_site_id := l_claim_rec.cust_billto_acct_site_id;
2094     l_claims_history_rec.cust_shipto_acct_site_id := l_claim_rec.cust_shipto_acct_site_id;
2095     l_claims_history_rec.location_id         := l_claim_rec.location_id;
2096     l_claims_history_rec.pay_related_account_flag := l_claim_rec.pay_related_account_flag;
2097     l_claims_history_rec.related_cust_account_id:= l_claim_rec.related_cust_account_id;
2098     l_claims_history_rec.related_site_use_id := l_claim_rec.related_site_use_id;
2099     l_claims_history_rec.relationship_type   := l_claim_rec.relationship_type;
2100     l_claims_history_rec.vendor_id           := l_claim_rec.vendor_id;
2101     l_claims_history_rec.vendor_site_id      := l_claim_rec.vendor_site_id;
2102     l_claims_history_rec.reason_type         := l_claim_rec.reason_type;
2103     l_claims_history_rec.reason_code_id      := l_claim_rec.reason_code_id;
2104     l_claims_history_rec.task_template_group_id := l_claim_rec.task_template_group_id;
2105     l_claims_history_rec.status_code         := l_claim_rec.status_code;
2106     l_claims_history_rec.user_status_id      := l_claim_rec.user_status_id;
2107     l_claims_history_rec.sales_rep_id        := l_claim_rec.sales_rep_id;
2108     l_claims_history_rec.collector_id        := l_claim_rec.collector_id;
2109     l_claims_history_rec.contact_id          := l_claim_rec.contact_id;
2110     l_claims_history_rec.broker_id           := l_claim_rec.broker_id;
2111     l_claims_history_rec.territory_id        := l_claim_rec.territory_id;
2112     l_claims_history_rec.customer_ref_date   := l_claim_rec.customer_ref_date;
2113     l_claims_history_rec.customer_ref_number := l_claim_rec.customer_ref_number;
2114     l_claims_history_rec.assigned_to         := l_claim_rec.assigned_to;
2115     l_claims_history_rec.receipt_id          := l_claim_rec.receipt_id;
2116     l_claims_history_rec.receipt_number      := l_claim_rec.receipt_number;
2117     l_claims_history_rec.doc_sequence_id     := l_claim_rec.doc_sequence_id;
2118     l_claims_history_rec.doc_sequence_value  := l_claim_rec.doc_sequence_value;
2119     l_claims_history_rec.gl_date             := l_claim_rec.gl_date;
2120     l_claims_history_rec.payment_method      := l_claim_rec.payment_method;
2121     l_claims_history_rec.voucher_id          := l_claim_rec.voucher_id;
2122     l_claims_history_rec.voucher_number      := l_claim_rec.voucher_number;
2123     l_claims_history_rec.payment_reference_id:= l_claim_rec.payment_reference_id;
2124     l_claims_history_rec.payment_reference_number:= l_claim_rec.payment_reference_number;
2125     l_claims_history_rec.payment_reference_date  := l_claim_rec.payment_reference_date;
2126     l_claims_history_rec.payment_status      := l_claim_rec.payment_status;
2127     l_claims_history_rec.approved_flag       := l_claim_rec.approved_flag;
2128     l_claims_history_rec.approved_date       := l_claim_rec.approved_date;
2129     l_claims_history_rec.approved_by         := l_claim_rec.approved_by;
2130     l_claims_history_rec.settled_date        := l_claim_rec.settled_date;
2131     l_claims_history_rec.settled_by          := l_claim_rec.settled_by;
2132     l_claims_history_rec.effective_date      := l_claim_rec.effective_date;
2133     l_claims_history_rec.custom_setup_id     := l_claim_rec.custom_setup_id;
2134     l_claims_history_rec.task_id             := l_claim_rec.task_id;
2135     l_claims_history_rec.country_id          := l_claim_rec.country_id;
2136     l_claims_history_rec.order_type_id       := l_claim_rec.order_type_id;
2137     l_claims_history_rec.comments            := l_claim_rec.comments;
2138     l_claims_history_rec.task_source_object_id := l_claim_rec.claim_id;
2139     l_claims_history_rec.task_source_object_type_code := G_CLAIM_TYPE;
2140     l_claims_history_rec.attribute_category  := l_claim_rec.attribute_category;
2141     l_claims_history_rec.attribute1          := l_claim_rec.attribute1;
2142     l_claims_history_rec.attribute2          := l_claim_rec.attribute2;
2143     l_claims_history_rec.attribute3          := l_claim_rec.attribute3;
2144     l_claims_history_rec.attribute4          := l_claim_rec.attribute4;
2145     l_claims_history_rec.attribute5          := l_claim_rec.attribute5;
2146     l_claims_history_rec.attribute6          := l_claim_rec.attribute6;
2147     l_claims_history_rec.attribute7          := l_claim_rec.attribute7;
2148     l_claims_history_rec.attribute8          := l_claim_rec.attribute8;
2149     l_claims_history_rec.attribute9          := l_claim_rec.attribute9;
2150     l_claims_history_rec.attribute10         := l_claim_rec.attribute10;
2151     l_claims_history_rec.attribute11         := l_claim_rec.attribute11;
2152     l_claims_history_rec.attribute12         := l_claim_rec.attribute12;
2156     l_claims_history_rec.deduction_attribute_category := l_claim_rec.deduction_attribute_category;
2153     l_claims_history_rec.attribute13         := l_claim_rec.attribute13;
2154     l_claims_history_rec.attribute14         := l_claim_rec.attribute14;
2155     l_claims_history_rec.attribute15         := l_claim_rec.attribute15;
2157      l_claims_history_rec.deduction_attribute1 := l_claim_rec.deduction_attribute1;
2158     l_claims_history_rec.deduction_attribute2 := l_claim_rec.deduction_attribute2;
2159     l_claims_history_rec.deduction_attribute3 := l_claim_rec.deduction_attribute3;
2160     l_claims_history_rec.deduction_attribute4 := l_claim_rec.deduction_attribute4;
2161     l_claims_history_rec.deduction_attribute5 := l_claim_rec.deduction_attribute5;
2162     l_claims_history_rec.deduction_attribute6 := l_claim_rec.deduction_attribute6;
2163     l_claims_history_rec.deduction_attribute7 := l_claim_rec.deduction_attribute7;
2164     l_claims_history_rec.deduction_attribute8 := l_claim_rec.deduction_attribute8;
2165     l_claims_history_rec.deduction_attribute9 := l_claim_rec.deduction_attribute9;
2166     l_claims_history_rec.deduction_attribute10 := l_claim_rec.deduction_attribute10;
2167     l_claims_history_rec.deduction_attribute11 := l_claim_rec.deduction_attribute11;
2168     l_claims_history_rec.deduction_attribute12 := l_claim_rec.deduction_attribute12;
2169     l_claims_history_rec.deduction_attribute13 := l_claim_rec.deduction_attribute13;
2170     l_claims_history_rec.deduction_attribute14 := l_claim_rec.deduction_attribute14;
2171     l_claims_history_rec.deduction_attribute15 := l_claim_rec.deduction_attribute15;
2172     l_claims_history_rec.org_id                := l_claim_rec.org_id;
2173     l_claims_history_rec.write_off_flag              := l_claim_rec.write_off_flag;
2174     l_claims_history_rec.write_off_threshold_amount  := l_claim_rec.write_off_threshold_amount;
2175     l_claims_history_rec.under_write_off_threshold   := l_claim_rec.under_write_off_threshold;
2176     l_claims_history_rec.customer_reason             := l_claim_rec.customer_reason;
2177     l_claims_history_rec.ship_to_cust_account_id     := l_claim_rec.ship_to_cust_account_id;
2178     l_claims_history_rec.amount_applied              := l_claim_rec.amount_applied;
2179     l_claims_history_rec.applied_receipt_id          := l_claim_rec.applied_receipt_id;
2180     l_claims_history_rec.applied_receipt_number      := l_claim_rec.applied_receipt_number;
2181     l_claims_history_rec.wo_rec_trx_id               := l_claim_rec.wo_rec_trx_id;
2182 
2183     l_claims_history_rec.group_claim_id               := l_claim_rec.group_claim_id;
2184     l_claims_history_rec.appr_wf_item_key             := l_claim_rec.appr_wf_item_key;
2185     l_claims_history_rec.cstl_wf_item_key             := l_claim_rec.cstl_wf_item_key;
2186     l_claims_history_rec.batch_type                   := l_claim_rec.batch_type;
2187 
2188 
2189     OZF_claims_history_PVT.Create_claims_history(
2190        P_Api_Version_Number         => 1.0,
2191        P_Init_Msg_List              => FND_API.G_FALSE,
2192        P_Commit                     => FND_API.G_FALSE,
2193        P_Validation_Level           => FND_API.G_VALID_LEVEL_FULL,
2194        X_Return_Status              => l_return_status,
2195        X_Msg_Count                  => l_msg_count,
2196        X_Msg_Data                   => l_msg_data,
2197        P_CLAIMS_HISTORY_Rec         => l_CLAIMS_HISTORY_Rec,
2198        X_CLAIM_HISTORY_ID           => l_CLAIM_HISTORY_ID
2199     );
2200 
2201     IF l_return_status = FND_API.g_ret_sts_error THEN
2202        RAISE FND_API.g_exc_error;
2203     ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
2204        RAISE FND_API.g_exc_unexpected_error;
2205     END IF;
2206 
2207    -- update the history related columns for the claim
2208      UPDATE ozf_claims_all
2209      SET history_event = p_history_event,
2210          history_event_date = SYSDATE,
2211          history_event_description = p_history_event_description
2212      WHERE claim_id = p_claim_id;
2213 
2214     -- Create a history for the lines.
2215     -- Get line detail
2216     FOR l_claim_line_rec IN claim_line_csr(p_claim_id) LOOP
2217  --       EXIT WHEN claim_line_csr%NOTFOUND;
2218 
2219 	--Construct claim history line rec
2220         l_claim_lines_hist_rec.claim_history_id          := l_claim_history_id;
2221         l_claim_lines_hist_rec.claim_id                  := p_claim_id;
2222         l_claim_lines_hist_rec.claim_line_id             := l_claim_line_rec.claim_line_id;
2223         l_claim_lines_hist_rec.line_number               := l_claim_line_rec.line_number;
2224         l_claim_lines_hist_rec.split_from_claim_line_id  := l_claim_line_rec.split_from_claim_line_id;
2225         l_claim_lines_hist_rec.amount                    := l_claim_line_rec.amount;
2226 	     l_claim_lines_hist_rec.acctd_amount              := l_claim_line_rec.acctd_amount;
2227         l_claim_lines_hist_rec.currency_code             := l_claim_line_rec.currency_code;
2228         l_claim_lines_hist_rec.exchange_rate_type        := l_claim_line_rec.exchange_rate_type;
2229         l_claim_lines_hist_rec.exchange_rate_date        := l_claim_line_rec.exchange_rate_date;
2230         l_claim_lines_hist_rec.exchange_rate             := l_claim_line_rec.exchange_rate;
2231         l_claim_lines_hist_rec.set_of_books_id           := l_claim_line_rec.set_of_books_id;
2232         l_claim_lines_hist_rec.valid_flag                := l_claim_line_rec.valid_flag;
2233         l_claim_lines_hist_rec.source_object_id          := l_claim_line_rec.source_object_id;
2234         l_claim_lines_hist_rec.source_object_class       := l_claim_line_rec.source_object_class;
2235         l_claim_lines_hist_rec.source_object_type_id     := l_claim_line_rec.source_object_type_id;
2236         l_claim_lines_hist_rec.source_object_line_id     := l_claim_line_rec.source_object_line_id;
2237         l_claim_lines_hist_rec.plan_id                   := l_claim_line_rec.plan_id;
2241         l_claim_lines_hist_rec.payment_reference_number  := l_claim_line_rec.payment_reference_number;
2238         l_claim_lines_hist_rec.offer_id                  := l_claim_line_rec.offer_id;
2239         l_claim_lines_hist_rec.payment_method            := l_claim_line_rec.payment_method;
2240         l_claim_lines_hist_rec.payment_reference_id      := l_claim_line_rec.payment_reference_id;
2242         l_claim_lines_hist_rec.payment_reference_date    := l_claim_line_rec.payment_reference_date;
2243         l_claim_lines_hist_rec.voucher_id                := l_claim_line_rec.voucher_id;
2244         l_claim_lines_hist_rec.voucher_number            := l_claim_line_rec.voucher_number;
2245         l_claim_lines_hist_rec.payment_status            := l_claim_line_rec.payment_status;
2246         l_claim_lines_hist_rec.approved_flag             := l_claim_line_rec.approved_flag;
2247         l_claim_lines_hist_rec.approved_date             := l_claim_line_rec.approved_date;
2248         l_claim_lines_hist_rec.approved_by               := l_claim_line_rec.approved_by;
2249         l_claim_lines_hist_rec.settled_date              := l_claim_line_rec.settled_date;
2250         l_claim_lines_hist_rec.settled_by                := l_claim_line_rec.settled_by;
2251         l_claim_lines_hist_rec.performance_complete_flag := l_claim_line_rec.performance_complete_flag;
2252         l_claim_lines_hist_rec.performance_attached_flag := l_claim_line_rec.performance_attached_flag;
2253         l_claim_lines_hist_rec.attribute_category        := l_claim_line_rec.attribute_category;
2254         l_claim_lines_hist_rec.attribute1                := l_claim_line_rec.attribute1;
2255         l_claim_lines_hist_rec.attribute2                := l_claim_line_rec.attribute2;
2256         l_claim_lines_hist_rec.attribute3                := l_claim_line_rec.attribute3;
2257         l_claim_lines_hist_rec.attribute4                := l_claim_line_rec.attribute4;
2258         l_claim_lines_hist_rec.attribute5                := l_claim_line_rec.attribute5;
2259         l_claim_lines_hist_rec.attribute6                := l_claim_line_rec.attribute6;
2260         l_claim_lines_hist_rec.attribute7                := l_claim_line_rec.attribute7;
2261         l_claim_lines_hist_rec.attribute8                := l_claim_line_rec.attribute8;
2262         l_claim_lines_hist_rec.attribute9                := l_claim_line_rec.attribute9;
2263         l_claim_lines_hist_rec.attribute10               := l_claim_line_rec.attribute10;
2264         l_claim_lines_hist_rec.attribute11               := l_claim_line_rec.attribute11;
2265         l_claim_lines_hist_rec.attribute12               := l_claim_line_rec.attribute12;
2266         l_claim_lines_hist_rec.attribute13               := l_claim_line_rec.attribute13;
2267         l_claim_lines_hist_rec.attribute14               := l_claim_line_rec.attribute14;
2268         l_claim_lines_hist_rec.attribute15               := l_claim_line_rec.attribute15;
2269         l_claim_lines_hist_rec.org_id                    := l_claim_line_rec.org_id;
2270         l_claim_lines_hist_rec.utilization_id            := l_claim_line_rec.utilization_id;
2271         l_claim_lines_hist_rec.claim_currency_amount     := l_claim_line_rec.claim_currency_amount;
2272         l_claim_lines_hist_rec.item_id                   := l_claim_line_rec.item_id;
2273        	l_claim_lines_hist_rec.item_description          := l_claim_line_rec.item_description;
2274          l_claim_lines_hist_rec.quantity                  := l_claim_line_rec.quantity;
2275        	l_claim_lines_hist_rec.quantity_uom              := l_claim_line_rec.quantity_uom;
2276        	l_claim_lines_hist_rec.rate                      := l_claim_line_rec.rate;
2277        	l_claim_lines_hist_rec.activity_type             := l_claim_line_rec.activity_type;
2278        	l_claim_lines_hist_rec.activity_id               := l_claim_line_rec.activity_id;
2279        	l_claim_lines_hist_rec.earnings_associated_flag  := l_claim_line_rec.earnings_associated_flag;
2280        	l_claim_lines_hist_rec.comments                  := l_claim_line_rec.comments;
2281        	l_claim_lines_hist_rec.related_cust_account_id   := l_claim_line_rec.related_cust_account_id;
2282        	l_claim_lines_hist_rec.relationship_type         := l_claim_line_rec.relationship_type;
2283         l_claim_lines_hist_rec.buy_group_cust_account_id := l_claim_line_rec.buy_group_cust_account_id;
2284         l_claim_lines_hist_rec.select_cust_children_flag := l_claim_line_rec.select_cust_children_flag;
2285         l_claim_lines_hist_rec.tax_code                  := l_claim_line_rec.tax_code;
2286         l_claim_lines_hist_rec.credit_to                 := l_claim_line_rec.credit_to;
2287 
2288         l_claim_lines_hist_rec.sale_date                 := l_claim_line_rec.sale_date;
2289         l_claim_lines_hist_rec.item_type                 := l_claim_line_rec.item_type;
2290         l_claim_lines_hist_rec.tax_amount                := l_claim_line_rec.tax_amount;
2291         l_claim_lines_hist_rec.claim_curr_tax_amount     := l_claim_line_rec.claim_curr_tax_amount;
2292         l_claim_lines_hist_rec.activity_line_id          := l_claim_line_rec.activity_line_id;
2293         l_claim_lines_hist_rec.offer_type                := l_claim_line_rec.offer_type;
2294         l_claim_lines_hist_rec.prorate_earnings_flag     := l_claim_line_rec.prorate_earnings_flag;
2295         l_claim_lines_hist_rec.earnings_end_date         := l_claim_line_rec.earnings_end_date;
2296 
2297 
2298 
2299         OZF_claim_line_hist_PVT.Create_claim_line_hist(
2300            P_Api_Version_Number         => 1.0,
2301            P_Init_Msg_List              => FND_API.G_FALSE,
2302            P_Commit                     => FND_API.G_FALSE,
2303            P_Validation_Level           => FND_API.G_VALID_LEVEL_FULL,
2304            X_Return_Status              => l_return_status,
2305            X_Msg_Count                  => l_msg_count,
2306            X_Msg_Data                   => l_msg_data,
2310         IF l_return_status = FND_API.g_ret_sts_error THEN
2307            P_CLAIM_LINE_HIST_Rec       => l_CLAIM_LINES_HIST_Rec,
2308            X_CLAIM_LINE_HISTORY_ID      => l_CLAIM_LINE_HISTORY_ID
2309 	);
2311            RAISE FND_API.g_exc_error;
2312         ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
2313            RAISE FND_API.g_exc_unexpected_error;
2314         END IF;
2315 
2316     END LOOP;
2317     x_claim_history_id := l_claim_history_id;
2318 
2319     IF OZF_DEBUG_LOW_ON THEN
2320          FND_MESSAGE.Set_Name('OZF','OZF_API_DEBUG_MESSAGE');
2321          FND_MESSAGE.Set_Token('TEXT',l_api_name||': End');
2322          FND_MSG_PUB.Add;
2323     END IF;
2324 EXCEPTION
2325    WHEN FND_API.G_EXC_ERROR THEN
2326       x_return_status := FND_API.G_RET_STS_ERROR;
2327    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2328       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2329    WHEN OTHERS THEN
2330       IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
2331          FND_MESSAGE.set_name('OZF', 'OZF_CLAIM_CREATE_HIST_ERR');
2332          FND_MSG_PUB.add;
2333       END IF;
2334       x_return_status := FND_API.g_ret_sts_unexp_error;
2335 END create_history;
2336 
2337 ---------------------------------------------------------------------
2338 -- PROCEDURE
2339 --    Delete_Claims_History
2340 --
2341 -- PURPOSE
2342 --    This procedure deletes a record in ozf_claims_history_all table by calling
2343 --    the table handler package.
2344 --
2345 -- PARAMETERS
2346 --    p_CLAIMS_HISTORY_Rec: The record that you want to delete.
2347 --
2348 -- NOTES:
2349 --
2350 ---------------------------------------------------------------------
2351 PROCEDURE Delete_claims_history(
2352     P_Api_Version_Number         IN   NUMBER,
2353     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
2354     P_Commit                     IN   VARCHAR2     := FND_API.G_FALSE,
2355     p_validation_level           IN   NUMBER       := FND_API.G_VALID_LEVEL_FULL,
2356     X_Return_Status              OUT NOCOPY  VARCHAR2,
2357     X_Msg_Count                  OUT NOCOPY  NUMBER,
2358     X_Msg_Data                   OUT NOCOPY  VARCHAR2,
2359     P_CLAIM_HISTORY_ID           IN  NUMBER,
2360     P_Object_Version_Number      IN   NUMBER
2361     )
2362 
2363  IS
2364 l_api_name                CONSTANT VARCHAR2(30) := 'Delete_claims_history';
2365 l_api_version_number      CONSTANT NUMBER   := 1.0;
2366 l_object_version_number     NUMBER;
2367 
2368 CURSOR version_csr (p_claim_history_id in number)IS
2369 SELECT object_version_number
2370 FROM   ozf_claims_history_all
2371 WHERE  claim_history_id = p_claim_history_id;
2372 
2373 BEGIN
2374       -- Standard Start of API savepoint
2375       SAVEPOINT DELETE_CLAIMS_HISTORY_PVT;
2376 
2377       -- Standard call to check for call compatibility.
2378       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
2379                                         p_api_version_number,
2380                                            l_api_name,
2381                                            G_PKG_NAME)
2382       THEN
2383           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2384       END IF;
2385 
2386       -- Initialize message list if p_init_msg_list is set to TRUE.
2387       IF FND_API.to_Boolean( p_init_msg_list )
2388       THEN
2389           FND_MSG_PUB.initialize;
2390       END IF;
2391 
2392       -- Initialize API return status to SUCCESS
2393       x_return_status := FND_API.G_RET_STS_SUCCESS;
2394 
2395       --
2396       -- Api body
2397       --
2398       -- Debug Message
2399       IF OZF_DEBUG_LOW_ON THEN
2400          FND_MESSAGE.Set_Name('OZF','OZF_API_DEBUG_MESSAGE');
2401          FND_MESSAGE.Set_Token('TEXT',l_api_name||': Start');
2402          FND_MSG_PUB.Add;
2403       END IF;
2404 
2405       -- Invoke table handler(OZF_claims_history_PKG.Delete_Row)
2406       OPEN version_csr(p_claim_history_id);
2407       FETCH version_csr INTO l_object_version_number;
2408       CLOSE version_csr;
2409 
2410       IF p_object_version_number = l_object_version_number THEN
2411          BEGIN
2412            OZF_claims_history_PKG.Delete_Row(
2413               p_CLAIM_HISTORY_ID  => p_CLAIM_HISTORY_ID);
2414          EXCEPTION
2415            WHEN OTHERS THEN
2416              IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
2417                 FND_MESSAGE.set_name('OZF', 'OZF_API_RECORD_NOT_FOUND');
2418                 FND_MSG_PUB.add;
2419              END IF;
2420              RAISE FND_API.g_exc_error;
2421            END;
2422       ELSE
2423          IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
2424             FND_MESSAGE.set_name('OZF', 'OZF_API_RESOURCE_LOCKED');
2425             FND_MSG_PUB.add;
2426             END IF;
2427          RAISE FND_API.g_exc_error;
2428       END IF;
2429 
2430       --
2431       -- End of API body
2432       --
2433 
2434       -- Standard check for p_commit
2435       IF FND_API.to_Boolean( p_commit )
2436       THEN
2437           COMMIT WORK;
2438       END IF;
2439 
2440       -- Debug Message
2441       IF OZF_DEBUG_LOW_ON THEN
2442          FND_MESSAGE.Set_Name('OZF','OZF_API_DEBUG_MESSAGE');
2443          FND_MESSAGE.Set_Token('TEXT',l_api_name||': End');
2444          FND_MSG_PUB.Add;
2445       END IF;
2446 
2447       -- Standard call to get message count and if count is 1, get message info.
2448       FND_MSG_PUB.Count_And_Get
2449         (p_count          =>   x_msg_count,
2453    WHEN FND_API.G_EXC_ERROR THEN
2450          p_data           =>   x_msg_data
2451       );
2452 EXCEPTION
2454     ROLLBACK TO DELETE_CLAIMS_HISTORY_PVT;
2455     x_return_status := FND_API.G_RET_STS_ERROR;
2456     -- Standard call to get message count and if count=1, get the message
2457     FND_MSG_PUB.Count_And_Get (
2458             p_encoded => FND_API.G_FALSE,
2459             p_count => x_msg_count,
2460             p_data  => x_msg_data
2461     );
2462    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2463     ROLLBACK TO DELETE_CLAIMS_HISTORY_PVT;
2464     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2465     -- Standard call to get message count and if count=1, get the message
2466     FND_MSG_PUB.Count_And_Get (
2467             p_encoded => FND_API.G_FALSE,
2468             p_count => x_msg_count,
2469              p_data  => x_msg_data
2470     );
2471    WHEN OTHERS THEN
2472     ROLLBACK TO DELETE_CLAIMS_HISTORY_PVT;
2473     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2474     IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2475     THEN
2476             FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
2477     END IF;
2478     -- Standard call to get message count and if count=1, get the message
2479     FND_MSG_PUB.Count_And_Get (
2480             p_encoded => FND_API.G_FALSE,
2481             p_count => x_msg_count,
2482             p_data  => x_msg_data
2483     );
2484 End Delete_claims_history;
2485 
2486 ---------------------------------------------------------------------
2487 -- PROCEDURE
2488 --    Update_Claims_History
2489 --
2490 -- PURPOSE
2491 --    This procedure updates a record in ozf_claims_history_all table by calling
2492 --    the table handler package.
2493 --
2494 -- PARAMETERS
2495 --    p_CLAIMS_HISTORY_Rec: The record that you want to update.
2496 --
2497 -- NOTES:
2498 --
2499 ---------------------------------------------------------------------
2500 PROCEDURE Update_Claims_History(
2501     P_Api_Version_Number         IN   NUMBER,
2502     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
2503     P_Commit                     IN   VARCHAR2     := FND_API.G_FALSE,
2504     p_validation_level           IN   NUMBER       := FND_API.G_VALID_LEVEL_FULL,
2505 
2506     X_Return_Status              OUT NOCOPY  VARCHAR2,
2507     X_Msg_Count                  OUT NOCOPY  NUMBER,
2508     X_Msg_Data                   OUT NOCOPY  VARCHAR2,
2509 
2510     P_CLAIMS_HISTORY_Rec         IN   CLAIMS_HISTORY_Rec_Type,
2511     X_Object_Version_Number      OUT NOCOPY  NUMBER
2512     )
2513 IS
2514 l_api_name                CONSTANT VARCHAR2(30) := 'Update_Claims_History';
2515 l_api_version_number      CONSTANT NUMBER   := 1.0;
2516 -- Local Variables
2517 l_object_version_number   NUMBER;
2518 l_CLAIM_HISTORY_ID        NUMBER;
2519 l_return_status           varchar2(30);
2520 l_claims_history_rec      claims_history_rec_type;
2521 
2522 CURSOR object_version_number_csr (p_id in number) is
2523 select object_version_number
2524 from ozf_claims_history_all
2525 where claim_history_id = p_id;
2526 
2527 
2528 BEGIN
2529       -- Standard Start of API savepoint
2530       SAVEPOINT UPDATE_CLAIMS_HISTORY_PVT;
2531 
2532       -- Standard call to check for call compatibility.
2533       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
2534                                            p_api_version_number,
2535                                            l_api_name,
2536                                            G_PKG_NAME)
2537       THEN
2538           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2539       END IF;
2540 
2541       -- Initialize message list if p_init_msg_list is set to TRUE.
2542       IF FND_API.to_Boolean( p_init_msg_list )
2543       THEN
2544           FND_MSG_PUB.initialize;
2545       END IF;
2546 
2547       -- Debug Message
2548       IF OZF_DEBUG_LOW_ON THEN
2549          FND_MESSAGE.Set_Name('OZF','OZF_API_DEBUG_MESSAGE');
2550          FND_MESSAGE.Set_Token('TEXT',l_api_name||': START');
2551          FND_MSG_PUB.Add;
2552       END IF;
2553 
2554       -- Initialize API return status to SUCCESS
2555       x_return_status := FND_API.G_RET_STS_SUCCESS;
2556 
2557       If (P_CLAIMS_HISTORY_Rec.object_version_number is NULL or
2558           P_CLAIMS_HISTORY_Rec.object_version_number = FND_API.G_MISS_NUM ) Then
2559           IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
2560              FND_MESSAGE.Set_Name('OZF', 'OZF_API_NO_OBJ_VER_NUM');
2561              FND_MSG_PUB.ADD;
2562           END IF;
2563           raise FND_API.G_EXC_ERROR;
2564       End if;
2565 
2566       -- Check Whether record has been changed by someone else
2567       OPEN object_version_number_csr(P_CLAIMS_HISTORY_Rec.claim_history_id);
2568       FETCH object_version_number_csr INTO l_object_version_number;
2569       CLOSE object_version_number_csr;
2570 
2571       IF l_object_version_number <> P_CLAIMS_HISTORY_Rec.object_version_number THEN
2572          IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
2573             FND_MESSAGE.Set_Name('OZF', 'OZF_API_RESOURCE_LOCKED');
2574             FND_MSG_PUB.ADD;
2575          END IF;
2576          RAISE FND_API.G_EXC_ERROR;
2577       END IF;
2578 
2579       Complete_Claim_History_Rec (
2580          p_claim_history_rec  => p_claims_history_rec
2581         ,x_complete_rec       => l_claims_history_rec
2582         ,x_return_status      => l_return_status
2583       );
2584 
2585       IF l_return_status = FND_API.g_ret_sts_error THEN
2586          RAISE FND_API.g_exc_error;
2590 
2587       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
2588          RAISE FND_API.g_exc_unexpected_error;
2589       END IF;
2591       IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL) THEN
2592 
2593 	  -- Invoke validation procedures
2594           Validate_claims_history(
2595             p_api_version_number     => 1.0,
2596             p_init_msg_list    => FND_API.G_FALSE,
2597             p_validation_level => p_validation_level,
2598             P_CLAIMS_HISTORY_Rec  =>  l_CLAIMS_HISTORY_Rec,
2599             x_return_status    => x_return_status,
2600             x_msg_count        => x_msg_count,
2601             x_msg_data         => x_msg_data);
2602           IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
2603              RAISE FND_API.G_EXC_ERROR;
2604           END IF;
2605       END IF;
2606 
2607 
2608       -- Invoke table handler(OZF_claims_history_PKG.Update_Row)
2609       Begin
2610         OZF_claims_history_PKG.Update_Row(
2611           p_CLAIM_HISTORY_ID       => l_CLAIMS_HISTORY_rec.CLAIM_HISTORY_ID,
2612           p_OBJECT_VERSION_NUMBER  => l_CLAIMS_HISTORY_rec.OBJECT_VERSION_NUMBER +1 ,
2613           p_LAST_UPDATE_DATE       => SYSDATE,
2614           p_LAST_UPDATED_BY        => FND_GLOBAL.USER_ID,
2615           p_LAST_UPDATE_LOGIN      => FND_GLOBAL.CONC_LOGIN_ID,
2616           p_REQUEST_ID             => l_CLAIMS_HISTORY_rec.REQUEST_ID,
2617           p_PROGRAM_APPLICATION_ID => l_CLAIMS_HISTORY_rec.PROGRAM_APPLICATION_ID,
2618           p_PROGRAM_UPDATE_DATE    => l_CLAIMS_HISTORY_rec.PROGRAM_UPDATE_DATE,
2619           p_PROGRAM_ID             => l_CLAIMS_HISTORY_rec.PROGRAM_ID,
2620           p_CREATED_FROM           => l_CLAIMS_HISTORY_rec.CREATED_FROM,
2621           p_BATCH_ID               => l_CLAIMS_HISTORY_rec.BATCH_ID,
2622           p_CLAIM_ID               => l_CLAIMS_HISTORY_rec.CLAIM_ID,
2623           p_CLAIM_NUMBER           => l_CLAIMS_HISTORY_rec.CLAIM_NUMBER,
2624           p_CLAIM_TYPE_ID          => l_CLAIMS_HISTORY_rec.CLAIM_TYPE_ID,
2625           p_CLAIM_CLASS            => l_CLAIMS_HISTORY_REC.CLAIM_CLASS,
2626           p_CLAIM_DATE             => l_CLAIMS_HISTORY_rec.CLAIM_DATE,
2627           p_DUE_DATE               => l_CLAIMS_HISTORY_rec.DUE_DATE,
2628           p_OWNER_ID               => l_CLAIMS_HISTORY_rec.OWNER_ID,
2629           p_HISTORY_EVENT          => l_CLAIMS_HISTORY_rec.HISTORY_EVENT,
2630           p_HISTORY_EVENT_DATE     => l_CLAIMS_HISTORY_rec.HISTORY_EVENT_DATE,
2631           p_HISTORY_EVENT_DESCRIPTION  => l_CLAIMS_HISTORY_rec.HISTORY_EVENT_DESCRIPTION,
2632           p_SPLIT_FROM_CLAIM_ID    => l_CLAIMS_HISTORY_rec.SPLIT_FROM_CLAIM_ID,
2633           p_duplicate_claim_id     => l_claims_history_rec.duplicate_claim_id,
2634           p_SPLIT_DATE             => l_CLAIMS_HISTORY_rec.SPLIT_DATE,
2635           p_ROOT_CLAIM_ID          => l_claims_history_rec.ROOT_CLAIM_ID,
2636           p_AMOUNT                 => l_CLAIMS_HISTORY_rec.AMOUNT,
2637           p_AMOUNT_ADJUSTED        => l_CLAIMS_HISTORY_rec.AMOUNT_ADJUSTED,
2638           p_AMOUNT_REMAINING       => l_CLAIMS_HISTORY_rec.AMOUNT_REMAINING,
2639           p_AMOUNT_SETTLED         => l_CLAIMS_HISTORY_rec.AMOUNT_SETTLED,
2640           p_ACCTD_AMOUNT           => l_CLAIMS_HISTORY_rec.ACCTD_AMOUNT,
2641           p_acctd_amount_remaining => l_claims_history_rec.acctd_amount_remaining,
2642           p_acctd_AMOUNT_ADJUSTED  => l_CLAIMS_HISTORY_rec.acctd_AMOUNT_ADJUSTED,
2643           p_acctd_AMOUNT_SETTLED   => l_CLAIMS_HISTORY_rec.acctd_AMOUNT_SETTLED,
2644           p_tax_amount             => l_claims_history_rec.tax_amount,
2645           p_tax_code               => l_claims_history_rec.tax_code,
2646           p_tax_calculation_flag   => l_claims_history_rec.tax_calculation_flag,
2647           p_CURRENCY_CODE          => l_CLAIMS_HISTORY_rec.CURRENCY_CODE,
2648           p_EXCHANGE_RATE_TYPE     => l_CLAIMS_HISTORY_rec.EXCHANGE_RATE_TYPE,
2649           p_EXCHANGE_RATE_DATE     => l_CLAIMS_HISTORY_rec.EXCHANGE_RATE_DATE,
2650           p_EXCHANGE_RATE          => l_CLAIMS_HISTORY_rec.EXCHANGE_RATE,
2651           p_SET_OF_BOOKS_ID        => l_CLAIMS_HISTORY_rec.SET_OF_BOOKS_ID,
2652           p_ORIGINAL_CLAIM_DATE    => l_CLAIMS_HISTORY_rec.ORIGINAL_CLAIM_DATE,
2653           p_SOURCE_OBJECT_ID       => l_CLAIMS_HISTORY_rec.SOURCE_OBJECT_ID,
2654           p_SOURCE_OBJECT_CLASS    => l_CLAIMS_HISTORY_rec.SOURCE_OBJECT_CLASS,
2655           p_SOURCE_OBJECT_TYPE_ID  => l_CLAIMS_HISTORY_rec.SOURCE_OBJECT_TYPE_ID,
2656           p_SOURCE_OBJECT_NUMBER   => l_CLAIMS_HISTORY_rec.SOURCE_OBJECT_NUMBER,
2657           p_CUST_ACCOUNT_ID        => l_CLAIMS_HISTORY_rec.CUST_ACCOUNT_ID,
2658           p_CUST_BILLTO_ACCT_SITE_ID  => l_CLAIMS_HISTORY_rec.CUST_BILLTO_ACCT_SITE_ID,
2659           p_cust_shipto_acct_site_id  => l_claims_history_rec.cust_shipto_acct_site_id,
2660           p_LOCATION_ID            => l_CLAIMS_HISTORY_rec.LOCATION_ID,
2661           p_PAY_RELATED_ACCOUNT_FLAG => l_claims_history_rec.PAY_RELATED_ACCOUNT_FLAG,
2662           p_RELATED_CUST_ACCOUNT_ID  => l_claims_history_rec.RELATED_CUST_ACCOUNT_ID,
2663           p_RELATED_SITE_USE_ID      => l_claims_history_rec.RELATED_SITE_USE_ID,
2664           p_RELATIONSHIP_TYPE        => l_claims_history_rec.RELATIONSHIP_TYPE,
2665           p_VENDOR_ID                => l_claims_history_rec.VENDOR_ID,
2666           p_VENDOR_SITE_ID           => l_claims_history_rec.VENDOR_SITE_ID,
2667           p_REASON_TYPE              => l_CLAIMS_HISTORY_rec.REASON_TYPE,
2668           p_REASON_CODE_ID           => l_CLAIMS_HISTORY_rec.REASON_CODE_ID,
2669           p_TASK_TEMPLATE_GROUP_ID   => l_claims_history_rec.TASK_TEMPLATE_GROUP_ID,
2670           p_STATUS_CODE              => l_CLAIMS_HISTORY_rec.STATUS_CODE,
2671           p_USER_STATUS_ID           => l_CLAIMS_HISTORY_rec.USER_STATUS_ID,
2672           p_SALES_REP_ID             => l_CLAIMS_HISTORY_rec.SALES_REP_ID,
2673           p_COLLECTOR_ID             => l_CLAIMS_HISTORY_rec.COLLECTOR_ID,
2677           p_CUSTOMER_REF_DATE        => l_CLAIMS_HISTORY_rec.CUSTOMER_REF_DATE,
2674           p_CONTACT_ID               => l_CLAIMS_HISTORY_rec.CONTACT_ID,
2675           p_BROKER_ID                => l_CLAIMS_HISTORY_rec.BROKER_ID,
2676           p_TERRITORY_ID             => l_CLAIMS_HISTORY_rec.TERRITORY_ID,
2678           p_CUSTOMER_REF_NUMBER      => l_CLAIMS_HISTORY_rec.CUSTOMER_REF_NUMBER,
2679           p_ASSIGNED_TO              => l_CLAIMS_HISTORY_rec.ASSIGNED_TO,
2680           p_RECEIPT_ID               => l_CLAIMS_HISTORY_rec.RECEIPT_ID,
2681           p_RECEIPT_NUMBER           => l_CLAIMS_HISTORY_rec.RECEIPT_NUMBER,
2682           p_DOC_SEQUENCE_ID          => l_CLAIMS_HISTORY_rec.DOC_SEQUENCE_ID,
2683           p_DOC_SEQUENCE_VALUE       => l_CLAIMS_HISTORY_rec.DOC_SEQUENCE_VALUE,
2684           p_GL_DATE                  => l_CLAIMS_HISTORY_rec.GL_DATE,
2685           p_PAYMENT_METHOD           => l_CLAIMS_HISTORY_rec.PAYMENT_METHOD,
2686           p_VOUCHER_ID               => l_CLAIMS_HISTORY_rec.VOUCHER_ID,
2687           p_VOUCHER_NUMBER           => l_CLAIMS_HISTORY_rec.VOUCHER_NUMBER,
2688           p_PAYMENT_REFERENCE_ID     => l_CLAIMS_HISTORY_rec.PAYMENT_REFERENCE_ID,
2689           p_PAYMENT_REFERENCE_NUMBER => l_CLAIMS_HISTORY_rec.PAYMENT_REFERENCE_NUMBER,
2690           p_PAYMENT_REFERENCE_DATE   => l_CLAIMS_HISTORY_rec.PAYMENT_REFERENCE_DATE,
2691           p_PAYMENT_STATUS           => l_CLAIMS_HISTORY_rec.PAYMENT_STATUS,
2692           p_APPROVED_FLAG            => l_CLAIMS_HISTORY_rec.APPROVED_FLAG,
2693           p_APPROVED_DATE            => l_CLAIMS_HISTORY_rec.APPROVED_DATE,
2694           p_APPROVED_BY              => l_CLAIMS_HISTORY_rec.APPROVED_BY,
2695           p_SETTLED_DATE             => l_CLAIMS_HISTORY_rec.SETTLED_DATE,
2696           p_SETTLED_BY               => l_CLAIMS_HISTORY_rec.SETTLED_BY,
2697           p_CUSTOM_SETUP_ID          => l_claims_history_rec.CUSTOM_SETUP_ID,
2698           p_effective_date           => l_claims_history_rec.effective_date,
2699           p_TASK_ID                  => l_claims_history_rec.TASK_ID,
2700           p_COUNTRY_ID               => l_claims_history_rec.COUNTRY_ID,
2701           p_ORDER_TYPE_ID               => l_claims_history_rec.ORDER_TYPE_ID,
2702           p_COMMENTS                 => l_CLAIMS_HISTORY_rec.COMMENTS,
2703           p_LETTER_ID                => l_CLAIMS_HISTORY_rec.LETTER_ID,
2704           p_LETTER_DATE              => l_CLAIMS_HISTORY_rec.LETTER_DATE,
2705           p_TASK_SOURCE_OBJECT_ID    => l_CLAIMS_HISTORY_rec.TASK_SOURCE_OBJECT_ID,
2706           p_TASK_SOURCE_OBJECT_TYPE_CODE  => l_CLAIMS_HISTORY_rec.TASK_SOURCE_OBJECT_TYPE_CODE,
2707           p_ATTRIBUTE_CATEGORY       => l_CLAIMS_HISTORY_rec.ATTRIBUTE_CATEGORY,
2708           p_ATTRIBUTE1  => l_CLAIMS_HISTORY_rec.ATTRIBUTE1,
2709           p_ATTRIBUTE2  => l_CLAIMS_HISTORY_rec.ATTRIBUTE2,
2710           p_ATTRIBUTE3  => l_CLAIMS_HISTORY_rec.ATTRIBUTE3,
2711           p_ATTRIBUTE4  => l_CLAIMS_HISTORY_rec.ATTRIBUTE4,
2712           p_ATTRIBUTE5  => l_CLAIMS_HISTORY_rec.ATTRIBUTE5,
2713           p_ATTRIBUTE6  => l_CLAIMS_HISTORY_rec.ATTRIBUTE6,
2714           p_ATTRIBUTE7  => l_CLAIMS_HISTORY_rec.ATTRIBUTE7,
2715           p_ATTRIBUTE8  => l_CLAIMS_HISTORY_rec.ATTRIBUTE8,
2716           p_ATTRIBUTE9  => l_CLAIMS_HISTORY_rec.ATTRIBUTE9,
2717           p_ATTRIBUTE10  => l_CLAIMS_HISTORY_rec.ATTRIBUTE10,
2718           p_ATTRIBUTE11  => l_CLAIMS_HISTORY_rec.ATTRIBUTE11,
2719           p_ATTRIBUTE12  => l_CLAIMS_HISTORY_rec.ATTRIBUTE12,
2720           p_ATTRIBUTE13  => l_CLAIMS_HISTORY_rec.ATTRIBUTE13,
2721           p_ATTRIBUTE14  => l_CLAIMS_HISTORY_rec.ATTRIBUTE14,
2722           p_ATTRIBUTE15  => l_CLAIMS_HISTORY_rec.ATTRIBUTE15,
2723           p_DEDUCTION_ATTRIBUTE_CATEGORY  => l_claims_history_rec.DEDUCTION_ATTRIBUTE_CATEGORY,
2724           p_DEDUCTION_ATTRIBUTE1  => l_claims_history_rec.DEDUCTION_ATTRIBUTE1,
2725           p_DEDUCTION_ATTRIBUTE2  => l_claims_history_rec.DEDUCTION_ATTRIBUTE2,
2726           p_DEDUCTION_ATTRIBUTE3  => l_claims_history_rec.DEDUCTION_ATTRIBUTE3,
2727           p_DEDUCTION_ATTRIBUTE4  => l_claims_history_rec.DEDUCTION_ATTRIBUTE4,
2728           p_DEDUCTION_ATTRIBUTE5  => l_claims_history_rec.DEDUCTION_ATTRIBUTE5,
2729           p_DEDUCTION_ATTRIBUTE6  => l_claims_history_rec.DEDUCTION_ATTRIBUTE6,
2730           p_DEDUCTION_ATTRIBUTE7  => l_claims_history_rec.DEDUCTION_ATTRIBUTE7,
2731           p_DEDUCTION_ATTRIBUTE8  => l_claims_history_rec.DEDUCTION_ATTRIBUTE8,
2732           p_DEDUCTION_ATTRIBUTE9  => l_claims_history_rec.DEDUCTION_ATTRIBUTE9,
2733           p_DEDUCTION_ATTRIBUTE10  => l_claims_history_rec.DEDUCTION_ATTRIBUTE10,
2734           p_DEDUCTION_ATTRIBUTE11  => l_claims_history_rec.DEDUCTION_ATTRIBUTE11,
2735           p_DEDUCTION_ATTRIBUTE12  => l_claims_history_rec.DEDUCTION_ATTRIBUTE12,
2736           p_DEDUCTION_ATTRIBUTE13  => l_claims_history_rec.DEDUCTION_ATTRIBUTE13,
2737           p_DEDUCTION_ATTRIBUTE14  => l_claims_history_rec.DEDUCTION_ATTRIBUTE14,
2738           p_DEDUCTION_ATTRIBUTE15  => l_claims_history_rec.DEDUCTION_ATTRIBUTE15,
2739           p_ORG_ID                 => l_CLAIMS_HISTORY_rec.ORG_ID,
2740 	       p_WRITE_OFF_FLAG                => l_CLAIMS_HISTORY_rec.WRITE_OFF_FLAG,
2741 	       p_WRITE_OFF_THRESHOLD_AMOUNT    => l_CLAIMS_HISTORY_rec.WRITE_OFF_THRESHOLD_AMOUNT,
2742 	       p_UNDER_WRITE_OFF_THRESHOLD     => l_CLAIMS_HISTORY_rec.UNDER_WRITE_OFF_THRESHOLD,
2743 	       p_CUSTOMER_REASON               => l_CLAIMS_HISTORY_rec.CUSTOMER_REASON,
2744           p_SHIP_TO_CUST_ACCOUNT_ID   => l_CLAIMS_HISTORY_rec.SHIP_TO_CUST_ACCOUNT_ID,
2745           p_AMOUNT_APPLIED => l_claims_history_rec.AMOUNT_APPLIED,                          --Bug:2781186
2746           p_APPLIED_RECEIPT_ID => l_claims_history_rec.APPLIED_RECEIPT_ID,                  --Bug:2781186
2747           p_APPLIED_RECEIPT_NUMBER => l_claims_history_rec.APPLIED_RECEIPT_NUMBER,           --Bug:2781186
2748           p_WO_REC_TRX_ID          => l_CLAIMS_HISTORY_rec.WO_REC_TRX_ID,
2752           p_BATCH_TYPE          => l_CLAIMS_HISTORY_rec.BATCH_TYPE
2749           p_GROUP_CLAIM_ID          => l_CLAIMS_HISTORY_rec.GROUP_CLAIM_ID,
2750           p_APPR_WF_ITEM_KEY          => l_CLAIMS_HISTORY_rec.APPR_WF_ITEM_KEY,
2751           p_CSTL_WF_ITEM_KEY          => l_CLAIMS_HISTORY_rec.CSTL_WF_ITEM_KEY,
2753           );
2754       EXCEPTION
2755        WHEN OTHERS THEN
2756          IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
2757              FND_MESSAGE.set_name('OZF', 'OZF_TABLE_HANDLER_ERROR');
2758              FND_MSG_PUB.add;
2759          END IF;
2760          RAISE FND_API.g_exc_error;
2761       END;
2762 
2763       -- Standard check for p_commit
2764       IF FND_API.to_Boolean( p_commit )
2765       THEN
2766           COMMIT WORK;
2767       END IF;
2768 
2769 
2770       -- Debug Message
2771       IF OZF_DEBUG_LOW_ON THEN
2772         FND_MESSAGE.Set_Name('OZF','OZF_API_DEBUG_MESSAGE');
2773         FND_MESSAGE.Set_Token('TEXT',l_api_name||': End');
2774         FND_MSG_PUB.Add;
2775       END IF;
2776 
2777       -- Standard call to get message count and if count is 1, get message info.
2778       FND_MSG_PUB.Count_And_Get
2779         (p_count          =>   x_msg_count,
2780          p_data           =>   x_msg_data
2781       );
2782 EXCEPTION
2783    WHEN FND_API.G_EXC_ERROR THEN
2784     ROLLBACK TO UPDATE_CLAIMS_HISTORY_PVT;
2785     x_return_status := FND_API.G_RET_STS_ERROR;
2786     -- Standard call to get message count and if count=1, get the message
2787     FND_MSG_PUB.Count_And_Get (
2788             p_encoded => FND_API.G_FALSE,
2789             p_count => x_msg_count,
2790             p_data  => x_msg_data
2791     );
2792    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2793     ROLLBACK TO UPDATE_CLAIMS_HISTORY_PVT;
2794     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2795     -- Standard call to get message count and if count=1, get the message
2796     FND_MSG_PUB.Count_And_Get (
2797             p_encoded => FND_API.G_FALSE,
2798             p_count => x_msg_count,
2799              p_data  => x_msg_data
2800     );
2801    WHEN OTHERS THEN
2802     ROLLBACK TO UPDATE_CLAIMS_HISTORY_PVT;
2803     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2804     IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2805     THEN
2806             FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
2807     END IF;
2808     -- Standard call to get message count and if count=1, get the message
2809     FND_MSG_PUB.Count_And_Get (
2810             p_encoded => FND_API.G_FALSE,
2811             p_count => x_msg_count,
2812             p_data  => x_msg_data
2813     );
2814 End Update_claims_history;
2815 
2816 ---------------------------------------------------------------------
2817 -- PROCEDURE
2818 --    Validate_Claims_History
2819 --
2820 -- PURPOSE
2821 --    This procedure validates a claim history record.
2822 --
2823 -- PARAMETERS
2824 --    p_CLAIMS_HISTORY_Rec: The record that you want to validate.
2825 --
2826 -- NOTES:
2827 --    Currently, there is no criteria that we need to check.
2828 --
2829 ---------------------------------------------------------------------
2830 PROCEDURE Validate_claims_history(
2831     P_Api_Version_Number         IN   NUMBER,
2832     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
2833     P_Validation_level           IN   NUMBER := FND_API.G_VALID_LEVEL_FULL,
2834     P_CLAIMS_HISTORY_Rec         IN    CLAIMS_HISTORY_Rec_Type,
2835     X_Return_Status              OUT NOCOPY  VARCHAR2,
2836     X_Msg_Count                  OUT NOCOPY  NUMBER,
2837     X_Msg_Data                   OUT NOCOPY  VARCHAR2
2838     )
2839  IS
2840 l_api_name                CONSTANT VARCHAR2(30) := 'Validate_claims_history';
2841 l_api_version_number      CONSTANT NUMBER   := 1.0;
2842 l_object_version_number   NUMBER;
2843 
2844  BEGIN
2845       -- Standard Start of API savepoint
2846       SAVEPOINT VALIDATE_CLAIMS_HISTORY_PVT;
2847 
2848       -- Standard call to check for call compatibility.
2849       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
2850                                         p_api_version_number,
2851                                            l_api_name,
2852                                            G_PKG_NAME)
2853       THEN
2854           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2855       END IF;
2856 
2857       -- Initialize message list if p_init_msg_list is set to TRUE.
2858       IF FND_API.to_Boolean( p_init_msg_list )
2859       THEN
2860           FND_MSG_PUB.initialize;
2861       END IF;
2862 
2863       -- Api body
2864       --
2865       -- Debug Message
2866       IF OZF_DEBUG_LOW_ON THEN
2867          FND_MESSAGE.Set_Name('OZF','OZF_API_DEBUG_MESSAGE');
2868          FND_MESSAGE.Set_Token('TEXT',l_api_name||': Start');
2869          FND_MSG_PUB.Add;
2870       END IF;
2871 
2872       IF p_validation_level >= JTF_PLSQL_API.g_valid_level_item THEN
2873               IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2874                   RAISE FND_API.G_EXC_ERROR;
2875               ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2876                   RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2877               END IF;
2878       END IF;
2879 
2880       -- Initialize API return status to SUCCESS
2881       x_return_status := FND_API.G_RET_STS_SUCCESS;
2882 
2883       -- Debug Message
2884       IF OZF_DEBUG_LOW_ON THEN
2885          FND_MESSAGE.Set_Name('OZF','OZF_API_DEBUG_MESSAGE');
2886          FND_MESSAGE.Set_Token('TEXT',l_api_name||': End');
2887          FND_MSG_PUB.Add;
2888       END IF;
2889 
2890       -- Standard call to get message count and if count is 1, get message info.
2891       FND_MSG_PUB.Count_And_Get
2892         (p_count          =>   x_msg_count,
2893          p_data           =>   x_msg_data
2894       );
2895 EXCEPTION
2896    WHEN FND_API.G_EXC_ERROR THEN
2897     ROLLBACK TO VALIDATE_CLAIMS_HISTORY_PVT;
2898     x_return_status := FND_API.G_RET_STS_ERROR;
2899     -- Standard call to get message count and if count=1, get the message
2900     FND_MSG_PUB.Count_And_Get (
2901             p_encoded => FND_API.G_FALSE,
2902             p_count => x_msg_count,
2903             p_data  => x_msg_data
2904     );
2905    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2906     ROLLBACK TO VALIDATE_CLAIMS_HISTORY_PVT;
2907     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2908     -- Standard call to get message count and if count=1, get the message
2909     FND_MSG_PUB.Count_And_Get (
2910             p_encoded => FND_API.G_FALSE,
2911             p_count => x_msg_count,
2912              p_data  => x_msg_data
2913     );
2914    WHEN OTHERS THEN
2915     ROLLBACK TO VALIDATE_CLAIMS_HISTORY_PVT;
2916     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2917     IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2918     THEN
2919             FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
2920     END IF;
2921     -- Standard call to get message count and if count=1, get the message
2922     FND_MSG_PUB.Count_And_Get (
2923             p_encoded => FND_API.G_FALSE,
2924             p_count => x_msg_count,
2925             p_data  => x_msg_data
2926     );
2927 End Validate_claims_history;
2928 
2929 End OZF_claims_history_PVT;