FLA_PRESENT_VALUES_V
Details
-
Schema: FUSION
-
Object owner: FUN
-
Object type: VIEW
Columns
Name |
---|
LEASE_ID LEASE_DETAIL_ID VERSION_TYPE_CODE VERSION_NUM TRANSACTION_TYPE_CODE SCHEDULE_HEADER_ID REGIME_CODE PAYMENT_NUMBER ACTIVE_FLAG LEASE_CLASSIFICATION_CODE AMORTIZATION_PRORATION_CODE AMORTIZATION_START_DATE AMORTIZATION_END_DATE NUMBER_OF_AMORTIZATION_DAYS INTEREST_RATE ADDER_RATE DAILY_COMPOUNDING_RATE CURRENCY_CODE DUE_DATE ACTUAL_AMOUNT NO_OF_DAYS PRESENT_VALUE AMEND_PURPOSE_FLAG INCREASE_AMOUNT CONTINGENT_AMOUNT CUMULATIVE_INCREASE_AMOUNT CUMULATIVE_CONTINGENT_AMOUNT TOTAL_INCREASE_AMOUNT TOTAL_CONTINGENT_AMOUNT NEXT_ACCRUAL_START_DATE |
Query
SQL_Statement |
---|
SELECT pv.lease_id, pv.lease_detail_id, pv.version_type_code, pv.version_num, pv.transaction_type_code, pv.schedule_header_id, pv.regime_code, pv.payment_number, pv.active_flag, pv.lease_classification_code, pv.amortization_proration_code, pv.amortization_start_date, pv.amortization_end_date, pv.number_of_amortization_days, pv.interest_rate, pv.adder_rate, pv.daily_compounding_rate, pv.currency_code, pv.due_date, pv.actual_amount, pv.no_of_days, pv.actual_amount*power((1+pv.daily_compounding_rate),(-1*pv.no_of_days)) present_value, amend_purpose_flag, pv.increase_amount, pv.contingent_amount, pv.cumulative_increase_amount, pv.cumulative_contingent_amount, pv.total_increase_amount, pv.total_contingent_amount, pv.next_accrual_start_date FROM (SELECT sh.lease_id, sh.lease_detail_id, sh.version_type_code, sh.version_num, sh.transaction_type_code, sh.schedule_header_id, sh.regime_code, sh.payment_number, sh.active_flag, sh.lease_classification_code, sh.amortization_proration_code, sh.amortization_start_date, sh.amortization_end_date, sh.number_of_amortization_days, sh.interest_rate, sh.adder_rate, sh.daily_compounding_rate, pi.currency_code, pi.due_date, CASE WHEN sh.regime_code = 'ASC842' AND sh.lease_classification_code <> 'EXEMPT' THEN (NVL(pi.actual_amount,0) - NVL(pi.total_contingent_amount,0)) ELSE NVL(pi.actual_amount,0) END actual_amount, CASE WHEN sh.amortization_proration_code = '999' THEN(pi.due_date - sh.amortization_start_date) WHEN sh.scheduling_version_num >= 3 THEN (CASE WHEN TRUNC(sh.amortization_start_date, 'MM') = TRUNC(pi.due_date, 'MM') THEN CASE WHEN TO_NUMBER(TO_CHAR(sh.amortization_start_date, 'DD')) = 31 THEN 0 WHEN TO_NUMBER(TO_CHAR(pi.due_date, 'DD')) = 31 THEN 31 - TO_NUMBER(TO_CHAR(sh.amortization_start_date, 'DD')) WHEN LAST_DAY(pi.due_date) = pi.due_date THEN 30 - TO_NUMBER(TO_CHAR(sh.amortization_start_date, 'DD')) ELSE TO_NUMBER(TO_CHAR(pi.due_date, 'DD')) - TO_NUMBER(TO_CHAR(sh.amortization_start_date, 'DD')) END WHEN TRUNC(sh.amortization_start_date, 'MM') = sh.amortization_start_date THEN 30 ELSE 31 - TO_NUMBER(TO_CHAR(sh.amortization_start_date, 'DD')) END) + (CASE WHEN TRUNC(sh.amortization_start_date, 'MM') = TRUNC(pi.due_date, 'MM') THEN 0 ELSE MONTHS_BETWEEN(TRUNC(pi.due_date, 'MM'), LAST_DAY(sh.amortization_start_date) + 1) * 30 END) + (CASE WHEN TRUNC(sh.amortization_start_date, 'MM') = TRUNC(pi.due_date, 'MM') THEN 0 WHEN TO_NUMBER(TO_CHAR(pi.due_date, 'DD')) = 31 THEN 30 WHEN LAST_DAY(pi.due_date) = pi.due_date THEN 29 ELSE TO_NUMBER(TO_CHAR(pi.due_date, 'DD')-1) END) ELSE (CASE WHEN TRUNC(sh.amortization_start_date, 'MM') = TRUNC(pi.due_date, 'MM') THEN DECODE(LAST_DAY(pi.due_date), pi.due_date, 30, TO_NUMBER(TO_CHAR(pi.due_date, 'DD'))) - TO_NUMBER(TO_CHAR(sh.amortization_start_date, 'DD')) + 1 WHEN TRUNC(sh.amortization_start_date, 'MM') = sh.amortization_start_date THEN 30 ELSE 31 - TO_NUMBER(TO_CHAR(sh.amortization_start_date, 'DD')) END) + (CASE WHEN TRUNC(sh.amortization_start_date, 'MM') = TRUNC(pi.due_date, 'MM') THEN 0 ELSE MONTHS_BETWEEN(TRUNC(pi.due_date, 'MM'), LAST_DAY(sh.amortization_start_date) + 1) * 30 END) + (CASE WHEN TRUNC(sh.amortization_start_date, 'MM') = TRUNC(pi.due_date, 'MM') THEN 0 WHEN LAST_DAY(pi.due_date) = pi.due_date THEN 30 ELSE DECODE(LAST_DAY(pi.due_date), pi.due_date, 30, TO_NUMBER(TO_CHAR(pi.due_date, 'DD'))) END) - 1 END no_of_days, sh.amend_purpose_flag, NVL(pi.increase_amount,0) increase_amount, CASE WHEN sh.regime_code = 'ASC842' AND sh.lease_classification_code <> 'EXEMPT' THEN NVL(pi.contingent_amount,0) ELSE 0 END contingent_amount, NVL(pi.cumulative_increase_amount,0) cumulative_increase_amount, CASE WHEN sh.regime_code = 'ASC842' AND sh.lease_classification_code <> 'EXEMPT' THEN NVL(pi.cumulative_contingent_amount,0) ELSE 0 END cumulative_contingent_amount, NVL(pi.total_increase_amount,0) total_increase_amount, CASE WHEN sh.regime_code = 'ASC842' AND sh.lease_classification_code <> 'EXEMPT' THEN NVL(pi.total_contingent_amount,0) ELSE 0 END total_contingent_amount, NVL(sh.last_accrued_date+1,sh.amortization_start_date) next_accrual_start_date FROM fla_active_schedule_headers_v sh, (SELECT lease_detail_id, lease_id, payment_number, currency_code, due_date, SUM(NVL(actual_amount,0)) actual_amount, SUM(CASE WHEN payment_increase_flag = 'Y' AND cumulative_increase_flag = 'N' THEN NVL(actual_amount,0) ELSE 0 END) increase_amount, SUM(CASE WHEN payment_increase_flag = 'Y' AND cumulative_increase_flag = 'N' THEN NVL(contingent_amount,0) ELSE 0 END) contingent_amount, SUM(CASE WHEN payment_increase_flag = 'Y' AND cumulative_increase_flag = 'Y' THEN NVL(actual_amount,0) ELSE 0 END) cumulative_increase_amount, SUM(CASE WHEN payment_increase_flag = 'Y' AND cumulative_increase_flag = 'Y' THEN NVL(contingent_amount,0) ELSE 0 END) cumulative_contingent_amount, SUM(CASE WHEN payment_increase_flag = 'Y' THEN NVL(actual_amount,0) ELSE 0 END) total_increase_amount, SUM(CASE WHEN payment_increase_flag = 'Y' THEN NVL(contingent_amount,0) ELSE 0 END) total_contingent_amount FROM fla_lease_payment_items_v payitm WHERE NVL(reversal_flag,'N')= 'N' AND parent_payment_item_id IS NULL GROUP BY lease_detail_id, lease_id, payment_number, currency_code, due_date )pi WHERE sh.act_lease_detail_id = pi.lease_detail_id AND sh.lease_id = pi.lease_id AND sh.payment_number = pi.payment_number AND sh.amortization_start_date <= pi.due_date AND sh.amortization_end_date >= pi.due_date ) pv |