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