[Home] [Help]
PACKAGE BODY: APPS.OKL_SUBSIDY_RFND_DTLS_PVT
Source
1 PACKAGE BODY OKL_SUBSIDY_RFND_DTLS_PVT AS
2 /* $Header: OKLRSRFB.pls 120.4 2006/02/22 17:37:28 rpillay noship $ */
3
4 PROCEDURE validate_refund_record(
5 x_return_status OUT NOCOPY VARCHAR2,
6 p_srfvv_rec IN srfvv_rec_type
7 ) IS
8 l_api_name CONSTANT VARCHAR2(30) := 'VALIDATE_REFUND_RECORD';
9 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
10
11 --cursor to find if vendor id is the subsidy provider party
12 cursor l_cplb_csr(p_vendor_id in number,
13 p_cpl_id in number) is
14 select 'Y'
15 from okc_k_party_roles_b cplb
16 where id = p_cpl_id
17 and object1_id1 = to_char(p_vendor_id);
18
19 l_exists varchar2(1) default 'N';
20
21 BEGIN
22
23 x_return_status := l_return_status;
24 If( p_srfvv_rec.pay_site_id IS NULL) Then
25 OKL_API.set_message(G_APP_NAME, G_REQUIRED_VALUE, G_COL_NAME_TOKEN, 'Pay Site');
26 x_return_status := OKL_API.G_RET_STS_ERROR;
27 RAISE G_EXCEPTION_HALT_VALIDATION;
28 End If;
29 /* If( p_srfvv_rec.payment_term_id IS NULL) Then
30 OKL_API.set_message(G_APP_NAME, G_REQUIRED_VALUE, G_COL_NAME_TOKEN, 'Payment Term');
31 x_return_status := OKL_API.G_RET_STS_ERROR;
32 RAISE G_EXCEPTION_HALT_VALIDATION;
33 End If;
34 If (p_srfvv_rec.payment_method_code IS NULL) Then
35 OKL_API.set_message(G_APP_NAME, G_REQUIRED_VALUE, G_COL_NAME_TOKEN, 'Payment Method');
36 x_return_status := OKL_API.G_RET_STS_ERROR;
37 RAISE G_EXCEPTION_HALT_VALIDATION;
38 End If;
39 */
40 --validate vendor id
41 l_exists := 'N';
42 open l_cplb_csr(p_vendor_id => p_srfvv_rec.vendor_id,
43 p_cpl_id => p_srfvv_rec.cpl_id);
44 fetch l_cplb_csr into l_exists;
45 if l_cplb_csr%NOTFOUND then
46 Null;
47 end if;
48 close l_cplb_csr;
49 If l_exists = 'N' then
50 OKL_API.set_message(G_APP_NAME, G_INVALID_VALUE,G_COL_NAME_TOKEN,'Vendor_Id');
51 x_return_status := OKL_API.G_RET_STS_ERROR;
52 RAISE G_EXCEPTION_HALT_VALIDATION;
53 End If;
54 --end validate vendor id
55
56 EXCEPTION
57 WHEN G_EXCEPTION_HALT_VALIDATION THEN
58 null;
59 WHEN OTHERS THEN
60 OKL_API.SET_MESSAGE( p_app_name => G_APP_NAME
61 ,p_msg_name => G_UNEXPECTED_ERROR
62 ,p_token1 => G_SQLCODE_TOKEN
63 ,p_token1_value => SQLCODE
64 ,p_token2 => G_SQLERRM_TOKEN
65 ,p_token2_value => SQLERRM);
66 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
67 END validate_refund_record;
68
69 PROCEDURE create_refund_dtls(
70 p_api_version IN NUMBER,
71 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
72 x_return_status OUT NOCOPY VARCHAR2,
73 x_msg_count OUT NOCOPY NUMBER,
74 x_msg_data OUT NOCOPY VARCHAR2,
75 p_srfvv_rec IN srfvv_rec_type,
76 x_srfvv_rec OUT NOCOPY srfvv_rec_type
77 ) IS
78 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_SUBSIDY_REFUND';
79 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
80
81 --Bug# 4959361
82 CURSOR l_cpl_csr(p_cpl_id IN NUMBER) IS
83 SELECT cle_id
84 FROM okc_k_party_roles_b cpl
85 WHERE cpl.id = p_cpl_id;
86
87 l_cpl_rec l_cpl_csr%ROWTYPE;
88 --Bug# 4959361
89
90 BEGIN
91 x_return_status := l_return_status;
92 -- Call start_activity to create savepoint, check compatibility
93 -- and initialize message list
94 l_return_status := OKC_API.START_ACTIVITY (l_api_name
95 ,p_init_msg_list
96 ,'_PVT'
97 ,x_return_status);
98 -- Check if activity started successfully
99 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
100 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
101 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
102 RAISE OKC_API.G_EXCEPTION_ERROR;
103 END IF;
104
105 --Bug# 4959361
106 OPEN l_cpl_csr(p_cpl_id => p_srfvv_rec.cpl_id);
107 FETCH l_cpl_csr INTO l_cpl_rec;
108 CLOSE l_cpl_csr;
109
110 IF l_cpl_rec.cle_id IS NOT NULL THEN
111 OKL_LLA_UTIL_PVT.check_line_update_allowed
112 (p_api_version => p_api_version,
113 p_init_msg_list => p_init_msg_list,
114 x_return_status => x_return_status,
115 x_msg_count => x_msg_count,
116 x_msg_data => x_msg_data,
117 p_cle_id => l_cpl_rec.cle_id);
118
119 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
120 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
121 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
122 RAISE OKL_API.G_EXCEPTION_ERROR;
123 END IF;
124 END IF;
125 --Bug# 4959361
126
127 OKL_PYD_PVT.insert_row(p_api_version,
128 p_init_msg_list,
129 x_return_status,
130 x_msg_count,
131 x_msg_data,
132 p_srfvv_rec,
133 x_srfvv_rec);
134
135 If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
136 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
137 Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
138 raise OKL_API.G_EXCEPTION_ERROR;
139 End If;
140
141 validate_refund_record(x_return_status, x_srfvv_rec);
142 IF (x_return_status <> OKL_API.G_RET_STS_SUCCESS) THEN
143 l_return_status := x_return_status;
144 RAISE OKC_API.G_EXCEPTION_ERROR;
145 END IF;
146
147 x_return_status := l_return_status;
148 OKC_API.END_ACTIVITY (x_msg_count
149 ,x_msg_data );
150
151 EXCEPTION
152 WHEN OKC_API.G_EXCEPTION_ERROR THEN
153 x_return_status := OKC_API.HANDLE_EXCEPTIONS
154 (l_api_name,
155 G_PKG_NAME,
156 'OKC_API.G_RET_STS_ERROR',
157 x_msg_count,
158 x_msg_data,
159 '_PVT');
160 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
161 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
162 (l_api_name,
163 G_PKG_NAME,
164 'OKC_API.G_RET_STS_UNEXP_ERROR',
165 x_msg_count,
166 x_msg_data,
167 '_PVT');
168 WHEN OTHERS THEN
169 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
170 (l_api_name,
171 G_PKG_NAME,
172 'OTHERS',
173 x_msg_count,
174 x_msg_data,
175 '_PVT');
176 END create_refund_dtls;
177
178 PROCEDURE create_refund_dtls(
179 p_api_version IN NUMBER,
180 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
181 x_return_status OUT NOCOPY VARCHAR2,
182 x_msg_count OUT NOCOPY NUMBER,
183 x_msg_data OUT NOCOPY VARCHAR2,
184 p_srfvv_tbl IN srfvv_tbl_type,
185 x_srfvv_tbl OUT NOCOPY srfvv_tbl_type
186 ) IS
187 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_SUBSIDY_REFUND';
188 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
189 l_overall_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
190 i NUMBER;
191 BEGIN
192
193 If p_srfvv_tbl.COUNT > 0 Then
194 i := p_srfvv_tbl.FIRST;
195 LOOP
196 -- call procedure in complex API for a record
197 create_refund_dtls(p_api_version,
198 p_init_msg_list,
199 x_return_status,
200 x_msg_count,
201 x_msg_data,
202 p_srfvv_tbl(i),
203 x_srfvv_tbl(i));
204 If x_return_status <> OKL_API.G_RET_STS_SUCCESS Then
205 If l_overall_status <> OKL_API.G_RET_STS_UNEXP_ERROR Then
206 l_overall_status := x_return_status;
207 End If;
208 End If;
209
210 EXIT WHEN (i = p_srfvv_tbl.LAST);
211 i := p_srfvv_tbl.NEXT(i);
212 END LOOP;
213
214 -- return overall status
215 x_return_status := l_overall_status;
216 End If;
217
218 If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
219 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
220 Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
221 raise OKL_API.G_EXCEPTION_ERROR;
222 End If;
223
224 EXCEPTION
225 WHEN OKC_API.G_EXCEPTION_ERROR THEN
226 x_return_status := OKC_API.HANDLE_EXCEPTIONS
227 (l_api_name,
228 G_PKG_NAME,
229 'OKC_API.G_RET_STS_ERROR',
230 x_msg_count,
231 x_msg_data,
232 '_PVT');
233 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
234 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
235 (l_api_name,
236 G_PKG_NAME,
237 'OKC_API.G_RET_STS_UNEXP_ERROR',
238 x_msg_count,
239 x_msg_data,
240 '_PVT');
241 WHEN OTHERS THEN
242 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
243 (l_api_name,
244 G_PKG_NAME,
245 'OTHERS',
246 x_msg_count,
247 x_msg_data,
248 '_PVT');
249 END create_refund_dtls;
250
251 PROCEDURE lock_refund_dtls(
252 p_api_version IN NUMBER,
253 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
254 x_return_status OUT NOCOPY VARCHAR2,
255 x_msg_count OUT NOCOPY NUMBER,
256 x_msg_data OUT NOCOPY VARCHAR2,
257 p_srfvv_rec IN srfvv_rec_type
258 ) IS
259 l_api_name CONSTANT VARCHAR2(30) := 'LOCK_SUBSIDY_REFUND';
260 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
261 BEGIN
262 x_return_status := l_return_status;
263 -- Call start_activity to create savepoint, check compatibility
264 -- and initialize message list
265 l_return_status := OKC_API.START_ACTIVITY (l_api_name
266 ,p_init_msg_list
267 ,'_PVT'
268 ,x_return_status);
269 -- Check if activity started successfully
270 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
271 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
272 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
273 RAISE OKC_API.G_EXCEPTION_ERROR;
274 END IF;
275
276 OKL_PYD_PVT.lock_row(p_api_version,
277 p_init_msg_list,
278 x_return_status,
279 x_msg_count,
280 x_msg_data,
281 p_srfvv_rec);
282
283 If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
284 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
285 Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
286 raise OKL_API.G_EXCEPTION_ERROR;
287 End If;
288
289 OKC_API.END_ACTIVITY (x_msg_count
290 ,x_msg_data );
291
292 EXCEPTION
293 WHEN OKC_API.G_EXCEPTION_ERROR THEN
294 x_return_status := OKC_API.HANDLE_EXCEPTIONS
295 (l_api_name,
296 G_PKG_NAME,
297 'OKC_API.G_RET_STS_ERROR',
298 x_msg_count,
299 x_msg_data,
300 '_PVT');
301 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
302 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
303 (l_api_name,
304 G_PKG_NAME,
305 'OKC_API.G_RET_STS_UNEXP_ERROR',
306 x_msg_count,
307 x_msg_data,
308 '_PVT');
309 WHEN OTHERS THEN
310 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
311 (l_api_name,
312 G_PKG_NAME,
313 'OTHERS',
314 x_msg_count,
315 x_msg_data,
316 '_PVT');
317 END lock_refund_dtls;
318
319 PROCEDURE lock_refund_dtls(
320 p_api_version IN NUMBER,
321 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
322 x_return_status OUT NOCOPY VARCHAR2,
323 x_msg_count OUT NOCOPY NUMBER,
324 x_msg_data OUT NOCOPY VARCHAR2,
325 p_srfvv_tbl IN srfvv_tbl_type
326 ) IS
327 l_api_name CONSTANT VARCHAR2(30) := 'LOCK_SUBSIDY_REFUND';
328 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
329 l_overall_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
330 i NUMBER;
331 BEGIN
332
333 If p_srfvv_tbl.COUNT > 0 Then
334 i := p_srfvv_tbl.FIRST;
335 LOOP
336 -- call procedure in complex API for a record
337 lock_refund_dtls(p_api_version,
338 p_init_msg_list,
339 x_return_status,
340 x_msg_count,
341 x_msg_data,
342 p_srfvv_tbl(i));
343 If x_return_status <> OKL_API.G_RET_STS_SUCCESS Then
344 If l_overall_status <> OKL_API.G_RET_STS_UNEXP_ERROR Then
345 l_overall_status := x_return_status;
346 End If;
347 End If;
348
349 EXIT WHEN (i = p_srfvv_tbl.LAST);
350 i := p_srfvv_tbl.NEXT(i);
351 END LOOP;
352
353 -- return overall status
354 x_return_status := l_overall_status;
355 End If;
356
357 If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
358 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
359 Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
360 raise OKL_API.G_EXCEPTION_ERROR;
361 End If;
362
363 EXCEPTION
364 WHEN OKC_API.G_EXCEPTION_ERROR THEN
365 x_return_status := OKC_API.HANDLE_EXCEPTIONS
366 (l_api_name,
367 G_PKG_NAME,
368 'OKC_API.G_RET_STS_ERROR',
369 x_msg_count,
370 x_msg_data,
371 '_PVT');
372 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
373 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
374 (l_api_name,
375 G_PKG_NAME,
376 'OKC_API.G_RET_STS_UNEXP_ERROR',
377 x_msg_count,
378 x_msg_data,
379 '_PVT');
380 WHEN OTHERS THEN
381 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
382 (l_api_name,
383 G_PKG_NAME,
384 'OTHERS',
385 x_msg_count,
386 x_msg_data,
387 '_PVT');
388 END lock_refund_dtls;
389
390 PROCEDURE delete_refund_dtls(
391 p_api_version IN NUMBER,
392 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
393 x_return_status OUT NOCOPY VARCHAR2,
394 x_msg_count OUT NOCOPY NUMBER,
395 x_msg_data OUT NOCOPY VARCHAR2,
396 p_srfvv_rec IN srfvv_rec_type
397 ) IS
398 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_SUBSIDY_REFUND';
399 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
400
401 --Bug# 4959361
402 CURSOR l_cpl_csr(p_pyd_id IN NUMBER) IS
403 SELECT cpl.cle_id
404 FROM okc_k_party_roles_b cpl,
405 okl_party_payment_dtls pyd
406 WHERE pyd.id = p_pyd_id
407 AND cpl.id = pyd.cpl_id;
408
409 l_cpl_rec l_cpl_csr%ROWTYPE;
410 --Bug# 4959361
411
412 BEGIN
413 x_return_status := l_return_status;
414 -- Call start_activity to create savepoint, check compatibility
415 -- and initialize message list
416 l_return_status := OKC_API.START_ACTIVITY (l_api_name
417 ,p_init_msg_list
418 ,'_PVT'
419 ,x_return_status);
420 -- Check if activity started successfully
421 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
422 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
423 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
424 RAISE OKC_API.G_EXCEPTION_ERROR;
425 END IF;
426
427 --Bug# 4959361
428 OPEN l_cpl_csr(p_pyd_id => p_srfvv_rec.id);
429 FETCH l_cpl_csr INTO l_cpl_rec;
430 CLOSE l_cpl_csr;
431
432 IF l_cpl_rec.cle_id IS NOT NULL THEN
433 OKL_LLA_UTIL_PVT.check_line_update_allowed
434 (p_api_version => p_api_version,
435 p_init_msg_list => p_init_msg_list,
436 x_return_status => x_return_status,
437 x_msg_count => x_msg_count,
438 x_msg_data => x_msg_data,
439 p_cle_id => l_cpl_rec.cle_id);
440
441 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
442 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
443 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
444 RAISE OKL_API.G_EXCEPTION_ERROR;
445 END IF;
446 END IF;
447 --Bug# 4959361
448
449 OKL_PYD_PVT.delete_row(p_api_version,
450 p_init_msg_list,
451 x_return_status,
452 x_msg_count,
453 x_msg_data,
454 p_srfvv_rec);
455
456 If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
457 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
458 Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
459 raise OKL_API.G_EXCEPTION_ERROR;
460 End If;
461
462 OKC_API.END_ACTIVITY (x_msg_count
463 ,x_msg_data );
464
465 EXCEPTION
466 WHEN OKC_API.G_EXCEPTION_ERROR THEN
467 x_return_status := OKC_API.HANDLE_EXCEPTIONS
468 (l_api_name,
469 G_PKG_NAME,
470 'OKC_API.G_RET_STS_ERROR',
471 x_msg_count,
472 x_msg_data,
473 '_PVT');
474 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
475 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
476 (l_api_name,
477 G_PKG_NAME,
478 'OKC_API.G_RET_STS_UNEXP_ERROR',
479 x_msg_count,
480 x_msg_data,
481 '_PVT');
482 WHEN OTHERS THEN
483 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
484 (l_api_name,
485 G_PKG_NAME,
486 'OTHERS',
487 x_msg_count,
488 x_msg_data,
489 '_PVT');
490 END delete_refund_dtls;
491
492 PROCEDURE delete_refund_dtls(
493 p_api_version IN NUMBER,
494 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
495 x_return_status OUT NOCOPY VARCHAR2,
496 x_msg_count OUT NOCOPY NUMBER,
497 x_msg_data OUT NOCOPY VARCHAR2,
498 p_srfvv_tbl IN srfvv_tbl_type
499 ) IS
500 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_SUBSIDY_REFUND';
501 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
502 l_overall_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
503 i NUMBER;
504 BEGIN
505
506 If p_srfvv_tbl.COUNT > 0 Then
507 i := p_srfvv_tbl.FIRST;
508 LOOP
509 -- call procedure in complex API for a record
510 delete_refund_dtls(p_api_version,
511 p_init_msg_list,
512 x_return_status,
513 x_msg_count,
514 x_msg_data,
515 p_srfvv_tbl(i));
516 If x_return_status <> OKL_API.G_RET_STS_SUCCESS Then
517 If l_overall_status <> OKL_API.G_RET_STS_UNEXP_ERROR Then
518 l_overall_status := x_return_status;
519 End If;
520 End If;
521
522 EXIT WHEN (i = p_srfvv_tbl.LAST);
523 i := p_srfvv_tbl.NEXT(i);
524 END LOOP;
525
526 -- return overall status
527 x_return_status := l_overall_status;
528 End If;
529
530 If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
531 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
532 Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
533 raise OKL_API.G_EXCEPTION_ERROR;
534 End If;
535
536 EXCEPTION
537 WHEN OKC_API.G_EXCEPTION_ERROR THEN
538 x_return_status := OKC_API.HANDLE_EXCEPTIONS
539 (l_api_name,
540 G_PKG_NAME,
541 'OKC_API.G_RET_STS_ERROR',
542 x_msg_count,
543 x_msg_data,
544 '_PVT');
545 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
546 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
547 (l_api_name,
548 G_PKG_NAME,
549 'OKC_API.G_RET_STS_UNEXP_ERROR',
550 x_msg_count,
551 x_msg_data,
552 '_PVT');
553 WHEN OTHERS THEN
554 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
555 (l_api_name,
556 G_PKG_NAME,
557 'OTHERS',
558 x_msg_count,
559 x_msg_data,
560 '_PVT');
561 END delete_refund_dtls;
562
563 PROCEDURE update_refund_dtls(
564 p_api_version IN NUMBER,
565 p_init_msg_list IN VARCHAR2 DEFAULT OKC_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_srfvv_rec IN srfvv_rec_type,
570 x_srfvv_rec OUT NOCOPY srfvv_rec_type
571 ) IS
572 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_SUBSIDY_REFUND';
573 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
574
575 --Bug# 4959361
576 CURSOR l_cpl_csr(p_cpl_id IN NUMBER) IS
577 SELECT cle_id
578 FROM okc_k_party_roles_b cpl
579 WHERE cpl.id = p_cpl_id;
580
581 l_cpl_rec l_cpl_csr%ROWTYPE;
582 --Bug# 4959361
583
584 BEGIN
585 x_return_status := l_return_status;
586 -- Call start_activity to create savepoint, check compatibility
587 -- and initialize message list
588 l_return_status := OKC_API.START_ACTIVITY (l_api_name
589 ,p_init_msg_list
590 ,'_PVT'
591 ,x_return_status);
592 -- Check if activity started successfully
593 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
594 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
595 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
596 RAISE OKC_API.G_EXCEPTION_ERROR;
597 END IF;
598
599 --Bug# 4959361
600 OPEN l_cpl_csr(p_cpl_id => p_srfvv_rec.cpl_id);
601 FETCH l_cpl_csr INTO l_cpl_rec;
602 CLOSE l_cpl_csr;
603
604 IF l_cpl_rec.cle_id IS NOT NULL THEN
605 OKL_LLA_UTIL_PVT.check_line_update_allowed
606 (p_api_version => p_api_version,
607 p_init_msg_list => p_init_msg_list,
608 x_return_status => x_return_status,
609 x_msg_count => x_msg_count,
610 x_msg_data => x_msg_data,
611 p_cle_id => l_cpl_rec.cle_id);
612
613 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
614 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
615 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
616 RAISE OKL_API.G_EXCEPTION_ERROR;
617 END IF;
618 END IF;
619 --Bug# 4959361
620
621 OKL_PYD_PVT.update_row(p_api_version,
622 p_init_msg_list,
623 x_return_status,
624 x_msg_count,
625 x_msg_data,
626 p_srfvv_rec,
627 x_srfvv_rec);
628
629 If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
630 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
631 Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
632 raise OKL_API.G_EXCEPTION_ERROR;
633 End If;
634
635 validate_refund_record(x_return_status, x_srfvv_rec);
636 IF (x_return_status <> OKL_API.G_RET_STS_SUCCESS) THEN
637 l_return_status := x_return_status;
638 RAISE OKC_API.G_EXCEPTION_ERROR;
639 END IF;
640
641 OKC_API.END_ACTIVITY (x_msg_count
642 ,x_msg_data );
643
644 EXCEPTION
645 WHEN OKC_API.G_EXCEPTION_ERROR THEN
646 x_return_status := OKC_API.HANDLE_EXCEPTIONS
647 (l_api_name,
648 G_PKG_NAME,
649 'OKC_API.G_RET_STS_ERROR',
650 x_msg_count,
651 x_msg_data,
652 '_PVT');
653 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
654 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
655 (l_api_name,
656 G_PKG_NAME,
657 'OKC_API.G_RET_STS_UNEXP_ERROR',
658 x_msg_count,
659 x_msg_data,
660 '_PVT');
661 WHEN OTHERS THEN
662 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
663 (l_api_name,
664 G_PKG_NAME,
665 'OTHERS',
666 x_msg_count,
667 x_msg_data,
668 '_PVT');
669 END update_refund_dtls;
670
671 PROCEDURE update_refund_dtls(
672 p_api_version IN NUMBER,
673 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
674 x_return_status OUT NOCOPY VARCHAR2,
675 x_msg_count OUT NOCOPY NUMBER,
676 x_msg_data OUT NOCOPY VARCHAR2,
677 p_srfvv_tbl IN srfvv_tbl_type,
678 x_srfvv_tbl OUT NOCOPY srfvv_tbl_type
679 ) IS
680 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_SUBSIDY_REFUND';
681 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
682 l_overall_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
683 i NUMBER;
684
685 BEGIN
686
687 If p_srfvv_tbl.COUNT > 0 Then
688 i := p_srfvv_tbl.FIRST;
689 LOOP
690 -- call procedure in complex API for a record
691 update_refund_dtls(p_api_version,
692 p_init_msg_list,
693 x_return_status,
694 x_msg_count,
695 x_msg_data,
696 p_srfvv_tbl(i),
697 x_srfvv_tbl(i));
698 If x_return_status <> OKL_API.G_RET_STS_SUCCESS Then
699 If l_overall_status <> OKL_API.G_RET_STS_UNEXP_ERROR Then
700 l_overall_status := x_return_status;
701 End If;
702 End If;
703
704 EXIT WHEN (i = p_srfvv_tbl.LAST);
705 i := p_srfvv_tbl.NEXT(i);
706 END LOOP;
707
708 -- return overall status
709 x_return_status := l_overall_status;
710 End If;
711
712 If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
713 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
714 Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
715 raise OKL_API.G_EXCEPTION_ERROR;
716 End If;
717
718 EXCEPTION
719 WHEN OKC_API.G_EXCEPTION_ERROR THEN
720 x_return_status := OKC_API.HANDLE_EXCEPTIONS
721 (l_api_name,
722 G_PKG_NAME,
723 'OKC_API.G_RET_STS_ERROR',
724 x_msg_count,
725 x_msg_data,
726 '_PVT');
727 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
728 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
729 (l_api_name,
730 G_PKG_NAME,
731 'OKC_API.G_RET_STS_UNEXP_ERROR',
732 x_msg_count,
733 x_msg_data,
734 '_PVT');
735 WHEN OTHERS THEN
736 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
737 (l_api_name,
738 G_PKG_NAME,
739 'OTHERS',
740 x_msg_count,
741 x_msg_data,
742 '_PVT');
743 END update_refund_dtls;
744
745 PROCEDURE validate_refund_dtls(
746 p_api_version IN NUMBER,
747 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
748 x_return_status OUT NOCOPY VARCHAR2,
749 x_msg_count OUT NOCOPY NUMBER,
750 x_msg_data OUT NOCOPY VARCHAR2,
751 p_srfvv_rec IN srfvv_rec_type
752 ) IS
753 l_api_name CONSTANT VARCHAR2(30) := 'VALIDATE_SUBSIDY_REFUND';
754 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
755 BEGIN
756 x_return_status := l_return_status;
757 -- Call start_activity to create savepoint, check compatibility
758 -- and initialize message list
759 l_return_status := OKC_API.START_ACTIVITY (l_api_name
760 ,p_init_msg_list
761 ,'_PVT'
762 ,x_return_status);
763 -- Check if activity started successfully
764 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
765 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
766 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
767 RAISE OKC_API.G_EXCEPTION_ERROR;
768 END IF;
769
770 OKL_PYD_PVT.validate_row(p_api_version,
771 p_init_msg_list,
772 x_return_status,
773 x_msg_count,
774 x_msg_data,
775 p_srfvv_rec);
776
777 If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
778 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
779 Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
780 raise OKL_API.G_EXCEPTION_ERROR;
781 End If;
782
783 OKC_API.END_ACTIVITY (x_msg_count
784 ,x_msg_data );
785
786 EXCEPTION
787 WHEN OKC_API.G_EXCEPTION_ERROR THEN
788 x_return_status := OKC_API.HANDLE_EXCEPTIONS
789 (l_api_name,
790 G_PKG_NAME,
791 'OKC_API.G_RET_STS_ERROR',
792 x_msg_count,
793 x_msg_data,
794 '_PVT');
795 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
796 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
797 (l_api_name,
798 G_PKG_NAME,
799 'OKC_API.G_RET_STS_UNEXP_ERROR',
800 x_msg_count,
801 x_msg_data,
802 '_PVT');
803 WHEN OTHERS THEN
804 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
805 (l_api_name,
806 G_PKG_NAME,
807 'OTHERS',
808 x_msg_count,
809 x_msg_data,
810 '_PVT');
811 END validate_refund_dtls;
812
813 PROCEDURE validate_refund_dtls(
814 p_api_version IN NUMBER,
815 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
816 x_return_status OUT NOCOPY VARCHAR2,
817 x_msg_count OUT NOCOPY NUMBER,
818 x_msg_data OUT NOCOPY VARCHAR2,
819 p_srfvv_tbl IN srfvv_tbl_type
820 ) IS
821 l_api_name CONSTANT VARCHAR2(30) := 'VALIDATE_SUBSIDY_REFUND';
822 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
823 l_overall_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
824 i NUMBER;
825 BEGIN
826
827 If p_srfvv_tbl.COUNT > 0 Then
828 i := p_srfvv_tbl.FIRST;
829 LOOP
830 -- call procedure in complex API for a record
831 validate_refund_dtls(p_api_version,
832 p_init_msg_list,
833 x_return_status,
834 x_msg_count,
835 x_msg_data,
836 p_srfvv_tbl(i));
837 If x_return_status <> OKL_API.G_RET_STS_SUCCESS Then
838 If l_overall_status <> OKL_API.G_RET_STS_UNEXP_ERROR Then
839 l_overall_status := x_return_status;
840 End If;
841 End If;
842
843 EXIT WHEN (i = p_srfvv_tbl.LAST);
844 i := p_srfvv_tbl.NEXT(i);
845 END LOOP;
846
847 -- return overall status
848 x_return_status := l_overall_status;
849 End If;
850
851 If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
852 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
853 Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
854 raise OKL_API.G_EXCEPTION_ERROR;
855 End If;
856
857 EXCEPTION
858 WHEN OKC_API.G_EXCEPTION_ERROR THEN
859 x_return_status := OKC_API.HANDLE_EXCEPTIONS
860 (l_api_name,
861 G_PKG_NAME,
862 'OKC_API.G_RET_STS_ERROR',
863 x_msg_count,
864 x_msg_data,
865 '_PVT');
866 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
867 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
868 (l_api_name,
869 G_PKG_NAME,
870 'OKC_API.G_RET_STS_UNEXP_ERROR',
871 x_msg_count,
872 x_msg_data,
873 '_PVT');
874 WHEN OTHERS THEN
875 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
876 (l_api_name,
877 G_PKG_NAME,
878 'OTHERS',
879 x_msg_count,
880 x_msg_data,
881 '_PVT');
882 END validate_refund_dtls;
883
884 END OKL_SUBSIDY_RFND_DTLS_PVT;