[Home] [Help]
PACKAGE BODY: APPS.OKL_K_PARTY_ROLES_PVT
Source
1 PACKAGE BODY OKL_K_PARTY_ROLES_PVT AS
2 /* $Header: OKLRKPLB.pls 120.1 2006/02/24 21:31:13 rpillay noship $ */
3 -- GLOBAL VARIABLES
4
5 G_API_TYPE CONSTANT VARCHAR2(4) := '_PVT';
6
7 procedure print(s in varchar2) is
8 begin
9 fnd_file.put_line(fnd_file.log, s);
10 end;
11 --------------------------------------------------------------------------------
12 -- Start of comments
13 --
14 -- Procedure Name : create_k_party_role
15 -- Description : creates contract party role
16 -- Bug# :
17 --
18 --
19 -- Business Rules :
20 -- Parameters :
21 -- Version : 1.0
22 -- End of comments
23 --------------------------------------------------------------------------------
24 PROCEDURE create_k_party_role(
25 p_api_version IN NUMBER,
26 p_init_msg_list IN VARCHAR2,
27 x_return_status OUT NOCOPY VARCHAR2,
28 x_msg_count OUT NOCOPY NUMBER,
29 x_msg_data OUT NOCOPY VARCHAR2,
30 p_cplv_rec IN okl_okc_migration_pvt.cplv_rec_type,
31 p_kplv_rec IN kplv_rec_type,
32 x_cplv_rec OUT NOCOPY okl_okc_migration_pvt.cplv_rec_type,
33 x_kplv_rec OUT NOCOPY kplv_rec_type) IS
34
35 l_cplv_rec okl_okc_migration_pvt.cplv_rec_type;
36 l_kplv_rec kplv_rec_type;
37 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_K_PARTY_ROLE';
38 l_api_version CONSTANT NUMBER := 1.0;
39 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
40
41 BEGIN
42
43 -- call START_ACTIVITY to create savepoint, check compatibility
44 -- and initialize message list
45
46 l_return_status := OKL_API.START_ACTIVITY(
47 p_api_name => l_api_name,
48 p_pkg_name => g_pkg_name,
49 p_init_msg_list => p_init_msg_list,
50 l_api_version => l_api_version,
51 p_api_version => p_api_version,
52 p_api_type => g_api_type,
53 x_return_status => x_return_status);
54
55 -- check if activity started successfully
56 If (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
57 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
58 Elsif (l_return_status = OKL_API.G_RET_STS_ERROR) then
59 raise OKL_API.G_EXCEPTION_ERROR;
60 End If;
61
62 --Bug# 4959361
63 IF p_cplv_rec.cle_id IS NOT NULL THEN
64 OKL_LLA_UTIL_PVT.check_line_update_allowed
65 (p_api_version => p_api_version,
66 p_init_msg_list => p_init_msg_list,
67 x_return_status => x_return_status,
68 x_msg_count => x_msg_count,
69 x_msg_data => x_msg_data,
70 p_cle_id => p_cplv_rec.cle_id);
71
72 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
73 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
74 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
75 RAISE OKL_API.G_EXCEPTION_ERROR;
76 END IF;
77 END IF;
78 --Bug# 4959361
79
80 l_kplv_rec := p_kplv_rec;
81 l_cplv_rec := p_cplv_rec;
82
83 okl_okc_migration_pvt.create_k_party_role(
84 p_api_version => p_api_version,
85 p_init_msg_list => p_init_msg_list,
86 x_return_status => x_return_status,
87 x_msg_count => x_msg_count,
88 x_msg_data => x_msg_data,
89 p_cplv_rec => l_cplv_rec,
90 x_cplv_rec => x_cplv_rec);
91
92
93 -- check return status
94 If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
95 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
96 Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
97 raise OKL_API.G_EXCEPTION_ERROR;
98 End If;
99
100 -- get id from OKC record
101 l_kplv_rec.ID := x_cplv_rec.ID;
102
103
104 OKL_KPL_PVT.Insert_Row(
105 p_api_version => p_api_version,
106 p_init_msg_list => p_init_msg_list,
107 x_return_status => x_return_status,
108 x_msg_count => x_msg_count,
109 x_msg_data => x_msg_data,
110 p_kplv_rec => l_kplv_rec,
111 x_kplv_rec => x_kplv_rec);
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
119 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
120 x_msg_data => x_msg_data);
121 EXCEPTION
122 when OKL_API.G_EXCEPTION_ERROR then
123 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
124 p_api_name => l_api_name,
125 p_pkg_name => g_pkg_name,
126 p_exc_name => 'OKL_API.G_RET_STS_ERROR',
127 x_msg_count => x_msg_count,
128 x_msg_data => x_msg_data,
129 p_api_type => g_api_type);
130
131 when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
132 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
133 p_api_name => l_api_name,
134 p_pkg_name => g_pkg_name,
135 p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
136 x_msg_count => x_msg_count,
137 x_msg_data => x_msg_data,
138 p_api_type => g_api_type);
139
140 when OTHERS then
141 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
142 p_api_name => l_api_name,
143 p_pkg_name => g_pkg_name,
144 p_exc_name => 'OTHERS',
145 x_msg_count => x_msg_count,
146 x_msg_data => x_msg_data,
147 p_api_type => g_api_type);
148 END create_k_party_role;
149
150
151 -- Start of comments
152 --
153 -- Procedure Name : create_k_party_role
154 -- Description : creates contract party role
155 -- Business Rules :
156 -- Parameters :
157 -- Version : 1.0
158 -- End of comments
159 PROCEDURE create_k_party_role(
160 p_api_version IN NUMBER,
161 p_init_msg_list IN VARCHAR2,
162 x_return_status OUT NOCOPY VARCHAR2,
163 x_msg_count OUT NOCOPY NUMBER,
164 x_msg_data OUT NOCOPY VARCHAR2,
165 p_cplv_tbl IN okl_okc_migration_pvt.cplv_tbl_type,
166 p_kplv_tbl IN kplv_tbl_type,
167 x_cplv_tbl OUT NOCOPY okl_okc_migration_pvt.cplv_tbl_type,
168 x_kplv_tbl OUT NOCOPY kplv_tbl_type) IS
169
170 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_K_PARTY_ROLE';
171 l_api_version CONSTANT NUMBER := 1.0;
172 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
173 l_overall_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
174 i NUMBER;
175 l_kplv_tbl kplv_tbl_type;
176 BEGIN
177 -- call START_ACTIVITY to create savepoint, check compatibility
178 -- and initialize message list
179 l_return_status := OKL_API.START_ACTIVITY(
180 p_api_name => l_api_name,
181 p_pkg_name => g_pkg_name,
182 p_init_msg_list => p_init_msg_list,
183 l_api_version => l_api_version,
184 p_api_version => p_api_version,
185 p_api_type => g_api_type,
186 x_return_status => x_return_status);
187
188 -- check if activity started successfully
189 If (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
190 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
191 Elsif (l_return_status = OKL_API.G_RET_STS_ERROR) then
192 raise OKL_API.G_EXCEPTION_ERROR;
193
194 End If;
195
196 l_kplv_tbl := p_kplv_tbl;
197 If (p_cplv_tbl.COUNT > 0) Then
198 i := p_cplv_tbl.FIRST;
199 LOOP
200 -- call procedure in complex API for a record
201 create_k_party_role(
202 p_api_version => p_api_version,
203 p_init_msg_list => p_init_msg_list,
204 x_return_status => x_return_status,
205 x_msg_count => x_msg_count,
206 x_msg_data => x_msg_data,
207 p_cplv_rec => p_cplv_tbl(i),
208 p_kplv_rec => l_kplv_tbl(i),
209 x_cplv_rec => x_cplv_tbl(i),
210 x_kplv_rec => x_kplv_tbl(i));
211
212 If x_return_status <> OKL_API.G_RET_STS_SUCCESS Then
213 If l_overall_status <> OKL_API.G_RET_STS_UNEXP_ERROR Then
214 l_overall_status := x_return_status;
215 End If;
216 End If;
217
218 EXIT WHEN (i = p_cplv_tbl.LAST);
219 i := p_cplv_tbl.NEXT(i);
220 END LOOP;
221
222 -- return overall status
223 x_return_status := l_overall_status;
224 End If;
225
226 If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
227 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
228 Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
229 raise OKL_API.G_EXCEPTION_ERROR;
230 End If;
231
232 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
233 x_msg_data => x_msg_data);
234 EXCEPTION
235 when OKL_API.G_EXCEPTION_ERROR then
236 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
237 p_api_name => l_api_name,
238 p_pkg_name => g_pkg_name,
239 p_exc_name => 'OKL_API.G_RET_STS_ERROR',
240 x_msg_count => x_msg_count,
241 x_msg_data => x_msg_data,
242 p_api_type => g_api_type);
243
244 when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
245 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
246 p_api_name => l_api_name,
247 p_pkg_name => g_pkg_name,
248 p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
249 x_msg_count => x_msg_count,
250 x_msg_data => x_msg_data,
251 p_api_type => g_api_type);
252
253 when OTHERS then
254 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
255 p_api_name => l_api_name,
256 p_pkg_name => g_pkg_name,
257 p_exc_name => 'OTHERS',
258 x_msg_count => x_msg_count,
259 x_msg_data => x_msg_data,
260 p_api_type => g_api_type);
261
262 END create_k_party_role;
263
264
265 --------------------------------------------------------------------------------
266 -- Start of comments
267 -- Procedure Name : update_k_party_role
268 -- Description : updates party role
269 --Bug# :
270 --
271 -- Business Rules :
272 -- Parameters :
273 -- Version : 1.0
274 -- End of comments
275 ---------------------------------------------------------------------------------
276 PROCEDURE update_k_party_role(
277 p_api_version IN NUMBER,
278 p_init_msg_list IN VARCHAR2,
279 x_return_status OUT NOCOPY VARCHAR2,
280 x_msg_count OUT NOCOPY NUMBER,
281 x_msg_data OUT NOCOPY VARCHAR2,
282 p_cplv_rec IN okl_okc_migration_pvt.cplv_rec_type,
283 p_kplv_rec IN kplv_rec_type,
284 x_cplv_rec OUT NOCOPY okl_okc_migration_pvt.cplv_rec_type,
285 x_kplv_rec OUT NOCOPY kplv_rec_type) IS
286
287 l_cplv_rec okl_okc_migration_pvt.cplv_rec_type;
288 l_kplv_rec kplv_rec_type;
289
290 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_K_PARTY_ROLE';
291 l_api_version CONSTANT NUMBER := 1.0;
292 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
293
294 cursor l_kplv_csr(l_id IN NUMBER) is
295 select 'x'
296 from OKL_K_PARTY_ROLES_V
297 where id = l_id;
298 l_dummy_var VARCHAR2(1) := '?';
299
300 lx_cplv_rec OKL_OKC_MIGRATION_PVT.cplv_rec_type;
301
302 --Bug# 4959361
303 CURSOR l_cpl_csr(p_cpl_id IN NUMBER) IS
304 SELECT cle_id
305 FROM okc_k_party_roles_b cpl
306 WHERE cpl.id = p_cpl_id;
307
308 l_cpl_rec l_cpl_csr%ROWTYPE;
309 --Bug# 4959361
310
311 BEGIN
312
313 -- call START_ACTIVITY to create savepoint, check compatibility
314 -- and initialize message list
315 l_return_status := OKL_API.START_ACTIVITY(
316 p_api_name => l_api_name,
317 p_pkg_name => g_pkg_name,
318 p_init_msg_list => p_init_msg_list,
319 l_api_version => l_api_version,
320 p_api_version => p_api_version,
321 p_api_type => g_api_type,
322 x_return_status => x_return_status);
323
324 -- check if activity started successfully
325 If (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
326 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
327 Elsif (l_return_status = OKL_API.G_RET_STS_ERROR) then
328 raise OKL_API.G_EXCEPTION_ERROR;
329 End If;
330
331 --Bug# 4959361
332 OPEN l_cpl_csr(p_cpl_id => p_cplv_rec.id);
333 FETCH l_cpl_csr INTO l_cpl_rec;
334 CLOSE l_cpl_csr;
335
336 IF l_cpl_rec.cle_id IS NOT NULL THEN
337 OKL_LLA_UTIL_PVT.check_line_update_allowed
338 (p_api_version => p_api_version,
339 p_init_msg_list => p_init_msg_list,
340 x_return_status => x_return_status,
341 x_msg_count => x_msg_count,
342 x_msg_data => x_msg_data,
343 p_cle_id => l_cpl_rec.cle_id);
344
345 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
346 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
347 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
348 RAISE OKL_API.G_EXCEPTION_ERROR;
349 END IF;
350 END IF;
351 --Bug# 4959361
352
353 l_kplv_rec := p_kplv_rec;
354 l_cplv_rec := p_cplv_rec;
355
356 okl_okc_migration_pvt.update_k_party_role
357 (
358 p_api_version => p_api_version,
359 p_init_msg_list => p_init_msg_list,
360 x_return_status => x_return_status,
361 x_msg_count => x_msg_count,
362 x_msg_data => x_msg_data,
363 p_cplv_rec => l_cplv_rec,
364 x_cplv_rec => x_cplv_rec);
365
366 -- check return status
367 If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
368 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
369 Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
370 raise OKL_API.G_EXCEPTION_ERROR;
371 End If;
372
373 -- get id from OKC record
374 l_kplv_rec.ID := x_cplv_rec.ID;
375
376 -- check whether the shadow is present
377 open l_kplv_csr(l_kplv_rec.id);
378 fetch l_kplv_csr into l_dummy_var;
379 close l_kplv_csr;
380
381 -- call procedure in complex API
382 -- if l_dummy_var is changed then the shadow is present
383 -- and we need to update it, otherwise we need to create the shadow
384 if (l_dummy_var = 'x') THEN
385 OKL_KPL_PVT.Update_Row(
386 p_api_version => p_api_version,
387 p_init_msg_list => p_init_msg_list,
388 x_return_status => x_return_status,
389 x_msg_count => x_msg_count,
390 x_msg_data => x_msg_data,
391 p_kplv_rec => l_kplv_rec,
392 x_kplv_rec => x_kplv_rec);
393 else
394 OKL_KPL_PVT.Insert_Row(
395 p_api_version => p_api_version,
396 p_init_msg_list => p_init_msg_list,
397 x_return_status => x_return_status,
398 x_msg_count => x_msg_count,
399 x_msg_data => x_msg_data,
400 p_kplv_rec => l_kplv_rec,
401 x_kplv_rec => x_kplv_rec);
402 end if;
403
404 If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
405 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
406 Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
407 raise OKL_API.G_EXCEPTION_ERROR;
408 End If;
409
410 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
411 x_msg_data => x_msg_data);
412 EXCEPTION
413 when OKL_API.G_EXCEPTION_ERROR then
414 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
415 p_api_name => l_api_name,
416 p_pkg_name => g_pkg_name,
417 p_exc_name => 'OKL_API.G_RET_STS_ERROR',
418 x_msg_count => x_msg_count,
419 x_msg_data => x_msg_data,
420 p_api_type => g_api_type);
421 if l_kplv_csr%ISOPEN then
422 close l_kplv_csr;
423 end if;
424
425 when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
426 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
427 p_api_name => l_api_name,
428 p_pkg_name => g_pkg_name,
429 p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
430 x_msg_count => x_msg_count,
431 x_msg_data => x_msg_data,
432 p_api_type => g_api_type);
433 if l_kplv_csr%ISOPEN then
434 close l_kplv_csr;
435 end if;
436
437 when OTHERS then
438 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
439 p_api_name => l_api_name,
440 p_pkg_name => g_pkg_name,
441 p_exc_name => 'OTHERS',
442 x_msg_count => x_msg_count,
443 x_msg_data => x_msg_data,
444 p_api_type => g_api_type);
445 if l_kplv_csr%ISOPEN then
446 close l_kplv_csr;
447 end if;
448
449 END update_k_party_role;
450
451 -- Start of comments
452 --
453 -- Procedure Name : update_k_party_role
454 -- Description : updates contract party role
455 -- Business Rules :
456 -- Parameters :
457 -- Version : 1.0
458 -- End of comments
459 PROCEDURE update_k_party_role(
460 p_api_version IN NUMBER,
461 p_init_msg_list IN VARCHAR2,
462 x_return_status OUT NOCOPY VARCHAR2,
463 x_msg_count OUT NOCOPY NUMBER,
464 x_msg_data OUT NOCOPY VARCHAR2,
465 p_cplv_tbl IN okl_okc_migration_pvt.cplv_tbl_type,
466 p_kplv_tbl IN kplv_tbl_type,
467 x_cplv_tbl OUT NOCOPY okl_okc_migration_pvt.cplv_tbl_type,
468 x_kplv_tbl OUT NOCOPY kplv_tbl_type) IS
469
470 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_K_PARTY_ROLE';
471 l_api_version CONSTANT NUMBER := 1.0;
472 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
473 l_overall_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
474 i NUMBER;
475 l_kplv_tbl kplv_tbl_type := p_kplv_tbl;
476 BEGIN
477 -- call START_ACTIVITY to create savepoint, check compatibility
478 -- and initialize message list
479 l_return_status := OKL_API.START_ACTIVITY(
480 p_api_name => l_api_name,
481 p_pkg_name => g_pkg_name,
482 p_init_msg_list => p_init_msg_list,
483 l_api_version => l_api_version,
484 p_api_version => p_api_version,
485 p_api_type => g_api_type,
486 x_return_status => x_return_status);
487
488 -- check if activity started successfully
489 If (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
490 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
491 Elsif (l_return_status = OKL_API.G_RET_STS_ERROR) then
492 raise OKL_API.G_EXCEPTION_ERROR;
493 End If;
494
495 If (p_cplv_tbl.COUNT > 0) Then
496 i := p_cplv_tbl.FIRST;
497 LOOP
498 -- call procedure in complex API for a record
499 update_k_party_role(
500 p_api_version => p_api_version,
501 p_init_msg_list => p_init_msg_list,
502 x_return_status => x_return_status,
503 x_msg_count => x_msg_count,
504 x_msg_data => x_msg_data,
505 p_cplv_rec => p_cplv_tbl(i),
506 p_kplv_rec => l_kplv_tbl(i),
507 x_cplv_rec => x_cplv_tbl(i),
508 x_kplv_rec => x_kplv_tbl(i));
509
510 If x_return_status <> OKL_API.G_RET_STS_SUCCESS Then
511 If l_overall_status <> OKL_API.G_RET_STS_UNEXP_ERROR Then
512 l_overall_status := x_return_status;
513 End If;
514 End If;
515
516 EXIT WHEN (i = p_cplv_tbl.LAST);
517 i := p_cplv_tbl.NEXT(i);
518 END LOOP;
519
520 -- return overall status
521 x_return_status := l_overall_status;
522 End If;
523
524 If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
525 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
526 Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
527 raise OKL_API.G_EXCEPTION_ERROR;
528 End If;
529
530 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
531 x_msg_data => x_msg_data);
532 EXCEPTION
533 when OKL_API.G_EXCEPTION_ERROR then
534 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
535 p_api_name => l_api_name,
536 p_pkg_name => g_pkg_name,
537 p_exc_name => 'OKL_API.G_RET_STS_ERROR',
538 x_msg_count => x_msg_count,
539 x_msg_data => x_msg_data,
540 p_api_type => g_api_type);
541
542 when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
543 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
544 p_api_name => l_api_name,
545 p_pkg_name => g_pkg_name,
546 p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
547 x_msg_count => x_msg_count,
548 x_msg_data => x_msg_data,
549 p_api_type => g_api_type);
550
551 when OTHERS then
552 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
553 p_api_name => l_api_name,
554 p_pkg_name => g_pkg_name,
555 p_exc_name => 'OTHERS',
556 x_msg_count => x_msg_count,
557 x_msg_data => x_msg_data,
558 p_api_type => g_api_type);
559
560 END update_k_party_role;
561
562 -- Start of comments
563 --
564 -- Procedure Name : delete_k_party_role
565 -- Description : deletes contract party role
566 -- Business Rules :
567 -- Parameters :
568 -- Version : 1.0
569 -- End of comments
570 PROCEDURE delete_k_party_role(
571 p_api_version IN NUMBER,
572 p_init_msg_list IN VARCHAR2,
573 x_return_status OUT NOCOPY VARCHAR2,
574 x_msg_count OUT NOCOPY NUMBER,
575 x_msg_data OUT NOCOPY VARCHAR2,
576 p_cplv_rec IN okl_okc_migration_pvt.cplv_rec_type,
577 p_kplv_rec IN kplv_rec_type) IS
578
579 l_cplv_rec okl_okc_migration_pvt.cplv_rec_type;
580 l_kplv_rec kplv_rec_type;
581
582 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_K_PARTY_ROLE';
583 l_api_version CONSTANT NUMBER := 1.0;
584 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
585
586 --Bug# 4959361
587 CURSOR l_cpl_csr(p_cpl_id IN NUMBER) IS
588 SELECT cle_id
589 FROM okc_k_party_roles_b cpl
590 WHERE cpl.id = p_cpl_id;
591
592 l_cpl_rec l_cpl_csr%ROWTYPE;
593 --Bug# 4959361
594
595 BEGIN
596
597 -- call START_ACTIVITY to create savepoint, check compatibility
598 -- and initialize message list
599 l_return_status := OKL_API.START_ACTIVITY(
600 p_api_name => l_api_name,
601 p_pkg_name => g_pkg_name,
602 p_init_msg_list => p_init_msg_list,
603 l_api_version => l_api_version,
604 p_api_version => p_api_version,
605 p_api_type => g_api_type,
606 x_return_status => x_return_status);
607
608 -- check if activity started successfully
609 If (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
610 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
611 Elsif (l_return_status = OKL_API.G_RET_STS_ERROR) then
612 raise OKL_API.G_EXCEPTION_ERROR;
613 End If;
614
615 --Bug# 4959361
616 OPEN l_cpl_csr(p_cpl_id => p_cplv_rec.id);
617 FETCH l_cpl_csr INTO l_cpl_rec;
618 CLOSE l_cpl_csr;
619
620 IF l_cpl_rec.cle_id IS NOT NULL THEN
621 OKL_LLA_UTIL_PVT.check_line_update_allowed
622 (p_api_version => p_api_version,
623 p_init_msg_list => p_init_msg_list,
624 x_return_status => x_return_status,
625 x_msg_count => x_msg_count,
626 x_msg_data => x_msg_data,
627 p_cle_id => l_cpl_rec.cle_id);
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 END IF;
635 --Bug# 4959361
636
637 l_kplv_rec := p_kplv_rec;
638 l_cplv_rec := p_cplv_rec;
639
640 --
641 -- call procedure in complex API
642 --
643 okl_okc_migration_pvt.delete_k_party_role(
644 p_api_version => p_api_version,
645 p_init_msg_list => p_init_msg_list,
646 x_return_status => x_return_status,
647 x_msg_count => x_msg_count,
648 x_msg_data => x_msg_data,
649 p_cplv_rec => l_cplv_rec);
650
651 -- check return status
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 -- call procedure in complex API
659 OKL_KPL_PVT.Delete_Row(
660 p_api_version => p_api_version,
661 p_init_msg_list => p_init_msg_list,
662 x_return_status => x_return_status,
663 x_msg_count => x_msg_count,
664 x_msg_data => x_msg_data,
665 p_kplv_rec => p_kplv_rec);
666
667 If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
668 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
669 Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
670 raise OKL_API.G_EXCEPTION_ERROR;
671 End If;
672
673 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
674 x_msg_data => x_msg_data);
675 EXCEPTION
676 when OKL_API.G_EXCEPTION_ERROR then
677 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
678 p_api_name => l_api_name,
679 p_pkg_name => g_pkg_name,
680 p_exc_name => 'OKL_API.G_RET_STS_ERROR',
681 x_msg_count => x_msg_count,
682 x_msg_data => x_msg_data,
683 p_api_type => g_api_type);
684
685 when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
686 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
687 p_api_name => l_api_name,
688 p_pkg_name => g_pkg_name,
689 p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
690 x_msg_count => x_msg_count,
691 x_msg_data => x_msg_data,
692 p_api_type => g_api_type);
693
694 when OTHERS then
695 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
696 p_api_name => l_api_name,
697 p_pkg_name => g_pkg_name,
698 p_exc_name => 'OTHERS',
699 x_msg_count => x_msg_count,
700 x_msg_data => x_msg_data,
701 p_api_type => g_api_type);
702 END delete_k_party_role;
703
704
705 -- Start of comments
706 --
707 -- Procedure Name : delete_k_party_role
708 -- Description : deletes contract party role
709 -- Business Rules :
710 -- Parameters :
711 -- Version : 1.0
712 -- End of comments
713 PROCEDURE delete_k_party_role(
714 p_api_version IN NUMBER,
715 p_init_msg_list IN VARCHAR2,
716 x_return_status OUT NOCOPY VARCHAR2,
717 x_msg_count OUT NOCOPY NUMBER,
718 x_msg_data OUT NOCOPY VARCHAR2,
719 p_cplv_tbl IN okl_okc_migration_pvt.cplv_tbl_type,
720 p_kplv_tbl IN kplv_tbl_type) IS
721
722 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_K_PARTY_ROLE';
723 l_api_version CONSTANT NUMBER := 1.0;
724 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
725 l_overall_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
726 i NUMBER;
727 l_kplv_tbl kplv_tbl_type := p_kplv_tbl;
728 BEGIN
729 -- call START_ACTIVITY to create savepoint, check compatibility
730 -- and initialize message list
731 l_return_status := OKL_API.START_ACTIVITY(
732 p_api_name => l_api_name,
733 p_pkg_name => g_pkg_name,
734 p_init_msg_list => p_init_msg_list,
735 l_api_version => l_api_version,
736 p_api_version => p_api_version,
737 p_api_type => g_api_type,
738 x_return_status => x_return_status);
739
740 -- check if activity started successfully
741 If (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
742 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
743 Elsif (l_return_status = OKL_API.G_RET_STS_ERROR) then
744 raise OKL_API.G_EXCEPTION_ERROR;
745
746 End If;
747
748 If (p_cplv_tbl.COUNT > 0) Then
749 i := p_cplv_tbl.FIRST;
750 LOOP
751 -- call procedure in complex API for a record
752 delete_k_party_role(
753 p_api_version => p_api_version,
754 p_init_msg_list => p_init_msg_list,
755 x_return_status => x_return_status,
756 x_msg_count => x_msg_count,
757 x_msg_data => x_msg_data,
758 p_cplv_rec => p_cplv_tbl(i),
759 p_kplv_rec => l_kplv_tbl(i));
760
761 If x_return_status <> OKL_API.G_RET_STS_SUCCESS Then
762 If l_overall_status <> OKL_API.G_RET_STS_UNEXP_ERROR Then
763 l_overall_status := x_return_status;
764 End If;
765 End If;
766
767 EXIT WHEN (i = p_cplv_tbl.LAST);
768 i := p_cplv_tbl.NEXT(i);
769 END LOOP;
770
771 -- return overall status
772 x_return_status := l_overall_status;
773 End If;
774
775 If x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR Then
776 raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
777 Elsif x_return_status = OKL_API.G_RET_STS_ERROR Then
778 raise OKL_API.G_EXCEPTION_ERROR;
779 End If;
780
781 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
782 x_msg_data => x_msg_data);
783 EXCEPTION
784 when OKL_API.G_EXCEPTION_ERROR then
785 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
786 p_api_name => l_api_name,
787 p_pkg_name => g_pkg_name,
788 p_exc_name => 'OKL_API.G_RET_STS_ERROR',
789 x_msg_count => x_msg_count,
790 x_msg_data => x_msg_data,
791 p_api_type => g_api_type);
792
793 when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
794 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
795 p_api_name => l_api_name,
796 p_pkg_name => g_pkg_name,
797 p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
798 x_msg_count => x_msg_count,
799 x_msg_data => x_msg_data,
800 p_api_type => g_api_type);
801
802 when OTHERS then
803 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
804 p_api_name => l_api_name,
805 p_pkg_name => g_pkg_name,
806 p_exc_name => 'OTHERS',
807 x_msg_count => x_msg_count,
808 x_msg_data => x_msg_data,
809 p_api_type => g_api_type);
810
811 END delete_k_party_role;
812
813 END OKL_K_PARTY_ROLES_PVT;