[Home] [Help]
PACKAGE BODY: APPS.OKL_ST_CODE_CONVERSIONS
Source
1 PACKAGE BODY Okl_St_Code_Conversions AS
2 /* $Header: OKLRSCCB.pls 120.19 2010/08/25 00:48:44 gkadarka ship $ */
3
4 PROCEDURE CONVERT_DATE(p_date IN DATE,
5 p_date_format IN VARCHAR2,
6 x_char_date OUT NOCOPY VARCHAR2)
7 IS
8 BEGIN
9 IF p_date_format IS NOT NULL THEN
10 x_char_date := TO_CHAR(p_date,p_date_format);
11 ELSE
12 x_char_date := TO_CHAR(p_date,G_DEFAULT_DATE_FORMAT);
13 END IF;
14 EXCEPTION
15 WHEN OTHERS THEN
16 x_char_date := TO_CHAR(p_date,G_DEFAULT_DATE_FORMAT);
17 END CONVERT_DATE;
18
19 PROCEDURE TRANSLATE_COUNTRY(p_country IN VARCHAR2,
20 x_country OUT NOCOPY VARCHAR2)
21 IS
22 l_amp VARCHAR2(1) := '&';
23 BEGIN
24 IF p_country = 'US' THEN
25 x_country := 'U.S.';
26 ELSIF p_country = 'AU' THEN
27 x_country := 'Australia';
28 ELSIF p_country = 'AU' THEN
29 x_country := 'Australia';
30 ELSIF p_country = 'BE' THEN
31 x_country := 'Belgium';
32 ELSIF p_country = 'CA' THEN
33 x_country := 'Canada';
34 ELSIF p_country = 'CN' THEN
35 x_country := 'China';
36 ELSIF p_country = 'GB' THEN
37 x_country := 'United Kingdom';
38 ELSIF p_country = 'FR' THEN
39 x_country := 'France';
40 ELSIF p_country = 'DE' THEN
41 x_country := 'Germany';
42 ELSIF p_country = 'HK' THEN
43 x_country := 'Hong Kong';
44 ELSIF p_country = 'IN' THEN
45 x_country := 'India';
46 ELSIF p_country = 'ID' THEN
47 x_country := 'Indonesia';
48
49 ELSIF p_country = 'IE' THEN
50 x_country := 'Ireland';
51 ELSIF p_country = 'JP' THEN
52 x_country := 'Japan';
53 ELSIF p_country = 'MX' THEN
54 x_country := 'Mexico';
55 ELSIF p_country = 'NL' THEN
56 x_country := 'Netherlands';
57 ELSIF p_country = 'ES' THEN
58 x_country := 'Spain';
59 ELSIF p_country = 'SE' THEN
60 x_country := 'Sweden';
61 ELSIF p_country = 'CH' THEN
62 x_country := 'Switzerland';
63 ELSIF p_country = 'TH' THEN
64 x_country := 'Thailand';
65 ELSIF p_country = 'PR' THEN
66 x_country := 'Puerto Rico';
67 ELSIF p_country = 'AR' THEN
68 x_country := 'Argentina';
69 ELSIF p_country = 'SG' THEN
70 x_country := 'Singapore';
71 ELSIF p_country = 'BR' THEN
72 x_country := 'Brazil';
73 ELSIF p_country = 'DK' THEN
74 x_country := 'Denmark';
75 ELSIF p_country = 'AT' THEN
76 x_country := 'Austria';
77 ELSIF p_country = 'NO' THEN
78 x_country := 'Norway';
79 ELSIF p_country = 'FI' THEN
80 x_country := 'Finland';
81 ELSIF p_country = 'IT' THEN
82 x_country := 'Italy';
83 -- Bug 9556659
84 ELSIF p_country = 'AE' THEN
85 x_country := 'United Arab Emirates';
86 -- End Bug 9556659
87 -- Bug 9773972
88 ELSIF p_country = 'OM' THEN
89 x_country := 'Oman';
90 ELSIF p_country = 'TR' THEN
91 x_country := 'Turkey';
92 -- End Bug 9773972
93 ELSE
94 -- bug 9914011 - start
95 -- x_country := l_amp || 'lt;none' || l_amp || 'gt;';
96
97 select TERRITORY_SHORT_NAME
98 into x_country
99 from fnd_territories_vl
100 where territory_code = p_country;
101 -- bug 9914011 - end
102 END IF;
103
104 EXCEPTION
105 WHEN OTHERS THEN
106 x_country := p_country;
107 END TRANSLATE_COUNTRY;
108
109 PROCEDURE TRANSLATE_IRS_TAX_TREATMENT(p_irs_tax_treatment IN VARCHAR2,
110 x_irs_tax_treatment OUT NOCOPY VARCHAR2)
111 IS
112 BEGIN
113
114 IF p_irs_tax_treatment = 'LESSOR' THEN
115 x_irs_tax_treatment := 'Lease';
116 ELSIF p_irs_tax_treatment = 'LESSEE' THEN
117 x_irs_tax_treatment := 'CSA';
118 ELSE
119 x_irs_tax_treatment := 'Unknown';
120 END IF;
121
122 EXCEPTION
123 WHEN OTHERS THEN
124 x_irs_tax_treatment := p_irs_tax_treatment;
125 END TRANSLATE_IRS_TAX_TREATMENT;
126 -- gboomina BUG#4508077 modified the signature to include RVI_YN
127 PROCEDURE TRANSLATE_FASB_TREATMENT(p_fasb_treatment IN VARCHAR2,
128 p_rvi_yn IN VARCHAR2,
129 x_fasb_treatment OUT NOCOPY VARCHAR2)
130 IS
131 BEGIN
132 -- gboomina BUG#4508077 if RVI flag is set to yes then return blank
133 IF p_rvi_yn = G_FND_YES THEN
134 x_fasb_treatment := ' ';
135 ELSIF p_fasb_treatment = 'LEASEOP' THEN
136 x_fasb_treatment := 'Operating lease';
137 ELSIF p_fasb_treatment = 'LEASEDF' THEN
138 x_fasb_treatment := 'Capital: Single investor (DFL)';
139 ELSIF p_fasb_treatment = 'LEASEST' THEN
140 x_fasb_treatment := 'Capital: Single investor (DFL)';
141 ELSIF p_fasb_treatment = 'LOAN' THEN
142 x_fasb_treatment := 'Capital: Loan';
143 ELSE
144 x_fasb_treatment := 'not defined';
145 END IF;
146
147 EXCEPTION
148 WHEN OTHERS THEN
149 x_fasb_treatment := p_fasb_treatment;
150 END TRANSLATE_FASB_TREATMENT;
151
152 --Added by dkagrawa on 06-Oct-2005. Overloaded method added when p_rvi_yn is not passed
153 --Bug 4654549 - Start of Changes
154 PROCEDURE TRANSLATE_FASB_TREATMENT(p_fasb_treatment IN VARCHAR2,
155 x_fasb_treatment OUT NOCOPY VARCHAR2)
156 IS
157 BEGIN
158 IF p_fasb_treatment = 'LEASEOP' THEN
159 x_fasb_treatment := 'Operating lease';
160 ELSIF p_fasb_treatment = 'LEASEDF' THEN
161 x_fasb_treatment := 'Capital: Single investor (DFL)';
162 ELSIF p_fasb_treatment = 'LEASEST' THEN
163 x_fasb_treatment := 'Capital: Single investor (DFL)';
164 ELSIF p_fasb_treatment = 'LOAN' THEN
165 x_fasb_treatment := 'Capital: Loan';
166 ELSE
167 x_fasb_treatment := 'not defined';
168 END IF;
169
170 EXCEPTION
171 WHEN OTHERS THEN
172 x_fasb_treatment := p_fasb_treatment;
173 END TRANSLATE_FASB_TREATMENT;
174 --Bug 4654549 - End of Changes
175
176 PROCEDURE TRANSLATE_PURCHASE_OPTION(p_purchase_option IN VARCHAR2,
177 x_purchase_option OUT NOCOPY VARCHAR2)
178 IS
179 BEGIN
180
181 IF p_purchase_option = 'FMV' THEN
182 x_purchase_option := 'FMV';
183 ELSIF p_purchase_option = 'FPO' THEN
184 x_purchase_option := 'Fixed';
185 ELSIF p_purchase_option = 'NONE' THEN
186 x_purchase_option := 'None';
187 ELSIF p_purchase_option = '$1BO' THEN
188 x_purchase_option := 'Fixed';
189 ELSIF p_purchase_option = 'FRV' THEN
190 x_purchase_option := 'None';
191 ELSIF p_purchase_option = 'MONTHLY' THEN
192 x_purchase_option := 'None';
193 ELSE
194
195 x_purchase_option := 'None';
196 END IF;
197
198 EXCEPTION
199 WHEN OTHERS THEN
200 x_purchase_option := p_purchase_option;
201 END TRANSLATE_PURCHASE_OPTION;
202
203 PROCEDURE TRANSLATE_DEPRECIATION_METHOD(p_depreciation_method IN VARCHAR2,
204 x_depreciation_method OUT NOCOPY VARCHAR2,
205 p_term IN NUMBER,
206 x_term OUT NOCOPY VARCHAR2,
207 p_salvage IN NUMBER,
208 x_salvage OUT NOCOPY NUMBER,
209 p_adr_convention IN VARCHAR2,
210 x_adr_convention OUT NOCOPY VARCHAR2)
211 IS
212
213 CURSOR l_okl_depre_method_csr(p_id VARCHAR2)
214 IS
215 SELECT VALUE
216 FROM OKL_SGN_TRANSLATIONS
217 WHERE JTOT_OBJECT1_CODE = 'FA_METHODS'
218 AND object1_id1 = p_id;
219
220 l_id VARCHAR2(30);
221
222 l_method_strline VARCHAR2(20) := 'Str line, to end';
223 l_method_acrs3yr VARCHAR2(20) := 'ACRS 3 yr';
224 l_method_acrs5yr VARCHAR2(20) := 'ACRS 5 yr';
225 l_method_acrs10yr VARCHAR2(20) := 'ACRS 10 yr';
226 l_method_acrs15yr VARCHAR2(20) := 'ACRS 15 yr';
227 l_adr_convention VARCHAR2(100) := null;
228 BEGIN
229 IF p_depreciation_method IS NOT NULL THEN
230 l_id := p_depreciation_method;
231 OPEN l_okl_depre_method_csr(l_id);
232 FETCH l_okl_depre_method_csr INTO x_depreciation_method;
233 CLOSE l_okl_depre_method_csr;
234
235 IF x_depreciation_method IS NOT NULL THEN
236 -- Handle return value for Term
237 IF x_depreciation_method = l_method_strline OR
238 x_depreciation_method = l_method_acrs3yr OR
239 x_depreciation_method = l_method_acrs5yr OR
240 x_depreciation_method = l_method_acrs10yr OR
241 x_depreciation_method = l_method_acrs15yr
242 THEN
243 x_term := null;
244 ELSE
245 x_term := p_term/12;
246 END IF;
247
248 -- Handle return value for Salvage
249 IF x_depreciation_method = l_method_acrs3yr OR
250 x_depreciation_method = l_method_acrs5yr OR
251 x_depreciation_method = l_method_acrs10yr OR
252 x_depreciation_method = l_method_acrs15yr
253 THEN
254 x_salvage := null;
255 ELSE
256 x_salvage := p_salvage;
257 END IF;
258
259 -- Handle return value for ADR Convention
260 IF x_depreciation_method = l_method_acrs3yr OR
261 x_depreciation_method = l_method_acrs5yr OR
262 x_depreciation_method = l_method_acrs10yr OR
263 x_depreciation_method = l_method_acrs15yr
264 THEN
265 x_adr_convention := null;
266 ELSE
267 IF p_adr_convention IS NOT NULL THEN
268 TRANSLATE_DEPRE_ADRCONVENTION(p_adr_convention, l_adr_convention);
269 END IF;
270 x_adr_convention := l_adr_convention;
271 END IF;
272 END IF;
273 END IF;
274 EXCEPTION
275 WHEN OTHERS THEN
276 IF l_okl_depre_method_csr%isopen THEN
277 CLOSE l_okl_depre_method_csr;
278 END IF;
279 x_depreciation_method := p_depreciation_method;
280 x_term := p_term/12;
281 END TRANSLATE_DEPRECIATION_METHOD;
282
283 PROCEDURE TRANSLATE_DEPRE_ADRCONVENTION(p_depreciation_adrconvention IN VARCHAR2,
284 x_depreciation_adrconvention OUT NOCOPY VARCHAR2)
285 IS
286 CURSOR l_okl_depre_convention_csr(p_id VARCHAR2)
287 IS
288 SELECT VALUE
289 FROM OKL_SGN_TRANSLATIONS
290 WHERE JTOT_OBJECT1_CODE = 'FA_CONVENTION_TYPES'
291 AND object1_id1 = p_id;
292
293 l_id VARCHAR2(30);
294
295 BEGIN
296 IF p_depreciation_adrconvention IS NOT NULL THEN
297 l_id := p_depreciation_adrconvention;
298 OPEN l_okl_depre_convention_csr(l_id);
299 FETCH l_okl_depre_convention_csr INTO x_depreciation_adrconvention;
300 CLOSE l_okl_depre_convention_csr;
301 END IF;
302 EXCEPTION
303 WHEN OTHERS THEN
304 IF l_okl_depre_convention_csr%isopen THEN
305 CLOSE l_okl_depre_convention_csr;
306 END IF;
307 x_depreciation_adrconvention := p_depreciation_adrconvention;
308 END TRANSLATE_DEPRE_ADRCONVENTION;
309
310
311 PROCEDURE TRANSLATE_YN(p_yn IN VARCHAR2,
312 x_yn OUT NOCOPY VARCHAR2)
313 IS
314 BEGIN
315 IF p_yn = G_FND_YES
316 THEN
317 x_yn := G_CSM_TRUE;
318 ELSE
319 x_yn := G_CSM_FALSE;
320 END IF;
321
322 EXCEPTION
323 WHEN OTHERS THEN
324 x_yn := p_yn;
325 END TRANSLATE_YN;
326
327 PROCEDURE TRANSLATE_PERIODICITY(p_periodicity IN VARCHAR2,
328 x_periodicity OUT NOCOPY VARCHAR2)
329 IS
330 BEGIN
331 IF p_periodicity = 'A' THEN
332 x_periodicity := 'Annual';
333 ELSIF p_periodicity = 'S' THEN
334 x_periodicity := 'Semiannual';
335 ELSIF p_periodicity = 'Q' THEN
336 x_periodicity := 'Quarterly';
337 ELSIF p_periodicity = 'M' THEN
338 x_periodicity := 'Monthly';
339 ELSIF p_periodicity = 'T' THEN -- smahapat fee type soln
340 x_periodicity := 'Stub';
341 END IF;
342 EXCEPTION
343 WHEN OTHERS THEN
344 x_periodicity := p_periodicity;
345 END TRANSLATE_PERIODICITY;
346
347 PROCEDURE TRANSLATE_STRUCTURE(p_structure IN VARCHAR2,
348 x_structure OUT NOCOPY VARCHAR2)
349 IS
350 l_amp VARCHAR2(1) := '&';
351
352 BEGIN
353 IF p_structure = '1' THEN
354 x_structure := '1st ' || l_amp || ' last';
355 ELSIF p_structure = '2' THEN
356 x_structure := '1st ' || l_amp || ' last 2';
357 ELSIF p_structure = '3' THEN
358 x_structure := '1st ' || l_amp || ' last 3';
359 ELSE
360 -- by default strucutre would be null
361 -- added akjain 06-16-2002
362 x_structure := NULL ;
363 END IF;
364
365 EXCEPTION
366 WHEN OTHERS THEN
367 x_structure := p_structure;
368
369 END TRANSLATE_STRUCTURE;
370
371 PROCEDURE TRANSLATE_STREAM_TYPE(p_stream_type_name IN VARCHAR2,
372 p_sfe_type IN VARCHAR2,
373 x_stream_type_name OUT NOCOPY VARCHAR2,
374 x_stream_type_desc OUT NOCOPY VARCHAR2)
375 IS
376 BEGIN
377 -- special cases
378 IF p_stream_type_name = 'AMORTIZED FEE INCOME' AND
379 p_sfe_type = OKL_SFE_PVT.G_SFE_TYPE_ONE_OFF THEN
380 x_stream_type_name := 'Single Fee Accrual';
381 ELSIF p_stream_type_name = 'FEE INCOME' AND
382 p_sfe_type = 'SFI' THEN
383 x_stream_type_name := 'Single Periodic Income Accrual';
384 -- end special cases
385 ELSIF p_sfe_type = OKL_SFE_PVT.G_SFE_TYPE_ONE_OFF
386 OR p_stream_type_name = 'RATE PARTICIPATION'
387 OR p_stream_type_name = 'RESIDUAL VALUE INSURANCE PREMIUM' THEN
388 x_stream_type_name := 'Fee';
389
390 -- removed since no periodic expense stream is generated
391 --ELSIF p_sfe_type = OKL_SFE_PVT.G_SFE_TYPE_PERIODIC_EXPENSE THEN
392 --x_stream_type_name := 'Periodic Expenses';
393 ELSIF p_sfe_type = OKL_SFE_PVT.G_SFE_TYPE_PERIODIC_INCOME THEN
394 x_stream_type_name := 'Periodic Income';
395 ELSIF p_sfe_type = OKL_SFE_PVT.G_SFE_TYPE_SUBSIDY THEN
396 x_stream_type_name := 'Single Subsidy Accrual';
397 ELSIF p_sfe_type = OKL_SFE_PVT.G_SFE_TYPE_RENT THEN
398 x_stream_type_name := 'Rent';
399 ELSIF p_stream_type_name = 'RENT' THEN
400 x_stream_type_name := 'Rent';
401
402 ELSIF p_stream_type_name = 'PRINCIPAL BALANCE' THEN
403 x_stream_type_name := 'Lending Loans Balance';
404
405 ELSIF p_stream_type_name = 'INTEREST PAYMENT' THEN
406 x_stream_type_name := 'Lending Loans Interest';
407 ELSIF p_stream_type_name = 'PRINCIPAL PAYMENT' THEN
408 x_stream_type_name := 'Lending Loans Principal';
409 ELSIF p_stream_type_name = 'RENTAL ACCRUAL' THEN
410 --smahapat 02/12/03 bugfix# 2790764
411 --x_stream_type_name := 'GL Rent Receivable Credits';
412 x_stream_type_name := 'GL Book Rent';
413 ELSIF p_stream_type_name = 'FAS 91 FEE INCOME' THEN
414 x_stream_type_name := 'Initial Direct Costs';
415 ELSIF p_stream_type_name = 'PRE-TAX INCOME' THEN
416 --x_stream_type_name := 'GL Income Earned';
417 --smahapat fixed bug 2826926
418 x_stream_type_name := 'GL Income Recognized';
419 ELSIF p_stream_type_name = 'UNEARNED INCOME' THEN
420 x_stream_type_name := 'GL Income Unearned';
421 --x_stream_type_name := 'GL Income Recognized';
422 ELSIF p_stream_type_name = 'TERMINATION VALUE' THEN
423 x_stream_type_name := 'Termination Value';
424 ELSIF p_stream_type_name = 'STIP LOSS VALUE' THEN
425 -- modified to fix bug # 2440390
426 x_stream_type_name := 'StipLoss Value';
427 ELSIF p_stream_type_name = 'BOOK DEPRECIATION' THEN
428 x_stream_type_name := 'Book Depreciation';
429 ELSIF p_stream_type_name = 'FEDERAL DEPRECIATION' THEN
430 x_stream_type_name := 'Federal Depreciation';
431 ELSIF p_stream_type_name = 'STATE DEPRECIATION' THEN
432 x_stream_type_name := 'State Depreciation';
433 -- mvasudev, 07/18/2002
434 ELSIF p_stream_type_name = 'LOAN PAYMENT' THEN
435 x_stream_type_name := 'Lending Loans Debt Service';
436 -- smahapat 02/14/2003 bugfix# 2790695
437 ELSIF p_stream_type_name = 'FEE INCOME' THEN
438 x_stream_type_name := 'Single Periodic Income Accrual';
439 --ELSIF p_stream_type_name = 'AMORTIZED FEE INCOME' THEN
440 --x_stream_type_name := 'Single Fee Accrual';
441 ELSIF p_stream_type_name = 'INTEREST INCOME' THEN
442 x_stream_type_name := 'Single Lending Loan Accrual';
443 ELSIF p_stream_type_name = 'PERIODIC EXPENSE PAYABLE' THEN
444 x_stream_type_name := 'Single Periodic Expense Accrual';
445 -- smahapat fee type solution
446 ELSIF p_stream_type_name = 'SECURITY DEPOSIT' THEN
447 x_stream_type_name := 'Security Deposits';
448 ELSE
449 x_stream_type_name := p_stream_type_name;
450 END IF;
451
452 IF p_stream_type_name = 'RESIDUAL VALUE INSURANCE PREMIUM' THEN
453 x_stream_type_desc := 'Residual Insurance Premium';
454 ELSE
455 x_stream_type_desc := p_stream_type_name;
456 END IF;
457
458 EXCEPTION
459 WHEN OTHERS THEN
460 x_stream_type_name := p_stream_type_name;
461 x_stream_type_desc := p_stream_type_name;
462
463 END TRANSLATE_STREAM_TYPE;
464
465 PROCEDURE TRANSLATE_STREAM_TYPE(p_stream_type_name IN VARCHAR2,
466 p_sfe_type IN VARCHAR2,
467 p_sil_type IN VARCHAR2,
468 x_stream_type_name OUT NOCOPY VARCHAR2,
469 x_stream_type_desc OUT NOCOPY VARCHAR2)
470 IS
471 BEGIN
472 -- special cases
473 IF p_stream_type_name = 'AMORTIZED FEE INCOME' AND
474 p_sfe_type = OKL_SFE_PVT.G_SFE_TYPE_ONE_OFF THEN
475 x_stream_type_name := 'Single Fee Accrual';
476 ELSIF p_stream_type_name = 'FEE INCOME' AND
477 p_sfe_type = OKL_SFE_PVT.G_SFE_TYPE_PERIODIC_INCOME THEN
478 x_stream_type_name := 'Single Periodic Income Accrual';
479 ELSIF p_stream_type_name = 'PRE-TAX INCOME' AND
480 p_sil_type = OKL_SIL_PVT.G_SIL_TYPE_LEASE THEN
481 x_stream_type_name := 'Single Rent Accrual';
482 ELSIF p_stream_type_name = 'PRE-TAX INCOME' THEN
483 x_stream_type_name := 'Single Lending Loan Accrual';
484 -- end special cases
485 ELSIF p_sfe_type = OKL_SFE_PVT.G_SFE_TYPE_ONE_OFF
486 OR p_stream_type_name = 'RATE PARTICIPATION'
487 OR p_stream_type_name = 'RESIDUAL VALUE INSURANCE PREMIUM' THEN
488 x_stream_type_name := 'Fee';
489
490 -- removed since no periodic expense stream is generated
491 --ELSIF p_sfe_type = OKL_SFE_PVT.G_SFE_TYPE_PERIODIC_EXPENSE THEN
492 --x_stream_type_name := 'Periodic Expenses';
493 ELSIF p_sfe_type = OKL_SFE_PVT.G_SFE_TYPE_PERIODIC_INCOME THEN
494 x_stream_type_name := 'Periodic Income';
495 ELSIF p_sfe_type = OKL_SFE_PVT.G_SFE_TYPE_SUBSIDY THEN
496 x_stream_type_name := 'Single Subsidy Accrual';
497 ELSIF p_sfe_type = OKL_SFE_PVT.G_SFE_TYPE_RENT THEN
498 x_stream_type_name := 'Rent';
499 ELSIF p_stream_type_name = 'RENT' THEN
500 x_stream_type_name := 'Rent';
501
502 ELSIF p_stream_type_name = 'PRINCIPAL BALANCE' THEN
503 x_stream_type_name := 'Lending Loans Balance';
504
505 ELSIF p_stream_type_name = 'INTEREST PAYMENT' THEN
506 x_stream_type_name := 'Lending Loans Interest';
507 ELSIF p_stream_type_name = 'PRINCIPAL PAYMENT' THEN
508 x_stream_type_name := 'Lending Loans Principal';
509 ELSIF p_stream_type_name = 'RENTAL ACCRUAL' THEN
510 --smahapat 02/12/03 bugfix# 2790764
511 --x_stream_type_name := 'GL Rent Receivable Credits';
512 x_stream_type_name := 'Single Rent Accrual';
513 ELSIF p_stream_type_name = 'FAS 91 FEE INCOME' THEN
514 x_stream_type_name := 'Initial Direct Costs';
515 ELSIF p_stream_type_name = 'UNEARNED INCOME' THEN
516 x_stream_type_name := 'GL Income Unearned';
517 --x_stream_type_name := 'GL Income Recognized';
518 ELSIF p_stream_type_name = 'TERMINATION VALUE' THEN
519 x_stream_type_name := 'Termination Value';
520 ELSIF p_stream_type_name = 'STIP LOSS VALUE' THEN
521 -- modified to fix bug # 2440390
522 x_stream_type_name := 'StipLoss Value';
523 ELSIF p_stream_type_name = 'BOOK DEPRECIATION' THEN
524 x_stream_type_name := 'Book Depreciation';
525 ELSIF p_stream_type_name = 'FEDERAL DEPRECIATION' THEN
526 x_stream_type_name := 'Federal Depreciation';
527 ELSIF p_stream_type_name = 'STATE DEPRECIATION' THEN
528 x_stream_type_name := 'State Depreciation';
529 -- mvasudev, 07/18/2002
530 ELSIF p_stream_type_name = 'LOAN PAYMENT' THEN
531 x_stream_type_name := 'Lending Loans Debt Service';
532 -- smahapat 02/14/2003 bugfix# 2790695
533 ELSIF p_stream_type_name = 'FEE INCOME' THEN
534 x_stream_type_name := 'Single Periodic Income Accrual';
535 --ELSIF p_stream_type_name = 'AMORTIZED FEE INCOME' THEN
536 --x_stream_type_name := 'Single Fee Accrual';
537 ELSIF p_stream_type_name = 'INTEREST INCOME' THEN
538 x_stream_type_name := 'Single Lending Loan Accrual';
539 ELSIF p_stream_type_name = 'PERIODIC EXPENSE PAYABLE' THEN
540 x_stream_type_name := 'Single Periodic Expense Accrual';
541 -- smahapat fee type solution
542 ELSIF p_stream_type_name = 'SECURITY DEPOSIT' THEN
543 x_stream_type_name := 'Security Deposits';
544 ELSE
545 x_stream_type_name := p_stream_type_name;
546 END IF;
547
548 IF p_stream_type_name = 'RESIDUAL VALUE INSURANCE PREMIUM' THEN
549 x_stream_type_desc := 'Residual Insurance Premium';
550 ELSE
551 x_stream_type_desc := p_stream_type_name;
552 END IF;
553
554 EXCEPTION
555 WHEN OTHERS THEN
556 x_stream_type_name := p_stream_type_name;
557 x_stream_type_desc := p_stream_type_name;
558
559 END TRANSLATE_STREAM_TYPE;
560
561 PROCEDURE REVERSE_TRANSLATE_STREAM_TYPE(p_stream_type_name IN VARCHAR2,
562 p_stream_type_desc IN VARCHAR2,
563 x_stream_type_name OUT NOCOPY VARCHAR2)
564 IS
565 BEGIN
566
567 IF p_stream_type_name = 'Fee'
568 OR p_stream_type_name = 'Periodic Expenses'
569 OR p_stream_type_name = 'Periodic Income' THEN
570 x_stream_type_name := p_stream_type_desc;
571 ELSIF p_stream_type_name = 'RENT' THEN
572 x_stream_type_name := 'Rent';
573 ELSIF p_stream_type_name = 'Lending Loans Balance' THEN
574 x_stream_type_name := 'PRINCIPAL BALANCE';
575 ELSIF p_stream_type_name = 'Lending Loans Interest' THEN
576 x_stream_type_name := 'INTEREST PAYMENT';
577 ELSIF p_stream_type_name = 'Lending Loans Principal' THEN
578 x_stream_type_name := 'PRINCIPAL PAYMENT';
579 --ELSIF p_stream_type_name = 'GL Rent Receivable Credits' THEN
580 --smahapat 02/12/03 bugfix# 2790764
581 ELSIF p_stream_type_name = 'GL Book Rent' THEN
582 x_stream_type_name := 'RENTAL ACCRUAL';
583 ELSIF p_stream_type_name = 'Initial Direct Costs' THEN
584 x_stream_type_name := 'FAS 91 FEE INCOME';
585 --ELSIF p_stream_type_name = 'GL Income Earned' THEN
586 --smahapat fixed bug 2826926
587 ELSIF p_stream_type_name = 'GL Income Recognized' THEN
588 x_stream_type_name := 'PRE-TAX INCOME';
589 ELSIF p_stream_type_name = 'GL Income Unearned' THEN
590 -- modified to fix bug # 2449592
591 --ELSIF p_stream_type_name = 'GL Income Recognized' THEN
592 x_stream_type_name := 'UNEARNED INCOME';
593 ELSIF p_stream_type_name = 'Termination Value' THEN
594 x_stream_type_name := 'TERMINATION VALUE';
595 ELSIF p_stream_type_name = 'StipLoss Value' THEN
596 -- modified to fix bug # 2440390
597 x_stream_type_name := 'STIP LOSS VALUE';
598 ELSIF p_stream_type_name = 'Book Depreciation' THEN
599 x_stream_type_name := 'BOOK DEPRECIATION';
600 ELSIF p_stream_type_name = 'Federal Depreciation' THEN
601 x_stream_type_name := 'FEDERAL DEPRECIATION';
602
603 ELSIF p_stream_type_name = 'State Depreciation' THEN
604 x_stream_type_name := 'STATE DEPRECIATION';
605 -- smahapat 02/14/2003 bugfix# 2790695
606 ELSIF p_stream_type_name = 'GL Book Periodic Income' THEN
607 x_stream_type_name := 'FEE INCOME';
608 ELSIF p_stream_type_name = 'GL Book Periodic Expenses' THEN
609 x_stream_type_name := 'PERIODIC EXPENSE PAYABLE';
610 -- smahapat fee type solution
611 ELSIF p_stream_type_name = 'Security Deposits' THEN
612 x_stream_type_name := 'SECURITY DEPOSIT';
613 ELSE
614 x_stream_type_name := p_stream_type_name;
615 END IF;
616
617 EXCEPTION
618 WHEN OTHERS THEN
619 x_stream_type_name := p_stream_type_name;
620
621 END REVERSE_TRANSLATE_STREAM_TYPE;
622
623 PROCEDURE TRANSLATE_ADVANCE_ARREARS(p_advance_arrears IN VARCHAR2,
624 x_advance_arrears OUT NOCOPY VARCHAR2)
625 IS
626 BEGIN
627 IF p_advance_arrears = G_ADVANCE THEN
628 x_advance_arrears := G_CSM_TRUE;
629 ELSIF p_advance_arrears = G_ARREARS THEN
630 x_advance_arrears := G_CSM_FALSE;
631 ELSE
632 x_advance_arrears := G_CSM_FALSE;
633 END IF;
634 EXCEPTION
635 WHEN OTHERS THEN
636 x_advance_arrears := p_advance_arrears;
637
638 END TRANSLATE_ADVANCE_ARREARS;
639
640 PROCEDURE TRANSLATE_INCOME_EXPENSE(p_income_expense IN VARCHAR2,
641 x_income_expense OUT NOCOPY VARCHAR2)
642 IS
643 BEGIN
644 IF p_income_expense = G_EXPENSE THEN
645 x_income_expense := G_CSM_TRUE;
646 ELSIF p_income_expense = G_INCOME THEN
647 x_income_expense := G_CSM_FALSE;
648 ELSE
649 x_income_expense := G_CSM_FALSE;
650 END IF;
651 EXCEPTION
652 WHEN OTHERS THEN
653 x_income_expense := p_income_expense;
654
655 END TRANSLATE_INCOME_EXPENSE;
656
657 PROCEDURE TRANSLATE_PERCENTAGE(p_percentage IN NUMBER,
658 x_ratio OUT NOCOPY VARCHAR2)
659 IS
660 BEGIN
661 IF p_percentage IS NOT NULL THEN
662 x_ratio := TO_CHAR(p_percentage/100);
663 ELSE
664 x_ratio := TO_CHAR(p_percentage);
665 END IF;
666 EXCEPTION
667 WHEN OTHERS THEN
668 x_ratio := TO_CHAR(p_percentage);
669 END TRANSLATE_PERCENTAGE;
670
671 PROCEDURE TRANSLATE_LOCK_LEVEL_STEP(p_lock_level_step IN VARCHAR2,
672 x_lock_amount OUT NOCOPY VARCHAR2,
673 x_lock_rate OUT NOCOPY VARCHAR2)
674 IS
675 BEGIN
676 IF p_lock_level_step = G_LOCK_AMOUNT THEN
677 x_lock_amount := G_CSM_TRUE;
678 x_lock_rate := G_CSM_FALSE;
679 ELSIF p_lock_level_step = G_LOCK_RATE THEN
680 x_lock_rate := G_CSM_TRUE;
681 x_lock_amount := G_CSM_FALSE;
682 ELSIF p_lock_level_step = G_LOCK_BOTH THEN
683 x_lock_amount := G_CSM_TRUE;
684 x_lock_rate := G_CSM_TRUE;
685 ELSE
686 x_lock_amount := p_lock_level_step;
687 x_lock_rate := p_lock_level_step;
688 END IF;
689
690 EXCEPTION
691 WHEN OTHERS THEN
692 x_lock_amount := p_lock_level_step;
693 x_lock_rate := p_lock_level_step;
694
695 END TRANSLATE_LOCK_LEVEL_STEP;
696
697 PROCEDURE TRANSLATE_MODE(p_mode IN VARCHAR2,
698 x_mode OUT NOCOPY VARCHAR2)
699 IS
700 BEGIN
701 IF p_mode = G_MODE_LESSOR THEN
702
703 x_mode := 'Lessor';
704 ELSIF p_mode = G_MODE_LENDER THEN
705 x_mode := 'Lender';
706 ELSIF p_mode = G_MODE_BOTH THEN
707 x_mode := 'Both';
708 ELSE
709 x_mode := p_mode;
710 END IF;
711 EXCEPTION
712 WHEN OTHERS THEN
713 x_mode := p_mode;
714
715 END TRANSLATE_MODE;
716
717 PROCEDURE TRANSLATE_FEE_LEVEL_TYPE(p_fee_level_type IN VARCHAR2,
718 x_fee_level_type OUT NOCOPY VARCHAR2)
719 IS
720 BEGIN
721 IF p_fee_level_type = G_SFE_LEVEL_PAYMENT THEN
722 x_fee_level_type := 'Payment';
723 ELSIF p_fee_level_type = G_SFE_LEVEL_FUNDING THEN
724 x_fee_level_type := 'Funding';
725 ELSIF p_fee_level_type = G_SFE_LEVEL_INTEREST THEN
726 x_fee_level_type := 'Interest ONLY';
727 ELSIF p_fee_level_type = G_SFE_LEVEL_PRINCIPAL THEN
728 x_fee_level_type := 'Principal';
729 END IF;
730 EXCEPTION
731 WHEN OTHERS THEN
732 x_fee_level_type := p_fee_level_type;
733 END TRANSLATE_FEE_LEVEL_TYPE;
734
735 PROCEDURE REVERSE_TRANSLATE_YN(p_yn IN VARCHAR2,
736 x_yn OUT NOCOPY VARCHAR2)
737 IS
738 BEGIN
739 IF p_yn = G_CSM_TRUE
740 THEN
741 x_yn := G_FND_YES;
742 ELSIF p_yn = G_CSM_FALSE
743 THEN
744 x_yn := G_FND_NO;
745 END IF;
746
747 EXCEPTION
748 WHEN OTHERS THEN
749 x_yn := p_yn;
750 END REVERSE_TRANSLATE_YN;
751
752 PROCEDURE REVERSE_TRANSLATE_PERIODICITY(p_periodicity IN VARCHAR2,
753 x_periodicity OUT NOCOPY VARCHAR2)
754 IS
755 BEGIN
756 IF p_periodicity = 'Annual' THEN
757 x_periodicity := 'A';
758 ELSIF p_periodicity = 'Semiannual' THEN
759 x_periodicity := 'S';
760 ELSIF p_periodicity = 'Quarterly' THEN
761 x_periodicity := 'Q';
762 ELSIF p_periodicity = 'Monthly' THEN
763 x_periodicity := 'M';
764 ELSIF p_periodicity = 'Stub' THEN -- smahapat fee type soln
765 x_periodicity := 'T';
766 END IF;
767 EXCEPTION
768 WHEN OTHERS THEN
769 x_periodicity := p_periodicity;
770 END REVERSE_TRANSLATE_PERIODICITY;
771
772 PROCEDURE TRANSLATE_NEPA(p_nominal_yn IN VARCHAR2,
773 p_pre_tax_yn IN VARCHAR2,
774 x_nepa OUT NOCOPY VARCHAR2)
775 IS
776 BEGIN
777 IF p_nominal_yn = G_FND_YES THEN
778 IF p_pre_tax_yn = G_FND_YES THEN
779 x_nepa := 'Pre-tax nominal';
780 ELSIF p_pre_tax_yn = G_FND_NO THEN
781 x_nepa := 'After-tax nominal';
782 ELSE
783 x_nepa := p_pre_tax_yn;
784 END IF;
785 ELSIF p_nominal_yn = G_FND_NO THEN
786 IF p_pre_tax_yn = G_FND_YES THEN
787 x_nepa := 'Pre-tax effective';
788 ELSIF p_pre_tax_yn = G_FND_NO THEN
789 x_nepa := 'After-tax effective';
790 ELSE
791 x_nepa := p_pre_tax_yn;
792 END IF;
793 ELSE
794 x_nepa := p_nominal_yn;
795 END IF;
796 EXCEPTION
797 WHEN OTHERS THEN
798 x_nepa := p_nominal_yn;
799 END TRANSLATE_NEPA;
800
801 PROCEDURE TRANSLATE_LOCK_LEVEL_LNSTEP(p_level_type IN VARCHAR2,
802
803 p_lock_level_step IN VARCHAR2,
804 x_lock_amount OUT NOCOPY VARCHAR2,
805 x_lock_rate OUT NOCOPY VARCHAR2)
806 IS
807 l_lock_amount VARCHAR2(10);
808 l_lock_rate VARCHAR2(10);
809 BEGIN
810 IF (p_level_type = G_SFE_LEVEL_FUNDING OR p_level_type = 'Funding' ) THEN
811 x_lock_amount := NULL;
812 x_lock_rate := NULL;
813 ELSE
814 TRANSLATE_LOCK_LEVEL_STEP(p_lock_level_step, l_lock_amount, l_lock_rate);
815 x_lock_amount := l_lock_amount;
816 x_lock_rate := l_lock_rate;
817 END IF;
818
819 EXCEPTION
820 WHEN OTHERS THEN
821 x_lock_amount := G_CSM_TRUE;
822 x_lock_rate := G_CSM_FALSE;
823
824 END TRANSLATE_LOCK_LEVEL_LNSTEP;
825
826 PROCEDURE TRANSLATE_SIY_TYPE(p_siy_type IN VARCHAR2,
827 x_siy_type OUT NOCOPY VARCHAR2)
828 IS
829 BEGIN
830 IF p_siy_type = OKL_SIY_PVT.G_SIY_TYPE_YIELD THEN
831 x_siy_type := 'Yield';
832 ELSIF p_siy_type = OKL_SIY_PVT.G_SIY_TYPE_INTEREST_RATE THEN
833 x_siy_type := 'Rates full/base term';
834 END IF;
835 EXCEPTION
836 WHEN OTHERS THEN
837 x_siy_type := p_siy_type;
838 END TRANSLATE_SIY_TYPE;
839
840 PROCEDURE TRANSLATE_GUARANTEE_TYPE(p_guarantee_type IN VARCHAR2,
841 x_guarantee_type OUT NOCOPY VARCHAR2)
842 IS
843 BEGIN
844 IF p_guarantee_type = 'Lessee' or p_guarantee_type = 'LESSEE' THEN
845 x_guarantee_type := 'Lessee';
846 ELSIF p_guarantee_type = 'Other' or p_guarantee_type = 'OTHER' THEN
847 x_guarantee_type := 'Third Party';
848 ELSIF p_guarantee_type = 'Vendor' or p_guarantee_type = 'VENDOR' THEN
849 x_guarantee_type := 'Third Party';
850 ELSIF p_guarantee_type = 'NONE' THEN
851 x_guarantee_type := 'Unguaranteed';
852 END IF;
853 EXCEPTION
854 WHEN OTHERS THEN
855 x_guarantee_type := p_guarantee_type;
856 END TRANSLATE_GUARANTEE_TYPE;
857
858 PROCEDURE TRANSLATE_STATISTIC_INDEX(p_target_type IN VARCHAR2,
859 p_statistic_index IN VARCHAR2,
860 x_statistic_index OUT NOCOPY VARCHAR2)
861 IS
862 l_target_type VARCHAR2(3) := 'INT';
863 BEGIN
864 fnd_file.put_line(fnd_file.log, 'st code conversion tarfet type '||p_target_type);
865 fnd_file.put_line(fnd_file.log, 'st code conversion p_statistic_index '||p_statistic_index);
866 IF p_target_type = l_target_type THEN
867 fnd_file.put_line(fnd_file.log, 'st code conversion set stat to 1 ');
868 x_statistic_index := '1';
869 ELSE
870 x_statistic_index := p_statistic_index;
871 END IF;
872 fnd_file.put_line(fnd_file.log, 'st code conversion x_statistic_index '||x_statistic_index);
873 EXCEPTION
874 WHEN OTHERS THEN
875 x_statistic_index := p_statistic_index;
876 END TRANSLATE_STATISTIC_INDEX;
877
878 --New Procedure Added to determine mode.
879
880 PROCEDURE Get_mode (p_transaction_number In NUMBER,
881 x_mode out NOCOPY VARCHAR2)
882 IS
883 CURSOR Get_mode_csr(cp_transaction_no NUMBER )
884 IS
885 SELECT
886 sfe.deal_type,sil.sil_type
887 FROM okl_stream_interfaces_v sfe,
888 okl_sif_lines_v sil
889 WHERE transaction_number = cp_transaction_no
890 AND sil.sif_id = sfe.id;
891
892 BEGIN
893 FOR l_get_mode_rec in Get_mode_csr(p_transaction_number)
894 LOOP
895 IF l_get_mode_rec.deal_type = 'LSBO' THEN
896 IF l_get_mode_rec.sil_type = 'SGN'
897 THEN
898 x_mode := 'Both';
899 ELSE
900 x_mode := 'Lessor';
901 END IF;
902
903 ELSIF l_get_mode_rec.deal_type = 'LNBO' THEN
904 x_mode := 'Lender';
905 END IF;
906 END LOOP;
907 END Get_mode;
908
909
910 --New Procedure Added to FundingAndRate.
911
912 PROCEDURE SET_FUNDINGANDRATE (p_transaction_number In NUMBER,
913 p_fee_index In NUMBER,
914 x_FundingAndRate out NOCOPY VARCHAR2)
915 IS
916 CURSOR Set_FundingAndRate_csr(cp_transaction_no NUMBER,
917 cp_fee_index NUMBER
918 )
919 IS
920 SELECT
921 AMOUNT
922 FROM
923 OKL_SIF_FEES SFEB,
924 OKL_STREAM_INTERFACES SIFB
925 WHERE
926 SFEB.SIF_ID = SIFB.ID AND
927 SFEB.SFE_TYPE = 'SFR' AND
928 SFEB.FEE_INDEX_NUMBER = cp_fee_index AND
929 SIFB.transaction_number = cp_transaction_no;
930
931 BEGIN
932 FOR l_FundingAndRate_rec in Set_FundingAndRate_csr(p_transaction_number,p_fee_index)
933 LOOP
934 IF l_FundingAndRate_rec.amount = 0 THEN
935 x_FundingAndRate := 'true';
936 END IF;
937 END LOOP;
938 END SET_FUNDINGANDRATE;
939
940 --Added by kthriuva for the VR build
941 --This method fetches the balance method that needs to be used for the Balance Tag
942 PROCEDURE get_balance_method(p_transaction_number IN NUMBER,
943 x_balance_method OUT NOCOPY VARCHAR2)
944 IS
945
946 CURSOR get_bal_meth_csr(p_trx_number IN NUMBER)
947 IS
948 SELECT FEES.BALANCE_TYPE_CODE
949 FROM OKL_SIF_FEES_V FEES,
950 OKL_STREAM_INTERFACES SIF
951 WHERE SIF.TRANSACTION_NUMBER = p_trx_number
952 AND SIF.ID = FEES.SIF_ID
953 AND FEES.BALANCE_TYPE_CODE IS NOT NULL;
954
955 l_balance_method okl_sif_fees.balance_type_code%TYPE;
956
957 BEGIN
958
959 OPEN get_bal_meth_csr(p_transaction_number);
960 FETCH get_bal_meth_csr INTO l_balance_method;
961 CLOSE get_bal_meth_csr;
962
963 IF l_balance_method = G_BALANCE_TERM THEN
964 x_balance_method := 'Term';
965 ELSIF l_balance_method = G_BALANCE_PAYMENT THEN
966 x_balance_method := 'Payments';
967 ELSIF l_balance_method = G_BALANCE_FUNDING THEN
968 x_balance_method := 'Funding';
969 ELSIF l_balance_method = G_BALANCE_RATE THEN
970 x_balance_method := 'Rate';
971 ELSE x_balance_method := 'None';
972 END IF;
973
974 END get_balance_method;
975
976 --This method converts the date but returns the date only in the case of
977 --stubs and when the payment type is funding
978 --For periodic payments End Accrual date is not required
979 PROCEDURE CONVERT_DATE_RESTRUCT(p_date IN DATE,
980 p_date_format IN VARCHAR2,
981 p_type IN VARCHAR2,
982 p_periodicity IN VARCHAR2,
983 x_char_date OUT NOCOPY VARCHAR2)
984 IS
985 BEGIN
986 IF (p_periodicity = 'Stub') OR (p_type = 'Funding') THEN
987 IF p_date_format IS NOT NULL THEN
988 x_char_date := TO_CHAR(p_date,p_date_format);
989 ELSE
990 x_char_date := TO_CHAR(p_date,G_DEFAULT_DATE_FORMAT);
991 END IF;
992 ELSE
993 x_char_date := null ;
994 END IF;
995 EXCEPTION
996 WHEN OTHERS THEN
997 x_char_date := TO_CHAR(p_date,G_DEFAULT_DATE_FORMAT);
998 END CONVERT_DATE_RESTRUCT;
999 --kthriuva - End of Changes for VR build
1000
1001 -- gboomina BUG#4508077 procedure to set the description
1002 -- for fee with purpose code as RVI
1003 PROCEDURE SET_RVI_FEE_DESCRIPTION(p_kle_id IN NUMBER,
1004 p_description IN VARCHAR2,
1005 x_description OUT NOCOPY VARCHAR2)
1006 IS
1007 -- cursor to fetch the fee purpose code
1008 CURSOR get_fee_purpose_csr(p_fee_line_id IN NUMBER) IS
1009 SELECT fee_purpose_code
1010 FROM OKL_K_LINES
1011 WHERE ID = p_fee_line_id;
1012 BEGIN
1013 -- assign the value passed
1014 x_description := p_description;
1015 IF(p_kle_id IS NOT NULL) THEN
1016 -- fetch the purpose code for the fee line
1017 FOR l_fee_purpose_rec IN get_fee_purpose_csr(p_fee_line_id => p_kle_id)
1018 LOOP
1019 -- if purpose code is RVI then update the description as Residual Insurance Premium
1020 IF(l_fee_purpose_rec.fee_purpose_code = 'RVI') THEN
1021 x_description := 'Residual Insurance Premium';
1022 END IF;
1023 END LOOP;
1024 END IF;
1025 END SET_RVI_FEE_DESCRIPTION;
1026
1027 --Added by kthiruva on 11-Nov-2005 for the VR build
1028 --Bug 4726209 - Start of Changes
1029 --The value of the <IsAdvance> tag is passed to this procedure
1030 --When IsAdvance is false, the payment is in Arrears and a value
1031 --'Y' needs to be returned. Else a value 'N' should be returned
1032 PROCEDURE REVERSE_TRANSLATE_ADV_OR_ARR (p_yn IN VARCHAR2,
1033 x_yn OUT NOCOPY VARCHAR2)
1034 IS
1035 BEGIN
1036 IF p_yn = G_CSM_TRUE
1037 THEN
1038 x_yn := G_FND_NO;
1039 ELSIF p_yn = G_CSM_FALSE
1040 THEN
1041 x_yn := G_FND_YES;
1042 END IF;
1043 END REVERSE_TRANSLATE_ADV_OR_ARR;
1044 --Bug 4726209 - End of Changes
1045
1046 --Added by kthiruva on 19-Apr-2006 to determine if a Paydown has been made on a contract
1047 --Bug 5161075 - Start of Changes
1048 PROCEDURE IS_PPD_AVAILABLE(p_trx_number IN NUMBER,
1049 x_yn OUT NOCOPY VARCHAR2)
1050 IS
1051 CURSOR get_contract_id_csr(p_trx_number NUMBER)
1052 IS
1053 SELECT KHR_ID
1054 FROM OKL_STREAM_INTERFACES
1055 WHERE TRANSACTION_NUMBER = p_trx_number;
1056
1057 --This cursor determines whether there have been any Paydowns on this Contract
1058 CURSOR is_ppd_available_csr(chrId NUMBER)
1059 IS
1060 SELECT count(crl.id)
1061 FROM okc_rule_groups_b crg,
1062 okc_rules_b crl,
1063 okl_strm_type_v sty
1064 WHERE crl.rgp_id = crg.id
1065 AND crg.rgd_code = 'LALEVL'
1066 AND crl.rule_information_category = 'LASLH'
1067 AND crg.dnz_chr_id = chrId
1068 AND crl.object1_id1 = sty.id
1069 AND sty.stream_type_purpose = 'UNSCHEDULED_PRINCIPAL_PAYMENT'
1070 ORDER BY crl.rule_information1;
1071
1072 l_ppd_count NUMBER := 0;
1073 l_khr_id NUMBER;
1074
1075
1076 BEGIN
1077 OPEN get_contract_id_csr(p_trx_number);
1078 FETCH get_contract_id_csr INTO l_khr_id;
1079 CLOSE get_contract_id_csr;
1080
1081 IF l_khr_id is NOT NULL THEN
1082 OPEN is_ppd_available_csr(l_khr_id);
1083 FETCH is_ppd_available_csr INTO l_ppd_count;
1084 CLOSE is_ppd_available_csr;
1085 END IF;
1086
1087 IF l_ppd_count > 0 THEN
1088 x_yn := 'false';
1089 ELSE
1090 x_yn := 'true';
1091 END IF;
1092 END IS_PPD_AVAILABLE;
1093 --Bug 5161075 - End of Changes
1094
1095 --Added by rbanerje on 03-Oct-2008 to return the decimal separator in the number format
1096 --Bug 6085025 - Start of Changes
1097 PROCEDURE get_decimal_separator ( x_seperator OUT NOCOPY VARCHAR2 )
1098 IS
1099 BEGIN
1100 x_seperator := SUBSTR(fnd_global.nls_numeric_characters, 1,1);
1101 END get_decimal_separator;
1102 --Bug 6085025 - End of Changes
1103
1104 END Okl_St_Code_Conversions;