[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;