[Home] [Help]
159: p_source_cal_type IN IGS_CA_INST.cal_type%TYPE ,
160: p_source_sequence_number IN IGS_CA_INST.sequence_number%TYPE ,
161: p_dest_cal_type IN IGS_CA_INST.cal_type%TYPE ,
162: p_dest_sequence_number IN IGS_CA_INST.sequence_number%TYPE ,
163: p_relation_type IN IGS_FI_FEE_RET_SCHD.s_relation_type%TYPE ,
164: p_fee_type IN IGS_FI_FEE_RET_SCHD.fee_type%TYPE ,
165: p_fee_cat IN IGS_FI_FEE_RET_SCHD.fee_cat%TYPE ,
166: p_message_name OUT NOCOPY VARCHAR2 )
167: RETURN BOOLEAN;
160: p_source_sequence_number IN IGS_CA_INST.sequence_number%TYPE ,
161: p_dest_cal_type IN IGS_CA_INST.cal_type%TYPE ,
162: p_dest_sequence_number IN IGS_CA_INST.sequence_number%TYPE ,
163: p_relation_type IN IGS_FI_FEE_RET_SCHD.s_relation_type%TYPE ,
164: p_fee_type IN IGS_FI_FEE_RET_SCHD.fee_type%TYPE ,
165: p_fee_cat IN IGS_FI_FEE_RET_SCHD.fee_cat%TYPE ,
166: p_message_name OUT NOCOPY VARCHAR2 )
167: RETURN BOOLEAN;
168: --
161: p_dest_cal_type IN IGS_CA_INST.cal_type%TYPE ,
162: p_dest_sequence_number IN IGS_CA_INST.sequence_number%TYPE ,
163: p_relation_type IN IGS_FI_FEE_RET_SCHD.s_relation_type%TYPE ,
164: p_fee_type IN IGS_FI_FEE_RET_SCHD.fee_type%TYPE ,
165: p_fee_cat IN IGS_FI_FEE_RET_SCHD.fee_cat%TYPE ,
166: p_message_name OUT NOCOPY VARCHAR2 )
167: RETURN BOOLEAN;
168: --
169: -- Routine to rollover fee encumbrances between cal instances
792: -- This function will roll all IGS_FI_F_TYP_CA_INST records underneath a
793: -- nominated IGS_CA_INST to beneath another nominated IGS_CA_INST.
794: -- It also controls the rollover of;
795: -- * fee_refund_schedule
796: -- * IGS_FI_FEE_RET_SCHD
797: -- * IGS_FI_FEE_ENCMB
798: -- * IGS_FI_CHG_MTH_APP
799: -- * IGS_FI_FEE_AS_RATE
800: -- * IGS_FI_ELM_RANGE
1266: -- This function will roll all IGS_FI_F_CAT_CA_INST records underneath a
1267: -- nominated IGS_CA_INST to beneath another nominated IGS_CA_INST.
1268: -- It also controls the rollover of
1269: -- * fee_refund_schedule
1270: -- * IGS_FI_FEE_RET_SCHD
1271: -- * IGS_FI_FEE_ENCMB
1272: -- * IGS_FI_F_CAT_FEE_LBL
1273: -- The assumption is being made that the "destination" IGS_CA_INST
1274: -- is open and active - it is the responsibility of the calling routine
1462: p_source_cal_type IN IGS_CA_INST.cal_type%TYPE ,
1463: p_source_sequence_number IN IGS_CA_INST.sequence_number%TYPE ,
1464: p_dest_cal_type IN IGS_CA_INST.cal_type%TYPE ,
1465: p_dest_sequence_number IN IGS_CA_INST.sequence_number%TYPE ,
1466: p_relation_type IN IGS_FI_FEE_RET_SCHD.s_relation_type%TYPE ,
1467: p_fee_type IN IGS_FI_FEE_RET_SCHD.fee_type%TYPE ,
1468: p_fee_cat IN IGS_FI_FEE_RET_SCHD.fee_cat%TYPE ,
1469: p_message_name OUT NOCOPY VARCHAR2 )
1470: RETURN BOOLEAN AS
1463: p_source_sequence_number IN IGS_CA_INST.sequence_number%TYPE ,
1464: p_dest_cal_type IN IGS_CA_INST.cal_type%TYPE ,
1465: p_dest_sequence_number IN IGS_CA_INST.sequence_number%TYPE ,
1466: p_relation_type IN IGS_FI_FEE_RET_SCHD.s_relation_type%TYPE ,
1467: p_fee_type IN IGS_FI_FEE_RET_SCHD.fee_type%TYPE ,
1468: p_fee_cat IN IGS_FI_FEE_RET_SCHD.fee_cat%TYPE ,
1469: p_message_name OUT NOCOPY VARCHAR2 )
1470: RETURN BOOLEAN AS
1471: /*----------------------------------------------------------------------------
1464: p_dest_cal_type IN IGS_CA_INST.cal_type%TYPE ,
1465: p_dest_sequence_number IN IGS_CA_INST.sequence_number%TYPE ,
1466: p_relation_type IN IGS_FI_FEE_RET_SCHD.s_relation_type%TYPE ,
1467: p_fee_type IN IGS_FI_FEE_RET_SCHD.fee_type%TYPE ,
1468: p_fee_cat IN IGS_FI_FEE_RET_SCHD.fee_cat%TYPE ,
1469: p_message_name OUT NOCOPY VARCHAR2 )
1470: RETURN BOOLEAN AS
1471: /*----------------------------------------------------------------------------
1472: || Created By :
1476: || Change History :
1477: || Who When What
1478: || (reverse chronological order - newest change first)
1479: || sapanigr 14-Jun-2006 Bug 5148913. Unhandled exceptions at insert row caught and appropriate error message logged.
1480: || sapanigr 03-May-2006 Enh#3924836 Precision Issue. Amount values being inserted into IGS_FI_FEE_RET_SCHD
1481: || is now rounded off to currency precision
1482: || sapanigr 29-Mar-2006 Bug# 4606670 Added check finp_val_frtns_creat. This validates that
1483: || when schedule defined at FTCI level, they cannot also be
1484: || defined at FCFL level and vice-versa.
1483: || when schedule defined at FTCI level, they cannot also be
1484: || defined at FCFL level and vice-versa.
1485: || pathipat 24-Jan-2003 Bug: 2765199 - Removed exception section
1486: || vvutukur 24-Jul-2002 Bug#2425767.Removed deduction_amount from select of cursor c_frtns_source,
1487: || removed x_deduction_amount parameter from call to IGS_FI_FEE_RET_SCHD_PKG.INSERT_ROW.
1488: ----------------------------------------------------------------------------*/
1489: gv_other_detail VARCHAR2(255);
1490: BEGIN
1491: DECLARE
1492: v_record_inserted_ind BOOLEAN;
1493: v_record_exists_ind BOOLEAN;
1494: v_valid_insert BOOLEAN;
1495: v_message_name VARCHAR2(30);
1496: v_sequence_number IGS_FI_FEE_RET_SCHD.sequence_number%TYPE;
1497: v_fee_type IGS_FI_FEE_RET_SCHD.fee_type%TYPE;
1498: v_fee_cat IGS_FI_FEE_RET_SCHD.fee_cat%TYPE;
1499: v_schedule_number IGS_FI_FEE_RET_SCHD.schedule_number%TYPE;
1500: v_dummy IGS_CA_DA_INST.dt_alias%TYPE;
1493: v_record_exists_ind BOOLEAN;
1494: v_valid_insert BOOLEAN;
1495: v_message_name VARCHAR2(30);
1496: v_sequence_number IGS_FI_FEE_RET_SCHD.sequence_number%TYPE;
1497: v_fee_type IGS_FI_FEE_RET_SCHD.fee_type%TYPE;
1498: v_fee_cat IGS_FI_FEE_RET_SCHD.fee_cat%TYPE;
1499: v_schedule_number IGS_FI_FEE_RET_SCHD.schedule_number%TYPE;
1500: v_dummy IGS_CA_DA_INST.dt_alias%TYPE;
1501: l_rowid VARCHAR2(25);
1494: v_valid_insert BOOLEAN;
1495: v_message_name VARCHAR2(30);
1496: v_sequence_number IGS_FI_FEE_RET_SCHD.sequence_number%TYPE;
1497: v_fee_type IGS_FI_FEE_RET_SCHD.fee_type%TYPE;
1498: v_fee_cat IGS_FI_FEE_RET_SCHD.fee_cat%TYPE;
1499: v_schedule_number IGS_FI_FEE_RET_SCHD.schedule_number%TYPE;
1500: v_dummy IGS_CA_DA_INST.dt_alias%TYPE;
1501: l_rowid VARCHAR2(25);
1502: l_b_ftci_fcci_clash_ind BOOLEAN := TRUE;
1495: v_message_name VARCHAR2(30);
1496: v_sequence_number IGS_FI_FEE_RET_SCHD.sequence_number%TYPE;
1497: v_fee_type IGS_FI_FEE_RET_SCHD.fee_type%TYPE;
1498: v_fee_cat IGS_FI_FEE_RET_SCHD.fee_cat%TYPE;
1499: v_schedule_number IGS_FI_FEE_RET_SCHD.schedule_number%TYPE;
1500: v_dummy IGS_CA_DA_INST.dt_alias%TYPE;
1501: l_rowid VARCHAR2(25);
1502: l_b_ftci_fcci_clash_ind BOOLEAN := TRUE;
1503:
1509: frtns.dt_alias,
1510: frtns.dai_sequence_number,
1511: frtns.retention_percentage,
1512: frtns.retention_amount
1513: FROM IGS_FI_FEE_RET_SCHD frtns
1514: WHERE frtns.fee_cal_type = p_source_cal_type AND
1515: frtns.fee_ci_sequence_number = p_source_sequence_number AND
1516: frtns.s_relation_type = p_relation_type AND
1517: (frtns.fee_type = p_fee_type OR
1518: p_fee_type IS NULL) AND
1519: (frtns.fee_cat = p_fee_cat OR
1520: p_fee_cat IS NULL);
1521: CURSOR c_frtns_dest (
1522: cp_sequence_number IGS_FI_FEE_RET_SCHD.sequence_number%TYPE) IS
1523: SELECT frtns.fee_type,
1524: frtns.fee_cat,
1525: frtns.schedule_number
1526: FROM IGS_FI_FEE_RET_SCHD frtns
1522: cp_sequence_number IGS_FI_FEE_RET_SCHD.sequence_number%TYPE) IS
1523: SELECT frtns.fee_type,
1524: frtns.fee_cat,
1525: frtns.schedule_number
1526: FROM IGS_FI_FEE_RET_SCHD frtns
1527: WHERE frtns.fee_cal_type = p_dest_cal_type AND
1528: frtns.fee_ci_sequence_number = p_dest_sequence_number AND
1529: frtns.s_relation_type = p_relation_type AND
1530: frtns.sequence_number = cp_sequence_number;
1528: frtns.fee_ci_sequence_number = p_dest_sequence_number AND
1529: frtns.s_relation_type = p_relation_type AND
1530: frtns.sequence_number = cp_sequence_number;
1531: CURSOR c_frtns_dest_u (
1532: cp_fee_type IGS_FI_FEE_RET_SCHD.fee_type%TYPE,
1533: cp_fee_cat IGS_FI_FEE_RET_SCHD.fee_cat%TYPE,
1534: cp_schedule_number IGS_FI_FEE_RET_SCHD.schedule_number%TYPE) IS
1535: SELECT frtns.sequence_number
1536: FROM IGS_FI_FEE_RET_SCHD frtns
1529: frtns.s_relation_type = p_relation_type AND
1530: frtns.sequence_number = cp_sequence_number;
1531: CURSOR c_frtns_dest_u (
1532: cp_fee_type IGS_FI_FEE_RET_SCHD.fee_type%TYPE,
1533: cp_fee_cat IGS_FI_FEE_RET_SCHD.fee_cat%TYPE,
1534: cp_schedule_number IGS_FI_FEE_RET_SCHD.schedule_number%TYPE) IS
1535: SELECT frtns.sequence_number
1536: FROM IGS_FI_FEE_RET_SCHD frtns
1537: WHERE frtns.fee_cal_type = p_dest_cal_type AND
1530: frtns.sequence_number = cp_sequence_number;
1531: CURSOR c_frtns_dest_u (
1532: cp_fee_type IGS_FI_FEE_RET_SCHD.fee_type%TYPE,
1533: cp_fee_cat IGS_FI_FEE_RET_SCHD.fee_cat%TYPE,
1534: cp_schedule_number IGS_FI_FEE_RET_SCHD.schedule_number%TYPE) IS
1535: SELECT frtns.sequence_number
1536: FROM IGS_FI_FEE_RET_SCHD frtns
1537: WHERE frtns.fee_cal_type = p_dest_cal_type AND
1538: frtns.fee_ci_sequence_number = p_dest_sequence_number AND
1532: cp_fee_type IGS_FI_FEE_RET_SCHD.fee_type%TYPE,
1533: cp_fee_cat IGS_FI_FEE_RET_SCHD.fee_cat%TYPE,
1534: cp_schedule_number IGS_FI_FEE_RET_SCHD.schedule_number%TYPE) IS
1535: SELECT frtns.sequence_number
1536: FROM IGS_FI_FEE_RET_SCHD frtns
1537: WHERE frtns.fee_cal_type = p_dest_cal_type AND
1538: frtns.fee_ci_sequence_number = p_dest_sequence_number AND
1539: NVL(frtns.fee_type, 'NULL') = NVL(cp_fee_type, 'NULL') AND
1540: NVL(frtns.fee_cat, 'NULL') = NVL(cp_fee_cat, 'NULL') AND
1550: sequence_number = cp_sequence_number AND
1551: cal_type = cp_cal_type AND
1552: ci_sequence_number = cp_ci_sequence_number;
1553: BEGIN
1554: -- This function will roll all IGS_FI_FEE_RET_SCHD records underneath a
1555: -- nominated IGS_CA_INST to beneath another nominated IGS_CA_INST.
1556: -- The assumption is being made that the "destination" IGS_CA_INST
1557: -- is open and active - it is the responsibility of the calling routine to
1558: -- check for this.
1555: -- nominated IGS_CA_INST to beneath another nominated IGS_CA_INST.
1556: -- The assumption is being made that the "destination" IGS_CA_INST
1557: -- is open and active - it is the responsibility of the calling routine to
1558: -- check for this.
1559: -- IGS_GE_NOTE: If some of the IGS_FI_FEE_RET_SCHD records already exist then
1560: -- these will remain unaltered.
1561: p_message_name := Null;
1562: -- 1. Process the fee retention schedule records matching the source calendar
1563: -- instance
1565: v_record_exists_ind := FALSE;
1566:
1567: FOR v_frtns_source_rec IN c_frtns_source LOOP
1568: v_valid_insert := TRUE;
1569: -- Check for the existence of the IGS_FI_FEE_RET_SCHD
1570: -- record under the destination calendar
1571: OPEN c_frtns_dest(v_frtns_source_rec.sequence_number);
1572: FETCH c_frtns_dest INTO v_fee_type,
1573: v_fee_cat,
1630: v_message_name) THEN
1631: l_rowid := NULL;-- initialise l_rowid to null before passing into the TBH
1632: -- l_rowid with a value will throw Un-Handled Exception
1633: -- Call to igs_fi_gen_gl.get_formatted_amount formats ret_amount by rounding off to currency precision
1634: IGS_FI_FEE_RET_SCHD_PKG.INSERT_ROW(
1635: X_ROWID=>l_rowid,
1636: X_FEE_CAL_TYPE=>p_dest_cal_type,
1637: X_SEQUENCE_NUMBER=>v_frtns_source_rec.sequence_number,
1638: X_FEE_CI_SEQUENCE_NUMBER=>p_dest_sequence_number,
1794: -- This function will roll all IGS_FI_F_CAT_FEE_LBL records underneath a
1795: -- nominated IGS_CA_INST to beneath another nominated IGS_CA_INST.
1796: -- It also controls the rollovr of
1797: -- * fee_refund_schedule
1798: -- * IGS_FI_FEE_RET_SCHD
1799: -- * IGS_FI_FEE_ENCMB
1800: -- * IGS_FI_CHG_MTH_APP
1801: -- * IGS_FI_FEE_AS_RATE
1802: -- * IGS_FI_ELM_RANGE