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