DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_COPY_CONTRACT_PUB

Source


1 Package body okl_copy_contract_pub AS
2 /* $Header: OKLPCOPB.pls 120.3 2005/10/14 19:35:40 apaul noship $ */
3 
4   G_API_VERSION         CONSTANT NUMBER := 1;
5   G_SCOPE				CONSTANT varchar2(4) := '_PUB';
6   G_INIT_MSG_LIST       CONSTANT VARCHAR2(10) := OKL_API.G_FALSE;
7 
8 
9  FUNCTION is_copy_allowed(p_chr_id IN NUMBER,p_sts_code IN VARCHAR2 DEFAULT NULL) RETURN BOOLEAN IS
10  BEGIN
11    RETURN(OKL_COPY_CONTRACT_PVT.is_copy_allowed(p_chr_id,p_sts_code));
12  END is_copy_allowed;
13 
14  FUNCTION is_subcontract_allowed(p_chr_id IN NUMBER,p_sts_code IN VARCHAR2) RETURN BOOLEAN IS
15  BEGIN
16    RETURN(OKL_COPY_CONTRACT_PVT.is_subcontract_allowed(p_chr_id,p_sts_code));
17  END is_subcontract_allowed;
18 
19  FUNCTION update_target_contract(p_chr_id IN NUMBER) RETURN BOOLEAN IS
20  BEGIN
21    RETURN(OKL_COPY_CONTRACT_PVT.update_target_contract(p_chr_id));
22  END update_target_contract;
23 
24  PROCEDURE derive_line_style(p_old_lse_id     IN  NUMBER,
25                               p_old_jtot_code  IN  VARCHAR2,
26                               p_new_subclass   IN  VARCHAR2,
27                               p_new_parent_lse IN  NUMBER,
28                               x_new_lse_count  OUT NOCOPY NUMBER,
29                               x_new_lse_ids    OUT NOCOPY VARCHAR2) IS
30  BEGIN
31   OKL_COPY_CONTRACT_PVT.derive_line_style(
32                p_old_lse_id      => p_old_lse_id,
33                p_old_jtot_code   => p_old_jtot_code,
34                p_new_subclass    => p_new_subclass,
35                p_new_parent_lse  => p_new_parent_lse,
36                x_new_lse_count   => x_new_lse_count,
37                x_new_lse_ids     => x_new_lse_ids);
38  END derive_line_style;
39 
40  PROCEDURE copy_components(
41     p_api_version                  IN NUMBER,
42     p_init_msg_list                IN VARCHAR2,
43     x_return_status                OUT NOCOPY VARCHAR2,
44     x_msg_count                    OUT NOCOPY NUMBER,
45     x_msg_data                     OUT NOCOPY VARCHAR2,
46     p_from_chr_id                  IN NUMBER,
47     p_to_chr_id	          	       IN NUMBER,
48     p_contract_number		       IN VARCHAR2,
49     p_contract_number_modifier     IN VARCHAR2,
50     p_to_template_yn			   IN VARCHAR2 DEFAULT 'N',
51     p_copy_reference			   IN VARCHAR2 DEFAULT 'COPY',
52     p_copy_line_party_yn           IN VARCHAR2,
53     p_scs_code                     IN VARCHAR2,
54     p_intent                       IN VARCHAR2,
55     p_prospect                     IN VARCHAR2,
56     p_components_tbl			   IN api_components_tbl,
57     p_lines_tbl				       IN api_lines_tbl,
58     x_chr_id                       OUT NOCOPY NUMBER) IS
59 
60     l_api_name     CONSTANT VARCHAR2(30) := 'OKL_COPY_COMPONENTS';
61     l_return_status         VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
62   BEGIN
63     l_return_status := OKL_API.START_ACTIVITY(substr(l_api_name,1,26),
64                                               G_PKG_NAME,
65                                               p_init_msg_list,
66                                               G_API_VERSION,
67                                               p_api_version,
68                                               G_SCOPE,
69                                               x_return_status);
70     IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
71       RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
72     ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
73       RAISE OKL_API.G_EXCEPTION_ERROR;
74     END IF;
75 
76     --Customer pre-processing Section
77      --Vertical Industry pre-processing Section
78      --Business Logic
79      OKL_COPY_CONTRACT_PVT.copy_components(
80 	       p_api_version		        => p_api_version,
81            p_init_msg_list		        => g_init_msg_list,
82            x_return_status 		        => x_return_status,
83            x_msg_count     		        => x_msg_count,
84            x_msg_data      		        => x_msg_data,
85            p_from_chr_id			    => p_from_chr_id,
86            p_to_chr_id			        => p_to_chr_id,
87            p_contract_number		    => p_contract_number,
88            p_contract_number_modifier	=> p_contract_number_modifier,
89 		   p_to_template_yn             => p_to_template_yn,
90 		   p_copy_reference             => p_copy_reference,
91            p_copy_line_party_yn         => p_copy_line_party_yn,
92            p_scs_code                   => p_scs_code,
93            p_intent                     => p_intent,
94            p_prospect                   => p_prospect,
95 		   p_components_tbl             => p_components_tbl,
96 		   p_lines_tbl                  => p_lines_tbl,
97            x_chr_id			            => x_chr_id);
98 
99     IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
100       RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
101     ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
102       RAISE OKL_API.G_EXCEPTION_ERROR;
103     END IF;
104 
105     --Vertical post-processing Section
106 
107   --Customer post-processing Section
108 
109   OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
110 
111   EXCEPTION
112      WHEN OKL_API.G_EXCEPTION_ERROR THEN
113        x_return_status := OKL_API.HANDLE_EXCEPTIONS
114        (substr(l_api_name,1,26),
115         G_PKG_NAME,
116         --bug# 2518454
117         --'OKC_API.G_RET_STS_ERROR',
118         'OKL_API.G_RET_STS_ERROR',
119         x_msg_count,
120         x_msg_data,
121         G_SCOPE);
122 	-- Resetting the global transaction id.
123 	okc_cvm_pvt.g_trans_id := 'XXX';
124      WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
125        x_return_status := OKL_API.HANDLE_EXCEPTIONS
126        (substr(l_api_name,1,26),
127         G_PKG_NAME,
128         --bug# 2518454
129         --'OKC_API.G_RET_STS_ERROR',
130         'OKL_API.G_RET_STS_ERROR',
131         x_msg_count,
132         x_msg_data,
133         G_SCOPE);
134 	-- Resetting the global transaction id.
135 	okc_cvm_pvt.g_trans_id := 'XXX';
136      WHEN OTHERS THEN
137       -- store SQL error message on message stack for caller
138       OKL_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
139        x_return_status := OKL_API.HANDLE_EXCEPTIONS
140        (substr(l_api_name,1,26),
141         G_PKG_NAME,
142         'OTHERS',
143         x_msg_count,
144         x_msg_data,
145         G_SCOPE);
146 	-- Resetting the global transaction id.
147 	okc_cvm_pvt.g_trans_id := 'XXX';
148 
149 END copy_components;
150 
151 PROCEDURE copy_contract(
152             p_api_version                  	IN NUMBER,
153     		p_init_msg_list                	IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
154     		x_return_status                	OUT NOCOPY  VARCHAR2,
155     		x_msg_count                    	OUT NOCOPY  NUMBER,
156     		x_msg_data                     	OUT NOCOPY  VARCHAR2,
157     		p_commit             	       	IN VARCHAR2 DEFAULT 'F',
158     		p_chr_id                       	IN NUMBER,
159     		p_contract_number	        	IN VARCHAR2,
160     		p_contract_number_modifier      IN VARCHAR2,
161     		p_to_template_yn		        IN VARCHAR2 DEFAULT 'N',
162     		p_renew_ref_yn                 	IN VARCHAR2,
163     		p_override_org                 	IN VARCHAR2 DEFAULT 'N',
164     		x_chr_id                       	OUT NOCOPY  NUMBER) IS
165 
166     l_api_name     CONSTANT VARCHAR2(30) := 'OKL_COPY_CONTRACT';
167     l_return_status         VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
168   BEGIN
169     l_return_status := OKL_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     --dbms_output.put_line('In Public :'||l_api_name||G_SCOPE);
177     IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
178       RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
179     ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
180       RAISE OKL_API.G_EXCEPTION_ERROR;
181     END IF;
182 
183     --Customer pre-processing Section
184 
185     --Vertical pre-processing Section
186     --Business Logic
187     OKL_COPY_CONTRACT_PVT.copy_contract(
188 	  	   p_api_version					=> p_api_version,
189            p_init_msg_list				=> g_init_msg_list,
190            x_return_status 				=> x_return_status,
191            x_msg_count     				=> x_msg_count,
192            x_msg_data      				=> x_msg_data,
193            p_commit						=> p_commit,
194            p_chr_id						=> p_chr_id,
195            p_contract_number		    => p_contract_number,
196            p_contract_number_modifier	=> p_contract_number_modifier,
197 		   p_to_template_yn             => p_to_template_yn,
198            p_renew_ref_yn               => p_renew_ref_yn,
199            p_copy_lines_yn              => 'Y',
200            x_chr_id			            => x_chr_id);
201 
202     IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
203       RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
204     ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
205       RAISE OKL_API.G_EXCEPTION_ERROR;
206     END IF;
207 
208 
209 
210     IF p_commit = OKL_API.G_TRUE THEN
211       commit;
212     END IF;
213 
214     OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
215 
216   EXCEPTION
217      WHEN OKL_API.G_EXCEPTION_ERROR THEN
218        x_return_status := OKL_API.HANDLE_EXCEPTIONS
219        (substr(l_api_name,1,26),
220         G_PKG_NAME,
221         --bug# 2518454
222         --'OKC_API.G_RET_STS_ERROR',
223         'OKL_API.G_RET_STS_ERROR',
224         x_msg_count,
225         x_msg_data,
226         G_SCOPE);
227      WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
228        x_return_status := OKL_API.HANDLE_EXCEPTIONS
229        (substr(l_api_name,1,26),
230         G_PKG_NAME,
231         'OKL_API.G_RET_STS_UNEXP_ERROR',
232         x_msg_count,
233         x_msg_data,
234         G_SCOPE);
235      WHEN OTHERS THEN
236       -- store SQL error message on message stack for caller
237       OKL_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
238        x_return_status := OKL_API.HANDLE_EXCEPTIONS
239        (substr(l_api_name,1,26),
240         G_PKG_NAME,
241         'OTHERS',
242         x_msg_count,
243         x_msg_data,
244         G_SCOPE);
245 
246   END copy_contract;
247 
248 
249 
250  PROCEDURE copy_lease_contract(
251             p_api_version              IN  NUMBER,
252             p_init_msg_list            IN  VARCHAR2 DEFAULT OKL_API.G_FALSE,
253             x_return_status            OUT NOCOPY VARCHAR2,
254             x_msg_count                OUT NOCOPY NUMBER,
255             x_msg_data                 OUT NOCOPY VARCHAR2,
256             p_commit                   IN  VARCHAR2 DEFAULT 'F',
257             p_chr_id                   IN  NUMBER,
258             p_contract_number	       IN  VARCHAR2,
259             p_contract_number_modifier IN  VARCHAR2,
260             p_to_template_yn	       IN  VARCHAR2 DEFAULT 'N',
261             p_renew_ref_yn             IN  VARCHAR2,
262             p_override_org	       IN  VARCHAR2 DEFAULT 'N',
263             p_trans_type               IN  VARCHAR2,
264             x_chr_id                   OUT NOCOPY NUMBER) IS
265 
266     l_api_name     CONSTANT VARCHAR2(30) := 'OKL_COPY_LEASE_CONTRACT';
267     l_return_status         VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
268   BEGIN
269     l_return_status := OKL_API.START_ACTIVITY(substr(l_api_name,1,26),
270                                               G_PKG_NAME,
271                                               p_init_msg_list,
272                                               G_API_VERSION,
273                                               p_api_version,
274                                               G_SCOPE,
275                                               x_return_status);
276     --dbms_output.put_line('In Public :'||l_api_name||G_SCOPE);
277     IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
278       RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
279     ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
280       RAISE OKL_API.G_EXCEPTION_ERROR;
281     END IF;
282 
283     --Customer pre-processing Section
284 
285     --Vertical pre-processing Section
286     --Business Logic
287     OKL_COPY_CONTRACT_PVT.copy_lease_contract(
288                                p_api_version		       => p_api_version,
289                                p_init_msg_list		       => g_init_msg_list,
290                                x_return_status 		       => x_return_status,
291                                x_msg_count     		       => x_msg_count,
292                                x_msg_data      		       => x_msg_data,
293                                p_commit			           => p_commit,
294                                p_chr_id			           => p_chr_id,
295                                p_contract_number	       => p_contract_number,
296                                p_contract_number_modifier  => p_contract_number_modifier,
297                                p_to_template_yn            => p_to_template_yn,
298                                p_renew_ref_yn              => p_renew_ref_yn,
299                                p_copy_lines_yn             => 'Y',
300                                p_override_org	           => p_override_org,
301                                p_trans_type                => p_trans_type,
302                                x_chr_id			           => x_chr_id);
303     IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
304       RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
305     ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
306       RAISE OKL_API.G_EXCEPTION_ERROR;
307     END IF;
308 
309 
310 
311     IF p_commit = OKL_API.G_TRUE THEN
312       commit;
313     END IF;
314 
315     OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
316 
317   EXCEPTION
318      WHEN OKL_API.G_EXCEPTION_ERROR THEN
319        x_return_status := OKL_API.HANDLE_EXCEPTIONS
320        (substr(l_api_name,1,26),
321         G_PKG_NAME,
322         --bug# 2518454
323         --'OKC_API.G_RET_STS_ERROR',
324         'OKL_API.G_RET_STS_ERROR',
325         x_msg_count,
326         x_msg_data,
327         G_SCOPE);
328      WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
329        x_return_status := OKL_API.HANDLE_EXCEPTIONS
330        (substr(l_api_name,1,26),
331         G_PKG_NAME,
332         'OKL_API.G_RET_STS_UNEXP_ERROR',
333         x_msg_count,
334         x_msg_data,
335         G_SCOPE);
336      WHEN OTHERS THEN
337       -- store SQL error message on message stack for caller
338       OKL_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
339        x_return_status := OKL_API.HANDLE_EXCEPTIONS
340        (substr(l_api_name,1,26),
341         G_PKG_NAME,
342         'OTHERS',
343         x_msg_count,
344         x_msg_data,
345         G_SCOPE);
346 
347   END copy_lease_contract;
348 
349  PROCEDURE copy_lease_contract(
350             p_api_version              IN  NUMBER,
351             p_init_msg_list            IN  VARCHAR2 DEFAULT OKL_API.G_FALSE,
352             x_return_status            OUT NOCOPY VARCHAR2,
353             x_msg_count                OUT NOCOPY NUMBER,
354             x_msg_data                 OUT NOCOPY VARCHAR2,
355             p_commit                   IN  VARCHAR2 DEFAULT 'F',
356             p_chr_id                   IN  NUMBER,
357             p_contract_number	       IN  VARCHAR2,
358             p_contract_number_modifier IN  VARCHAR2,
359             p_to_template_yn	       IN  VARCHAR2 DEFAULT 'N',
360             p_renew_ref_yn             IN  VARCHAR2,
361             p_copy_lines_yn            IN  VARCHAR2,
362             p_override_org	           IN  VARCHAR2 DEFAULT 'N',
363             p_trans_type               IN  VARCHAR2,
364             x_chr_id                   OUT NOCOPY NUMBER) IS
365 
366     l_api_name     CONSTANT VARCHAR2(30) := 'OKL_COPY_LEASE_CONTRACT';
367     l_return_status         VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
368   BEGIN
369     l_return_status := OKL_API.START_ACTIVITY(substr(l_api_name,1,26),
370                                               G_PKG_NAME,
371                                               p_init_msg_list,
372                                               G_API_VERSION,
373                                               p_api_version,
374                                               G_SCOPE,
375                                               x_return_status);
376     --dbms_output.put_line('In Public :'||l_api_name||G_SCOPE);
377     IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
378       RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
379     ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
380       RAISE OKL_API.G_EXCEPTION_ERROR;
381     END IF;
382 
383     --Customer pre-processing Section
384 
385     --Vertical pre-processing Section
386     --Business Logic
387     OKL_COPY_CONTRACT_PVT.copy_lease_contract(
388                                p_api_version		       => p_api_version,
389                                p_init_msg_list		       => g_init_msg_list,
390                                x_return_status 		       => x_return_status,
391                                x_msg_count     		       => x_msg_count,
392                                x_msg_data      		       => x_msg_data,
393                                p_commit			           => p_commit,
394                                p_chr_id			           => p_chr_id,
395                                p_contract_number	       => p_contract_number,
396                                p_contract_number_modifier  => p_contract_number_modifier,
397                                p_to_template_yn            => p_to_template_yn,
398                                p_renew_ref_yn              => p_renew_ref_yn,
399                                p_copy_lines_yn             => p_copy_lines_yn,
400                                p_override_org	           => p_override_org,
401                                p_trans_type                => p_trans_type,
402                                x_chr_id			           => x_chr_id);
403     IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
404       RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
405     ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
406       RAISE OKL_API.G_EXCEPTION_ERROR;
407     END IF;
408 
409 
410 
411     IF p_commit = OKL_API.G_TRUE THEN
412       commit;
413     END IF;
414 
415     OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
416 
417   EXCEPTION
418      WHEN OKL_API.G_EXCEPTION_ERROR THEN
419        x_return_status := OKL_API.HANDLE_EXCEPTIONS
420        (substr(l_api_name,1,26),
421         G_PKG_NAME,
422         --bug# 2518454
423         --'OKC_API.G_RET_STS_ERROR',
424         'OKL_API.G_RET_STS_ERROR',
425         x_msg_count,
426         x_msg_data,
427         G_SCOPE);
428      WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
429        x_return_status := OKL_API.HANDLE_EXCEPTIONS
430        (substr(l_api_name,1,26),
431         G_PKG_NAME,
432         'OKL_API.G_RET_STS_UNEXP_ERROR',
433         x_msg_count,
434         x_msg_data,
435         G_SCOPE);
436      WHEN OTHERS THEN
437       -- store SQL error message on message stack for caller
438       OKL_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
439        x_return_status := OKL_API.HANDLE_EXCEPTIONS
440        (substr(l_api_name,1,26),
441         G_PKG_NAME,
442         'OTHERS',
443         x_msg_count,
444         x_msg_data,
445         G_SCOPE);
446 
447   END copy_lease_contract;
448 
449 
450  PROCEDURE copy_lease_contract_new(
451             p_api_version              IN  NUMBER,
452             p_init_msg_list            IN  VARCHAR2 DEFAULT OKL_API.G_FALSE,
453             x_return_status            OUT NOCOPY VARCHAR2,
454             x_msg_count                OUT NOCOPY NUMBER,
455             x_msg_data                 OUT NOCOPY VARCHAR2,
456             p_commit                   IN  VARCHAR2 DEFAULT 'F',
457             p_chr_id                   IN  NUMBER,
458             p_contract_number	       IN  VARCHAR2,
459             p_contract_number_modifier IN  VARCHAR2,
460             p_to_template_yn	       IN  VARCHAR2 DEFAULT 'N',
461             p_renew_ref_yn             IN  VARCHAR2,
462             p_override_org	       IN  VARCHAR2 DEFAULT 'N',
463             p_trans_type               IN  VARCHAR2,
464             x_chr_id                   OUT NOCOPY NUMBER,
465             p_rbk_date                 IN  DATE DEFAULT NULL) IS
466 
467     l_api_name     CONSTANT VARCHAR2(30) := 'OKL_COPY_LEASE_CONTRACT';
468     l_return_status         VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
469   BEGIN
470     l_return_status := OKL_API.START_ACTIVITY(substr(l_api_name,1,26),
471                                               G_PKG_NAME,
472                                               p_init_msg_list,
473                                               G_API_VERSION,
474                                               p_api_version,
475                                               G_SCOPE,
476                                               x_return_status);
477     IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
478       RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
479     ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
480       RAISE OKL_API.G_EXCEPTION_ERROR;
481     END IF;
482 
483     --Customer pre-processing Section
484 
485     --Vertical pre-processing Section
486     --Business Logic
487     OKL_COPY_CONTRACT_PVT.copy_lease_contract_new(
488                                p_api_version		       => p_api_version,
489                                p_init_msg_list		       => g_init_msg_list,
490                                x_return_status 		       => x_return_status,
491                                x_msg_count     		       => x_msg_count,
492                                x_msg_data      		       => x_msg_data,
493                                p_commit			           => p_commit,
494                                p_chr_id			           => p_chr_id,
495                                p_contract_number	       => p_contract_number,
496                                p_contract_number_modifier  => p_contract_number_modifier,
497                                p_to_template_yn            => p_to_template_yn,
498                                p_renew_ref_yn              => p_renew_ref_yn,
499                                p_copy_lines_yn             => 'Y',
500                                p_override_org	           => p_override_org,
501                                p_trans_type                => p_trans_type,
502                                x_chr_id			           => x_chr_id,
503                                p_rbk_date                  => p_rbk_date);
504     IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
505       RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
506     ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
507       RAISE OKL_API.G_EXCEPTION_ERROR;
508     END IF;
509 
510 
511 
512     IF p_commit = OKL_API.G_TRUE THEN
513       commit;
514     END IF;
515 
516     OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
517 
518   EXCEPTION
519      WHEN OKL_API.G_EXCEPTION_ERROR THEN
520        x_return_status := OKL_API.HANDLE_EXCEPTIONS
521        (substr(l_api_name,1,26),
522         G_PKG_NAME,
523         --bug# 2518454
524         --'OKC_API.G_RET_STS_ERROR',
525         'OKL_API.G_RET_STS_ERROR',
526         x_msg_count,
527         x_msg_data,
528         G_SCOPE);
529      WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
530        x_return_status := OKL_API.HANDLE_EXCEPTIONS
531        (substr(l_api_name,1,26),
532         G_PKG_NAME,
533         'OKL_API.G_RET_STS_UNEXP_ERROR',
534         x_msg_count,
535         x_msg_data,
536         G_SCOPE);
537      WHEN OTHERS THEN
538       -- store SQL error message on message stack for caller
539       OKL_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
540        x_return_status := OKL_API.HANDLE_EXCEPTIONS
541        (substr(l_api_name,1,26),
542         G_PKG_NAME,
543         'OTHERS',
544         x_msg_count,
545         x_msg_data,
546         G_SCOPE);
547 
548   END copy_lease_contract_new;
549 
550  PROCEDURE copy_lease_contract_new(
551             p_api_version              IN  NUMBER,
552             p_init_msg_list            IN  VARCHAR2 DEFAULT OKL_API.G_FALSE,
553             x_return_status            OUT NOCOPY VARCHAR2,
554             x_msg_count                OUT NOCOPY NUMBER,
555             x_msg_data                 OUT NOCOPY VARCHAR2,
556             p_commit                   IN  VARCHAR2 DEFAULT 'F',
557             p_chr_id                   IN  NUMBER,
558             p_contract_number	       IN  VARCHAR2,
559             p_contract_number_modifier IN  VARCHAR2,
560             p_to_template_yn	       IN  VARCHAR2 DEFAULT 'N',
561             p_renew_ref_yn             IN  VARCHAR2,
562             p_copy_lines_yn            IN  VARCHAR2,
563             p_override_org	           IN  VARCHAR2 DEFAULT 'N',
564             p_trans_type               IN  VARCHAR2,
565             x_chr_id                   OUT NOCOPY NUMBER) IS
566 
567     l_api_name     CONSTANT VARCHAR2(30) := 'OKL_COPY_LEASE_CONTRACT';
568     l_return_status         VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
569   BEGIN
570     l_return_status := OKL_API.START_ACTIVITY(substr(l_api_name,1,26),
571                                               G_PKG_NAME,
572                                               p_init_msg_list,
573                                               G_API_VERSION,
574                                               p_api_version,
575                                               G_SCOPE,
576                                               x_return_status);
577     IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
578       RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
579     ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
580       RAISE OKL_API.G_EXCEPTION_ERROR;
581     END IF;
582 
583     --Customer pre-processing Section
584 
585     --Vertical pre-processing Section
586     --Business Logic
587     OKL_COPY_CONTRACT_PVT.copy_lease_contract_new(
588                                p_api_version		       => p_api_version,
589                                p_init_msg_list		       => g_init_msg_list,
590                                x_return_status 		       => x_return_status,
591                                x_msg_count     		       => x_msg_count,
592                                x_msg_data      		       => x_msg_data,
593                                p_commit			           => p_commit,
594                                p_chr_id			           => p_chr_id,
595                                p_contract_number	       => p_contract_number,
596                                p_contract_number_modifier  => p_contract_number_modifier,
597                                p_to_template_yn            => p_to_template_yn,
598                                p_renew_ref_yn              => p_renew_ref_yn,
599                                p_copy_lines_yn             => p_copy_lines_yn,
600                                p_override_org	           => p_override_org,
601                                p_trans_type                => p_trans_type,
602                                x_chr_id			           => x_chr_id);
603     IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
604       RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
605     ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
606       RAISE OKL_API.G_EXCEPTION_ERROR;
607     END IF;
608 
609 
610 
611     IF p_commit = OKL_API.G_TRUE THEN
612       commit;
613     END IF;
614 
615     OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
616 
617   EXCEPTION
618      WHEN OKL_API.G_EXCEPTION_ERROR THEN
619        x_return_status := OKL_API.HANDLE_EXCEPTIONS
620        (substr(l_api_name,1,26),
621         G_PKG_NAME,
622         --bug# 2518454
623         --'OKC_API.G_RET_STS_ERROR',
624         'OKL_API.G_RET_STS_ERROR',
625         x_msg_count,
626         x_msg_data,
627         G_SCOPE);
628      WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
629        x_return_status := OKL_API.HANDLE_EXCEPTIONS
630        (substr(l_api_name,1,26),
631         G_PKG_NAME,
632         'OKL_API.G_RET_STS_UNEXP_ERROR',
633         x_msg_count,
634         x_msg_data,
635         G_SCOPE);
636      WHEN OTHERS THEN
637       -- store SQL error message on message stack for caller
638       OKL_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
639        x_return_status := OKL_API.HANDLE_EXCEPTIONS
640        (substr(l_api_name,1,26),
641         G_PKG_NAME,
642         'OTHERS',
643         x_msg_count,
644         x_msg_data,
645         G_SCOPE);
646 
647   END copy_lease_contract_new;
648 
649   PROCEDURE copy_contract(
650     p_api_version                  IN NUMBER,
651     p_init_msg_list                IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
652     x_return_status                OUT NOCOPY VARCHAR2,
653     x_msg_count                    OUT NOCOPY NUMBER,
654     x_msg_data                     OUT NOCOPY VARCHAR2,
655     p_commit        			   IN VARCHAR2 DEFAULT 'F',
656     p_chr_id                       IN NUMBER,
657     p_contract_number		   IN VARCHAR2,
658     p_contract_number_modifier     IN VARCHAR2,
659     p_to_template_yn			   IN VARCHAR2 DEFAULT 'N',
660     p_renew_ref_yn                 IN VARCHAR2,
661     p_copy_lines_yn                IN VARCHAR2,
662     p_override_org		           IN VARCHAR2 DEFAULT 'N',
663     x_chr_id                       OUT NOCOPY NUMBER) IS
664 
665     l_api_name     CONSTANT VARCHAR2(30) := 'OKL_COPY_CONTRACT';
666     l_return_status         VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
667   BEGIN
668     l_return_status := OKL_API.START_ACTIVITY(substr(l_api_name,1,26),
669                                               G_PKG_NAME,
670                                               p_init_msg_list,
671                                               G_API_VERSION,
672                                               p_api_version,
673                                               G_SCOPE,
674                                               x_return_status);
675     IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
676       RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
677     ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
678       RAISE OKL_API.G_EXCEPTION_ERROR;
679     END IF;
680 
681     --Customer pre-processing Section
682     --Vertical pre_processing section
683 
684     --Business Logic
685     OKL_COPY_CONTRACT_PVT.copy_contract(
686 	   	   p_api_version				=> p_api_version,
687            p_init_msg_list				=> g_init_msg_list,
688            x_return_status 				=> x_return_status,
689            x_msg_count     				=> x_msg_count,
690            x_msg_data      				=> x_msg_data,
691            p_commit						=> p_commit,
692            p_chr_id						=> p_chr_id,
693            p_contract_number			=> p_contract_number,
694            p_contract_number_modifier	=> p_contract_number_modifier,
695 		   p_to_template_yn        		=> p_to_template_yn,
696            p_renew_ref_yn          		=> p_renew_ref_yn,
697            p_copy_lines_yn      		=> p_copy_lines_yn,
698            x_chr_id						=> x_chr_id);
699 
700     IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
701       RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
702     ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
703       RAISE OKL_API.G_EXCEPTION_ERROR;
704     END IF;
705 
706     --Vertical post_processing section
707 
708      --User post_processing section
709 
710     IF p_commit = 'T' THEN
711       commit;
712     END IF;
713 
714     OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
715 
716   EXCEPTION
717      WHEN OKL_API.G_EXCEPTION_ERROR THEN
718        x_return_status := OKL_API.HANDLE_EXCEPTIONS
719        (substr(l_api_name,1,26),
720         G_PKG_NAME,
721         --bug# 2518454
722         --'OKC_API.G_RET_STS_ERROR',
723         'OKL_API.G_RET_STS_ERROR',
724         x_msg_count,
725         x_msg_data,
726         G_SCOPE);
727      WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
728        x_return_status := OKL_API.HANDLE_EXCEPTIONS
729        (substr(l_api_name,1,26),
730         G_PKG_NAME,
731         'OKL_API.G_RET_STS_UNEXP_ERROR',
732         x_msg_count,
733         x_msg_data,
734         G_SCOPE);
735      WHEN OTHERS THEN
736       -- store SQL error message on message stack for caller
737       OKL_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
738        x_return_status := OKL_API.HANDLE_EXCEPTIONS
739        (substr(l_api_name,1,26),
740         G_PKG_NAME,
741         'OTHERS',
742         x_msg_count,
743         x_msg_data,
744         G_SCOPE);
745 
746   END copy_contract;
747 
748   PROCEDURE copy_contract_lines(
749     	p_api_version                  IN NUMBER,
750     	p_init_msg_list                IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
751     	x_return_status                OUT NOCOPY VARCHAR2,
752     	x_msg_count                    OUT NOCOPY NUMBER,
753     	x_msg_data                     OUT NOCOPY VARCHAR2,
754     	p_from_cle_id                  IN NUMBER,
755     	p_to_cle_id                    IN NUMBER,
756     	p_to_chr_id                    IN NUMBER,
757     	p_to_template_yn	           IN VARCHAR2,
758     	p_copy_reference	           IN VARCHAR2,
759     	p_copy_line_party_yn           IN VARCHAR2,
760     	p_renew_ref_yn                 IN VARCHAR2,
761     	x_cle_id		               OUT NOCOPY NUMBER) is
762 
763      l_api_name     CONSTANT VARCHAR2(30) := 'OKL_COPY_CONTRACT_LINES';
764     l_return_status         VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
765   BEGIN
766   l_return_status := OKL_API.START_ACTIVITY(substr(l_api_name,1,26),
767                                               G_PKG_NAME,
768                                               p_init_msg_list,
769                                               G_API_VERSION,
770                                               p_api_version,
771                                               G_SCOPE,
772                                               x_return_status);
773     IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
774       RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
775     ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
776       RAISE OKL_API.G_EXCEPTION_ERROR;
777     END IF;
778 
779     --Custom pre_processing section
780 
781     --Vertical Industry pre_processing section
782 
783     OKL_COPY_CONTRACT_PVT.copy_contract_lines(
784 	   p_api_version		 => p_api_version,
785        p_init_msg_list	     => p_init_msg_list,
786        x_return_status 	     => x_return_status,
787        x_msg_count     	     => x_msg_count,
788        x_msg_data      	     => x_msg_data,
789        p_from_cle_id		 => p_from_cle_id,
790 	   p_to_cle_id 		     => p_to_cle_id,
791 	   p_to_chr_id 		     => p_to_chr_id,
792 	   p_to_template_yn      => p_to_template_yn,
793        p_copy_reference      => p_copy_reference,
794        p_copy_line_party_yn  => p_copy_line_party_yn,
795        p_renew_ref_yn        => p_renew_ref_yn,
796        x_cle_id			 => x_cle_id);
797 
798        IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
799           RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
800        ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
801           RAISE OKL_API.G_EXCEPTION_ERROR;
802        END IF;
803        --Vertical Industry post_processing section
804      --Custom post_processing section
805 
806     OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
807 
808   EXCEPTION
809      WHEN OKL_API.G_EXCEPTION_ERROR THEN
810        x_return_status := OKL_API.HANDLE_EXCEPTIONS
811        (substr(l_api_name,1,26),
812         G_PKG_NAME,
813         'OKL_API.G_RET_STS_ERROR',
814         x_msg_count,
815         x_msg_data,
816         G_SCOPE);
817      WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
818        x_return_status := OKL_API.HANDLE_EXCEPTIONS
819        (substr(l_api_name,1,26),
820         G_PKG_NAME,
821         'OKL_API.G_RET_STS_UNEXP_ERROR',
822         x_msg_count,
823         x_msg_data,
824         G_SCOPE);
825      WHEN OTHERS THEN
826       -- store SQL error message on message stack for caller
827       OKL_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
828        x_return_status := OKL_API.HANDLE_EXCEPTIONS
829        (substr(l_api_name,1,26),
830         G_PKG_NAME,
831         'OTHERS',
832         x_msg_count,
833         x_msg_data,
834         G_SCOPE);
835   END copy_contract_lines;
836 
837   PROCEDURE copy_rules(
838     p_api_version                  IN NUMBER,
839     p_init_msg_list                IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
840     x_return_status                OUT NOCOPY VARCHAR2,
841     x_msg_count                    OUT NOCOPY NUMBER,
842     x_msg_data                     OUT NOCOPY VARCHAR2,
843     p_rgp_id                  	   IN NUMBER,
844     p_cle_id                       IN NUMBER DEFAULT OKL_API.G_MISS_NUM,
845     p_chr_id                       IN NUMBER DEFAULT OKL_API.G_MISS_NUM,
846     p_to_template_yn			   IN VARCHAR2,
847     x_rgp_id		           OUT NOCOPY NUMBER) IS
848 
849     l_api_name     CONSTANT VARCHAR2(30) := 'OKL_COPY_RULES';
850     l_return_status         VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
851   BEGIN
852     l_return_status := OKL_API.START_ACTIVITY(substr(l_api_name,1,26),
853                                               G_PKG_NAME,
854                                               p_init_msg_list,
855                                               G_API_VERSION,
856                                               p_api_version,
857                                               G_SCOPE,
858                                               x_return_status);
859     IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
860       RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
861     ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
862       RAISE OKL_API.G_EXCEPTION_ERROR;
863     END IF;
864 
865      --Custom pre_processing section
866 
867      --Vertical Industry pre_processing section
868 
869     OKL_COPY_CONTRACT_PVT.copy_rules(
870            p_api_version		=> p_api_version,
871            p_init_msg_list		=> g_init_msg_list,
872            x_return_status 	    => x_return_status,
873            x_msg_count     	    => x_msg_count,
874            x_msg_data      	    => x_msg_data,
875            p_rgp_id			    => p_rgp_id,
876            p_cle_id			    => p_cle_id,
877            p_chr_id			    => p_chr_id,
878            p_to_template_yn     => p_to_template_yn,
879            x_rgp_id			    => x_rgp_id);
880 
881     IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
882       RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
883     ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
884       RAISE OKL_API.G_EXCEPTION_ERROR;
885     END IF;
886 
887      --Vertical Industry post_processing section
888 
889      --Custom post_processing section
890 
891     OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
892 
893   EXCEPTION
894      WHEN OKL_API.G_EXCEPTION_ERROR THEN
895        x_return_status := OKL_API.HANDLE_EXCEPTIONS
896        (substr(l_api_name,1,26),
897         G_PKG_NAME,
898         'OKL_API.G_RET_STS_ERROR',
899         x_msg_count,
900         x_msg_data,
901         G_SCOPE);
902      WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
903        x_return_status := OKL_API.HANDLE_EXCEPTIONS
904        (substr(l_api_name,1,26),
905         G_PKG_NAME,
906         'OKL_API.G_RET_STS_UNEXP_ERROR',
907         x_msg_count,
908         x_msg_data,
909         G_SCOPE);
910      WHEN OTHERS THEN
911       -- store SQL error message on message stack for caller
912       OKL_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
913        x_return_status := OKL_API.HANDLE_EXCEPTIONS
914        (substr(l_api_name,1,26),
915         G_PKG_NAME,
916         'OTHERS',
917         x_msg_count,
918         x_msg_data,
919         G_SCOPE);
920 
921   END copy_rules;
922 
923   PROCEDURE copy_party_roles(
924     p_api_version                  IN NUMBER,
925     p_init_msg_list                IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
926     x_return_status                OUT NOCOPY VARCHAR2,
927     x_msg_count                    OUT NOCOPY NUMBER,
928     x_msg_data                     OUT NOCOPY VARCHAR2,
929     p_cpl_id                  	   IN NUMBER,
930     p_cle_id                       IN NUMBER DEFAULT OKL_API.G_MISS_NUM,
931     p_chr_id                       IN NUMBER DEFAULT OKL_API.G_MISS_NUM,
932     P_rle_code                     IN VARCHAR2,
933     x_cpl_id		           	   OUT NOCOPY NUMBER) IS
934 
935     l_api_name     				CONSTANT VARCHAR2(30) := 'OKL_COPY_PARTY_ROLES';
936     l_return_status         		VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
937   BEGIN
938     l_return_status := OKL_API.START_ACTIVITY(substr(l_api_name,1,26),
939                                               G_PKG_NAME,
940                                               p_init_msg_list,
941                                               G_API_VERSION,
942                                               p_api_version,
943                                               G_SCOPE,
944                                               x_return_status);
945     IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
946       RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
947     ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
948       RAISE OKL_API.G_EXCEPTION_ERROR;
949     END IF;
950 
951      --Custom pre processing section
952 
953      --Vertical Industry pre processing section
954 
955     OKL_COPY_CONTRACT_PVT.copy_party_roles(
956     		p_api_version           => p_api_version,
957     		p_init_msg_list         => g_init_msg_list,
958     		x_return_status         => x_return_status,
959     		x_msg_count             => x_msg_count,
960     		x_msg_data              => x_msg_data,
961     		p_cpl_id                => p_cpl_id,
962     		p_cle_id                => p_cle_id,
963     		p_chr_id                => p_chr_id,
964     		p_rle_code              => p_rle_code,
965     		x_cpl_id		         => x_cpl_id);
966 
967 
968     IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
969       RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
970     ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
971       RAISE OKL_API.G_EXCEPTION_ERROR;
972     END IF;
973 
974      --Vertical Industry post processing section
975 
976     --Custom post processing section
977 
978     OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
979 
980   EXCEPTION
981      WHEN OKL_API.G_EXCEPTION_ERROR THEN
982        x_return_status := OKL_API.HANDLE_EXCEPTIONS
983        (substr(l_api_name,1,26),
984         G_PKG_NAME,
985         'OKL_API.G_RET_STS_ERROR',
986         x_msg_count,
987         x_msg_data,
988         G_SCOPE);
989      WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
990        x_return_status := OKL_API.HANDLE_EXCEPTIONS
991        (substr(l_api_name,1,26),
992         G_PKG_NAME,
993         'OKL_API.G_RET_STS_UNEXP_ERROR',
994         x_msg_count,
995         x_msg_data,
996         G_SCOPE);
997      WHEN OTHERS THEN
998       -- store SQL error message on message stack for caller
999       OKL_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
1000        x_return_status := OKL_API.HANDLE_EXCEPTIONS
1001        (substr(l_api_name,1,26),
1002         G_PKG_NAME,
1003         'OTHERS',
1004         x_msg_count,
1005         x_msg_data,
1006         G_SCOPE);
1007 
1008   END copy_party_roles;
1009 
1010   PROCEDURE copy_articles(
1011     p_api_version                  IN NUMBER,
1012     p_init_msg_list                IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
1013     x_return_status                OUT NOCOPY VARCHAR2,
1014     x_msg_count                    OUT NOCOPY NUMBER,
1015     x_msg_data                     OUT NOCOPY VARCHAR2,
1016     p_cat_id                  	   IN NUMBER,
1017     p_cle_id                       IN NUMBER DEFAULT OKL_API.G_MISS_NUM,
1018     p_chr_id                       IN NUMBER DEFAULT OKL_API.G_MISS_NUM,
1019     p_sav_sav_release		       IN VARCHAR2 DEFAULT NULL,
1020     x_cat_id		           	   OUT NOCOPY NUMBER) IS
1021 
1022 
1023     l_api_name     			CONSTANT VARCHAR2(30) := 'OKL_COPY_ARTICLES';
1024     l_return_status           VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1025   BEGIN
1026     l_return_status := OKL_API.START_ACTIVITY(substr(l_api_name,1,26),
1027                                               G_PKG_NAME,
1028                                               p_init_msg_list,
1029                                               G_API_VERSION,
1030                                               p_api_version,
1031                                               G_SCOPE,
1032                                               x_return_status);
1033     IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1034       RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1035     ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1036       RAISE OKL_API.G_EXCEPTION_ERROR;
1037     END IF;
1038 
1039     --Custom pre processing section
1040 
1041     --Vertical pre processing section
1042 
1043     OKL_COPY_CONTRACT_PVT.copy_articles(
1044           p_api_version		  => p_api_version,
1045           p_init_msg_list	  => g_init_msg_list,
1046           x_return_status 	  => x_return_status,
1047           x_msg_count     	  => x_msg_count,
1048           x_msg_data      	  => x_msg_data,
1049           p_cat_id            => p_cat_id,
1050           p_cle_id            => p_cle_id,
1051           p_chr_id            => p_chr_id,
1052           p_sav_sav_release   => p_sav_sav_release,
1053           x_cat_id			  => x_cat_id);
1054 
1055     IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1056       RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1057     ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
1058       RAISE OKL_API.G_EXCEPTION_ERROR;
1059     END IF;
1060 
1061     --Vertical post processing section
1062 
1063      --Custom post processing section
1064 
1065     OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
1066 
1067   EXCEPTION
1068      WHEN OKL_API.G_EXCEPTION_ERROR THEN
1069        x_return_status := OKL_API.HANDLE_EXCEPTIONS
1070        (substr(l_api_name,1,26),
1071         G_PKG_NAME,
1072         'OKL_API.G_RET_STS_ERROR',
1073         x_msg_count,
1074         x_msg_data,
1075         G_SCOPE);
1076      WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1077        x_return_status := OKL_API.HANDLE_EXCEPTIONS
1078        (substr(l_api_name,1,26),
1079         G_PKG_NAME,
1080         'OKL_API.G_RET_STS_UNEXP_ERROR',
1081         x_msg_count,
1082         x_msg_data,
1083         G_SCOPE);
1084      WHEN OTHERS THEN
1085       -- store SQL error message on message stack for caller
1086       OKL_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
1087        x_return_status := OKL_API.HANDLE_EXCEPTIONS
1088        (substr(l_api_name,1,26),
1089         G_PKG_NAME,
1090         'OTHERS',
1091         x_msg_count,
1092         x_msg_data,
1093         G_SCOPE);
1094 
1095   END copy_articles;
1096 
1097   PROCEDURE copy_latest_articles(
1098     p_api_version                  IN NUMBER,
1099     p_init_msg_list                IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
1100     x_return_status                OUT NOCOPY VARCHAR2,
1101     x_msg_count                    OUT NOCOPY NUMBER,
1102     x_msg_data                     OUT NOCOPY VARCHAR2,
1103     p_cat_id                  	   IN NUMBER,
1104     p_cle_id                       IN NUMBER DEFAULT OKL_API.G_MISS_NUM,
1105     p_chr_id                       IN NUMBER DEFAULT OKL_API.G_MISS_NUM,
1106     x_cat_id		           	   OUT NOCOPY NUMBER) IS
1107 
1108 
1109     l_api_name     		   CONSTANT VARCHAR2(30) := 'OKL_COPY_LATEST_ARTICLES';
1110     l_return_status         VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1111   BEGIN
1112     l_return_status := OKL_API.START_ACTIVITY(substr(l_api_name,1,26),
1113                                               G_PKG_NAME,
1114                                               p_init_msg_list,
1115                                               G_API_VERSION,
1116                                               p_api_version,
1117                                               G_SCOPE,
1118                                               x_return_status);
1119     IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1120       RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1121     ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1122       RAISE OKL_API.G_EXCEPTION_ERROR;
1123     END IF;
1124 
1125     --Custom pre processing section
1126 
1127     --Vertical Industry pre processing section
1128 
1129     OKL_COPY_CONTRACT_PVT.copy_latest_articles(
1130           p_api_version		=> p_api_version,
1131           p_init_msg_list	=> g_init_msg_list,
1132           x_return_status 	=> x_return_status,
1133           x_msg_count     	=> x_msg_count,
1134           x_msg_data      	=> x_msg_data,
1135           p_cat_id          => p_cat_id,
1136           p_cle_id          => p_cle_id,
1137           p_chr_id          => p_chr_id,
1138           x_cat_id			=> x_cat_id);
1139 
1140     IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1141       RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1142     ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
1143       RAISE OKL_API.G_EXCEPTION_ERROR;
1144     END IF;
1145 
1146      --Vertical Industry post processing section
1147 
1148      --Custom post processing section
1149 
1150     OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
1151 
1152   EXCEPTION
1153      WHEN OKL_API.G_EXCEPTION_ERROR THEN
1154        x_return_status := OKL_API.HANDLE_EXCEPTIONS
1155        (substr(l_api_name,1,26),
1156         G_PKG_NAME,
1157         'OKL_API.G_RET_STS_ERROR',
1158         x_msg_count,
1159         x_msg_data,
1160         G_SCOPE);
1161      WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1162        x_return_status := OKL_API.HANDLE_EXCEPTIONS
1163        (substr(l_api_name,1,26),
1164         G_PKG_NAME,
1165         'OKL_API.G_RET_STS_UNEXP_ERROR',
1166         x_msg_count,
1167         x_msg_data,
1168         G_SCOPE);
1169      WHEN OTHERS THEN
1170       -- store SQL error message on message stack for caller
1171       OKL_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
1172        x_return_status := OKL_API.HANDLE_EXCEPTIONS
1173        (substr(l_api_name,1,26),
1174         G_PKG_NAME,
1175         'OTHERS',
1176         x_msg_count,
1177         x_msg_data,
1178         G_SCOPE);
1179 
1180   END copy_latest_articles;
1181 
1182 END okl_copy_contract_pub;