2.5.1 Cash Flow Edits Process Errors
Note:
- Error: Engine does not process, however sometimes default value can get used for calculations.
- Warning: Engine may use the default value or given wrong data for calculation, results may be incorrect.
- Info: Does not impact any processing but results may not be as expected.
The table stores error messages generated by the engine.
Table 2-6 List of Error Codes for Cash Flow Edits
Error Code | Error Condition | Error Description | Assignment | Warning | Error Level | Edits Priority |
---|---|---|---|---|---|---|
1 | (AMRT_TYPE_CD <> 700 OR ( amrt_type_cd = 700 AND amrt_term <> 0 ) ) AND (CASE amrt_term_mult WHEN 'Y' THEN amrt_term * 365 WHEN 'M' THEN amrt_term * 30.41667 ELSE amrt_term END) < (CASE org_term_mult WHEN 'Y' THEN org_term * 365 WHEN 'M' THEN org_term * 30.41667 ELSE org_term END) THEN 'P' ELSE 'F' END | Amortization term can only be equal to zero on Non-Amortizing instruments | AMRT_TERM = ORG_TERM and AMRT_TERM_MULT = ORG_TERM_MULT | Original Term > Amortization Term | Warning | |
2 | (ORIGINATION_DATE < AS_OF_DATE and CUR_PAR_BAL is not NULL and ORG_PAR_BAL is not NULL and CUR_PAR_BAL = ORG_PAR_BAL) | Instrument has originated in past but Current Par Balance and Original Par Balance are equal | Current Par Balance = Original Par Balance | Warning | ||
3 | (ORIGINATION_DATE < AS_OF_DATE and DEFERRED_CUR_BAL is not NULL and DEFERRED_ORG_BAL is not NULL and DEFERRED_CUR_BAL = DEFERRED_ORG_BAL) | Instrument has originated in past but Deferred Current Balance and Deferred Original Balance are equal | Deferred Current Balance = Deferred Original Balance | Warning | ||
4 | (CUR_GROSS_RATE is NULL or CUR_GROSS_RATE < 0) | Current gross rate is negative | Current Gross Rate < 0 | Info | ||
5 | (CUR_NET_RATE is NULL or CUR_NET_RATE < 0) | Current net rate is negative | Current Net Rate < 0 | Info | ||
6 | (ACCRUAL_BASIS_CD is NULL or ACCRUAL_BASIS_CD <1 or ACCRUAL_BASIS_CD >7) | Accrual basis code must be between 1 and 7 inclusively | ACCRUAL_BASIS_CD = 3 | Invalid Accrual Basis | Warning | |
7 | (AMRT_TYPE_CD is NULL or AMRT_TYPE_CD not in (100, 400, 600, 700, 710, 800, 801, 802, 820, 840, 850, 10, 20)) | Amortization type must be a valid OFSAA code | AMRT_TYPE_CD = 700 | Invalid Amortization Type | Warning | |
8 | (AMRT_TYPE_CD = 20 and (PMT_PATTERN_CD is null or PMT_PATTERN_CD <= 0)) | Amortization type is Payment Pattern but Payment Pattern Code is invalid | AMRT_TYPE_CD = 700 | Invalid Payment Pattern | Warning | |
9 | (AMRT_TYPE_CD = 20 and PMT_PATTERN_CD is not null and PMT_PATTERN_CD > 0 and PMT_PATTERN_CD not in (select AMRT_TYPE_CD from fsi_payment_pattern)) | Amortization type is Payment Pattern but Payment Pattern definition does not exist | AMRT_TYPE_CD = 700 | Invalid Payment Pattern | Warning | |
10 | (AMRT_TYPE_CD = 10 and (BEHAVIOUR_PATTERN_CD is null or BEHAVIOUR_PATTERN_CD <= 0)) | Amortization type is Behaviour Pattern but Behaviour Pattern Code is invalid | AMRT_TYPE_CD = 700 | Invalid Behaviour Pattern | Warning | |
11 | (AMRT_TYPE_CD = 10 and BEHAVIOUR_PATTERN_CD is not NULL and BEHAVIOUR_PATTERN_CD > 0 and BEHAVIOUR_PATTERN_CD not in (select PATTERN_CD from fsi_behaviour_pattern_master)) | Amortization type is Behaviour Pattern but Behaviour Pattern definition does not exist | AMRT_TYPE_CD = 700 | Invalid Behaviour Pattern | Warning | |
12 | (AMRT_TYPE_CD in (800, 801, 802) and NOT EXISTS (select 1 from FSI_D_Payment_Schedule WHERE FSI_D_Payment_Schedule.ID_NUMBER=SOURCE_TABLE.ID_NUMBER AND FSI_D_Payment_Schedule.IDENTITY_CODE = SOURCE_TABLE.IDENTITY_CODE AND FSI_D_Payment_Schedule.INSTRUMENT_TYPE_CD = SOURCE_TABLE.INSTRUMENT_TYPE_CD)) | Cannot find record with matching ID Number, Identity Code and Instrument Type Code in Payment Schedule table | AMRT_TYPE_CD = 700 | Invalid Payment schedule data | Warning | |
13 | (AMRT_TYPE_CD in (800, 801, 802) and ORIGINATION_DATE > (select max(PAYMENT_DATE) from FSI_D_Payment_Schedule WHERE FSI_D_Payment_Schedule.ID_NUMBER=SOURCE_TABLE.ID_NUMBER AND FSI_D_Payment_Schedule.IDENTITY_CODE = SOURCE_TABLE.IDENTITY_CODE AND FSI_D_Payment_Schedule.INSTRUMENT_TYPE_CD = SOURCE_TABLE.INSTRUMENT_TYPE_CD)) | Origination Date is greater than highest date in Payment Schedule | AMRT_TYPE_CD = 700 | Invalid Payment schedule data | Warning | |
14 | (AMRT_TERM_MULT is NULL or AMRT_TERM_MULT not in ('D', 'M', 'Y')) | Amortization term multiplier must be D, M, or Y | AMRT_TERM_MULT = M | Invalid Amortization Term Multiplier | Warning | |
15 | (AMRT_TYPE_CD = 600 AND (NEG_AMRT_EQ_MULT is NULL or NEG_AMRT_EQ_MULT not in ('D', 'M', 'Y'))) | Negative Amortization Equalization Frequency multiplier must be D, M, or Y | NEG_AMRT_EQ_MULT = M | Invalid Negative Amortization Equalization Frequency Multiplier | Warning | |
16 | (AMRT_TYPE_CD = 600 and (NEG_AMRT_LIMIT is NULL or NEG_AMRT_LIMIT >=200 or NEG_AMRT_LIMIT < 0)) | Negative Amortization limit value does not fall in a valid range (0 to 200), Applicable to Negative amortization instruments only | NEG_AMRT_LIMIT = 0 | Invalid Negative Amortization Limit | Warning | |
17 | (ORG_TERM_MULT is NULL or ORG_TERM_MULT not in ('D', 'M', 'Y')) | Original term multiplier must be D, M, or Y | ORG_TERM_MULT= M | Invalid Original Term Multiplier | Warning | |
18 | (AMRT_TYPE_CD = 600 and (NEG_AMRT_PMT_CHG_FREQ is NULL or NEG_AMRT_PMT_CHG_FREQ < 0)) | Payment Change Frequency cannot be negative, Applicable to Negative amortization instruments only | NEG_AMRT_PMT_CHG_FREQ = 0 | Invalid Negative Amortization Payment Change Frequency | Warning | |
19 | (AMRT_TYPE_CD = 600 and (NEG_AMRT_PMT_CHG_FREQ_MULT is NULL or NEG_AMRT_PMT_CHG_FREQ_MULT not in ('D', 'M', 'Y'))) | Negative Amortization Payment Change Frequency Multiplier must be D, M, or Y | NEG_AMRT_PMT_CHG_FREQ_MULT = M | Invalid Negative Amortization Payment Change Frequency Multiplier | Warning | |
20 | (INT_PMT_FREQ_MULT is NULL or INT_PMT_FREQ_MULT not in ('D', 'M', 'Y')) | Interest Payment frequency multiplier must be D, M, or Y | INT_PMT_FREQ_MULT = M | Invalid Interest Payment Frequency Multiplier | Warning | |
21 | (PRIN_PMT_FREQ_MULT is NULL or PRIN_PMT_FREQ_MULT not in ('D', 'M', 'Y')) | Principal Payment frequency multiplier must be D, M, or Y | PRIN_PMT_FREQ_MULT = M | Invalid Principal Payment Frequency Multiplier | Warning | |
22 | (RATE_CHG_RND_CD is NULL or RATE_CHG_RND_CD < 0 or RATE_CHG_RND_CD > 4) | Rate change round code must be between 0 and 4 | RATE_CHG_RND_CD = 0 | Invalid Rate Change Rounding Code | Warning | |
23 | (ADJUSTABLE_TYPE_CD > 0 and (RATE_SET_LAG_MULT is NULL or RATE_SET_LAG_MULT not in ('D', 'M', 'Y'))) | Rate Set Lag Multiplier must be D, M, or Y | RATE_SET_LAG_MULT = M | Invalid Rate Set Lag Multiplier | Warning | |
24 | (ADJUSTABLE_TYPE_CD > 0 and (REPRICE_FREQ_MULT is NULL or REPRICE_FREQ_MULT not in ('D', 'M', 'Y'))) | Repricing Frequency Multiplier must be D, M, or Y | REPRICE_FREQ_MULT = M | Invalid Repricing Frequency Multiplier | Warning | |
25 | (RATE_CHG_RND_FAC is NULL or RATE_CHG_RND_FAC < 0 or RATE_CHG_RND_FAC > 1) | Rate change round factor must be between 0 and 1 | RATE_CHG_RND_FAC = 0 | Invalid Rate Change Rounding Factor | Warning | |
26 | (MATURITY_DATE < NEXT_INT_PAYMENT_DATE) | Maturity date cannot be before the next interest payment date | MATURITY_DATE = (CASE PRIN_PMT_FREQ_MULT WHEN 'Y' THEN ADD_MONTHS(NEXT_PRIN_PAYMENT_DATE, ((REMAIN_NO_PMTS -1)* PRIN_PMT_FREQ * 12)) WHEN 'M' THEN ADD_MONTHS(NEXT_PRIN_PAYMENT_DATE, ((REMAIN_NO_PMTS -1)* PRIN_PMT_FREQ)) ELSE NEXT_PRIN_PAYMENT_DATE + ((REMAIN_NO_PMTS -1)* PRIN_PMT_FREQ) END) | Maturity Date < Next Interest Payment Date | Warning | |
27 | (MATURITY_DATE < NEXT_PRIN_PAYMENT_DATE) | Maturity date cannot be before the next principal payment date | MATURITY_DATE = (CASE PRIN_PMT_FREQ_MULT WHEN 'Y' THEN ADD_MONTHS(NEXT_PRIN_PAYMENT_DATE, ((REMAIN_NO_PMTS -1)* PRIN_PMT_FREQ * 12)) WHEN 'M' THEN ADD_MONTHS(NEXT_PRIN_PAYMENT_DATE, ((REMAIN_NO_PMTS -1)* PRIN_PMT_FREQ)) ELSE NEXT_PRIN_PAYMENT_DATE + ((REMAIN_NO_PMTS -1)* PRIN_PMT_FREQ) END) | Maturity Date < Next Principal Payment Date | Warning | |
28 | (AMRT_TYPE_CD = 600 and (NEG_AMRT_EQ_FREQ is NULL or NEG_AMRT_EQ_FREQ < 0)) | Negative amortization equalization frequency cannot be negative, Applicable to Negative amortization instruments only | NEG_AMRT_EQ_FREQ = 0 | Negative Amortization Equalization Frequency < 0 | Warning | |
29 | (AMRT_TYPE_CD = 600 and NEG_AMRT_EQ_FREQ is not null and NEG_AMRT_EQ_FREQ > 0 and NEG_AMRT_EQ_DATE <= greatest(ORIGINATION_DATE, AS_OF_DATE)) | Negative Amortization equalization date is less than origination date (future origination) or less than the as-of-date (past origination), Applicable to Negative Amortization instruments only | NEG_AMRT_EQ_DATE = NEXT_REPRICE_DATE | Negative Amortization Equalization Date < Origination Date or As of Date | Warning | |
30 | (AMRT_TYPE_CD = 600 and NEG_AMRT_EQ_FREQ is not NULL and NEG_AMRT_EQ_FREQ > 0 and NEG_AMRT_EQ_DATE > MATURITY_DATE) | Next interest payment date is less than as-of-date (past origination case), As of Date cannot be greater than the origination date and greater than the next payment date. | NEG_AMRT_EQ_DATE = NEXT_REPRICE_DATE | Negative Amortization Equalization Date > Maturity Date | Warning | |
31 | (AS_OF_DATE > ORIGINATION_DATE and AS_OF_DATE >= NEXT_INT_PAYMENT_DATE) | Negative Amortization equalization date is after Maturity Date, Applicable to Negative Amortization instruments only | NEXT_INT_PAYMENT_DATE = AS_OF_DATE + 1 | Next Interest Payment Date < As of Date | Warning | |
32 | (AS_OF_DATE > ORIGINATION_DATE and AS_OF_DATE >= NEXT_PRIN_PAYMENT_DATE) | Next principal payment date is less than as-of-date (past origination case), As of Date cannot be greater than the origination date and greater than the next payment date. | NEXT_PRIN_PAYMENT_DATE= AS_OF_DATE + 1 | Next Principal Payment Date < As of Date | Warning | |
33 | (ORIGINATION_DATE >= AS_OF_DATE and ORIGINATION_DATE >= NEXT_INT_PAYMENT_DATE) | Next interest payment date is less than origination date (future origination case) | NEXT_INT_PAYMENT_DATE = ORIGINATION_DATE + 1 | Next Interest Payment Date < Origination Date | Warning | |
34 | (ORIGINATION_DATE >= AS_OF_DATE and ORIGINATION_DATE >= NEXT_PRIN_PAYMENT_DATE) | Next principal payment date is less than origination date (future origination case) | NEXT_PRIN_PAYMENT_DATE= ORIGINATION_DATE + 1 | Next Principal Payment Date < Origination Date | Warning | |
35 | (ORIGINATION_DATE <= AS_OF_DATE and NEXT_REPRICE_DATE <= AS_OF_DATE and REPRICE_FREQ > 0) | Next repricing date is less than as-of-date (past origination case) | NEXT_REPRICE_DATE = AS_OF_DATE + 1 | Next Reprice Date < As of Date | Warning | |
36 | (ORIGINATION_DATE > AS_OF_DATE and NEXT_REPRICE_DATE < ORIGINATION_DATE and REPRICE_FREQ > 0) | Next repricing date is less than the origination date (future origination case) | NEXT_REPRICE_DATE = ORIGINATION_DATE + 1 | Next Reprice Date < Origination Date | Warning | |
37 | (AMRT_TYPE_CD = 600 and (ORG_PAYMENT_AMT is NULL or ORG_PAYMENT_AMT = 0) and NEG_AMRT_PMT_DECR_LIFE > 0) | Payment decrease life is expressed as a percent of a original payment, Applicable to negative amortization instruments only | NEG_AMRT_PMT_DECR_LIFE = 0 | Original Payment Amount = 0 and Negative Amortization Payment Decrease Limit (Life) <> 0 | Warning | |
38 | (AMRT_TYPE_CD = 600 and (ORG_PAYMENT_AMT is NULL or ORG_PAYMENT_AMT = 0) and NEG_AMRT_PMT_INCR_LIFE > 0) | Payment increase life is expressed as a percent of a original payment, Applicable to negative amortization instruments only | NEG_AMRT_PMT_INCR_LIFE = 0 | Original Payment Amount = 0 and Negative Amortization Payment Increase Limit (Life) <> 0 | Warning | |
39 | (ORG_TERM = 0 OR ORG_TERM <> (CASE ORG_TERM_MULT WHEN 'Y' THEN MONTHS_BETWEEN(MATURITY_DATE, ORIGINATION_DATE)*12 WHEN 'M' THEN MONTHS_BETWEEN(MATURITY_DATE, ORIGINATION_DATE) ELSE (MATURITY_DATE - ORIGINATION_DATE) END)) | Original term should equal the time between the origination date and the maturity date | ORG_TERM#ORG_TERM_MULT = MONTHS_BETWEEN(MATURITY_DATE, RIGINATION_DATE)# | Original Term <> Maturity Date - Orgination Date | Warning | |
40 | (ORIGINATION_DATE is NULL or ORIGINATION_DATE < '1-Aug-1950' or ORIGINATION_DATE > '1-Aug-2099') | Origination date must be acceptable | ORIGINATION_DATE = 1-Jan-50 | Origination date < 01/01/1950 | Warning | |
41 | (INT_PMT_FREQ > (CASE INT_PMT_FREQ_MULT WHEN 'Y' THEN MONTHS_BETWEEN(MATURITY_DATE, ORIGINATION_DATE)*12 WHEN 'M' THEN MONTHS_BETWEEN(MATURITY_DATE, ORIGINATION_DATE) ELSE (MATURITY_DATE - ORIGINATION_DATE) END)) | Interest Payment frequency cannot be greater than original term | INT_PMT_FREQ#INT_PMT_FREQ_MULT = MONTHS_BETWEEN(MATURITY_DATE, ORIGINATION_DATE)# | Interest Payment Freq > Original Term | Warning | |
42 | (PRIN_PMT_FREQ >(CASE PRIN_PMT_FREQ_MULT WHEN 'Y' THEN MONTHS_BETWEEN(MATURITY_DATE, ORIGINATION_DATE)*12 WHEN 'M' THEN MONTHS_BETWEEN(MATURITY_DATE, ORIGINATION_DATE) ELSE (MATURITY_DATE - ORIGINATION_DATE) END)) | Principal Payment frequency cannot be greater than original term | PRIN_PMT_FREQ#PRIN_PMT_FREQ_MULT= MONTHS_BETWEEN(MATURITY_DATE, ORIGINATION_DATE)# | Principal Payment Freq > Original Term | Warning | |
43 | ((CUR_PAYMENT is NULL or CUR_PAYMENT < 0 and CUR_PAR_BAL > 0) or (CUR_PAYMENT > 0 and CUR_PAR_BAL < 0)) | Current payment and current par balance cannot have opposite signs | CUR_PAYMENT = 0 | Current Payment and Current Par Balance have opposite signs | Warning | |
44 | (AMRT_TYPE_CD = 600 and NEG_AMRT_PMT_CHG_FREQ > 0 and AS_OF_DATE > NEG_AMRT_PMT_ADJUST_DATE) | Negative Amortization Payment Adjustment Date is less than the as-of-date (past origination), Applicable to negative amortization instruments only | NEG_AMRT_PMT_ADJUST_DATE=NEXT_REPRICE_DATE | Negative Amortization Payment Adjustment Date < As of Date | Warning | |
45 | (AMRT_TYPE_CD = 600 and NEG_AMRT_PMT_CHG_FREQ > 0 and AS_OF_DATE < NEG_AMRT_PMT_ADJUST_DATE and NEG_AMRT_PMT_ADJUST_DATE < ORIGINATION_DATE) | Negative Amortization Payment adjustment date is less than origination date (future origination), Applicable to negative amortization instruments only | NEG_AMRT_PMT_ADJUST_DATE=NEXT_REPRICE_DATE | Negative Amortization Payment Adjustment Date < Origination Date | Warning | |
46 | ((INT_PMT_FREQ is NULL or INT_PMT_FREQ <= 0) and ((ORIGINATION_DATE <= AS_OF_DATE and MATURITY_DATE > AS_OF_DATE) or (ORIGINATION_DATE > AS_OF_DATE and MATURITY_DATE > ORIGINATION_DATE))) | Interest Payment frequency is less than or equal to zero, and both maturity date and origination date are valid dates and can be used to calculate payment frequency. | NEXT_INT_PAYMENT_DATE#ORG_TERM#ORG_TERM_MULT#INT_PMT_FREQ#INT_PMT_FREQ_MULT#REMAIN_NO_PMTS=MATURITY_DATE#MONTHS_BETWEEN(MATURITY_DATE, ORIGINATION_DATE)##MONTHS_BETWEEN(MATURITY_DATE, ORIGINATION_DATE)## | Interest Payment Frequency <= 0 | Warning | |
47 | ((PRIN_PMT_FREQ is NULL or PRIN_PMT_FREQ <= 0) and ((ORIGINATION_DATE <= AS_OF_DATE and MATURITY_DATE > AS_OF_DATE) or (ORIGINATION_DATE > AS_OF_DATE and MATURITY_DATE > ORIGINATION_DATE))) | Principal Payment frequency is less than or equal to zero, and both maturity date and origination date are valid dates and can be used to calculate payment frequency. | NEXT_PRIN_PAYMENT_DATE#ORG_TERM#ORG_TERM_MULT#PRIN_PMT_FREQ#PRIN_PMT_FREQ_MULT#REMAIN_NO_PMTS=MATURITY_DATE#MONTHS_BETWEEN(MATURITY_DATE, ORIGINATION_DATE)##MONTHS_BETWEEN(MATURITY_DATE, ORIGINATION_DATE)## | Principal Payment Frequency <= 0 | Warning | |
48 | ((INT_PMT_FREQ is NULL or INT_PMT_FREQ <= 0) and ((ORIGINATION_DATE <= AS_OF_DATE and MATURITY_DATE <= AS_OF_DATE and NEXT_INT_PAYMENT_DATE > AS_OF_DATE) or (ORIGINATION_DATE > AS_OF_DATE AND MATURITY_DATE < ORIGINATION_DATE and NEXT_INT_PAYMENT_DATE > ORIGINATION_DATE))) | Interest payment frequency is less than or equal to zero and maturity date is invalid, but next interest payment date can be used to calculate a valid payment frequency | MATURITY_DATE#ORG_TERM#ORG_TERM_MULT#INT_PMT_FREQ#INT_PMT_FREQ_MULT#REMAIN_NO_PMTS=NEXT_INT_PAYMENT_DATE#MONTHS_BETWEEN(MATURITY_DATE, ORIGINATION_DATE)##MONTHS_BETWEEN(MATURITY_DATE, ORIGINATION_DATE)## | Interest Payment Frequency <= 0 | Warning | |
49 | ((PRIN_PMT_FREQ is NULL or PRIN_PMT_FREQ <= 0) and ((ORIGINATION_DATE <= AS_OF_DATE and MATURITY_DATE <= AS_OF_DATE and NEXT_PRIN_PAYMENT_DATE > AS_OF_DATE) or (ORIGINATION_DATE > AS_OF_DATE AND MATURITY_DATE < ORIGINATION_DATE and NEXT_PRIN_PAYMENT_DATE > ORIGINATION_DATE))) | Principal payment frequency is less than or equal to zero and maturity date is invalid, but next interest payment date can be used to calculate a valid payment frequency | MATURITY_DATE#ORG_TERM#ORG_TERM_MULT#PRIN_PMT_FREQ#PRIN_PMT_FREQ_MULT#REMAIN_NO_PMTS=NEXT_PRIN_PAYMENT_DATE#MONTHS_BETWEEN(MATURITY_DATE, ORIGINATION_DATE)##MONTHS_BETWEEN(MATURITY_DATE, ORIGINATION_DATE)## | Principal Payment Frequency <= 0 | Warning | |
50 | ((INT_PMT_FREQ is NULL or INT_PMT_FREQ <= 0) and ((ORIGINATION_DATE <= AS_OF_DATE and MATURITY_DATE <= AS_OF_DATE and NEXT_INT_PAYMENT_DATE <= AS_OF_DATE) or (ORIGINATION_DATE > AS_OF_DATE AND MATURITY_DATE < ORIGINATION_DATE and NEXT_INT_PAYMENT_DATE < ORIGINATION_DATE))) | Interest payment frequency is less than or equal to zero and all dates which can be used to calculate payment frequency are in the past | MATURITY_DATE#NEXT_INT_PAYMENT_DATE#ORG_TERM#ORG_TERM_MULT#INT_PMT_FREQ#INT_PMT_FREQ_MULT#REMAIN_NO_PMTS=AS_OF_DATE + 1#AS_OF_DATE + 1#MONTHS_BETWEEN(MATURITY_DATE, ORIGINATION_DATE)##MONTHS_BETWEEN(MATURITY_DATE, ORIGINATION_DATE)## | Interest Payment Frequency <= 0 | Warning | |
51 | ((PRIN_PMT_FREQ is NULL or PRIN_PMT_FREQ <= 0) and ((ORIGINATION_DATE <= AS_OF_DATE and MATURITY_DATE <= AS_OF_DATE and NEXT_PRIN_PAYMENT_DATE <= AS_OF_DATE) or (ORIGINATION_DATE > AS_OF_DATE AND MATURITY_DATE < ORIGINATION_DATE and NEXT_PRIN_PAYMENT_DATE < ORIGINATION_DATE))) | Principal payment frequency is less than or equal to zero and all dates which can be used to calculate payment frequency are in the past | MATURITY_DATE#NEXT_PRIN_PAYMENT_DATE#ORG_TERM#ORG_TERM_MULT#PRIN_PMT_FREQ#PRIN_PMT_FREQ_MULT#REMAIN_NO_PMTS=AS_OF_DATE + 1#AS_OF_DATE + 1#MONTHS_BETWEEN(MATURITY_DATE, ORIGINATION_DATE)##MONTHS_BETWEEN(MATURITY_DATE, ORIGINATION_DATE)## | Principal Payment Frequency <= 0 | Warning | |
52 | (AMRT_TYPE_CD = 600 and (NEG_AMRT_PMT_INCR_CYCLE is NULL or NEG_AMRT_PMT_INCR_CYCLE < 0)) | Negative Amortization Payment increase limit (cycle) cannot be less than zero, Applicable to negative amortization instruments only | NEG_AMRT_PMT_INCR_CYCLE=0 | Negative Amortization Payment Increase Limit (Cycle) < 0 | Warning | |
53 | (RATE_CAP_LIFE < CUR_GROSS_RATE and RATE_CAP_LIFE <> 0 and CUR_GROSS_RATE <> 0 and TEASER_END_DATE < AS_OF_DATE) | Current gross rate is greater than the rate cap life | RATE_CAP_LIFE=CUR_GROSS_RATE | Rate Cap Life < Current Gross Interest Rate | Info | |
54 | (RATE_CAP_LIFE < CUR_NET_RATE and RATE_CAP_LIFE <> 0) | Current net rate is greater than the rate cap | Rate Cap Life < Current Net Interest Rate | Info | ||
55 | (RATE_CHG_MIN is NULL or RATE_CHG_MIN < 0) | Minimum rate change cannot be negative | RATE_CHG_MIN=0 | Rate Change Minimum < 0 | Warning | |
56 | (RATE_DECR_CYCLE is NULL or RATE_DECR_CYCLE < 0) | Rate decrease limit (cycle) must not be negative | RATE_DECR_CYCLE=0 | Rate Decrease Limit (Cycle) < 0 | Warning | |
57 | (RATE_FLOOR_LIFE > CUR_GROSS_RATE and CUR_GROSS_RATE <> 0 and TEASER_END_DATE < AS_OF_DATE) | Current gross rate is less than the rate floor | Rate Floor Life > Currrent Gross Interest Rate | Info | ||
58 | (RATE_FLOOR_LIFE > CUR_NET_RATE) | Rate floor life must not be greater than the current net rate | RATE_FLOOR_LIFE=CUR_GROSS_RATE | Rate Floor Life > Currrent Net Interest Rate | Info | |
59 | (RATE_INCR_CYCLE is NULL or RATE_INCR_CYCLE < 0) | Rate increase limit (cycle) cannot be less than 0 | RATE_INCR_CYCLE=0 | Rate Increase Limit (Cycle) < 0 | Warning | |
60 | (REMAIN_NO_PMTS is NULL or REMAIN_NO_PMTS < 1) | There has to be at least 1 payment left | REMAIN_NO_PMTS=1 | Remaining Number of Payments < 1 | Warning | |
61 | (ADJUSTABLE_TYPE_CD > 0 and (RATE_SET_LAG is NULL or RATE_SET_LAG < 0)) | Rate set lag cannot be negative | RATE_SET_LAG=0 | Rate Set Lag < 0 | Warning | |
62 | (TEASER_END_DATE < ORIGINATION_DATE) | Teaser End Date cannot be before Origination Date | TEASER_END_DATE=ORIGINATION_DATE | Teaser End Date < Origination Date | Warning | |
63 | (TEASER_END_DATE > MATURITY_DATE) | Teaser End Date cannot be after Maturity Date | TEASER_END_DATE=MATURITY_DATE | Teaser End Date > Maturity Date | Warning | |
64 | (AMRT_TYPE_CD = 710 and ORG_PAR_BAL < CUR_PAR_BAL) | Original balance on Rule of 78's instruments should be greater than current balance | Orginal Par Balance < Current Par Balance | Info | ||
65 | (AMRT_TYPE_CD = 600 and (REPRICE_FREQ is NULL or REPRICE_FREQ = 0)) | Reprice Frequency cannot be zero for Adjustable Negative Amortization instrument | Adjustable Negative Amortization instrument has Reprice Frequency = 0 | Info | ||
66 | (REPRICE_FREQ <> 0 and LAST_REPRICE_DATE > NEXT_REPRICE_DATE) | Last repricing date is greater than next repricing date | LAST_REPRICE_DATE=(CASE REPRICE_FREQ_MULT WHEN 'Y' THEN ADD_MONTHS(NEXT_REPRICE_DATE, -REPRICE_FREQ*12) WHEN 'M' THEN ADD_MONTHS(NEXT_REPRICE_DATE, -REPRICE_FREQ) ELSE NEXT_REPRICE_DATE - REPRICE_FREQ END) | Last Reprice Date > Next Reprice Date | Warning | |
67 | (ADJUSTABLE_TYPE_CD in (50, 250) and (INTEREST_RATE_CD is NULL or INTEREST_RATE_CD <= 0)) | Interest rate code must be valid for adjustable rate instruments | ADJUSTABLE_TYPE_CD=0 | Adjustable Rate instrument has invalid Interest Rate Code | Warning | |
68 | (ADJUSTABLE_TYPE_CD > 0 and INTEREST_RATE_CD > 0 and exists (select 1 from fsi_ircs where fsi_ircs.interest_rate_cd = SOURCE_TABLE.interest_rate_cd and fsi_ircs.volatility_curve_flg > 0)) | Interest rate code of instrument is not an yield curve. Repricing attributes will be ignored and processed as fixed interest rate; | ADJUSTABLE_TYPE_CD=0 | Invalid Interest Rate Code. Curve Type is not Interest Rate Curve | Warning | |
69 | (NET_MARGIN_CD is NULL or NET_MARGIN_CD not in (0, 1)) | Valid net margin codes are 0 or 1. | NET_MARGIN_CD=0 | Invalid Net Margin Code | Warning | |
70 | (AMRT_TYPE_CD = 600 and (NEG_AMRT_PMT_DECR_CYCLE is NULL or NEG_AMRT_PMT_DECR_CYCLE < 0)) | Payment Decrease Limit (Cycle) cannot be less than zero. Applicable to negative amortization instruments only | NEG_AMRT_PMT_DECR_CYCLE=0 | Negative Amortization Payment Decrease Limit (Cycle) = 0 | Warning | |
71 | (AMRT_TYPE_CD = 600 and (NEG_AMRT_PMT_DECR_LIFE is NULL or NEG_AMRT_PMT_DECR_LIFE < 0)) | Payment Decrease Limit (Life) cannot be less than zero. Applicable to negative amortization instruments only | NEG_AMRT_PMT_DECR_LIFE=0 | Negative Amortization Payment Decrease Limit (Life) = 0 | Warning | |
72 | (AMRT_TYPE_CD = 600 and NEG_AMRT_PMT_DECR_LIFE <> 0 and CUR_PAYMENT < ORG_PAYMENT_AMT * (1 - NEG_AMRT_PMT_DECR_LIFE/100)) | Current payment is less than the minimum payment amount. Applicable to negative amortization instruments only | Current Payment is less than Life Pay Floor | Info | ||
73 | (AMRT_TYPE_CD = 600 and (NEG_AMRT_PMT_INCR_LIFE is NULL or NEG_AMRT_PMT_INCR_LIFE < 0)) | Payment Increase Limit (Life) cannot be less than zero. Applicable to negative amortization instruments only | NEG_AMRT_PMT_INCR_LIFE=0 | Negative Amortization Payment Increase Limit (Life) = 0 | Warning | |
74 | (AMRT_TYPE_CD = 600 and NEG_AMRT_PMT_INCR_LIFE <> 0 and CUR_PAYMENT > ORG_PAYMENT_AMT * (1 + NEG_AMRT_PMT_INCR_LIFE/100)) | Current payment is greater than the maximum payment amount. Applicable to negative amortization instruments only | Current Payment is greater than Life Pay Cap | Info | ||
75 | (ISSUE_DATE > ORIGINATION_DATE) | Issue date cannot be greater than origination date | ISSUE_DATE=ORIGINATION_DATE | Issue Date > Origination Date | Warning | |
76 | (REPRICE_FREQ is NULL or REPRICE_FREQ < 0) | Repricing frequency must not be negative | REPRICE_FREQ=0 | Reprice Frequency < 0 | Warning | |
77 | (AMRT_TYPE_CD = 710 and REPRICE_FREQ <> 0) | Rule of 78's instruments are implicitly fixed rate. | REPRICE_FREQ=0 | Amortization type is Rule of 78's but Reprice Frequency is not 0 | Warning | |
78 | (ORG_PAR_BAL = 0 and (REPRICE_FREQ is NULL or REPRICE_FREQ = 0)) | For transfer pricing of fixed rate instruments, the original balance should be populated. | Original Par Balance is 0 for a fixed rate instrument | Info | ||
79 | (REPRICE_FREQ <> 0 and TEASER_END_DATE > ORIGINATION_DATE and TEASER_END_DATE > AS_OF_DATE and NEXT_REPRICE_DATE > TEASER_END_DATE) | Next repricing date is greater than teaser end date. | NEXT_REPRICE_DATE=TEASER_END_DATE | Next Reprice Date > Teaser End Date | Warning | |
80 | (ADJUSTABLE_TYPE_CD <> 0 and (LRD_BALANCE is NULL or LRD_BALANCE = 0)) | The balance as of the last repricing date cannot be equal to 0 | LRD_BALANCE=CUR_PAR_BAL | Balance on Last Reprice Date = 0 | Warning | |
81 | (ADJUSTABLE_TYPE_CD <> 0 and (LAST_REPRICE_DATE < ISSUE_DATE or LAST_REPRICE_DATE < ORIGINATION_DATE)) | Transfer pricing will not occur when the last repricing date is less than the issue date and origination date | LAST_REPRICE_DATE=ORIGINATION_DATE | Last Reprice Date < Issue/Origination Date | Info | |
82 | (ADJUSTABLE_TYPE_CD = 0 and REPRICE_FREQ > 0) | Repricing frequency and adjustable type code are inconsistent | REPRICE_FREQ=0 | Reprice Frequency > 0 for fixed rate instrument | Info | |
83 | (ADJUSTABLE_TYPE_CD <> 0 and (REPRICE_FREQ is NULL or REPRICE_FREQ = 0)) | Repricing frequency and adjustable type code are inconsistent | Adjustable Type is not fixed but Reprice Frequency is 0 | Info | ||
84 | (AMRT_TYPE_CD = 710 and ADJUSTABLE_TYPE_CD <> 0) | Rule of 78's instrument should only have a Fixed adjustable type code. | ADJUSTABLE_TYPE_CD=0 | Amortization type is Rule of 78's but Adjustable Type is not fixed | Warning | |
85 | (AMRT_TYPE_CD = 600 and ADJUSTABLE_TYPE_CD = 0) | Negative amortization instruments cannot have fixed adjustable type code | AMRT_TYPE_CD=100 | Adjustable Type is fixed rate for Negative amortization instrument | Info | |
86 | (LAST_INT_PAYMENT_DATE > NEXT_INT_PAYMENT_DATE and INT_PMT_FREQ > 0) | Last interest payment date is greater than next interest payment date and can be calculated using interest payment frequency | LAST_INT_PAYMENT_DATE=(CASE INT_PMT_FREQ_MULT WHEN 'Y' THEN ADD_MONTHS(NEXT_INT_PAYMENT_DATE, -INT_PMT_FREQ*12) WHEN 'M' THEN ADD_MONTHS(NEXT_INT_PAYMENT_DATE, -INT_PMT_FREQ) ELSE NEXT_INT_PAYMENT_DATE - INT_PMT_FREQ END) | Warning | ||
87 | (LAST_INT_PAYMENT_DATE > NEXT_INT_PAYMENT_DATE and (INT_PMT_FREQ is NULL or INT_PMT_FREQ <= 0)) | Last interest payment date is greater than next interest payment date, but cannot be calculated using interest payment frequency. | LAST_INT_PAYMENT_DATE=ORIGINATION_DATE | Warning | ||
88 | (LAST_PRIN_PAYMENT_DATE > NEXT_PRIN_PAYMENT_DATE and PRIN_PMT_FREQ > 0) | Last principal payment date is greater than next principal payment date and can be calculated using principal payment frequency | LAST_PRIN_PAYMENT_DATE=(CASE PRIN_PMT_FREQ_MULT WHEN 'Y' THEN ADD_MONTHS(NEXT_PRIN_PAYMENT_DATE, -PRIN_PMT_FREQ*12) WHEN 'M' THEN ADD_MONTHS(NEXT_PRIN_PAYMENT_DATE, -PRIN_PMT_FREQ) ELSE NEXT_PRIN_PAYMENT_DATE - PRIN_PMT_FREQ END) | Warning | ||
89 | (LAST_PRIN_PAYMENT_DATE > NEXT_PRIN_PAYMENT_DATE and (PRIN_PMT_FREQ is NULL or PRIN_PMT_FREQ <= 0)) | Last principal payment date is greater than next principal payment date, but cannot be calculated using principal payment frequency. | LAST_PRIN_PAYMENT_DATE=ORIGINATION_DATE | Last principal payment date > Next principal payment date | Warning | |
90 | (LAST_INT_PAYMENT_DATE < ORIGINATION_DATE) | Last interest payment date cannot be less than the origination date | LAST_INT_PAYMENT_DATE=ORIGINATION_DATE | Last Interest Payment Date < Origination Date | Warning | |
91 | (LAST_PRIN_PAYMENT_DATE < ORIGINATION_DATE) | Last principal payment date cannot be less than the origination date | LAST_PRIN_PAYMENT_DATE=ORIGINATION_DATE | Last Principal Payment Date < Origination Date | Warning | |
92 | (LAST_INT_PAYMENT_DATE > AS_OF_DATE and ORIGINATION_DATE <= AS_OF_DATE) | Last interest payment date cannot be greater than the as-of-date if the instrument originated in the past. | LAST_INT_PAYMENT_DATE=AS_OF_DATE | Last interest payment date > As of Date | Warning | |
93 | (LAST_PRIN_PAYMENT_DATE > AS_OF_DATE and ORIGINATION_DATE <= AS_OF_DATE) | Last principal payment date cannot be greater than the as-of-date if the instrument originated in the past. | LAST_PRIN_PAYMENT_DATE=AS_OF_DATE | Last principal payment date > As of Date | Warning | |
94 | (INTEREST_TIMING_TYPE_CD = 2 and AMRT_TYPE_CD in (100, 400, 600, 710, 800, 840, 850)) | Interest type can only be arrears for conventionally amortizing instruments. | INTEREST_TIMING_TYPE_CD=1 | Amortization Type is conventional but interest timing is Advance | Warning | |
95 | (INTEREST_TIMING_TYPE_CD is NULL or INTEREST_TIMING_TYPE_CD not in (1, 2, 3)) | Interest type must be a valid OFSAA code. | INTEREST_TIMING_TYPE_CD=1 | Invalid interest timing type | Warning | |
96 | (COMPOUND_BASIS_CD is NULL or COMPOUND_BASIS_CD not in (110, 120, 130, 140, 150, 160, 170)) | Compounding basis code must be a valid OFSAA code | COMPOUND_BASIS_CD=160 | Invalid Compounding Basis Code | Warning | |
97 | (ACCRUAL_BASIS_CD IN (1, 4, 5) and (INT_PMT_FREQ_MULT = 'D' or AMRT_TYPE_CD in (800,801, 802))) | Accrual basis code cannot have a 30 day month assumption on instruments defined by a payment schedule | ACCRUAL_BASIS_CD=3 | Amortization Type / Accrual Basis Error | Warning | |
98 | (ACCRUAL_BASIS_CD = 7 and (HOLIDAY_CALENDAR_CODE is NULL or HOLIDAY_CALENDAR_CODE <=0 or HOLIDAY_CALC_OPTION_CD is NULL or HOLIDAY_CALC_OPTION_CD not in (1, 2) or HOLIDAY_ROLLING_CONVENTION_CD is NULL or HOLIDAY_ROLLING_CONVENTION_CD not in (2,3,4,5))) | Holiday calendar must be give when using Business/252 accrual basis | Holiday calendar not given for B/252 accrual basis | Info | ||
99 | (AMRT_TYPE_CD = 10 and BEHAVIOUR_TYPE_CD is NULL) | Behaviour Type Code is Null, defaulted to 1 (Non-Maturity) | BEHAVIOUR_TYPE_CD=1 | Behaviour Type Code is Null | Warning | |
100 | (AMRT_TYPE_CD = 10 and BEHAVIOUR_TYPE_CD not in (1,2,3)) | Behaviour Type Code is invalid, defaulted to 1 (Non-Maturity) | BEHAVIOUR_TYPE_CD=1 | Invalid Behaviour Type Code | Warning | |
101 | (AMRT_TYPE_CD = 10 and BEHAVIOUR_TYPE_CD = 2 and (BEHAVIOUR_SUB_TYPE_CD is NULL or BEHAVIOUR_SUB_TYPE_CD not in (201, 202, 203))) | Behaviour Sub Type should be 201 or 202 or 203 when Behaviour Type is Non-Performing | BEHAVIOUR_SUB_TYPE_CD=201 | Invalid Behavior Sub Type Code | Warning | |
102 | (AMRT_TYPE_CD = 10 and BEHAVIOUR_TYPE_CD = 3 and (BEHAVIOUR_SUB_TYPE_CD is NULL or BEHAVIOUR_SUB_TYPE_CD not in (305, 306))) | Behaviour Sub Type should be 305 or 306 when Behaviour Type is Devolvement and Recovery | BEHAVIOUR_SUB_TYPE_CD=305 | Invalid Behavior Sub Type Code | Warning | |
103 | (AMRT_TYPE_CD = 840 and RESIDUAL_AMOUNT < 0) | Residual Amount cannot be less than 0 for Lease instrument | RESIDUAL_AMOUNT=0 | Invalid Residual Amount for Lease instrument | Warning | |
104 | (AMRT_TYPE_CD = 840 and RESIDUAL_AMOUNT > CUR_PAR_BAL) | Residual Amount cannot be higher than Current Par Balance for Lease instrument | RESIDUAL_AMOUNT=0 | Invalid Residual Amount for Lease instrument | Warning | |
105 | (AMRT_TYPE_CD = 850 and MATURITY_AMOUNT > 0 and ADJUSTABLE_TYPE_CD > 0) | Annuity instrument with maturity amount must have fixed interest rate | ADJUSTABLE_TYPE_CD=0 | Invalid Adjustable Type for Annuity with Maturity Amount | Warning | |
106 | (MOA_EXPECTED_BAL > 0 and (MOA_OFFSET_PERCENT is NULL or MOA_OFFSET_PERCENT < 0)) | Expected balance is greater than 0 but offset percentage is less than 0 | MOA_OFFSET_PERCENT=0 | Invalid offset percent | Warning | |
107 | ((MOA_EXPECTED_BAL * MOA_OFFSET_PERCENT/100) > CUR_PAR_BAL) | Calculated Offset Balance is higher than Current Par Balance | Calculated Offset Balance > Current Par Balance | Info | ||
108 | (ADJUSTABLE_TYPE_CD = 10 and (REPRICE_PATTERN_CD is NULL or REPRICE_PATTERN_CD <= 0)) | Invalid reprice pattern code given for instrument | ADJUSTABLE_TYPE_CD=0 | Invalid reprice pattern code | Warning | |
109 | (ADJUSTABLE_TYPE_CD = 10 and REPRICE_PATTERN_CD > 0 and REPRICE_PATTERN_CD not in (select ADJUSTABLE_TYPE_CD from fsi_reprice_pattern)) | Invalid reprice pattern code given for instrument | ADJUSTABLE_TYPE_CD=0 | Invalid reprice pattern code | Warning | |
110 | (ADJUSTABLE_TYPE_CD = 0 and (ORG_PAYMENT_AMT is NULL or ORG_PAYMENT_AMT <= 0)) | Original payment amount is required for fixed-rate instruments | ORG_PAYMENT_AMT=CUR_PAYMENT | Invalid Original Payment Amount | Warning | |
111 | (PERCENT_SOLD < 0 or PERCENT_SOLD > 99) | Percent Sold must be greater than or equal to zero and less than 100 | PERCENT_SOLD=0 | Invalid Percent Sold | Warning | |
112 | (CUR_PAR_BAL is NULL or CUR_PAR_BAL = 0) | Instruments with Current Par Balance zero are not processed. | Current Par Balance = 0 | Warning | ||
113 | (EMBEDDED_OPTIONS_FLG = 1 and AMRT_TYPE_CD <> 700) | Embedded option is supported only for non-amortizing instrument | EMBEDDED_OPTIONS_FLG=0 | Invalid embedded options flag | Warning | |
114 | (ADJUSTABLE_TYPE_CD = 0 and TP_EFFECTIVE_DATE > ORIGINATION_DATE) | TP Effective Date must not be after Origination Date for fixed rate instrument | Invalid TP Effective Date | Info | ||
115 | (ADJUSTABLE_TYPE_CD = 0 and TP_EFFECTIVE_DATE < ORIGINATION_DATE) | TP Effective Date must not be before Origination Date for fixed rate instrument | Invalid TP Effective Date | Info | ||
116 | (ADJUSTABLE_TYPE_CD > 0 and TP_EFFECTIVE_DATE > LAST_REPRICE_DATE) | TP Effective Date must not be after Last Reprice Date for non-fixed rate instrument | Invalid TP Effective Date | Info | ||
117 | (ADJUSTABLE_TYPE_CD > 0 and TP_EFFECTIVE_DATE <= NEXT_REPRICE_DATE) | TP Effective Date must not equal to Next Reprice Date for non-fixed rate instrument | Invalid TP Effective Date | Info | ||
118 | (TP_EFFECTIVE_DATE is not NULL and TP_EFFECTIVE_DATE < '01-JAN-1970') | TP Effective Date is before '01-JAN-1970' | TP_EFFECTIVE_DATE=ORIGINATION_DATE | Invalid TP Effective Date | Info | |
119 | (TP_EFFECTIVE_DATE > MATURITY_DATE) | TP Effective Date is after maturity date | TP_EFFECTIVE_DATE=ORIGINATION_DATE | Invalid TP Effective Date | Info | |
120 | (ADJUSTABLE_TYPE_CD = 0 and ADJ_EFFECTIVE_DATE > ORIGINATION_DATE) | Adjustment Effective Date must not be after Origination Date for fixed rate instrument | Invalid Adjustment Effective Date | Info | ||
121 | (ADJUSTABLE_TYPE_CD = 0 and ADJ_EFFECTIVE_DATE < ORIGINATION_DATE) | Adjustment Effective Date must not be before Origination Date for fixed rate instrument | Invalid Adjustment Effective Date | Info | ||
122 | (ADJUSTABLE_TYPE_CD > 0 and ADJ_EFFECTIVE_DATE > LAST_REPRICE_DATE) | Adjustment Effective Date must not be after Last Reprice Date for non-fixed rate instrument | Invalid Adjustment Effective Date | Info | ||
123 | (ADJUSTABLE_TYPE_CD > 0 and ADJ_EFFECTIVE_DATE <= NEXT_REPRICE_DATE) | Adjustment Effective Date must not equal to Next Reprice Date for non-fixed rate instrument | Invalid Adjustment Effective Date | Info | ||
124 | (ADJ_EFFECTIVE_DATE is not NULL and ADJ_EFFECTIVE_DATE < '01-JAN-1970') | Adjustment Effective Date is before '01-JAN-1970' | ADJ_EFFECTIVE_DATE=ORIGINATION_DATE | Invalid Adjustment Effective Date | Info | |
125 | (ADJ_EFFECTIVE_DATE > MATURITY_DATE) | Adjustment Effective Date is after maturity date | ADJ_EFFECTIVE_DATE=ORIGINATION_DATE | Invalid Adjustment Effective Date | Info |