DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_REMARKETING_COSTS_PUB

Source


1 PACKAGE BODY okl_remarketing_costs_pub AS
2 /* $Header: OKLPRFCB.pls 120.3 2006/01/04 01:42:06 sgorantl noship $ */
3   G_CHK_ASSET_RETURN_FEE           CONSTANT VARCHAR2(200) := 'OKL_CHK_ASSET_RETURN_FEE';
4 
5 PROCEDURE insert_remarketing_costs(
6      p_api_version                  IN   NUMBER
7     ,p_init_msg_list                IN   VARCHAR2 DEFAULT FND_API.G_FALSE
8     ,x_return_status                OUT  NOCOPY VARCHAR2
9     ,x_msg_count                    OUT  NOCOPY NUMBER
10     ,x_msg_data                     OUT  NOCOPY VARCHAR2
11     ,p_rfcv_rec                     IN   rfcv_rec_type
12     ,x_rfcv_rec                     OUT  NOCOPY rfcv_rec_type) IS
13 
14 
15 l_api_version NUMBER ;
16 l_init_msg_list VARCHAR2(1) ;
17 l_return_status VARCHAR2(1);
18 l_msg_count NUMBER ;
19 l_msg_data VARCHAR2(2000);
20 lp_rfcv_rec  rfcv_rec_type;
21 lx_rfcv_rec  rfcv_rec_type;
22 
23 
24 
25 
26 BEGIN
27 
28 SAVEPOINT remarketing_costs_insert;
29 
30 
31 
32 
33 
34 
35 
36 l_api_version := p_api_version ;
37 l_init_msg_list := p_init_msg_list ;
38 l_return_status := x_return_status ;
39 l_msg_count := x_msg_count ;
40 l_msg_data := x_msg_data ;
41 lp_rfcv_rec :=  p_rfcv_rec;
42 lx_rfcv_rec :=  x_rfcv_rec;
43 
44 --suresh gorantla Bug #3477112
45  IF nvl(lp_rfcv_rec.AMOUNT,0.00) <= 0.00 THEN
46 
47             Okl_Api.SET_MESSAGE(p_app_name	   => G_APP_NAME,
48 		 		p_msg_name	   => G_CHK_ASSET_RETURN_FEE);
49             l_return_status := FND_API.G_RET_STS_ERROR;
50             RAISE FND_API.G_EXC_ERROR;
51  END IF;
52 --suresh gorantla Bug #3477112
53 
54 
55 okl_rfc_pvt.insert_row(
56                           l_api_version
57                          ,l_init_msg_list
58                          ,l_return_status
59                          ,l_msg_count
60                          ,l_msg_data
61                          ,lp_rfcv_rec
62                          ,lx_rfcv_rec);
63 
64 IF ( l_return_status = FND_API.G_RET_STS_ERROR )  THEN
65 	RAISE FND_API.G_EXC_ERROR;
66 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
67 	RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
68 END IF;
69 
70 --Copy value of OUT variable in the IN record type
71 lp_rfcv_rec := lx_rfcv_rec;
72 
73 --Assign value to OUT variables
74 x_rfcv_rec  := lx_rfcv_rec;
75 x_return_status := l_return_status ;
76 x_msg_count := l_msg_count ;
77 x_msg_data := l_msg_data ;
78 
79 EXCEPTION
80 
81     WHEN FND_API.G_EXC_ERROR THEN
82       ROLLBACK TO remarketing_costs_insert;
83       x_return_status := FND_API.G_RET_STS_ERROR;
84       x_msg_count := l_msg_count ;
85       x_msg_data := l_msg_data ;
86       FND_MSG_PUB.count_and_get(
87              p_count   => x_msg_count
88             ,p_data    => x_msg_data);
89     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
90       ROLLBACK TO remarketing_costs_insert;
91       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
92       x_msg_count := l_msg_count ;
93       x_msg_data := l_msg_data ;
94       FND_MSG_PUB.count_and_get(
95              p_count   => x_msg_count
96             ,p_data    => x_msg_data);
97     WHEN OTHERS THEN
98       ROLLBACK TO remarketing_costs_insert;
99       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
100       x_msg_count := l_msg_count ;
101       x_msg_data := l_msg_data ;
102       FND_MSG_PUB.ADD_EXC_MSG('OKL_remarketing_COSTS_PUB','insert_remarketing_costs');
103       FND_MSG_PUB.count_and_get(
104              p_count   => x_msg_count
105             ,p_data    => x_msg_data);
106 END insert_remarketing_costs;
107 
108 PROCEDURE insert_remarketing_costs(
109      p_api_version                  IN   NUMBER
110     ,p_init_msg_list                IN   VARCHAR2 DEFAULT FND_API.G_FALSE
111     ,x_return_status                OUT  NOCOPY VARCHAR2
112     ,x_msg_count                    OUT  NOCOPY NUMBER
113     ,x_msg_data                     OUT  NOCOPY VARCHAR2
114     ,p_rfcv_tbl                     IN   rfcv_tbl_type
115     ,x_rfcv_tbl                     OUT  NOCOPY rfcv_tbl_type) IS
116 
117 l_api_version NUMBER;
118 l_init_msg_list VARCHAR2(1) ;
119 l_msg_data VARCHAR2(2000);
120 l_msg_count NUMBER ;
121 l_return_status VARCHAR2(1);
122 lp_rfcv_tbl  rfcv_tbl_type;
123 lx_rfcv_tbl  rfcv_tbl_type;
124 
125 
126 BEGIN
127 
128 SAVEPOINT remarketing_costs_insert;
129 
130 l_api_version := p_api_version ;
131 l_init_msg_list := p_init_msg_list ;
132 l_return_status := x_return_status ;
133 l_msg_count := x_msg_count ;
134 l_msg_data := x_msg_data ;
135 lp_rfcv_tbl :=  p_rfcv_tbl;
136 lx_rfcv_tbl :=  x_rfcv_tbl;
137 
138 --suresh gorantla Bug #3477112
139  FOR i IN 1..lp_rfcv_tbl.COUNT
140  LOOP
141 
142    IF NVL(lp_rfcv_tbl(i).amount,0.00) <= 0.00 THEN
143 
144             Okl_Api.SET_MESSAGE(p_app_name	   => G_APP_NAME,
145 		 		p_msg_name	   => G_CHK_ASSET_RETURN_FEE);
146             l_return_status := FND_API.G_RET_STS_ERROR;
147             RAISE FND_API.G_EXC_ERROR;
148  END IF;
149  END LOOP;
150 --suresh gorantla Bug #3477112
151 
152  okl_rfc_pvt.insert_row(
153                           l_api_version
154                          ,l_init_msg_list
155                          ,l_return_status
156                          ,l_msg_count
157                          ,l_msg_data
158                          ,lp_rfcv_tbl
159                          ,lx_rfcv_tbl);
160 
161 IF ( l_return_status = FND_API.G_RET_STS_ERROR )  THEN
162 	RAISE FND_API.G_EXC_ERROR;
163 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
164 	RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
165 END IF;
166 
167 --Copy value of OUT variable in the IN record type
168 lp_rfcv_tbl := lx_rfcv_tbl;
169 
170 
171 --Assign value to OUT variables
172 x_rfcv_tbl  := lx_rfcv_tbl;
173 x_return_status := l_return_status ;
174 x_msg_count := l_msg_count ;
175 x_msg_data := l_msg_data ;
176 
177 EXCEPTION
178 
179     WHEN FND_API.G_EXC_ERROR THEN
180       ROLLBACK TO remarketing_costs_insert;
181       x_return_status := FND_API.G_RET_STS_ERROR;
182       x_msg_count := l_msg_count ;
183       x_msg_data := l_msg_data ;
184       FND_MSG_PUB.count_and_get(
185              p_count   => x_msg_count
186             ,p_data    => x_msg_data);
187     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
188       ROLLBACK TO remarketing_costs_insert;
189       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
190       x_msg_count := l_msg_count ;
191       x_msg_data := l_msg_data ;
192       FND_MSG_PUB.count_and_get(
193              p_count   => x_msg_count
194             ,p_data    => x_msg_data);
195     WHEN OTHERS THEN
196       ROLLBACK TO remarketing_costs_insert;
197       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
198       x_msg_count := l_msg_count ;
199       x_msg_data := l_msg_data ;
200       FND_MSG_PUB.ADD_EXC_MSG('OKL_remarketing_COSTS_PUB','insert_remarketing_costs');
201       FND_MSG_PUB.count_and_get(
202              p_count   => x_msg_count
203             ,p_data    => x_msg_data);
204 END insert_remarketing_costs;
205 
206 PROCEDURE lock_remarketing_costs(
207      p_api_version                  IN   NUMBER
208     ,p_init_msg_list                IN   VARCHAR2 DEFAULT FND_API.G_FALSE
209     ,x_return_status                OUT  NOCOPY VARCHAR2
210     ,x_msg_count                    OUT  NOCOPY NUMBER
211     ,x_msg_data                     OUT  NOCOPY VARCHAR2
212     ,p_rfcv_rec                     IN   rfcv_rec_type) IS
213 
214 BEGIN
215     okl_rfc_pvt.lock_row(
216 		    p_api_version,
217 		    p_init_msg_list,
218 		    x_return_status,
219 		    x_msg_count,
220 		    x_msg_data,
221 		    p_rfcv_rec);
222 
223 IF ( x_return_status = FND_API.G_RET_STS_ERROR )  THEN
224 	RAISE FND_API.G_EXC_ERROR;
225 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
226 	RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
227 END IF;
228 
229 
230 EXCEPTION
231 
232     WHEN FND_API.G_EXC_ERROR THEN
233       FND_MSG_PUB.count_and_get(
234              p_count   => x_msg_count
235             ,p_data    => x_msg_data);
236     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
237       FND_MSG_PUB.count_and_get(
238              p_count   => x_msg_count
239             ,p_data    => x_msg_data);
240     WHEN OTHERS THEN
241       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
242       FND_MSG_PUB.ADD_EXC_MSG('OKL_remarketing_COSTS_PUB','lock_remarketing_costs');
243       FND_MSG_PUB.count_and_get(
244              p_count   => x_msg_count
245             ,p_data    => x_msg_data);
246 END lock_remarketing_costs;
247 
248 PROCEDURE lock_remarketing_costs(
249      p_api_version                  IN   NUMBER
250     ,p_init_msg_list                IN   VARCHAR2 DEFAULT FND_API.G_FALSE
251     ,x_return_status                OUT  NOCOPY VARCHAR2
252     ,x_msg_count                    OUT  NOCOPY NUMBER
253     ,x_msg_data                     OUT  NOCOPY VARCHAR2
254     ,p_rfcv_tbl                     IN   rfcv_tbl_type) IS
255 
256 BEGIN
257     okl_rfc_pvt.lock_row(
258 		    p_api_version,
259 		    p_init_msg_list,
260 		    x_return_status,
261 		    x_msg_count,
262 		    x_msg_data,
263 		    p_rfcv_tbl);
264 
265 IF ( x_return_status = FND_API.G_RET_STS_ERROR )  THEN
266 	RAISE FND_API.G_EXC_ERROR;
267 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
268 	RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
269 END IF;
270 
271 
272 EXCEPTION
273 
274     WHEN FND_API.G_EXC_ERROR THEN
275       FND_MSG_PUB.count_and_get(
276              p_count   => x_msg_count
277             ,p_data    => x_msg_data);
278     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
279       FND_MSG_PUB.count_and_get(
280              p_count   => x_msg_count
281             ,p_data    => x_msg_data);
282     WHEN OTHERS THEN
283       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
284       FND_MSG_PUB.ADD_EXC_MSG('OKL_remarketing_COSTS_PUB','lock_remarketing_costs');
285       FND_MSG_PUB.count_and_get(
286              p_count   => x_msg_count
287             ,p_data    => x_msg_data);
288 END lock_remarketing_costs;
289 
290 PROCEDURE update_remarketing_costs(
291      p_api_version                  IN   NUMBER
292     ,p_init_msg_list                IN   VARCHAR2 DEFAULT FND_API.G_FALSE
293     ,x_return_status                OUT  NOCOPY VARCHAR2
294     ,x_msg_count                    OUT  NOCOPY NUMBER
295     ,x_msg_data                     OUT  NOCOPY VARCHAR2
296     ,p_rfcv_rec                     IN   rfcv_rec_type
297     ,x_rfcv_rec                     OUT  NOCOPY rfcv_rec_type) IS
298 
299 l_api_version NUMBER ;
300 l_init_msg_list VARCHAR2(1) ;
301 l_return_status VARCHAR2(1);
302 l_msg_count NUMBER ;
303 l_msg_data VARCHAR2(2000);
304 lp_rfcv_rec  rfcv_rec_type;
305 lx_rfcv_rec  rfcv_rec_type;
306 
307 BEGIN
308 
309 SAVEPOINT remarketing_costs_update;
310 
311 
312 l_api_version := p_api_version ;
313 l_init_msg_list := p_init_msg_list ;
314 l_return_status := x_return_status ;
315 l_msg_count := x_msg_count ;
316 l_msg_data := x_msg_data ;
317 lp_rfcv_rec :=  p_rfcv_rec;
318 lx_rfcv_rec :=  x_rfcv_rec;
319 
320 --suresh gorantla Bug #3477112
321  IF nvl(lp_rfcv_rec.AMOUNT,0.00) <= 0.00 THEN
322 
323             Okl_Api.SET_MESSAGE(p_app_name	   => G_APP_NAME,
324 		 		p_msg_name	   => G_CHK_ASSET_RETURN_FEE);
325             l_return_status := FND_API.G_RET_STS_ERROR;
326             RAISE FND_API.G_EXC_ERROR;
327  END IF;
328 --suresh gorantla Bug #3477112
329 
330 
331     okl_rfc_pvt.update_row(
332                               l_api_version
333                              ,l_init_msg_list
334                              ,l_return_status
335                              ,l_msg_count
336                              ,l_msg_data
337                              ,lp_rfcv_rec
338                              ,lx_rfcv_rec);
339 
340 IF ( l_return_status = FND_API.G_RET_STS_ERROR )  THEN
341 	RAISE FND_API.G_EXC_ERROR;
342 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
343 	RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
344 END IF;
345 
346 --Copy value of OUT variable in the IN record type
347 lp_rfcv_rec := lx_rfcv_rec;
348 
349 
350 
351 
352 --Assign value to OUT variables
353 x_rfcv_rec  := lx_rfcv_rec;
354 x_return_status := l_return_status ;
355 x_msg_count := l_msg_count ;
356 x_msg_data := l_msg_data ;
357 
358 
359 EXCEPTION
360 
361     WHEN FND_API.G_EXC_ERROR THEN
362       ROLLBACK TO remarketing_costs_update;
363       x_return_status := FND_API.G_RET_STS_ERROR;
364       x_msg_count := l_msg_count ;
365       x_msg_data := l_msg_data ;
366       FND_MSG_PUB.count_and_get(
367              p_count   => x_msg_count
368             ,p_data    => x_msg_data);
369     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
370       ROLLBACK TO remarketing_costs_update;
371       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
372       x_msg_count := l_msg_count ;
373       x_msg_data := l_msg_data ;
374       FND_MSG_PUB.count_and_get(
375              p_count   => x_msg_count
376             ,p_data    => x_msg_data);
377     WHEN OTHERS THEN
378       ROLLBACK TO remarketing_costs_update;
379       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
380       x_msg_count := l_msg_count ;
381       x_msg_data := l_msg_data ;
382       FND_MSG_PUB.ADD_EXC_MSG('OKL_remarketing_COSTS_PUB','update_remarketing_costs');
383       FND_MSG_PUB.count_and_get(
384              p_count   => x_msg_count
385             ,p_data    => x_msg_data);
386 END update_remarketing_costs;
387 
388 PROCEDURE update_remarketing_costs(
389      p_api_version                  IN   NUMBER
390     ,p_init_msg_list                IN   VARCHAR2 DEFAULT FND_API.G_FALSE
391     ,x_return_status                OUT  NOCOPY VARCHAR2
392     ,x_msg_count                    OUT  NOCOPY NUMBER
393     ,x_msg_data                     OUT  NOCOPY VARCHAR2
394     ,p_rfcv_tbl                     IN   rfcv_tbl_type
395     ,x_rfcv_tbl                     OUT  NOCOPY rfcv_tbl_type) IS
396 
397 l_api_version NUMBER;
398 l_init_msg_list VARCHAR2(200);
399 l_msg_data VARCHAR2(100);
400 l_msg_count NUMBER ;
401 l_return_status VARCHAR2(1);
402 lp_rfcv_tbl  rfcv_tbl_type;
403 lx_rfcv_tbl  rfcv_tbl_type;
404 
405 BEGIN
406 
407 SAVEPOINT remarketing_costs_update;
408 
409 
410 lp_rfcv_tbl :=  p_rfcv_tbl;
411 lx_rfcv_tbl :=  x_rfcv_tbl;
412 l_api_version := p_api_version ;
413 l_init_msg_list := p_init_msg_list ;
414 l_msg_data := x_msg_data ;
415 l_msg_count := x_msg_count ;
416 
417 --suresh gorantla Bug #3477112
418  FOR i IN 1..lp_rfcv_tbl.COUNT
419  LOOP
420    IF NVL(lp_rfcv_tbl(i).amount,0.00) <= 0.00 THEN
421 
422             Okl_Api.SET_MESSAGE(p_app_name	   => G_APP_NAME,
423 		 		p_msg_name	   => G_CHK_ASSET_RETURN_FEE);
424             l_return_status := FND_API.G_RET_STS_ERROR;
425             RAISE FND_API.G_EXC_ERROR;
426  END IF;
427  END LOOP;
428 --suresh gorantla Bug #3477112
429 
430     okl_rfc_pvt.update_row(
431                               l_api_version
432                              ,l_init_msg_list
433                              ,l_return_status
434                              ,l_msg_count
435                              ,l_msg_data
436                              ,lp_rfcv_tbl
437                              ,lx_rfcv_tbl);
438 
439 IF ( l_return_status = FND_API.G_RET_STS_ERROR )  THEN
440 	RAISE FND_API.G_EXC_ERROR;
441 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
442 	RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
443 END IF;
444 
445 --Copy value of OUT variable in the IN record type
446 lp_rfcv_tbl := lx_rfcv_tbl;
447 
448 
449 
450 --Assign value to OUT variables
451 x_rfcv_tbl  := lx_rfcv_tbl;
452 x_return_status := l_return_status ;
453 x_msg_count := l_msg_count ;
454 x_msg_data := l_msg_data ;
455 
456 
457 EXCEPTION
458 
459     WHEN FND_API.G_EXC_ERROR THEN
460       ROLLBACK TO remarketing_costs_update;
461       x_return_status := FND_API.G_RET_STS_ERROR;
462       x_msg_count := l_msg_count ;
463       x_msg_data := l_msg_data ;
464       FND_MSG_PUB.count_and_get(
465              p_count   => x_msg_count
466             ,p_data    => x_msg_data);
467     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
468       ROLLBACK TO remarketing_costs_update;
469       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
470       x_msg_count := l_msg_count ;
471       x_msg_data := l_msg_data ;
472       FND_MSG_PUB.count_and_get(
473              p_count   => x_msg_count
474             ,p_data    => x_msg_data);
475     WHEN OTHERS THEN
476       ROLLBACK TO remarketing_costs_update;
477       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
478       x_msg_count := l_msg_count ;
479       x_msg_data := l_msg_data ;
480       FND_MSG_PUB.ADD_EXC_MSG('OKL_remarketing_COSTS_PUB','update_remarketing_costs');
481       FND_MSG_PUB.count_and_get(
482              p_count   => x_msg_count
483             ,p_data    => x_msg_data);
484 END update_remarketing_costs;
485 
486 --Put custom code for cascade delete by developer
487 PROCEDURE delete_remarketing_costs(
488      p_api_version                  IN   NUMBER
489     ,p_init_msg_list                IN   VARCHAR2 DEFAULT FND_API.G_FALSE
490     ,x_return_status                OUT  NOCOPY VARCHAR2
491     ,x_msg_count                    OUT  NOCOPY NUMBER
492     ,x_msg_data                     OUT  NOCOPY VARCHAR2
493     ,p_rfcv_rec                     IN   rfcv_rec_type) IS
494 
495 i	                    NUMBER :=0;
496 l_return_status 	    VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
497 l_api_version NUMBER ;
498 l_init_msg_list    VARCHAR2(1) ;
499 l_msg_data VARCHAR2(2000);
500 l_msg_count NUMBER ;
501 lp_rfcv_rec  rfcv_rec_type;
502 lx_rfcv_rec  rfcv_rec_type;
503 
504 BEGIN
505 
506 SAVEPOINT remarketing_costs_delete_rec;
507 
508 
509 l_api_version := p_api_version ;
510 l_init_msg_list := p_init_msg_list ;
511 l_msg_data :=  x_msg_data;
512 l_msg_count := x_msg_count ;
513 lp_rfcv_rec :=  p_rfcv_rec;
514 lx_rfcv_rec :=  p_rfcv_rec;
515 
516 
517 
518 
519 --Delete the Master
520 okl_rfc_pvt.delete_row(
521                           l_api_version
522                          ,l_init_msg_list
523                          ,l_return_status
524                          ,l_msg_count
525                          ,l_msg_data
526                          ,lp_rfcv_rec);
527 
528 IF ( l_return_status = FND_API.G_RET_STS_ERROR )  THEN
529 	RAISE FND_API.G_EXC_ERROR;
530 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
531 	RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
532 END IF;
533 
534 
535 
536 
537 
538 --Assign value to OUT variables
539 x_msg_count := l_msg_count ;
540 x_msg_data := l_msg_data ;
541 x_return_status := l_return_status ;
542 
543 EXCEPTION
544 
545     WHEN FND_API.G_EXC_ERROR THEN
546       ROLLBACK TO remarketing_costs_delete_rec;
547       x_return_status := FND_API.G_RET_STS_ERROR;
548       x_msg_count := l_msg_count ;
549       x_msg_data := l_msg_data ;
550       FND_MSG_PUB.count_and_get(
551              p_count   => x_msg_count
552             ,p_data    => x_msg_data);
553     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
554       ROLLBACK TO remarketing_costs_delete_rec;
555       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
556       x_msg_count := l_msg_count ;
557       x_msg_data := l_msg_data ;
558       FND_MSG_PUB.count_and_get(
559              p_count   => x_msg_count
560             ,p_data    => x_msg_data);
561     WHEN OTHERS THEN
562       ROLLBACK TO remarketing_costs_delete_rec;
563       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
564       x_msg_count := l_msg_count ;
565       x_msg_data := l_msg_data ;
566       FND_MSG_PUB.ADD_EXC_MSG('OKL_remarketing_COSTS_PUB','delete_remarketing_costs');
567       FND_MSG_PUB.count_and_get(
568              p_count   => x_msg_count
569             ,p_data    => x_msg_data);
570 END delete_remarketing_costs;
571 
572 PROCEDURE delete_remarketing_costs(
573      p_api_version                  IN   NUMBER
574     ,p_init_msg_list                IN   VARCHAR2 DEFAULT FND_API.G_FALSE
575     ,x_return_status                OUT  NOCOPY VARCHAR2
576     ,x_msg_count                    OUT  NOCOPY NUMBER
577     ,x_msg_data                     OUT  NOCOPY VARCHAR2
578     ,p_rfcv_tbl                     IN   rfcv_tbl_type) IS
579 
580 i NUMBER := 0;
581 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
582 l_api_version NUMBER := p_api_version ;
583 l_init_msg_list VARCHAR2(1) := p_init_msg_list  ;
584 l_msg_data VARCHAR2(2000);
585 l_msg_count NUMBER ;
586 lp_rfcv_tbl  rfcv_tbl_type;
587 lx_rfcv_tbl  rfcv_tbl_type;
588 
589 BEGIN
590 
591 SAVEPOINT remarketing_costs_delete_tbl;
592 
593 
594 l_api_version := p_api_version ;
595 l_init_msg_list := p_init_msg_list ;
596 l_msg_data :=  x_msg_data;
597 l_msg_count := x_msg_count ;
598 lp_rfcv_tbl :=  p_rfcv_tbl;
599 lx_rfcv_tbl :=  p_rfcv_tbl;
600 
601 
602 
603 
604 BEGIN
605       --Initialize the return status
606       l_return_status := OKC_API.G_RET_STS_SUCCESS;
607 
608       IF (lp_rfcv_tbl.COUNT > 0) THEN
609        	  i := p_rfcv_tbl.FIRST;
610        LOOP
611           delete_remarketing_costs(
612                                l_api_version
613                               ,l_init_msg_list
614                               ,l_return_status
615                               ,l_msg_count
616                               ,l_msg_data
617                               ,lp_rfcv_tbl(i));
618           EXIT WHEN (i = lp_rfcv_tbl.LAST);
619           i := p_rfcv_tbl.NEXT(i);
620        END LOOP;
621       END IF;
622 IF ( l_return_status = FND_API.G_RET_STS_ERROR )  THEN
623 	RAISE FND_API.G_EXC_ERROR;
624 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
625 	RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
626 END IF;
627 
628 END;
629 
630 
631 
632 
633 
634 --Assign value to OUT variables
635 x_msg_count := l_msg_count ;
636 x_msg_data := l_msg_data ;
637 
638 x_return_status := l_return_status ;
639 
640 EXCEPTION
641 
642     WHEN FND_API.G_EXC_ERROR THEN
643       ROLLBACK TO remarketing_costs_delete_tbl;
644       x_return_status := FND_API.G_RET_STS_ERROR;
645       x_msg_count := l_msg_count ;
646       x_msg_data := l_msg_data ;
647       FND_MSG_PUB.count_and_get(
648              p_count   => x_msg_count
649             ,p_data    => x_msg_data);
650     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
651       ROLLBACK TO remarketing_costs_delete_tbl;
652       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
653       x_msg_count := l_msg_count ;
654       x_msg_data := l_msg_data ;
655       FND_MSG_PUB.count_and_get(
656              p_count   => x_msg_count
657             ,p_data    => x_msg_data);
658     WHEN OTHERS THEN
659       ROLLBACK TO remarketing_costs_delete_tbl;
660       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
661       x_msg_count := l_msg_count ;
662       x_msg_data := l_msg_data ;
663       FND_MSG_PUB.ADD_EXC_MSG('OKL_remarketing_COSTS_PUB','delete_remarketing_costs');
664       FND_MSG_PUB.count_and_get(
665              p_count   => x_msg_count
666             ,p_data    => x_msg_data);
667 END delete_remarketing_costs;
668 
669 PROCEDURE validate_rmrkting_costs(
670      p_api_version                  IN   NUMBER
671     ,p_init_msg_list                IN   VARCHAR2 DEFAULT FND_API.G_FALSE
672     ,x_return_status                OUT  NOCOPY VARCHAR2
673     ,x_msg_count                    OUT  NOCOPY NUMBER
674     ,x_msg_data                     OUT  NOCOPY VARCHAR2
675     ,p_rfcv_rec                     IN   rfcv_rec_type) IS
676 
677 l_api_version NUMBER ;
678 l_init_msg_list    VARCHAR2(1) ;
679 l_msg_data VARCHAR2(2000);
680 l_msg_count NUMBER ;
681 lp_rfcv_rec  rfcv_rec_type;
682 lx_rfcv_rec  rfcv_rec_type;
683 l_return_status VARCHAR2(1);
684 
685 BEGIN
686 
687 SAVEPOINT remarketing_costs_validate;
688 
689 
690 l_api_version := p_api_version ;
691 l_init_msg_list := p_init_msg_list ;
692 l_msg_data :=  x_msg_data;
693 l_msg_count := x_msg_count ;
694 lp_rfcv_rec :=  p_rfcv_rec;
695 lx_rfcv_rec :=  p_rfcv_rec;
696 
697 
698 
699 
700 okl_rfc_pvt.validate_row(
701                             l_api_version
702                            ,l_init_msg_list
703                            ,l_return_status
704                            ,l_msg_count
705                            ,l_msg_data
706                            ,lp_rfcv_rec);
707 
708 IF ( l_return_status = FND_API.G_RET_STS_ERROR )  THEN
709 	RAISE FND_API.G_EXC_ERROR;
710 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
711 	RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
712 END IF;
713 
714 --Copy value of OUT variable in the IN record type
715 lp_rfcv_rec := lx_rfcv_rec;
716 
717 
718 
719 
720 
721 
722 
723 
724 --Assign value to OUT variables
725 x_msg_count := l_msg_count ;
726 x_msg_data := l_msg_data ;
727 
728 x_return_status := l_return_status ;
729 
730 EXCEPTION
731 
732     WHEN FND_API.G_EXC_ERROR THEN
733       ROLLBACK TO remarketing_costs_validate;
734       x_return_status := FND_API.G_RET_STS_ERROR;
735       x_msg_count := l_msg_count ;
736       x_msg_data := l_msg_data ;
737       FND_MSG_PUB.count_and_get(
738              p_count   => x_msg_count
739             ,p_data    => x_msg_data);
740     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
741       ROLLBACK TO remarketing_costs_validate;
742       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
743       x_msg_count := l_msg_count ;
744       x_msg_data := l_msg_data ;
745       FND_MSG_PUB.count_and_get(
746              p_count   => x_msg_count
747             ,p_data    => x_msg_data);
748     WHEN OTHERS THEN
749       ROLLBACK TO remarketing_costs_validate;
750       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
751       x_msg_count := l_msg_count ;
752       x_msg_data := l_msg_data ;
753       FND_MSG_PUB.ADD_EXC_MSG('OKL_remarketing_COSTS_PUB','validate_rmrkting_costs');
754       FND_MSG_PUB.count_and_get(
755              p_count   => x_msg_count
756             ,p_data    => x_msg_data);
757 END validate_rmrkting_costs;
758 
759 PROCEDURE validate_rmrkting_costs(
760      p_api_version                  IN   NUMBER
761     ,p_init_msg_list                IN   VARCHAR2 DEFAULT FND_API.G_FALSE
762     ,x_return_status                OUT  NOCOPY VARCHAR2
763     ,x_msg_count                    OUT  NOCOPY NUMBER
764     ,x_msg_data                     OUT  NOCOPY VARCHAR2
765     ,p_rfcv_tbl                     IN   rfcv_tbl_type) IS
766 l_api_version NUMBER ;
767 l_init_msg_list    VARCHAR2(1) ;
768 l_msg_data VARCHAR2(2000);
769 l_msg_count NUMBER ;
770 lp_rfcv_tbl  rfcv_tbl_type;
771 lx_rfcv_tbl  rfcv_tbl_type;
772 l_return_status VARCHAR2(1);
773 
774 BEGIN
775 
776 SAVEPOINT remarketing_costs_validate;
777 
778 
779 l_api_version := p_api_version ;
780 l_init_msg_list := p_init_msg_list ;
781 l_msg_data :=  x_msg_data;
782 l_msg_count := x_msg_count ;
783 lp_rfcv_tbl :=  p_rfcv_tbl;
784 lx_rfcv_tbl :=  p_rfcv_tbl;
785 
786 
787 
788 okl_rfc_pvt.validate_row(
789                             p_api_version
790                            ,p_init_msg_list
791                            ,x_return_status
792                            ,x_msg_count
793                            ,x_msg_data
794                            ,lp_rfcv_tbl);
795 
796 IF ( l_return_status = FND_API.G_RET_STS_ERROR )  THEN
797 	RAISE FND_API.G_EXC_ERROR;
798 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
799 	RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
800 END IF;
801 
802 --Copy value of OUT variable in the IN record type
803 lp_rfcv_tbl := lx_rfcv_tbl;
804 
805 
806 
807 
808 
809 --Assign value to OUT variables
810 x_msg_count := l_msg_count ;
811 x_msg_data := l_msg_data ;
812 
813 x_return_status := l_return_status ;
814 
815 EXCEPTION
816 
817     WHEN FND_API.G_EXC_ERROR THEN
818       ROLLBACK TO remarketing_costs_validate;
819       x_return_status := FND_API.G_RET_STS_ERROR;
820       x_msg_count := l_msg_count ;
821       x_msg_data := l_msg_data ;
822       FND_MSG_PUB.count_and_get(
823              p_count   => x_msg_count
824             ,p_data    => x_msg_data);
825     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
826       ROLLBACK TO remarketing_costs_validate;
827       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
828       x_msg_count := l_msg_count ;
829       x_msg_data := l_msg_data ;
830       FND_MSG_PUB.count_and_get(
831              p_count   => x_msg_count
832             ,p_data    => x_msg_data);
833     WHEN OTHERS THEN
834       ROLLBACK TO remarketing_costs_validate;
835       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
836       x_msg_count := l_msg_count ;
837       x_msg_data := l_msg_data ;
838       FND_MSG_PUB.ADD_EXC_MSG('OKL_remarketing_COSTS_PUB','validate_rmrkting_costs');
839       FND_MSG_PUB.count_and_get(
840              p_count   => x_msg_count
841             ,p_data    => x_msg_data);
842 END validate_rmrkting_costs;
843 
844 END okl_remarketing_costs_pub;