14.3 View Cash Flow Edit Process Log

To view the cash flow edit errors, warnings, and info, navigate to ftpshare/logs folder and view the CashFlowEditsProcessExecution.log file.

You can view the log using Batch Monitor also. To view the logs from Batch Monitor, follow these steps:

  1. Navigate to Common Object Maintenance, select Operations, and then select Batch Monitor.
  2. Select the Batch Run ID.
  3. View the Task Details of Cash Flow Edits Execution.

    Figure 14-8 View the Task Details


    View the Task Details

  4. Click View Log.
Cash Flow Edit 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 14-6 Error Messages

Error Code Error Condition Error Description Assignment Warning Error Level Edit Priority

2

(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

3

(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

4

(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

5

(CUR_GROSS_RATE is NULL or CUR_GROSS_RATE < 0)

Current gross rate is negative

Current Gross Rate < 0

Info

6

(CUR_NET_RATE is NULL or CUR_NET_RATE < 0)

Current net rate is negative

Current Net Rate < 0

Info

7

(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

8

(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

9

(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

10

(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

11

(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

12

(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

13

(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

14

(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

15

(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

16

(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

17

(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

18

(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

19

(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

20

(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

21

(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

22

(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

23

(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

24

(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

25

(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

26

(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

27

(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

28

(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

29

(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

30

(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

32

(AMRT_TYPE_CD = 600 a

nd 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 can not 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

33

(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 can not 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

34

(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

35

(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

36

(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

37

(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

38

(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

39

(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

40

(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

41

(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

42

(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

43

(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

44

((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 can not have opposite signs

CUR_PAYMENT = 0

Current Payment and Current Par Balance have opposite signs

Warning

45

(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

46

(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

47

((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

48

((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

49

((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

50

((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_MUL

T#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

51

((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

52

((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

53

(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

54

(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

55

(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

56

(RATE_CHG_MIN is NULL or RATE_CHG_MIN < 0)

Minimum rate change can not be negative

RATE_CHG_MIN=0

Rate Change Minimum < 0

Warning

57

(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

58

(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

59

(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

60

(RATE_INCR_CYCLE is NULL or RATE_INCR_CYCLE < 0)

Rate increase limit (cycle) can not be less than 0

RATE_INCR_CYCLE=0

Rate Increase Limit (Cycle) < 0

Warning

61

(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

62

(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

63

(TEASER_END_DATE < ORIGINATION_DATE)

Teaser End Date cannot be before Origination Date

TEASER_END_DATE=ORIGINATION_DATE

Teaser End Date < Origination Date

Warning

64

(TEASER_END_DATE > MATURITY_DATE)

Teaser End Date cannot be after Maturity Date

TEASER_END_DATE=MATURITY_DATE

Teaser End Date > Maturity Date

Warning

65

(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

66

(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

67

(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

68

(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

69

(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

70

(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

71

(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

72

(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

73

(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

74

(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

75

(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

76

(ISSUE_DATE > ORIGINATION_DATE)

Issue date can not be greater than origination date

ISSUE_DATE=ORIGINATION_DATE

Issue Date > Origination Date

Warning

77

(REPRICE_FREQ is NULL or REPRICE_FREQ < 0)

Repricing frequency must not be negative

REPRICE_FREQ=0

Reprice Frequency < 0

Warning

78

(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

79

(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

80

(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

81

(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

82

(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

83

(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

84

(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

85

(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

86

(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

87

(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

88

(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

89

(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

90

(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

91

(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

92

(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

93

(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

94

(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

95

(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

96

(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

97

(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

98

(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

99

(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

100

(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

101

(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

102

(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

103

(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

104

(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

105

(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

106

(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

107

(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

108

((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

109

(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

110

(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

111

(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

112

(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

113

(CUR_PAR_BAL is NULL or CUR_PAR_BAL = 0)

Instruments with Current Par Balance zero are not processed.

Current Par Balance = 0

Warning

114

(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

115

(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

116

(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

117

(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

118

(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

119

(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

120

(TP_EFFECTIVE_DATE > MATURITY_DATE)

TP Effective Date is after maturity date

TP_EFFECTIVE_DATE=ORIGINATION_DATE

Invalid TP Effective Date

Info

121

(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

122

(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

123

(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

124

(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

125

(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

126

(ADJ_EFFECTIVE_DATE > MATURITY_DATE)

Adjustment Effective Date is after maturity date

ADJ_EFFECTIVE_DATE=ORIGINATION_DATE

Invalid Adjustment Effective Date

Info

127       Invalid Payment Frequency Multiplier    
128       Maturity Date < Next Payment Date    
129       Next Payment Date < As of Date    
130       Next Payment Date < Origination Date    
131       Payment Freq > Original Term    
132       Payment Frequency <= 0    
133       Payment Frequency <= 0    
134       Payment Frequency <= 0    
135       Current book balance should equal the current par balance plus the deferred current balance    
136       Current net par balance should reflect the bank-owned portion of the current gross balance    
137       Last payment date > Next payment date    
138       Last payment date > Next payment date    
139       Last Payment Date < Origination Date    
140       Last payment date > As of Date    
141       Percent Sold should be between 0 to 99    
142       Invalid Exchange of Principal flag