[Home] [Help]
PACKAGE BODY: APPS.OKC_DELETE_CONTRACT_PVT
Source
1 package body OKC_DELETE_CONTRACT_PVT as
2 /* $Header: OKCRDELB.pls 120.2 2006/06/06 20:56:49 dneetha noship $ */
3
4 l_debug VARCHAR2(1) := NVL(FND_PROFILE.VALUE('AFLOG_ENABLED'),'N');
5
6 l_api_version NUMBER := 1;
7 l_init_msg_list VARCHAR2(1) := 'T';
8 l_msg_count NUMBER;
9 l_msg_data VARCHAR2(2000);
10 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
11
12 -- Start of comments
13 -- BUG#4122038 HKAMDAR 10-FEB-2005 Part 1
14 -- Procedure Name : is_rule_allowed
15 -- Description : Checks if rules are allowed for contracts class,
16 -- Business Rules :
17 -- Version : 1.0
18 -- End of comments
19
20 Procedure is_rule_allowed(p_id number,
21 x_return out NOCOPY varchar2) IS
22
23 CURSOR cur_k_appl_id is
24 SELECT application_id
25 FROM okc_k_headers_b
26 WHERE id = p_id;
27
28 k_appl_id number;
29
30 BEGIN
31
32 OPEN cur_k_appl_id;
33 FETCH cur_k_appl_id INTO k_appl_id;
34 CLOSE cur_k_appl_id;
35
36 --For OKS no rule/rule group allowed
37 If k_appl_id =515 Then
38 x_return :='N';
39 Else
40 x_return := 'Y';
41 End If;
42
43 END Is_rule_allowed;
44 -- BUG#4122038 End Part 1
45
46 --Function DELETE_ARTICLE_TRANS
47
48 --FUNCTION DELETE_ARTICLE_TRANS( p_chr_id number) Return varchar2 IS
49 --
50 -- l_atnv_tbl_in okc_k_article_pub.atnv_tbl_type;
51 --
52 -- CURSOR l_atn_csr (p_id IN NUMBER) IS
53 -- SELECT ID
54 -- FROM OKC_ARTICLE_TRANS_V
55 -- WHERE dnz_chr_id = p_id;
56 --Begin
57 -- l_return_status := OKC_API.G_RET_STS_SUCCESS;
58 --
59 -- FOR rec IN l_atn_csr(p_chr_id)
60 -- LOOP
61 -- l_atnv_tbl_in(1).ID := rec.id;
62 -- okc_k_article_pub.delete_article_translation(
63 -- p_api_version => l_api_version,
64 -- p_init_msg_list => l_init_msg_list,
65 -- x_return_status => l_return_status,
66 -- x_msg_count => l_msg_count,
67 -- x_msg_data => l_msg_data,
68 -- p_atnv_tbl => l_atnv_tbl_in);
69 --
70 -- If (l_return_status <> 'S') Then
71 -- OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
72 -- p_msg_name => G_CANNOT_DELETE,
73 -- p_token1 => G_TABLE_NAME_TOKEN,
74 -- p_token1_value => 'Article Translations',
75 -- p_token2 => G_SQLCODE_TOKEN,
76 -- p_token2_value => sqlcode,
77 -- p_token3 => G_SQLERRM_TOKEN,
78 -- p_token3_value => sqlerrm);
79 -- Exit;
80 -- End If;
81 -- END LOOP;
82 -- return l_return_status;
83 -- EXCEPTION
84 -- -- other appropriate handlers
85 -- When others then
86 -- -- store SQL error message on message stack
87 -- OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
88 -- p_msg_name => G_UNEXPECTED_ERROR,
89 -- p_token1 => G_SQLCODE_TOKEN,
90 -- p_token1_value => sqlcode,
91 -- p_token2 => G_SQLERRM_TOKEN,
92 -- p_token2_value => sqlerrm);
93 --
94 -- -- notify UNEXPECTED error
95 -- l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
96 -- return l_return_status;
97 --END DELETE_ARTICLE_TRANS;
98
99 --Function DELETE_CONDITION_HEADERS
100
101 FUNCTION DELETE_CONDITION_HEADERS( p_chr_id number) Return varchar2 IS
102
103 l_cnhv_tbl_in OKC_CONDITIONS_PUB.cnhv_tbl_type;
104
105 CURSOR l_cnhv_csr (p_id IN NUMBER) IS
106 SELECT ID
107 FROM OKC_CONDITION_HEADERS_V
108 WHERE dnz_chr_id = p_id;
109
110 Begin
111 l_return_status := OKC_API.G_RET_STS_SUCCESS;
112
113 FOR rec IN l_cnhv_csr(p_chr_id)
114 LOOP
115 l_cnhv_tbl_in(1).ID := rec.id;
116
117 OKC_CONDITIONS_PUB.DELETE_COND_HDRS(
118 p_api_version => l_api_version,
119 p_init_msg_list => l_init_msg_list,
120 x_return_status => l_return_status,
121 x_msg_count => l_msg_count,
122 x_msg_data => l_msg_data,
123 p_cnhv_tbl => l_cnhv_tbl_in);
124
125 If (l_return_status <> 'S') Then
126 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
127 p_msg_name => G_CANNOT_DELETE,
128 p_token1 => G_TABLE_NAME_TOKEN,
129 p_token1_value => 'Condition Headers',
130 p_token2 => G_SQLCODE_TOKEN,
131 p_token2_value => sqlcode,
132 p_token3 => G_SQLERRM_TOKEN,
133 p_token3_value => sqlerrm);
134 Exit;
135 End If;
136 END LOOP;
137 return l_return_status;
138 EXCEPTION
139 -- other appropriate handlers
140 When others then
141 -- store SQL error message on message stack
142 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
143 p_msg_name => G_UNEXPECTED_ERROR,
144 p_token1 => G_SQLCODE_TOKEN,
145 p_token1_value => sqlcode,
146 p_token2 => G_SQLERRM_TOKEN,
147 p_token2_value => sqlerrm);
148
149 -- notify UNEXPECTED error
150 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
151 return l_return_status;
152 END DELETE_CONDITION_HEADERS;
153
154 --Function DELETE_CONDITION_LINES
155
156 FUNCTION DELETE_CONDITION_LINES( p_chr_id number) Return varchar2 IS
157
158 l_cnlv_tbl_in OKC_CONDITIONS_PUB.cnlv_tbl_type;
159
160 CURSOR l_cnlb_csr (p_id IN NUMBER) IS
161 SELECT ID
162 FROM OKC_CONDITION_LINES_V
163 WHERE dnz_chr_id= p_id;
164
165 Begin
166 l_return_status := OKC_API.G_RET_STS_SUCCESS;
167
168 FOR rec IN l_cnlb_csr(p_chr_id)
169 LOOP
170 l_cnlv_tbl_in(1).ID := rec.id;
171
172 OKC_CONDITIONS_PUB.DELETE_COND_LINES(
173 p_api_version => l_api_version,
174 p_init_msg_list => l_init_msg_list,
175 x_return_status => l_return_status,
176 x_msg_count => l_msg_count,
177 x_msg_data => l_msg_data,
178 p_cnlv_tbl => l_cnlv_tbl_in);
179
180 If (l_return_status <> 'S') Then
181 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
182 p_msg_name => G_CANNOT_DELETE,
183 p_token1 => G_TABLE_NAME_TOKEN,
184 p_token1_value => 'Condition Lines',
185 p_token2 => G_SQLCODE_TOKEN,
186 p_token2_value => sqlcode,
187 p_token3 => G_SQLERRM_TOKEN,
188 p_token3_value => sqlerrm);
189 Exit;
190 End If;
191 END LOOP;
192 return l_return_status;
193 EXCEPTION
194 -- other appropriate handlers
195 When others then
196 -- store SQL error message on message stack
197 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
198 p_msg_name => G_UNEXPECTED_ERROR,
199 p_token1 => G_SQLCODE_TOKEN,
200 p_token1_value => sqlcode,
201 p_token2 => G_SQLERRM_TOKEN,
202 p_token2_value => sqlerrm);
203
204 -- notify UNEXPECTED error
205 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
206 return l_return_status;
207 END DELETE_CONDITION_LINES;
208
209 ----
210
211 FUNCTION DELETE_PRICE_ADJUSTMENTS( p_chr_id number) Return varchar2 IS
212
213 l_patv_tbl_in OKC_PRICE_ADJUSTMENT_PVT.patv_tbl_type;
214
215 CURSOR l_patb_csr (p_id IN NUMBER) IS
216 SELECT ID,cle_id
217 FROM OKC_PRICE_ADJUSTMENTS_V
218 WHERE chr_id= p_id;
219
220 Begin
221 l_return_status := OKC_API.G_RET_STS_SUCCESS;
222
223 FOR rec IN l_patb_csr(p_chr_id)
224 LOOP
225 l_patv_tbl_in(1).ID := rec.id;
226 l_patv_tbl_in(1).chr_id := p_chr_id;
227 If rec.cle_id is not null then
228 l_patv_tbl_in(1).cle_id := rec.cle_id;
229 End If;
230
231 OKC_PRICE_ADJUSTMENT_PUB.delete_price_adjustment(
232 p_api_version => l_api_version,
233 p_init_msg_list => l_init_msg_list,
234 x_return_status => l_return_status,
235 x_msg_count => l_msg_count,
236 x_msg_data => l_msg_data,
237 p_patv_tbl => l_patv_tbl_in);
238
239 If (l_return_status <> 'S') Then
240 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
241 p_msg_name => G_CANNOT_DELETE,
242 p_token1 => G_TABLE_NAME_TOKEN,
243 p_token1_value => 'Condition Lines',
244 p_token2 => G_SQLCODE_TOKEN,
245 p_token2_value => sqlcode,
246 p_token3 => G_SQLERRM_TOKEN,
247 p_token3_value => sqlerrm);
248 Exit;
249 End If;
250 END LOOP;
251 return l_return_status;
252 EXCEPTION
253 -- other appropriate handlers
254 When others then
255 -- store SQL error message on message stack
256 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
257 p_msg_name => G_UNEXPECTED_ERROR,
258 p_token1 => G_SQLCODE_TOKEN,
259 p_token1_value => sqlcode,
260 p_token2 => G_SQLERRM_TOKEN,
261 p_token2_value => sqlerrm);
262
263 -- notify UNEXPECTED error
264 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
265 return l_return_status;
266 END DELETE_PRICE_ADJUSTMENTS;
267
268 ----
269 /*******
270 ---Following code is commented out for Bug.1850500
271 ---Alternate code is added in OKCCPATB.pls .
272
273 FUNCTION DELETE_PRICE_ADJ_ASSOCS( p_chr_id number) Return varchar2 IS
274
275 l_pacv_tbl_in OKC_PRICE_ADJUSTMENT_PVT.pacv_tbl_type;
276
277 CURSOR l_pacb_csr (p_id IN NUMBER) IS
278 SELECT ID
279 FROM OKC_PRICE_ADJ_ASSOCS_V
280 WHERE pat_id_from IN
281 ( SELECT pat_id
282 FROM OKC_PRICE_ADJUSTMENTS
283 WHERE chr_id = p_id
284 );
285
286
287 Begin
288 l_return_status := OKC_API.G_RET_STS_SUCCESS;
289
290 FOR rec IN l_pacb_csr(p_chr_id)
291 LOOP
292 l_pacv_tbl_in(1).ID := rec.id;
293
294 OKC_PRICE_ADJUSTMENT_PUB.delete_price_adj_assoc(
295 p_api_version => l_api_version,
296 p_init_msg_list => l_init_msg_list,
297 x_return_status => l_return_status,
298 x_msg_count => l_msg_count,
299 x_msg_data => l_msg_data,
300 p_pacv_tbl => l_pacv_tbl_in);
301
302 If (l_return_status <> 'S') Then
303 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
304 p_msg_name => G_CANNOT_DELETE,
305 p_token1 => G_TABLE_NAME_TOKEN,
306 p_token1_value => 'Condition Lines',
307 p_token2 => G_SQLCODE_TOKEN,
308 p_token2_value => sqlcode,
309 p_token3 => G_SQLERRM_TOKEN,
310 p_token3_value => sqlerrm);
311 Exit;
312 End If;
313 END LOOP;
314 return l_return_status;
315 EXCEPTION
316 -- other appropriate handlers
317 When others then
318 -- store SQL error message on message stack
319 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
320 p_msg_name => G_UNEXPECTED_ERROR,
321 p_token1 => G_SQLCODE_TOKEN,
322 p_token1_value => sqlcode,
323 p_token2 => G_SQLERRM_TOKEN,
324 p_token2_value => sqlerrm);
325
326 -- notify UNEXPECTED error
327 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
328 return l_return_status;
329 END DELETE_PRICE_ADJ_ASSOCS;
330
331 ------
332 FUNCTION DELETE_PRICE_ADJ_ATTRIBS( p_chr_id number) Return varchar2 IS
333
334 l_paav_tbl_in OKC_PRICE_ADJUSTMENT_PVT.paav_tbl_type;
335
336 CURSOR l_paab_csr (p_id IN NUMBER) IS
337 SELECT ID
338 FROM OKC_PRICE_ADJ_ATTRIBS_V
339 WHERE pat_id IN
340 ( SELECT id
341 FROM OKC_PRICE_ADJUSTMENTS
342 WHERE chr_id = p_id
343 );
344
345 Begin
346 l_return_status := OKC_API.G_RET_STS_SUCCESS;
347
348 FOR rec IN l_paab_csr(p_chr_id)
349 LOOP
350 l_paav_tbl_in(1).ID := rec.id;
351
352 OKC_PRICE_ADJUSTMENT_PUB.delete_price_adj_attrib(
353 p_api_version => l_api_version,
354 p_init_msg_list => l_init_msg_list,
355 x_return_status => l_return_status,
356 x_msg_count => l_msg_count,
357 x_msg_data => l_msg_data,
358 p_paav_tbl => l_paav_tbl_in);
359
360 If (l_return_status <> 'S') Then
361 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
362 p_msg_name => G_CANNOT_DELETE,
363 p_token1 => G_TABLE_NAME_TOKEN,
364 p_token1_value => 'Condition Lines',
365 p_token2 => G_SQLCODE_TOKEN,
366 p_token2_value => sqlcode,
367 p_token3 => G_SQLERRM_TOKEN,
368 p_token3_value => sqlerrm);
369 Exit;
370 End If;
371 END LOOP;
372 return l_return_status;
373 EXCEPTION
374 -- other appropriate handlers
375 When others then
376 -- store SQL error message on message stack
377 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
378 p_msg_name => G_UNEXPECTED_ERROR,
379 p_token1 => G_SQLCODE_TOKEN,
380 p_token1_value => sqlcode,
381 p_token2 => G_SQLERRM_TOKEN,
382 p_token2_value => sqlerrm);
383
384 -- notify UNEXPECTED error
385 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
386 return l_return_status;
387 END DELETE_PRICE_ADJ_ATTRIBS;
388
389 ---This code is commented out for Bug.1850500
390 ---Alternate code is added in OKCCPATB.pls.
391 */
392 ---------
393 FUNCTION DELETE_PRICE_ATT_VALUES( p_chr_id number) Return varchar2 IS
394
395 l_pavv_tbl_in OKC_PRICE_ADJUSTMENT_PVT.pavv_tbl_type;
396
397 CURSOR l_pavb_csr (p_id IN NUMBER) IS
398 SELECT ID
399 FROM OKC_PRICE_ATT_VALUES_V
400 WHERE chr_id= p_id;
401
402 Begin
403 l_return_status := OKC_API.G_RET_STS_SUCCESS;
404
405 FOR rec IN l_pavb_csr(p_chr_id)
406 LOOP
407 l_pavv_tbl_in(1).ID := rec.id;
408
409 OKC_PRICE_ADJUSTMENT_PUB.delete_price_att_value(
410 p_api_version => l_api_version,
411 p_init_msg_list => l_init_msg_list,
412 x_return_status => l_return_status,
413 x_msg_count => l_msg_count,
414 x_msg_data => l_msg_data,
415 p_pavv_tbl => l_pavv_tbl_in);
416
417 If (l_return_status <> 'S') Then
418 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
419 p_msg_name => G_CANNOT_DELETE,
420 p_token1 => G_TABLE_NAME_TOKEN,
421 p_token1_value => 'Condition Lines',
422 p_token2 => G_SQLCODE_TOKEN,
423 p_token2_value => sqlcode,
424 p_token3 => G_SQLERRM_TOKEN,
425 p_token3_value => sqlerrm);
426 Exit;
427 End If;
428 END LOOP;
429 return l_return_status;
430 EXCEPTION
431 -- other appropriate handlers
432 When others then
433 -- store SQL error message on message stack
434 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
435 p_msg_name => G_UNEXPECTED_ERROR,
436 p_token1 => G_SQLCODE_TOKEN,
437 p_token1_value => sqlcode,
438 p_token2 => G_SQLERRM_TOKEN,
439 p_token2_value => sqlerrm);
440
441 -- notify UNEXPECTED error
442 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
443 return l_return_status;
444 END DELETE_PRICE_ATT_VALUES;
445
446
447
448 -------------
449 ------------
450 -----------
451 ---------
452
453 --Function DELETE_CONTACTS
454
455 FUNCTION DELETE_CONTACTS( p_chr_id number) Return varchar2 IS
456
457 l_ctcv_tbl_in OKC_CONTRACT_PARTY_PUB.ctcv_tbl_type;
458
459 CURSOR l_ctc_csr (p_id IN NUMBER) IS
460 SELECT ID
461 FROM OKC_CONTACTS_V
462 WHERE dnz_chr_id = p_id;
463
464 Begin
465 l_return_status := OKC_API.G_RET_STS_SUCCESS;
466
467 FOR rec IN l_ctc_csr(p_chr_id)
468 LOOP
469
470 l_ctcv_tbl_in(1).ID := rec.id;
471
472 OKC_CONTRACT_PARTY_PUB.Delete_Contact(
473 p_api_version => l_api_version,
474 p_init_msg_list => l_init_msg_list,
475 x_return_status => l_return_status,
476 x_msg_count => l_msg_count,
477 x_msg_data => l_msg_data,
478 p_ctcv_tbl => l_ctcv_tbl_in);
479
480 If (l_return_status <> 'S') Then
481 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
482 p_msg_name => G_CANNOT_DELETE,
483 p_token1 => G_TABLE_NAME_TOKEN,
484 p_token1_value => 'Contacts',
485 p_token2 => G_SQLCODE_TOKEN,
486 p_token2_value => sqlcode,
487 p_token3 => G_SQLERRM_TOKEN,
488 p_token3_value => sqlerrm);
489 Exit;
490 End If;
491 END LOOP;
492 return l_return_status;
493 EXCEPTION
494 -- other appropriate handlers
495 When others then
496 -- store SQL error message on message stack
497 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
498 p_msg_name => G_UNEXPECTED_ERROR,
499 p_token1 => G_SQLCODE_TOKEN,
500 p_token1_value => sqlcode,
501 p_token2 => G_SQLERRM_TOKEN,
502 p_token2_value => sqlerrm);
503
504 -- notify UNEXPECTED error
505 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
506 return l_return_status;
507 END DELETE_CONTACTS;
508
509 /*
510 --------------This has taken care from Delete_Rule API-----------------------
511
512 --Function DELETE_COVER_TIMES
513
514 FUNCTION DELETE_COVER_TIMES( p_chr_id number ) Return varchar2 IS
515
516 l_ctiv_tbl_in OKC_RULE_PUB.ctiv_tbl_type;
517
518 CURSOR l_ctiv_csr (p_id IN NUMBER) IS
519 SELECT RUL_ID, TVE_ID
520 FROM OKC_COVER_TIMES_V
521 WHERE dnz_chr_id = p_id;
522
523 Begin
524
525 l_return_status := OKC_API.G_RET_STS_SUCCESS;
526
527 FOR rec IN l_ctiv_csr(p_chr_id)
528 LOOP
529 l_ctiv_tbl_in(1).RUL_ID := rec.rul_id;
530 l_ctiv_tbl_in(1).TVE_ID := rec.tve_id;
531
532 OKC_RULE_PUB.delete_cover_time(
533 p_api_version => l_api_version,
534 p_init_msg_list => l_init_msg_list,
535 x_return_status => l_return_status,
536 x_msg_count => l_msg_count,
537 x_msg_data => l_msg_data,
538 p_ctiv_tbl => l_ctiv_tbl_in);
539
540 If (l_return_status <> 'S') Then
541 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
542 p_msg_name => G_CANNOT_DELETE,
543 p_token1 => G_TABLE_NAME_TOKEN,
544 p_token1_value => 'Cover Times',
545 p_token2 => G_SQLCODE_TOKEN,
546 p_token2_value => sqlcode,
547 p_token3 => G_SQLERRM_TOKEN,
548 p_token3_value => sqlerrm);
549 Exit;
550 End If;
551 END LOOP;
552 return l_return_status;
553 EXCEPTION
554 -- other appropriate handlers
555 When others then
556 -- store SQL error message on message stack
557 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
558 p_msg_name => G_UNEXPECTED_ERROR,
559 p_token1 => G_SQLCODE_TOKEN,
560 p_token1_value => sqlcode,
561 p_token2 => G_SQLERRM_TOKEN,
562 p_token2_value => sqlerrm);
563
564 -- notify UNEXPECTED error
565 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
566 return l_return_status;
567 END DELETE_COVER_TIMES;
568 */
569
570 --Function DELETE_FUNCTION_EXPR_PARAMS
571
572 FUNCTION DELETE_FUNCTION_EXPR_PARAMS( p_chr_id number) Return varchar2 IS
573
574 l_fepv_tbl_in OKC_CONDITIONS_PUB.fepv_tbl_type;
575
576 CURSOR l_fepv_csr (p_id IN NUMBER) IS
577 SELECT ID
578 FROM OKC_FUNCTION_EXPR_PARAMS_V
579 WHERE dnz_chr_id = p_id;
580
581 Begin
582 l_return_status := OKC_API.G_RET_STS_SUCCESS;
583
584 FOR rec IN l_fepv_csr(p_chr_id)
585 LOOP
586
587 l_fepv_tbl_in(1).ID := rec.id;
588
589 OKC_CONDITIONS_PUB.DELETE_FUNC_EXPRS(
590 p_api_version => l_api_version,
591 p_init_msg_list => l_init_msg_list,
592 x_return_status => l_return_status,
593 x_msg_count => l_msg_count,
594 x_msg_data => l_msg_data,
595 p_fepv_tbl => l_fepv_tbl_in);
596
597 If (l_return_status <> 'S') Then
598 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
599 p_msg_name => G_CANNOT_DELETE,
600 p_token1 => G_TABLE_NAME_TOKEN,
601 p_token1_value => 'Function Exp. Parameters',
602 p_token2 => G_SQLCODE_TOKEN,
603 p_token2_value => sqlcode,
604 p_token3 => G_SQLERRM_TOKEN,
605 p_token3_value => sqlerrm);
606 Exit;
607 End If;
608 END LOOP;
609 return l_return_status;
610 EXCEPTION
611 -- other appropriate handlers
612 When others then
613 -- store SQL error message on message stack
614 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
615 p_msg_name => G_UNEXPECTED_ERROR,
616 p_token1 => G_SQLCODE_TOKEN,
617 p_token1_value => sqlcode,
618 p_token2 => G_SQLERRM_TOKEN,
619 p_token2_value => sqlerrm);
620
621 -- notify UNEXPECTED error
622 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
623 return l_return_status;
624 END DELETE_FUNCTION_EXPR_PARAMS;
625
626
627 --Function DELETE_GOVERNANCES
628
629 FUNCTION DELETE_GOVERNANCES( p_chr_id number) Return varchar2 IS
630
631 l_gvev_tbl_in okc_contract_pub.gvev_tbl_type;
632
633 CURSOR l_gvev_csr (p_id IN NUMBER) IS
634 SELECT ID
635 FROM OKC_GOVERNANCES_V
636 WHERE dnz_chr_id = p_id;
637
638 Begin
639
640 l_return_status := OKC_API.G_RET_STS_SUCCESS;
641
642 FOR rec IN l_gvev_csr(p_chr_id)
643 LOOP
644
645 l_gvev_tbl_in(1).ID := rec.id;
646
647 okc_contract_pub.delete_governance (
648 p_api_version => l_api_version,
649 p_init_msg_list => l_init_msg_list,
650 x_return_status => l_return_status,
651 x_msg_count => l_msg_count,
652 x_msg_data => l_msg_data,
653 p_gvev_tbl => l_gvev_tbl_in
654 );
655
656 If (l_return_status <> 'S') Then
657 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
658 p_msg_name => G_CANNOT_DELETE,
659 p_token1 => G_TABLE_NAME_TOKEN,
660 p_token1_value => 'Governances',
661 p_token2 => G_SQLCODE_TOKEN,
662 p_token2_value => sqlcode,
663 p_token3 => G_SQLERRM_TOKEN,
664 p_token3_value => sqlerrm);
665 Exit;
666 End If;
667 END LOOP;
668 return l_return_status;
669 EXCEPTION
670 -- other appropriate handlers
671 When others then
672 -- store SQL error message on message stack
673 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
674 p_msg_name => G_UNEXPECTED_ERROR,
675 p_token1 => G_SQLCODE_TOKEN,
676 p_token1_value => sqlcode,
677 p_token2 => G_SQLERRM_TOKEN,
678 p_token2_value => sqlerrm);
679
680 -- notify UNEXPECTED error
681 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
682 return l_return_status;
683 END DELETE_GOVERNANCES;
684
685 --Function DELETE_K_ACCESSES
686
687 FUNCTION DELETE_K_ACCESSES( p_chr_id number) Return varchar2 IS
688
689 l_cacv_tbl_in okc_contract_pub.cacv_tbl_type;
690
691 CURSOR l_cacv_csr (p_id IN NUMBER) IS
692 SELECT ID
693 FROM OKC_K_ACCESSES_V
694 WHERE chr_id = p_id;
695
696 Begin
697
698 l_return_status := OKC_API.G_RET_STS_SUCCESS;
699
700 FOR rec IN l_cacv_csr(p_chr_id)
701 LOOP
702 l_cacv_tbl_in(1).ID := rec.id;
703
704 OKC_CONTRACT_PUB.Delete_Contract_Access (
705 p_api_version => l_api_version,
706 p_init_msg_list => l_init_msg_list,
707 x_return_status => l_return_status,
708 x_msg_count => l_msg_count,
709 x_msg_data => l_msg_data,
710 p_cacv_tbl => l_cacv_tbl_in
711 );
712
713 If (l_return_status <> 'S') Then
714 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
715 p_msg_name => G_CANNOT_DELETE,
716 p_token1 => G_TABLE_NAME_TOKEN,
717 p_token1_value => 'Contract Accesses',
718 p_token2 => G_SQLCODE_TOKEN,
719 p_token2_value => sqlcode,
720 p_token3 => G_SQLERRM_TOKEN,
721 p_token3_value => sqlerrm);
722 Exit;
723 End If;
724 END LOOP;
725 return l_return_status;
726 EXCEPTION
727 -- other appropriate handlers
728 When others then
729 -- store SQL error message on message stack
730 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
731 p_msg_name => G_UNEXPECTED_ERROR,
732 p_token1 => G_SQLCODE_TOKEN,
733 p_token1_value => sqlcode,
734 p_token2 => G_SQLERRM_TOKEN,
735 p_token2_value => sqlerrm);
736
737 -- notify UNEXPECTED error
738 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
739 return l_return_status;
740 END DELETE_K_ACCESSES;
741
742 --Function DELETE_K_ARTICLES
743
744 --FUNCTION DELETE_K_ARTICLES( p_chr_id number) Return varchar2 IS
745 --
746 -- l_catv_tbl_in okc_k_article_pub.catv_tbl_type;
747 -- CURSOR l_catv_csr (p_id IN NUMBER) IS
748 -- SELECT ID
749 -- FROM OKC_K_ARTICLES_V
750 -- WHERE dnz_chr_id = p_id;
751 --
752 --Begin
753 --
754 -- l_return_status := OKC_API.G_RET_STS_SUCCESS;
755 --
756 -- FOR rec IN l_catv_csr(p_chr_id)
757 -- LOOP
758 -- l_catv_tbl_in(1).ID := rec.id;
759 --
760 -- okc_k_article_pub.delete_k_article (
761 -- p_api_version => l_api_version,
762 -- p_init_msg_list => l_init_msg_list,
763 -- x_return_status => l_return_status,
764 -- x_msg_count => l_msg_count,
765 -- x_msg_data => l_msg_data,
766 -- p_catv_tbl => l_catv_tbl_in
767 -- );
768 --
769 -- If (l_return_status <> 'S') Then
770 -- OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
771 -- p_msg_name => G_CANNOT_DELETE,
772 -- p_token1 => G_TABLE_NAME_TOKEN,
773 -- p_token1_value => 'Contract Articles',
774 -- p_token2 => G_SQLCODE_TOKEN,
775 -- p_token2_value => sqlcode,
776 -- p_token3 => G_SQLERRM_TOKEN,
777 -- p_token3_value => sqlerrm);
778 -- Exit;
779 -- End If;
780 -- END LOOP;
781 -- return l_return_status;
782 -- EXCEPTION
783 -- -- other appropriate handlers
784 -- When others then
785 -- -- store SQL error message on message stack
786 -- OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
787 -- p_msg_name => G_UNEXPECTED_ERROR,
788 -- p_token1 => G_SQLCODE_TOKEN,
789 -- p_token1_value => sqlcode,
790 -- p_token2 => G_SQLERRM_TOKEN,
791 -- p_token2_value => sqlerrm);
792 --
793 -- -- notify UNEXPECTED error
794 -- l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
795 -- return l_return_status;
796 --END DELETE_K_ARTICLES;
797
798 --Function DELETE_K_GRPINGS
799
800 FUNCTION DELETE_K_GRPINGS(p_chr_id number ) Return varchar2 IS
801
802 l_cgcv_tbl_in OKC_CONTRACT_GROUP_PUB.cgcv_tbl_type;
803
804 CURSOR l_cgcv_csr (p_id IN NUMBER) IS
805 SELECT ID
806 FROM OKC_K_GRPINGS_V
807 WHERE INCLUDED_CHR_ID = p_id;
808 Begin
809 l_return_status := OKC_API.G_RET_STS_SUCCESS;
810
811 FOR rec IN l_cgcv_csr(p_chr_id)
812 LOOP
813 l_cgcv_tbl_in(1).ID := rec.id;
814
815 OKC_CONTRACT_GROUP_PUB.Delete_Contract_Grpngs (
816 p_api_version => l_api_version,
817 p_init_msg_list => l_init_msg_list,
818 x_return_status => l_return_status,
819 x_msg_count => l_msg_count,
820 x_msg_data => l_msg_data,
821 p_cgcv_tbl => l_cgcv_tbl_in
822 );
823
824 If (l_return_status <> 'S') Then
825 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
826 p_msg_name => G_CANNOT_DELETE,
827 p_token1 => G_TABLE_NAME_TOKEN,
828 p_token1_value => 'Contract Grouping',
829 p_token2 => G_SQLCODE_TOKEN,
830 p_token2_value => sqlcode,
831 p_token3 => G_SQLERRM_TOKEN,
832 p_token3_value => sqlerrm);
833 Exit;
834 End If;
835 END LOOP;
836 return l_return_status;
837 EXCEPTION
838 -- other appropriate handlers
839 When others then
840 -- store SQL error message on message stack
841 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
842 p_msg_name => G_UNEXPECTED_ERROR,
843 p_token1 => G_SQLCODE_TOKEN,
844 p_token1_value => sqlcode,
845 p_token2 => G_SQLERRM_TOKEN,
846 p_token2_value => sqlerrm);
847
848 -- notify UNEXPECTED error
849 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
850 return l_return_status;
851 END DELETE_K_GRPINGS;
852
853 --Function DELETE_K_HEADERS
854
855 FUNCTION DELETE_K_HEADERS( p_chr_id number ) Return varchar2 IS
856
857 l_chrv_rec OKC_CONTRACT_PUB.chrv_rec_type;
858 l_clean_relink_flag VARCHAR2(10) := 'CLEAN';
859 Begin
860
861 l_return_status := OKC_API.G_RET_STS_SUCCESS;
862
863 l_chrv_rec.ID := p_chr_id;
864
865 -- clean renewal links
866 OKC_CONTRACT_PVT.CLEAN_REN_LINKS(
867 p_api_version => l_api_version,
868 p_init_msg_list => l_init_msg_list,
869 x_return_status => l_return_status,
870 x_msg_count => l_msg_count,
871 x_msg_data => l_msg_data,
872 p_target_chr_id => p_chr_id,
873 clean_relink_flag => l_clean_relink_flag);
874
875 If (l_return_status <> 'S') Then
876 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
877 p_msg_name => G_CANNOT_DELETE,
878 p_token1 => G_TABLE_NAME_TOKEN,
879 p_token1_value => 'Contract Header',
880 p_token2 => G_SQLCODE_TOKEN,
881 p_token2_value => sqlcode,
882 p_token3 => G_SQLERRM_TOKEN,
883 p_token3_value => sqlerrm);
884 End If;
885
886 -- clean history table
887 OKC_K_HISTORY_PUB.DELETE_ALL_ROWS (
888 p_api_version => l_api_version,
889 p_init_msg_list => l_init_msg_list,
890 x_return_status => l_return_status,
891 x_msg_count => l_msg_count,
892 x_msg_data => l_msg_data,
893 p_chr_id => p_chr_id
894 );
895
896 If (l_return_status <> 'S') Then
897 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
898 p_msg_name => G_CANNOT_DELETE,
899 p_token1 => G_TABLE_NAME_TOKEN,
900 p_token1_value => 'Contract Header',
901 p_token2 => G_SQLCODE_TOKEN,
902 p_token2_value => sqlcode,
903 p_token3 => G_SQLERRM_TOKEN,
904 p_token3_value => sqlerrm);
905 End If;
906
907 OKC_CONTRACT_PUB.Delete_Contract_Header (
908 p_api_version => l_api_version,
909 p_init_msg_list => l_init_msg_list,
910 x_return_status => l_return_status,
911 x_msg_count => l_msg_count,
912 x_msg_data => l_msg_data,
913 p_chrv_rec => l_chrv_rec
914 );
915
916 If (l_return_status <> 'S') Then
917 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
918 p_msg_name => G_CANNOT_DELETE,
919 p_token1 => G_TABLE_NAME_TOKEN,
920 p_token1_value => 'Contract Header',
921 p_token2 => G_SQLCODE_TOKEN,
922 p_token2_value => sqlcode,
923 p_token3 => G_SQLERRM_TOKEN,
924 p_token3_value => sqlerrm);
925 End If;
926 return l_return_status;
927 EXCEPTION
928 -- other appropriate handlers
929 When others then
930 -- store SQL error message on message stack
931 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
932 p_msg_name => G_UNEXPECTED_ERROR,
933 p_token1 => G_SQLCODE_TOKEN,
934 p_token1_value => sqlcode,
935 p_token2 => G_SQLERRM_TOKEN,
936 p_token2_value => sqlerrm);
937
938 -- notify UNEXPECTED error
939 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
940 return l_return_status;
941 END DELETE_K_HEADERS;
942
943 --Function DELETE_K_ITEMS
944
945 FUNCTION DELETE_K_ITEMS( p_chr_id number) Return varchar2 IS
946
947 l_cimv_tbl_in OKC_CONTRACT_ITEM_PUB.cimv_tbl_type;
948
949 CURSOR l_cimv_csr (p_id IN NUMBER) IS
950 SELECT ID
951 FROM OKC_K_ITEMS_V
952 WHERE dnz_chr_id = p_id;
953
954 Begin
955
956 l_return_status := OKC_API.G_RET_STS_SUCCESS;
957
958 FOR rec IN l_cimv_csr(p_chr_id)
959 LOOP
960 l_cimv_tbl_in(1).ID := rec.id;
961
962 OKC_CONTRACT_ITEM_PUB.Delete_Contract_Item (
963 p_api_version => l_api_version,
964 p_init_msg_list => l_init_msg_list,
965 x_return_status => l_return_status,
966 x_msg_count => l_msg_count,
967 x_msg_data => l_msg_data,
968 p_cimv_tbl => l_cimv_tbl_in
969 );
970
971 If (l_return_status <> 'S') Then
972 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
973 p_msg_name => G_CANNOT_DELETE,
974 p_token1 => G_TABLE_NAME_TOKEN,
975 p_token1_value => 'Contract Items',
976 p_token2 => G_SQLCODE_TOKEN,
977 p_token2_value => sqlcode,
978 p_token3 => G_SQLERRM_TOKEN,
979 p_token3_value => sqlerrm);
980 Exit;
981 End If;
982 END LOOP;
983 return l_return_status;
984 EXCEPTION
985 -- other appropriate handlers
986 When others then
987 -- store SQL error message on message stack
988 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
989 p_msg_name => G_UNEXPECTED_ERROR,
990 p_token1 => G_SQLCODE_TOKEN,
991 p_token1_value => sqlcode,
992 p_token2 => G_SQLERRM_TOKEN,
993 p_token2_value => sqlerrm);
994
995 -- notify UNEXPECTED error
996 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
997 return l_return_status;
998 END DELETE_K_ITEMS;
999
1000 --Function DELETE_K_LINES
1001
1002 FUNCTION DELETE_K_LINES( p_chr_id number) Return varchar2 IS
1003
1004 l_clev_tbl_in OKC_CONTRACT_PUB.clev_tbl_type;
1005 l_cle_id NUMBER;
1006 l_not_found BOOLEAN;
1007
1008 CURSOR l_clev_csr (p_id IN NUMBER) IS
1009 SELECT ID
1010 FROM OKC_K_LINES_V
1011 WHERE dnz_chr_id = p_id;
1012
1013
1014 begin
1015
1016 l_return_status := OKC_API.G_RET_STS_SUCCESS;
1017 --Fix for Bug 5282502
1018 delete from okc_ancestrys
1019 where cle_id in (
1020 select Ks.cle_id
1021 from okc_ancestrys KS, okc_k_lines_b Kl
1022 where kl.id = ks.cle_id
1023 And Kl.dnz_chr_id = p_chr_id);
1024
1025
1026 For rec in l_clev_csr(p_chr_id)
1027 Loop
1028 l_clev_tbl_in(1).ID := rec.id;
1029
1030 OKC_CONTRACT_PUB.Delete_Contract_Line(
1031 p_api_version => l_api_version,
1032 p_init_msg_list => l_init_msg_list,
1033 x_return_status => l_return_status,
1034 x_msg_count => l_msg_count,
1035 x_msg_data => l_msg_data,
1036 p_clev_tbl => l_clev_tbl_in);
1037
1038 If (l_return_status <> 'S') Then
1039 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
1040 p_msg_name => G_CANNOT_DELETE,
1041 p_token1 => G_TABLE_NAME_TOKEN,
1042 p_token1_value => 'Contract Lines',
1043 p_token2 => G_SQLCODE_TOKEN,
1044 p_token2_value => sqlcode,
1045 p_token3 => G_SQLERRM_TOKEN,
1046 p_token3_value => sqlerrm);
1047 Exit;
1048 End If;
1049 End Loop;
1050
1051 return l_return_status;
1052 EXCEPTION
1053 -- other appropriate handlers
1054 When others then
1055 -- store SQL error message on message stack
1056 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
1057 p_msg_name => G_UNEXPECTED_ERROR,
1058 p_token1 => G_SQLCODE_TOKEN,
1059 p_token1_value => sqlcode,
1060 p_token2 => G_SQLERRM_TOKEN,
1061 p_token2_value => sqlerrm);
1062
1063 -- notify UNEXPECTED error
1064 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1065 return l_return_status;
1066 END DELETE_K_LINES;
1067
1068 --Function DELETE_K_PARTY_ROLES
1069
1070 FUNCTION DELETE_K_PARTY_ROLES( p_chr_id number) Return varchar2 IS
1071
1072 l_cplv_tbl_in OKC_CONTRACT_PARTY_PUB.cplv_tbl_type;
1073
1074 CURSOR l_cplv_csr (p_id IN NUMBER) IS
1075 SELECT ID
1076 FROM OKC_K_PARTY_ROLES_V
1077 WHERE dnz_chr_id = p_id;
1078
1079 Begin
1080
1081 l_return_status := OKC_API.G_RET_STS_SUCCESS;
1082
1083 FOR rec IN l_cplv_csr(p_chr_id)
1084 LOOP
1085 l_cplv_tbl_in(1).ID := rec.id;
1086
1087 OKC_CONTRACT_PARTY_PUB.DELETE_K_PARTY_ROLE (
1088 p_api_version => l_api_version,
1089 p_init_msg_list => l_init_msg_list,
1090 x_return_status => l_return_status,
1091 x_msg_count => l_msg_count,
1092 x_msg_data => l_msg_data,
1093 p_cplv_tbl => l_cplv_tbl_in
1094 );
1095
1096 If (l_return_status <> 'S') Then
1097 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
1098 p_msg_name => G_CANNOT_DELETE,
1099 p_token1 => G_TABLE_NAME_TOKEN,
1100 p_token1_value => 'Contract Party Roles',
1101 p_token2 => G_SQLCODE_TOKEN,
1102 p_token2_value => sqlcode,
1103 p_token3 => G_SQLERRM_TOKEN,
1104 p_token3_value => sqlerrm);
1105 Exit;
1106 End If;
1107 END LOOP;
1108 return l_return_status;
1109 EXCEPTION
1110 -- other appropriate handlers
1111 When others then
1112 -- store SQL error message on message stack
1113 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
1114 p_msg_name => G_UNEXPECTED_ERROR,
1115 p_token1 => G_SQLCODE_TOKEN,
1116 p_token1_value => sqlcode,
1117 p_token2 => G_SQLERRM_TOKEN,
1118 p_token2_value => sqlerrm);
1119
1120 -- notify UNEXPECTED error
1121 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1122 return l_return_status;
1123 END DELETE_K_PARTY_ROLES;
1124
1125
1126 --Function DELETE_K_PROCESSES
1127
1128 FUNCTION DELETE_K_PROCESSES( p_chr_id number) Return varchar2 IS
1129
1130 l_cpsv_tbl_in OKC_CONTRACT_PUB.cpsv_tbl_type;
1131
1132 CURSOR l_cpsv_csr (p_id IN NUMBER) IS
1133 SELECT ID
1134 FROM OKC_K_PROCESSES_V
1135 WHERE chr_id = p_id;
1136
1137 Begin
1138
1139 l_return_status := OKC_API.G_RET_STS_SUCCESS;
1140
1141 FOR rec IN l_cpsv_csr(p_chr_id)
1142 LOOP
1143 l_cpsv_tbl_in(1).ID := rec.id;
1144
1145 OKC_CONTRACT_PUB.Delete_Contract_Process (
1146 p_api_version => l_api_version,
1147 p_init_msg_list => l_init_msg_list,
1148 x_return_status => l_return_status,
1149 x_msg_count => l_msg_count,
1150 x_msg_data => l_msg_data,
1151 p_cpsv_tbl => l_cpsv_tbl_in
1152 );
1153
1154 If (l_return_status <> 'S') Then
1155 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
1156 p_msg_name => G_CANNOT_DELETE,
1157 p_token1 => G_TABLE_NAME_TOKEN,
1158 p_token1_value => 'Contract Processes',
1159 p_token2 => G_SQLCODE_TOKEN,
1160 p_token2_value => sqlcode,
1161 p_token3 => G_SQLERRM_TOKEN,
1162 p_token3_value => sqlerrm);
1163 Exit;
1164 End If;
1165 END LOOP;
1166 return l_return_status;
1167 EXCEPTION
1168 -- other appropriate handlers
1169 When others then
1170 -- store SQL error message on message stack
1171 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
1172 p_msg_name => G_UNEXPECTED_ERROR,
1173 p_token1 => G_SQLCODE_TOKEN,
1174 p_token1_value => sqlcode,
1175 p_token2 => G_SQLERRM_TOKEN,
1176 p_token2_value => sqlerrm);
1177
1178 -- notify UNEXPECTED error
1179 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1180 return l_return_status;
1181 END DELETE_K_PROCESSES;
1182
1183
1184 --Function DELETE_OUTCOME_ARGUMENTS
1185
1186 FUNCTION DELETE_OUTCOME_ARGUMENTS( p_chr_id number) Return varchar2 IS
1187
1188 l_oatv_tbl_in OKC_OUTCOME_PUB.oatv_tbl_type;
1189
1190 CURSOR l_oatv_csr (p_id IN NUMBER) IS
1191 SELECT ID
1192 FROM OKC_OUTCOME_ARGUMENTS_V
1193 WHERE dnz_chr_id = p_id;
1194
1195 Begin
1196
1197 l_return_status := OKC_API.G_RET_STS_SUCCESS;
1198
1199 FOR rec IN l_oatv_csr(p_chr_id)
1200 LOOP
1201 l_oatv_tbl_in(1).ID := rec.id;
1202
1203 OKC_OUTCOME_PUB.delete_out_arg (
1204 p_api_version => l_api_version,
1205 p_init_msg_list => l_init_msg_list,
1206 x_return_status => l_return_status,
1207 x_msg_count => l_msg_count,
1208 x_msg_data => l_msg_data,
1209 p_oatv_tbl => l_oatv_tbl_in
1210 );
1211
1212 If (l_return_status <> 'S') Then
1213 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
1214 p_msg_name => G_CANNOT_DELETE,
1215 p_token1 => G_TABLE_NAME_TOKEN,
1216 p_token1_value => 'Outcome Arguments',
1217 p_token2 => G_SQLCODE_TOKEN,
1218 p_token2_value => sqlcode,
1219 p_token3 => G_SQLERRM_TOKEN,
1220 p_token3_value => sqlerrm);
1221 Exit;
1222 End If;
1223 END LOOP;
1224 return l_return_status;
1225 EXCEPTION
1226 -- other appropriate handlers
1227 When others then
1228 -- store SQL error message on message stack
1229 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
1230 p_msg_name => G_UNEXPECTED_ERROR,
1231 p_token1 => G_SQLCODE_TOKEN,
1232 p_token1_value => sqlcode,
1233 p_token2 => G_SQLERRM_TOKEN,
1234 p_token2_value => sqlerrm);
1235
1236 -- notify UNEXPECTED error
1237 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1238 return l_return_status;
1239 END DELETE_OUTCOME_ARGUMENTS;
1240
1241 --Function DELETE_OUTCOMES
1242
1243 FUNCTION DELETE_OUTCOMES( p_chr_id number) Return varchar2 IS
1244
1245 l_ocev_tbl_in OKC_OUTCOME_PUB.ocev_tbl_type;
1246
1247 CURSOR l_ocev_csr (p_id IN NUMBER) IS
1248 SELECT ID
1249 FROM OKC_OUTCOMES_V
1250 WHERE dnz_chr_id = p_id;
1251
1252 Begin
1253
1254 l_return_status := OKC_API.G_RET_STS_SUCCESS;
1255
1256 FOR rec IN l_ocev_csr(p_chr_id)
1257 LOOP
1258 l_ocev_tbl_in(1).ID := rec.id;
1259
1260 OKC_OUTCOME_PUB.delete_outcome (
1261 p_api_version => l_api_version,
1262 p_init_msg_list => l_init_msg_list,
1263 x_return_status => l_return_status,
1264 x_msg_count => l_msg_count,
1265 x_msg_data => l_msg_data,
1266 p_ocev_tbl => l_ocev_tbl_in
1267 );
1268
1269 If (l_return_status <> 'S') Then
1270 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
1271 p_msg_name => G_CANNOT_DELETE,
1272 p_token1 => G_TABLE_NAME_TOKEN,
1273 p_token1_value => 'Outcomes',
1274 p_token2 => G_SQLCODE_TOKEN,
1275 p_token2_value => sqlcode,
1276 p_token3 => G_SQLERRM_TOKEN,
1277 p_token3_value => sqlerrm);
1278 Exit;
1279 End If;
1280 END LOOP;
1281 return l_return_status;
1282 EXCEPTION
1283 -- other appropriate handlers
1284 When others then
1285 -- store SQL error message on message stack
1286 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
1287 p_msg_name => G_UNEXPECTED_ERROR,
1288 p_token1 => G_SQLCODE_TOKEN,
1289 p_token1_value => sqlcode,
1290 p_token2 => G_SQLERRM_TOKEN,
1291 p_token2_value => sqlerrm);
1292
1293 -- notify UNEXPECTED error
1294 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1295 return l_return_status;
1296 END DELETE_OUTCOMES;
1297
1298 /*
1299 --------------This has taken care from Delete_Rule API-----------------------
1300
1301 --Function DELETE_REACT_INTERVALS
1302
1303 FUNCTION DELETE_REACT_INTERVALS( p_chr_id number) Return varchar2 IS
1304
1305 l_rilv_tbl_in OKC_RULE_PUB.rilv_tbl_type;
1306
1307 CURSOR l_rilv_csr (p_id IN NUMBER) IS
1308 SELECT TVE_ID, RUL_ID
1309 FROM OKC_REACT_INTERVALS_V
1310 WHERE dnz_chr_id = p_id;
1311
1312 Begin
1313
1314 l_return_status := OKC_API.G_RET_STS_SUCCESS;
1315
1316 FOR rec IN l_rilv_csr(p_chr_id)
1317 LOOP
1318 l_rilv_tbl_in(1).TVE_ID := rec.TVE_ID;
1319 l_rilv_tbl_in(1).RUL_ID := rec.RUL_ID;
1320
1321 OKC_RULE_PUB.delete_react_interval (
1322 p_api_version => l_api_version,
1323 p_init_msg_list => l_init_msg_list,
1324 x_return_status => l_return_status,
1325 x_msg_count => l_msg_count,
1326 x_msg_data => l_msg_data,
1327 p_rilv_tbl => l_rilv_tbl_in
1328 );
1329
1330 If (l_return_status <> 'S') Then
1331 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
1332 p_msg_name => G_CANNOT_DELETE,
1333 p_token1 => G_TABLE_NAME_TOKEN,
1334 p_token1_value => 'Reaction Intervals',
1335 p_token2 => G_SQLCODE_TOKEN,
1336 p_token2_value => sqlcode,
1337 p_token3 => G_SQLERRM_TOKEN,
1338 p_token3_value => sqlerrm);
1339 Exit;
1340 End If;
1341 END LOOP;
1342 return l_return_status;
1343 EXCEPTION
1344 -- other appropriate handlers
1345 When others then
1346 -- store SQL error message on message stack
1347 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
1348 p_msg_name => G_UNEXPECTED_ERROR,
1349 p_token1 => G_SQLCODE_TOKEN,
1350 p_token1_value => sqlcode,
1351 p_token2 => G_SQLERRM_TOKEN,
1352 p_token2_value => sqlerrm);
1353
1354 -- notify UNEXPECTED error
1355 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1356 return l_return_status;
1357 END DELETE_REACT_INTERVALS;
1358 */
1359
1360 --Function DELETE_RG_PARTY_ROLES
1361
1362 FUNCTION DELETE_RG_PARTY_ROLES( p_chr_id number) Return varchar2 IS
1363
1364 l_rmpv_tbl_in OKC_RULE_PUB.rmpv_tbl_type;
1365
1366 CURSOR l_rmpv_csr (p_id IN NUMBER) IS
1367 SELECT ID
1368 FROM OKC_RG_PARTY_ROLES_V
1369 WHERE dnz_chr_id = p_id;
1370
1371 Begin
1372
1373 l_return_status := OKC_API.G_RET_STS_SUCCESS;
1374
1375 FOR rec IN l_rmpv_csr(p_chr_id)
1376 LOOP
1377 l_rmpv_tbl_in(1).ID := rec.id;
1378
1379 OKC_RULE_PUB.delete_rg_mode_pty_role (
1380 p_api_version => l_api_version,
1381 p_init_msg_list => l_init_msg_list,
1382 x_return_status => l_return_status,
1383 x_msg_count => l_msg_count,
1384 x_msg_data => l_msg_data,
1385 p_rmpv_tbl => l_rmpv_tbl_in
1386 );
1387
1388 If (l_return_status <> 'S') Then
1389 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
1390 p_msg_name => G_CANNOT_DELETE,
1391 p_token1 => G_TABLE_NAME_TOKEN,
1392 p_token1_value => 'Rule Group Party Roles',
1393 p_token2 => G_SQLCODE_TOKEN,
1394 p_token2_value => sqlcode,
1395 p_token3 => G_SQLERRM_TOKEN,
1396 p_token3_value => sqlerrm);
1397 Exit;
1398 End If;
1399 END LOOP;
1400 return l_return_status;
1401 EXCEPTION
1402 -- other appropriate handlers
1403 When others then
1404 -- store SQL error message on message stack
1405 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
1406 p_msg_name => G_UNEXPECTED_ERROR,
1407 p_token1 => G_SQLCODE_TOKEN,
1408 p_token1_value => sqlcode,
1409 p_token2 => G_SQLERRM_TOKEN,
1410 p_token2_value => sqlerrm);
1411
1412 -- notify UNEXPECTED error
1413 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1414 return l_return_status;
1415 END DELETE_RG_PARTY_ROLES;
1416
1417 --Function DELETE_RULE_GROUPS
1418
1419 FUNCTION DELETE_RULE_GROUPS( p_chr_id number) Return varchar2 IS
1420
1421 l_rgpv_tbl_in OKC_RULE_PUB.rgpv_tbl_type;
1422
1423 CURSOR l_rgpv_csr (p_id IN NUMBER) IS
1424 SELECT ID
1425 FROM OKC_RULE_GROUPS_V
1426 WHERE dnz_chr_id = p_id;
1427
1428 Begin
1429
1430 l_return_status := OKC_API.G_RET_STS_SUCCESS;
1431
1432 FOR rec IN l_rgpv_csr(p_chr_id)
1433 LOOP
1434 l_rgpv_tbl_in(1).ID := rec.id;
1435
1436 OKC_RULE_PUB.delete_rule_group (
1437 p_api_version => l_api_version,
1438 p_init_msg_list => l_init_msg_list,
1439 x_return_status => l_return_status,
1440 x_msg_count => l_msg_count,
1441 x_msg_data => l_msg_data,
1442 p_rgpv_tbl => l_rgpv_tbl_in
1443 );
1444
1445 If (l_return_status <> 'S') Then
1446 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
1447 p_msg_name => G_CANNOT_DELETE,
1448 p_token1 => G_TABLE_NAME_TOKEN,
1449 p_token1_value => 'Rule Groups',
1450 p_token2 => G_SQLCODE_TOKEN,
1451 p_token2_value => sqlcode,
1452 p_token3 => G_SQLERRM_TOKEN,
1453 p_token3_value => sqlerrm);
1454 Exit;
1455 End If;
1456 END LOOP;
1457 return l_return_status;
1458 EXCEPTION
1459 -- other appropriate handlers
1460 When others then
1461 -- store SQL error message on message stack
1462 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
1463 p_msg_name => G_UNEXPECTED_ERROR,
1464 p_token1 => G_SQLCODE_TOKEN,
1465 p_token1_value => sqlcode,
1466 p_token2 => G_SQLERRM_TOKEN,
1467 p_token2_value => sqlerrm);
1468
1469 -- notify UNEXPECTED error
1470 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1471 return l_return_status;
1472 END DELETE_RULE_GROUPS;
1473
1474 --Function DELETE_RULES
1475
1476 FUNCTION DELETE_RULES( p_chr_id number) Return varchar2 IS
1477
1478 l_rulv_tbl_in OKC_RULE_PUB.rulv_tbl_type;
1479
1480 CURSOR l_rulv_csr (p_id IN NUMBER) IS
1481 SELECT ID
1482 FROM OKC_RULES_V
1483 WHERE dnz_chr_id = p_id;
1484
1485 Begin
1486
1487 l_return_status := OKC_API.G_RET_STS_SUCCESS;
1488
1489 FOR rec IN l_rulv_csr(p_chr_id)
1490 LOOP
1491 l_rulv_tbl_in(1).ID := rec.id;
1492
1493 OKC_RULE_PUB.Delete_Rule (
1494 p_api_version => l_api_version,
1495 p_init_msg_list => l_init_msg_list,
1496 x_return_status => l_return_status,
1497 x_msg_count => l_msg_count,
1498 x_msg_data => l_msg_data,
1499 p_rulv_tbl => l_rulv_tbl_in
1500 );
1501
1502 If (l_return_status <> 'S') Then
1503 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
1504 p_msg_name => G_CANNOT_DELETE,
1505 p_token1 => G_TABLE_NAME_TOKEN,
1506 p_token1_value => 'Rules',
1507 p_token2 => G_SQLCODE_TOKEN,
1508 p_token2_value => sqlcode,
1509 p_token3 => G_SQLERRM_TOKEN,
1510 p_token3_value => sqlerrm);
1511 Exit;
1512 End If;
1513 END LOOP;
1514 return l_return_status;
1515 EXCEPTION
1516 -- other appropriate handlers
1517 When others then
1518 -- store SQL error message on message stack
1519 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
1520 p_msg_name => G_UNEXPECTED_ERROR,
1521 p_token1 => G_SQLCODE_TOKEN,
1522 p_token1_value => sqlcode,
1523 p_token2 => G_SQLERRM_TOKEN,
1524 p_token2_value => sqlerrm);
1525
1526 -- notify UNEXPECTED error
1527 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1528 return l_return_status;
1529 END DELETE_RULES;
1530
1531 /*
1532 --------------This has taken care from Delete_Rule API-----------------------
1533
1534 --Function DELETE_TIMEVALUES
1535
1536 FUNCTION DELETE_TIMEVALUES( p_chr_id number) Return varchar2 IS
1537
1538 l_tavv_tbl_in OKC_TIME_PUB.tavv_tbl_type;
1539
1540 CURSOR l_tavv_csr (p_id IN NUMBER) IS
1541 SELECT ID
1542 FROM OKC_TIMEVALUES_V
1543 WHERE dnz_chr_id = p_id;
1544
1545 Begin
1546
1547 l_return_status := OKC_API.G_RET_STS_SUCCESS;
1548
1549 FOR rec IN l_tavv_csr(p_chr_id)
1550 LOOP
1551 l_tavv_tbl_in(1).ID := rec.id;
1552
1553 OKC_TIME_PUB.DELETE_TPA_VALUE (
1554 p_api_version => l_api_version,
1555 p_init_msg_list => l_init_msg_list,
1556 x_return_status => l_return_status,
1557 x_msg_count => l_msg_count,
1558 x_msg_data => l_msg_data,
1559 p_tavv_tbl => l_tavv_tbl_in
1560 );
1561
1562 If (l_return_status <> 'S') Then
1563 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
1564 p_msg_name => G_CANNOT_DELETE,
1565 p_token1 => G_TABLE_NAME_TOKEN,
1566 p_token1_value => 'Timevalues',
1567 p_token2 => G_SQLCODE_TOKEN,
1568 p_token2_value => sqlcode,
1569 p_token3 => G_SQLERRM_TOKEN,
1570 p_token3_value => sqlerrm);
1571 Exit;
1572 End If;
1573 END LOOP;
1574 return l_return_status;
1575 EXCEPTION
1576 -- other appropriate handlers
1577 When others then
1578 -- store SQL error message on message stack
1579 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
1580 p_msg_name => G_UNEXPECTED_ERROR,
1581 p_token1 => G_SQLCODE_TOKEN,
1582 p_token1_value => sqlcode,
1583 p_token2 => G_SQLERRM_TOKEN,
1584 p_token2_value => sqlerrm);
1585
1586 -- notify UNEXPECTED error
1587 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1588 return l_return_status;
1589 END DELETE_TIMEVALUES;
1590 */
1591
1592 --Public procedure to delete various components of a contract
1593 PROCEDURE delete_contract(
1594 p_api_version IN NUMBER,
1595 p_init_msg_list IN VARCHAR2 ,
1596 x_return_status OUT NOCOPY VARCHAR2,
1597 x_msg_count OUT NOCOPY NUMBER,
1598 x_msg_data OUT NOCOPY VARCHAR2,
1599 p_chrv_rec IN OKC_CONTRACT_PUB.chrv_rec_type) IS
1600
1601 l_api_name VARCHAR2(30) := 'V_Delete_Contract';
1602 l_delete_allowed VARCHAR2(1);
1603 DELETE_NOT_ALLOWED Exception;
1604 l_doc_type VARCHAR2(30);
1605 l_doc_id NUMBER;
1606
1607 -- BUG#4122038 HKAMDAR 10-FEB-2005 Part 2
1608 lx_return_status VARCHAR2(1) ;
1609 -- BUG#4122038 HKAMDAR End Part 2
1610
1611 BEGIN
1612
1613 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
1614 G_PKG_NAME,
1615 p_init_msg_list,
1616 l_api_version,
1617 p_api_version,
1618 '_PVT',
1619 x_return_status);
1620 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1621 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1622 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1623 RAISE OKC_API.G_EXCEPTION_ERROR;
1624 END IF;
1625 l_delete_allowed := OKC_ASSENT_PUB.HEADER_OPERATION_ALLOWED(p_header_id => p_chrv_rec.id,
1626 p_opn_code => 'DELETE');
1627
1628 If l_delete_allowed <> 'T' Then
1629
1630 Raise DELETE_NOT_ALLOWED;
1631 End If;
1632
1633 --delete Contacts
1634 l_return_status := Delete_contacts(p_chrv_rec.ID);
1635 --- If any errors happen abort API
1636 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1637 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1638 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1639 RAISE OKC_API.G_EXCEPTION_ERROR;
1640 END IF;
1641
1642 --delete price att values
1643 l_return_status := Delete_Price_Att_Values(p_chrv_rec.ID);
1644 --- If any errors happen abort API
1645 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1646 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1647 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1648 RAISE OKC_API.G_EXCEPTION_ERROR;
1649 END IF;
1650
1651 /****For Bug.1850500.*********************************************
1652 --delete price adjustment attributes
1653 l_return_status := Delete_Price_Adj_Attribs(p_chrv_rec.ID);
1654 --- If any errors happen abort API
1655 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1656 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1657 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1658 RAISE OKC_API.G_EXCEPTION_ERROR;
1659 END IF;
1660 *****************************************************************/
1661 /****For Bug.1850500.*********************************************
1662 --delete price adjustment associations
1663 l_return_status := Delete_Price_Adj_Assocs(p_chrv_rec.ID);
1664 --- If any errors happen abort API
1665 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1666 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1667 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1668 RAISE OKC_API.G_EXCEPTION_ERROR;
1669 END IF;
1670 *****************************************************************/
1671
1672 /****For Bug.1850500.*********************************************
1673 --delete Price adjustments
1674 l_return_status := Delete_Price_Adjustments(p_chrv_rec.ID);
1675 --- If any errors happen abort API
1676 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1677 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1678 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1679 RAISE OKC_API.G_EXCEPTION_ERROR;
1680 END IF;
1681 *****************************************************************/
1682 --delete contract party roles
1683 l_return_status := Delete_k_party_roles(p_chrv_rec.ID);
1684
1685 --- If any errors happen abort API
1686 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1687 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1688 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1689 RAISE OKC_API.G_EXCEPTION_ERROR;
1690 END IF;
1691
1692 --delete cover times
1693 --Cover times are deleted when rules/rule-groups deleted
1694
1695 --delete react intervals
1696 --React Intervals are deleted when rules/rule-groups deleted
1697
1698 --delete outcome arguments
1699 l_return_status := Delete_outcome_arguments(p_chrv_rec.ID);
1700 --- If any errors happen abort API
1701 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1702 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1703 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1704 RAISE OKC_API.G_EXCEPTION_ERROR;
1705 END IF;
1706
1707 --delete outcomes
1708 l_return_status := Delete_outcomes(p_chrv_rec.ID);
1709 --- If any errors happen abort API
1710 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1711 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1712 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1713 RAISE OKC_API.G_EXCEPTION_ERROR;
1714 END IF;
1715 /*
1716 -- --delete Article trans
1717 -- l_return_status := Delete_article_trans(p_chrv_rec.ID);
1718 --
1719 -- --- If any errors happen abort API
1720 -- IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1721 -- RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1722 -- ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1723 -- RAISE OKC_API.G_EXCEPTION_ERROR;
1724 -- END IF;
1725 */
1726
1727 -- BUG#4122038 HKAMDAR 10-FEB-2005 Part 3
1728 --/Rules Migration/
1729 Is_rule_allowed(p_chrv_rec.ID,
1730 lx_return_status);
1731
1732 IF lx_return_status = 'Y' Then
1733 -- End BUG#4122038 Part 3
1734 --delete Rules
1735 l_return_status := Delete_rules(p_chrv_rec.ID);
1736
1737 --- If any errors happen abort API
1738 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1739 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1740 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1741 RAISE OKC_API.G_EXCEPTION_ERROR;
1742 END IF;
1743
1744 --delete RuleGroup party roles
1745 l_return_status := Delete_rg_party_roles(p_chrv_rec.ID);
1746
1747 --- If any errors happen abort API
1748 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1749 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1750 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1751 RAISE OKC_API.G_EXCEPTION_ERROR;
1752 END IF;
1753
1754 /*
1755 -- --delete contract articles
1756 -- l_return_status := Delete_k_articles(p_chrv_rec.ID);
1757 --
1758 -- --- If any errors happen abort API
1759 -- IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1760 -- RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1761 -- ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1762 -- RAISE OKC_API.G_EXCEPTION_ERROR;
1763 -- END IF;
1764 */
1765 --delete Rule Groups
1766 l_return_status := Delete_rule_groups(p_chrv_rec.ID);
1767
1768 -- If any errors happen abort API
1769 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1770 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1771 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1772 RAISE OKC_API.G_EXCEPTION_ERROR;
1773 END IF;
1774
1775 END IF; -- BUG#4122038 HKAMDAR 10-FEB-2005 Part 4
1776
1777 --delete contract accesses
1778 l_return_status := Delete_k_accesses(p_chrv_rec.ID);
1779
1780 --- If any errors happen abort API
1781 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1782 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1783 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1784 RAISE OKC_API.G_EXCEPTION_ERROR;
1785 END IF;
1786
1787 --delete contract processes
1788 l_return_status := Delete_k_processes(p_chrv_rec.ID);
1789 --- If any errors happen abort API
1790 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1791 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1792 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1793 RAISE OKC_API.G_EXCEPTION_ERROR;
1794 END IF;
1795
1796 --delete function_expr_params
1797 l_return_status := Delete_function_expr_params(p_chrv_rec.ID);
1798 --- If any errors happen abort API
1799 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1800 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1801 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1802 RAISE OKC_API.G_EXCEPTION_ERROR;
1803 END IF;
1804
1805 --delete condition lines
1806 l_return_status := Delete_condition_lines(p_chrv_rec.ID);
1807 --- If any errors happen abort API
1808 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1809 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1810 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1811 RAISE OKC_API.G_EXCEPTION_ERROR;
1812 END IF;
1813
1814 --delete condition headers
1815 l_return_status := Delete_condition_headers(p_chrv_rec.ID);
1816 --- If any errors happen abort API
1817 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1818 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1819 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1820 RAISE OKC_API.G_EXCEPTION_ERROR;
1821 END IF;
1822
1823 --delete governances
1824 l_return_status := Delete_governances(p_chrv_rec.ID);
1825 --- If any errors happen abort API
1826 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1827 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1828 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1829 RAISE OKC_API.G_EXCEPTION_ERROR;
1830 END IF;
1831
1832 --delete contract items
1833 l_return_status := Delete_k_items(p_chrv_rec.ID);
1834 --- If any errors happen abort API
1835 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1836 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1837 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1838 RAISE OKC_API.G_EXCEPTION_ERROR;
1839 END IF;
1840
1841 --delete contract lines
1842 l_return_status := Delete_k_lines(p_chrv_rec.ID);
1843 --- If any errors happen abort API
1844 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1845 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1846 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1847 RAISE OKC_API.G_EXCEPTION_ERROR;
1848 END IF;
1849
1850 --delete contract groupings
1851 l_return_status := Delete_k_Grpings(p_chrv_rec.ID);
1852 --- If any errors happen abort API
1853 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1854 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1855 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1856 RAISE OKC_API.G_EXCEPTION_ERROR;
1857 END IF;
1858
1859 okc_terms_util_grp.get_contract_document_type_id(
1860 p_api_version => 1,
1861 p_init_msg_list => FND_API.G_FALSE,
1862 x_return_status => l_return_status,
1863 x_msg_data => x_msg_data,
1864 x_msg_count => x_msg_count,
1865 p_chr_id => p_chrv_rec.ID,
1866 x_doc_type => l_doc_type,
1867 x_doc_id => l_doc_id);
1868
1869 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1870 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1871 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1872 RAISE OKC_API.G_EXCEPTION_ERROR;
1873 END IF;
1874
1875 --Delete VERSION TERMS and Condition and Deliverables
1876
1877 OKC_TERMS_UTIL_GRP.delete_doc(
1878 p_api_version => 1,
1879 p_init_msg_list => FND_API.G_FALSE,
1880 p_commit => FND_API.G_FALSE,
1881
1882 x_return_status => l_return_status,
1883 x_msg_data => x_msg_data,
1884 x_msg_count => x_msg_count,
1885 p_validate_commit => FND_API.G_FALSE,
1886 p_validation_string => NULL,
1887
1888 p_doc_type => l_doc_type,
1889 p_doc_id => l_doc_id);
1890
1891 --- If any errors happen abort API
1892
1893 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1894 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1895 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1896 RAISE OKC_API.G_EXCEPTION_ERROR;
1897 END IF;
1898
1899 --delete contract header
1900 l_return_status := Delete_k_headers(p_chrv_rec.ID);
1901 --- If any errors happen abort API
1902 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1903 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1904 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1905 RAISE OKC_API.G_EXCEPTION_ERROR;
1906 END IF;
1907
1908 ---------
1909
1910 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1911 x_return_status := l_return_status;
1912 COMMIT WORK;
1913 EXCEPTION
1914 WHEN DELETE_NOT_ALLOWED Then
1915 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
1916 p_msg_name => 'OKC_NO_DELETE_WRONG_STATUS');
1917 x_return_status := OKC_API.G_RET_STS_ERROR;
1918
1919 WHEN OKC_API.G_EXCEPTION_ERROR THEN
1920 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1921 (
1922 l_api_name,
1923 G_PKG_NAME,
1924 'OKC_API.G_RET_STS_ERROR',
1925 x_msg_count,
1926 x_msg_data,
1927 '_PVT'
1928 );
1929 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1930 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1931 (
1932 l_api_name,
1933 G_PKG_NAME,
1934 'OKC_API.G_RET_STS_UNEXP_ERROR',
1935 x_msg_count,
1936 x_msg_data,
1937 '_PVT'
1938 );
1939 WHEN OTHERS THEN
1940 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1941 (
1942 l_api_name,
1943 G_PKG_NAME,
1944 'OTHERS',
1945 x_msg_count,
1946 x_msg_data,
1947 '_PVT'
1948 );
1949
1950 END Delete_Contract;
1951
1952 END OKC_DELETE_CONTRACT_PVT;