125:
126: END overaward_amount;
127:
128: FUNCTION coa_needs_update(
129: p_item_code igf_aw_coa_items.item_code%TYPE,
130: p_base_id igf_ap_fa_base_rec_all.base_id%TYPE,
131: p_amount igf_aw_coa_items.amount%TYPE,
132: p_pell_coa_amount igf_aw_coa_items.pell_coa_amount%TYPE,
133: p_alt_pell_amount igf_aw_coa_items.alt_pell_amount%TYPE,
127:
128: FUNCTION coa_needs_update(
129: p_item_code igf_aw_coa_items.item_code%TYPE,
130: p_base_id igf_ap_fa_base_rec_all.base_id%TYPE,
131: p_amount igf_aw_coa_items.amount%TYPE,
132: p_pell_coa_amount igf_aw_coa_items.pell_coa_amount%TYPE,
133: p_alt_pell_amount igf_aw_coa_items.alt_pell_amount%TYPE,
134: p_fixed_cost igf_aw_coa_items.fixed_cost%TYPE
135: ) RETURN BOOLEAN AS
128: FUNCTION coa_needs_update(
129: p_item_code igf_aw_coa_items.item_code%TYPE,
130: p_base_id igf_ap_fa_base_rec_all.base_id%TYPE,
131: p_amount igf_aw_coa_items.amount%TYPE,
132: p_pell_coa_amount igf_aw_coa_items.pell_coa_amount%TYPE,
133: p_alt_pell_amount igf_aw_coa_items.alt_pell_amount%TYPE,
134: p_fixed_cost igf_aw_coa_items.fixed_cost%TYPE
135: ) RETURN BOOLEAN AS
136: ------------------------------------------------------------------
129: p_item_code igf_aw_coa_items.item_code%TYPE,
130: p_base_id igf_ap_fa_base_rec_all.base_id%TYPE,
131: p_amount igf_aw_coa_items.amount%TYPE,
132: p_pell_coa_amount igf_aw_coa_items.pell_coa_amount%TYPE,
133: p_alt_pell_amount igf_aw_coa_items.alt_pell_amount%TYPE,
134: p_fixed_cost igf_aw_coa_items.fixed_cost%TYPE
135: ) RETURN BOOLEAN AS
136: ------------------------------------------------------------------
137: --Created by : veramach, Oracle India
130: p_base_id igf_ap_fa_base_rec_all.base_id%TYPE,
131: p_amount igf_aw_coa_items.amount%TYPE,
132: p_pell_coa_amount igf_aw_coa_items.pell_coa_amount%TYPE,
133: p_alt_pell_amount igf_aw_coa_items.alt_pell_amount%TYPE,
134: p_fixed_cost igf_aw_coa_items.fixed_cost%TYPE
135: ) RETURN BOOLEAN AS
136: ------------------------------------------------------------------
137: --Created by : veramach, Oracle India
138: --Date created: 07-JAN-2004
149: -------------------------------------------------------------------
150:
151: -- check if the student's COA item needs update or not
152: CURSOR c_coa_item(
153: cp_item_code igf_aw_coa_items.item_code%TYPE,
154: cp_base_id igf_ap_fa_base_rec_all.base_id%TYPE,
155: cp_amount igf_aw_coa_items.amount%TYPE,
156: cp_pell_coa_amount igf_aw_coa_items.pell_coa_amount%TYPE,
157: cp_alt_pell_amount igf_aw_coa_items.alt_pell_amount%TYPE,
151: -- check if the student's COA item needs update or not
152: CURSOR c_coa_item(
153: cp_item_code igf_aw_coa_items.item_code%TYPE,
154: cp_base_id igf_ap_fa_base_rec_all.base_id%TYPE,
155: cp_amount igf_aw_coa_items.amount%TYPE,
156: cp_pell_coa_amount igf_aw_coa_items.pell_coa_amount%TYPE,
157: cp_alt_pell_amount igf_aw_coa_items.alt_pell_amount%TYPE,
158: cp_fixed_cost igf_aw_coa_items.fixed_cost%TYPE
159: ) IS
152: CURSOR c_coa_item(
153: cp_item_code igf_aw_coa_items.item_code%TYPE,
154: cp_base_id igf_ap_fa_base_rec_all.base_id%TYPE,
155: cp_amount igf_aw_coa_items.amount%TYPE,
156: cp_pell_coa_amount igf_aw_coa_items.pell_coa_amount%TYPE,
157: cp_alt_pell_amount igf_aw_coa_items.alt_pell_amount%TYPE,
158: cp_fixed_cost igf_aw_coa_items.fixed_cost%TYPE
159: ) IS
160: SELECT lock_flag
153: cp_item_code igf_aw_coa_items.item_code%TYPE,
154: cp_base_id igf_ap_fa_base_rec_all.base_id%TYPE,
155: cp_amount igf_aw_coa_items.amount%TYPE,
156: cp_pell_coa_amount igf_aw_coa_items.pell_coa_amount%TYPE,
157: cp_alt_pell_amount igf_aw_coa_items.alt_pell_amount%TYPE,
158: cp_fixed_cost igf_aw_coa_items.fixed_cost%TYPE
159: ) IS
160: SELECT lock_flag
161: FROM igf_aw_coa_items
154: cp_base_id igf_ap_fa_base_rec_all.base_id%TYPE,
155: cp_amount igf_aw_coa_items.amount%TYPE,
156: cp_pell_coa_amount igf_aw_coa_items.pell_coa_amount%TYPE,
157: cp_alt_pell_amount igf_aw_coa_items.alt_pell_amount%TYPE,
158: cp_fixed_cost igf_aw_coa_items.fixed_cost%TYPE
159: ) IS
160: SELECT lock_flag
161: FROM igf_aw_coa_items
162: WHERE item_code = cp_item_code
157: cp_alt_pell_amount igf_aw_coa_items.alt_pell_amount%TYPE,
158: cp_fixed_cost igf_aw_coa_items.fixed_cost%TYPE
159: ) IS
160: SELECT lock_flag
161: FROM igf_aw_coa_items
162: WHERE item_code = cp_item_code
163: AND base_id = cp_base_id
164: AND amount = cp_amount
165: AND NVL(pell_coa_amount,-1) = NVL(cp_pell_coa_amount,-1)
170:
171:
172: -- get lock flag
173: CURSOR c_get_lock_flg(
174: cp_item_code igf_aw_coa_items.item_code%TYPE,
175: cp_base_id igf_ap_fa_base_rec_all.base_id%TYPE
176: ) IS
177: SELECT lock_flag
178: FROM igf_aw_coa_items
174: cp_item_code igf_aw_coa_items.item_code%TYPE,
175: cp_base_id igf_ap_fa_base_rec_all.base_id%TYPE
176: ) IS
177: SELECT lock_flag
178: FROM igf_aw_coa_items
179: WHERE item_code = cp_item_code
180: AND base_id = cp_base_id;
181:
182: l_get_lock_flg c_get_lock_flg%ROWTYPE;
297: ) IS
298: SELECT rowid row_id,
299: item_code,
300: lock_flag
301: FROM igf_aw_coa_items
302: WHERE base_id = cp_base_id;
303:
304: CURSOR c_coa_terms(
305: cp_base_id igf_ap_fa_base_rec_all.base_id%TYPE,
302: WHERE base_id = cp_base_id;
303:
304: CURSOR c_coa_terms(
305: cp_base_id igf_ap_fa_base_rec_all.base_id%TYPE,
306: cp_item_code igf_aw_coa_items.item_code%TYPE
307: ) IS
308: SELECT rowid row_id,
309: lock_flag
310: FROM igf_aw_coa_itm_terms
369: cp_base_id igf_ap_fa_base_rec_all.base_id%TYPE
370: ) IS
371: SELECT rowid row_id,
372: item_code
373: FROM igf_aw_coa_items
374: WHERE base_id = cp_base_id;
375:
376: CURSOR c_coa_terms(
377: cp_base_id igf_ap_fa_base_rec_all.base_id%TYPE,
374: WHERE base_id = cp_base_id;
375:
376: CURSOR c_coa_terms(
377: cp_base_id igf_ap_fa_base_rec_all.base_id%TYPE,
378: cp_item_code igf_aw_coa_items.item_code%TYPE
379: ) IS
380: SELECT rowid row_id
381: FROM igf_aw_coa_itm_terms
382: WHERE base_id = cp_base_id
398: x_rowid => coa_terms_rec.row_id
399: );
400: END LOOP;
401:
402: igf_aw_coa_items_pkg.delete_row(
403: x_rowid => coa_rec.row_id
404: );
405: fnd_message.set_name('IGF','IGF_AW_COA_ITEM_DEL');
406: fnd_message.set_token('ITEM_CODE',coa_rec.item_code);
684: ) coa_group_items,
685: (
686: SELECT rowid row_id,
687: item_code existing_item
688: FROM igf_aw_coa_items
689: WHERE base_id = c_base_id
690: ) assigned_coa
691: WHERE coa_group_items.new_item = assigned_coa.existing_item(+);
692:
716: c_item_code igf_aw_coa_itm_terms.item_code%TYPE
717: ) IS
718: SELECT item.rowid row_id,
719: item.*
720: FROM igf_aw_coa_items item
721: WHERE base_id = c_base_id
722: AND item_code = c_item_code;
723:
724: l_items c_items%ROWTYPE;
772: p_base_id || ' / '|| first_coa_rec.item_code);
773: END IF;
774: g_coa_updated := 'Y' ;
775:
776: igf_aw_coa_items_pkg.insert_row(
777: x_rowid => l_rowid,
778: x_base_id => p_base_id,
779: x_item_code => first_coa_rec.item_code,
780: x_amount => NVL(first_coa_rec.item_amount,0),
909: result := 'Y';
910: g_coa_updated := 'Y' ;
911: lv_item_assigned := 'N';
912:
913: igf_aw_coa_items_pkg.insert_row(
914: x_rowid => l_rowid,
915: x_base_id => p_base_id,
916: x_item_code => chk_item_match_rec.new_item,
917: x_amount => NVL(chk_item_match_rec.item_amount,0),
1051: --so insert the item
1052: g_coa_updated := 'Y' ;
1053: lv_item_assigned := 'N';
1054:
1055: igf_aw_coa_items_pkg.insert_row(
1056: x_rowid => l_rowid,
1057: x_base_id => p_base_id,
1058: x_item_code => chk_item_match_rec.new_item,
1059: x_amount => NVL(chk_item_match_rec.item_amount,0),
1173: IF coa_needs_update(chk_item_match_rec.new_item,p_base_id,chk_item_match_rec.item_amount,chk_item_match_rec.pell_amt,chk_item_match_rec.pell_alt_amt,chk_item_match_rec.fixed_cost) THEN
1174: IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
1175: fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_aw_coa_calc.add_coa_items.debug','updating item '||chk_item_match_rec.new_item);
1176: END IF;
1177: igf_aw_coa_items_pkg.update_row(
1178: x_rowid => chk_item_match_rec.row_id,
1179: x_base_id => p_base_id,
1180: x_item_code => chk_item_match_rec.new_item,
1181: x_amount => NVL(chk_item_match_rec.item_amount,0),
1347: --so insert the item
1348: g_coa_updated := 'Y' ;
1349: lv_item_assigned := 'N';
1350:
1351: igf_aw_coa_items_pkg.insert_row(
1352: x_rowid => l_rowid,
1353: x_base_id => p_base_id,
1354: x_item_code => chk_item_match_rec.new_item,
1355: x_amount => NVL(chk_item_match_rec.item_amount,0),
1465: ELSE
1466: --the student has the COA item assigned
1467: --so if it needs update, update it
1468: IF coa_needs_update(chk_item_match_rec.new_item,p_base_id,chk_item_match_rec.item_amount,chk_item_match_rec.pell_amt,chk_item_match_rec.pell_alt_amt,chk_item_match_rec.fixed_cost) THEN
1469: igf_aw_coa_items_pkg.update_row(
1470: x_rowid => chk_item_match_rec.row_id,
1471: x_base_id => p_base_id,
1472: x_item_code => chk_item_match_rec.new_item,
1473: x_amount => NVL(chk_item_match_rec.item_amount,0),
1621: OPEN c_items(p_base_id,l_terms.item_code);
1622: FETCH c_items INTO l_items;
1623: CLOSE c_items;
1624:
1625: igf_aw_coa_items_pkg.update_row(
1626: x_rowid => l_items.row_id,
1627: x_base_id => l_items.base_id,
1628: x_item_code => l_items.item_code,
1629: x_amount => l_terms.amount,
1772: cp_base_id igf_ap_fa_base_rec_all.base_id%TYPE
1773: ) IS
1774: SELECT SUM(NVL(pell_coa_amount,0)) pell_coa,
1775: SUM(NVL(alt_pell_amount,0)) alt_pell_coa
1776: FROM igf_aw_coa_items
1777: WHERE base_id = cp_base_id;
1778:
1779: l_old_coa c_pell_coa%ROWTYPE;
1780: l_new_coa c_pell_coa%ROWTYPE;