[Home] [Help]
PACKAGE BODY: APPS.OKC_COPY_CONTRACT_PUB
Source
1 Package body OKC_COPY_CONTRACT_PUB AS
2 /*$Header: OKCPCPYB.pls 120.3 2008/01/18 13:27:48 vgujarat ship $*/
3 l_debug VARCHAR2(1) := NVL(FND_PROFILE.VALUE('AFLOG_ENABLED'),'N');
4
5 G_API_VERSION CONSTANT NUMBER := 1;
6 G_SCOPE CONSTANT varchar2(4) := '_PUB';
7 G_INIT_MSG_LIST CONSTANT VARCHAR2(10) := OKC_API.G_FALSE;
8
9
10 FUNCTION is_copy_allowed(p_chr_id IN NUMBER,p_sts_code IN VARCHAR2 ) RETURN BOOLEAN IS
11 BEGIN
12 RETURN(OKC_COPY_CONTRACT_PVT.is_copy_allowed(p_chr_id,p_sts_code));
13 END is_copy_allowed;
14
15 FUNCTION is_subcontract_allowed(p_chr_id IN NUMBER,p_sts_code IN VARCHAR2) RETURN BOOLEAN IS
16 BEGIN
17 RETURN(OKC_COPY_CONTRACT_PVT.is_subcontract_allowed(p_chr_id,p_sts_code));
18 END is_subcontract_allowed;
19
20 FUNCTION update_target_contract(p_chr_id IN NUMBER) RETURN BOOLEAN IS
21 BEGIN
22 RETURN(OKC_COPY_CONTRACT_PVT.update_target_contract(p_chr_id));
23 END update_target_contract;
24
25 PROCEDURE derive_line_style(p_old_lse_id IN NUMBER,
26 p_old_jtot_code IN VARCHAR2,
27 p_new_subclass IN VARCHAR2,
28 p_new_parent_lse IN NUMBER,
29 x_new_lse_count OUT NOCOPY NUMBER,
30 x_new_lse_ids OUT NOCOPY VARCHAR2) IS
31 BEGIN
32 OKC_COPY_CONTRACT_PVT.derive_line_style(
33 p_old_lse_id => p_old_lse_id,
34 p_old_jtot_code => p_old_jtot_code,
35 p_new_subclass => p_new_subclass,
36 p_new_parent_lse => p_new_parent_lse,
37 x_new_lse_count => x_new_lse_count,
38 x_new_lse_ids => x_new_lse_ids);
39 END derive_line_style;
40
41 PROCEDURE copy_components(
42 p_api_version IN NUMBER,
43 p_init_msg_list IN VARCHAR2,
44 x_return_status OUT NOCOPY VARCHAR2,
45 x_msg_count OUT NOCOPY NUMBER,
46 x_msg_data OUT NOCOPY VARCHAR2,
47 p_from_chr_id IN NUMBER,
48 p_to_chr_id IN NUMBER,
49 p_contract_number IN VARCHAR2,
50 p_contract_number_modifier IN VARCHAR2,
51 p_to_template_yn IN VARCHAR2 ,
52 p_copy_reference IN VARCHAR2 ,
53 p_copy_line_party_yn IN VARCHAR2,
54 p_scs_code IN VARCHAR2,
55 p_intent IN VARCHAR2,
56 p_prospect IN VARCHAR2,
57 p_components_tbl IN api_components_tbl,
58 p_lines_tbl IN api_lines_tbl,
59 x_chr_id OUT NOCOPY NUMBER,
60 p_concurrent_request IN VARCHAR2 DEFAULT 'N',
61 p_include_cancelled_lines IN VARCHAR2 DEFAULT 'Y',
62 p_include_terminated_lines IN VARCHAR2 DEFAULT 'Y') IS
63 --Bug 2950549 - Added the parameter p_concurrent_request
64
65 l_api_name CONSTANT VARCHAR2(30) := 'COPY_COMPONENTS';
66 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
67 BEGIN
68 l_return_status := OKC_API.START_ACTIVITY(substr(l_api_name,1,26),
69 G_PKG_NAME,
70 p_init_msg_list,
71 G_API_VERSION,
72 p_api_version,
73 G_SCOPE,
74 x_return_status);
75 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
76 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
77 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
78 RAISE OKC_API.G_EXCEPTION_ERROR;
79 END IF;
80
81 OKC_COPY_CONTRACT_PVT.copy_components(
82 p_api_version => p_api_version,
83 p_init_msg_list => g_init_msg_list,
84 x_return_status => x_return_status,
85 x_msg_count => x_msg_count,
86 x_msg_data => x_msg_data,
87 p_from_chr_id => p_from_chr_id,
88 p_to_chr_id => p_to_chr_id,
89 p_contract_number => p_contract_number,
90 p_contract_number_modifier => p_contract_number_modifier,
91 p_to_template_yn => p_to_template_yn,
92 p_copy_reference => p_copy_reference,
93 p_copy_line_party_yn => p_copy_line_party_yn,
94 p_scs_code => p_scs_code,
95 p_intent => p_intent,
96 p_prospect => p_prospect,
97 p_components_tbl => p_components_tbl,
98 p_lines_tbl => p_lines_tbl,
99 x_chr_id => x_chr_id,
100 p_concurrent_request => p_concurrent_request,
101 p_include_cancelled_lines => p_include_cancelled_lines,
102 p_include_terminated_lines => p_include_terminated_lines);
103 -- added p_concurrent request parameter for Bug 2950549
104
105 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
106 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
107 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
108 RAISE OKC_API.G_EXCEPTION_ERROR;
109 END IF;
110 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
111 EXCEPTION
112 WHEN OKC_API.G_EXCEPTION_ERROR THEN
113 x_return_status := OKC_API.HANDLE_EXCEPTIONS
114 (substr(l_api_name,1,26),
115 G_PKG_NAME,
116 'OKC_API.G_RET_STS_ERROR',
117 x_msg_count,
118 x_msg_data,
119 G_SCOPE);
120 -- Resetting the global transaction id.
121 okc_cvm_pvt.g_trans_id := 'XXX';
122 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
123 x_return_status := OKC_API.HANDLE_EXCEPTIONS
124 (substr(l_api_name,1,26),
125 G_PKG_NAME,
126 'OKC_API.G_RET_STS_UNEXP_ERROR',
127 x_msg_count,
128 x_msg_data,
129 G_SCOPE);
130 -- Resetting the global transaction id.
131 okc_cvm_pvt.g_trans_id := 'XXX';
132 WHEN OTHERS THEN
133 -- store SQL error message on message stack for caller
134 OKC_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
135 x_return_status := OKC_API.HANDLE_EXCEPTIONS
136 (substr(l_api_name,1,26),
137 G_PKG_NAME,
138 'OTHERS',
139 x_msg_count,
140 x_msg_data,
141 G_SCOPE);
142 -- Resetting the global transaction id.
143 okc_cvm_pvt.g_trans_id := 'XXX';
144
145 END copy_components;
146
147 PROCEDURE copy_contract(
148 p_api_version IN NUMBER,
149 p_init_msg_list IN VARCHAR2 ,
150 x_return_status OUT NOCOPY VARCHAR2,
151 x_msg_count OUT NOCOPY NUMBER,
152 x_msg_data OUT NOCOPY VARCHAR2,
153 p_commit IN VARCHAR2 ,
154 p_chr_id IN NUMBER,
155 p_contract_number IN VARCHAR2,
156 p_contract_number_modifier IN VARCHAR2,
157 p_to_template_yn IN VARCHAR2 ,
158 p_renew_ref_yn IN VARCHAR2,
159 p_copy_from_history_yn IN VARCHAR2 ,
160 p_from_version_number IN NUMBER ,
161 p_copy_latest_articles IN VARCHAR2 ,
162 p_calling_mode IN VARCHAR2 ,
163 x_chr_id OUT NOCOPY NUMBER) IS
164
165 l_api_name CONSTANT VARCHAR2(30) := 'COPY_CONTRACT';
166 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
167 BEGIN
168
169 l_return_status := OKC_API.START_ACTIVITY(substr(l_api_name,1,26),
170 G_PKG_NAME,
171 p_init_msg_list,
172 G_API_VERSION,
173 p_api_version,
174 G_SCOPE,
175 x_return_status);
176 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
177 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
178 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
179 RAISE OKC_API.G_EXCEPTION_ERROR;
180 END IF;
181
182 OKC_COPY_CONTRACT_PVT.copy_contract(
183 p_api_version => p_api_version,
184 p_init_msg_list => g_init_msg_list,
185 x_return_status => x_return_status,
186 x_msg_count => x_msg_count,
187 x_msg_data => x_msg_data,
188 p_commit => p_commit,
189 p_chr_id => p_chr_id,
190 p_contract_number => p_contract_number,
191 p_contract_number_modifier => p_contract_number_modifier,
192 p_to_template_yn => p_to_template_yn,
193 p_renew_ref_yn => p_renew_ref_yn,
194 p_copy_lines_yn => 'Y',
195 p_copy_from_history_yn => p_copy_from_history_yn,
196 p_from_version_number => p_from_version_number,
197 p_copy_latest_articles => p_copy_latest_articles,
198 p_calling_mode => p_calling_mode,
199 x_chr_id => x_chr_id);
200
201
202 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
203 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
204 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
205 RAISE OKC_API.G_EXCEPTION_ERROR;
206 END IF;
207
208 IF p_commit = 'T' THEN
209 commit;
210 END IF;
211
212 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
213
214 EXCEPTION
215 WHEN OKC_API.G_EXCEPTION_ERROR THEN
216 x_return_status := OKC_API.HANDLE_EXCEPTIONS
217 (substr(l_api_name,1,26),
218 G_PKG_NAME,
219 'OKC_API.G_RET_STS_ERROR',
220 x_msg_count,
221 x_msg_data,
222 G_SCOPE);
223 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
224 x_return_status := OKC_API.HANDLE_EXCEPTIONS
225 (substr(l_api_name,1,26),
226 G_PKG_NAME,
227 'OKC_API.G_RET_STS_UNEXP_ERROR',
228 x_msg_count,
229 x_msg_data,
230 G_SCOPE);
231 WHEN OTHERS THEN
232 -- store SQL error message on message stack for caller
233 OKC_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
234 x_return_status := OKC_API.HANDLE_EXCEPTIONS
235 (substr(l_api_name,1,26),
236 G_PKG_NAME,
237 'OTHERS',
238 x_msg_count,
239 x_msg_data,
240 G_SCOPE);
241
242 END copy_contract;
243
244 PROCEDURE copy_contract(
245 p_api_version IN NUMBER,
246 p_init_msg_list IN VARCHAR2 ,
247 x_return_status OUT NOCOPY VARCHAR2,
248 x_msg_count OUT NOCOPY NUMBER,
249 x_msg_data OUT NOCOPY VARCHAR2,
250 p_commit IN VARCHAR2 ,
251 p_chr_id IN NUMBER,
252 p_contract_number IN VARCHAR2,
253 p_contract_number_modifier IN VARCHAR2,
254 p_to_template_yn IN VARCHAR2 ,
255 p_renew_ref_yn IN VARCHAR2,
256 p_copy_lines_yn IN VARCHAR2,
257 p_override_org IN VARCHAR2 ,
258 p_copy_from_history_yn IN VARCHAR2 ,
259 p_from_version_number IN NUMBER ,
260 p_copy_latest_articles IN VARCHAR2 ,
261 p_calling_mode IN VARCHAR2 ,
262 x_chr_id OUT NOCOPY NUMBER) IS
263
264 l_api_name CONSTANT VARCHAR2(30) := 'COPY_CONTRACT';
265 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
266 BEGIN
267 l_return_status := OKC_API.START_ACTIVITY(substr(l_api_name,1,26),
268 G_PKG_NAME,
269 p_init_msg_list,
270 G_API_VERSION,
271 p_api_version,
272 G_SCOPE,
273 x_return_status);
274 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
275 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
276 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
277 RAISE OKC_API.G_EXCEPTION_ERROR;
278 END IF;
279
280 OKC_COPY_CONTRACT_PVT.copy_contract(
281 p_api_version => p_api_version,
282 p_init_msg_list => g_init_msg_list,
283 x_return_status => x_return_status,
284 x_msg_count => x_msg_count,
285 x_msg_data => x_msg_data,
286 p_commit => p_commit,
287 p_chr_id => p_chr_id,
288 p_contract_number => p_contract_number,
289 p_contract_number_modifier => p_contract_number_modifier,
290 p_to_template_yn => p_to_template_yn,
291 p_renew_ref_yn => p_renew_ref_yn,
292 p_copy_lines_yn => p_copy_lines_yn,
293 p_override_org => p_override_org,
294 p_copy_from_history_yn => p_copy_from_history_yn,
295 p_from_version_number => p_from_version_number,
296 p_copy_latest_articles => p_copy_latest_articles,
297 p_calling_mode => p_calling_mode,
298 x_chr_id => x_chr_id);
299
300 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
301 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
302 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
303 RAISE OKC_API.G_EXCEPTION_ERROR;
304 END IF;
305
306 IF p_commit = 'T' THEN
307 commit;
308 END IF;
309
310 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
311
312 EXCEPTION
313 WHEN OKC_API.G_EXCEPTION_ERROR THEN
314 x_return_status := OKC_API.HANDLE_EXCEPTIONS
315 (substr(l_api_name,1,26),
316 G_PKG_NAME,
317 'OKC_API.G_RET_STS_ERROR',
318 x_msg_count,
319 x_msg_data,
320 G_SCOPE);
321 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
322 x_return_status := OKC_API.HANDLE_EXCEPTIONS
323 (substr(l_api_name,1,26),
324 G_PKG_NAME,
325 'OKC_API.G_RET_STS_UNEXP_ERROR',
326 x_msg_count,
327 x_msg_data,
328 G_SCOPE);
329 WHEN OTHERS THEN
330 -- store SQL error message on message stack for caller
331 OKC_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
332 x_return_status := OKC_API.HANDLE_EXCEPTIONS
333 (substr(l_api_name,1,26),
334 G_PKG_NAME,
335 'OTHERS',
336 x_msg_count,
337 x_msg_data,
338 G_SCOPE);
339
340 END copy_contract;
341
342
343 -- Added additional parameter p_change_status to check if the
344 -- line status need to be retaned.
345
346 PROCEDURE copy_contract_lines(
347 p_api_version IN NUMBER,
348 p_init_msg_list IN VARCHAR2 ,
349 x_return_status OUT NOCOPY VARCHAR2,
350 x_msg_count OUT NOCOPY NUMBER,
351 x_msg_data OUT NOCOPY VARCHAR2,
352 p_from_cle_id IN NUMBER,
353 p_to_cle_id IN NUMBER ,
354 p_to_chr_id IN NUMBER ,
355 p_to_template_yn IN VARCHAR2 ,
356 p_copy_reference IN VARCHAR2,
357 p_copy_line_party_yn IN VARCHAR2,
358 p_renew_ref_yn IN VARCHAR2,
359 x_cle_id OUT NOCOPY NUMBER,
360 p_change_status IN VARCHAR2)
361
362 IS
363
364 BEGIN
365
366 --- LLC Added an additional flag parameter, p_change_status, to decide
367 --- whether to allow change of status of sublines of the topline
368 --- during update service
369
370 OKC_COPY_CONTRACT_PVT.copy_contract_lines(
371 p_api_version => p_api_version,
372 p_init_msg_list => p_init_msg_list,
373 x_return_status => x_return_status,
374 x_msg_count => x_msg_count,
375 x_msg_data => x_msg_data,
376 p_from_cle_id => p_from_cle_id,
377 p_to_chr_id => p_to_chr_id,
378 p_to_cle_id => p_to_cle_id,
379 p_to_template_yn => p_to_template_yn,
380 p_copy_reference => p_copy_reference,
381 p_copy_line_party_yn => p_copy_line_party_yn,
382 p_renew_ref_yn => p_renew_ref_yn,
383 x_cle_id => x_cle_id,
384 p_change_status => p_change_status);
385
386 EXCEPTION
387 WHEN OTHERS THEN
388 -- store SQL error message on message stack for caller
389 OKC_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
390 -- notify caller of an UNEXPECTED error
391 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
392
393 END copy_contract_lines;
394
395 PROCEDURE copy_rules(
396 p_api_version IN NUMBER,
397 p_init_msg_list IN VARCHAR2 ,
398 x_return_status OUT NOCOPY VARCHAR2,
399 x_msg_count OUT NOCOPY NUMBER,
400 x_msg_data OUT NOCOPY VARCHAR2,
401 p_rgp_id IN NUMBER,
402 p_cle_id IN NUMBER ,
403 p_chr_id IN NUMBER ,
404 p_to_template_yn IN VARCHAR2,
405 x_rgp_id OUT NOCOPY NUMBER) IS
406
407 l_api_name CONSTANT VARCHAR2(30) := 'COPY_RULES';
408 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
409 BEGIN
410 l_return_status := OKC_API.START_ACTIVITY(substr(l_api_name,1,26),
411 G_PKG_NAME,
412 p_init_msg_list,
413 G_API_VERSION,
414 p_api_version,
415 G_SCOPE,
416 x_return_status);
417 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
418 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
419 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
420 RAISE OKC_API.G_EXCEPTION_ERROR;
421 END IF;
422
423 OKC_COPY_CONTRACT_PVT.copy_rules(
424 p_api_version => p_api_version,
425 p_init_msg_list => g_init_msg_list,
426 x_return_status => x_return_status,
427 x_msg_count => x_msg_count,
428 x_msg_data => x_msg_data,
429 p_rgp_id => p_rgp_id,
430 p_cle_id => p_cle_id,
431 p_chr_id => p_chr_id,
432 p_to_template_yn => p_to_template_yn,
433 x_rgp_id => x_rgp_id);
434
435 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
436 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
437 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
438 RAISE OKC_API.G_EXCEPTION_ERROR;
439 END IF;
440
441 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
442
443 EXCEPTION
444 WHEN OKC_API.G_EXCEPTION_ERROR THEN
445 x_return_status := OKC_API.HANDLE_EXCEPTIONS
446 (substr(l_api_name,1,26),
447 G_PKG_NAME,
448 'OKC_API.G_RET_STS_ERROR',
449 x_msg_count,
450 x_msg_data,
451 G_SCOPE);
452 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
453 x_return_status := OKC_API.HANDLE_EXCEPTIONS
454 (substr(l_api_name,1,26),
455 G_PKG_NAME,
456 'OKC_API.G_RET_STS_UNEXP_ERROR',
457 x_msg_count,
458 x_msg_data,
459 G_SCOPE);
460 WHEN OTHERS THEN
461 -- store SQL error message on message stack for caller
462 OKC_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
463 x_return_status := OKC_API.HANDLE_EXCEPTIONS
464 (substr(l_api_name,1,26),
465 G_PKG_NAME,
466 'OTHERS',
467 x_msg_count,
468 x_msg_data,
469 G_SCOPE);
470
471 END copy_rules;
472
473 PROCEDURE copy_party_roles(
474 p_api_version IN NUMBER,
475 p_init_msg_list IN VARCHAR2 ,
476 x_return_status OUT NOCOPY VARCHAR2,
477 x_msg_count OUT NOCOPY NUMBER,
478 x_msg_data OUT NOCOPY VARCHAR2,
479 p_cpl_id IN NUMBER,
480 p_cle_id IN NUMBER ,
481 p_chr_id IN NUMBER ,
482 P_rle_code IN VARCHAR2,
483 x_cpl_id OUT NOCOPY NUMBER) IS
484 l_api_name CONSTANT VARCHAR2(30) := 'COPY_PARTY_ROLES';
485 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
486 BEGIN
487 l_return_status := OKC_API.START_ACTIVITY(substr(l_api_name,1,26),
488 G_PKG_NAME,
489 p_init_msg_list,
490 G_API_VERSION,
491 p_api_version,
492 G_SCOPE,
493 x_return_status);
494 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
495 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
496 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
497 RAISE OKC_API.G_EXCEPTION_ERROR;
498 END IF;
499
500 OKC_COPY_CONTRACT_PVT.copy_party_roles(
501 p_api_version => p_api_version,
502 p_init_msg_list => g_init_msg_list,
503 x_return_status => x_return_status,
504 x_msg_count => x_msg_count,
505 x_msg_data => x_msg_data,
506 p_cpl_id => p_cpl_id,
507 p_cle_id => p_cle_id,
508 p_chr_id => p_chr_id,
509 p_rle_code => p_rle_code,
510 x_cpl_id => x_cpl_id);
511
512
513 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
514 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
515 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
516 RAISE OKC_API.G_EXCEPTION_ERROR;
517 END IF;
518
519 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
520
521 EXCEPTION
522 WHEN OKC_API.G_EXCEPTION_ERROR THEN
523 x_return_status := OKC_API.HANDLE_EXCEPTIONS
524 (substr(l_api_name,1,26),
525 G_PKG_NAME,
526 'OKC_API.G_RET_STS_ERROR',
527 x_msg_count,
528 x_msg_data,
529 G_SCOPE);
530 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
531 x_return_status := OKC_API.HANDLE_EXCEPTIONS
532 (substr(l_api_name,1,26),
533 G_PKG_NAME,
534 'OKC_API.G_RET_STS_UNEXP_ERROR',
535 x_msg_count,
536 x_msg_data,
537 G_SCOPE);
538 WHEN OTHERS THEN
539 -- store SQL error message on message stack for caller
540 OKC_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
541 x_return_status := OKC_API.HANDLE_EXCEPTIONS
542 (substr(l_api_name,1,26),
543 G_PKG_NAME,
544 'OTHERS',
545 x_msg_count,
546 x_msg_data,
547 G_SCOPE);
548
549 END copy_party_roles;
550
551 PROCEDURE copy_articles(
552 p_api_version IN NUMBER,
553 p_init_msg_list IN VARCHAR2 ,
554 x_return_status OUT NOCOPY VARCHAR2,
555 x_msg_count OUT NOCOPY NUMBER,
556 x_msg_data OUT NOCOPY VARCHAR2,
557 p_cat_id IN NUMBER,
558 p_cle_id IN NUMBER ,
559 p_chr_id IN NUMBER ,
560 p_sav_sav_release IN VARCHAR2 ,
561 x_cat_id OUT NOCOPY NUMBER) IS
562
563
564 l_api_name CONSTANT VARCHAR2(30) := 'COPY_ARTICLES';
565 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
566 BEGIN
567 l_return_status := OKC_API.START_ACTIVITY(substr(l_api_name,1,26),
568 G_PKG_NAME,
569 p_init_msg_list,
570 G_API_VERSION,
571 p_api_version,
572 G_SCOPE,
573 x_return_status);
574 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
575 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
576 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
577 RAISE OKC_API.G_EXCEPTION_ERROR;
578 END IF;
579
580 OKC_COPY_CONTRACT_PVT.copy_articles(
581 p_api_version => p_api_version,
582 p_init_msg_list => g_init_msg_list,
583 x_return_status => x_return_status,
584 x_msg_count => x_msg_count,
585 x_msg_data => x_msg_data,
586 p_cat_id => p_cat_id,
587 p_cle_id => p_cle_id,
588 p_chr_id => p_chr_id,
589 p_sav_sav_release => p_sav_sav_release,
590 x_cat_id => x_cat_id);
591
592 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
593 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
594 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
595 RAISE OKC_API.G_EXCEPTION_ERROR;
596 END IF;
597
598 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
599
600 EXCEPTION
601 WHEN OKC_API.G_EXCEPTION_ERROR THEN
602 x_return_status := OKC_API.HANDLE_EXCEPTIONS
603 (substr(l_api_name,1,26),
604 G_PKG_NAME,
605 'OKC_API.G_RET_STS_ERROR',
606 x_msg_count,
607 x_msg_data,
608 G_SCOPE);
609 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
610 x_return_status := OKC_API.HANDLE_EXCEPTIONS
611 (substr(l_api_name,1,26),
612 G_PKG_NAME,
613 'OKC_API.G_RET_STS_UNEXP_ERROR',
614 x_msg_count,
615 x_msg_data,
616 G_SCOPE);
617 WHEN OTHERS THEN
618 -- store SQL error message on message stack for caller
619 OKC_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
620 x_return_status := OKC_API.HANDLE_EXCEPTIONS
621 (substr(l_api_name,1,26),
622 G_PKG_NAME,
623 'OTHERS',
624 x_msg_count,
625 x_msg_data,
626 G_SCOPE);
627
628 END copy_articles;
629
630 PROCEDURE copy_latest_articles(
631 p_api_version IN NUMBER,
632 p_init_msg_list IN VARCHAR2 ,
633 x_return_status OUT NOCOPY VARCHAR2,
634 x_msg_count OUT NOCOPY NUMBER,
635 x_msg_data OUT NOCOPY VARCHAR2,
636 p_cat_id IN NUMBER,
637 p_cle_id IN NUMBER ,
638 p_chr_id IN NUMBER ,
639 x_cat_id OUT NOCOPY NUMBER) IS
640
641
642 l_api_name CONSTANT VARCHAR2(30) := 'COPY_LATEST_ARTICLES';
643 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
644 BEGIN
645 l_return_status := OKC_API.START_ACTIVITY(substr(l_api_name,1,26),
646 G_PKG_NAME,
647 p_init_msg_list,
648 G_API_VERSION,
649 p_api_version,
650 G_SCOPE,
651 x_return_status);
652 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
653 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
654 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
655 RAISE OKC_API.G_EXCEPTION_ERROR;
656 END IF;
657
658 OKC_COPY_CONTRACT_PVT.copy_latest_articles(
659 p_api_version => p_api_version,
660 p_init_msg_list => g_init_msg_list,
661 x_return_status => x_return_status,
662 x_msg_count => x_msg_count,
663 x_msg_data => x_msg_data,
664 p_cat_id => p_cat_id,
665 p_cle_id => p_cle_id,
666 p_chr_id => p_chr_id,
667 x_cat_id => x_cat_id);
668
669 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
670 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
671 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
672 RAISE OKC_API.G_EXCEPTION_ERROR;
673 END IF;
674
675 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
676
677 EXCEPTION
678 WHEN OKC_API.G_EXCEPTION_ERROR THEN
679 x_return_status := OKC_API.HANDLE_EXCEPTIONS
680 (substr(l_api_name,1,26),
681 G_PKG_NAME,
682 'OKC_API.G_RET_STS_ERROR',
683 x_msg_count,
684 x_msg_data,
685 G_SCOPE);
686 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
687 x_return_status := OKC_API.HANDLE_EXCEPTIONS
688 (substr(l_api_name,1,26),
689 G_PKG_NAME,
690 'OKC_API.G_RET_STS_UNEXP_ERROR',
691 x_msg_count,
692 x_msg_data,
693 G_SCOPE);
694 WHEN OTHERS THEN
695 -- store SQL error message on message stack for caller
696 OKC_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
697 x_return_status := OKC_API.HANDLE_EXCEPTIONS
698 (substr(l_api_name,1,26),
699 G_PKG_NAME,
700 'OTHERS',
701 x_msg_count,
702 x_msg_data,
703 G_SCOPE);
704
705 END copy_latest_articles;
706
707 -- Bug 2950549 - Added this procedure Copy_concurrent
708 PROCEDURE copy_concurrent(errbuf out NOCOPY VARCHAR2,
709 retcode out NOCOPY NUMBER,
710 p_id in NUMBER,
711 p_from_chr_id IN NUMBER,
712 p_to_chr_id IN NUMBER,
713 p_contract_number IN VARCHAR2,
714 p_contract_number_modifier IN VARCHAR2,
715 p_to_template_yn IN VARCHAR2,
716 p_copy_reference IN VARCHAR2,
717 p_copy_line_party_yn IN VARCHAR2,
718 p_scs_code IN VARCHAR2,
719 p_intent IN VARCHAR2,
720 p_prospect IN VARCHAR2,
721 p_copy_entire_k_yn IN VARCHAR2, /* hkamdar R12 copy project*/
722 p_include_cancelled_lines IN VARCHAR2,
723 p_include_terminated_lines IN VARCHAR2) IS
724 BEGIN
725 OKC_COPY_CONTRACT_PVT.copy_concurrent(errbuf, retcode, p_id, p_from_chr_id,
726 p_to_chr_id,p_contract_number, p_contract_number_modifier,p_to_template_yn,
727 p_copy_reference,p_copy_line_party_yn,p_scs_code,p_intent,p_prospect,p_copy_entire_k_yn,p_include_cancelled_lines => p_include_cancelled_lines,p_include_terminated_lines => p_include_terminated_lines);-- hkamdar R12 copy project
728
729 END copy_concurrent;
730 -- Bug 2950549 - End of the procedure
731
732 -- IKON ER 3819893
733
734 PROCEDURE UPDATE_TEMPLATE_CONTRACT (p_api_version IN NUMBER,
735 p_init_msg_list IN VARCHAR2,
736 p_chr_id IN NUMBER,
737 p_start_date IN DATE,
738 p_end_date IN DATE,
739 x_msg_count OUT NOCOPY NUMBER,
740 x_msg_data OUT NOCOPY VARCHAR2,
741 x_return_status OUT NOCOPY VARCHAR2) IS
742
743 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_TEMPLATE_CONTRACT';
744 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
745
746 BEGIN
747 -- errorout_ad ('INSIDE ####');
748 l_return_status := OKC_API.START_ACTIVITY(substr(l_api_name,1,26),
749 G_PKG_NAME,
750 p_init_msg_list,
751 G_API_VERSION,
752 p_api_version,
753 G_SCOPE,
754 x_return_status);
755 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
756 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
757 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
758 RAISE OKC_API.G_EXCEPTION_ERROR;
759 END IF;
760
761 OKC_COPY_CONTRACT_PVT.UPDATE_TEMPLATE_CONTRACT(p_api_version => p_api_version,
762 p_chr_id => p_chr_id,
763 p_start_date => p_start_date,
764 p_end_date => p_end_date,
765 x_msg_count => x_msg_count,
766 x_msg_data => x_msg_data,
767 x_return_status => x_return_status);
768
769 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
770 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
771 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
772 RAISE OKC_API.G_EXCEPTION_ERROR;
773 END IF;
774
775 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
776
777 EXCEPTION
778 WHEN OKC_API.G_EXCEPTION_ERROR THEN
779 x_return_status := OKC_API.HANDLE_EXCEPTIONS
780 (substr(l_api_name,1,26),
781 G_PKG_NAME,
782 'OKC_API.G_RET_STS_ERROR',
783 x_msg_count,
784 x_msg_data,
785 G_SCOPE);
786 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
787 x_return_status := OKC_API.HANDLE_EXCEPTIONS
788 (substr(l_api_name,1,26),
789 G_PKG_NAME,
790 'OKC_API.G_RET_STS_UNEXP_ERROR',
791 x_msg_count,
792 x_msg_data,
793 G_SCOPE);
794 WHEN OTHERS THEN
795 -- store SQL error message on message stack for caller
796 OKC_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
797 x_return_status := OKC_API.HANDLE_EXCEPTIONS
798 (substr(l_api_name,1,26),
799 G_PKG_NAME,
800 'OTHERS',
801 x_msg_count,
802 x_msg_data,
803 G_SCOPE);
804
805 END UPDATE_TEMPLATE_CONTRACT;
806
807 END OKC_COPY_CONTRACT_PUB;