34: l_amount NUMBER;
35: l_interest_amount NUMBER;
36:
37: --start code pgomes 12/18/2002
38: l_func_currency okl_k_headers_full_v.currency_code%TYPE := okl_accounting_util.get_func_curr_code;
39: l_contract_currency okl_k_headers_full_v.currency_code%TYPE;
40: l_prev_contract_currency okl_k_headers_full_v.currency_code%TYPE;
41: l_late_policy okl_late_policies_v.name%TYPE;
42: l_prev_late_policy okl_late_policies_v.name%TYPE;
440: LOOP
441: --start code pgomes 12/18/2002
442: IF (l_func_currency <> NVL(l_contract_currency, '000')) THEN
443: --convert minimum_late_interest to contract currency
444: OKL_ACCOUNTING_UTIL.convert_to_contract_currency(
445: p_khr_id => l_khr_id,
446: p_from_currency => l_func_currency,
447: p_transaction_date => sysdate,
448: p_amount => l_lpo_cur.minimum_late_interest,
451: x_currency_conversion_rate => l_currency_conversion_rate,
452: x_currency_conversion_date => l_currency_conversion_date,
453: x_converted_amount => l_minimum_late_interest);
454:
455: l_minimum_late_interest := OKL_ACCOUNTING_UTIL.cross_currency_round_amount(l_minimum_late_interest, l_contract_currency);
456:
457: --convert maximum_late_interest to contract currency
458: OKL_ACCOUNTING_UTIL.convert_to_contract_currency(
459: p_khr_id => l_khr_id,
454:
455: l_minimum_late_interest := OKL_ACCOUNTING_UTIL.cross_currency_round_amount(l_minimum_late_interest, l_contract_currency);
456:
457: --convert maximum_late_interest to contract currency
458: OKL_ACCOUNTING_UTIL.convert_to_contract_currency(
459: p_khr_id => l_khr_id,
460: p_from_currency => l_func_currency,
461: p_transaction_date => sysdate,
462: p_amount => l_lpo_cur.maximum_late_interest,
465: x_currency_conversion_rate => l_currency_conversion_rate,
466: x_currency_conversion_date => l_currency_conversion_date,
467: x_converted_amount => l_maximum_late_interest);
468:
469: l_maximum_late_interest := OKL_ACCOUNTING_UTIL.cross_currency_round_amount(l_maximum_late_interest, l_contract_currency);
470:
471: --convert late_int_minimum_balance to contract currency
472: OKL_ACCOUNTING_UTIL.convert_to_contract_currency(
473: p_khr_id => l_khr_id,
468:
469: l_maximum_late_interest := OKL_ACCOUNTING_UTIL.cross_currency_round_amount(l_maximum_late_interest, l_contract_currency);
470:
471: --convert late_int_minimum_balance to contract currency
472: OKL_ACCOUNTING_UTIL.convert_to_contract_currency(
473: p_khr_id => l_khr_id,
474: p_from_currency => l_func_currency,
475: p_transaction_date => sysdate,
476: p_amount => l_lpo_cur.late_int_minimum_balance,
479: x_currency_conversion_rate => l_currency_conversion_rate,
480: x_currency_conversion_date => l_currency_conversion_date,
481: x_converted_amount => l_late_int_minimum_balance);
482:
483: l_late_int_minimum_balance := OKL_ACCOUNTING_UTIL.cross_currency_round_amount(l_late_int_minimum_balance, l_contract_currency);
484: ELSE
485: l_minimum_late_interest := l_lpo_cur.minimum_late_interest;
486: l_maximum_late_interest := l_lpo_cur.maximum_late_interest;
487: l_late_int_minimum_balance := l_lpo_cur.late_int_minimum_balance;
526:
527: IF(l_late_int_fixed_yn = 'Y') THEN
528: FND_FILE.PUT_LINE (FND_FILE.OUTPUT, ' -- Fixed: Interest rate applied => '||(l_late_int_rate+l_adder_rate));
529: l_amount := ((l_amt_applied*(l_late_int_rate+l_adder_rate)*(l_apply_date-l_due_date))/100)/l_days_calc;
530: l_amount := OKL_ACCOUNTING_UTIL.cross_currency_round_amount(l_amount, l_contract_currency);
531: ELSE
532: FND_FILE.PUT_LINE (FND_FILE.OUTPUT, ' -- Variable: Interest rate applied => '||(l_index_rate+l_adder_rate));
533: l_amount := ((l_amt_applied*(l_index_rate+l_adder_rate)*(l_apply_date-l_due_date))/100)/l_days_calc;
534: l_amount := OKL_ACCOUNTING_UTIL.cross_currency_round_amount(l_amount, l_contract_currency);
530: l_amount := OKL_ACCOUNTING_UTIL.cross_currency_round_amount(l_amount, l_contract_currency);
531: ELSE
532: FND_FILE.PUT_LINE (FND_FILE.OUTPUT, ' -- Variable: Interest rate applied => '||(l_index_rate+l_adder_rate));
533: l_amount := ((l_amt_applied*(l_index_rate+l_adder_rate)*(l_apply_date-l_due_date))/100)/l_days_calc;
534: l_amount := OKL_ACCOUNTING_UTIL.cross_currency_round_amount(l_amount, l_contract_currency);
535: END IF;
536: FND_FILE.PUT_LINE (FND_FILE.OUTPUT, ' -- Calculated late interest => '||l_amount);
537:
538: IF(l_amount < l_minimum_late_interest) THEN