1 PACKAGE FA_CALC_DEPRN_BASIS1_PKG AUTHID CURRENT_USER as
2 /* $Header: faxcdb1s.pls 120.19.12020000.2 2013/03/19 18:00:42 dvjoshi ship $ */
3
4 ----------------------------------------------------
5 -- Input Variables
6 ----------------------------------------------------
7
8 g_rule_in fa_std_types.fa_deprn_rule_in_struct default null;
9
10 -- event_type VARCHAR2(20);
11 -- asset_id NUMBER(15);
12 -- group_asset_id NUMBER;
13 -- book_type_code VARCHAR2(15);
14 -- asset_type VARCHAR2(11);
15 -- depreciate_flag VARCHAR2(3);
16 -- method_code VARCHAR2(12);
17 -- life_in_months NUMBER(4);
18 -- method_id NUMBER(15);
19 -- method_type VARCHAR2(10);
20 -- calc_basis VARCHAR2(4);
21 -- adjustment_amount NUMBER;
22 -- transaction_flag VARCHAR2(3);
23 -- cost NUMBER;
24 -- salvage_value NUMBER;
25 -- recoverable_cost NUMBER;
26 -- adjusted_cost NUMBER;
27 -- current_total_rsv NUMBER;
28 -- current_rsv NUMBER;
29 -- current_total_ytd NUMBER;
30 -- current_ytd NUMBER;
31 -- hyp_basis NUMBER;
32 -- hyp_total_rsv NUMBER;
33 -- hyp_rsv NUMBER;
34 -- hyp_total_ytd NUMBER;
35 -- hyp_ytd NUMBER;
36 -- old_adjusted_cost NUMBER;
37 -- old_raf NUMBER;
38 -- old_formula_factor NUMBER;
39
40 -- Add new variable
41 -- amortization_start_date DATE;
42
43 -- Add new variables for Group Depreciation
44 -- transaction_header_id NUMBER(15);
45 -- member_transaction_header_id NUMBER(15);
46 -- member_transaction_type_code VARCHAR2(30);
47 -- member_proceeds NUMBER;
48 -- transaction_date_entered DATE;
49 -- adj_transaction_header_id NUMBER(15);
50 -- adj_mem_transaction_header_id NUMBER(15);
51 -- adj_transaction_date_entered DATE;
52 -- period_counter NUMBER(15);
53 -- fiscal_year NUMBER(15);
54 -- period_num NUMBER(15);
55 -- proceeds_of_sale NUMBER;
56 -- cost_of_removal NUMBER;
57 -- reduction_rate NUMBER;
58 -- eofy_reserve NUMBER;
59 -- adj_reserve NUMBER;
60 -- reserve_retired NUMBER;
61 -- recognize_gain_loss VARCHAR2(30);
62 -- tracking_method VARCHAR2(30);
63 -- allocate_to_fully_rsv_flag VARCHAR2(1);
64 -- allocate_to_fully_ret_flag VARCHAR2(1);
65 -- excess_allocation_option VARCHAR2(30);
66 -- depreciation_option VARCHAR2(30);
67 -- member_rollup_flag VARCHAR2(1);
68 -- unplanned_amount NUMBER;
69 -- eofy_recoverable_cost NUMBER;
70 -- eop_recoverable_cost NUMBER;
71 -- eofy_salvage_value NUMBER;
72 -- eop_salvage_value NUMBER;
73 -- used_by_adjustment VARCHAR2(15);
74 -- eofy_flag VARCHAR2(1);
75 -- apply_reduction_flag VARCHAR2(1);
76 -- mrc_sob_type_code VARCHAR2(1);
77
78 -- reduction_amount NUMBER;
79 -- use_old_adj_cost_flag VARCHAR2(1);
80
81 ----------------------------------------------------
82 -- Output Variables
83 ----------------------------------------------------
84
85 g_rule_out fa_std_types.fa_deprn_rule_out_struct default null;
86
87 -- new_adjusted_cost NUMBER;
88 -- new_raf NUMBER;
89 -- new_formula_factor NUMBER;
90
91 -----------------------------------------------------------------
92 -- Function: faxcdb
93 --
94 -- Calculate Adjusted cost, rate adjustment factor and
95 -- formula factor
96 -----------------------------------------------------------------
97
98 FUNCTION faxcdb(
99 rule_in IN fa_std_types.fa_deprn_rule_in_struct,
100 rule_out OUT NOCOPY fa_std_types.fa_deprn_rule_out_struct,
101 p_amortization_start_date IN date default NULL
102 , p_log_level_rec IN FA_API_TYPES.log_level_rec_type)
103 return boolean;
104
105 -----------------------------------------------------------------
106 -- FUNCTION: CALC_REDUCITON_AMOUNT
107 --
108 -- This function calculates the reduction rate's applying amounts
109 -----------------------------------------------------------------
110 FUNCTION CALC_REDUCTION_AMOUNT
111 (
112 p_asset_id IN NUMBER,
113 p_group_asset_id IN NUMBER,
114 p_asset_type IN VARCHAR2,
115 p_book_type_code IN VARCHAR2,
116 p_period_counter IN NUMBER,
117 p_transaction_date IN DATE default null,
118 p_half_year_rule_flag IN VARCHAR2 default null,
119 p_mrc_sob_type_code IN VARCHAR2 default 'N',
120 p_set_of_books_id IN NUMBER,
121 x_change_in_cost OUT NOCOPY NUMBER,
122 x_change_in_cost_to_reduce OUT NOCOPY NUMBER,
123 x_total_change_in_cost OUT NOCOPY NUMBER,
124 x_net_proceeds OUT NOCOPY NUMBER,
125 x_net_proceeds_to_reduce OUT NOCOPY NUMBER,
126 x_total_net_proceeds OUT NOCOPY NUMBER,
127 x_first_half_cost OUT NOCOPY NUMBER,
128 x_first_half_cost_to_reduce OUT NOCOPY NUMBER,
129 x_second_half_cost OUT NOCOPY NUMBER,
130 x_second_half_cost_to_reduce OUT NOCOPY NUMBER
131 , p_log_level_rec IN FA_API_TYPES.log_level_rec_type)
132 return boolean;
133
134 --------------------------------------------------------------
135 -- Function: GET_REC_COST
136 --
137 -- This function is to get recoverable cost and salvage value
138 -- at the period of parameter's period counter
139 -------------------------------------------------------------
140 FUNCTION GET_REC_COST
141 (
142 p_asset_id IN NUMBER,
143 p_book_type_code IN VARCHAR2,
144 p_fiscal_year IN NUMBER,
145 p_period_num IN NUMBER,
146 p_asset_type IN VARCHAR2 default null,
147 p_recoverable_cost IN NUMBER default null,
148 p_salvage_value IN NUMBER default null,
149 p_transaction_date_entered IN DATE default null,
150 p_mrc_sob_type_code IN VARCHAR2 default 'N',
151 p_set_of_books_id IN NUMBER,
152 x_recoverable_cost OUT NOCOPY NUMBER,
153 x_salvage_value OUT NOCOPY NUMBER
154 , p_log_level_rec IN FA_API_TYPES.log_level_rec_type)
155 return boolean;
156
157 --------------------------------------------------------------
158 -- Function: GET_EOFY_EOP
159 --
160 -- This function is to get recoverable cost and salvage value
161 -- at the end of last fiscal year and last period
162 -------------------------------------------------------------
163
164 FUNCTION GET_EOFY_EOP
165 (
166 p_asset_id IN NUMBER,
167 p_book_type_code IN VARCHAR2,
168 p_fiscal_year IN NUMBER,
169 p_period_num IN NUMBER,
170 p_asset_type IN VARCHAR2 default null,
171 p_recoverable_cost IN NUMBER default null,
172 p_salvage_value IN NUMBER default null,
173 p_transaction_date_entered IN DATE default null,
174 p_period_counter IN NUMBER default null,
175 p_mrc_sob_type_code IN VARCHAR2 default null,
176 p_set_of_books_id IN NUMBER,
177 x_eofy_recoverable_cost OUT NOCOPY NUMBER,
178 x_eofy_salvage_value OUT NOCOPY NUMBER,
179 x_eop_recoverable_cost OUT NOCOPY NUMBER,
180 x_eop_salvage_value OUT NOCOPY NUMBER
181 , p_log_level_rec IN FA_API_TYPES.log_level_rec_type)
182 return boolean;
183
184 --------------------------------------------------------
185 -- Function: CALL_DEPRN_BASIS
186 --
187 -- This function is the cover function to call faxcdb
188 -- from Transaction API and depreciation Engine
189 --------------------------------------------------------
190 FUNCTION CALL_DEPRN_BASIS(
191 p_event_type IN varchar2,
192 p_asset_fin_rec_new IN fa_api_types.asset_fin_rec_type default null,
193 p_asset_fin_rec_old IN fa_api_types.asset_fin_rec_type default null,
194 p_asset_hdr_rec IN fa_api_types.asset_hdr_rec_type default null,
195 p_asset_type_rec IN fa_api_types.asset_type_rec_type default null,
196 p_asset_deprn_rec IN fa_api_types.asset_deprn_rec_type default null,
197 p_trans_rec IN fa_api_types.trans_rec_type default null,
198 p_trans_rec_adj IN fa_api_types.trans_rec_type default null,
199 p_period_rec IN fa_api_types.period_rec_type default null,
200 p_asset_retire_rec IN fa_api_types.asset_retire_rec_type default null,
201 p_unplanned_deprn_rec IN fa_api_types.unplanned_deprn_rec_type default null,
202 p_dpr IN fa_std_types.dpr_struct default null,
203 p_fiscal_year IN number default 0,
204 p_period_num IN number default null,
205 p_period_counter IN number default 0,
206 p_recoverable_cost IN number default 0,
207 p_salvage_value IN number default 0,
208 p_adjusted_cost IN number default 0,
209 p_current_total_rsv IN number default 0,
210 p_current_rsv IN number default 0,
211 p_current_total_ytd IN number default 0,
212 p_current_ytd IN number default 0,
213 p_hyp_basis IN number default 0,
214 p_hyp_total_rsv IN number default 0,
215 p_hyp_rsv IN number default 0,
216 p_hyp_total_ytd IN number default 0,
217 p_hyp_ytd IN number default 0,
218 p_eofy_recoverable_cost IN number default null,
219 p_eop_recoverable_cost IN number default null,
220 p_eofy_salvage_value IN number default null,
221 p_eop_salvage_value IN number default null,
222 p_eofy_reserve IN number default null,
223 p_adj_reserve IN number default null,
224 p_reserve_retired IN number default null,
225 p_used_by_adjustment IN varchar2 default null,
226 p_eofy_flag IN varchar2 default null,
227 p_apply_reduction_flag IN varchar2 default null,
228 p_trx_adjustment_amount IN number default null, --bug#16426081
229 p_mrc_sob_type_code IN varchar2 default 'N',
230 px_new_adjusted_cost IN OUT NOCOPY number,
231 px_new_raf IN OUT NOCOPY number,
232 px_new_formula_factor IN OUT NOCOPY number
233 , p_log_level_rec IN FA_API_TYPES.log_level_rec_type) return BOOLEAN;
234
235 --------------------------------------------------------
236 -- Function: CALL_DEPRN_BASIS
237 --
238 -- called from depreciation Engine(pl/sql)
239 -- This is same as CALL_DEPRN_BASIS above except additional
240 -- parameter x_annual_deprn_rounding_flag
241 -- This new output is necessary for flat rate extension
242 --------------------------------------------------------
243 FUNCTION CALL_DEPRN_BASIS(
244 p_event_type IN varchar2,
245 p_asset_fin_rec_new IN fa_api_types.asset_fin_rec_type default null,
246 p_asset_fin_rec_old IN fa_api_types.asset_fin_rec_type default null,
247 p_asset_hdr_rec IN fa_api_types.asset_hdr_rec_type default null,
248 p_asset_type_rec IN fa_api_types.asset_type_rec_type default null,
249 p_asset_deprn_rec IN fa_api_types.asset_deprn_rec_type default null,
250 p_trans_rec IN fa_api_types.trans_rec_type default null,
251 p_trans_rec_adj IN fa_api_types.trans_rec_type default null,
252 p_period_rec IN fa_api_types.period_rec_type default null,
253 p_asset_retire_rec IN fa_api_types.asset_retire_rec_type default null,
254 p_unplanned_deprn_rec IN fa_api_types.unplanned_deprn_rec_type default null,
255 p_dpr IN fa_std_types.dpr_struct default null,
256 p_fiscal_year IN number default 0,
257 p_period_num IN number default null,
258 p_period_counter IN number default 0,
259 p_recoverable_cost IN number default 0,
260 p_salvage_value IN number default 0,
261 p_adjusted_cost IN number default 0,
262 p_current_total_rsv IN number default 0,
263 p_current_rsv IN number default 0,
264 p_current_total_ytd IN number default 0,
265 p_current_ytd IN number default 0,
266 p_hyp_basis IN number default 0,
267 p_hyp_total_rsv IN number default 0,
268 p_hyp_rsv IN number default 0,
269 p_hyp_total_ytd IN number default 0,
270 p_hyp_ytd IN number default 0,
271 p_eofy_recoverable_cost IN number default null,
272 p_eop_recoverable_cost IN number default null,
273 p_eofy_salvage_value IN number default null,
274 p_eop_salvage_value IN number default null,
275 p_eofy_reserve IN number default null,
276 p_adj_reserve IN number default null,
277 p_reserve_retired IN number default null,
278 p_used_by_adjustment IN varchar2 default null,
279 p_eofy_flag IN varchar2 default null,
280 p_apply_reduction_flag IN varchar2 default null,
281 p_trx_adjustment_amount IN number default null, --bug#16426081
282 p_mrc_sob_type_code IN varchar2 default 'N',
283 px_new_adjusted_cost IN OUT NOCOPY number,
284 px_new_raf IN OUT NOCOPY number,
285 px_new_formula_factor IN OUT NOCOPY number,
286 x_annual_deprn_rounding_flag IN OUT NOCOPY varchar2
287 , p_log_level_rec IN FA_API_TYPES.log_level_rec_type) return BOOLEAN;
288
289 ------------------------------------------------------------
290 -- Function: CALC_PROCEEDS
291 --
292 -- This function is to calculate Year-to-Date Proceeds
293 -- and Life-to Date Proceeds of Do not Recognized Gain/Loss
294 ------------------------------------------------------------
295
296 Function CALC_PROCEEDS (
297 p_asset_id IN NUMBER,
298 p_asset_type IN VARCHAR2,
299 p_book_type_code IN VARCHAR2,
300 p_period_counter IN NUMBER,
301 p_mrc_sob_type_code IN VARCHAR2,
302 p_set_of_books_id IN NUMBER,
303 x_ltd_proceeds OUT NOCOPY NUMBER,
304 x_ytd_proceeds OUT NOCOPY NUMBER
305 , p_log_level_rec IN FA_API_TYPES.log_level_rec_type) return BOOLEAN;
306
307 -----------------------------------------------------------------
308 -- Function: CALC_RETIRED_COST
309 --
310 -- This function calculate summary of retired cost.
311 -- This function is used by Rule 'POSITIVE_REDUCTION'.
312 -----------------------------------------------------------------
313
314 FUNCTION CALC_RETIRED_COST (
315 p_event_type IN VARCHAR2,
316 p_asset_id IN NUMBER,
317 p_asset_type IN VARCHAR2,
318 p_book_type_code IN VARCHAR2,
319 p_fiscal_year IN NUMBER,
320 p_period_num IN NUMBER,
321 p_adjustment_amount IN NUMBER,
322 p_ltd_ytd_flag IN VARCHAR2,
323 p_mrc_sob_type_code IN VARCHAR2,
324 p_set_of_books_id IN NUMBER,
325 x_retired_cost OUT NOCOPY NUMBER
326 , p_log_level_rec IN FA_API_TYPES.log_level_rec_type) return BOOLEAN;
327
328 -----------------------------------------------------------------
329 -- Function: GET_MEM_TRANS_INFO
330 --
331 -- This function is to get the transaction infomation of member
332 -----------------------------------------------------------------
333 Function GET_MEM_TRANS_INFO (
334 p_member_transaction_header_id IN NUMBER,
335 p_mrc_sob_type_code IN VARCHAR2,
336 p_set_of_books_id IN NUMBER,
337 x_member_transaction_type_code OUT NOCOPY VARCHAR2,
338 x_member_proceeds OUT NOCOPY NUMBER,
339 x_member_reduction_rate OUT NOCOPY NUMBER,
340 x_recognize_gain_loss OUT NOCOPY VARCHAR2
341 , p_log_level_rec IN FA_API_TYPES.log_level_rec_type) return BOOLEAN;
342
343 ---------------------------------------------------------------------
344 -- Function: SERVER_VALIDATION
345 --
346 -- This function is to validate unexpected values
347 --
348 ---------------------------------------------------------------------
349
350 Function SERVER_VALIDATION(
351 p_log_level_rec IN FA_API_TYPES.log_level_rec_type)
352 return boolean;
353
354 END FA_CALC_DEPRN_BASIS1_PKG;