5: -- CHECK FOR PAYMENT SCHEDULE NAME
6: -------------------------------------------
7: FUNCTION CHECK_PAYMENT_SCHEDULE (
8: P_PAYMENT_SCHEDULE_NAME IN FA_LEASE_SCHEDULES.PAYMENT_SCHEDULE_NAME%TYPE
9: ,p_log_level_rec IN fa_api_types.log_level_rec_type default null
10: ) RETURN BOOLEAN AS
11:
12: CURSOR C_PAYMENT_SCHEDULE_ID IS
13: SELECT PAYMENT_SCHEDULE_ID
48: -- CHECK FOR CURRENCY CODE
49: -------------------------------------------
50: FUNCTION CHECK_CURRENCY_CODE(
51: P_CURRENCY_CODE IN FA_LEASE_SCHEDULES.CURRENCY_CODE%TYPE
52: ,p_log_level_rec IN fa_api_types.log_level_rec_type default null
53: ) RETURN BOOLEAN AS
54:
55: L_CURRENCY_CODE FA_LEASE_SCHEDULES.CURRENCY_CODE%TYPE;
56:
81: -- CHECK FOR LEASE FREQUENCY
82: -------------------------------------------
83: FUNCTION CHECK_LEASE_FREQUENCY(
84: P_FREQUENCY IN FA_LEASE_SCHEDULES.FREQUENCY%TYPE
85: ,p_log_level_rec IN fa_api_types.log_level_rec_type default null
86: ) RETURN BOOLEAN AS
87:
88: L_FRQUENCY VARCHAR2(15);
89:
114: -------------------------------------------
115: -- CHECK FOR START DATE
116: -------------------------------------------
117: FUNCTION CHECK_START_DATE (
118: P_LEASE_PAYMENTS_TBL IN FA_API_TYPES.LEASE_PAYMENTS_TBL_TYPE,
119: P_LEASE_INCEPTION_DATE IN DATE,
120: P_MONTHS_PER_PERIOD IN NUMBER
121: , p_log_level_rec IN FA_API_TYPES.log_level_rec_type) RETURN BOOLEAN AS
122: L_RETURN_FLAG BOOLEAN:=TRUE;
117: FUNCTION CHECK_START_DATE (
118: P_LEASE_PAYMENTS_TBL IN FA_API_TYPES.LEASE_PAYMENTS_TBL_TYPE,
119: P_LEASE_INCEPTION_DATE IN DATE,
120: P_MONTHS_PER_PERIOD IN NUMBER
121: , p_log_level_rec IN FA_API_TYPES.log_level_rec_type) RETURN BOOLEAN AS
122: L_RETURN_FLAG BOOLEAN:=TRUE;
123: BEGIN
124:
125: ------------------------------------------------------------
173: -------------------------------------------
174: -- CHECK FOR PAYMENT AMOUNT
175: -------------------------------------------
176: FUNCTION CHECK_PAYMENT_AMOUNT(
177: P_LEASE_PAYMENTS_TBL IN FA_API_TYPES.LEASE_PAYMENTS_TBL_TYPE
178: , p_log_level_rec IN FA_API_TYPES.log_level_rec_type) RETURN BOOLEAN AS
179: L_RETURN_FLAG BOOLEAN:=TRUE;
180: BEGIN
181: ------------------------------------------------------------
174: -- CHECK FOR PAYMENT AMOUNT
175: -------------------------------------------
176: FUNCTION CHECK_PAYMENT_AMOUNT(
177: P_LEASE_PAYMENTS_TBL IN FA_API_TYPES.LEASE_PAYMENTS_TBL_TYPE
178: , p_log_level_rec IN FA_API_TYPES.log_level_rec_type) RETURN BOOLEAN AS
179: L_RETURN_FLAG BOOLEAN:=TRUE;
180: BEGIN
181: ------------------------------------------------------------
182: -- PAYMENT AMOUNT CAN NOT BE NULL
202: -------------------------------------------
203: -- CHECK FOR NUMBER OF PAYMENTS
204: -------------------------------------------
205: FUNCTION CHECK_NO_OF_PAYMENTS (
206: P_LEASE_PAYMENTS_TBL IN FA_API_TYPES.LEASE_PAYMENTS_TBL_TYPE
207: , p_log_level_rec IN FA_API_TYPES.log_level_rec_type) RETURN BOOLEAN AS
208:
209: L_RETURN_FLAG BOOLEAN:=TRUE;
210:
203: -- CHECK FOR NUMBER OF PAYMENTS
204: -------------------------------------------
205: FUNCTION CHECK_NO_OF_PAYMENTS (
206: P_LEASE_PAYMENTS_TBL IN FA_API_TYPES.LEASE_PAYMENTS_TBL_TYPE
207: , p_log_level_rec IN FA_API_TYPES.log_level_rec_type) RETURN BOOLEAN AS
208:
209: L_RETURN_FLAG BOOLEAN:=TRUE;
210:
211: BEGIN
240: -------------------------------------------
241: -- CHECK FOR LEASE PAYMENT TYPE
242: -------------------------------------------
243: FUNCTION CHECK_PERIODS (
244: P_LEASE_PAYMENTS_TBL IN FA_API_TYPES.LEASE_PAYMENTS_TBL_TYPE
245: , p_log_level_rec IN FA_API_TYPES.log_level_rec_type) RETURN BOOLEAN AS
246:
247: L_RETURN_FLAG BOOLEAN:=TRUE;
248: L_PERIOD VARCHAR2(1);
241: -- CHECK FOR LEASE PAYMENT TYPE
242: -------------------------------------------
243: FUNCTION CHECK_PERIODS (
244: P_LEASE_PAYMENTS_TBL IN FA_API_TYPES.LEASE_PAYMENTS_TBL_TYPE
245: , p_log_level_rec IN FA_API_TYPES.log_level_rec_type) RETURN BOOLEAN AS
246:
247: L_RETURN_FLAG BOOLEAN:=TRUE;
248: L_PERIOD VARCHAR2(1);
249:
288: FUNCTION CALC_END_DATE (
289: P_NUMBER_OF_PAYMENTS IN NUMBER,
290: P_MONTHS_PER_PERIOD IN NUMBER,
291: P_START_DATE IN DATE
292: , p_log_level_rec IN FA_API_TYPES.log_level_rec_type) RETURN DATE AS
293: L_MONTHS_IN_LEASE INTEGER;
294: L_END_DATE DATE;
295: BEGIN
296: ------------------------------------------------------------
314: (P_PAYMENT_SCHEDULE_ID IN NUMBER,
315: X_MONTHS_PER_PERIOD OUT NOCOPY NUMBER,
316: X_CURRENCY_PRECISION OUT NOCOPY NUMBER,
317: X_PERIODS_PER_YEAR OUT NOCOPY NUMBER
318: , p_log_level_rec IN FA_API_TYPES.log_level_rec_type) RETURN BOOLEAN AS
319:
320: CURSOR C1 IS
321: SELECT FREQUENCY,CURRENCY_CODE
322: FROM FA_LEASE_SCHEDULES
377: -------------------------------------------
378: FUNCTION CALCULATE_INTEREST
379: (P_PRINCIPAL IN NUMBER,
380: P_RATE_PER_PERIOD IN NUMBER,
381: P_NUM_PERIODS IN NUMBER, p_log_level_rec IN FA_API_TYPES.log_level_rec_type)
382: RETURN NUMBER IS
383: INTEREST_AMOUNT NUMBER := 0;
384: RATE_FACTOR NUMBER := 0;
385: BEGIN
408: -- DO MINIMUM OF TWO NUMBERS
409: -------------------------------------------
410: FUNCTION AMINIMUM2
411: (P_X NUMBER,
412: P_Y NUMBER, p_log_level_rec IN FA_API_TYPES.log_level_rec_type)
413: RETURN NUMBER IS
414: MIN_NUMBER NUMBER;
415: BEGIN
416:
437: -------------------------------------------
438: FUNCTION AMINIMUM3
439: (P_X NUMBER,
440: P_Y NUMBER,
441: P_Z NUMBER, p_log_level_rec IN FA_API_TYPES.log_level_rec_type)
442: RETURN NUMBER IS
443: MIN_NUMBER NUMBER;
444: BEGIN
445: --------------------------------------------------------------
472: FUNCTION LUMP_SUM
473: (P_PAYMENT_AMOUNT IN NUMBER,
474: P_NUMBER_PAYMENTS IN NUMBER,
475: P_INTEREST_RATE IN NUMBER,
476: P_CURRENCY_PRECISION IN NUMBER , p_log_level_rec IN FA_API_TYPES.log_level_rec_type)
477: RETURN NUMBER IS
478: H_ROW_PV NUMBER := 0;
479: H_DENOMINATOR NUMBER := 0;
480: BEGIN
505: FUNCTION ORDINARY_ANNUITY
506: (P_PAYMENT_AMOUNT IN NUMBER,
507: P_NUMBER_PAYMENTS IN NUMBER,
508: P_INTEREST_RATE IN NUMBER,
509: P_CURRENCY_PRECISION IN NUMBER, p_log_level_rec IN FA_API_TYPES.log_level_rec_type) RETURN NUMBER IS
510: H_ROW_PV NUMBER := 0 ;
511: H_NUMERATOR NUMBER := 0 ;
512: H_DENOMINATOR NUMBER := 0 ;
513: H_SUBDENOMINATOR NUMBER := 0 ;
545: -------------------------------------------
546: FUNCTION ANNUITY_DUE (P_PAYMENT_AMOUNT IN NUMBER,
547: P_NUMBER_PAYMENTS IN NUMBER,
548: P_INTEREST_RATE IN NUMBER,
549: P_CURRENCY_PRECISION IN NUMBER, p_log_level_rec IN FA_API_TYPES.log_level_rec_type) RETURN NUMBER IS
550: H_ROW_PV NUMBER := 0 ;
551: H_NUMERATOR NUMBER := 0 ;
552: H_DENOMINATOR NUMBER := 0 ;
553: H_SUBDENOMINATOR NUMBER := 0 ;
587: PROCEDURE PRESENT_VALUE_CALC
588: (P_PAYMENT_SCHEDULE_ID IN NUMBER
589: ,P_MONTHS_PER_PERIOD IN NUMBER
590: ,P_INTEREST_PER_PERIOD IN NUMBER
591: ,P_CURRENCY_PRECISION IN NUMBER, p_log_level_rec IN FA_API_TYPES.log_level_rec_type)
592: IS
593: CURSOR C_SCHEDULE IS
594: SELECT LEASE_INCEPTION_DATE,PRESENT_VALUE
595: FROM FA_LEASE_SCHEDULES
710: -- VALIDATE ALL THE SUPPLIED DATA
711: ------------------------------------------------------------
712:
713: FUNCTION VALIDATE_PAYMENTS (
714: PX_LEASE_SCHEDULES_REC IN OUT NOCOPY FA_API_TYPES.LEASE_SCHEDULES_REC_TYPE,
715: P_LEASE_PAYMENTS_TBL IN FA_API_TYPES.LEASE_PAYMENTS_TBL_TYPE,
716: P_MONTHS_PER_PERIOD OUT NOCOPY NUMBER, p_log_level_rec IN FA_API_TYPES.log_level_rec_type)
717: RETURN BOOLEAN IS
718: VALUE_ERROR_EXCEPTION EXCEPTION;
711: ------------------------------------------------------------
712:
713: FUNCTION VALIDATE_PAYMENTS (
714: PX_LEASE_SCHEDULES_REC IN OUT NOCOPY FA_API_TYPES.LEASE_SCHEDULES_REC_TYPE,
715: P_LEASE_PAYMENTS_TBL IN FA_API_TYPES.LEASE_PAYMENTS_TBL_TYPE,
716: P_MONTHS_PER_PERIOD OUT NOCOPY NUMBER, p_log_level_rec IN FA_API_TYPES.log_level_rec_type)
717: RETURN BOOLEAN IS
718: VALUE_ERROR_EXCEPTION EXCEPTION;
719: L_MONTHS_PER_PERIOD NUMBER;
712:
713: FUNCTION VALIDATE_PAYMENTS (
714: PX_LEASE_SCHEDULES_REC IN OUT NOCOPY FA_API_TYPES.LEASE_SCHEDULES_REC_TYPE,
715: P_LEASE_PAYMENTS_TBL IN FA_API_TYPES.LEASE_PAYMENTS_TBL_TYPE,
716: P_MONTHS_PER_PERIOD OUT NOCOPY NUMBER, p_log_level_rec IN FA_API_TYPES.log_level_rec_type)
717: RETURN BOOLEAN IS
718: VALUE_ERROR_EXCEPTION EXCEPTION;
719: L_MONTHS_PER_PERIOD NUMBER;
720: L_PERIODS_PER_YEAR NUMBER;
892: END VALIDATE_PAYMENTS;
893:
894: FUNCTION AMORTIZE(
895: P_PAYMENT_SCHEDULE_ID IN NUMBER,
896: P_TRANS_REC IN FA_API_TYPES.TRANS_REC_TYPE, p_log_level_rec IN FA_API_TYPES.log_level_rec_type)
897: RETURN BOOLEAN IS
898:
899: VALUE_ERROR_EXCEPTION EXCEPTION;
900: L_MONTHS_PER_PERIOD NUMBER:=NULL;