DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_INVOICE_FORMATS_PUB

Source


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