[Home] [Help]
PACKAGE BODY: APPS.OKL_AM_RECYCLE_TRMNT_PVT
Source
1 PACKAGE BODY OKL_AM_RECYCLE_TRMNT_PVT AS
2 /* $Header: OKLRRTXB.pls 120.4 2007/12/14 14:02:18 nikshah noship $ */
3
4 -- GLOBAL VARIABLES
5 G_LEVEL_PROCEDURE CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
6 G_LEVEL_EXCEPTION CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
7 G_LEVEL_STATEMENT CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
8 G_MODULE_NAME CONSTANT VARCHAR2(500) := 'okl.am.plsql.okl_am_loan_trmnt_pvt.';
9
10 -- Start of comments
11 --
12 -- Procedure Name : validate_recycle
13 -- Description : Validates the recycle transaction
14 -- Business Rules :
15 -- Parameters :
16 -- Version : 1.0
17 --
18 -- End of comments
19 PROCEDURE validate_recycle(
20 p_api_version IN NUMBER,
21 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
22 x_return_status OUT NOCOPY VARCHAR2,
23 x_msg_count OUT NOCOPY NUMBER,
24 x_msg_data OUT NOCOPY VARCHAR2,
25 p_recy_rec IN recy_rec_type) IS
26
27 -- Cursor to get the DB values for the recycled transaction
28 CURSOR get_recycle_vals_csr (p_rcy_id IN NUMBER) IS
29 SELECT id,
30 khr_id,
31 tmt_status_code,--akrangan changed for sla tmt_status_code cr
32 tmt_recycle_yn,
33 date_transaction_occurred
34 FROM OKL_TRX_CONTRACTS
35 WHERE id = p_rcy_id;
36
37 -- Cursor to get the DB values for the recycled transaction
38 CURSOR get_recycle_k_vals_csr (p_khr_id IN NUMBER) IS
39 SELECT id,
40 contract_number,
41 sts_code
42 FROM OKL_K_HEADERS_FULL_V
43 WHERE id = p_khr_id;
44
45 get_recycle_vals_rec get_recycle_vals_csr%ROWTYPE;
46 get_recycle_k_vals_rec get_recycle_k_vals_csr%ROWTYPE;
47 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
48 l_recycle_exception EXCEPTION;
49 lp_recy_rec recy_rec_type := p_recy_rec;
50 l_meaning VARCHAR2(2000);
51 l_term_meaning VARCHAR2(2000);
52 l_exp_meaning VARCHAR2(2000);
53 l_module_name VARCHAR2(500) := G_MODULE_NAME || 'validate_recycle';
54 is_debug_exception_on boolean := OKL_DEBUG_PUB.Check_Log_On (l_module_name, G_LEVEL_EXCEPTION);
55 is_debug_procedure_on boolean := OKL_DEBUG_PUB.Check_Log_On (l_module_name, G_LEVEL_PROCEDURE);
56 is_debug_statement_on boolean := OKL_DEBUG_PUB.Check_Log_On (l_module_name, G_LEVEL_STATEMENT);
57
58 BEGIN
59 IF (is_debug_procedure_on) THEN
60 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_PROCEDURE,l_module_name ,'Begin(+)');
61 END IF;
62 IF (is_debug_statement_on) THEN
63 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,l_module_name,'In param, p_recy_rec.p_contract_id: ' || p_recy_rec.p_contract_id);
64 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,l_module_name,'In param, p_recy_rec.p_contract_number: ' || p_recy_rec.p_contract_number);
65 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,l_module_name,'In param, p_recy_rec.p_contract_status: ' || p_recy_rec.p_contract_status);
66 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,l_module_name,'In param, p_recy_rec.p_transaction_id: ' || p_recy_rec.p_transaction_id);
67 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,l_module_name,'In param, p_recy_rec.p_transaction_status: ' || p_recy_rec.p_transaction_status);
68 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,l_module_name,'In param, p_recy_rec.p_tmt_recycle_yn: ' || p_recy_rec.p_tmt_recycle_yn);
69 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,l_module_name,'In param, p_recy_rec.p_transaction_date: ' || p_recy_rec.p_transaction_date);
70 END IF;
71
72 OPEN get_recycle_vals_csr(lp_recy_rec.p_transaction_id);
73 FETCH get_recycle_vals_csr INTO get_recycle_vals_rec;
74 CLOSE get_recycle_vals_csr;
75
76 -- Check if valid transaction id
77 IF get_recycle_vals_rec.id IS NULL
78 OR get_recycle_vals_rec.id = OKL_API.G_MISS_NUM THEN
79
80 OKL_API.SET_MESSAGE(
81 p_app_name => 'OKC',
82 p_msg_name => G_INVALID_VALUE,
83 p_token1 => G_COL_NAME_TOKEN,
84 p_token1_value => 'p_transaction_id');
85
86 RAISE l_recycle_exception;
87 END IF;
88
89 OPEN get_recycle_k_vals_csr(get_recycle_vals_rec.khr_id);
90 FETCH get_recycle_k_vals_csr INTO get_recycle_k_vals_rec;
91 CLOSE get_recycle_k_vals_csr;
92
93 -- Check if contract id valid
94 IF get_recycle_k_vals_rec.id IS NULL
95 OR get_recycle_k_vals_rec.id = OKL_API.G_MISS_NUM THEN
96
97 OKL_API.SET_MESSAGE(
98 p_app_name => 'OKC',
99 p_msg_name => G_INVALID_VALUE,
100 p_token1 => G_COL_NAME_TOKEN,
101 p_token1_value => 'p_contract_id');
102
103 RAISE l_recycle_exception;
104 END IF;
105
106
107 -- Check if transaction already processed
108 IF get_recycle_vals_rec.tmt_status_code = 'PROCESSED' THEN --akrangan changed for sla tmt_status_code cr
109
110 l_meaning := OKL_AM_UTIL_PVT.get_lookup_meaning(
111 p_lookup_type => 'OKL_TRANSACTION_STATUS',
112 p_lookup_code => 'PROCESSED',
113 p_validate_yn => 'Y');
114
115 -- Cannot recycle transaction for contract CONTRACT_NUMBER which is already STATUS.
116 OKL_API.SET_MESSAGE(
117 p_app_name => OKL_API.G_APP_NAME,
118 p_msg_name => 'OKL_AM_K_RECYCLE_STS_ERR',
119 p_token1 => 'CONTRACT_NUMBER',
120 p_token1_value => get_recycle_k_vals_rec.contract_number,
121 p_token2 => 'STATUS',
122 p_token2_value => l_meaning);
123
124 RAISE l_recycle_exception;
125 END IF;
126
127 -- Check if transaction already set for recycle
128 IF get_recycle_vals_rec.tmt_recycle_yn = 'Y' THEN
129
130 -- Cannot recycle transaction for contract CONTRACT_NUMBER which is already set for recycle.
131 OKL_API.SET_MESSAGE(
132 p_app_name => OKL_API.G_APP_NAME,
133 p_msg_name => 'OKL_AM_K_RECYCLE_RCY_ERR',
134 p_token1 => 'CONTRACT_NUMBER',
135 p_token1_value => get_recycle_k_vals_rec.contract_number);
136
137 RAISE l_recycle_exception;
138 END IF;
139
140 -- Check if contract status already terminated or expired
141 IF get_recycle_k_vals_rec.sts_code IN ( 'TERMINATED', 'EXPIRED') THEN
142
143 l_term_meaning := OKL_AM_UTIL_PVT.get_lookup_meaning(
144 p_lookup_type => 'OKC_STATUS_TYPE',
145 p_lookup_code => 'TERMINATED',
146 p_validate_yn => 'Y');
147
148 l_exp_meaning := OKL_AM_UTIL_PVT.get_lookup_meaning(
149 p_lookup_type => 'OKC_STATUS_TYPE',
150 p_lookup_code => 'EXPIRED',
151 p_validate_yn => 'Y');
152
153 -- Cannot recycle transaction for TERM_STATUS or EXP_STATUS contract CONTRACT_NUMBER.
154 OKL_API.SET_MESSAGE(
155 p_app_name => OKL_API.G_APP_NAME,
156 p_msg_name => 'OKL_AM_K_RECYCLE_TMT_ERR',
157 p_token1 => 'CONTRACT_NUMBER',
158 p_token1_value => get_recycle_k_vals_rec.contract_number,
159 p_token2 => 'TERM_STATUS',
160 p_token2_value => l_term_meaning,
161 p_token3 => 'EXP_STATUS',
162 p_token3_value => l_exp_meaning);
163
164 RAISE l_recycle_exception;
165 END IF;
166
167 x_return_status := l_return_status;
168 IF (is_debug_procedure_on) THEN
169 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_PROCEDURE,l_module_name ,'End(-)');
170 END IF;
171
172
173 EXCEPTION
174
175 WHEN l_recycle_exception THEN
176 IF (is_debug_exception_on) THEN
177 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_EXCEPTION,l_module_name, 'EXCEPTION :'||'l_recycle_exception');
178 END IF;
179 IF get_recycle_vals_csr%ISOPEN THEN
180 CLOSE get_recycle_vals_csr;
181 END IF;
182 IF get_recycle_k_vals_csr%ISOPEN THEN
183 CLOSE get_recycle_k_vals_csr;
184 END IF;
185 x_return_status := OKL_API.G_RET_STS_ERROR;
186
187 WHEN OTHERS THEN
188 IF (is_debug_exception_on) THEN
189 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_EXCEPTION,l_module_name, 'EXCEPTION :'||'OTHERS, SQLCODE: '
190 || sqlcode || ' , SQLERRM : ' || sqlerrm);
191 END IF;
192 IF get_recycle_vals_csr%ISOPEN THEN
193 CLOSE get_recycle_vals_csr;
194 END IF;
195 IF get_recycle_k_vals_csr%ISOPEN THEN
196 CLOSE get_recycle_k_vals_csr;
197 END IF;
198 -- Set the oracle error message
199 OKL_API.set_message(p_app_name => g_app_name,
200 p_msg_name => g_unexpected_error,
201 p_token1 => g_sqlcode_token,
202 p_token1_value => SQLCODE,
203 p_token2 => g_sqlerrm_token,
204 p_token2_value => SQLERRM);
205 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
206
207 END validate_recycle;
208
209 -- Start of comments
210 --
211 -- Procedure Name : recycle_termination
212 -- Description : Sets the transaction to recyle
213 -- Business Rules :
214 -- Parameters :
215 -- Version : 1.0
216 -- History : RMUNJULU 3018641 Added code to get_set_tmg_run
217 --
218 -- End of comments
219 PROCEDURE recycle_termination(
220 p_api_version IN NUMBER,
221 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
222 x_return_status OUT NOCOPY VARCHAR2,
223 x_msg_count OUT NOCOPY NUMBER,
224 x_msg_data OUT NOCOPY VARCHAR2,
225 p_recy_rec IN recy_rec_type,
226 x_recy_rec OUT NOCOPY recy_rec_type) IS
227
228 -- Cursor to get the contract details for the transaction being recycled
229 CURSOR contract_details_csr ( p_tcn_id IN NUMBER) IS
230 SELECT K.contract_number
231 FROM OKL_TRX_CONTRACTS T,
232 OKL_K_HEADERS_FULL_V K
233 WHERE T.id = p_tcn_id
234 AND T.khr_id = K.id;
235
236 lp_tcnv_rec OKL_TRX_CONTRACTS_PUB.tcnv_rec_type;
237 lx_tcnv_rec OKL_TRX_CONTRACTS_PUB.tcnv_rec_type;
238 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
239 l_api_name CONSTANT VARCHAR2(30) := 'recycle_termination';
240 l_api_version CONSTANT NUMBER := 1;
241 l_contract_number VARCHAR2(200);
242
243 l_module_name VARCHAR2(500) := G_MODULE_NAME || 'recycle_termination';
244 is_debug_exception_on boolean := OKL_DEBUG_PUB.Check_Log_On (l_module_name, G_LEVEL_EXCEPTION);
245 is_debug_procedure_on boolean := OKL_DEBUG_PUB.Check_Log_On (l_module_name, G_LEVEL_PROCEDURE);
246 is_debug_statement_on boolean := OKL_DEBUG_PUB.Check_Log_On (l_module_name, G_LEVEL_STATEMENT);
247
248
249 BEGIN
250 IF (is_debug_procedure_on) THEN
251 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_PROCEDURE,l_module_name ,'Begin(+)');
252 END IF;
253 IF (is_debug_statement_on) THEN
254 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,l_module_name,'In param, p_recy_rec.p_contract_id: ' || p_recy_rec.p_contract_id);
255 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,l_module_name,'In param, p_recy_rec.p_contract_number: ' || p_recy_rec.p_contract_number);
256 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,l_module_name,'In param, p_recy_rec.p_contract_status: ' || p_recy_rec.p_contract_status);
257 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,l_module_name,'In param, p_recy_rec.p_transaction_id: ' || p_recy_rec.p_transaction_id);
258 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,l_module_name,'In param, p_recy_rec.p_transaction_status: ' || p_recy_rec.p_transaction_status);
259 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,l_module_name,'In param, p_recy_rec.p_tmt_recycle_yn: ' || p_recy_rec.p_tmt_recycle_yn);
260 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,l_module_name,'In param, p_recy_rec.p_transaction_date: ' || p_recy_rec.p_transaction_date);
261 END IF;
262
263 -- Set the transaction
264 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
265 G_PKG_NAME,
266 p_init_msg_list,
267 l_api_version,
268 p_api_version,
269 '_PVT',
270 x_return_status);
271
272 -- Rollback if error setting activity for api
273 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
274 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
275 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
276 RAISE OKL_API.G_EXCEPTION_ERROR;
277 END IF;
278
279 -- Validate the recycle transaction
280 validate_recycle (
281 p_api_version => p_api_version,
282 p_init_msg_list => OKL_API.G_FALSE,
283 x_return_status => l_return_status,
284 x_msg_count => x_msg_count,
285 x_msg_data => x_msg_data,
286 p_recy_rec => p_recy_rec);
287 IF (is_debug_statement_on) THEN
288 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,l_module_name,'called validate_recycle , return status: ' || l_return_status);
289 END IF;
290
291 -- Rollback if error in validation
292 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
293 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
294 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
295 RAISE OKL_API.G_EXCEPTION_ERROR;
296 END IF;
297
298 -- set tcnv_rec
299 lp_tcnv_rec.id := p_recy_rec.p_transaction_id;
300 lp_tcnv_rec.tmt_recycle_yn := 'Y';
301
302 IF (is_debug_statement_on) THEN
303 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,l_module_name,'calling OKL_TRX_CONTRACTS_PUB.update_trx_contracts');
304 END IF;
305 -- call update of transaction
306 OKL_TRX_CONTRACTS_PUB.update_trx_contracts(
307 p_api_version => p_api_version,
308 p_init_msg_list => OKL_API.G_FALSE,
309 x_return_status => l_return_status,
310 x_msg_count => x_msg_count,
311 x_msg_data => x_msg_data,
312 p_tcnv_rec => lp_tcnv_rec,
313 x_tcnv_rec => lx_tcnv_rec);
314 IF (is_debug_statement_on) THEN
315 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,l_module_name,'called OKL_TRX_CONTRACTS_PUB.update_trx_contracts , return status: ' || l_return_status);
316 END IF;
317
318 -- raise exception if error
319 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
320 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
321 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
322 RAISE OKL_API.G_EXCEPTION_ERROR;
323 END IF;
324
325 -- get the contract details
326 OPEN contract_details_csr(lx_tcnv_rec.id);
327 FETCH contract_details_csr INTO l_contract_number;
328 CLOSE contract_details_csr;
329
330 -- Set the message
331 -- Message: Contract CONTRACT_NUMBER is scheduled to recycle.
332 OKL_API.set_message(
333 p_app_name => OKL_API.G_APP_NAME,
334 p_msg_name => 'OKL_AM_K_SET_TO_RECYCLE',
335 p_token1 => 'CONTRACT_NUMBER',
336 p_token1_value => l_contract_number);
337
338 IF (is_debug_statement_on) THEN
339 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,l_module_name,'calling OKL_AM_UTIL_PVT.process_messages');
340 END IF;
341 -- Save message from stack into transaction message table
342 OKL_AM_UTIL_PVT.process_messages(
343 p_trx_source_table => 'OKL_TRX_CONTRACTS',
344 p_trx_id => lx_tcnv_rec.id,
345 x_return_status => l_return_status);
346 IF (is_debug_statement_on) THEN
347 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,l_module_name,'called OKL_AM_UTIL_PVT.process_messages , return status: ' || l_return_status);
348 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,l_module_name,'calling OKL_AM_LEASE_LOAN_TRMNT_PVT.get_set_tmg_run');
349 END IF;
350
351 -- RMUNJULU 3018641 Added code to get and set TMG_RUN
352 OKL_AM_LEASE_LOAN_TRMNT_PVT.get_set_tmg_run(
353 p_trx_id => lx_tcnv_rec.id,
354 x_return_status => l_return_status);
355 IF (is_debug_statement_on) THEN
356 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,l_module_name,'called OKL_AM_LEASE_LOAN_TRMNT_PVT.get_set_tmg_run , return status: ' || l_return_status);
357 END IF;
358
359 -- raise exception if error
360 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
361 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
362 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
363 RAISE OKL_API.G_EXCEPTION_ERROR;
364 END IF;
365
366 -- set return variables
367 x_return_status := l_return_status;
368
369 -- end the transaction
370 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
371 IF (is_debug_procedure_on) THEN
372 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_PROCEDURE,l_module_name ,'End(-)');
373 END IF;
374
375 EXCEPTION
376 WHEN OKL_API.G_EXCEPTION_ERROR THEN
377 IF (is_debug_exception_on) THEN
378 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_EXCEPTION,l_module_name, 'EXCEPTION :'||'G_EXCEPTION_ERROR');
379 END IF;
380 IF contract_details_csr%ISOPEN THEN
381 CLOSE contract_details_csr;
382 END IF;
383
384 x_return_status := OKL_API.HANDLE_EXCEPTIONS
385 (
386 l_api_name,
387 G_PKG_NAME,
388 'OKL_API.G_RET_STS_ERROR',
389 x_msg_count,
390 x_msg_data,
391 '_PVT'
392 );
393 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
394 IF (is_debug_exception_on) THEN
395 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_EXCEPTION,l_module_name, 'EXCEPTION :'||'G_EXCEPTION_UNEXPECTED_ERROR');
396 END IF;
397 IF contract_details_csr%ISOPEN THEN
398 CLOSE contract_details_csr;
399 END IF;
400
401 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
402 (
403 l_api_name,
404 G_PKG_NAME,
405 'OKL_API.G_RET_STS_UNEXP_ERROR',
406 x_msg_count,
407 x_msg_data,
408 '_PVT'
409 );
410 WHEN OTHERS THEN
411 IF (is_debug_exception_on) THEN
412 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_EXCEPTION,l_module_name, 'EXCEPTION :'||'OTHERS, SQLCODE: '
413 || sqlcode || ' , SQLERRM : ' || sqlerrm);
414 END IF;
415 IF contract_details_csr%ISOPEN THEN
416 CLOSE contract_details_csr;
417 END IF;
418
419 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
420 (
421 l_api_name,
422 G_PKG_NAME,
423 'OTHERS',
424 x_msg_count,
425 x_msg_data,
426 '_PVT'
427 );
428
429 END recycle_termination;
430
431
432 -- Start of comments
433 --
434 -- Procedure Name : recycle_termination
435 -- Description : Sets the transactions to recyle
436 -- Business Rules :
437 -- Parameters :
438 -- Version : 1.0
439 --
440 -- End of comments
441 PROCEDURE recycle_termination(
442 p_api_version IN NUMBER,
443 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
444 x_return_status OUT NOCOPY VARCHAR2,
445 x_msg_count OUT NOCOPY NUMBER,
446 x_msg_data OUT NOCOPY VARCHAR2,
447 p_recy_tbl IN recy_tbl_type,
448 x_recy_tbl OUT NOCOPY recy_tbl_type) IS
449
450 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
451 i NUMBER := 0;
452 l_api_name CONSTANT VARCHAR2(30) := 'recycle_termination';
453 l_api_version CONSTANT NUMBER := 1;
454 l_module_name VARCHAR2(500) := G_MODULE_NAME || 'recycle_termination';
455 is_debug_exception_on boolean := OKL_DEBUG_PUB.Check_Log_On (l_module_name, G_LEVEL_EXCEPTION);
456 is_debug_procedure_on boolean := OKL_DEBUG_PUB.Check_Log_On (l_module_name, G_LEVEL_PROCEDURE);
457 is_debug_statement_on boolean := OKL_DEBUG_PUB.Check_Log_On (l_module_name, G_LEVEL_STATEMENT);
458
459 BEGIN
460 IF (is_debug_procedure_on) THEN
461 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_PROCEDURE,l_module_name ,'Begin(+)');
462 END IF;
463 IF (is_debug_statement_on) THEN
464 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,l_module_name,'In param, p_recy_tbl.COUNT: ' || p_recy_tbl.COUNT);
465 END IF;
466
467
468 -- Set the transaction
469 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
470 G_PKG_NAME,
471 p_init_msg_list,
472 l_api_version,
473 p_api_version,
474 '_PVT',
475 x_return_status);
476
477 -- Rollback if error setting activity for api
478 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
479 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
480 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
481 RAISE OKL_API.G_EXCEPTION_ERROR;
482 END IF;
483
484
485 IF (p_recy_tbl.COUNT > 0) THEN
486 i := p_recy_tbl.FIRST;
487 LOOP
488 IF (is_debug_statement_on) THEN
489 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,l_module_name,'calling recycle_termination');
490 END IF;
491 recycle_termination (
492 p_api_version => p_api_version,
493 p_init_msg_list => p_init_msg_list,
494 x_return_status => l_return_status,
495 x_msg_count => x_msg_count,
496 x_msg_data => x_msg_data,
497 p_recy_rec => p_recy_tbl(i),
498 x_recy_rec => x_recy_tbl(i));
499 IF (is_debug_statement_on) THEN
500 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_STATEMENT,l_module_name,'called recycle_termination , return status: ' || l_return_status);
501 END IF;
502
503 -- raise exception if error
504 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
505 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
506 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
507 RAISE OKL_API.G_EXCEPTION_ERROR;
508 END IF;
509
510 EXIT WHEN (i = p_recy_tbl.LAST);
511 i := p_recy_tbl.NEXT(i);
512 END LOOP;
513 END IF;
514
515 -- set return variables
516 x_return_status := l_return_status;
517
518
519 -- end the transaction
520 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
521 IF (is_debug_procedure_on) THEN
522 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_PROCEDURE,l_module_name ,'End(-)');
523 END IF;
524
525 EXCEPTION
526 WHEN OKL_API.G_EXCEPTION_ERROR THEN
527 IF (is_debug_exception_on) THEN
528 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_EXCEPTION,l_module_name, 'EXCEPTION :'||'G_EXCEPTION_ERROR');
529 END IF;
530 x_return_status := OKL_API.HANDLE_EXCEPTIONS
531 (
532 l_api_name,
533 G_PKG_NAME,
534 'OKL_API.G_RET_STS_ERROR',
535 x_msg_count,
536 x_msg_data,
537 '_PVT'
538 );
539 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
540 IF (is_debug_exception_on) THEN
541 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_EXCEPTION,l_module_name, 'EXCEPTION :'||'G_EXCEPTION_UNEXPECTED_ERROR');
542 END IF;
543 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
544 (
545 l_api_name,
546 G_PKG_NAME,
547 'OKL_API.G_RET_STS_UNEXP_ERROR',
548 x_msg_count,
549 x_msg_data,
550 '_PVT'
551 );
552 WHEN OTHERS THEN
553 IF (is_debug_exception_on) THEN
554 OKL_DEBUG_PUB.LOG_DEBUG(G_LEVEL_EXCEPTION,l_module_name, 'EXCEPTION :'||'OTHERS, SQLCODE: '
555 || sqlcode || ' , SQLERRM : ' || sqlerrm);
556 END IF;
557 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
558 (
559 l_api_name,
560 G_PKG_NAME,
561 'OTHERS',
562 x_msg_count,
563 x_msg_data,
564 '_PVT'
565 );
566
567 END recycle_termination;
568
569
570 END OKL_AM_RECYCLE_TRMNT_PVT;