[Home] [Help]
PACKAGE BODY: APPS.OKL_TXL_ASSETS_PVT
Source
1 package body OKL_TXL_ASSETS_PVT as
2 /* $Header: OKLCTALB.pls 120.8.12010000.2 2008/10/29 22:11:02 cklee ship $ */
3
4 ------------------------------------------------------------------------------------
5 -- GLOBAL OKL MESSAGES
6 ------------------------------------------------------------------------------------
7 G_LINE_RECORD CONSTANT VARCHAR2(200) := 'OKL_LLA_LINE_RECORD';
8 G_AMOUNT_ROUNDING CONSTANT VARCHAR2(200) := 'OKL_LA_ROUNDING_ERROR';
9
10 /*
11 * sjalasut: aug 18, 04 added constants used in raising business event. BEGIN
12 */
13 G_WF_EVT_ASSETBOOK_DPRN_CRTD CONSTANT VARCHAR2(65) := 'oracle.apps.okl.la.lease_contract.asset_book_depreciation_created';
14 G_WF_ITM_CONTRACT_ID CONSTANT VARCHAR2(30) := 'CONTRACT_ID';
15 G_WF_ITM_ASSET_ID CONSTANT VARCHAR2(30) := 'ASSET_ID';
16 G_WF_ITM_BOOK_CODE CONSTANT VARCHAR2(30) := 'BOOK_CODE';
17 G_WF_ITM_CONTRACT_PROCESS CONSTANT VARCHAR2(30) := 'CONTRACT_PROCESS';
18 /*
19 * sjalasut: aug 18, 04 added constants used in raising business event. END
20 */
21
22 /*
23 * sjalasut: aug 18, 04 added procedure to call private wrapper that raises the business event. BEGIN
24 * the procedure is located at the global level and not at the insert row level as the same procedure
25 * can later be used for capturing other DML logic.
26 */
27 -------------------------------------------------------------------------------
28 -- PROCEDURE raise_business_event
29 -------------------------------------------------------------------------------
30 -- Start of comments
31 --
32 -- Procedure Name : raise_business_event
33 -- Description : This procedure is a wrapper that raises a business event
34 -- : when ever asset book depreciation is created.
35 -- Business Rules :
36 -- Parameters : p_chr_id,p_asset_id,p_book_code,p_event_name along with other api params
37 -- Version : 1.0
38 -- History : 30-AUG-2004 SJALASUT created
39 -- End of comments
40
41 PROCEDURE raise_business_event(p_api_version IN NUMBER,
42 p_init_msg_list IN VARCHAR2,
43 p_chr_id IN okc_k_headers_b.id%TYPE,
44 p_asset_id IN okc_k_lines_b.id%TYPE,
45 p_book_code IN okl_txl_assets_b.corporate_book%TYPE,
46 p_event_name IN VARCHAR2,
47 x_return_status OUT NOCOPY VARCHAR2,
48 x_msg_count OUT NOCOPY NUMBER,
49 x_msg_data OUT NOCOPY VARCHAR2
50 ) IS
51 l_new_contract VARCHAR2(10);
52 l_rebook_contract VARCHAR2(10);
53 l_parameter_list wf_parameter_list_t;
54 l_contract_process VARCHAR2(20);
55 BEGIN
56 x_return_status := OKL_API.G_RET_STS_SUCCESS;
57
58 -- wrapper API to get contract process. this API determines in which status the
59 -- contract in question is.
60 l_contract_process := okl_lla_util_pvt.get_contract_process(p_chr_id => p_chr_id);
61 wf_event.AddParameterToList(G_WF_ITM_CONTRACT_ID, p_chr_id, l_parameter_list);
62 wf_event.AddParameterToList(G_WF_ITM_ASSET_ID, p_asset_id, l_parameter_list);
63 wf_event.AddParameterToList(G_WF_ITM_BOOK_CODE, p_book_code, l_parameter_list);
64 wf_event.AddParameterToList(G_WF_ITM_CONTRACT_PROCESS, l_contract_process, l_parameter_list);
65 OKL_WF_PVT.raise_event(p_api_version => p_api_version,
66 p_init_msg_list => p_init_msg_list,
67 x_return_status => x_return_status,
68 x_msg_count => x_msg_count,
69 x_msg_data => x_msg_data,
70 p_event_name => p_event_name,
71 p_parameters => l_parameter_list);
72
73 EXCEPTION
74 WHEN OTHERS THEN
75 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
76 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
77 END raise_business_event;
78
79 /*
80 * sjalasut: aug 18, 04 added procedure to call private wrapper that raises the business event. END
81 */
82
83
84
85 PROCEDURE Create_txl_asset_def(
86 p_api_version IN NUMBER,
87 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
88 x_return_status OUT NOCOPY VARCHAR2,
89 x_msg_count OUT NOCOPY NUMBER,
90 x_msg_data OUT NOCOPY VARCHAR2,
91 p_talv_rec IN tlvv_rec_type,
92 x_talv_rec OUT NOCOPY tlvv_rec_type)
93 IS
94 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_TRX_ASSETS_LINES';
95 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
96
97 CURSOR header_curr_csr(p_chr_id OKC_K_HEADERS_V.ID%TYPE) IS
98 SELECT currency_code,
99 currency_conversion_type,
100 currency_conversion_date
101 FROM okl_k_headers_full_v
102 WHERE id = p_chr_id;
103
104 --| start 29-Oct-08 cklee Bug: 7492324 default salvage in here so that |
105 --| when create and copy asset can refer to the |
106 --| same source |
107
108 --Bug# 4186455 : Do not default SV for LOANS
109 --cursor to check deal type of the contract
110 Cursor l_deal_type_csr (p_chr_id in number) is
111 select khr.deal_type,
112 khr.pdt_id,
113 pdt.reporting_pdt_id
114 from okl_products pdt,
115 okl_k_headers khr
116 where pdt.id = khr.pdt_id
117 and khr.id = p_chr_id;
118
119 l_deal_type_rec l_deal_type_csr%ROWTYPE;
120
121 --dkagrawa changed cursor to use view OKL_PROD_QLTY_VAL_UV than okl_product_parameters_v
122 --cursor to get deal type corresponding to a product
123 Cursor l_pdt_deal_csr (p_pdt_id in number) is
124 SELECT ppv.quality_val deal_type
125 FROM okl_prod_qlty_val_uv ppv
126 WHERE ppv.quality_name IN ('LEASE','INVESTOR')
127 AND ppv.pdt_id = p_pdt_id;
128
129 l_pdt_deal_rec l_pdt_deal_csr%ROWTYPE;
130
131
132 Cursor l_residual_value_csr (p_kle_id in number) is
133 select kle.residual_value
134 from okl_k_lines kle
135 where kle.id = p_kle_id;
136
137 l_residual_value_rec l_residual_value_csr%ROWTYPE;
138 --End Bug# 4186455 : Do not default SV for LOANS
139 --| end 29-Oct-08 cklee Bug: 7492324 default salvage in here so that |
140 --| when create and copy asset can refer to the |
141 --| same source |
142
143 l_header_curr_code OKL_K_HEADERS_FULL_V.CURRENCY_CODE%TYPE;
144 l_header_curr_conv_type OKL_K_HEADERS_FULL_V.CURRENCY_CONVERSION_TYPE%TYPE;
145 l_header_curr_conv_date OKL_K_HEADERS_FULL_V.CURRENCY_CONVERSION_DATE%TYPE;
146
147 l_talv_rec tlvv_rec_type;
148
149 /*
150 * sjalasut: oct 14, 04 added cursor and cursor variable to obtain the asset id against which
151 * the book depreciation is being created. BEGIN
152 */
153 CURSOR c_get_cle_id IS
154 SELECT cle_id
155 FROM okc_k_lines_b
156 WHERE id = p_talv_rec.kle_id;
157
158 l_cle_id okc_k_lines_b.cle_id%TYPE;
159
160 BEGIN
161 -- Call start_activity to create savepoint, check compatibility
162 -- and initialize message list
163 l_return_status := OKC_API.START_ACTIVITY (l_api_name
164 ,p_init_msg_list
165 ,'_PVT'
166 ,x_return_status);
167 -- Check if activity started successfully
168 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
169 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
170 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
171 RAISE OKC_API.G_EXCEPTION_ERROR;
172 END IF;
173
174 l_talv_rec := p_talv_rec;
175 --
176 -- Get Currency from contract header if not provided
177 -- at p_talv_rec record
178 -- Fix Bug# 2737014
179 --
180 IF (p_talv_rec.currency_code IS NULL) THEN
181
182 l_header_curr_code := NULL;
183 l_header_curr_conv_type := NULL;
184 l_header_curr_conv_date := NULL;
185
186 OPEN header_curr_csr (p_talv_rec.dnz_khr_id);
187 FETCH header_curr_csr INTO l_header_curr_code,
188 l_header_curr_conv_type,
189 l_header_curr_conv_date;
190 CLOSE header_curr_csr;
191
192 IF (l_header_curr_code IS NOT NULL) THEN
193 l_talv_rec.currency_code := l_header_curr_code;
194 l_talv_rec.currency_conversion_type := l_header_curr_conv_type;
195 l_talv_rec.currency_conversion_date := l_header_curr_conv_date;
196 END IF;
197 END IF;
198
199 --| start 29-Oct-08 cklee Bug: 7492324 default salvage in here so that |
200 --| when create and copy asset can refer to the |
201 --| same source |
202 --------------
203 --Bug# 4082635
204 -------------
205 OPEN l_residual_value_csr (p_talv_rec.kle_id);
206 FETCH l_residual_value_csr INTO l_residual_value_rec;
207 CLOSE l_residual_value_csr;
208
209
210 If nvl(l_talv_rec.salvage_value,OKL_API.G_MISS_NUM) = OKL_API.G_MISS_NUM AND
211 nvl(l_talv_rec.percent_salvage_value, OKL_API.G_MISS_NUM) = OKL_API.G_MISS_NUM then
212 --Bug# 4186455 : Do not populate salvage value for Loan and loan revolving deal types
213 for l_deal_type_rec in l_deal_type_csr(p_chr_id => l_talv_rec.dnz_khr_id)
214 loop
215 If l_deal_type_rec.deal_type = 'LOAN' then
216 If nvl(l_deal_type_rec.reporting_pdt_id,OKL_API.G_MISS_NUM) <> OKL_API.G_MISS_NUM then
217 for l_pdt_deal_rec in l_pdt_deal_csr(p_pdt_id => l_deal_type_rec.reporting_pdt_id)
218 loop
219 If l_pdt_deal_rec.deal_type = 'LEASEOP' then -- reporting pdt is operating lease
220
221 l_talv_rec.salvage_value := nvl(l_residual_value_rec.residual_value,0);
222
223 End If;
224 End loop;
225 End If;
226 Elsif l_deal_type_rec.deal_type = 'LOAN-REVOLVING' then
227 null;
228 Else -- for LEASEOP, LEASEDF, LEASEST
229 l_talv_rec.salvage_value := nvl(l_residual_value_rec.residual_value,0);
230
231 End If;
232 End Loop;
233 End If;
234 ------------------
235 --End Bug# 4082635
236 ------------------
237 --| end 29-Oct-08 cklee Bug: 7492324 default salvage in here so that |
238 --| when create and copy asset can refer to the |
239 --| same source |
240
241 --Bug# 3657624 : Depreciation Rate should not be divided by 100
242 /*
243 --Bug# 3621663 : To support flat rate methods
244 If nvl(l_talv_rec.deprn_rate,OKL_API.G_MISS_NUM) <> OKL_API.G_MISS_NUM then
245 l_talv_rec.deprn_rate := l_talv_rec.deprn_rate/100;
246 End If;
247 --Bug# 3621663
248 */
249 --Bug# 3657624 End
250
251 -- evaluate conditions, build outcomes for true conditions and
252 -- put them on outcome queue
253 OKL_TAL_PVT.insert_row(p_api_version,
254 p_init_msg_list,
255 x_return_status,
256 x_msg_count,
257 x_msg_data,
258 l_talv_rec,
259 x_talv_rec);
260
261 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
262 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
263 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
264 RAISE OKC_API.G_EXCEPTION_ERROR;
265 END IF;
266
267 /*
268 * sjalasut: aug 18, 04 added code to enable business event. BEGIN
269 * raise the event only if the contract in context is a LEASE contract
270 */
271 OPEN c_get_cle_id;
272 FETCH c_get_cle_id INTO l_cle_id;
273 CLOSE c_get_cle_id;
274 IF(OKL_LLA_UTIL_PVT.is_lease_contract(l_talv_rec.dnz_khr_id)= OKL_API.G_TRUE
275 AND (l_talv_rec.corporate_book IS NOT NULL
276 AND l_talv_rec.corporate_book <> OKL_API.G_MISS_CHAR))THEN
277 raise_business_event(p_api_version => p_api_version,
278 p_init_msg_list => p_init_msg_list,
279 p_chr_id => l_talv_rec.dnz_khr_id,
280 p_asset_id => l_cle_id,
281 p_book_code => l_talv_rec.corporate_book,
282 p_event_name => G_WF_EVT_ASSETBOOK_DPRN_CRTD,
283 x_return_status => x_return_status,
284 x_msg_count => x_msg_count,
285 x_msg_data => x_msg_data
286 );
287 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
288 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
289 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
290 RAISE OKL_API.G_EXCEPTION_ERROR;
291 END IF;
292 END IF;
293 /*
294 * sjalasut: aug 18, 04 added code to enable business event. END
295 */
296
297 OKC_API.END_ACTIVITY (x_msg_count
298 ,x_msg_data );
299 EXCEPTION
300 WHEN OKC_API.G_EXCEPTION_ERROR THEN
301 x_return_status := OKC_API.HANDLE_EXCEPTIONS
302 (l_api_name,
303 G_PKG_NAME,
304 'OKC_API.G_RET_STS_ERROR',
305 x_msg_count,
306 x_msg_data,
307 '_PVT');
308 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
309 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
310 (l_api_name,
311 G_PKG_NAME,
312 'OKC_API.G_RET_STS_UNEXP_ERROR',
313 x_msg_count,
314 x_msg_data,
315 '_PVT');
316 WHEN OTHERS THEN x_return_status :=OKC_API.HANDLE_EXCEPTIONS
317 (l_api_name,
318 G_PKG_NAME,
319 'OTHERS',
320 x_msg_count,
321 x_msg_data,
322 '_PVT');
323 END Create_txl_asset_def;
324
325 PROCEDURE Create_txl_asset_def(
326 p_api_version IN NUMBER,
327 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
328 x_return_status OUT NOCOPY VARCHAR2,
329 x_msg_count OUT NOCOPY NUMBER,
330 x_msg_data OUT NOCOPY VARCHAR2,
331 p_talv_tbl IN tlvv_tbl_type,
332 x_talv_tbl OUT NOCOPY tlvv_tbl_type)
333 IS
334 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_TRX_ASSETS_LINES';
335 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
336
337 p NUMBER := 0;
338 i NUMBER := 0;
339 BEGIN
340 -- Call start_activity to create savepoint, check compatibility
341 -- and initialize message list
342 l_return_status := OKC_API.START_ACTIVITY (l_api_name
343 ,p_init_msg_list
344 ,'_PVT'
345 , x_return_status);
346 -- Check if activity started successfully
347 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
348 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
352
349 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
350 RAISE OKC_API.G_EXCEPTION_ERROR;
351 END IF;
353 IF (p_talv_tbl.COUNT > 0) THEN
354 i := p_talv_tbl.FIRST;
355 LOOP
356 Create_txl_asset_def (
357 p_api_version => p_api_version,
358 p_init_msg_list => OKC_API.G_FALSE,
359 x_return_status => x_return_status,
360 x_msg_count => x_msg_count,
361 x_msg_data => x_msg_data,
362 p_talv_rec => p_talv_tbl(i),
363 x_talv_rec => x_talv_tbl(i));
364 EXIT WHEN (i = p_talv_tbl.LAST);
365 i := p_talv_tbl.NEXT(i);
366 END LOOP;
367 END IF;
368 /*
369 -- evaluate conditions, build outcomes for true conditions and
370 -- put them on outcome queue
371 OKL_TAL_PVT.insert_row(p_api_version,
372 p_init_msg_list,
373 x_return_status,
374 x_msg_count,
375 x_msg_data,
376 p_talv_tbl,
377 x_talv_tbl);
378 */
379
380 OKC_API.END_ACTIVITY (x_msg_count
381 ,x_msg_data );
382
383 EXCEPTION
384 WHEN OKC_API.G_EXCEPTION_ERROR THEN
385 x_return_status := OKC_API.HANDLE_EXCEPTIONS
386 (l_api_name,
387 G_PKG_NAME,
388 'OKC_API.G_RET_STS_ERROR',
389 x_msg_count,
390 x_msg_data,
391 '_PVT');
392 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
393 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
394 (l_api_name,
395 G_PKG_NAME,
396 'OKC_API.G_RET_STS_UNEXP_ERROR',
397 x_msg_count,
398 x_msg_data,
399 '_PVT');
400 WHEN OTHERS THEN x_return_status :=OKC_API.HANDLE_EXCEPTIONS
401 ( l_api_name,
402 G_PKG_NAME,
403 'OTHERS',
404 x_msg_count,
405 x_msg_data,
406 '_PVT');
407 END Create_txl_asset_def;
408
409 PROCEDURE lock_txl_asset_def(
410 p_api_version IN NUMBER,
411 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
412 x_return_status OUT NOCOPY VARCHAR2,
413 x_msg_count OUT NOCOPY NUMBER,
414 x_msg_data OUT NOCOPY VARCHAR2,
415 p_talv_rec IN tlvv_rec_type)
416 IS
417 l_api_name CONSTANT VARCHAR2(30) := 'LOCK_TRX_ASSETS_LINES';
418 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
419 BEGIN
420 -- Call start_activity to create savepoint, check compatibility
421 -- and initialize message list
422 l_return_status := OKC_API.START_ACTIVITY (l_api_name
423 ,p_init_msg_list
424 ,'_PVT'
425 ,x_return_status);
426 -- Check if activity started successfully
427 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
428 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
429 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
430 RAISE OKC_API.G_EXCEPTION_ERROR;
431 END IF;
432 -- evaluate conditions, build outcomes for true conditions and
433 -- put them on outcome queue
434 OKL_TAL_PVT.lock_row(p_api_version,
435 p_init_msg_list,
436 x_return_status,
437 x_msg_count,
438 x_msg_data,
439 p_talv_rec);
440 OKC_API.END_ACTIVITY (x_msg_count
441 ,x_msg_data );
442 EXCEPTION
443 WHEN OKC_API.G_EXCEPTION_ERROR THEN
444 x_return_status := OKC_API.HANDLE_EXCEPTIONS
445 (l_api_name,
446 G_PKG_NAME,
447 'OKC_API.G_RET_STS_ERROR',
448 x_msg_count,
449 x_msg_data,
450 '_PVT');
451 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
452 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
453 (l_api_name,
454 G_PKG_NAME,
455 'OKC_API.G_RET_STS_UNEXP_ERROR',
456 x_msg_count,
457 x_msg_data,
458 '_PVT');
459 WHEN OTHERS THEN x_return_status :=OKC_API.HANDLE_EXCEPTIONS
460 (l_api_name,
461 G_PKG_NAME,
462 'OTHERS',
463 x_msg_count,
464 x_msg_data,
465 '_PVT');
466 END lock_txl_asset_def;
467
468 PROCEDURE lock_txl_asset_def(
469 p_api_version IN NUMBER,
470 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
471 x_return_status OUT NOCOPY VARCHAR2,
472 x_msg_count OUT NOCOPY NUMBER,
473 x_msg_data OUT NOCOPY VARCHAR2,
474 p_talv_tbl IN tlvv_tbl_type)
475 IS
476 l_api_name CONSTANT VARCHAR2(30) := 'LOCK_TRX_ASSETS_LINES';
477 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
478 BEGIN
482 ,p_init_msg_list
479 -- Call start_activity to create savepoint, check compatibility
480 -- and initialize message list
481 l_return_status := OKC_API.START_ACTIVITY (l_api_name
483 ,'_PVT'
484 ,x_return_status);
485 -- Check if activity started successfully
486 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
487 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
488 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
489 RAISE OKC_API.G_EXCEPTION_ERROR;
490 END IF;
491 -- evaluate conditions, build outcomes for true conditions and
492 -- put them on outcome queue
493 OKL_TAL_PVT.lock_row(p_api_version,
494 p_init_msg_list,
495 x_return_status,
496 x_msg_count,
497 x_msg_data,
498 p_talv_tbl);
499 OKC_API.END_ACTIVITY (x_msg_count
500 ,x_msg_data );
501 EXCEPTION
502 WHEN OKC_API.G_EXCEPTION_ERROR THEN
503 x_return_status := OKC_API.HANDLE_EXCEPTIONS
504 (l_api_name,
505 G_PKG_NAME,
506 'OKC_API.G_RET_STS_ERROR',
507 x_msg_count,
508 x_msg_data,
509 '_PVT');
510 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
511 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
512 (l_api_name,
513 G_PKG_NAME,
514 'OKC_API.G_RET_STS_UNEXP_ERROR',
515 x_msg_count,
516 x_msg_data,
517 '_PVT');
518 WHEN OTHERS THEN x_return_status :=OKC_API.HANDLE_EXCEPTIONS
519 (l_api_name,
520 G_PKG_NAME,
521 'OTHERS',
522 x_msg_count,
523 x_msg_data,
524 '_PVT');
525 END lock_txl_asset_def;
526
527 PROCEDURE update_txl_asset_def(
528 p_api_version IN NUMBER,
529 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
530 x_return_status OUT NOCOPY VARCHAR2,
531 x_msg_count OUT NOCOPY NUMBER,
532 x_msg_data OUT NOCOPY VARCHAR2,
533 p_talv_rec IN tlvv_rec_type,
534 x_talv_rec OUT NOCOPY tlvv_rec_type)
535 IS
536 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_TRX_ASSETS_LINES';
537 ln_chr_id OKC_K_LINES_B.DNZ_CHR_ID%TYPE;
538
539 -- Temp parameters to store depreciation cost and salvage values.
540 l_deprn_cost NUMBER;
541 l_salvage_value NUMBER;
542 l_currency_code VARCHAR2(15);
543
544 l_talv_rec tlvv_rec_type;
545
546 CURSOR get_chr_id(p_kle_id OKL_TXL_ASSETS_B.KLE_ID%TYPE)
547 IS
548 SELECT cle.dnz_chr_id
549 FROM okc_k_lines_b cle,
550 okl_txl_assets_b tal
551 WHERE tal.kle_id = cle.id
552 AND tal.kle_id = p_kle_id;
553 /*
554 CURSOR c_get_currency_code(p_kle_id OKC_K_LINES_B.ID%TYPE) IS
555 SELECT currency_code
556 FROM OKC_K_LINES_B
557 WHERE id = p_kle_id;
558 */
559 CURSOR header_curr_csr(p_txl_id OKL_TXL_ASSETS_V.ID%TYPE) IS
560 SELECT h.currency_code,
561 h.currency_conversion_type,
562 h.currency_conversion_date
563 FROM okl_k_headers_full_v h,
564 okl_txl_assets_v asset
565 WHERE h.id = asset.dnz_khr_id
566 AND asset.id = p_txl_id;
567
568 /*
569 *vthiruva..fix for business events..30-Dec-2004..Start
570 *added cursor to fetch the params to pass to raise business event
571 */
572 CURSOR get_event_params(p_id OKL_TXL_ASSETS_B.ID%TYPE) IS
573 SELECT lines.dnz_chr_id,lines.cle_id,tal.corporate_book
574 FROM okc_k_lines_b lines,
575 okl_txl_assets_b tal
576 WHERE tal.id = p_id
577 AND lines.id = tal.kle_id;
578
579 --| start 29-Oct-08 cklee Bug: 7492324 default salvage in here so that |
580 --| when create and copy asset can refer to the |
581 --| same source |
582
583 --Bug# 4186455 : Do not default SV for LOANS
584 --cursor to check deal type of the contract
585 Cursor l_deal_type_csr (p_chr_id in number) is
586 select khr.deal_type,
587 khr.pdt_id,
588 pdt.reporting_pdt_id
589 from okl_products pdt,
590 okl_k_headers khr
591 where pdt.id = khr.pdt_id
592 and khr.id = p_chr_id;
593
594 l_deal_type_rec l_deal_type_csr%ROWTYPE;
595
596 --dkagrawa changed cursor to use view OKL_PROD_QLTY_VAL_UV than okl_product_parameters_v
597 --cursor to get deal type corresponding to a product
598 Cursor l_pdt_deal_csr (p_pdt_id in number) is
599 SELECT ppv.quality_val deal_type
600 FROM okl_prod_qlty_val_uv ppv
601 WHERE ppv.quality_name IN ('LEASE','INVESTOR')
602 AND ppv.pdt_id = p_pdt_id;
603
604 l_pdt_deal_rec l_pdt_deal_csr%ROWTYPE;
605
606
610 where kle.id = p_kle_id;
607 Cursor l_residual_value_csr (p_kle_id in number) is
608 select kle.residual_value
609 from okl_k_lines kle
611
612 l_residual_value_rec l_residual_value_csr%ROWTYPE;
613 --End Bug# 4186455 : Do not default SV for LOANS
614 --| end 29-Oct-08 cklee Bug: 7492324 default salvage in here so that |
615 --| when create and copy asset can refer to the |
616 --| same source |
617
618 l_contract_id okc_k_headers_b.id%TYPE;
619 l_asset_id okc_k_lines_b.id%TYPE;
620 l_old_book_code okl_txl_assets_b.corporate_book%TYPE;
621 --vthiruva..fix for business events..30-Dec-2004..end
622
623 l_header_curr_code OKL_K_HEADERS_FULL_V.CURRENCY_CODE%TYPE;
624 l_header_curr_conv_type OKL_K_HEADERS_FULL_V.CURRENCY_CONVERSION_TYPE%TYPE;
625 l_header_curr_conv_date OKL_K_HEADERS_FULL_V.CURRENCY_CONVERSION_DATE%TYPE;
626
627 BEGIN
628 x_return_status := OKL_API.G_RET_STS_SUCCESS;
629 -- Call start_activity to create savepoint, check compatibility
630 -- and initialize message list
631 x_return_status := OKC_API.START_ACTIVITY (l_api_name
632 ,p_init_msg_list
633 ,'_PVT'
634 ,x_return_status);
635 -- Check if activity started successfully
636 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
637 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
638 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
639 RAISE OKC_API.G_EXCEPTION_ERROR;
640 END IF;
641
642 --Bug# 4959361
643 OKL_LLA_UTIL_PVT.check_line_update_allowed
644 (p_api_version => p_api_version,
645 p_init_msg_list => p_init_msg_list,
646 x_return_status => x_return_status,
647 x_msg_count => x_msg_count,
648 x_msg_data => x_msg_data,
649 p_cle_id => p_talv_rec.kle_id);
650
651 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
652 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
653 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
654 RAISE OKL_API.G_EXCEPTION_ERROR;
655 END IF;
656 --Bug# 4959361
657
658 l_talv_rec := p_talv_rec;
659 --
660 -- Get Currency from contract header if not provided
661 -- at p_talv_rec record
662 -- Fix Bug# 2737014
663 --
664 IF (p_talv_rec.currency_code IS NULL) THEN
665
666 l_header_curr_code := NULL;
667 l_header_curr_conv_type := NULL;
668 l_header_curr_conv_date := NULL;
669
670 OPEN header_curr_csr (p_talv_rec.id);
671 FETCH header_curr_csr INTO l_header_curr_code,
672 l_header_curr_conv_type,
673 l_header_curr_conv_date;
674 CLOSE header_curr_csr;
675
676 IF (l_header_curr_code IS NOT NULL) THEN
677 l_talv_rec.currency_code := l_header_curr_code;
678 l_talv_rec.currency_conversion_type := l_header_curr_conv_type;
679 l_talv_rec.currency_conversion_date := l_header_curr_conv_date;
680 END IF;
681 END IF;
682
683 /* Rounding is done on corresponding TAPI
684
685 -- Modified by rravikir
686 -- Call to Accounting Util package to address Multi Currency requirement
687 -- Start
688 -- Copy p_talv_rec to l_talv_rec
689 l_talv_rec := p_talv_rec;
690 OPEN c_get_currency_code(p_kle_id => l_talv_rec.kle_id);
691
692 IF c_get_currency_code%NOTFOUND THEN
693 OKL_API.set_message(p_app_name => G_APP_NAME,
694 p_msg_name => G_LINE_RECORD);
695 RAISE OKL_API.G_EXCEPTION_ERROR;
696 END IF;
697 FETCH c_get_currency_code INTO l_currency_code;
698 CLOSE c_get_currency_code;
699
700 l_deprn_cost := l_talv_rec.depreciation_cost;
701 l_salvage_value := l_talv_rec.salvage_value;
702
703 l_talv_rec.depreciation_cost :=
704 OKL_ACCOUNTING_UTIL.CROSS_CURRENCY_ROUND_AMOUNT(l_talv_rec.depreciation_cost,
705 l_currency_code);
706
707 IF (l_deprn_cost <> 0 AND l_talv_rec.depreciation_cost = 0) THEN
708 OKL_API.set_message(p_app_name => G_APP_NAME,
709 p_msg_name => G_AMOUNT_ROUNDING,
710 p_token1 => 'AMT',
711 p_token1_value => to_char(l_deprn_cost));
712 RAISE G_EXCEPTION_HALT_VALIDATION;
713 END IF;
714
715 l_talv_rec.salvage_value :=
716 OKL_ACCOUNTING_UTIL.CROSS_CURRENCY_ROUND_AMOUNT(l_talv_rec.salvage_value,
717 l_currency_code);
718
719 IF (l_salvage_value <> 0 AND l_talv_rec.salvage_value = 0) THEN
720 OKL_API.set_message(p_app_name => G_APP_NAME,
721 p_msg_name => G_AMOUNT_ROUNDING,
722 p_token1 => 'AMT',
723 p_token1_value => to_char(l_salvage_value));
724 RAISE G_EXCEPTION_HALT_VALIDATION;
725 END IF;
726
727 -- End Modification for Multi Currency
728 */
732 --Bug# 3621663 : To support flat rate methods
729
730 --Bug# 3657624 : Depreciation Rate should not be divided by 100
731 /*
733 If nvl(l_talv_rec.deprn_rate,OKL_API.G_MISS_NUM) <> OKL_API.G_MISS_NUM then
734 l_talv_rec.deprn_rate := l_talv_rec.deprn_rate/100;
735 End If;
736 --Bug# 3621663
737 */
738 --Bug# 3657624 End
739 --vthiruva..fix for business events..30-Dec-2004..Start
740 OPEN get_event_params(l_talv_rec.id);
741 IF get_event_params%NOTFOUND THEN
742 RAISE OKC_API.G_EXCEPTION_ERROR;
743 END IF;
744 FETCH get_event_params INTO l_contract_id, l_asset_id, l_old_book_code;
745 CLOSE get_event_params;
746 --vthiruva..fix for business events..30-Dec-2004..End
747
748 --| start 29-Oct-08 cklee Bug: 7492324 default salvage in here so that |
749 --| when create and copy asset can refer to the |
750 --| same source |
751
752 --------------
753 --Bug# 4082635
754 -------------
755 OPEN l_residual_value_csr (p_talv_rec.kle_id);
756 FETCH l_residual_value_csr INTO l_residual_value_rec;
757 CLOSE l_residual_value_csr;
758
759 If nvl(l_talv_rec.salvage_value,OKL_API.G_MISS_NUM) = OKL_API.G_MISS_NUM AND
760 nvl(l_talv_rec.percent_salvage_value, OKL_API.G_MISS_NUM) = OKL_API.G_MISS_NUM then
761 --Bug# 4186455 : Do not populate salvage value for Loan and loan revolving deal types
762
763 for l_deal_type_rec in l_deal_type_csr(p_chr_id => l_contract_id)
764 loop
765
766 If l_deal_type_rec.deal_type = 'LOAN' then
767 If nvl(l_deal_type_rec.reporting_pdt_id,OKL_API.G_MISS_NUM) <> OKL_API.G_MISS_NUM then
768 for l_pdt_deal_rec in l_pdt_deal_csr(p_pdt_id => l_deal_type_rec.reporting_pdt_id)
769 loop
770 If l_pdt_deal_rec.deal_type = 'LEASEOP' then -- reporting pdt is operating lease
771 IF l_talv_rec.salvage_value is null THEN
772 l_talv_rec.salvage_value := nvl(l_residual_value_rec.residual_value,0);
773
774 END IF;
775 End If;
776 End loop;
777 End If;
778 Elsif l_deal_type_rec.deal_type = 'LOAN-REVOLVING' then
779 null;
780 Else -- for LEASEOP, LEASEDF, LEASEST
781 IF l_talv_rec.salvage_value is null THEN
782 l_talv_rec.salvage_value := nvl(l_residual_value_rec.residual_value,0);
783 END IF;
784 End If;
785 End Loop;
786 End If;
787 ------------------
788 --End Bug# 4082635
789 ------------------
790 --| end 29-Oct-08 cklee Bug: 7492324 default salvage in here so that |
791 --| when create and copy asset can refer to the |
792 --| same source |
793
794 -- evaluate conditions, build outcomes for true conditions and
795 -- put them on outcome queue
796 OKL_TAL_PVT.update_row(p_api_version,
797 p_init_msg_list,
798 x_return_status,
799 x_msg_count,
800 x_msg_data,
801 l_talv_rec,
802 x_talv_rec);
803
804 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
805 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
806 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
807 RAISE OKC_API.G_EXCEPTION_ERROR;
808 END IF;
809
810 IF x_talv_rec.tal_type in ('CFA','CIB','CRB','CRL','CRV','CSP','ALI') THEN
811 OPEN get_chr_id(x_talv_rec.kle_Id);
812 IF get_chr_id%NOTFOUND THEN
813 RAISE OKC_API.G_EXCEPTION_ERROR;
814 END IF;
815 FETCH get_chr_id INTO ln_chr_id;
816 CLOSE get_chr_id;
817 -- We need to change the status of the header whenever there is updating happening
818 -- after the contract status is approved
819 IF (ln_chr_id is NOT NULL) AND
820 (ln_chr_id <> OKL_API.G_MISS_NUM) THEN
821 --cascade edit status on to lines
822 okl_contract_status_pub.cascade_lease_status_edit
823 (p_api_version => p_api_version,
824 p_init_msg_list => p_init_msg_list,
825 x_return_status => x_return_status,
826 x_msg_count => x_msg_count,
827 x_msg_data => x_msg_data,
828 p_chr_id => ln_chr_id);
829 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
830 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
831 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
832 RAISE OKC_API.G_EXCEPTION_ERROR;
833 END IF;
834 END IF;
835 END IF;
836
837 --vthiruva..fix for business events..30-Dec-2004..Start
838 IF(OKL_LLA_UTIL_PVT.is_lease_contract(l_contract_id)= OKL_API.G_TRUE
839 AND l_old_book_code IS NULL
840 AND (l_talv_rec.corporate_book IS NOT NULL
841 AND l_talv_rec.corporate_book <> OKL_API.G_MISS_CHAR))THEN
845 p_asset_id => l_asset_id,
842 raise_business_event(p_api_version => p_api_version,
843 p_init_msg_list => p_init_msg_list,
844 p_chr_id => l_contract_id,
846 p_book_code => l_talv_rec.corporate_book,
847 p_event_name => G_WF_EVT_ASSETBOOK_DPRN_CRTD,
848 x_return_status => x_return_status,
849 x_msg_count => x_msg_count,
850 x_msg_data => x_msg_data
851 );
852 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
853 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
854 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
855 RAISE OKL_API.G_EXCEPTION_ERROR;
856 END IF;
857 END IF;
858 --vthiruva..fix for business events..30-Dec-2004..end
859
860 OKC_API.END_ACTIVITY (x_msg_count
861 ,x_msg_data );
862 EXCEPTION
863 WHEN OKC_API.G_EXCEPTION_ERROR THEN
864 x_return_status := OKC_API.HANDLE_EXCEPTIONS
865 (l_api_name,
866 G_PKG_NAME,
867 'OKC_API.G_RET_STS_ERROR',
868 x_msg_count,
869 x_msg_data,
870 '_PVT');
871 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
872 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
873 (l_api_name,
874 G_PKG_NAME,
875 'OKC_API.G_RET_STS_UNEXP_ERROR',
876 x_msg_count,
877 x_msg_data,
878 '_PVT');
879 WHEN OTHERS THEN x_return_status :=OKC_API.HANDLE_EXCEPTIONS
880 (l_api_name,
881 G_PKG_NAME,
882 'OTHERS',
883 x_msg_count,
884 x_msg_data,
885 '_PVT');
886 END update_txl_asset_def;
887
888 PROCEDURE update_txl_asset_def(
889 p_api_version IN NUMBER,
890 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
891 x_return_status OUT NOCOPY VARCHAR2,
892 x_msg_count OUT NOCOPY NUMBER,
893 x_msg_data OUT NOCOPY VARCHAR2,
894 p_talv_tbl IN tlvv_tbl_type,
895 x_talv_tbl OUT NOCOPY tlvv_tbl_type)
896 IS
897 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_TRX_ASSETS_LINES';
898 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
899
900 p NUMBER := 0;
901
902 BEGIN
903 -- Call start_activity to create savepoint, check compatibility
904 -- and initialize message list
905 l_return_status := OKC_API.START_ACTIVITY (l_api_name
906 ,p_init_msg_list
907 ,'_PVT'
908 ,x_return_status);
909 -- Check if activity started successfully
910 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
911 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
912 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
913 RAISE OKC_API.G_EXCEPTION_ERROR;
914 END IF;
915
916 -- Modified by rravikir
917 -- calling update_txl_asset_def record version to update records
918
919 IF p_talv_tbl.COUNT > 0 THEN
920 p := p_talv_tbl.FIRST;
921 LOOP
922 update_txl_asset_def(p_api_version => p_api_version,
923 p_init_msg_list => p_init_msg_list,
924 x_return_status => x_return_status,
925 x_msg_count => x_msg_count,
926 x_msg_data => x_msg_data,
927 p_talv_rec => p_talv_tbl(p),
928 x_talv_rec => x_talv_tbl(p));
929
930 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
931 EXIT WHEN (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR);
932 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
933 EXIT WHEN (x_return_status = OKL_API.G_RET_STS_ERROR);
934 END IF;
935 EXIT WHEN (p = p_talv_tbl.LAST);
936 p := p_talv_tbl.NEXT(p);
937 END LOOP;
938 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
939 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
940 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
941 RAISE OKL_API.G_EXCEPTION_ERROR;
942 END IF;
943 END IF;
944
945 -- End Modification
946
947 -- evaluate conditions, build outcomes for true conditions and
948 -- put them on outcome queue
949 /* OKL_TAL_PVT.update_row(p_api_version,
950 p_init_msg_list,
951 x_return_status,
952 x_msg_count,
953 x_msg_data,
954 p_talv_tbl,
955 x_talv_tbl);*/
956 OKC_API.END_ACTIVITY (x_msg_count
957 ,x_msg_data );
958 EXCEPTION
959 WHEN OKC_API.G_EXCEPTION_ERROR THEN
960 x_return_status := OKC_API.HANDLE_EXCEPTIONS
961 (l_api_name,
962 G_PKG_NAME,
963 'OKC_API.G_RET_STS_ERROR',
964 x_msg_count,
965 x_msg_data,
966 '_PVT');
967 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
968 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
969 (l_api_name,
970 G_PKG_NAME,
971 'OKC_API.G_RET_STS_UNEXP_ERROR',
972 x_msg_count,
973 x_msg_data,
974 '_PVT');
975 WHEN OTHERS THEN x_return_status :=OKC_API.HANDLE_EXCEPTIONS
976 (l_api_name,
977 G_PKG_NAME,
978 'OTHERS',
979 x_msg_count,
980 x_msg_data,
981 '_PVT');
982 END update_txl_asset_def;
983
984 PROCEDURE delete_txl_asset_def(
985 p_api_version IN NUMBER,
986 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
987 x_return_status OUT NOCOPY VARCHAR2,
988 x_msg_count OUT NOCOPY NUMBER,
989 x_msg_data OUT NOCOPY VARCHAR2,
990 p_talv_rec IN tlvv_rec_type)
991 IS
992 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_TRX_ASSETS_LINES';
993 ln_chr_id OKC_K_LINES_B.DNZ_CHR_ID%TYPE;
994 CURSOR get_chr_id(p_kle_id OKL_TXL_ASSETS_B.KLE_ID%TYPE)
995 IS
996 SELECT cle.dnz_chr_id
997 FROM okc_k_lines_b cle,
998 okl_txl_assets_b tal
999 WHERE tal.kle_id = cle.id
1000 AND tal.kle_id = p_kle_id;
1001 BEGIN
1002 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1003 -- Call start_activity to create savepoint, check compatibility
1004 -- and initialize message list
1005 x_return_status := OKC_API.START_ACTIVITY (l_api_name
1006 ,p_init_msg_list
1007 ,'_PVT'
1008 ,x_return_status);
1009 -- Check if activity started successfully
1010 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1011 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1012 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1013 RAISE OKC_API.G_EXCEPTION_ERROR;
1014 END IF;
1015 -- evaluate conditions, build outcomes for true conditions and
1016 -- put them on outcome queue
1017 OKL_TAL_PVT.delete_row(p_api_version,
1018 p_init_msg_list,
1019 x_return_status,
1020 x_msg_count,
1021 x_msg_data,
1022 p_talv_rec);
1023 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1024 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1025 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1026 RAISE OKC_API.G_EXCEPTION_ERROR;
1027 END IF;
1028 IF p_talv_rec.tal_type in ('CFA','CIB','CRB','CRL','CRV','CSP','ALI') THEN
1029 OPEN get_chr_id(p_talv_rec.kle_Id);
1030 IF get_chr_id%NOTFOUND THEN
1031 RAISE OKC_API.G_EXCEPTION_ERROR;
1032 END IF;
1033 FETCH get_chr_id INTO ln_chr_id;
1034 CLOSE get_chr_id;
1035 -- We need to change the status of the header whenever there is updating happening
1036 -- after the contract status is approved
1037 IF (ln_chr_id is NOT NULL) AND
1038 (ln_chr_id <> OKL_API.G_MISS_NUM) THEN
1039 --cascade edit status on to lines
1040 okl_contract_status_pub.cascade_lease_status_edit
1041 (p_api_version => p_api_version,
1042 p_init_msg_list => p_init_msg_list,
1043 x_return_status => x_return_status,
1044 x_msg_count => x_msg_count,
1045 x_msg_data => x_msg_data,
1046 p_chr_id => ln_chr_id);
1047 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1048 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1049 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
1050 RAISE OKC_API.G_EXCEPTION_ERROR;
1051 END IF;
1052 END IF;
1053 END IF;
1054 OKC_API.END_ACTIVITY (x_msg_count
1055 ,x_msg_data );
1056 EXCEPTION
1057 WHEN OKC_API.G_EXCEPTION_ERROR THEN
1058 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1059 (l_api_name,
1060 G_PKG_NAME,
1061 'OKC_API.G_RET_STS_ERROR',
1062 x_msg_count,
1063 x_msg_data,
1064 '_PVT');
1065 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1066 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1067 (l_api_name,
1068 G_PKG_NAME,
1069 'OKC_API.G_RET_STS_UNEXP_ERROR',
1070 x_msg_count,
1071 x_msg_data,
1072 '_PVT');
1073 WHEN OTHERS THEN x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1074 (l_api_name,
1075 G_PKG_NAME,
1076 'OTHERS',
1077 x_msg_count,
1078 x_msg_data,
1079 '_PVT');
1080 END delete_txl_asset_def;
1081
1082 PROCEDURE delete_txl_asset_def(
1083 p_api_version IN NUMBER,
1084 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
1085 x_return_status OUT NOCOPY VARCHAR2,
1086 x_msg_count OUT NOCOPY NUMBER,
1087 x_msg_data OUT NOCOPY VARCHAR2,
1088 p_talv_tbl IN tlvv_tbl_type)
1089 IS
1090 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_TRX_ASSETS_LINES';
1091 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1092 BEGIN
1093 -- Call start_activity to create savepoint, check compatibility
1094 -- and initialize message list
1095 l_return_status := OKC_API.START_ACTIVITY (l_api_name
1096 ,p_init_msg_list
1097 ,'_PVT'
1098 ,x_return_status);
1099 -- Check if activity started successfully
1100 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1101 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1102 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1103 RAISE OKC_API.G_EXCEPTION_ERROR;
1104 END IF;
1105 -- evaluate conditions, build outcomes for true conditions and
1106 -- put them on outcome queue
1107 OKL_TAL_PVT.delete_row(p_api_version,
1108 p_init_msg_list,
1109 x_return_status,
1110 x_msg_count,
1111 x_msg_data,
1112 p_talv_tbl);
1113 OKC_API.END_ACTIVITY (x_msg_count
1114 ,x_msg_data );
1115 EXCEPTION
1116 WHEN OKC_API.G_EXCEPTION_ERROR THEN
1117 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1118 (l_api_name,
1119 G_PKG_NAME,
1120 'OKC_API.G_RET_STS_ERROR',
1121 x_msg_count,
1122 x_msg_data,
1123 '_PVT');
1124 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1125 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1126 (l_api_name,
1127 G_PKG_NAME,
1128 'OKC_API.G_RET_STS_UNEXP_ERROR',
1129 x_msg_count,
1130 x_msg_data,
1131 '_PVT');
1132 WHEN OTHERS THEN x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1133 (l_api_name,
1134 G_PKG_NAME,
1135 'OTHERS',
1136 x_msg_count,
1137 x_msg_data,
1138 '_PVT');
1139 END delete_txl_asset_def;
1140
1141 PROCEDURE validate_txl_asset_def(
1142 p_api_version IN NUMBER,
1143 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
1144 x_return_status OUT NOCOPY VARCHAR2,
1145 x_msg_count OUT NOCOPY NUMBER,
1146 x_msg_data OUT NOCOPY VARCHAR2,
1147 p_talv_rec IN tlvv_rec_type)
1148 IS
1149 l_api_name CONSTANT VARCHAR2(30) := 'VALIDATE_TRX_ASSETS_LINES';
1150 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1151 BEGIN
1152 -- Call start_activity to create savepoint, check compatibility
1153 -- and initialize message list
1154 l_return_status := OKC_API.START_ACTIVITY (l_api_name
1155 ,p_init_msg_list
1156 ,'_PVT'
1157 ,x_return_status);
1158 -- Check if activity started successfully
1159 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1160 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1161 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1162 RAISE OKC_API.G_EXCEPTION_ERROR;
1163 END IF;
1164 -- evaluate conditions, build outcomes for true conditions and
1165 -- put them on outcome queue
1166 OKL_TAL_PVT.validate_row(p_api_version,
1167 p_init_msg_list,
1168 x_return_status,
1169 x_msg_count,
1170 x_msg_data,
1171 p_talv_rec);
1172 OKC_API.END_ACTIVITY (x_msg_count
1173 ,x_msg_data );
1174 EXCEPTION
1175 WHEN OKC_API.G_EXCEPTION_ERROR THEN
1176 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1177 (l_api_name,
1178 G_PKG_NAME,
1179 'OKC_API.G_RET_STS_ERROR',
1180 x_msg_count,
1181 x_msg_data,
1182 '_PVT');
1183 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1184 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1185 (l_api_name,
1186 G_PKG_NAME,
1187 'OKC_API.G_RET_STS_UNEXP_ERROR',
1188 x_msg_count,
1189 x_msg_data,
1190 '_PVT');
1191 WHEN OTHERS THEN x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1192 (l_api_name,
1193 G_PKG_NAME,
1194 'OTHERS',
1195 x_msg_count,
1196 x_msg_data,
1197 '_PVT');
1198 END validate_txl_asset_def;
1199
1200 PROCEDURE validate_txl_asset_def(
1201 p_api_version IN NUMBER,
1202 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
1203 x_return_status OUT NOCOPY VARCHAR2,
1204 x_msg_count OUT NOCOPY NUMBER,
1205 x_msg_data OUT NOCOPY VARCHAR2,
1206 p_talv_tbl IN tlvv_tbl_type)
1207 IS
1208 l_api_name CONSTANT VARCHAR2(30) := 'VALIDATE_TRX_ASSETS_LINES';
1209 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1210 BEGIN
1211 -- Call start_activity to create savepoint, check compatibility
1212 -- and initialize message list
1213 l_return_status := OKC_API.START_ACTIVITY (l_api_name
1214 ,p_init_msg_list
1215 ,'_PVT'
1216 ,x_return_status);
1217 -- Check if activity started successfully
1218 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1219 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1220 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1221 RAISE OKC_API.G_EXCEPTION_ERROR;
1222 END IF;
1223 -- evaluate conditions, build outcomes for true conditions and
1224 -- put them on outcome queue
1225 OKL_TAL_PVT.validate_row(p_api_version,
1226 p_init_msg_list,
1227 x_return_status,
1228 x_msg_count,
1229 x_msg_data,
1230 p_talv_tbl);
1231 OKC_API.END_ACTIVITY (x_msg_count
1232 ,x_msg_data );
1233 EXCEPTION
1234 WHEN OKC_API.G_EXCEPTION_ERROR THEN
1235 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1236 (l_api_name,
1237 G_PKG_NAME,
1238 'OKC_API.G_RET_STS_ERROR',
1239 x_msg_count,
1240 x_msg_data,
1241 '_PVT');
1242 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1243 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1244 (l_api_name,
1245 G_PKG_NAME,
1246 'OKC_API.G_RET_STS_UNEXP_ERROR',
1247 x_msg_count,
1248 x_msg_data,
1249 '_PVT');
1250 WHEN OTHERS THEN x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1251 (l_api_name,
1252 G_PKG_NAME,
1253 'OTHERS',
1254 x_msg_count,
1255 x_msg_data,
1256 '_PVT');
1257 END validate_txl_asset_def;
1258
1259 END OKL_TXL_ASSETS_PVT;