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