[Home] [Help]
1: PACKAGE BODY igf_aw_gen_003 AS
2: /* $Header: IGFAW12B.pls 120.23 2006/08/04 07:40:11 veramach ship $ */
3:
4:
5: FUNCTION get_plan_disb_count(p_adplans_id IN igf_aw_awd_dist_plans.adplans_id%TYPE,
6: p_awd_prd_code IN igf_aw_awd_prd_term.award_prd_cd%TYPE
7: ) RETURN NUMBER IS
8: --
9: ------------------------------------------------------------------
31: ln_result NUMBER;
32:
33: CURSOR cur_check_terms_awd IS
34: SELECT COUNT(*) common_terms
35: FROM igf_aw_awd_dist_plans adplans,
36: igf_aw_dp_terms terms,
37: igf_aw_dp_teach_prds teach_periods,
38: igf_aw_awd_prd_term aprd
39: WHERE terms.adplans_id = p_adplans_id
709: p_fund_id IN igf_aw_award_t_all.fund_id%TYPE,
710: p_award_id IN igf_aw_award_t_all.award_id%TYPE,
711: p_offered_amt IN igf_aw_award_t_all.offered_amt%TYPE,
712: p_award_status IN igf_aw_award_all.award_status%TYPE,
713: p_dist_plan_code IN igf_aw_awd_dist_plans.dist_plan_method_code%TYPE,
714: p_disb_count IN NUMBER
715: )
716: IS
717: /*
1000: PROCEDURE create_auto_disb( p_fund_id IN igf_aw_award.fund_id%TYPE,
1001: p_award_id IN igf_aw_award.award_id%TYPE,
1002: p_offered_amt IN igf_aw_award.offered_amt%TYPE,
1003: p_award_status IN igf_aw_award.award_status%TYPE,
1004: p_adplans_id IN igf_aw_awd_dist_plans.adplans_id%TYPE,
1005: p_method_code IN igf_aw_awd_dist_plans.dist_plan_method_code%TYPE,
1006: p_awd_prd_code IN igf_aw_awd_prd_term.award_prd_cd%TYPE
1007: )
1008: AS
1001: p_award_id IN igf_aw_award.award_id%TYPE,
1002: p_offered_amt IN igf_aw_award.offered_amt%TYPE,
1003: p_award_status IN igf_aw_award.award_status%TYPE,
1004: p_adplans_id IN igf_aw_awd_dist_plans.adplans_id%TYPE,
1005: p_method_code IN igf_aw_awd_dist_plans.dist_plan_method_code%TYPE,
1006: p_awd_prd_code IN igf_aw_awd_prd_term.award_prd_cd%TYPE
1007: )
1008: AS
1009: /*
1059: -- This is used only in case the distribution method is MANUAL
1060: --
1061: CURSOR c_auto_disb(
1062: cp_base_id igf_ap_fa_base_rec_all.base_id%TYPE,
1063: cp_adplans_id igf_aw_awd_dist_plans.adplans_id%TYPE,
1064: cp_awd_prd_code igf_aw_awd_prd_term.award_prd_cd%TYPE
1065: ) IS
1066: SELECT NVL(igf_aw_packaging.get_date_instance(cp_base_id,teach_periods.date_offset_cd,terms.ld_cal_type,terms.ld_sequence_number),teach_periods.start_date) disb_dt,
1067: terms.ld_cal_type ld_cal_type,
1080: ld_sequence_number
1081: FROM igf_aw_coa_itm_terms
1082: WHERE base_id = cp_base_id
1083: GROUP BY base_id,ld_cal_type, ld_sequence_number) coaterms,
1084: igf_aw_awd_dist_plans dp,
1085: igf_aw_awd_prd_term aprd
1086: WHERE terms.adplans_id = cp_adplans_id
1087: AND terms.adterms_id = teach_periods.adterms_id
1088: AND coaterms.ld_cal_type = terms.ld_cal_type
1104: --
1105:
1106: CURSOR c_auto_disb_wcoa(
1107: cp_base_id igf_ap_fa_base_rec_all.base_id%TYPE,
1108: cp_adplans_id igf_aw_awd_dist_plans.adplans_id%TYPE,
1109: cp_awd_prd_code igf_aw_awd_prd_term.award_prd_cd%TYPE
1110: ) IS
1111: SELECT NVL(igf_aw_packaging.get_date_instance(cp_base_id,teach_periods.date_offset_cd,terms.ld_cal_type,terms.ld_sequence_number),teach_periods.start_date) disb_dt,
1112: terms.ld_cal_type ld_cal_type,
1120: teach_periods.attendance_type_code attendance_type_code
1121: FROM igf_aw_dp_terms terms,
1122: igf_aw_dp_teach_prds_v teach_periods,
1123: igf_aw_awd_prd_term aprd,
1124: igf_aw_awd_dist_plans dp
1125: WHERE terms.adplans_id = cp_adplans_id
1126: AND terms.adterms_id = teach_periods.adterms_id
1127: AND terms.ld_cal_type = aprd.ld_cal_type
1128: AND terms.ld_sequence_number = aprd.ld_sequence_number
1138: --
1139:
1140: CURSOR c_auto_disb_equal(
1141: cp_base_id igf_ap_fa_base_rec_all.base_id%TYPE,
1142: cp_adplans_id igf_aw_awd_dist_plans.adplans_id%TYPE,
1143: cp_num_terms NUMBER,
1144: cp_awd_prd_code igf_aw_awd_prd_term.award_prd_cd%TYPE
1145: ) IS
1146: SELECT NVL(igf_aw_packaging.get_date_instance (cp_base_id,teach_periods.date_offset_cd,terms.ld_cal_type,terms.ld_sequence_number),teach_periods.start_date) disb_dt,
1160: ld_sequence_number
1161: FROM igf_aw_coa_itm_terms
1162: WHERE base_id = cp_base_id
1163: GROUP BY base_id,ld_cal_type,ld_sequence_number) coaterms,
1164: igf_aw_awd_dist_plans dp,
1165: igf_aw_awd_prd_term aprd
1166: WHERE terms.adplans_id = cp_adplans_id
1167: AND terms.adterms_id = teach_periods.adterms_id
1168: AND coaterms.ld_cal_type = terms.ld_cal_type
1180: -- Adding UNION clause to take care of Awarding without COA
1181: --
1182: CURSOR c_auto_disb_equal_wcoa(
1183: cp_base_id igf_ap_fa_base_rec_all.base_id%TYPE,
1184: cp_adplans_id igf_aw_awd_dist_plans.adplans_id%TYPE,
1185: cp_num_terms NUMBER,
1186: cp_awd_prd_code igf_aw_awd_prd_term.award_prd_cd%TYPE
1187: ) IS
1188: SELECT NVL(igf_aw_packaging.get_date_instance (cp_base_id,teach_periods.date_offset_cd,terms.ld_cal_type,terms.ld_sequence_number),teach_periods.start_date) disb_dt,
1196: teach_periods.credit_points_num min_credit_points,
1197: teach_periods.attendance_type_code attendance_type_code
1198: FROM igf_aw_dp_terms terms,
1199: igf_aw_dp_teach_prds_v teach_periods,
1200: igf_aw_awd_dist_plans dp,
1201: igf_aw_awd_prd_term aprd
1202: WHERE terms.adplans_id = cp_adplans_id
1203: AND terms.adterms_id = teach_periods.adterms_id
1204: AND terms.adplans_id = dp.adplans_id
1212: --cursor to create disbursment records
1213: --this cursor is used if distribution method is MATCH COA
1214: CURSOR c_auto_disb_coa_match(
1215: cp_base_id igf_ap_fa_base_rec_all.base_id%TYPE,
1216: cp_adplans_id igf_aw_awd_dist_plans.adplans_id%TYPE,
1217: cp_total_coa_amount NUMBER,
1218: cp_awd_prd_code igf_aw_awd_prd_term.award_prd_cd%TYPE
1219: ) IS
1220: SELECT NVL(igf_aw_packaging.get_date_instance (cp_base_id,teach_periods.date_offset_cd,terms.ld_cal_type,terms.ld_sequence_number),teach_periods.start_date) disb_dt,
1234: ld_sequence_number,
1235: amount coa_term_amount
1236: FROM igf_aw_coa_term_tot_v
1237: WHERE base_id = cp_base_id) coaterms,
1238: igf_aw_awd_dist_plans dp,
1239: igf_aw_awd_prd_term aprd
1240: WHERE terms.adplans_id = cp_adplans_id
1241: AND terms.adterms_id = teach_periods.adterms_id
1242: AND coaterms.ld_cal_type = terms.ld_cal_type
1251: ORDER BY 1;
1252: -------------bug 4077735----------------------
1253: CURSOR c_auto_disb_pell(
1254: cp_base_id igf_ap_fa_base_rec_all.base_id%TYPE,
1255: cp_adplans_id igf_aw_awd_dist_plans.adplans_id%TYPE
1256: ) IS
1257: SELECT NVL(igf_aw_packaging.get_date_instance(cp_base_id,teach_periods.date_offset_cd,terms.ld_cal_type,terms.ld_sequence_number),teach_periods.start_date) disb_dt,
1258: terms.ld_cal_type ld_cal_type,
1259: terms.ld_sequence_number ld_sequence_number,
1285: --
1286:
1287: CURSOR c_auto_disb_wcoa_pell(
1288: cp_base_id igf_ap_fa_base_rec_all.base_id%TYPE,
1289: cp_adplans_id igf_aw_awd_dist_plans.adplans_id%TYPE
1290: ) IS
1291: SELECT NVL(igf_aw_packaging.get_date_instance(cp_base_id,teach_periods.date_offset_cd,terms.ld_cal_type,terms.ld_sequence_number),teach_periods.start_date) disb_dt,
1292: terms.ld_cal_type ld_cal_type,
1293: terms.ld_sequence_number ld_sequence_number,
1310: --
1311:
1312: CURSOR c_auto_disb_equal_pell(
1313: cp_base_id igf_ap_fa_base_rec_all.base_id%TYPE,
1314: cp_adplans_id igf_aw_awd_dist_plans.adplans_id%TYPE,
1315: cp_num_terms NUMBER
1316: ) IS
1317: SELECT NVL(igf_aw_packaging.get_date_instance(cp_base_id,teach_periods.date_offset_cd,terms.ld_cal_type,terms.ld_sequence_number),teach_periods.start_date) disb_dt,
1318: terms.ld_cal_type ld_cal_type,
1341:
1342:
1343: CURSOR c_auto_disb_equal_wcoa_pell(
1344: cp_base_id igf_ap_fa_base_rec_all.base_id%TYPE,
1345: cp_adplans_id igf_aw_awd_dist_plans.adplans_id%TYPE,
1346: cp_num_terms NUMBER
1347: ) IS
1348: SELECT NVL(igf_aw_packaging.get_date_instance(cp_base_id,teach_periods.date_offset_cd,terms.ld_cal_type,terms.ld_sequence_number),teach_periods.start_date) disb_dt,
1349: terms.ld_cal_type ld_cal_type,
1364: --cursor to create disbursment records
1365: --this cursor is used if distribution method is MATCH COA
1366: CURSOR c_auto_disb_coa_match_pell(
1367: cp_base_id igf_ap_fa_base_rec_all.base_id%TYPE,
1368: cp_adplans_id igf_aw_awd_dist_plans.adplans_id%TYPE,
1369: cp_total_coa_amount NUMBER
1370: ) IS
1371: SELECT NVL(igf_aw_packaging.get_date_instance(cp_base_id,teach_periods.date_offset_cd,terms.ld_cal_type,terms.ld_sequence_number),teach_periods.start_date) disb_dt,
1372: terms.ld_cal_type ld_cal_type,
1394: ORDER BY 1;
1395:
1396: CURSOR cur_terms_count_pell(
1397: cp_base_id igf_ap_fa_base_rec_all.base_id%TYPE,
1398: cp_adplans_id igf_aw_awd_dist_plans.adplans_id%TYPE
1399: ) IS
1400: SELECT COUNT(*)
1401: FROM igf_aw_dp_terms terms,
1402: (SELECT base_id,
1410: AND coaterms.ld_sequence_number = terms.ld_sequence_number
1411: AND coaterms.base_id = cp_base_id;
1412:
1413: CURSOR cur_terms_count_wcoa_pell(
1414: cp_adplans_id igf_aw_awd_dist_plans.adplans_id%TYPE
1415: ) IS
1416: SELECT COUNT(*)
1417: FROM igf_aw_dp_terms terms
1418: WHERE terms.adplans_id = cp_adplans_id;
1418: WHERE terms.adplans_id = cp_adplans_id;
1419:
1420: CURSOR c_coa_pell(
1421: cp_base_id igf_ap_fa_base_rec_all.base_id%TYPE,
1422: cp_adplans_id igf_aw_awd_dist_plans.adplans_id%TYPE
1423: ) IS
1424: SELECT SUM(amount) coa
1425: FROM igf_aw_coa_itm_terms coa_terms,
1426: (SELECT ld_cal_type,
1435: -------------bug 4077735----------------------
1436: -- Get COA
1437: CURSOR c_coa(
1438: cp_base_id igf_ap_fa_base_rec_all.base_id%TYPE,
1439: cp_adplans_id igf_aw_awd_dist_plans.adplans_id%TYPE,
1440: cp_awd_prd_code igf_aw_awd_prd_term.award_prd_cd%TYPE
1441: ) IS
1442: SELECT SUM(amount) coa
1443: FROM igf_aw_coa_itm_terms coa_terms,
1464: -- get terms count
1465: --
1466: CURSOR cur_terms_count(
1467: cp_base_id igf_ap_fa_base_rec_all.base_id%TYPE,
1468: cp_adplans_id igf_aw_awd_dist_plans.adplans_id%TYPE,
1469: cp_awd_prd_code igf_aw_awd_prd_term.award_prd_cd%TYPE
1470: ) IS
1471: SELECT COUNT(*)
1472: FROM igf_aw_dp_terms terms,
1491:
1492: l_terms_count NUMBER := 0;
1493:
1494: CURSOR cur_terms_count_wcoa(
1495: cp_adplans_id igf_aw_awd_dist_plans.adplans_id%TYPE,
1496: cp_awd_prd_code igf_aw_awd_prd_term.award_prd_cd%TYPE
1497: )
1498: IS
1499: SELECT COUNT(*)
1497: )
1498: IS
1499: SELECT COUNT(*)
1500: FROM igf_aw_dp_terms terms,
1501: igf_aw_awd_dist_plans dp,
1502: igf_aw_awd_prd_term aprd
1503: WHERE terms.adplans_id = cp_adplans_id
1504: AND terms.adplans_id = dp.adplans_id
1505: AND dp.cal_type = aprd.ci_cal_type
1539: x_nslds_hist cur_nslds_hist%ROWTYPE;
1540:
1541: -- Get distribution plan name
1542: CURSOR c_adplans_dtls(
1543: cp_adplans_id igf_aw_awd_dist_plans.adplans_id%TYPE
1544: ) IS
1545: SELECT awd_dist_plan_cd_desc
1546: FROM igf_aw_awd_dist_plans
1547: WHERE adplans_id = cp_adplans_id;
1542: CURSOR c_adplans_dtls(
1543: cp_adplans_id igf_aw_awd_dist_plans.adplans_id%TYPE
1544: ) IS
1545: SELECT awd_dist_plan_cd_desc
1546: FROM igf_aw_awd_dist_plans
1547: WHERE adplans_id = cp_adplans_id;
1548:
1549: l_adplans_dtls c_adplans_dtls%ROWTYPE;
1550:
1571: ld_disb_date1 igf_aw_awd_disb_all.disb_date%TYPE;
1572: ld_disb_exp_dt igf_aw_awd_disb_all.disb_exp_dt%TYPE;
1573: l_hold_ind igf_sl_cl_setup_all.hold_rel_ind%TYPE;
1574: l_auto_ind igf_sl_cl_setup_all.auto_late_disb_ind%TYPE;
1575: l_adplans_name igf_aw_awd_dist_plans.awd_dist_plan_cd_desc%TYPE;
1576:
1577: BEGIN
1578:
1579: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
4355:
4356: END awd_group_freeze;
4357:
4358: PROCEDURE get_common_perct(
4359: p_adplans_id IN igf_aw_awd_dist_plans.adplans_id%TYPE,
4360: p_base_id IN igf_ap_fa_base_rec_all.base_id%TYPE,
4361: p_perct OUT NOCOPY NUMBER,
4362: p_awd_prd_code IN igf_aw_awd_prd_term.award_prd_cd%TYPE
4363: ) AS
4430: END IF;
4431: END get_common_perct;
4432:
4433: PROCEDURE check_common_terms(
4434: p_adplans_id IN igf_aw_awd_dist_plans.adplans_id%TYPE,
4435: p_base_id IN igf_ap_fa_base_rec_all.base_id%TYPE,
4436: p_result OUT NOCOPY NUMBER,
4437: p_awd_prd_code IN igf_aw_awd_prd_term.award_prd_cd%TYPE
4438: ) AS