[Home] [Help]
PACKAGE BODY: APPS.FA_DEPRN_DETAIL_PKG
Source
1 PACKAGE BODY FA_DEPRN_DETAIL_PKG as
2 /* $Header: faxiddb.pls 120.3 2005/07/25 10:01:37 yyoon ship $ */
3
4 PROCEDURE Insert_Row(X_Rowid IN OUT NOCOPY VARCHAR2,
5 X_Book_Type_Code VARCHAR2,
6 X_Asset_Id NUMBER,
7 X_Period_Counter NUMBER,
8 X_Distribution_Id NUMBER,
9 X_Deprn_Source_Code VARCHAR2,
10 X_Deprn_Run_Date DATE,
11 X_Deprn_Amount NUMBER,
12 X_Ytd_Deprn NUMBER,
13 X_Deprn_Reserve NUMBER,
14 X_Addition_Cost_To_Clear NUMBER DEFAULT NULL,
15 X_Cost NUMBER DEFAULT NULL,
16 X_Deprn_Adjustment_Amount NUMBER DEFAULT NULL,
17 X_Deprn_Expense_Je_Line_Num NUMBER DEFAULT NULL,
18 X_Deprn_Reserve_Je_Line_Num NUMBER DEFAULT NULL,
19 X_Reval_Amort_Je_Line_Num NUMBER DEFAULT NULL,
20 X_Reval_Reserve_Je_Line_Num NUMBER DEFAULT NULL,
21 X_Je_Header_Id NUMBER DEFAULT NULL,
22 X_Reval_Amortization NUMBER DEFAULT NULL,
23 X_Reval_Deprn_Expense NUMBER DEFAULT NULL,
24 X_Reval_Reserve NUMBER DEFAULT NULL,
25 X_Ytd_Reval_Deprn_Expense NUMBER DEFAULT NULL,
26 X_Bonus_Deprn_Amount NUMBER DEFAULT NULL,
27 X_Bonus_Ytd_Deprn NUMBER DEFAULT NULL,
28 X_Bonus_Deprn_Reserve NUMBER DEFAULT NULL,
29 X_mrc_sob_type_code VARCHAR2 DEFAULT 'P',
30 X_Calling_Fn VARCHAR2,
31 p_log_level_rec in fa_api_types.log_level_rec_type default null) IS
32
33 CURSOR C_dd IS SELECT rowid FROM fa_deprn_detail
34 WHERE distribution_id = X_Distribution_Id
35 AND book_type_code = X_Book_Type_Code
36 AND period_counter = X_Period_Counter;
37 CURSOR C_dd_mc IS SELECT rowid FROM fa_deprn_detail
38 WHERE distribution_id = X_Distribution_Id
39 AND book_type_code = X_Book_Type_Code
40 AND period_counter = X_Period_Counter;
41
42 BEGIN
43
44 if (X_mrc_sob_type_code = 'R') then
45
46 INSERT INTO fa_deprn_detail_mrc_v(
47 book_type_code,
48 asset_id,
49 period_counter,
50 distribution_id,
51 deprn_source_code,
52 deprn_run_date,
53 deprn_amount,
54 ytd_deprn,
55 deprn_reserve,
56 addition_cost_to_clear,
57 cost,
58 deprn_adjustment_amount,
59 deprn_expense_je_line_num,
60 deprn_reserve_je_line_num,
61 reval_amort_je_line_num,
62 reval_reserve_je_line_num,
63 je_header_id,
64 reval_amortization,
65 reval_deprn_expense,
66 reval_reserve,
67 ytd_reval_deprn_expense,
68 bonus_deprn_amount,
69 bonus_ytd_deprn,
70 bonus_deprn_reserve
71 ) VALUES (
72 X_Book_Type_Code,
73 X_Asset_Id,
74 X_Period_Counter,
75 X_Distribution_Id,
76 X_Deprn_Source_Code,
77 X_Deprn_Run_Date,
78 X_Deprn_Amount,
79 X_Ytd_Deprn,
80 X_Deprn_Reserve,
81 X_Addition_Cost_To_Clear,
82 X_Cost,
83 X_Deprn_Adjustment_Amount,
84 X_Deprn_Expense_Je_Line_Num,
85 X_Deprn_Reserve_Je_Line_Num,
86 X_Reval_Amort_Je_Line_Num,
87 X_Reval_Reserve_Je_Line_Num,
88 X_Je_Header_Id,
89 X_Reval_Amortization,
90 X_Reval_Deprn_Expense,
91 X_Reval_Reserve,
92 X_Ytd_Reval_Deprn_Expense,
93 X_Bonus_Deprn_Amount,
94 X_Bonus_Ytd_Deprn,
95 X_Bonus_Deprn_Reserve
96 );
97
98 OPEN C_dd_mc;
99 FETCH C_dd_mc INTO X_Rowid;
100 if (C_dd_mc%NOTFOUND) then
101 CLOSE C_dd_mc;
102 Raise NO_DATA_FOUND;
103 end if;
104 CLOSE C_dd_mc;
105 else
106
107 INSERT INTO fa_deprn_detail(
108 book_type_code,
109 asset_id,
110 period_counter,
111 distribution_id,
112 deprn_source_code,
113 deprn_run_date,
114 deprn_amount,
115 ytd_deprn,
116 deprn_reserve,
117 addition_cost_to_clear,
118 cost,
119 deprn_adjustment_amount,
120 deprn_expense_je_line_num,
121 deprn_reserve_je_line_num,
122 reval_amort_je_line_num,
123 reval_reserve_je_line_num,
124 je_header_id,
125 reval_amortization,
126 reval_deprn_expense,
127 reval_reserve,
128 ytd_reval_deprn_expense,
129 bonus_deprn_amount,
130 bonus_ytd_deprn,
131 bonus_deprn_reserve
132 ) VALUES (
133 X_Book_Type_Code,
134 X_Asset_Id,
135 X_Period_Counter,
136 X_Distribution_Id,
137 X_Deprn_Source_Code,
138 X_Deprn_Run_Date,
139 X_Deprn_Amount,
140 X_Ytd_Deprn,
141 X_Deprn_Reserve,
142 X_Addition_Cost_To_Clear,
143 X_Cost,
144 X_Deprn_Adjustment_Amount,
145 X_Deprn_Expense_Je_Line_Num,
146 X_Deprn_Reserve_Je_Line_Num,
147 X_Reval_Amort_Je_Line_Num,
148 X_Reval_Reserve_Je_Line_Num,
149 X_Je_Header_Id,
150 X_Reval_Amortization,
151 X_Reval_Deprn_Expense,
152 X_Reval_Reserve,
153 X_Ytd_Reval_Deprn_Expense,
154 X_Bonus_Deprn_Amount,
155 X_Bonus_Ytd_Deprn,
156 X_Bonus_Deprn_Reserve
157 );
158
159 OPEN C_dd;
160 FETCH C_dd INTO X_Rowid;
161 if (C_dd%NOTFOUND) then
162 CLOSE C_dd;
163 Raise NO_DATA_FOUND;
164 end if;
165 CLOSE C_dd;
166
167 end if;
168
169
170 EXCEPTION
171 WHEN Others THEN
172 FA_STANDARD_PKG.RAISE_ERROR
173 (Called_Fn => 'FA_DEPRN_DETAIL_PKG.Insert_Row',
174 Calling_Fn => X_Calling_Fn
175 ,p_log_level_rec => p_log_level_rec);
176 END Insert_Row;
177
178
179 PROCEDURE Lock_Row(X_Rowid VARCHAR2,
180 X_Book_Type_Code VARCHAR2,
181 X_Asset_Id NUMBER,
182 X_Period_Counter NUMBER,
183 X_Distribution_Id NUMBER,
184 X_Deprn_Source_Code VARCHAR2,
185 X_Deprn_Run_Date DATE,
186 X_Deprn_Amount NUMBER,
187 X_Ytd_Deprn NUMBER,
188 X_Deprn_Reserve NUMBER,
189 X_Addition_Cost_To_Clear NUMBER DEFAULT NULL,
190 X_Cost NUMBER DEFAULT NULL,
191 X_Deprn_Adjustment_Amount NUMBER DEFAULT NULL,
192 X_Deprn_Expense_Je_Line_Num NUMBER DEFAULT NULL,
193 X_Deprn_Reserve_Je_Line_Num NUMBER DEFAULT NULL,
194 X_Reval_Amort_Je_Line_Num NUMBER DEFAULT NULL,
195 X_Reval_Reserve_Je_Line_Num NUMBER DEFAULT NULL,
196 X_Je_Header_Id NUMBER DEFAULT NULL,
197 X_Reval_Amortization NUMBER DEFAULT NULL,
198 X_Reval_Deprn_Expense NUMBER DEFAULT NULL,
199 X_Reval_Reserve NUMBER DEFAULT NULL,
200 X_Ytd_Reval_Deprn_Expense NUMBER DEFAULT NULL,
201 X_Calling_Fn VARCHAR2,
202 p_log_level_rec in fa_api_types.log_level_rec_type default null) IS
203 CURSOR C IS
204 SELECT book_type_code,
205 asset_id,
206 period_counter,
207 distribution_id,
208 deprn_source_code,
209 deprn_run_date,
210 deprn_amount,
211 ytd_deprn,
212 deprn_reserve,
213 addition_cost_to_clear,
214 cost,
215 deprn_adjustment_amount,
216 deprn_expense_je_line_num,
217 deprn_reserve_je_line_num,
218 reval_amort_je_line_num,
219 reval_reserve_je_line_num,
220 je_header_id,
221 reval_amortization,
222 reval_deprn_expense,
223 reval_reserve,
224 ytd_reval_deprn_expense
225 FROM fa_deprn_detail
226 WHERE rowid = X_Rowid
227 FOR UPDATE of Distribution_Id NOWAIT;
228 Recinfo C%ROWTYPE;
229
230
231 BEGIN
232 OPEN C;
233 FETCH C INTO Recinfo;
234 if (C%NOTFOUND) then
235 CLOSE C;
236 FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
237 APP_EXCEPTION.Raise_Exception;
238 end if;
239 CLOSE C;
240 if (
241
242 (Recinfo.book_type_code = X_Book_Type_Code)
243 AND (Recinfo.asset_id = X_Asset_Id)
244 AND (Recinfo.period_counter = X_Period_Counter)
245 AND (Recinfo.distribution_id = X_Distribution_Id)
246 AND (Recinfo.deprn_source_code = X_Deprn_Source_Code)
247 AND (Recinfo.deprn_run_date = X_Deprn_Run_Date)
248 AND (Recinfo.deprn_amount = X_Deprn_Amount)
249 AND (Recinfo.ytd_deprn = X_Ytd_Deprn)
250 AND (Recinfo.deprn_reserve = X_Deprn_Reserve)
251 AND ( (Recinfo.addition_cost_to_clear = X_Addition_Cost_To_Clear)
252 OR ( (Recinfo.addition_cost_to_clear IS NULL)
253 AND (X_Addition_Cost_To_Clear IS NULL)))
254 AND ( (Recinfo.cost = X_Cost)
255 OR ( (Recinfo.cost IS NULL)
256 AND (X_Cost IS NULL)))
257 AND ( (Recinfo.deprn_adjustment_amount =X_Deprn_Adjustment_Amount)
258 OR ( (Recinfo.deprn_adjustment_amount IS NULL)
259 AND (X_Deprn_Adjustment_Amount IS NULL)))
260 AND ( (Recinfo.deprn_expense_je_line_num =
261 X_Deprn_Expense_Je_Line_Num)
262 OR ( (Recinfo.deprn_expense_je_line_num IS NULL)
263 AND (X_Deprn_Expense_Je_Line_Num IS NULL)))
264 AND ( (Recinfo.deprn_reserve_je_line_num =
265 X_Deprn_Reserve_Je_Line_Num)
266 OR ( (Recinfo.deprn_reserve_je_line_num IS NULL)
267 AND (X_Deprn_Reserve_Je_Line_Num IS NULL)))
268 AND ( (Recinfo.reval_amort_je_line_num =X_Reval_Amort_Je_Line_Num)
269 OR ( (Recinfo.reval_amort_je_line_num IS NULL)
270 AND (X_Reval_Amort_Je_Line_Num IS NULL)))
271 AND ( (Recinfo.reval_reserve_je_line_num =
272 X_Reval_Reserve_Je_Line_Num)
273 OR ( (Recinfo.reval_reserve_je_line_num IS NULL)
274 AND (X_Reval_Reserve_Je_Line_Num IS NULL)))
275 AND ( (Recinfo.je_header_id = X_Je_Header_Id)
276 OR ( (Recinfo.je_header_id IS NULL)
277 AND (X_Je_Header_Id IS NULL)))
278 AND ( (Recinfo.reval_amortization = X_Reval_Amortization)
279 OR ( (Recinfo.reval_amortization IS NULL)
280 AND (X_Reval_Amortization IS NULL)))
281 AND ( (Recinfo.reval_deprn_expense = X_Reval_Deprn_Expense)
282 OR ( (Recinfo.reval_deprn_expense IS NULL)
283 AND (X_Reval_Deprn_Expense IS NULL)))
284 AND ( (Recinfo.reval_reserve = X_Reval_Reserve)
285 OR ( (Recinfo.reval_reserve IS NULL)
286 AND (X_Reval_Reserve IS NULL)))
287 AND ( (Recinfo.ytd_reval_deprn_expense =X_Ytd_Reval_Deprn_Expense)
288 OR ( (Recinfo.ytd_reval_deprn_expense IS NULL)
289 AND (X_Ytd_Reval_Deprn_Expense IS NULL)))) then
290 return;
291 else
292 FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
293 APP_EXCEPTION.Raise_Exception;
294 end if;
295 END Lock_Row;
296
297
298
299 PROCEDURE Update_Row(X_Rowid VARCHAR2 DEFAULT NULL,
300 X_Book_Type_Code VARCHAR2 DEFAULT NULL,
301 X_Asset_Id NUMBER DEFAULT NULL,
302 X_Period_Counter NUMBER DEFAULT NULL,
303 X_Distribution_Id NUMBER DEFAULT NULL,
304 X_Deprn_Source_Code VARCHAR2 DEFAULT NULL,
305 X_Deprn_Run_Date DATE DEFAULT NULL,
306 X_Deprn_Amount NUMBER DEFAULT NULL,
307 X_Ytd_Deprn NUMBER DEFAULT NULL,
308 X_Deprn_Reserve NUMBER DEFAULT NULL,
309 X_Addition_Cost_To_Clear NUMBER DEFAULT NULL,
310 X_Cost NUMBER DEFAULT NULL,
311 X_Deprn_Adjustment_Amount NUMBER DEFAULT NULL,
312 X_Deprn_Expense_Je_Line_Num NUMBER DEFAULT NULL,
313 X_Deprn_Reserve_Je_Line_Num NUMBER DEFAULT NULL,
314 X_Reval_Amort_Je_Line_Num NUMBER DEFAULT NULL,
315 X_Reval_Reserve_Je_Line_Num NUMBER DEFAULT NULL,
316 X_Je_Header_Id NUMBER DEFAULT NULL,
317 X_Reval_Amortization NUMBER DEFAULT NULL,
318 X_Reval_Deprn_Expense NUMBER DEFAULT NULL,
319 X_Reval_Reserve NUMBER DEFAULT NULL,
320 X_Ytd_Reval_Deprn_Expense NUMBER DEFAULT NULL,
321 X_mrc_sob_type_code VARCHAR2 DEFAULT 'P',
322 X_Calling_Fn VARCHAR2 ,
323 p_log_level_rec in fa_api_types.log_level_rec_type default null) IS
324
325 BEGIN
326
327 if (X_rowid is not null) then
328
329 if (X_mrc_sob_type_code = 'R') then
330 UPDATE fa_deprn_detail_mrc_v
331 SET
332 book_type_code = decode(X_Book_Type_Code,
333 NULL, book_type_code,
334 FND_API.G_MISS_CHAR, null,
335 X_Book_Type_Code),
336 asset_id = decode(X_Asset_Id,
337 NULL, asset_id,
338 FND_API.G_MISS_NUM, null,
339 X_Asset_Id),
340 period_counter = decode(X_Period_Counter,
341 NULL, period_counter,
342 FND_API.G_MISS_NUM, null,
343 X_Period_Counter),
344 distribution_id = decode(X_Distribution_Id,
345 NULL, distribution_id,
346 FND_API.G_MISS_NUM, null,
347 X_Distribution_Id),
348 deprn_source_code = decode(X_Deprn_Source_Code,
349 NULL, deprn_source_code,
350 FND_API.G_MISS_CHAR, null,
351 X_Deprn_Source_Code),
352 deprn_run_date = decode(X_Deprn_Run_Date,
353 NULL, deprn_run_date,
354 X_Deprn_Run_Date),
355 deprn_amount = decode(X_Deprn_Amount,
356 NULL, deprn_amount,
357 FND_API.G_MISS_NUM, null,
358 X_Deprn_Amount),
359 ytd_deprn = decode(X_Ytd_Deprn,
360 NULL, ytd_deprn,
361 FND_API.G_MISS_NUM, null,
362 X_Ytd_Deprn),
363 deprn_reserve = decode(X_Deprn_Reserve,
364 NULL, deprn_reserve,
365 FND_API.G_MISS_NUM, null,
366 X_Deprn_Reserve),
367 addition_cost_to_clear = decode(X_Addition_Cost_To_Clear,
368 NULL, addition_cost_to_clear,
369 FND_API.G_MISS_NUM, null,
370 X_Addition_Cost_To_Clear),
371 cost = decode(X_Cost,
372 NULL, cost,
373 FND_API.G_MISS_NUM, null,
374 X_Cost),
375 deprn_adjustment_amount = decode(X_Deprn_Adjustment_Amount,
376 NULL, deprn_adjustment_amount,
377 FND_API.G_MISS_NUM, null,
378 X_Deprn_Adjustment_Amount),
379 deprn_expense_je_line_num = decode(X_Deprn_Expense_Je_Line_Num,
380 NULL, deprn_expense_je_line_num,
381 FND_API.G_MISS_NUM, null,
382 X_Deprn_Expense_Je_Line_Num),
383 deprn_reserve_je_line_num = decode(X_Deprn_Reserve_Je_Line_Num,
384 NULL, deprn_reserve_je_line_num,
385 FND_API.G_MISS_NUM, null,
386 X_Deprn_Reserve_Je_Line_Num),
387 reval_amort_je_line_num = decode(X_Reval_Amort_Je_Line_Num,
388 NULL, reval_amort_je_line_num,
389 FND_API.G_MISS_NUM, null,
390 X_Reval_Amort_Je_Line_Num),
391 reval_reserve_je_line_num = decode(X_Reval_Reserve_Je_Line_Num,
392 NULL, reval_reserve_je_line_num,
393 FND_API.G_MISS_NUM, null,
394 X_Reval_Reserve_Je_Line_Num),
395 je_header_id = decode(X_Je_Header_Id,
396 NULL, je_header_id,
397 FND_API.G_MISS_NUM, null,
398 X_Je_Header_Id),
399 reval_amortization = decode(X_Reval_Amortization,
400 NULL, reval_amortization,
401 FND_API.G_MISS_NUM, null,
402 X_Reval_Amortization),
403 reval_deprn_expense = decode(X_Reval_Deprn_Expense,
404 NULL, reval_deprn_expense,
405 FND_API.G_MISS_NUM, null,
406 X_Reval_Deprn_Expense),
407 reval_reserve = decode(X_Reval_Reserve,
408 NULL, reval_reserve,
409 FND_API.G_MISS_NUM, null,
410 X_Reval_Reserve),
411 ytd_reval_deprn_expense = decode(X_Ytd_Reval_Deprn_Expense,
412 NULL, ytd_reval_deprn_expense,
413 FND_API.G_MISS_NUM, null,
414 X_Ytd_Reval_Deprn_Expense)
415 WHERE rowid = X_Rowid;
416
417 else
418 UPDATE fa_deprn_detail
419 SET
420 book_type_code = decode(X_Book_Type_Code,
421 NULL, book_type_code,
422 FND_API.G_MISS_CHAR, null,
423 X_Book_Type_Code),
424 asset_id = decode(X_Asset_Id,
425 NULL, asset_id,
426 FND_API.G_MISS_NUM, null,
427 X_Asset_Id),
428 period_counter = decode(X_Period_Counter,
429 NULL, period_counter,
430 FND_API.G_MISS_NUM, null,
431 X_Period_Counter),
432 distribution_id = decode(X_Distribution_Id,
433 NULL, distribution_id,
434 FND_API.G_MISS_NUM, null,
435 X_Distribution_Id),
436 deprn_source_code = decode(X_Deprn_Source_Code,
437 NULL, deprn_source_code,
438 FND_API.G_MISS_CHAR, null,
439 X_Deprn_Source_Code),
440 deprn_run_date = decode(X_Deprn_Run_Date,
441 NULL, deprn_run_date,
442 X_Deprn_Run_Date),
443 deprn_amount = decode(X_Deprn_Amount,
444 NULL, deprn_amount,
445 FND_API.G_MISS_NUM, null,
446 X_Deprn_Amount),
447 ytd_deprn = decode(X_Ytd_Deprn,
448 NULL, ytd_deprn,
449 FND_API.G_MISS_NUM, null,
450 X_Ytd_Deprn),
451 deprn_reserve = decode(X_Deprn_Reserve,
452 NULL, deprn_reserve,
453 FND_API.G_MISS_NUM, null,
454 X_Deprn_Reserve),
455 addition_cost_to_clear = decode(X_Addition_Cost_To_Clear,
456 NULL, addition_cost_to_clear,
457 FND_API.G_MISS_NUM, null,
458 X_Addition_Cost_To_Clear),
459 cost = decode(X_Cost,
460 NULL, cost,
461 FND_API.G_MISS_NUM, null,
462 X_Cost),
463 deprn_adjustment_amount = decode(X_Deprn_Adjustment_Amount,
464 NULL, deprn_adjustment_amount,
465 FND_API.G_MISS_NUM, null,
466 X_Deprn_Adjustment_Amount),
467 deprn_expense_je_line_num = decode(X_Deprn_Expense_Je_Line_Num,
468 NULL, deprn_expense_je_line_num,
469 FND_API.G_MISS_NUM, null,
470 X_Deprn_Expense_Je_Line_Num),
471 deprn_reserve_je_line_num = decode(X_Deprn_Reserve_Je_Line_Num,
472 NULL, deprn_reserve_je_line_num,
473 FND_API.G_MISS_NUM, null,
474 X_Deprn_Reserve_Je_Line_Num),
475 reval_amort_je_line_num = decode(X_Reval_Amort_Je_Line_Num,
476 NULL, reval_amort_je_line_num,
477 FND_API.G_MISS_NUM, null,
478 X_Reval_Amort_Je_Line_Num),
479 reval_reserve_je_line_num = decode(X_Reval_Reserve_Je_Line_Num,
480 NULL, reval_reserve_je_line_num,
481 FND_API.G_MISS_NUM, null,
482 X_Reval_Reserve_Je_Line_Num),
483 je_header_id = decode(X_Je_Header_Id,
484 NULL, je_header_id,
485 FND_API.G_MISS_NUM, null,
486 X_Je_Header_Id),
487 reval_amortization = decode(X_Reval_Amortization,
488 NULL, reval_amortization,
489 FND_API.G_MISS_NUM, null,
490 X_Reval_Amortization),
491 reval_deprn_expense = decode(X_Reval_Deprn_Expense,
492 NULL, reval_deprn_expense,
493 FND_API.G_MISS_NUM, null,
494 X_Reval_Deprn_Expense),
495 reval_reserve = decode(X_Reval_Reserve,
496 NULL, reval_reserve,
497 FND_API.G_MISS_NUM, null,
498 X_Reval_Reserve),
499 ytd_reval_deprn_expense = decode(X_Ytd_Reval_Deprn_Expense,
500 NULL, ytd_reval_deprn_expense,
501 FND_API.G_MISS_NUM, null,
502 X_Ytd_Reval_Deprn_Expense)
503 WHERE rowid = X_Rowid;
504 end if;
505 else
506 if (X_mrc_sob_type_code = 'R') then
507 UPDATE fa_deprn_detail_mrc_v
508 SET
509 book_type_code = decode(X_Book_Type_Code,
510 NULL, book_type_code,
511 FND_API.G_MISS_CHAR, null,
512 X_Book_Type_Code),
513 asset_id = decode(X_Asset_Id,
514 NULL, asset_id,
515 FND_API.G_MISS_NUM, null,
516 X_Asset_Id),
517 period_counter = decode(X_Period_Counter,
518 NULL, period_counter,
519 FND_API.G_MISS_NUM, null,
520 X_Period_Counter),
521 distribution_id = decode(X_Distribution_Id,
522 NULL, distribution_id,
523 FND_API.G_MISS_NUM, null,
524 X_Distribution_Id),
525 deprn_source_code = decode(X_Deprn_Source_Code,
526 NULL, deprn_source_code,
527 FND_API.G_MISS_CHAR, null,
528 X_Deprn_Source_Code),
529 deprn_run_date = decode(X_Deprn_Run_Date,
530 NULL, deprn_run_date,
531 X_Deprn_Run_Date),
532 deprn_amount = decode(X_Deprn_Amount,
533 NULL, deprn_amount,
534 FND_API.G_MISS_NUM, null,
535 X_Deprn_Amount),
536 ytd_deprn = decode(X_Ytd_Deprn,
537 NULL, ytd_deprn,
538 FND_API.G_MISS_NUM, null,
539 X_Ytd_Deprn),
540 deprn_reserve = decode(X_Deprn_Reserve,
541 NULL, deprn_reserve,
542 FND_API.G_MISS_NUM, null,
543 X_Deprn_Reserve),
544 addition_cost_to_clear = decode(X_Addition_Cost_To_Clear,
545 NULL, addition_cost_to_clear,
546 FND_API.G_MISS_NUM, null,
547 X_Addition_Cost_To_Clear),
548 cost = decode(X_Cost,
549 NULL, cost,
550 FND_API.G_MISS_NUM, null,
551 X_Cost),
552 deprn_adjustment_amount = decode(X_Deprn_Adjustment_Amount,
553 NULL, deprn_adjustment_amount,
554 FND_API.G_MISS_NUM, null,
555 X_Deprn_Adjustment_Amount),
556 deprn_expense_je_line_num = decode(X_Deprn_Expense_Je_Line_Num,
557 NULL, deprn_expense_je_line_num,
558 FND_API.G_MISS_NUM, null,
559 X_Deprn_Expense_Je_Line_Num),
560 deprn_reserve_je_line_num = decode(X_Deprn_Reserve_Je_Line_Num,
561 NULL, deprn_reserve_je_line_num,
562 FND_API.G_MISS_NUM, null,
563 X_Deprn_Reserve_Je_Line_Num),
564 reval_amort_je_line_num = decode(X_Reval_Amort_Je_Line_Num,
565 NULL, reval_amort_je_line_num,
566 FND_API.G_MISS_NUM, null,
567 X_Reval_Amort_Je_Line_Num),
568 reval_reserve_je_line_num = decode(X_Reval_Reserve_Je_Line_Num,
569 NULL, reval_reserve_je_line_num,
570 FND_API.G_MISS_NUM, null,
571 X_Reval_Reserve_Je_Line_Num),
572 je_header_id = decode(X_Je_Header_Id,
573 NULL, je_header_id,
574 FND_API.G_MISS_NUM, null,
575 X_Je_Header_Id),
576 reval_amortization = decode(X_Reval_Amortization,
577 NULL, reval_amortization,
578 FND_API.G_MISS_NUM, null,
579 X_Reval_Amortization),
580 reval_deprn_expense = decode(X_Reval_Deprn_Expense,
581 NULL, reval_deprn_expense,
582 FND_API.G_MISS_NUM, null,
583 X_Reval_Deprn_Expense),
584 reval_reserve = decode(X_Reval_Reserve,
585 NULL, reval_reserve,
586 FND_API.G_MISS_NUM, null,
587 X_Reval_Reserve),
588 ytd_reval_deprn_expense = decode(X_Ytd_Reval_Deprn_Expense,
589 NULL, ytd_reval_deprn_expense,
590 FND_API.G_MISS_NUM, null,
591 X_Ytd_Reval_Deprn_Expense)
592 WHERE book_type_code = X_Book_Type_Code
593 and asset_id = X_Asset_Id
594 and period_counter = X_Period_Counter
595 and distribution_id = decode(X_Distribution_Id,
596 NULL, distribution_id,
597 X_Distribution_Id);
598
599 else
600 UPDATE fa_deprn_detail
601 SET
602 book_type_code = decode(X_Book_Type_Code,
603 NULL, book_type_code,
604 FND_API.G_MISS_CHAR, null,
605 X_Book_Type_Code),
606 asset_id = decode(X_Asset_Id,
607 NULL, asset_id,
608 FND_API.G_MISS_NUM, null,
609 X_Asset_Id),
610 period_counter = decode(X_Period_Counter,
611 NULL, period_counter,
612 FND_API.G_MISS_NUM, null,
613 X_Period_Counter),
614 distribution_id = decode(X_Distribution_Id,
615 NULL, distribution_id,
616 FND_API.G_MISS_NUM, null,
617 X_Distribution_Id),
618 deprn_source_code = decode(X_Deprn_Source_Code,
619 NULL, deprn_source_code,
620 FND_API.G_MISS_CHAR, null,
621 X_Deprn_Source_Code),
622 deprn_run_date = decode(X_Deprn_Run_Date,
623 NULL, deprn_run_date,
624 X_Deprn_Run_Date),
625 deprn_amount = decode(X_Deprn_Amount,
626 NULL, deprn_amount,
627 FND_API.G_MISS_NUM, null,
628 X_Deprn_Amount),
629 ytd_deprn = decode(X_Ytd_Deprn,
630 NULL, ytd_deprn,
631 FND_API.G_MISS_NUM, null,
632 X_Ytd_Deprn),
633 deprn_reserve = decode(X_Deprn_Reserve,
634 NULL, deprn_reserve,
635 FND_API.G_MISS_NUM, null,
636 X_Deprn_Reserve),
637 addition_cost_to_clear = decode(X_Addition_Cost_To_Clear,
638 NULL, addition_cost_to_clear,
639 FND_API.G_MISS_NUM, null,
640 X_Addition_Cost_To_Clear),
641 cost = decode(X_Cost,
642 NULL, cost,
643 FND_API.G_MISS_NUM, null,
644 X_Cost),
645 deprn_adjustment_amount = decode(X_Deprn_Adjustment_Amount,
646 NULL, deprn_adjustment_amount,
647 FND_API.G_MISS_NUM, null,
648 X_Deprn_Adjustment_Amount),
649 deprn_expense_je_line_num = decode(X_Deprn_Expense_Je_Line_Num,
650 NULL, deprn_expense_je_line_num,
651 FND_API.G_MISS_NUM, null,
652 X_Deprn_Expense_Je_Line_Num),
653 deprn_reserve_je_line_num = decode(X_Deprn_Reserve_Je_Line_Num,
654 NULL, deprn_reserve_je_line_num,
655 FND_API.G_MISS_NUM, null,
656 X_Deprn_Reserve_Je_Line_Num),
657 reval_amort_je_line_num = decode(X_Reval_Amort_Je_Line_Num,
658 NULL, reval_amort_je_line_num,
659 FND_API.G_MISS_NUM, null,
660 X_Reval_Amort_Je_Line_Num),
661 reval_reserve_je_line_num = decode(X_Reval_Reserve_Je_Line_Num,
662 NULL, reval_reserve_je_line_num,
663 FND_API.G_MISS_NUM, null,
664 X_Reval_Reserve_Je_Line_Num),
665 je_header_id = decode(X_Je_Header_Id,
666 NULL, je_header_id,
667 FND_API.G_MISS_NUM, null,
668 X_Je_Header_Id),
669 reval_amortization = decode(X_Reval_Amortization,
670 NULL, reval_amortization,
671 FND_API.G_MISS_NUM, null,
672 X_Reval_Amortization),
673 reval_deprn_expense = decode(X_Reval_Deprn_Expense,
674 NULL, reval_deprn_expense,
675 FND_API.G_MISS_NUM, null,
676 X_Reval_Deprn_Expense),
677 reval_reserve = decode(X_Reval_Reserve,
678 NULL, reval_reserve,
679 FND_API.G_MISS_NUM, null,
680 X_Reval_Reserve),
681 ytd_reval_deprn_expense = decode(X_Ytd_Reval_Deprn_Expense,
682 NULL, ytd_reval_deprn_expense,
683 FND_API.G_MISS_NUM, null,
684 X_Ytd_Reval_Deprn_Expense)
685 WHERE book_type_code = X_Book_Type_Code
686 and asset_id = X_Asset_Id
687 and period_counter = X_Period_Counter
688 and distribution_id = decode(X_Distribution_Id,
689 NULL, distribution_id,
690 X_Distribution_Id);
691
692
693 end if;
694 end if; -- rowid is null
695
696 if (SQL%NOTFOUND) then
697 Raise NO_DATA_FOUND;
698 end if;
699 EXCEPTION
700 WHEN Others THEN
701 FA_STANDARD_PKG.RAISE_ERROR
702 (Called_Fn => 'FA_DEPRN_DETAIL_PKG.Update_Row',
703 Calling_Fn => X_Calling_Fn
704 ,p_log_level_rec => p_log_level_rec);
705 END Update_Row;
706
707
708 PROCEDURE Delete_Row(X_Rowid VARCHAR2 DEFAULT NULL,
709 X_Asset_Id NUMBER DEFAULT NULL,
710 X_mrc_sob_type_code VARCHAR2 DEFAULT 'P',
711 X_Calling_Fn VARCHAR2,
712 p_log_level_rec in fa_api_types.log_level_rec_type default null) IS
713
714 BEGIN
715
716 if (X_mrc_sob_type_code = 'R') then
717 if X_Rowid is not null then
718 DELETE FROM fa_deprn_detail_mrc_v
719 WHERE rowid = X_Rowid;
720 elsif X_Asset_Id is not null then
721 DELETE FROM fa_deprn_detail_mrc_v
722 WHERE asset_id = X_Asset_Id;
723 else
724 -- error message
725 null;
726 end if;
727 else
728 if X_Rowid is not null then
729 DELETE FROM fa_deprn_detail
730 WHERE rowid = X_Rowid;
731 elsif X_Asset_Id is not null then
732 DELETE FROM fa_deprn_detail
733 WHERE asset_id = X_Asset_Id;
734 else
735 -- error message
736 null;
737 end if;
738 end if;
739
740 if (SQL%NOTFOUND) then
741 Raise NO_DATA_FOUND;
742 end if;
743 EXCEPTION
744 WHEN Others THEN
745 FA_STANDARD_PKG.RAISE_ERROR
746 (Called_Fn => 'FA_DEPRN_DETAIL_PKG.Delete_Row',
747 Calling_Fn => X_Calling_Fn
748 ,p_log_level_rec => p_log_level_rec);
749 END Delete_Row;
750
751
752 END FA_DEPRN_DETAIL_PKG;