DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_LA_STREAM_PUB

Source


1 Package body OKL_LA_STREAM_PUB as
2 /* $Header: OKLPSGAB.pls 120.4 2006/04/20 15:27:22 kthiruva noship $ */
3 
4 -------------------------------------------------------------------------------------------------
5 -- GLOBAL MESSAGE CONSTANTS
6 -------------------------------------------------------------------------------------------------
7   G_NO_PARENT_RECORD    CONSTANT  VARCHAR2(200) := 'OKL_NO_PARENT_RECORD';
8   G_FND_APP		        CONSTANT  VARCHAR2(200) := OKL_API.G_FND_APP;
9   G_REQUIRED_VALUE	    CONSTANT  VARCHAR2(200) := OKL_API.G_REQUIRED_VALUE;
10   G_INVALID_VALUE		CONSTANT  VARCHAR2(200) := OKL_API.G_INVALID_VALUE;
11   G_UNEXPECTED_ERROR    CONSTANT  VARCHAR2(200) := 'OKL_CONTRACTS_UNEXP_ERROR';
12   G_SQLERRM_TOKEN       CONSTANT  VARCHAR2(200) := 'SQLerrm';
13   G_SQLCODE_TOKEN       CONSTANT  VARCHAR2(200) := 'SQLcode';
14   G_UPPERCASE_REQUIRED	CONSTANT  VARCHAR2(200) := 'OKL_CONTRACTS_UPPERCASE_REQ';
15   G_COL_NAME_TOKEN      CONSTANT  VARCHAR2(200) := OKL_API.G_COL_NAME_TOKEN;
16 ------------------------------------------------------------------------------------
17 -- GLOBAL EXCEPTION
18 ------------------------------------------------------------------------------------
19   G_EXCEPTION_HALT_VALIDATION             EXCEPTION;
20   G_EXCEPTION_STOP_VALIDATION             EXCEPTION;
21   G_API_TYPE                CONSTANT  VARCHAR2(4) := '_PUB';
22   G_API_VERSION             CONSTANT  NUMBER      := 1.0;
23   G_SCOPE                   CONSTANT  VARCHAR2(4) := '_PUB';
24 
25  -- GLOBAL VARIABLES
26 -----------------------------------------------------------------------------------
27 
28   Procedure allocate_streams(
29             p_api_version   IN NUMBER,
30             p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
31             x_return_status OUT NOCOPY VARCHAR2,
32             x_msg_count     OUT NOCOPY NUMBER,
33             x_msg_data      OUT NOCOPY VARCHAR2,
34             p_chr_id        IN  NUMBER)  IS
35 
36     l_api_name		CONSTANT VARCHAR2(30) := 'ALLOCATE_STREAMS';
37     l_api_version	CONSTANT NUMBER	      := 1;
38     l_return_status	VARCHAR2(1)           := OKL_API.G_RET_STS_SUCCESS;
39     l_chr_id NUMBER := p_chr_id;
40 
41   BEGIN
42 
43     x_return_status := OKL_API.START_ACTIVITY(
44 			p_api_name      => l_api_name,
45 			p_pkg_name      => g_pkg_name,
46 			p_init_msg_list => p_init_msg_list,
47 			l_api_version   => l_api_version,
48 			p_api_version   => p_api_version,
49 			p_api_type      => G_API_TYPE,
50 			x_return_status => x_return_status);
51 
52     -- check if activity started successfully
53     If (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
54        raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
55     ElSIF (x_return_status = OKL_API.G_RET_STS_ERROR) then
56        raise OKL_API.G_EXCEPTION_ERROR;
57     End If;
58 
59 
60 
61 
62     OKL_LA_STREAM_PVT.allocate_streams(
63                              p_api_version,
64                              p_init_msg_list,
65                              x_return_status,
66                              x_msg_count,
67                              x_msg_data,
68                              p_chr_id);
69 
70 
71     IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
72        RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
73     ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
74        RAISE OKL_API.G_EXCEPTION_ERROR;
75     END IF;
76 
77 
78 
79 
80     OKL_API.END_ACTIVITY(x_msg_count => x_msg_count, x_msg_data	 => x_msg_data);
81     Exception
82 	when OKL_API.G_EXCEPTION_ERROR then
83 		x_return_status := OKL_API.HANDLE_EXCEPTIONS(
84 			p_api_name  => l_api_name,
85 			p_pkg_name  => g_pkg_name,
86 			p_exc_name  => 'OKL_API.G_RET_STS_ERROR',
87 			x_msg_count => x_msg_count,
88 			x_msg_data  => x_msg_data,
89 			p_api_type  => g_api_type);
90 
91 	when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
92 		x_return_status := OKL_API.HANDLE_EXCEPTIONS(
93 			p_api_name  => l_api_name,
94 			p_pkg_name  => g_pkg_name,
95 			p_exc_name  => 'OKL_API.G_RET_STS_UNEXP_ERROR',
96 			x_msg_count => x_msg_count,
97 			x_msg_data  => x_msg_data,
98 			p_api_type  => g_api_type);
99 
100 	when OTHERS then
101       	x_return_status := OKL_API.HANDLE_EXCEPTIONS(
102 			p_api_name  => l_api_name,
103 			p_pkg_name  => g_pkg_name,
104 			p_exc_name  => 'OTHERS',
105 			x_msg_count => x_msg_count,
106 			x_msg_data  => x_msg_data,
107 			p_api_type  => g_api_type);
108 
109 
110   END allocate_streams;
111 
112  Procedure GEN_INTR_EXTR_STREAM (
113             p_api_version         IN NUMBER,
114             p_init_msg_list       IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
115             x_return_status       OUT NOCOPY VARCHAR2,
116             x_msg_count           OUT NOCOPY NUMBER,
117             x_msg_data            OUT NOCOPY VARCHAR2,
118             p_khr_id              IN  OKC_K_HEADERS_B.ID%TYPE,
119             p_generation_ctx_code IN  VARCHAR2,
120             x_trx_number          OUT NOCOPY NUMBER,
121             x_trx_status          OUT NOCOPY VARCHAR2) IS
122 
123     l_api_name		CONSTANT VARCHAR2(30) := 'GEN_STREAM_PUB';
124     l_api_version	CONSTANT NUMBER	      := 1;
125     l_return_status	VARCHAR2(1)           := OKL_API.G_RET_STS_SUCCESS;
126 
127   BEGIN
128 
129     x_return_status := OKL_API.START_ACTIVITY(
130 			p_api_name      => l_api_name,
131 			p_pkg_name      => g_pkg_name,
132 			p_init_msg_list => p_init_msg_list,
133 			l_api_version   => l_api_version,
134 			p_api_version   => p_api_version,
135 			p_api_type      => G_API_TYPE,
136 			x_return_status => x_return_status);
137 
138     -- check if activity started successfully
139     If (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
140        raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
141     ElSIF (x_return_status = OKL_API.G_RET_STS_ERROR) then
142        raise OKL_API.G_EXCEPTION_ERROR;
143     End If;
144 
145 
146 
147 
148 
149     OKL_LA_STREAM_PVT.GEN_INTR_EXTR_STREAM (
150                          p_api_version,
151                          p_init_msg_list,
152                          x_return_status,
153                          x_msg_count,
154                          x_msg_data,
155                          p_khr_id,
156                          p_generation_ctx_code,
157                          x_trx_number,
158                          x_trx_status);
159 
160     IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
161        RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
162     ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
163        RAISE OKL_API.G_EXCEPTION_ERROR;
164     END IF;
165 
166 
167 
168     OKL_API.END_ACTIVITY(x_msg_count => x_msg_count, x_msg_data	 => x_msg_data);
169     Exception
170 	when OKL_API.G_EXCEPTION_ERROR then
171 		x_return_status := OKL_API.HANDLE_EXCEPTIONS(
172 			p_api_name  => l_api_name,
173 			p_pkg_name  => g_pkg_name,
174 			p_exc_name  => 'OKL_API.G_RET_STS_ERROR',
175 			x_msg_count => x_msg_count,
176 			x_msg_data  => x_msg_data,
177 			p_api_type  => g_api_type);
178 
179 	when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
180 		x_return_status := OKL_API.HANDLE_EXCEPTIONS(
181 			p_api_name  => l_api_name,
182 			p_pkg_name  => g_pkg_name,
183 			p_exc_name  => 'OKL_API.G_RET_STS_UNEXP_ERROR',
184 			x_msg_count => x_msg_count,
185 			x_msg_data  => x_msg_data,
186 			p_api_type  => g_api_type);
187 
188 	when OTHERS then
189       	x_return_status := OKL_API.HANDLE_EXCEPTIONS(
190 			p_api_name  => l_api_name,
191 			p_pkg_name  => g_pkg_name,
192 			p_exc_name  => 'OTHERS',
193 			x_msg_count => x_msg_count,
194 			x_msg_data  => x_msg_data,
195 			p_api_type  => g_api_type);
196 
197 
198   END GEN_INTR_EXTR_STREAM;
199 
200   Procedure generate_streams(
201             p_api_version        IN  NUMBER,
202             p_init_msg_list      IN  VARCHAR2 DEFAULT OKC_API.G_FALSE,
203             p_chr_id             IN  VARCHAR2,
204             p_generation_context IN  VARCHAR2,
205             p_skip_prc_engine    IN  VARCHAR2,
206             x_return_status      OUT NOCOPY VARCHAR2,
207             x_msg_count          OUT NOCOPY NUMBER,
208             x_msg_data           OUT NOCOPY VARCHAR2,
209             x_request_id         OUT NOCOPY NUMBER,
210             x_trans_status       OUT NOCOPY VARCHAR2) IS
211 
212     l_api_name		CONSTANT VARCHAR2(30) := 'MAP_AND_GEN_STREAMS';
213     l_api_version	CONSTANT NUMBER	      := 1;
214     l_return_status	VARCHAR2(1)           := OKL_API.G_RET_STS_SUCCESS;
215 
216     l_chr_id NUMBER := p_chr_id;
217     l_generation_context VARCHAR2(256) := p_generation_context;
218     l_skip_prc_engine VARCHAR2(1) := p_skip_prc_engine;
219 
220   BEGIN
221 
222     x_return_status := OKL_API.START_ACTIVITY(
223 			p_api_name      => l_api_name,
224 			p_pkg_name      => g_pkg_name,
225 			p_init_msg_list => p_init_msg_list,
226 			l_api_version   => l_api_version,
227 			p_api_version   => p_api_version,
228 			p_api_type      => G_API_TYPE,
229 			x_return_status => x_return_status);
230 
231     -- check if activity started successfully
232     If (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
233        raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
234     ElSIF (x_return_status = OKL_API.G_RET_STS_ERROR) then
235        raise OKL_API.G_EXCEPTION_ERROR;
236     End If;
237 
238 
239 
240 
241 
242     OKL_LA_STREAM_PVT.generate_streams(
243                      p_api_version,
244                      p_init_msg_list,
245                      p_chr_id,
246                      p_generation_context,
247                      p_skip_prc_engine,
248                      x_return_status,
249                      x_msg_count,
250                      x_msg_data,
251                      x_request_id,
252                      x_trans_status);
253 
254     IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
255        RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
256     ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
257        RAISE OKL_API.G_EXCEPTION_ERROR;
258     END IF;
259 
260 
261 
262     OKL_API.END_ACTIVITY(x_msg_count => x_msg_count, x_msg_data	 => x_msg_data);
263     Exception
264 	when OKL_API.G_EXCEPTION_ERROR then
265 		x_return_status := OKL_API.HANDLE_EXCEPTIONS(
266 			p_api_name  => l_api_name,
267 			p_pkg_name  => g_pkg_name,
268 			p_exc_name  => 'OKL_API.G_RET_STS_ERROR',
269 			x_msg_count => x_msg_count,
270 			x_msg_data  => x_msg_data,
271 			p_api_type  => g_api_type);
272 
273 	when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
274 		x_return_status := OKL_API.HANDLE_EXCEPTIONS(
275 			p_api_name  => l_api_name,
276 			p_pkg_name  => g_pkg_name,
277 			p_exc_name  => 'OKL_API.G_RET_STS_UNEXP_ERROR',
278 			x_msg_count => x_msg_count,
279 			x_msg_data  => x_msg_data,
280 			p_api_type  => g_api_type);
281 
282 	when OTHERS then
283       	x_return_status := OKL_API.HANDLE_EXCEPTIONS(
284 			p_api_name  => l_api_name,
285 			p_pkg_name  => g_pkg_name,
286 			p_exc_name  => 'OTHERS',
287 			x_msg_count => x_msg_count,
288 			x_msg_data  => x_msg_data,
289 			p_api_type  => g_api_type);
290 
291 
292   END generate_streams;
293 
294 
295   Procedure update_contract_yields(
296             p_api_version     IN  NUMBER,
297             p_init_msg_list   IN  VARCHAR2 DEFAULT OKC_API.G_FALSE,
298             x_return_status   OUT NOCOPY VARCHAR2,
299             x_msg_count       OUT NOCOPY NUMBER,
300             x_msg_data        OUT NOCOPY VARCHAR2,
301             p_chr_id          IN  VARCHAR2,
302             p_chr_yields      IN  yields_rec_type) IS
303 
304     l_api_name		CONSTANT VARCHAR2(30) := 'UPDATE_YIELDS';
305     l_api_version	CONSTANT NUMBER	      := 1;
306     l_return_status	VARCHAR2(1)           := OKL_API.G_RET_STS_SUCCESS;
307 
308     l_chr_id VARCHAR2(256) := p_chr_id;
309     l_chr_yields yields_rec_type := p_chr_yields;
310 
311   begin
312 
313     x_return_status := OKL_API.START_ACTIVITY(
314 			p_api_name      => l_api_name,
315 			p_pkg_name      => g_pkg_name,
316 			p_init_msg_list => p_init_msg_list,
317 			l_api_version   => l_api_version,
318 			p_api_version   => p_api_version,
319 			p_api_type      => G_API_TYPE,
320 			x_return_status => x_return_status);
321 
322     -- check if activity started successfully
323     If (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
324        raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
325     ElSIF (x_return_status = OKL_API.G_RET_STS_ERROR) then
326        raise OKL_API.G_EXCEPTION_ERROR;
327     End If;
328 
329 
330 
331     OKL_LA_STREAM_PVT.update_contract_yields(
332                      p_api_version,
333                      p_init_msg_list,
334                      x_return_status,
335                      x_msg_count,
336                      x_msg_data,
337                      p_chr_id,
338                      p_chr_yields);
339 
340 
341     IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
342        RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
343     ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
344        RAISE OKL_API.G_EXCEPTION_ERROR;
345     END IF;
346 
347 
348 
349     OKL_API.END_ACTIVITY(x_msg_count => x_msg_count, x_msg_data	 => x_msg_data);
350     Exception
351 	when OKL_API.G_EXCEPTION_ERROR then
352 		x_return_status := OKL_API.HANDLE_EXCEPTIONS(
353 			p_api_name  => l_api_name,
354 			p_pkg_name  => g_pkg_name,
355 			p_exc_name  => 'OKL_API.G_RET_STS_ERROR',
356 			x_msg_count => x_msg_count,
357 			x_msg_data  => x_msg_data,
358 			p_api_type  => g_api_type);
359 
360 	when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
361 		x_return_status := OKL_API.HANDLE_EXCEPTIONS(
362 			p_api_name  => l_api_name,
363 			p_pkg_name  => g_pkg_name,
364 			p_exc_name  => 'OKL_API.G_RET_STS_UNEXP_ERROR',
365 			x_msg_count => x_msg_count,
366 			x_msg_data  => x_msg_data,
367 			p_api_type  => g_api_type);
368 
369 	when OTHERS then
370       	x_return_status := OKL_API.HANDLE_EXCEPTIONS(
371 			p_api_name  => l_api_name,
372 			p_pkg_name  => g_pkg_name,
373 			p_exc_name  => 'OTHERS',
374 			x_msg_count => x_msg_count,
375 			x_msg_data  => x_msg_data,
376 			p_api_type  => g_api_type);
377 
378 
379   end update_contract_yields;
380 
381 
382 
383   Procedure extract_params_lease(
384             p_api_version     IN  NUMBER,
385             p_init_msg_list   IN  VARCHAR2 DEFAULT OKL_API.G_FALSE,
386             p_chr_id          IN  VARCHAR2,
387             x_return_status      OUT NOCOPY VARCHAR2,
388             x_msg_count          OUT NOCOPY NUMBER,
389             x_msg_data           OUT NOCOPY VARCHAR2,
390             x_csm_lease_header          OUT NOCOPY okl_create_streams_pub.csm_lease_rec_type,
391             x_csm_one_off_fee_tbl       OUT NOCOPY okl_create_streams_pub.csm_one_off_fee_tbl_type,
392             x_csm_periodic_expenses_tbl OUT NOCOPY okl_create_streams_pub.csm_periodic_expenses_tbl_type,
393             x_csm_yields_tbl            OUT NOCOPY okl_create_streams_pub.csm_yields_tbl_type,
394             x_req_stream_types_tbl      OUT NOCOPY okl_create_streams_pub.csm_stream_types_tbl_type,
395             x_csm_line_details_tbl      OUT NOCOPY okl_create_streams_pub.csm_line_details_tbl_type,
396             x_rents_tbl                 OUT NOCOPY okl_create_streams_pub.csm_periodic_expenses_tbl_type) IS
397 
398     l_api_name		CONSTANT VARCHAR2(30) := 'LEASE_PARAMS';
399     l_api_version	CONSTANT NUMBER	      := 1;
400     l_return_status	VARCHAR2(1)           := OKL_API.G_RET_STS_SUCCESS;
401 
402     l_chr_id VARCHAR2(256) := p_chr_id;
403 
404   begin
405 
406     x_return_status := OKL_API.START_ACTIVITY(
407 			p_api_name      => l_api_name,
408 			p_pkg_name      => g_pkg_name,
409 			p_init_msg_list => p_init_msg_list,
410 			l_api_version   => l_api_version,
411 			p_api_version   => p_api_version,
412 			p_api_type      => G_API_TYPE,
413 			x_return_status => x_return_status);
414 
415     -- check if activity started successfully
416     If (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
417        raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
418     ElSIF (x_return_status = OKL_API.G_RET_STS_ERROR) then
419        raise OKL_API.G_EXCEPTION_ERROR;
420     End If;
421 
422 
423 
424     OKL_LA_STREAM_PVT.extract_params_lease(
425                                 p_api_version,
426                                 p_init_msg_list,
427                                 p_chr_id,
428                                 x_return_status,
429                                 x_msg_count,
430                                 x_msg_data,
431                                 x_csm_lease_header,
432                                 x_csm_one_off_fee_tbl,
433                                 x_csm_periodic_expenses_tbl,
434                                 x_csm_yields_tbl,
435                                 x_req_stream_types_tbl,
436                                 x_csm_line_details_tbl,
437                                 x_rents_tbl);
438 
439     IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
440        RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
441     ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
442        RAISE OKL_API.G_EXCEPTION_ERROR;
443     END IF;
444 
445 
446 
447     OKL_API.END_ACTIVITY(x_msg_count => x_msg_count, x_msg_data	 => x_msg_data);
448     Exception
449 	when OKL_API.G_EXCEPTION_ERROR then
450 		x_return_status := OKL_API.HANDLE_EXCEPTIONS(
451 			p_api_name  => l_api_name,
452 			p_pkg_name  => g_pkg_name,
453 			p_exc_name  => 'OKL_API.G_RET_STS_ERROR',
454 			x_msg_count => x_msg_count,
455 			x_msg_data  => x_msg_data,
456 			p_api_type  => g_api_type);
457 
458 	when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
459 		x_return_status := OKL_API.HANDLE_EXCEPTIONS(
460 			p_api_name  => l_api_name,
461 			p_pkg_name  => g_pkg_name,
462 			p_exc_name  => 'OKL_API.G_RET_STS_UNEXP_ERROR',
463 			x_msg_count => x_msg_count,
464 			x_msg_data  => x_msg_data,
465 			p_api_type  => g_api_type);
466 
467 	when OTHERS then
468       	x_return_status := OKL_API.HANDLE_EXCEPTIONS(
469 			p_api_name  => l_api_name,
470 			p_pkg_name  => g_pkg_name,
471 			p_exc_name  => 'OTHERS',
472 			x_msg_count => x_msg_count,
473 			x_msg_data  => x_msg_data,
474 			p_api_type  => g_api_type);
475 
476 
477   end extract_params_lease;
478 
479   Procedure extract_params_loan(
480             p_api_version     IN  NUMBER,
481             p_init_msg_list   IN  VARCHAR2 DEFAULT OKL_API.G_FALSE,
482             p_chr_id          IN  VARCHAR2,
483             x_return_status      OUT NOCOPY VARCHAR2,
484             x_msg_count          OUT NOCOPY NUMBER,
485             x_msg_data           OUT NOCOPY VARCHAR2,
486             x_csm_loan_header           OUT NOCOPY okl_create_streams_pvt.csm_loan_rec_type,
487             x_csm_loan_lines_tbl        OUT NOCOPY okl_create_streams_pvt.csm_loan_line_tbl_type,
488             x_csm_loan_levels_tbl       OUT NOCOPY okl_create_streams_pvt.csm_loan_level_tbl_type,
489             x_csm_one_off_fee_tbl       OUT NOCOPY okl_create_streams_pub.csm_one_off_fee_tbl_type,
490             x_csm_periodic_expenses_tbl OUT NOCOPY okl_create_streams_pub.csm_periodic_expenses_tbl_type,
491             x_csm_yields_tbl            OUT NOCOPY okl_create_streams_pub.csm_yields_tbl_type,
492             x_csm_stream_types_tbl      OUT NOCOPY okl_create_streams_pub.csm_stream_types_tbl_type) IS
493 
494     l_api_name		CONSTANT VARCHAR2(30) := 'LOAN_PARAMS';
495     l_api_version	CONSTANT NUMBER	      := 1;
496     l_return_status	VARCHAR2(1)           := OKL_API.G_RET_STS_SUCCESS;
497 
498     l_chr_id VARCHAR2(256) := p_chr_id;
499 
500   begin
501 
502     x_return_status := OKL_API.START_ACTIVITY(
503 			p_api_name      => l_api_name,
504 			p_pkg_name      => g_pkg_name,
505 			p_init_msg_list => p_init_msg_list,
506 			l_api_version   => l_api_version,
507 			p_api_version   => p_api_version,
508 			p_api_type      => G_API_TYPE,
509 			x_return_status => x_return_status);
510 
511     -- check if activity started successfully
512     If (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
513        raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
514     ElSIF (x_return_status = OKL_API.G_RET_STS_ERROR) then
515        raise OKL_API.G_EXCEPTION_ERROR;
516     End If;
517 
518 
519 
520     OKL_LA_STREAM_PVT.extract_params_loan(
521                                 p_api_version,
522                                 p_init_msg_list,
523                                 p_chr_id,
524                                 x_return_status,
525                                 x_msg_count,
526                                 x_msg_data,
527                                 x_csm_loan_header,
528                                 x_csm_loan_lines_tbl,
529                                 x_csm_loan_levels_tbl,
530                                 x_csm_one_off_fee_tbl,
531                                 x_csm_periodic_expenses_tbl,
532                                 x_csm_yields_tbl,
533                                 x_csm_stream_types_tbl);
534 
535     IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
536        RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
537     ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
538        RAISE OKL_API.G_EXCEPTION_ERROR;
539     END IF;
540 
541 
542 
543     OKL_API.END_ACTIVITY(x_msg_count => x_msg_count, x_msg_data	 => x_msg_data);
544     Exception
545 	when OKL_API.G_EXCEPTION_ERROR then
546 		x_return_status := OKL_API.HANDLE_EXCEPTIONS(
547 			p_api_name  => l_api_name,
548 			p_pkg_name  => g_pkg_name,
549 			p_exc_name  => 'OKL_API.G_RET_STS_ERROR',
550 			x_msg_count => x_msg_count,
551 			x_msg_data  => x_msg_data,
552 			p_api_type  => g_api_type);
553 
554 	when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
555 		x_return_status := OKL_API.HANDLE_EXCEPTIONS(
556 			p_api_name  => l_api_name,
557 			p_pkg_name  => g_pkg_name,
558 			p_exc_name  => 'OKL_API.G_RET_STS_UNEXP_ERROR',
559 			x_msg_count => x_msg_count,
560 			x_msg_data  => x_msg_data,
561 			p_api_type  => g_api_type);
562 
563 	when OTHERS then
564       	x_return_status := OKL_API.HANDLE_EXCEPTIONS(
565 			p_api_name  => l_api_name,
566 			p_pkg_name  => g_pkg_name,
567 			p_exc_name  => 'OTHERS',
568 			x_msg_count => x_msg_count,
569 			x_msg_data  => x_msg_data,
570 			p_api_type  => g_api_type);
571 
572 
573   end extract_params_loan;
574 
575   Procedure extract_params_loan_paydown(
576             p_api_version                IN  NUMBER,
577             p_init_msg_list              IN  VARCHAR2 DEFAULT OKL_API.G_FALSE,
578             p_chr_id                     IN  VARCHAR2,
579             p_deal_type                  IN VARCHAR2,
580 	    p_paydown_type               IN  VARCHAR2,
581 	    p_paydown_date               IN  DATE,
582 	    p_paydown_amount             IN  NUMBER,
583             p_balance_type_code          IN  VARCHAR2,
584             x_return_status              OUT NOCOPY VARCHAR2,
585             x_msg_count                  OUT NOCOPY NUMBER,
586             x_msg_data                   OUT NOCOPY VARCHAR2,
587             x_csm_loan_header            OUT NOCOPY okl_create_streams_pvt.csm_loan_rec_type,
588             x_csm_loan_lines_tbl         OUT NOCOPY okl_create_streams_pvt.csm_loan_line_tbl_type,
589             x_csm_loan_levels_tbl        OUT NOCOPY okl_create_streams_pvt.csm_loan_level_tbl_type,
590             x_csm_one_off_fee_tbl        OUT NOCOPY okl_create_streams_pub.csm_one_off_fee_tbl_type,
591             x_csm_periodic_expenses_tbl  OUT NOCOPY okl_create_streams_pub.csm_periodic_expenses_tbl_type,
592             x_csm_yields_tbl             OUT NOCOPY okl_create_streams_pub.csm_yields_tbl_type,
593             x_csm_stream_types_tbl       OUT NOCOPY okl_create_streams_pub.csm_stream_types_tbl_type) IS
594 
595     l_api_name		CONSTANT VARCHAR2(30) := 'EXTRACT_PARAMS_LOAN_PPD';
596     l_api_version	CONSTANT NUMBER	      := 1;
597     l_return_status	VARCHAR2(1)           := OKL_API.G_RET_STS_SUCCESS;
598 
599     l_chr_id VARCHAR2(256) := p_chr_id;
600 
601   begin
602 
603     x_return_status := OKL_API.START_ACTIVITY(
604 			p_api_name      => l_api_name,
605 			p_pkg_name      => g_pkg_name,
606 			p_init_msg_list => p_init_msg_list,
607 			l_api_version   => l_api_version,
608 			p_api_version   => p_api_version,
609 			p_api_type      => G_API_TYPE,
610 			x_return_status => x_return_status);
611 
612     -- check if activity started successfully
613     If (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
614        raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
615     ElSIF (x_return_status = OKL_API.G_RET_STS_ERROR) then
616        raise OKL_API.G_EXCEPTION_ERROR;
617     End If;
618 
619 
620 
621     OKL_LA_STREAM_PVT.extract_params_loan_paydown(
622                                p_api_version     ,
623                                p_init_msg_list   ,
624                                p_chr_id          ,
625                                p_deal_type       ,
626                                p_paydown_type    ,
627                                p_paydown_date    ,
628                                p_paydown_amount  ,
629                                p_balance_type_code,
630                                x_return_status   ,
631                                x_msg_count       ,
632                                x_msg_data        ,
633                                x_csm_loan_header ,
634                                x_csm_loan_lines_tbl,
635 			       x_csm_loan_levels_tbl,
636 			       x_csm_one_off_fee_tbl ,
637 			       x_csm_periodic_expenses_tbl,
638 			       x_csm_yields_tbl,
639 			       x_csm_stream_types_tbl);
640 
641     IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
642        RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
643     ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
644        RAISE OKL_API.G_EXCEPTION_ERROR;
645     END IF;
646 
647 
648 
649     OKL_API.END_ACTIVITY(x_msg_count => x_msg_count, x_msg_data	 => x_msg_data);
650     Exception
651 	when OKL_API.G_EXCEPTION_ERROR then
652 		x_return_status := OKL_API.HANDLE_EXCEPTIONS(
653 			p_api_name  => l_api_name,
654 			p_pkg_name  => g_pkg_name,
655 			p_exc_name  => 'OKL_API.G_RET_STS_ERROR',
656 			x_msg_count => x_msg_count,
657 			x_msg_data  => x_msg_data,
658 			p_api_type  => g_api_type);
659 
660 	when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
661 		x_return_status := OKL_API.HANDLE_EXCEPTIONS(
662 			p_api_name  => l_api_name,
663 			p_pkg_name  => g_pkg_name,
664 			p_exc_name  => 'OKL_API.G_RET_STS_UNEXP_ERROR',
665 			x_msg_count => x_msg_count,
666 			x_msg_data  => x_msg_data,
667 			p_api_type  => g_api_type);
668 
669 	when OTHERS then
670       	x_return_status := OKL_API.HANDLE_EXCEPTIONS(
671 			p_api_name  => l_api_name,
672 			p_pkg_name  => g_pkg_name,
673 			p_exc_name  => 'OTHERS',
674 			x_msg_count => x_msg_count,
675 			x_msg_data  => x_msg_data,
676 			p_api_type  => g_api_type);
677 
678 
679   end extract_params_loan_paydown;
680 
681   --Added by kthiruva for Bug 5161075
682   Procedure extract_params_loan_reamort(
683             p_api_version     IN  NUMBER,
684             p_init_msg_list   IN  VARCHAR2 DEFAULT OKL_API.G_FALSE,
685             p_chr_id          IN  VARCHAR2,
686             x_return_status      OUT NOCOPY VARCHAR2,
687             x_msg_count          OUT NOCOPY NUMBER,
688             x_msg_data           OUT NOCOPY VARCHAR2,
689             x_csm_loan_header           OUT NOCOPY okl_create_streams_pvt.csm_loan_rec_type,
690             x_csm_loan_lines_tbl        OUT NOCOPY okl_create_streams_pvt.csm_loan_line_tbl_type,
691             x_csm_loan_levels_tbl       OUT NOCOPY okl_create_streams_pvt.csm_loan_level_tbl_type,
692             x_csm_one_off_fee_tbl       OUT NOCOPY okl_create_streams_pub.csm_one_off_fee_tbl_type,
693             x_csm_periodic_expenses_tbl OUT NOCOPY okl_create_streams_pub.csm_periodic_expenses_tbl_type,
694             x_csm_yields_tbl            OUT NOCOPY okl_create_streams_pub.csm_yields_tbl_type,
695             x_csm_stream_types_tbl      OUT NOCOPY okl_create_streams_pub.csm_stream_types_tbl_type) IS
696 
697     l_api_name		CONSTANT VARCHAR2(30) := 'LOAN_PARAMS';
698     l_api_version	CONSTANT NUMBER	      := 1;
699     l_return_status	VARCHAR2(1)           := OKL_API.G_RET_STS_SUCCESS;
700 
701     l_chr_id VARCHAR2(256) := p_chr_id;
702 
703   begin
704 
705     x_return_status := OKL_API.START_ACTIVITY(
706 			p_api_name      => l_api_name,
707 			p_pkg_name      => g_pkg_name,
708 			p_init_msg_list => p_init_msg_list,
709 			l_api_version   => l_api_version,
710 			p_api_version   => p_api_version,
711 			p_api_type      => G_API_TYPE,
712 			x_return_status => x_return_status);
713 
714     -- check if activity started successfully
715     If (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
716        raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
717     ElSIF (x_return_status = OKL_API.G_RET_STS_ERROR) then
718        raise OKL_API.G_EXCEPTION_ERROR;
719     End If;
720 
721 
722 
723     OKL_LA_STREAM_PVT.extract_params_loan_reamort(
724                                 p_api_version,
725                                 p_init_msg_list,
726                                 p_chr_id,
727                                 x_return_status,
728                                 x_msg_count,
729                                 x_msg_data,
730                                 x_csm_loan_header,
731                                 x_csm_loan_lines_tbl,
732                                 x_csm_loan_levels_tbl,
733                                 x_csm_one_off_fee_tbl,
734                                 x_csm_periodic_expenses_tbl,
735                                 x_csm_yields_tbl,
736                                 x_csm_stream_types_tbl);
737 
738     IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
739        RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
740     ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
741        RAISE OKL_API.G_EXCEPTION_ERROR;
742     END IF;
743 
744 
745 
746     OKL_API.END_ACTIVITY(x_msg_count => x_msg_count, x_msg_data	 => x_msg_data);
747     Exception
748 	when OKL_API.G_EXCEPTION_ERROR then
749 		x_return_status := OKL_API.HANDLE_EXCEPTIONS(
750 			p_api_name  => l_api_name,
751 			p_pkg_name  => g_pkg_name,
752 			p_exc_name  => 'OKL_API.G_RET_STS_ERROR',
753 			x_msg_count => x_msg_count,
754 			x_msg_data  => x_msg_data,
755 			p_api_type  => g_api_type);
756 
757 	when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
758 		x_return_status := OKL_API.HANDLE_EXCEPTIONS(
759 			p_api_name  => l_api_name,
760 			p_pkg_name  => g_pkg_name,
761 			p_exc_name  => 'OKL_API.G_RET_STS_UNEXP_ERROR',
762 			x_msg_count => x_msg_count,
763 			x_msg_data  => x_msg_data,
764 			p_api_type  => g_api_type);
765 
766 	when OTHERS then
767       	x_return_status := OKL_API.HANDLE_EXCEPTIONS(
768 			p_api_name  => l_api_name,
769 			p_pkg_name  => g_pkg_name,
770 			p_exc_name  => 'OTHERS',
771 			x_msg_count => x_msg_count,
772 			x_msg_data  => x_msg_data,
773 			p_api_type  => g_api_type);
774 
775 
776   end extract_params_loan_reamort;
777 
778 
779 End OKL_LA_STREAM_PUB;