DBA Data[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;