46: l_mode varchar2(20) := 'RUNNING POST';
47: BEGIN
48:
49: IF (p_log_level_rec.statement_level) THEN
50: fa_debug_pkg.add(l_calling_fn,'p_impair_class', p_impair_class, p_log_level_rec => p_log_level_rec);
51: fa_debug_pkg.add(l_calling_fn,'p_impair_loss_acct', p_impair_loss_acct, p_log_level_rec => p_log_level_rec);
52: fa_debug_pkg.add(l_calling_fn,'p_impairment_amount', p_impairment_amount, p_log_level_rec => p_log_level_rec);
53: fa_debug_pkg.add(l_calling_fn,'p_reval_reserve_adj', p_reval_reserve_adj, p_log_level_rec => p_log_level_rec);
54: fa_debug_pkg.add(l_calling_fn,'px_adj.book_type_code', px_adj.book_type_code, p_log_level_rec => p_log_level_rec);
47: BEGIN
48:
49: IF (p_log_level_rec.statement_level) THEN
50: fa_debug_pkg.add(l_calling_fn,'p_impair_class', p_impair_class, p_log_level_rec => p_log_level_rec);
51: fa_debug_pkg.add(l_calling_fn,'p_impair_loss_acct', p_impair_loss_acct, p_log_level_rec => p_log_level_rec);
52: fa_debug_pkg.add(l_calling_fn,'p_impairment_amount', p_impairment_amount, p_log_level_rec => p_log_level_rec);
53: fa_debug_pkg.add(l_calling_fn,'p_reval_reserve_adj', p_reval_reserve_adj, p_log_level_rec => p_log_level_rec);
54: fa_debug_pkg.add(l_calling_fn,'px_adj.book_type_code', px_adj.book_type_code, p_log_level_rec => p_log_level_rec);
55: fa_debug_pkg.add(l_calling_fn,'p_created_by', p_created_by, p_log_level_rec => p_log_level_rec);
48:
49: IF (p_log_level_rec.statement_level) THEN
50: fa_debug_pkg.add(l_calling_fn,'p_impair_class', p_impair_class, p_log_level_rec => p_log_level_rec);
51: fa_debug_pkg.add(l_calling_fn,'p_impair_loss_acct', p_impair_loss_acct, p_log_level_rec => p_log_level_rec);
52: fa_debug_pkg.add(l_calling_fn,'p_impairment_amount', p_impairment_amount, p_log_level_rec => p_log_level_rec);
53: fa_debug_pkg.add(l_calling_fn,'p_reval_reserve_adj', p_reval_reserve_adj, p_log_level_rec => p_log_level_rec);
54: fa_debug_pkg.add(l_calling_fn,'px_adj.book_type_code', px_adj.book_type_code, p_log_level_rec => p_log_level_rec);
55: fa_debug_pkg.add(l_calling_fn,'p_created_by', p_created_by, p_log_level_rec => p_log_level_rec);
56: fa_debug_pkg.add(l_calling_fn,'p_creation_date', p_creation_date, p_log_level_rec => p_log_level_rec);
49: IF (p_log_level_rec.statement_level) THEN
50: fa_debug_pkg.add(l_calling_fn,'p_impair_class', p_impair_class, p_log_level_rec => p_log_level_rec);
51: fa_debug_pkg.add(l_calling_fn,'p_impair_loss_acct', p_impair_loss_acct, p_log_level_rec => p_log_level_rec);
52: fa_debug_pkg.add(l_calling_fn,'p_impairment_amount', p_impairment_amount, p_log_level_rec => p_log_level_rec);
53: fa_debug_pkg.add(l_calling_fn,'p_reval_reserve_adj', p_reval_reserve_adj, p_log_level_rec => p_log_level_rec);
54: fa_debug_pkg.add(l_calling_fn,'px_adj.book_type_code', px_adj.book_type_code, p_log_level_rec => p_log_level_rec);
55: fa_debug_pkg.add(l_calling_fn,'p_created_by', p_created_by, p_log_level_rec => p_log_level_rec);
56: fa_debug_pkg.add(l_calling_fn,'p_creation_date', p_creation_date, p_log_level_rec => p_log_level_rec);
57: END IF;
50: fa_debug_pkg.add(l_calling_fn,'p_impair_class', p_impair_class, p_log_level_rec => p_log_level_rec);
51: fa_debug_pkg.add(l_calling_fn,'p_impair_loss_acct', p_impair_loss_acct, p_log_level_rec => p_log_level_rec);
52: fa_debug_pkg.add(l_calling_fn,'p_impairment_amount', p_impairment_amount, p_log_level_rec => p_log_level_rec);
53: fa_debug_pkg.add(l_calling_fn,'p_reval_reserve_adj', p_reval_reserve_adj, p_log_level_rec => p_log_level_rec);
54: fa_debug_pkg.add(l_calling_fn,'px_adj.book_type_code', px_adj.book_type_code, p_log_level_rec => p_log_level_rec);
55: fa_debug_pkg.add(l_calling_fn,'p_created_by', p_created_by, p_log_level_rec => p_log_level_rec);
56: fa_debug_pkg.add(l_calling_fn,'p_creation_date', p_creation_date, p_log_level_rec => p_log_level_rec);
57: END IF;
58:
51: fa_debug_pkg.add(l_calling_fn,'p_impair_loss_acct', p_impair_loss_acct, p_log_level_rec => p_log_level_rec);
52: fa_debug_pkg.add(l_calling_fn,'p_impairment_amount', p_impairment_amount, p_log_level_rec => p_log_level_rec);
53: fa_debug_pkg.add(l_calling_fn,'p_reval_reserve_adj', p_reval_reserve_adj, p_log_level_rec => p_log_level_rec);
54: fa_debug_pkg.add(l_calling_fn,'px_adj.book_type_code', px_adj.book_type_code, p_log_level_rec => p_log_level_rec);
55: fa_debug_pkg.add(l_calling_fn,'p_created_by', p_created_by, p_log_level_rec => p_log_level_rec);
56: fa_debug_pkg.add(l_calling_fn,'p_creation_date', p_creation_date, p_log_level_rec => p_log_level_rec);
57: END IF;
58:
59: --Leveling is not required for SORP entries
52: fa_debug_pkg.add(l_calling_fn,'p_impairment_amount', p_impairment_amount, p_log_level_rec => p_log_level_rec);
53: fa_debug_pkg.add(l_calling_fn,'p_reval_reserve_adj', p_reval_reserve_adj, p_log_level_rec => p_log_level_rec);
54: fa_debug_pkg.add(l_calling_fn,'px_adj.book_type_code', px_adj.book_type_code, p_log_level_rec => p_log_level_rec);
55: fa_debug_pkg.add(l_calling_fn,'p_created_by', p_created_by, p_log_level_rec => p_log_level_rec);
56: fa_debug_pkg.add(l_calling_fn,'p_creation_date', p_creation_date, p_log_level_rec => p_log_level_rec);
57: END IF;
58:
59: --Leveling is not required for SORP entries
60: px_adj.leveling_flag := FALSE;
69: px_adj.account := fa_cache_pkg.fazccb_record.impair_reserve_acct;
70: px_adj.debit_credit_flag := 'CR';
71: px_adj.insertion_order := null;
72: IF (p_log_level_rec.statement_level) THEN
73: fa_debug_pkg.add(l_calling_fn,'Calling faxinaj for '
74: , 'SORP Enabled Accumulated Impairments', p_log_level_rec => p_log_level_rec);
75: END IF;
76:
77: IF NOT FA_INS_ADJUST_PKG.faxinaj (px_adj,
93: END IF;
94: px_adj.debit_credit_flag := 'DR';
95: px_adj.insertion_order := p_impair_loss_acct;
96: IF (p_log_level_rec.statement_level) THEN
97: fa_debug_pkg.add(l_calling_fn,'Calling faxinaj for '
98: , 'SORP Enabled Impairments Expense', p_log_level_rec => p_log_level_rec);
99: END IF;
100:
101: IF NOT FA_INS_ADJUST_PKG.faxinaj (px_adj,
114: px_adj.account := fa_cache_pkg.fazccb_record.reval_reserve_acct;
115: px_adj.debit_credit_flag := 'DR';
116:
117: IF (p_log_level_rec.statement_level) THEN
118: fa_debug_pkg.add(l_calling_fn,'Calling faxinaj for '
119: , 'SORP Reval Reserve', p_log_level_rec => p_log_level_rec);
120: END IF;
121:
122: IF NOT FA_INS_ADJUST_PKG.faxinaj (px_adj,
132: , px_adj
133: , p_created_by
134: , p_creation_date
135: , p_log_level_rec => p_log_level_rec) THEN
136: fa_debug_pkg.add(l_calling_fn,'Error at create_sorp_neutral_acct',
137: 'for SORP for type CEB', p_log_level_rec => p_log_level_rec);
138: RETURN FALSE;
139: END IF;
140:
139: END IF;
140:
141:
142: IF (p_log_level_rec.statement_level) THEN
143: fa_debug_pkg.add(l_calling_fn,'create_acct_impair_class completed', 'Success', p_log_level_rec => p_log_level_rec);
144: END IF;
145:
146: --Reset the flag to True
147: px_adj.leveling_flag := TRUE;
151: EXCEPTION
152: WHEN pos_err THEN
153:
154: IF (p_log_level_rec.statement_level) THEN
155: fa_debug_pkg.add(l_calling_fn,'exception at create_acct_impair_class', 'pos_err', p_log_level_rec => p_log_level_rec);
156: fa_debug_pkg.add(l_calling_fn,'sqlerrm', substrb(sqlerrm, 1, 200));
157: END IF;
158:
159: RETURN FALSE;
152: WHEN pos_err THEN
153:
154: IF (p_log_level_rec.statement_level) THEN
155: fa_debug_pkg.add(l_calling_fn,'exception at create_acct_impair_class', 'pos_err', p_log_level_rec => p_log_level_rec);
156: fa_debug_pkg.add(l_calling_fn,'sqlerrm', substrb(sqlerrm, 1, 200));
157: END IF;
158:
159: RETURN FALSE;
160:
160:
161: WHEN OTHERS THEN
162:
163: IF (p_log_level_rec.statement_level) THEN
164: fa_debug_pkg.add(l_calling_fn,'exception at create_acct_impair_class', 'OTHERS', p_log_level_rec => p_log_level_rec);
165: fa_debug_pkg.add(l_calling_fn,'sqlerrm', substrb(sqlerrm, 1, 200));
166: END IF;
167:
168: RETURN FALSE;
161: WHEN OTHERS THEN
162:
163: IF (p_log_level_rec.statement_level) THEN
164: fa_debug_pkg.add(l_calling_fn,'exception at create_acct_impair_class', 'OTHERS', p_log_level_rec => p_log_level_rec);
165: fa_debug_pkg.add(l_calling_fn,'sqlerrm', substrb(sqlerrm, 1, 200));
166: END IF;
167:
168: RETURN FALSE;
169: END;
235: l_mode varchar2(20) := 'RUNNING POST';
236: BEGIN
237:
238: IF (p_log_level_rec.statement_level) THEN
239: fa_debug_pkg.add(l_calling_fn,'px_adj.book_type_code', px_adj.book_type_code, p_log_level_rec => p_log_level_rec);
240: fa_debug_pkg.add(l_calling_fn,'p_impairment_amount', p_impairment_amount, p_log_level_rec => p_log_level_rec);
241: fa_debug_pkg.add(l_calling_fn,'p_reval_reserve_adj', p_reval_reserve_adj, p_log_level_rec => p_log_level_rec);
242:
243: fa_debug_pkg.add(l_calling_fn,'p_impair_class', p_impair_class, p_log_level_rec => p_log_level_rec);
236: BEGIN
237:
238: IF (p_log_level_rec.statement_level) THEN
239: fa_debug_pkg.add(l_calling_fn,'px_adj.book_type_code', px_adj.book_type_code, p_log_level_rec => p_log_level_rec);
240: fa_debug_pkg.add(l_calling_fn,'p_impairment_amount', p_impairment_amount, p_log_level_rec => p_log_level_rec);
241: fa_debug_pkg.add(l_calling_fn,'p_reval_reserve_adj', p_reval_reserve_adj, p_log_level_rec => p_log_level_rec);
242:
243: fa_debug_pkg.add(l_calling_fn,'p_impair_class', p_impair_class, p_log_level_rec => p_log_level_rec);
244: fa_debug_pkg.add(l_calling_fn,'p_impair_loss_acct', p_impair_loss_acct, p_log_level_rec => p_log_level_rec);
237:
238: IF (p_log_level_rec.statement_level) THEN
239: fa_debug_pkg.add(l_calling_fn,'px_adj.book_type_code', px_adj.book_type_code, p_log_level_rec => p_log_level_rec);
240: fa_debug_pkg.add(l_calling_fn,'p_impairment_amount', p_impairment_amount, p_log_level_rec => p_log_level_rec);
241: fa_debug_pkg.add(l_calling_fn,'p_reval_reserve_adj', p_reval_reserve_adj, p_log_level_rec => p_log_level_rec);
242:
243: fa_debug_pkg.add(l_calling_fn,'p_impair_class', p_impair_class, p_log_level_rec => p_log_level_rec);
244: fa_debug_pkg.add(l_calling_fn,'p_impair_loss_acct', p_impair_loss_acct, p_log_level_rec => p_log_level_rec);
245: fa_debug_pkg.add(l_calling_fn,'p_split_impair_flag', p_split_impair_flag, p_log_level_rec => p_log_level_rec);
239: fa_debug_pkg.add(l_calling_fn,'px_adj.book_type_code', px_adj.book_type_code, p_log_level_rec => p_log_level_rec);
240: fa_debug_pkg.add(l_calling_fn,'p_impairment_amount', p_impairment_amount, p_log_level_rec => p_log_level_rec);
241: fa_debug_pkg.add(l_calling_fn,'p_reval_reserve_adj', p_reval_reserve_adj, p_log_level_rec => p_log_level_rec);
242:
243: fa_debug_pkg.add(l_calling_fn,'p_impair_class', p_impair_class, p_log_level_rec => p_log_level_rec);
244: fa_debug_pkg.add(l_calling_fn,'p_impair_loss_acct', p_impair_loss_acct, p_log_level_rec => p_log_level_rec);
245: fa_debug_pkg.add(l_calling_fn,'p_split_impair_flag', p_split_impair_flag, p_log_level_rec => p_log_level_rec);
246:
247: fa_debug_pkg.add(l_calling_fn,'p_split1_impair_class', p_split1_impair_class, p_log_level_rec => p_log_level_rec);
240: fa_debug_pkg.add(l_calling_fn,'p_impairment_amount', p_impairment_amount, p_log_level_rec => p_log_level_rec);
241: fa_debug_pkg.add(l_calling_fn,'p_reval_reserve_adj', p_reval_reserve_adj, p_log_level_rec => p_log_level_rec);
242:
243: fa_debug_pkg.add(l_calling_fn,'p_impair_class', p_impair_class, p_log_level_rec => p_log_level_rec);
244: fa_debug_pkg.add(l_calling_fn,'p_impair_loss_acct', p_impair_loss_acct, p_log_level_rec => p_log_level_rec);
245: fa_debug_pkg.add(l_calling_fn,'p_split_impair_flag', p_split_impair_flag, p_log_level_rec => p_log_level_rec);
246:
247: fa_debug_pkg.add(l_calling_fn,'p_split1_impair_class', p_split1_impair_class, p_log_level_rec => p_log_level_rec);
248: fa_debug_pkg.add(l_calling_fn,'p_split1_loss_amount', p_split1_loss_amount, p_log_level_rec => p_log_level_rec);
241: fa_debug_pkg.add(l_calling_fn,'p_reval_reserve_adj', p_reval_reserve_adj, p_log_level_rec => p_log_level_rec);
242:
243: fa_debug_pkg.add(l_calling_fn,'p_impair_class', p_impair_class, p_log_level_rec => p_log_level_rec);
244: fa_debug_pkg.add(l_calling_fn,'p_impair_loss_acct', p_impair_loss_acct, p_log_level_rec => p_log_level_rec);
245: fa_debug_pkg.add(l_calling_fn,'p_split_impair_flag', p_split_impair_flag, p_log_level_rec => p_log_level_rec);
246:
247: fa_debug_pkg.add(l_calling_fn,'p_split1_impair_class', p_split1_impair_class, p_log_level_rec => p_log_level_rec);
248: fa_debug_pkg.add(l_calling_fn,'p_split1_loss_amount', p_split1_loss_amount, p_log_level_rec => p_log_level_rec);
249: fa_debug_pkg.add(l_calling_fn,'p_split1_reval_reserve', p_split1_reval_reserve, p_log_level_rec => p_log_level_rec);
243: fa_debug_pkg.add(l_calling_fn,'p_impair_class', p_impair_class, p_log_level_rec => p_log_level_rec);
244: fa_debug_pkg.add(l_calling_fn,'p_impair_loss_acct', p_impair_loss_acct, p_log_level_rec => p_log_level_rec);
245: fa_debug_pkg.add(l_calling_fn,'p_split_impair_flag', p_split_impair_flag, p_log_level_rec => p_log_level_rec);
246:
247: fa_debug_pkg.add(l_calling_fn,'p_split1_impair_class', p_split1_impair_class, p_log_level_rec => p_log_level_rec);
248: fa_debug_pkg.add(l_calling_fn,'p_split1_loss_amount', p_split1_loss_amount, p_log_level_rec => p_log_level_rec);
249: fa_debug_pkg.add(l_calling_fn,'p_split1_reval_reserve', p_split1_reval_reserve, p_log_level_rec => p_log_level_rec);
250: fa_debug_pkg.add(l_calling_fn,'p_split1_loss_acct', p_split1_loss_acct, p_log_level_rec => p_log_level_rec);
251:
244: fa_debug_pkg.add(l_calling_fn,'p_impair_loss_acct', p_impair_loss_acct, p_log_level_rec => p_log_level_rec);
245: fa_debug_pkg.add(l_calling_fn,'p_split_impair_flag', p_split_impair_flag, p_log_level_rec => p_log_level_rec);
246:
247: fa_debug_pkg.add(l_calling_fn,'p_split1_impair_class', p_split1_impair_class, p_log_level_rec => p_log_level_rec);
248: fa_debug_pkg.add(l_calling_fn,'p_split1_loss_amount', p_split1_loss_amount, p_log_level_rec => p_log_level_rec);
249: fa_debug_pkg.add(l_calling_fn,'p_split1_reval_reserve', p_split1_reval_reserve, p_log_level_rec => p_log_level_rec);
250: fa_debug_pkg.add(l_calling_fn,'p_split1_loss_acct', p_split1_loss_acct, p_log_level_rec => p_log_level_rec);
251:
252: fa_debug_pkg.add(l_calling_fn,'p_split2_impair_class', p_split2_impair_class, p_log_level_rec => p_log_level_rec);
245: fa_debug_pkg.add(l_calling_fn,'p_split_impair_flag', p_split_impair_flag, p_log_level_rec => p_log_level_rec);
246:
247: fa_debug_pkg.add(l_calling_fn,'p_split1_impair_class', p_split1_impair_class, p_log_level_rec => p_log_level_rec);
248: fa_debug_pkg.add(l_calling_fn,'p_split1_loss_amount', p_split1_loss_amount, p_log_level_rec => p_log_level_rec);
249: fa_debug_pkg.add(l_calling_fn,'p_split1_reval_reserve', p_split1_reval_reserve, p_log_level_rec => p_log_level_rec);
250: fa_debug_pkg.add(l_calling_fn,'p_split1_loss_acct', p_split1_loss_acct, p_log_level_rec => p_log_level_rec);
251:
252: fa_debug_pkg.add(l_calling_fn,'p_split2_impair_class', p_split2_impair_class, p_log_level_rec => p_log_level_rec);
253: fa_debug_pkg.add(l_calling_fn,'p_split2_loss_amount', p_split2_loss_amount, p_log_level_rec => p_log_level_rec);
246:
247: fa_debug_pkg.add(l_calling_fn,'p_split1_impair_class', p_split1_impair_class, p_log_level_rec => p_log_level_rec);
248: fa_debug_pkg.add(l_calling_fn,'p_split1_loss_amount', p_split1_loss_amount, p_log_level_rec => p_log_level_rec);
249: fa_debug_pkg.add(l_calling_fn,'p_split1_reval_reserve', p_split1_reval_reserve, p_log_level_rec => p_log_level_rec);
250: fa_debug_pkg.add(l_calling_fn,'p_split1_loss_acct', p_split1_loss_acct, p_log_level_rec => p_log_level_rec);
251:
252: fa_debug_pkg.add(l_calling_fn,'p_split2_impair_class', p_split2_impair_class, p_log_level_rec => p_log_level_rec);
253: fa_debug_pkg.add(l_calling_fn,'p_split2_loss_amount', p_split2_loss_amount, p_log_level_rec => p_log_level_rec);
254: fa_debug_pkg.add(l_calling_fn,'p_split2_reval_reserve', p_split2_reval_reserve, p_log_level_rec => p_log_level_rec);
248: fa_debug_pkg.add(l_calling_fn,'p_split1_loss_amount', p_split1_loss_amount, p_log_level_rec => p_log_level_rec);
249: fa_debug_pkg.add(l_calling_fn,'p_split1_reval_reserve', p_split1_reval_reserve, p_log_level_rec => p_log_level_rec);
250: fa_debug_pkg.add(l_calling_fn,'p_split1_loss_acct', p_split1_loss_acct, p_log_level_rec => p_log_level_rec);
251:
252: fa_debug_pkg.add(l_calling_fn,'p_split2_impair_class', p_split2_impair_class, p_log_level_rec => p_log_level_rec);
253: fa_debug_pkg.add(l_calling_fn,'p_split2_loss_amount', p_split2_loss_amount, p_log_level_rec => p_log_level_rec);
254: fa_debug_pkg.add(l_calling_fn,'p_split2_reval_reserve', p_split2_reval_reserve, p_log_level_rec => p_log_level_rec);
255: fa_debug_pkg.add(l_calling_fn,'p_split2_loss_acct', p_split2_loss_acct, p_log_level_rec => p_log_level_rec);
256:
249: fa_debug_pkg.add(l_calling_fn,'p_split1_reval_reserve', p_split1_reval_reserve, p_log_level_rec => p_log_level_rec);
250: fa_debug_pkg.add(l_calling_fn,'p_split1_loss_acct', p_split1_loss_acct, p_log_level_rec => p_log_level_rec);
251:
252: fa_debug_pkg.add(l_calling_fn,'p_split2_impair_class', p_split2_impair_class, p_log_level_rec => p_log_level_rec);
253: fa_debug_pkg.add(l_calling_fn,'p_split2_loss_amount', p_split2_loss_amount, p_log_level_rec => p_log_level_rec);
254: fa_debug_pkg.add(l_calling_fn,'p_split2_reval_reserve', p_split2_reval_reserve, p_log_level_rec => p_log_level_rec);
255: fa_debug_pkg.add(l_calling_fn,'p_split2_loss_acct', p_split2_loss_acct, p_log_level_rec => p_log_level_rec);
256:
257: fa_debug_pkg.add(l_calling_fn,'p_split3_impair_class', p_split3_impair_class, p_log_level_rec => p_log_level_rec);
250: fa_debug_pkg.add(l_calling_fn,'p_split1_loss_acct', p_split1_loss_acct, p_log_level_rec => p_log_level_rec);
251:
252: fa_debug_pkg.add(l_calling_fn,'p_split2_impair_class', p_split2_impair_class, p_log_level_rec => p_log_level_rec);
253: fa_debug_pkg.add(l_calling_fn,'p_split2_loss_amount', p_split2_loss_amount, p_log_level_rec => p_log_level_rec);
254: fa_debug_pkg.add(l_calling_fn,'p_split2_reval_reserve', p_split2_reval_reserve, p_log_level_rec => p_log_level_rec);
255: fa_debug_pkg.add(l_calling_fn,'p_split2_loss_acct', p_split2_loss_acct, p_log_level_rec => p_log_level_rec);
256:
257: fa_debug_pkg.add(l_calling_fn,'p_split3_impair_class', p_split3_impair_class, p_log_level_rec => p_log_level_rec);
258: fa_debug_pkg.add(l_calling_fn,'p_split3_loss_amount', p_split3_loss_amount, p_log_level_rec => p_log_level_rec);
251:
252: fa_debug_pkg.add(l_calling_fn,'p_split2_impair_class', p_split2_impair_class, p_log_level_rec => p_log_level_rec);
253: fa_debug_pkg.add(l_calling_fn,'p_split2_loss_amount', p_split2_loss_amount, p_log_level_rec => p_log_level_rec);
254: fa_debug_pkg.add(l_calling_fn,'p_split2_reval_reserve', p_split2_reval_reserve, p_log_level_rec => p_log_level_rec);
255: fa_debug_pkg.add(l_calling_fn,'p_split2_loss_acct', p_split2_loss_acct, p_log_level_rec => p_log_level_rec);
256:
257: fa_debug_pkg.add(l_calling_fn,'p_split3_impair_class', p_split3_impair_class, p_log_level_rec => p_log_level_rec);
258: fa_debug_pkg.add(l_calling_fn,'p_split3_loss_amount', p_split3_loss_amount, p_log_level_rec => p_log_level_rec);
259: fa_debug_pkg.add(l_calling_fn,'p_split3_reval_reserve', p_split3_reval_reserve, p_log_level_rec => p_log_level_rec);
253: fa_debug_pkg.add(l_calling_fn,'p_split2_loss_amount', p_split2_loss_amount, p_log_level_rec => p_log_level_rec);
254: fa_debug_pkg.add(l_calling_fn,'p_split2_reval_reserve', p_split2_reval_reserve, p_log_level_rec => p_log_level_rec);
255: fa_debug_pkg.add(l_calling_fn,'p_split2_loss_acct', p_split2_loss_acct, p_log_level_rec => p_log_level_rec);
256:
257: fa_debug_pkg.add(l_calling_fn,'p_split3_impair_class', p_split3_impair_class, p_log_level_rec => p_log_level_rec);
258: fa_debug_pkg.add(l_calling_fn,'p_split3_loss_amount', p_split3_loss_amount, p_log_level_rec => p_log_level_rec);
259: fa_debug_pkg.add(l_calling_fn,'p_split3_reval_reserve', p_split3_reval_reserve, p_log_level_rec => p_log_level_rec);
260: fa_debug_pkg.add(l_calling_fn,'p_split3_loss_acct', p_split3_loss_acct, p_log_level_rec => p_log_level_rec);
261:
254: fa_debug_pkg.add(l_calling_fn,'p_split2_reval_reserve', p_split2_reval_reserve, p_log_level_rec => p_log_level_rec);
255: fa_debug_pkg.add(l_calling_fn,'p_split2_loss_acct', p_split2_loss_acct, p_log_level_rec => p_log_level_rec);
256:
257: fa_debug_pkg.add(l_calling_fn,'p_split3_impair_class', p_split3_impair_class, p_log_level_rec => p_log_level_rec);
258: fa_debug_pkg.add(l_calling_fn,'p_split3_loss_amount', p_split3_loss_amount, p_log_level_rec => p_log_level_rec);
259: fa_debug_pkg.add(l_calling_fn,'p_split3_reval_reserve', p_split3_reval_reserve, p_log_level_rec => p_log_level_rec);
260: fa_debug_pkg.add(l_calling_fn,'p_split3_loss_acct', p_split3_loss_acct, p_log_level_rec => p_log_level_rec);
261:
262: fa_debug_pkg.add(l_calling_fn,'p_created_by', p_created_by, p_log_level_rec => p_log_level_rec);
255: fa_debug_pkg.add(l_calling_fn,'p_split2_loss_acct', p_split2_loss_acct, p_log_level_rec => p_log_level_rec);
256:
257: fa_debug_pkg.add(l_calling_fn,'p_split3_impair_class', p_split3_impair_class, p_log_level_rec => p_log_level_rec);
258: fa_debug_pkg.add(l_calling_fn,'p_split3_loss_amount', p_split3_loss_amount, p_log_level_rec => p_log_level_rec);
259: fa_debug_pkg.add(l_calling_fn,'p_split3_reval_reserve', p_split3_reval_reserve, p_log_level_rec => p_log_level_rec);
260: fa_debug_pkg.add(l_calling_fn,'p_split3_loss_acct', p_split3_loss_acct, p_log_level_rec => p_log_level_rec);
261:
262: fa_debug_pkg.add(l_calling_fn,'p_created_by', p_created_by, p_log_level_rec => p_log_level_rec);
263: fa_debug_pkg.add(l_calling_fn,'p_creation_date', p_creation_date, p_log_level_rec => p_log_level_rec);
256:
257: fa_debug_pkg.add(l_calling_fn,'p_split3_impair_class', p_split3_impair_class, p_log_level_rec => p_log_level_rec);
258: fa_debug_pkg.add(l_calling_fn,'p_split3_loss_amount', p_split3_loss_amount, p_log_level_rec => p_log_level_rec);
259: fa_debug_pkg.add(l_calling_fn,'p_split3_reval_reserve', p_split3_reval_reserve, p_log_level_rec => p_log_level_rec);
260: fa_debug_pkg.add(l_calling_fn,'p_split3_loss_acct', p_split3_loss_acct, p_log_level_rec => p_log_level_rec);
261:
262: fa_debug_pkg.add(l_calling_fn,'p_created_by', p_created_by, p_log_level_rec => p_log_level_rec);
263: fa_debug_pkg.add(l_calling_fn,'p_creation_date', p_creation_date, p_log_level_rec => p_log_level_rec);
264: END IF;
258: fa_debug_pkg.add(l_calling_fn,'p_split3_loss_amount', p_split3_loss_amount, p_log_level_rec => p_log_level_rec);
259: fa_debug_pkg.add(l_calling_fn,'p_split3_reval_reserve', p_split3_reval_reserve, p_log_level_rec => p_log_level_rec);
260: fa_debug_pkg.add(l_calling_fn,'p_split3_loss_acct', p_split3_loss_acct, p_log_level_rec => p_log_level_rec);
261:
262: fa_debug_pkg.add(l_calling_fn,'p_created_by', p_created_by, p_log_level_rec => p_log_level_rec);
263: fa_debug_pkg.add(l_calling_fn,'p_creation_date', p_creation_date, p_log_level_rec => p_log_level_rec);
264: END IF;
265:
266: IF p_split_impair_flag = 'Y' THEN
259: fa_debug_pkg.add(l_calling_fn,'p_split3_reval_reserve', p_split3_reval_reserve, p_log_level_rec => p_log_level_rec);
260: fa_debug_pkg.add(l_calling_fn,'p_split3_loss_acct', p_split3_loss_acct, p_log_level_rec => p_log_level_rec);
261:
262: fa_debug_pkg.add(l_calling_fn,'p_created_by', p_created_by, p_log_level_rec => p_log_level_rec);
263: fa_debug_pkg.add(l_calling_fn,'p_creation_date', p_creation_date, p_log_level_rec => p_log_level_rec);
264: END IF;
265:
266: IF p_split_impair_flag = 'Y' THEN
267:
265:
266: IF p_split_impair_flag = 'Y' THEN
267:
268: IF (p_log_level_rec.statement_level) THEN
269: fa_debug_pkg.add(l_calling_fn,'calling create_acct_impair_class', 'split1', p_log_level_rec => p_log_level_rec);
270: END IF;
271:
272: IF p_split1_impair_class IS NOT NULL THEN
273: IF NOT create_acct_impair_class(
279: , p_created_by => p_created_by
280: , p_creation_date => p_creation_date
281: , p_log_level_rec => p_log_level_rec
282: ) THEN
283: fa_debug_pkg.add(l_calling_fn,'Error at split 1 create_acct_impair_class',
284: 'for SORP', p_log_level_rec => p_log_level_rec);
285: RETURN FALSE;
286: END IF;
287: END IF;
286: END IF;
287: END IF;
288:
289: IF (p_log_level_rec.statement_level) THEN
290: fa_debug_pkg.add(l_calling_fn,'calling create_acct_impair_class', 'split2', p_log_level_rec => p_log_level_rec);
291: END IF;
292:
293: IF p_split2_impair_class IS NOT NULL THEN
294: IF NOT create_acct_impair_class(
300: , p_created_by => p_created_by
301: , p_creation_date => p_creation_date
302: , p_log_level_rec => p_log_level_rec
303: ) THEN
304: fa_debug_pkg.add(l_calling_fn,'Error at split 2 create_acct_impair_class',
305: 'for SORP', p_log_level_rec => p_log_level_rec);
306: RETURN FALSE;
307: END IF;
308: END IF;
307: END IF;
308: END IF;
309:
310: IF (p_log_level_rec.statement_level) THEN
311: fa_debug_pkg.add(l_calling_fn,'calling create_acct_impair_class', 'split3', p_log_level_rec => p_log_level_rec);
312: END IF;
313:
314: IF p_split3_impair_class IS NOT NULL THEN
315: IF NOT create_acct_impair_class(
321: , p_created_by => p_created_by
322: , p_creation_date => p_creation_date
323: , p_log_level_rec => p_log_level_rec
324: ) THEN
325: fa_debug_pkg.add(l_calling_fn,'Error at split 3 create_acct_impair_class',
326: 'for SORP', p_log_level_rec => p_log_level_rec);
327: RETURN FALSE;
328: END IF;
329: END IF;
328: END IF;
329: END IF;
330:
331: If (p_log_level_rec.statement_level) THEN
332: fa_debug_pkg.add(l_calling_fn,'create_sorp_imp_acct completed for split', 'Success', p_log_level_rec => p_log_level_rec);
333: END IF;
334:
335: RETURN TRUE;
336:
336:
337: ELSE -- Impairment is not split
338:
339: IF (p_log_level_rec.statement_level) THEN
340: fa_debug_pkg.add(l_calling_fn,'calling', 'create_acct_impair_class', p_log_level_rec => p_log_level_rec);
341: END IF;
342:
343: IF NOT create_acct_impair_class(
344: p_impair_class => p_impair_class
350: , p_creation_date => p_creation_date
351: , p_log_level_rec => p_log_level_rec
352:
353: ) THEN
354: fa_debug_pkg.add(l_calling_fn,'Error at non split create_acct_impair_class',
355: 'for SORP', p_log_level_rec => p_log_level_rec);
356: RETURN FALSE;
357: END IF;
358:
356: RETURN FALSE;
357: END IF;
358:
359: IF (p_log_level_rec.statement_level) THEN
360: fa_debug_pkg.add(l_calling_fn,'create_acct_impair_class completed', 'Success', p_log_level_rec => p_log_level_rec);
361: END IF;
362:
363: IF (p_log_level_rec.statement_level) THEN
364: fa_debug_pkg.add(l_calling_fn,'create_sorp_imp_acct completed for non split', 'Success', p_log_level_rec => p_log_level_rec);
360: fa_debug_pkg.add(l_calling_fn,'create_acct_impair_class completed', 'Success', p_log_level_rec => p_log_level_rec);
361: END IF;
362:
363: IF (p_log_level_rec.statement_level) THEN
364: fa_debug_pkg.add(l_calling_fn,'create_sorp_imp_acct completed for non split', 'Success', p_log_level_rec => p_log_level_rec);
365: END IF;
366:
367: RETURN TRUE;
368:
371: EXCEPTION
372: WHEN OTHERS THEN
373:
374: IF (p_log_level_rec.statement_level) THEN
375: fa_debug_pkg.add(l_calling_fn,'exception at create_acct_impair_class', 'OTHERS', p_log_level_rec => p_log_level_rec);
376: fa_debug_pkg.add(l_calling_fn,'sqlerrm', substrb(sqlerrm, 1, 200));
377: END IF;
378:
379: RETURN FALSE;
372: WHEN OTHERS THEN
373:
374: IF (p_log_level_rec.statement_level) THEN
375: fa_debug_pkg.add(l_calling_fn,'exception at create_acct_impair_class', 'OTHERS', p_log_level_rec => p_log_level_rec);
376: fa_debug_pkg.add(l_calling_fn,'sqlerrm', substrb(sqlerrm, 1, 200));
377: END IF;
378:
379: RETURN FALSE;
380: END;
477: BEGIN
478:
479:
480: IF (p_log_level_rec.statement_level) THEN
481: fa_debug_pkg.add(l_calling_fn,'Start ', 'sorp_processing', p_log_level_rec => p_log_level_rec);
482: fa_debug_pkg.add(l_calling_fn,'p_request_id', p_request_id, p_log_level_rec => p_log_level_rec);
483: fa_debug_pkg.add(l_calling_fn,'p_impairment_id',p_impairment_id, p_log_level_rec => p_log_level_rec);
484: fa_debug_pkg.add(l_calling_fn,'p_mrc_sob_type_code ', p_mrc_sob_type_code, p_log_level_rec => p_log_level_rec);
485: fa_debug_pkg.add(l_calling_fn,'p_precision ', p_precision, p_log_level_rec => p_log_level_rec);
478:
479:
480: IF (p_log_level_rec.statement_level) THEN
481: fa_debug_pkg.add(l_calling_fn,'Start ', 'sorp_processing', p_log_level_rec => p_log_level_rec);
482: fa_debug_pkg.add(l_calling_fn,'p_request_id', p_request_id, p_log_level_rec => p_log_level_rec);
483: fa_debug_pkg.add(l_calling_fn,'p_impairment_id',p_impairment_id, p_log_level_rec => p_log_level_rec);
484: fa_debug_pkg.add(l_calling_fn,'p_mrc_sob_type_code ', p_mrc_sob_type_code, p_log_level_rec => p_log_level_rec);
485: fa_debug_pkg.add(l_calling_fn,'p_precision ', p_precision, p_log_level_rec => p_log_level_rec);
486: END IF;
479:
480: IF (p_log_level_rec.statement_level) THEN
481: fa_debug_pkg.add(l_calling_fn,'Start ', 'sorp_processing', p_log_level_rec => p_log_level_rec);
482: fa_debug_pkg.add(l_calling_fn,'p_request_id', p_request_id, p_log_level_rec => p_log_level_rec);
483: fa_debug_pkg.add(l_calling_fn,'p_impairment_id',p_impairment_id, p_log_level_rec => p_log_level_rec);
484: fa_debug_pkg.add(l_calling_fn,'p_mrc_sob_type_code ', p_mrc_sob_type_code, p_log_level_rec => p_log_level_rec);
485: fa_debug_pkg.add(l_calling_fn,'p_precision ', p_precision, p_log_level_rec => p_log_level_rec);
486: END IF;
487:
480: IF (p_log_level_rec.statement_level) THEN
481: fa_debug_pkg.add(l_calling_fn,'Start ', 'sorp_processing', p_log_level_rec => p_log_level_rec);
482: fa_debug_pkg.add(l_calling_fn,'p_request_id', p_request_id, p_log_level_rec => p_log_level_rec);
483: fa_debug_pkg.add(l_calling_fn,'p_impairment_id',p_impairment_id, p_log_level_rec => p_log_level_rec);
484: fa_debug_pkg.add(l_calling_fn,'p_mrc_sob_type_code ', p_mrc_sob_type_code, p_log_level_rec => p_log_level_rec);
485: fa_debug_pkg.add(l_calling_fn,'p_precision ', p_precision, p_log_level_rec => p_log_level_rec);
486: END IF;
487:
488: -- This is used for sorting and determining the order in which the splits
481: fa_debug_pkg.add(l_calling_fn,'Start ', 'sorp_processing', p_log_level_rec => p_log_level_rec);
482: fa_debug_pkg.add(l_calling_fn,'p_request_id', p_request_id, p_log_level_rec => p_log_level_rec);
483: fa_debug_pkg.add(l_calling_fn,'p_impairment_id',p_impairment_id, p_log_level_rec => p_log_level_rec);
484: fa_debug_pkg.add(l_calling_fn,'p_mrc_sob_type_code ', p_mrc_sob_type_code, p_log_level_rec => p_log_level_rec);
485: fa_debug_pkg.add(l_calling_fn,'p_precision ', p_precision, p_log_level_rec => p_log_level_rec);
486: END IF;
487:
488: -- This is used for sorting and determining the order in which the splits
489: -- have to be processed
506: , t_split3_impair_class
507: ;
508:
509: IF t_asset_id.count = 0 THEN
510: fa_debug_pkg.add(l_calling_fn,'p_impairment_id', p_impairment_id, p_log_level_rec => p_log_level_rec);
511: fa_debug_pkg.add(l_calling_fn,'p_book_type_code', p_book_type_code, p_log_level_rec => p_log_level_rec);
512: fa_debug_pkg.add(l_calling_fn,'Unexpected error at c_mc_impairment_details', 'FA_ITF_IMPAIRMENTS', p_log_level_rec => p_log_level_rec);
513: CLOSE c_mc_impairment_details;
514: RETURN FALSE;
507: ;
508:
509: IF t_asset_id.count = 0 THEN
510: fa_debug_pkg.add(l_calling_fn,'p_impairment_id', p_impairment_id, p_log_level_rec => p_log_level_rec);
511: fa_debug_pkg.add(l_calling_fn,'p_book_type_code', p_book_type_code, p_log_level_rec => p_log_level_rec);
512: fa_debug_pkg.add(l_calling_fn,'Unexpected error at c_mc_impairment_details', 'FA_ITF_IMPAIRMENTS', p_log_level_rec => p_log_level_rec);
513: CLOSE c_mc_impairment_details;
514: RETURN FALSE;
515: END IF;
508:
509: IF t_asset_id.count = 0 THEN
510: fa_debug_pkg.add(l_calling_fn,'p_impairment_id', p_impairment_id, p_log_level_rec => p_log_level_rec);
511: fa_debug_pkg.add(l_calling_fn,'p_book_type_code', p_book_type_code, p_log_level_rec => p_log_level_rec);
512: fa_debug_pkg.add(l_calling_fn,'Unexpected error at c_mc_impairment_details', 'FA_ITF_IMPAIRMENTS', p_log_level_rec => p_log_level_rec);
513: CLOSE c_mc_impairment_details;
514: RETURN FALSE;
515: END IF;
516:
529: , t_split3_impair_class
530: ;
531:
532: IF t_asset_id.count = 0 THEN
533: fa_debug_pkg.add(l_calling_fn,'p_impairment_id', p_impairment_id, p_log_level_rec => p_log_level_rec);
534: fa_debug_pkg.add(l_calling_fn,'p_book_type_code', p_book_type_code, p_log_level_rec => p_log_level_rec);
535: fa_debug_pkg.add(l_calling_fn,'Unexpected error at c_impairment_details', 'FA_ITF_IMPAIRMENTS', p_log_level_rec => p_log_level_rec);
536: CLOSE c_impairment_details;
537: RETURN FALSE;
530: ;
531:
532: IF t_asset_id.count = 0 THEN
533: fa_debug_pkg.add(l_calling_fn,'p_impairment_id', p_impairment_id, p_log_level_rec => p_log_level_rec);
534: fa_debug_pkg.add(l_calling_fn,'p_book_type_code', p_book_type_code, p_log_level_rec => p_log_level_rec);
535: fa_debug_pkg.add(l_calling_fn,'Unexpected error at c_impairment_details', 'FA_ITF_IMPAIRMENTS', p_log_level_rec => p_log_level_rec);
536: CLOSE c_impairment_details;
537: RETURN FALSE;
538: END IF;
531:
532: IF t_asset_id.count = 0 THEN
533: fa_debug_pkg.add(l_calling_fn,'p_impairment_id', p_impairment_id, p_log_level_rec => p_log_level_rec);
534: fa_debug_pkg.add(l_calling_fn,'p_book_type_code', p_book_type_code, p_log_level_rec => p_log_level_rec);
535: fa_debug_pkg.add(l_calling_fn,'Unexpected error at c_impairment_details', 'FA_ITF_IMPAIRMENTS', p_log_level_rec => p_log_level_rec);
536: CLOSE c_impairment_details;
537: RETURN FALSE;
538: END IF;
539:
540: CLOSE c_impairment_details;
541: END IF;
542:
543: IF (p_log_level_rec.statement_level) THEN
544: fa_debug_pkg.add(l_calling_fn,'Number of records fetched', t_asset_id.count, p_log_level_rec => p_log_level_rec);
545: END IF;
546:
547: FOR i IN t_asset_id.FIRST..t_asset_id.LAST LOOP
548:
546:
547: FOR i IN t_asset_id.FIRST..t_asset_id.LAST LOOP
548:
549: IF (p_log_level_rec.statement_level) THEN
550: fa_debug_pkg.add(l_calling_fn,'i', i, p_log_level_rec => p_log_level_rec);
551: fa_debug_pkg.add(l_calling_fn,'t_impair_amount(i)', t_impair_amount(i));
552: fa_debug_pkg.add(l_calling_fn,'t_reval_reserve(i)', t_reval_reserve(i));
553: fa_debug_pkg.add(l_calling_fn,'t_split_impair_flag(i)', t_split_impair_flag(i));
554: fa_debug_pkg.add(l_calling_fn,'t_split1_percent(i)', t_split1_percent(i));
547: FOR i IN t_asset_id.FIRST..t_asset_id.LAST LOOP
548:
549: IF (p_log_level_rec.statement_level) THEN
550: fa_debug_pkg.add(l_calling_fn,'i', i, p_log_level_rec => p_log_level_rec);
551: fa_debug_pkg.add(l_calling_fn,'t_impair_amount(i)', t_impair_amount(i));
552: fa_debug_pkg.add(l_calling_fn,'t_reval_reserve(i)', t_reval_reserve(i));
553: fa_debug_pkg.add(l_calling_fn,'t_split_impair_flag(i)', t_split_impair_flag(i));
554: fa_debug_pkg.add(l_calling_fn,'t_split1_percent(i)', t_split1_percent(i));
555: fa_debug_pkg.add(l_calling_fn,'t_split2_percent(i)', t_split2_percent(i));
548:
549: IF (p_log_level_rec.statement_level) THEN
550: fa_debug_pkg.add(l_calling_fn,'i', i, p_log_level_rec => p_log_level_rec);
551: fa_debug_pkg.add(l_calling_fn,'t_impair_amount(i)', t_impair_amount(i));
552: fa_debug_pkg.add(l_calling_fn,'t_reval_reserve(i)', t_reval_reserve(i));
553: fa_debug_pkg.add(l_calling_fn,'t_split_impair_flag(i)', t_split_impair_flag(i));
554: fa_debug_pkg.add(l_calling_fn,'t_split1_percent(i)', t_split1_percent(i));
555: fa_debug_pkg.add(l_calling_fn,'t_split2_percent(i)', t_split2_percent(i));
556: fa_debug_pkg.add(l_calling_fn,'t_split3_percent(i)', t_split3_percent(i));
549: IF (p_log_level_rec.statement_level) THEN
550: fa_debug_pkg.add(l_calling_fn,'i', i, p_log_level_rec => p_log_level_rec);
551: fa_debug_pkg.add(l_calling_fn,'t_impair_amount(i)', t_impair_amount(i));
552: fa_debug_pkg.add(l_calling_fn,'t_reval_reserve(i)', t_reval_reserve(i));
553: fa_debug_pkg.add(l_calling_fn,'t_split_impair_flag(i)', t_split_impair_flag(i));
554: fa_debug_pkg.add(l_calling_fn,'t_split1_percent(i)', t_split1_percent(i));
555: fa_debug_pkg.add(l_calling_fn,'t_split2_percent(i)', t_split2_percent(i));
556: fa_debug_pkg.add(l_calling_fn,'t_split3_percent(i)', t_split3_percent(i));
557: fa_debug_pkg.add(l_calling_fn,'t_asset_id(i)', t_asset_id(i));
550: fa_debug_pkg.add(l_calling_fn,'i', i, p_log_level_rec => p_log_level_rec);
551: fa_debug_pkg.add(l_calling_fn,'t_impair_amount(i)', t_impair_amount(i));
552: fa_debug_pkg.add(l_calling_fn,'t_reval_reserve(i)', t_reval_reserve(i));
553: fa_debug_pkg.add(l_calling_fn,'t_split_impair_flag(i)', t_split_impair_flag(i));
554: fa_debug_pkg.add(l_calling_fn,'t_split1_percent(i)', t_split1_percent(i));
555: fa_debug_pkg.add(l_calling_fn,'t_split2_percent(i)', t_split2_percent(i));
556: fa_debug_pkg.add(l_calling_fn,'t_split3_percent(i)', t_split3_percent(i));
557: fa_debug_pkg.add(l_calling_fn,'t_asset_id(i)', t_asset_id(i));
558: fa_debug_pkg.add(l_calling_fn,'t_split1_impair_class(i)', t_split1_impair_class(i));
551: fa_debug_pkg.add(l_calling_fn,'t_impair_amount(i)', t_impair_amount(i));
552: fa_debug_pkg.add(l_calling_fn,'t_reval_reserve(i)', t_reval_reserve(i));
553: fa_debug_pkg.add(l_calling_fn,'t_split_impair_flag(i)', t_split_impair_flag(i));
554: fa_debug_pkg.add(l_calling_fn,'t_split1_percent(i)', t_split1_percent(i));
555: fa_debug_pkg.add(l_calling_fn,'t_split2_percent(i)', t_split2_percent(i));
556: fa_debug_pkg.add(l_calling_fn,'t_split3_percent(i)', t_split3_percent(i));
557: fa_debug_pkg.add(l_calling_fn,'t_asset_id(i)', t_asset_id(i));
558: fa_debug_pkg.add(l_calling_fn,'t_split1_impair_class(i)', t_split1_impair_class(i));
559: fa_debug_pkg.add(l_calling_fn,'t_split2_impair_class(i)', t_split2_impair_class(i));
552: fa_debug_pkg.add(l_calling_fn,'t_reval_reserve(i)', t_reval_reserve(i));
553: fa_debug_pkg.add(l_calling_fn,'t_split_impair_flag(i)', t_split_impair_flag(i));
554: fa_debug_pkg.add(l_calling_fn,'t_split1_percent(i)', t_split1_percent(i));
555: fa_debug_pkg.add(l_calling_fn,'t_split2_percent(i)', t_split2_percent(i));
556: fa_debug_pkg.add(l_calling_fn,'t_split3_percent(i)', t_split3_percent(i));
557: fa_debug_pkg.add(l_calling_fn,'t_asset_id(i)', t_asset_id(i));
558: fa_debug_pkg.add(l_calling_fn,'t_split1_impair_class(i)', t_split1_impair_class(i));
559: fa_debug_pkg.add(l_calling_fn,'t_split2_impair_class(i)', t_split2_impair_class(i));
560: fa_debug_pkg.add(l_calling_fn,'t_split3_impair_class(i)', t_split3_impair_class(i));
553: fa_debug_pkg.add(l_calling_fn,'t_split_impair_flag(i)', t_split_impair_flag(i));
554: fa_debug_pkg.add(l_calling_fn,'t_split1_percent(i)', t_split1_percent(i));
555: fa_debug_pkg.add(l_calling_fn,'t_split2_percent(i)', t_split2_percent(i));
556: fa_debug_pkg.add(l_calling_fn,'t_split3_percent(i)', t_split3_percent(i));
557: fa_debug_pkg.add(l_calling_fn,'t_asset_id(i)', t_asset_id(i));
558: fa_debug_pkg.add(l_calling_fn,'t_split1_impair_class(i)', t_split1_impair_class(i));
559: fa_debug_pkg.add(l_calling_fn,'t_split2_impair_class(i)', t_split2_impair_class(i));
560: fa_debug_pkg.add(l_calling_fn,'t_split3_impair_class(i)', t_split3_impair_class(i));
561: END IF;
554: fa_debug_pkg.add(l_calling_fn,'t_split1_percent(i)', t_split1_percent(i));
555: fa_debug_pkg.add(l_calling_fn,'t_split2_percent(i)', t_split2_percent(i));
556: fa_debug_pkg.add(l_calling_fn,'t_split3_percent(i)', t_split3_percent(i));
557: fa_debug_pkg.add(l_calling_fn,'t_asset_id(i)', t_asset_id(i));
558: fa_debug_pkg.add(l_calling_fn,'t_split1_impair_class(i)', t_split1_impair_class(i));
559: fa_debug_pkg.add(l_calling_fn,'t_split2_impair_class(i)', t_split2_impair_class(i));
560: fa_debug_pkg.add(l_calling_fn,'t_split3_impair_class(i)', t_split3_impair_class(i));
561: END IF;
562:
555: fa_debug_pkg.add(l_calling_fn,'t_split2_percent(i)', t_split2_percent(i));
556: fa_debug_pkg.add(l_calling_fn,'t_split3_percent(i)', t_split3_percent(i));
557: fa_debug_pkg.add(l_calling_fn,'t_asset_id(i)', t_asset_id(i));
558: fa_debug_pkg.add(l_calling_fn,'t_split1_impair_class(i)', t_split1_impair_class(i));
559: fa_debug_pkg.add(l_calling_fn,'t_split2_impair_class(i)', t_split2_impair_class(i));
560: fa_debug_pkg.add(l_calling_fn,'t_split3_impair_class(i)', t_split3_impair_class(i));
561: END IF;
562:
563: IF t_split_impair_flag(i) = 'Y' THEN -- If the impairment is split
556: fa_debug_pkg.add(l_calling_fn,'t_split3_percent(i)', t_split3_percent(i));
557: fa_debug_pkg.add(l_calling_fn,'t_asset_id(i)', t_asset_id(i));
558: fa_debug_pkg.add(l_calling_fn,'t_split1_impair_class(i)', t_split1_impair_class(i));
559: fa_debug_pkg.add(l_calling_fn,'t_split2_impair_class(i)', t_split2_impair_class(i));
560: fa_debug_pkg.add(l_calling_fn,'t_split3_impair_class(i)', t_split3_impair_class(i));
561: END IF;
562:
563: IF t_split_impair_flag(i) = 'Y' THEN -- If the impairment is split
564:
587: END IF;
588: END IF;
589:
590: IF (p_log_level_rec.statement_level) THEN
591: fa_debug_pkg.add(l_calling_fn,'l_number_of_splits', l_number_of_splits, p_log_level_rec => p_log_level_rec);
592: fa_debug_pkg.add(l_calling_fn,'l_split1_loss_amount', l_split1_loss_amount, p_log_level_rec => p_log_level_rec);
593: fa_debug_pkg.add(l_calling_fn,'l_split2_loss_amount', l_split2_loss_amount, p_log_level_rec => p_log_level_rec);
594: fa_debug_pkg.add(l_calling_fn,'l_split3_loss_amount', l_split3_loss_amount, p_log_level_rec => p_log_level_rec);
595: fa_debug_pkg.add(l_calling_fn,'t_reval_reserve(i)',t_reval_reserve(i));
588: END IF;
589:
590: IF (p_log_level_rec.statement_level) THEN
591: fa_debug_pkg.add(l_calling_fn,'l_number_of_splits', l_number_of_splits, p_log_level_rec => p_log_level_rec);
592: fa_debug_pkg.add(l_calling_fn,'l_split1_loss_amount', l_split1_loss_amount, p_log_level_rec => p_log_level_rec);
593: fa_debug_pkg.add(l_calling_fn,'l_split2_loss_amount', l_split2_loss_amount, p_log_level_rec => p_log_level_rec);
594: fa_debug_pkg.add(l_calling_fn,'l_split3_loss_amount', l_split3_loss_amount, p_log_level_rec => p_log_level_rec);
595: fa_debug_pkg.add(l_calling_fn,'t_reval_reserve(i)',t_reval_reserve(i));
596: fa_debug_pkg.add(l_calling_fn,'Calculation of split amounts', 'Completed', p_log_level_rec => p_log_level_rec);
589:
590: IF (p_log_level_rec.statement_level) THEN
591: fa_debug_pkg.add(l_calling_fn,'l_number_of_splits', l_number_of_splits, p_log_level_rec => p_log_level_rec);
592: fa_debug_pkg.add(l_calling_fn,'l_split1_loss_amount', l_split1_loss_amount, p_log_level_rec => p_log_level_rec);
593: fa_debug_pkg.add(l_calling_fn,'l_split2_loss_amount', l_split2_loss_amount, p_log_level_rec => p_log_level_rec);
594: fa_debug_pkg.add(l_calling_fn,'l_split3_loss_amount', l_split3_loss_amount, p_log_level_rec => p_log_level_rec);
595: fa_debug_pkg.add(l_calling_fn,'t_reval_reserve(i)',t_reval_reserve(i));
596: fa_debug_pkg.add(l_calling_fn,'Calculation of split amounts', 'Completed', p_log_level_rec => p_log_level_rec);
597: END IF;
590: IF (p_log_level_rec.statement_level) THEN
591: fa_debug_pkg.add(l_calling_fn,'l_number_of_splits', l_number_of_splits, p_log_level_rec => p_log_level_rec);
592: fa_debug_pkg.add(l_calling_fn,'l_split1_loss_amount', l_split1_loss_amount, p_log_level_rec => p_log_level_rec);
593: fa_debug_pkg.add(l_calling_fn,'l_split2_loss_amount', l_split2_loss_amount, p_log_level_rec => p_log_level_rec);
594: fa_debug_pkg.add(l_calling_fn,'l_split3_loss_amount', l_split3_loss_amount, p_log_level_rec => p_log_level_rec);
595: fa_debug_pkg.add(l_calling_fn,'t_reval_reserve(i)',t_reval_reserve(i));
596: fa_debug_pkg.add(l_calling_fn,'Calculation of split amounts', 'Completed', p_log_level_rec => p_log_level_rec);
597: END IF;
598:
591: fa_debug_pkg.add(l_calling_fn,'l_number_of_splits', l_number_of_splits, p_log_level_rec => p_log_level_rec);
592: fa_debug_pkg.add(l_calling_fn,'l_split1_loss_amount', l_split1_loss_amount, p_log_level_rec => p_log_level_rec);
593: fa_debug_pkg.add(l_calling_fn,'l_split2_loss_amount', l_split2_loss_amount, p_log_level_rec => p_log_level_rec);
594: fa_debug_pkg.add(l_calling_fn,'l_split3_loss_amount', l_split3_loss_amount, p_log_level_rec => p_log_level_rec);
595: fa_debug_pkg.add(l_calling_fn,'t_reval_reserve(i)',t_reval_reserve(i));
596: fa_debug_pkg.add(l_calling_fn,'Calculation of split amounts', 'Completed', p_log_level_rec => p_log_level_rec);
597: END IF;
598:
599: --------------------------------------------------------------------
592: fa_debug_pkg.add(l_calling_fn,'l_split1_loss_amount', l_split1_loss_amount, p_log_level_rec => p_log_level_rec);
593: fa_debug_pkg.add(l_calling_fn,'l_split2_loss_amount', l_split2_loss_amount, p_log_level_rec => p_log_level_rec);
594: fa_debug_pkg.add(l_calling_fn,'l_split3_loss_amount', l_split3_loss_amount, p_log_level_rec => p_log_level_rec);
595: fa_debug_pkg.add(l_calling_fn,'t_reval_reserve(i)',t_reval_reserve(i));
596: fa_debug_pkg.add(l_calling_fn,'Calculation of split amounts', 'Completed', p_log_level_rec => p_log_level_rec);
597: END IF;
598:
599: --------------------------------------------------------------------
600: -- End of Logic A
657: t_split_process_order(3).split_loss_amount := l_split3_loss_amount;
658: t_split_process_order(3).split_number := 3;
659:
660: IF (p_log_level_rec.statement_level) THEN
661: fa_debug_pkg.add(l_calling_fn,'t_split_process_order', 'Populated', p_log_level_rec => p_log_level_rec);
662: END IF;
663:
664:
665: -- The actual sorting logic to determine the split processing order
693: END LOOP; -- End Loop j
694:
695:
696: IF (p_log_level_rec.statement_level) THEN
697: fa_debug_pkg.add(l_calling_fn,'Calculation of split processing order', 'Completed', p_log_level_rec => p_log_level_rec);
698: END IF;
699:
700: --------------------------------------------------------------------
701: -- End of Logic B
710: -- records
711: --******************************************************************
712:
713: IF (p_log_level_rec.statement_level) THEN
714: fa_debug_pkg.add(l_calling_fn,'t_reval_reserve(i)', t_reval_reserve(i));
715: END IF;
716:
717:
718: IF t_reval_reserve(i) = 0 THEN
756: AND nvl(GOODWILL_ASSET_FLAG, 'N') <> 'Y';
757: END IF;
758:
759: IF (p_log_level_rec.statement_level) THEN
760: fa_debug_pkg.add(l_calling_fn,'t_reval_reserve(i)', t_reval_reserve(i));
761: fa_debug_pkg.add(l_calling_fn,'Updated FA_ITF_IMPAIRMENTS', 'UPDATED', p_log_level_rec => p_log_level_rec);
762: END IF;
763:
764: ELSE -- t_reval_reserve(i) <> 0
757: END IF;
758:
759: IF (p_log_level_rec.statement_level) THEN
760: fa_debug_pkg.add(l_calling_fn,'t_reval_reserve(i)', t_reval_reserve(i));
761: fa_debug_pkg.add(l_calling_fn,'Updated FA_ITF_IMPAIRMENTS', 'UPDATED', p_log_level_rec => p_log_level_rec);
762: END IF;
763:
764: ELSE -- t_reval_reserve(i) <> 0
765: IF t_reval_reserve(i) > 0 THEN
768: -- This revaluation reserve must be consumed in the order
769: -- in determined in Logic B
770: FOR j IN 1..l_number_of_splits LOOP
771: IF (p_log_level_rec.statement_level) THEN
772: fa_debug_pkg.add(l_calling_fn,'j', j, p_log_level_rec => p_log_level_rec);
773: END IF;
774:
775: IF (p_log_level_rec.statement_level) THEN
776: fa_debug_pkg.add(l_calling_fn,'split order j', j, p_log_level_rec => p_log_level_rec);
772: fa_debug_pkg.add(l_calling_fn,'j', j, p_log_level_rec => p_log_level_rec);
773: END IF;
774:
775: IF (p_log_level_rec.statement_level) THEN
776: fa_debug_pkg.add(l_calling_fn,'split order j', j, p_log_level_rec => p_log_level_rec);
777: fa_debug_pkg.add(l_calling_fn,'before consumption t_split_process_order(j).reval_reserve'
778: , t_split_process_order(j).reval_reserve);
779: fa_debug_pkg.add(l_calling_fn,'before consumption t_reval_reserve(i)', t_reval_reserve(i));
780: END IF;
773: END IF;
774:
775: IF (p_log_level_rec.statement_level) THEN
776: fa_debug_pkg.add(l_calling_fn,'split order j', j, p_log_level_rec => p_log_level_rec);
777: fa_debug_pkg.add(l_calling_fn,'before consumption t_split_process_order(j).reval_reserve'
778: , t_split_process_order(j).reval_reserve);
779: fa_debug_pkg.add(l_calling_fn,'before consumption t_reval_reserve(i)', t_reval_reserve(i));
780: END IF;
781:
775: IF (p_log_level_rec.statement_level) THEN
776: fa_debug_pkg.add(l_calling_fn,'split order j', j, p_log_level_rec => p_log_level_rec);
777: fa_debug_pkg.add(l_calling_fn,'before consumption t_split_process_order(j).reval_reserve'
778: , t_split_process_order(j).reval_reserve);
779: fa_debug_pkg.add(l_calling_fn,'before consumption t_reval_reserve(i)', t_reval_reserve(i));
780: END IF;
781:
782: IF t_reval_reserve(i) > 0 THEN
783: IF t_split_process_order(j).split_loss_amount >= t_reval_reserve(i) THEN
791: t_split_process_order(j).reval_reserve := 0;
792: END IF; -- t_reval_reserve(i) > 0
793:
794: IF (p_log_level_rec.statement_level) THEN
795: fa_debug_pkg.add(l_calling_fn,'split order j', j, p_log_level_rec => p_log_level_rec);
796: fa_debug_pkg.add(l_calling_fn,'t_split_process_order(j).split_class_code', t_split_process_order(j).split_class_code);
797: fa_debug_pkg.add(l_calling_fn,'t_split_process_order(j).split_number', t_split_process_order(j).split_number);
798: fa_debug_pkg.add(l_calling_fn,'t_split_process_order(j).split_loss_amount', t_split_process_order(j).split_loss_amount);
799: fa_debug_pkg.add(l_calling_fn,'t_split_process_order(j).reval_reserve', t_split_process_order(j).reval_reserve);
792: END IF; -- t_reval_reserve(i) > 0
793:
794: IF (p_log_level_rec.statement_level) THEN
795: fa_debug_pkg.add(l_calling_fn,'split order j', j, p_log_level_rec => p_log_level_rec);
796: fa_debug_pkg.add(l_calling_fn,'t_split_process_order(j).split_class_code', t_split_process_order(j).split_class_code);
797: fa_debug_pkg.add(l_calling_fn,'t_split_process_order(j).split_number', t_split_process_order(j).split_number);
798: fa_debug_pkg.add(l_calling_fn,'t_split_process_order(j).split_loss_amount', t_split_process_order(j).split_loss_amount);
799: fa_debug_pkg.add(l_calling_fn,'t_split_process_order(j).reval_reserve', t_split_process_order(j).reval_reserve);
800: fa_debug_pkg.add(l_calling_fn,'after consumption t_reval_reserve(i)', t_reval_reserve(i));
793:
794: IF (p_log_level_rec.statement_level) THEN
795: fa_debug_pkg.add(l_calling_fn,'split order j', j, p_log_level_rec => p_log_level_rec);
796: fa_debug_pkg.add(l_calling_fn,'t_split_process_order(j).split_class_code', t_split_process_order(j).split_class_code);
797: fa_debug_pkg.add(l_calling_fn,'t_split_process_order(j).split_number', t_split_process_order(j).split_number);
798: fa_debug_pkg.add(l_calling_fn,'t_split_process_order(j).split_loss_amount', t_split_process_order(j).split_loss_amount);
799: fa_debug_pkg.add(l_calling_fn,'t_split_process_order(j).reval_reserve', t_split_process_order(j).reval_reserve);
800: fa_debug_pkg.add(l_calling_fn,'after consumption t_reval_reserve(i)', t_reval_reserve(i));
801: END IF;
794: IF (p_log_level_rec.statement_level) THEN
795: fa_debug_pkg.add(l_calling_fn,'split order j', j, p_log_level_rec => p_log_level_rec);
796: fa_debug_pkg.add(l_calling_fn,'t_split_process_order(j).split_class_code', t_split_process_order(j).split_class_code);
797: fa_debug_pkg.add(l_calling_fn,'t_split_process_order(j).split_number', t_split_process_order(j).split_number);
798: fa_debug_pkg.add(l_calling_fn,'t_split_process_order(j).split_loss_amount', t_split_process_order(j).split_loss_amount);
799: fa_debug_pkg.add(l_calling_fn,'t_split_process_order(j).reval_reserve', t_split_process_order(j).reval_reserve);
800: fa_debug_pkg.add(l_calling_fn,'after consumption t_reval_reserve(i)', t_reval_reserve(i));
801: END IF;
802:
795: fa_debug_pkg.add(l_calling_fn,'split order j', j, p_log_level_rec => p_log_level_rec);
796: fa_debug_pkg.add(l_calling_fn,'t_split_process_order(j).split_class_code', t_split_process_order(j).split_class_code);
797: fa_debug_pkg.add(l_calling_fn,'t_split_process_order(j).split_number', t_split_process_order(j).split_number);
798: fa_debug_pkg.add(l_calling_fn,'t_split_process_order(j).split_loss_amount', t_split_process_order(j).split_loss_amount);
799: fa_debug_pkg.add(l_calling_fn,'t_split_process_order(j).reval_reserve', t_split_process_order(j).reval_reserve);
800: fa_debug_pkg.add(l_calling_fn,'after consumption t_reval_reserve(i)', t_reval_reserve(i));
801: END IF;
802:
803: -- Once revaluation reserve is consumed, update the
796: fa_debug_pkg.add(l_calling_fn,'t_split_process_order(j).split_class_code', t_split_process_order(j).split_class_code);
797: fa_debug_pkg.add(l_calling_fn,'t_split_process_order(j).split_number', t_split_process_order(j).split_number);
798: fa_debug_pkg.add(l_calling_fn,'t_split_process_order(j).split_loss_amount', t_split_process_order(j).split_loss_amount);
799: fa_debug_pkg.add(l_calling_fn,'t_split_process_order(j).reval_reserve', t_split_process_order(j).reval_reserve);
800: fa_debug_pkg.add(l_calling_fn,'after consumption t_reval_reserve(i)', t_reval_reserve(i));
801: END IF;
802:
803: -- Once revaluation reserve is consumed, update the
804: -- interface table with the values
913: END IF;
914:
915: ELSE -- if reval reserve is negative
916: -- Revaluation Reserve cannot be negative for a SORP book
917: fa_debug_pkg.add(l_calling_fn,'Revaluation reserve', t_reval_reserve(i));
918: fa_debug_pkg.add(l_calling_fn,'Revaluation reserve is negative', 'True', p_log_level_rec => p_log_level_rec);
919: fa_debug_pkg.add(l_calling_fn,'Revaluation reserve cannot be negative for a SORP Book', 'Unknown error', p_log_level_rec => p_log_level_rec);
920: RETURN FALSE;
921: END IF; --t_reval_reserve(i) > 0
914:
915: ELSE -- if reval reserve is negative
916: -- Revaluation Reserve cannot be negative for a SORP book
917: fa_debug_pkg.add(l_calling_fn,'Revaluation reserve', t_reval_reserve(i));
918: fa_debug_pkg.add(l_calling_fn,'Revaluation reserve is negative', 'True', p_log_level_rec => p_log_level_rec);
919: fa_debug_pkg.add(l_calling_fn,'Revaluation reserve cannot be negative for a SORP Book', 'Unknown error', p_log_level_rec => p_log_level_rec);
920: RETURN FALSE;
921: END IF; --t_reval_reserve(i) > 0
922: END IF; -- t_reval_reserve(i) = 0
915: ELSE -- if reval reserve is negative
916: -- Revaluation Reserve cannot be negative for a SORP book
917: fa_debug_pkg.add(l_calling_fn,'Revaluation reserve', t_reval_reserve(i));
918: fa_debug_pkg.add(l_calling_fn,'Revaluation reserve is negative', 'True', p_log_level_rec => p_log_level_rec);
919: fa_debug_pkg.add(l_calling_fn,'Revaluation reserve cannot be negative for a SORP Book', 'Unknown error', p_log_level_rec => p_log_level_rec);
920: RETURN FALSE;
921: END IF; --t_reval_reserve(i) > 0
922: END IF; -- t_reval_reserve(i) = 0
923:
1015: RETURN FALSE;
1016:
1017: EXCEPTION
1018: WHEN OTHERS THEN
1019: fa_debug_pkg.add(l_calling_fn,'Unknown exception', 'Others', p_log_level_rec => p_log_level_rec);
1020: fa_debug_pkg.add(l_calling_fn,'sqlerrm', substrb(sqlerrm, 1, 200));
1021: RETURN FALSE;
1022: END;
1023:
1016:
1017: EXCEPTION
1018: WHEN OTHERS THEN
1019: fa_debug_pkg.add(l_calling_fn,'Unknown exception', 'Others', p_log_level_rec => p_log_level_rec);
1020: fa_debug_pkg.add(l_calling_fn,'sqlerrm', substrb(sqlerrm, 1, 200));
1021: RETURN FALSE;
1022: END;
1023:
1024: