DBA Data[Home] [Help]

PACKAGE BODY: APPS.FA_BOOKS_PKG

Source


1 PACKAGE BODY FA_BOOKS_PKG as
2 /* $Header: faxibkb.pls 120.15.12010000.1 2008/07/28 13:25:06 appldev 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_Date_Placed_In_Service         DATE,
8                        X_Date_Effective                 DATE,
9                        X_Deprn_Start_Date               DATE,
10                        X_Deprn_Method_Code              VARCHAR2,
11                        X_Life_In_Months                 NUMBER DEFAULT NULL,
12                        X_Rate_Adjustment_Factor         NUMBER,
13                        X_Adjusted_Cost                  NUMBER,
14                        X_Cost                           NUMBER,
15                        X_Original_Cost                  NUMBER,
16                        X_Salvage_Value                  NUMBER,
17                        X_Prorate_Convention_Code        VARCHAR2,
18                        X_Prorate_Date                   DATE,
19                        X_Cost_Change_Flag               VARCHAR2,
20                        X_Adjustment_Required_Status     VARCHAR2,
21                        X_Capitalize_Flag                VARCHAR2,
22                        X_Retirement_Pending_Flag        VARCHAR2,
23                        X_Depreciate_Flag                VARCHAR2,
24                        X_Disabled_Flag                  VARCHAR2 DEFAULT NULL, --hh eg.
25                        X_Last_Update_Date               DATE,
26                        X_Last_Updated_By                NUMBER,
27                        X_Date_Ineffective               DATE DEFAULT NULL,
28                        X_Transaction_Header_Id_In       NUMBER,
29                        X_Transaction_Header_Id_Out      NUMBER DEFAULT NULL,
30                        X_Itc_Amount_Id                  NUMBER DEFAULT NULL,
31                        X_Itc_Amount                     NUMBER DEFAULT NULL,
32                        X_Retirement_Id                  NUMBER DEFAULT NULL,
33                        X_Tax_Request_Id                 NUMBER DEFAULT NULL,
34                        X_Itc_Basis                      NUMBER DEFAULT NULL,
35                        X_Basic_Rate                     NUMBER DEFAULT NULL,
36                        X_Adjusted_Rate                  NUMBER DEFAULT NULL,
37                        X_Bonus_Rule                     VARCHAR2 DEFAULT NULL,
38                        X_Ceiling_Name                   VARCHAR2 DEFAULT NULL,
39                        X_Recoverable_Cost               NUMBER,
40                        X_Last_Update_Login              NUMBER DEFAULT NULL,
41                        X_Adjusted_Capacity              NUMBER DEFAULT NULL,
42                        X_Fully_Rsvd_Revals_Counter      NUMBER DEFAULT NULL,
43                        X_Idled_Flag                     VARCHAR2 DEFAULT NULL,
44                        X_Period_Counter_Capitalized     NUMBER DEFAULT NULL,
45                        X_PC_Fully_Reserved              NUMBER DEFAULT NULL,
46                        X_Period_Counter_Fully_Retired   NUMBER DEFAULT NULL,
47                        X_Production_Capacity            NUMBER DEFAULT NULL,
48                        X_Reval_Amortization_Basis       NUMBER DEFAULT NULL,
49                        X_Reval_Ceiling                  NUMBER DEFAULT NULL,
50                        X_Unit_Of_Measure                VARCHAR2 DEFAULT NULL,
51                        X_Unrevalued_Cost                NUMBER,
52                        X_Annual_Deprn_Rounding_Flag     VARCHAR2 DEFAULT NULL,
53                        X_Percent_Salvage_Value          NUMBER DEFAULT NULL,
54                        X_Allowed_Deprn_Limit            NUMBER DEFAULT NULL,
55                        X_Allowed_Deprn_Limit_Amount     NUMBER DEFAULT NULL,
56                        X_Period_Counter_Life_Complete   NUMBER DEFAULT NULL,
57                        X_Adjusted_Recoverable_Cost      NUMBER DEFAULT NULL,
58 /* syoung: next new columns for short tax years */
59                        X_Short_Fiscal_Year_Flag         VARCHAR2 DEFAULT NULL,
60                        X_Conversion_Date                DATE DEFAULT NULL,
61                        X_Orig_Deprn_Start_Date          DATE DEFAULT NULL,
62                        X_Remaining_Life1                NUMBER DEFAULT NULL,
63                        X_Remaining_Life2                NUMBER DEFAULT NULL,
64                        X_Old_Adj_Cost                   NUMBER DEFAULT NULL,
65                        X_Formula_Factor                 NUMBER DEFAULT NULL,
66 /* syoung: up to here */
67                        X_gf_Attribute1                  VARCHAR2 DEFAULT NULL,
68                        X_gf_Attribute2                  VARCHAR2 DEFAULT NULL,
69                        X_gf_Attribute3                  VARCHAR2 DEFAULT NULL,
70                        X_gf_Attribute4                  VARCHAR2 DEFAULT NULL,
71                        X_gf_Attribute5                  VARCHAR2 DEFAULT NULL,
72                        X_gf_Attribute6                  VARCHAR2 DEFAULT NULL,
73                        X_gf_Attribute7                  VARCHAR2 DEFAULT NULL,
74                        X_gf_Attribute8                  VARCHAR2 DEFAULT NULL,
75                        X_gf_Attribute9                  VARCHAR2 DEFAULT NULL,
76                        X_gf_Attribute10                 VARCHAR2 DEFAULT NULL,
77                        X_gf_Attribute11                 VARCHAR2 DEFAULT NULL,
78                        X_gf_Attribute12                 VARCHAR2 DEFAULT NULL,
79                        X_gf_Attribute13                 VARCHAR2 DEFAULT NULL,
80                        X_gf_Attribute14                 VARCHAR2 DEFAULT NULL,
81                        X_gf_Attribute15                 VARCHAR2 DEFAULT NULL,
82                        X_gf_Attribute16                 VARCHAR2 DEFAULT NULL,
83                        X_gf_Attribute17                 VARCHAR2 DEFAULT NULL,
84                        X_gf_Attribute18                 VARCHAR2 DEFAULT NULL,
85                        X_gf_Attribute19                 VARCHAR2 DEFAULT NULL,
86                        X_gf_Attribute20                 VARCHAR2 DEFAULT NULL,
87                        X_global_attribute_category      VARCHAR2 DEFAULT NULL,
88                        X_group_asset_id                 NUMBER   DEFAULT NULL,
89 -- new group fields
90                        X_salvage_type                   VARCHAR2 DEFAULT NULL,
91                        X_deprn_limit_type               VARCHAR2 DEFAULT NULL,
92                        X_over_depreciate_option         VARCHAR2 DEFAULT NULL,
93                        X_super_group_id                 NUMBER   DEFAULT NULL,
94                        X_reduction_rate                 NUMBER   DEFAULT NULL,
95                        X_reduce_addition_flag           VARCHAR2 DEFAULT NULL,
96                        X_reduce_adjustment_flag         VARCHAR2 DEFAULT NULL,
97                        X_reduce_retirement_flag         VARCHAR2 DEFAULT NULL,
98                        X_recognize_gain_loss            VARCHAR2 DEFAULT NULL,
99                        X_recapture_reserve_flag         VARCHAR2 DEFAULT NULL,
100                        X_limit_proceeds_flag            VARCHAR2 DEFAULT NULL,
101                        X_terminal_gain_loss             VARCHAR2 DEFAULT NULL,
102                        X_tracking_method                VARCHAR2 DEFAULT NULL,
103                        X_allocate_to_fully_rsv_flag     VARCHAR2 DEFAULT NULL,
104                        X_allocate_to_fully_ret_flag     VARCHAR2 DEFAULT NULL,
105                        X_exclude_fully_rsv_flag         VARCHAR2 DEFAULT NULL,
106                        X_excess_allocation_option       VARCHAR2 DEFAULT NULL,
107                        X_depreciation_option            VARCHAR2 DEFAULT NULL,
108                        X_member_rollup_flag             VARCHAR2 DEFAULT NULL,
109                        X_ytd_proceeds                   NUMBER   DEFAULT NULL,
110                        X_ltd_proceeds                   NUMBER   DEFAULT NULL,
111                        X_eofy_reserve                   NUMBER   DEFAULT NULL,
112                        X_cip_cost                       NUMBER   DEFAULT NULL,
113                        X_terminal_gain_loss_amount      NUMBER   DEFAULT NULL,
114                        X_ltd_cost_of_removal            NUMBER   DEFAULT NULL,
115                        X_exclude_proceeds_from_basis    VARCHAR2 DEFAULT NULL,
116                        X_retirement_deprn_option        VARCHAR2 DEFAULT NULL,
117                        X_terminal_gain_loss_flag        VARCHAR2 DEFAULT NULL,
118                        X_contract_id                    NUMBER   DEFAULT NULL, -- Bug:6021567
119                        X_extended_deprn_flag            VARCHAR2 DEFAULT NULL, -- Japan Tax Phase3
120                        X_extended_depreciation_period   NUMBER   DEFAULT NULL, -- Japan Tax Phase3
121                        X_mrc_sob_type_code              VARCHAR2 DEFAULT 'P',
122                        X_Return_Status                  OUT NOCOPY BOOLEAN,
123                        X_Calling_Fn                     VARCHAR2,
124                   p_log_level_rec        IN     FA_API_TYPES.log_level_rec_type default null) IS
125     CURSOR C_bk IS SELECT rowid FROM fa_books
126                  WHERE transaction_header_id_in = X_Transaction_Header_Id_In;
127 
128     CURSOR C_bk_mc IS SELECT rowid FROM fa_books_mrc_v
129                  WHERE transaction_header_id_in = X_Transaction_Header_Id_In;
130 
131    BEGIN
132 
133        if (X_mrc_sob_type_code = 'R') then
134           INSERT INTO fa_books_mrc_v(
135               book_type_code,
136               asset_id,
137               date_placed_in_service,
138               date_effective,
139               deprn_start_date,
140               deprn_method_code,
141               life_in_months,
142               rate_adjustment_factor,
143               adjusted_cost,
144               cost,
145               original_cost,
146               salvage_value,
147               prorate_convention_code,
148               prorate_date,
149               cost_change_flag,
150               adjustment_required_status,
151               capitalize_flag,
152               retirement_pending_flag,
153               depreciate_flag,
154               disabled_flag, --HH eg.
155               last_update_date,
156               last_updated_by,
157               date_ineffective,
158               transaction_header_id_in,
159               transaction_header_id_out,
160               itc_amount_id,
161               itc_amount,
162               retirement_id,
163               tax_request_id,
164               itc_basis,
165               basic_rate,
166               adjusted_rate,
167               bonus_rule,
168               ceiling_name,
169               recoverable_cost,
170               last_update_login,
171               adjusted_capacity,
172               fully_rsvd_revals_counter,
173               idled_flag,
174               period_counter_capitalized,
175               period_counter_fully_reserved,
176               period_counter_fully_retired,
177               production_capacity,
178               reval_amortization_basis,
179               reval_ceiling,
180               unit_of_measure,
181               unrevalued_cost,
182               annual_deprn_rounding_flag,
183               percent_salvage_value,
184               allowed_deprn_limit,
185               allowed_deprn_limit_amount,
186               period_counter_life_complete,
187               adjusted_recoverable_cost,
188 /* syoung: next new columns for short tax years */
189               short_fiscal_year_flag,
190               conversion_date,
191               original_deprn_start_date,
192               remaining_life1,
193               remaining_life2,
194               old_adjusted_cost,
195               formula_factor,
196 /* syoung: up to here */
197               global_Attribute1,
198               global_Attribute2,
199               global_Attribute3,
200               global_Attribute4,
201               global_Attribute5,
202               global_Attribute6,
203               global_Attribute7,
204               global_Attribute8,
205               global_Attribute9,
206               global_Attribute10,
207               global_Attribute11,
208               global_Attribute12,
209               global_Attribute13,
210               global_Attribute14,
211               global_Attribute15,
212               global_Attribute16,
213               global_Attribute17,
214               global_Attribute18,
215               global_Attribute19,
216               global_Attribute20,
217               global_attribute_category,
218               group_asset_id,
219               salvage_type,
220               deprn_limit_type,
221               over_depreciate_option,
222               super_group_id,
223               reduction_rate,
224               reduce_addition_flag,
225               reduce_adjustment_flag,
226               reduce_retirement_flag,
227               recognize_gain_loss,
228               recapture_reserve_flag,
229               limit_proceeds_flag,
230               terminal_gain_loss,
231               tracking_method,
232               allocate_to_fully_rsv_flag,
233               allocate_to_fully_ret_flag,
234               exclude_fully_rsv_flag,
235               excess_allocation_option,
236               depreciation_option,
237               member_rollup_flag,
238               ytd_proceeds,
239               ltd_proceeds,
240               eofy_reserve,
241               cip_cost,
242               terminal_gain_loss_amount,
243               ltd_cost_of_removal,
244               exclude_proceeds_from_basis,
245               retirement_deprn_option,
246               terminal_gain_loss_flag,
247               contract_id -- Bug:6021567
248 			 ) VALUES (
249               X_Book_Type_Code,
250               X_Asset_Id,
251               X_Date_Placed_In_Service,
252               X_Date_Effective,
253               X_Deprn_Start_Date,
254               X_Deprn_Method_Code,
255               X_Life_In_Months,
256               X_Rate_Adjustment_Factor,
257               X_Adjusted_Cost,
258               X_Cost,
259               X_Original_Cost,
260               X_Salvage_Value,
261               X_Prorate_Convention_Code,
262               X_Prorate_Date,
263               X_Cost_Change_Flag,
264               X_Adjustment_Required_Status,
265               X_Capitalize_Flag,
266               X_Retirement_Pending_Flag,
267               X_Depreciate_Flag,
268               X_disabled_flag, --HH eg.
269               X_Last_Update_Date,
270               X_Last_Updated_By,
271               X_Date_Ineffective,
272               X_Transaction_Header_Id_In,
273               X_Transaction_Header_Id_Out,
274               X_Itc_Amount_Id,
275               X_Itc_Amount,
276               X_Retirement_Id,
277               X_Tax_Request_Id,
278               X_Itc_Basis,
279               X_Basic_Rate,
280               X_Adjusted_Rate,
281               X_Bonus_Rule,
282               X_Ceiling_Name,
283               X_Recoverable_Cost,
284               X_Last_Update_Login,
285               X_Adjusted_Capacity,
286               X_Fully_Rsvd_Revals_Counter,
287               X_Idled_Flag,
288               X_Period_Counter_Capitalized,
289               X_PC_Fully_Reserved,
290               X_Period_Counter_Fully_Retired,
291               X_Production_Capacity,
292               X_Reval_Amortization_Basis,
293               X_Reval_Ceiling,
294               X_Unit_Of_Measure,
295               X_Unrevalued_Cost,
296               X_Annual_Deprn_Rounding_Flag,
297               X_Percent_Salvage_Value,
298               X_Allowed_Deprn_Limit,
299               X_Allowed_Deprn_Limit_Amount,
300               X_Period_Counter_Life_Complete,
301               X_Adjusted_Recoverable_Cost,
302 /* syoung: next new column values for short tax years */
303               X_Short_Fiscal_Year_Flag,
304               X_Conversion_Date,
305               X_Orig_Deprn_Start_Date,
306               X_Remaining_Life1,
307               X_Remaining_Life2,
308               X_Old_Adj_Cost,
309               X_Formula_Factor,
310 /* syoung: up to here */
311               X_gf_Attribute1,
312               X_gf_Attribute2,
313               X_gf_Attribute3,
314               X_gf_Attribute4,
315               X_gf_Attribute5,
316               X_gf_Attribute6,
317               X_gf_Attribute7,
318               X_gf_Attribute8,
319               X_gf_Attribute9,
320               X_gf_Attribute10,
321               X_gf_Attribute11,
322               X_gf_Attribute12,
323               X_gf_Attribute13,
324               X_gf_Attribute14,
325               X_gf_Attribute15,
326               X_gf_Attribute16,
327               X_gf_Attribute17,
328               X_gf_Attribute18,
329               X_gf_Attribute19,
330               X_gf_Attribute20,
331               X_global_attribute_category,
332               X_group_asset_id,
333               X_salvage_type,
334               X_deprn_limit_type,
335               X_over_depreciate_option,
336               X_super_group_id,
337               X_reduction_rate,
338               X_reduce_addition_flag,
339               X_reduce_adjustment_flag,
340               X_reduce_retirement_flag,
341               X_recognize_gain_loss,
342               X_recapture_reserve_flag,
343               X_limit_proceeds_flag,
344               X_terminal_gain_loss,
345               X_tracking_method,
346               X_allocate_to_fully_rsv_flag,
347               X_allocate_to_fully_ret_flag,
348               X_exclude_fully_rsv_flag,
349               X_excess_allocation_option,
350               X_depreciation_option,
351               X_member_rollup_flag,
352               X_ytd_proceeds,
353               X_ltd_proceeds,
354               X_eofy_reserve,
355               X_cip_cost,
356               X_terminal_gain_loss_amount,
357               X_ltd_cost_of_removal,
358               X_exclude_proceeds_from_basis,
359               X_retirement_deprn_option,
360               X_terminal_gain_loss_flag,
361               X_contract_id -- Bug:6021567
362 			 );
363 
364           OPEN C_bk_mc;
365           FETCH C_bk_mc INTO X_Rowid;
366           if (C_bk_mc%NOTFOUND) then
367              CLOSE C_bk_mc;
368              Raise NO_DATA_FOUND;
369           end if;
370           CLOSE C_bk_mc;
371 
372        else
373 
374           INSERT INTO fa_books(
375               book_type_code,
376               asset_id,
377               date_placed_in_service,
378               date_effective,
379               deprn_start_date,
380               deprn_method_code,
381               life_in_months,
382               rate_adjustment_factor,
383               adjusted_cost,
384               cost,
385               original_cost,
386               salvage_value,
387               prorate_convention_code,
388               prorate_date,
389               cost_change_flag,
390               adjustment_required_status,
391               capitalize_flag,
392               retirement_pending_flag,
393               depreciate_flag,
394               disabled_flag, --HH eg.
395               last_update_date,
396               last_updated_by,
397               date_ineffective,
398               transaction_header_id_in,
399               transaction_header_id_out,
400               itc_amount_id,
401               itc_amount,
402               retirement_id,
403               tax_request_id,
404               itc_basis,
405               basic_rate,
406               adjusted_rate,
407               bonus_rule,
408               ceiling_name,
409               recoverable_cost,
410               last_update_login,
411               adjusted_capacity,
412               fully_rsvd_revals_counter,
413               idled_flag,
414               period_counter_capitalized,
415               period_counter_fully_reserved,
416               period_counter_fully_retired,
417               production_capacity,
418               reval_amortization_basis,
419               reval_ceiling,
420               unit_of_measure,
421               unrevalued_cost,
422               annual_deprn_rounding_flag,
423               percent_salvage_value,
424               allowed_deprn_limit,
425               allowed_deprn_limit_amount,
426               period_counter_life_complete,
427               adjusted_recoverable_cost,
428 /* syoung: next new columns for short tax years */
429               short_fiscal_year_flag,
430               conversion_date,
431               original_deprn_start_date,
432               remaining_life1,
433               remaining_life2,
434               old_adjusted_cost,
435               formula_factor,
436 /* syoung: up to here */
437               global_Attribute1,
438               global_Attribute2,
439               global_Attribute3,
440               global_Attribute4,
441               global_Attribute5,
442               global_Attribute6,
443               global_Attribute7,
444               global_Attribute8,
445               global_Attribute9,
446               global_Attribute10,
447               global_Attribute11,
448               global_Attribute12,
449               global_Attribute13,
450               global_Attribute14,
451               global_Attribute15,
452               global_Attribute16,
453               global_Attribute17,
454               global_Attribute18,
455               global_Attribute19,
456               global_Attribute20,
457               global_attribute_category,
458               group_asset_id,
459               salvage_type,
460               deprn_limit_type,
461               over_depreciate_option,
462               super_group_id,
463               reduction_rate,
464               reduce_addition_flag,
465               reduce_adjustment_flag,
466               reduce_retirement_flag,
467               recognize_gain_loss,
468               recapture_reserve_flag,
469               limit_proceeds_flag,
470               terminal_gain_loss,
471               tracking_method,
472               allocate_to_fully_rsv_flag,
473               allocate_to_fully_ret_flag,
474               exclude_fully_rsv_flag,
475               excess_allocation_option,
476               depreciation_option,
477               member_rollup_flag,
478               ytd_proceeds,
479               ltd_proceeds,
480               eofy_reserve,
481               cip_cost,
482               terminal_gain_loss_amount,
483               ltd_cost_of_removal,
484               exclude_proceeds_from_basis,
485               retirement_deprn_option,
486               terminal_gain_loss_flag,
487               contract_id, -- Bug:6021567
488               extended_deprn_flag,         -- Japan Tax Phase3
489               extended_depreciation_period -- Japan Tax Phase3
490 			 ) VALUES (
491               X_Book_Type_Code,
492               X_Asset_Id,
493               X_Date_Placed_In_Service,
494               X_Date_Effective,
495               X_Deprn_Start_Date,
496               X_Deprn_Method_Code,
497               X_Life_In_Months,
498               X_Rate_Adjustment_Factor,
499               X_Adjusted_Cost,
500               X_Cost,
501               X_Original_Cost,
502               X_Salvage_Value,
503               X_Prorate_Convention_Code,
504               X_Prorate_Date,
505               X_Cost_Change_Flag,
506               X_Adjustment_Required_Status,
507               X_Capitalize_Flag,
508               X_Retirement_Pending_Flag,
509               X_Depreciate_Flag,
510               X_disabled_flag, --HH eg.
511               X_Last_Update_Date,
512               X_Last_Updated_By,
513               X_Date_Ineffective,
514               X_Transaction_Header_Id_In,
515               X_Transaction_Header_Id_Out,
516               X_Itc_Amount_Id,
517               X_Itc_Amount,
518               X_Retirement_Id,
519               X_Tax_Request_Id,
520               X_Itc_Basis,
521               X_Basic_Rate,
522               X_Adjusted_Rate,
523               X_Bonus_Rule,
524               X_Ceiling_Name,
525               X_Recoverable_Cost,
526               X_Last_Update_Login,
527               X_Adjusted_Capacity,
528               X_Fully_Rsvd_Revals_Counter,
529               X_Idled_Flag,
530               X_Period_Counter_Capitalized,
531               X_PC_Fully_Reserved,
532               X_Period_Counter_Fully_Retired,
533               X_Production_Capacity,
534               X_Reval_Amortization_Basis,
535               X_Reval_Ceiling,
536               X_Unit_Of_Measure,
537               X_Unrevalued_Cost,
538               X_Annual_Deprn_Rounding_Flag,
539               X_Percent_Salvage_Value,
540               X_Allowed_Deprn_Limit,
541               X_Allowed_Deprn_Limit_Amount,
542               X_Period_Counter_Life_Complete,
543               X_Adjusted_Recoverable_Cost,
544 /* syoung: next new column values for short tax years */
545               X_Short_Fiscal_Year_Flag,
546               X_Conversion_Date,
547               X_Orig_Deprn_Start_Date,
548               X_Remaining_Life1,
549               X_Remaining_Life2,
550               X_Old_Adj_Cost,
551               X_Formula_Factor,
552 /* syoung: up to here */
553               X_gf_Attribute1,
554               X_gf_Attribute2,
555               X_gf_Attribute3,
556               X_gf_Attribute4,
557               X_gf_Attribute5,
558               X_gf_Attribute6,
559               X_gf_Attribute7,
560               X_gf_Attribute8,
561               X_gf_Attribute9,
562               X_gf_Attribute10,
563               X_gf_Attribute11,
564               X_gf_Attribute12,
565               X_gf_Attribute13,
566               X_gf_Attribute14,
567               X_gf_Attribute15,
568               X_gf_Attribute16,
569               X_gf_Attribute17,
570               X_gf_Attribute18,
571               X_gf_Attribute19,
572               X_gf_Attribute20,
573               X_global_attribute_category,
574               X_group_asset_id,
575               X_salvage_type,
576               X_deprn_limit_type,
577               X_over_depreciate_option,
578               X_super_group_id,
579               X_reduction_rate,
580               X_reduce_addition_flag,
581               X_reduce_adjustment_flag,
582               X_reduce_retirement_flag,
583               X_recognize_gain_loss,
584               X_recapture_reserve_flag,
585               X_limit_proceeds_flag,
586               X_terminal_gain_loss,
587               X_tracking_method,
588               X_allocate_to_fully_rsv_flag,
589               X_allocate_to_fully_ret_flag,
590               X_exclude_fully_rsv_flag,
591               X_excess_allocation_option,
592               X_depreciation_option,
593               X_member_rollup_flag,
594               X_ytd_proceeds,
595               X_ltd_proceeds,
596               X_eofy_reserve,
597               X_cip_cost,
598               X_terminal_gain_loss_amount,
599               X_ltd_cost_of_removal,
600               X_exclude_proceeds_from_basis,
601               X_retirement_deprn_option,
602               X_terminal_gain_loss_flag,
603               X_contract_id, -- Bug:6021567
604               X_extended_deprn_flag,         -- Japan Tax Phase3
605               X_extended_depreciation_period -- Japan Tax Phase3
606 			 );
607 
608            OPEN C_bk;
609            FETCH C_bk INTO X_Rowid;
610            if (C_bk%NOTFOUND) then
611               CLOSE C_bk;
612               Raise NO_DATA_FOUND;
613            end if;
614            CLOSE C_bk;
615 
616         end if;  -- end mrc
617 
618     X_Return_Status := TRUE;
619   exception
620     when others then
621       if (X_Calling_Fn = 'fa_unp_dep_pkg.on_insert') then
622         FA_STANDARD_PKG.RAISE_ERROR(
623           CALLED_FN => 'fa_books_pkg.insert_row',
624           CALLING_FN => X_Calling_Fn
625           ,p_log_level_rec => p_log_level_rec);
626      X_Return_Status := FALSE;
627       else
628          fa_srvr_msg.add_sql_error(
629              calling_fn => 'fa_books_pkg.insert_row'
630              ,p_log_level_rec => p_log_level_rec);
631          X_Return_Status := FALSE;
632          raise; -- BUG# 1979676
633       end if;
634 
635   END Insert_Row;
636 
637 
638   PROCEDURE Lock_Row(X_Rowid                            VARCHAR2,
639                      X_Book_Type_Code                   VARCHAR2,
640                      X_Asset_Id                         NUMBER,
641                      X_Date_Placed_In_Service           DATE,
642                      X_Date_Effective                   DATE,
643                      X_Deprn_Start_Date                 DATE,
644                      X_Deprn_Method_Code                VARCHAR2,
645                      X_Life_In_Months                   NUMBER DEFAULT NULL,
646                      X_Rate_Adjustment_Factor           NUMBER,
647                      X_Adjusted_Cost                    NUMBER,
648                      X_Cost                             NUMBER,
649                      X_Original_Cost                    NUMBER,
650                      X_Salvage_Value                    NUMBER,
651                      X_Prorate_Convention_Code          VARCHAR2,
652                      X_Prorate_Date                     DATE,
653                      X_Cost_Change_Flag                 VARCHAR2,
654                      X_Adjustment_Required_Status       VARCHAR2,
655                      X_Capitalize_Flag                  VARCHAR2,
656                      X_Retirement_Pending_Flag          VARCHAR2,
657                      X_Depreciate_Flag                  VARCHAR2,
658                      X_disabled_flag                    VARCHAR2 DEFAULT NULL, --HH eg.
659                      X_Date_Ineffective                 DATE DEFAULT NULL,
660                      X_Transaction_Header_Id_In         NUMBER,
661                      X_Transaction_Header_Id_Out        NUMBER DEFAULT NULL,
662                      X_Itc_Amount_Id                    NUMBER DEFAULT NULL,
663                      X_Itc_Amount                       NUMBER DEFAULT NULL,
664                      X_Retirement_Id                    NUMBER DEFAULT NULL,
665                      X_Tax_Request_Id                   NUMBER DEFAULT NULL,
666                      X_Itc_Basis                        NUMBER DEFAULT NULL,
667                      X_Basic_Rate                       NUMBER DEFAULT NULL,
668                      X_Adjusted_Rate                    NUMBER DEFAULT NULL,
669                      X_Bonus_Rule                       VARCHAR2 DEFAULT NULL,
670                      X_Ceiling_Name                     VARCHAR2 DEFAULT NULL,
671                      X_Recoverable_Cost                 NUMBER,
672                      X_Adjusted_Capacity                NUMBER DEFAULT NULL,
673                      X_Fully_Rsvd_Revals_Counter        NUMBER DEFAULT NULL,
674                      X_Idled_Flag                       VARCHAR2 DEFAULT NULL,
675                      X_Period_Counter_Capitalized       NUMBER DEFAULT NULL,
676                      X_PC_Fully_Reserved                NUMBER DEFAULT NULL,
677                      X_Period_Counter_Fully_Retired     NUMBER DEFAULT NULL,
678                      X_Production_Capacity              NUMBER DEFAULT NULL,
679                      X_Reval_Amortization_Basis         NUMBER DEFAULT NULL,
680                      X_Reval_Ceiling                    NUMBER DEFAULT NULL,
681                      X_Unit_Of_Measure                  VARCHAR2 DEFAULT NULL,
682                      X_Unrevalued_Cost                  NUMBER,
683                      X_Annual_Deprn_Rounding_Flag       VARCHAR2 DEFAULT NULL,
684                      X_Percent_Salvage_Value            NUMBER DEFAULT NULL,
685                      X_Allowed_Deprn_Limit              NUMBER DEFAULT NULL,
686                      X_Allowed_Deprn_Limit_Amount       NUMBER DEFAULT NULL,
687                      X_Period_Counter_Life_Complete     NUMBER DEFAULT NULL,
688                      X_Adjusted_Recoverable_Cost        NUMBER DEFAULT NULL,
689                      X_Calling_Fn                       VARCHAR2,
690                p_log_level_rec        IN     FA_API_TYPES.log_level_rec_type default null) IS
691     CURSOR C IS
692         SELECT     book_type_code,
693           asset_id,
694           date_placed_in_service,
695           date_effective,
696           deprn_start_date,
697           deprn_method_code,
698           life_in_months,
699           rate_adjustment_factor,
700           adjusted_cost,
701           cost,
702           original_cost,
703           salvage_value,
704           prorate_convention_code,
705           prorate_date,
706           cost_change_flag,
707           adjustment_required_status,
708           capitalize_flag,
709           retirement_pending_flag,
710           depreciate_flag,
711           disabled_flag, --HH eg.
712           last_update_date,
713           last_updated_by,
714           date_ineffective,
715           transaction_header_id_in,
716           transaction_header_id_out,
717           itc_amount_id,
718           itc_amount,
719           retirement_id,
720           tax_request_id,
721           itc_basis,
722           basic_rate,
723           adjusted_rate,
724           bonus_rule,
725           ceiling_name,
726           recoverable_cost,
727           last_update_login,
728           adjusted_capacity,
729           fully_rsvd_revals_counter,
730           idled_flag,
731           period_counter_capitalized,
732           period_counter_fully_reserved,
733           period_counter_fully_retired,
734           production_capacity,
735           reval_amortization_basis,
736           reval_ceiling,
737           unit_of_measure,
738           unrevalued_cost,
739           annual_deprn_rounding_flag,
740           percent_salvage_value,
741           allowed_deprn_limit,
742           allowed_deprn_limit_amount,
743           period_counter_life_complete,
744           adjusted_recoverable_cost,
745           annual_rounding_flag,
746           global_attribute1,
747           global_attribute2,
748           global_attribute3,
749           global_attribute4,
750           global_attribute5,
751           global_attribute6,
752           global_attribute7,
753           global_attribute8,
754           global_attribute9,
755           global_attribute10,
756           global_attribute11,
757           global_attribute12,
758           global_attribute13,
759           global_attribute14,
760           global_attribute15,
761           global_attribute16,
762           global_attribute17,
763           global_attribute18,
764           global_attribute19,
765           global_attribute20,
766           global_attribute_category,
767           eofy_adj_cost,
768           short_fiscal_year_flag,
769           conversion_date,
770           remaining_life1,
771           remaining_life2,
772           original_deprn_start_date,
773           old_adjusted_cost,
774           formula_factor,
775           eofy_formula_factor
776         FROM   fa_books
777         WHERE  rowid = X_Rowid
778         FOR UPDATE of Transaction_Header_Id_In NOWAIT;
779     Recinfo C%ROWTYPE;
780 
781 
782   BEGIN
783     OPEN C;
784     FETCH C INTO Recinfo;
785     if (C%NOTFOUND) then
786       CLOSE C;
787       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
788       APP_EXCEPTION.Raise_Exception;
789     end if;
790     CLOSE C;
791     if ((Recinfo.book_type_code =  X_Book_Type_Code)
792            AND (Recinfo.asset_id =  X_Asset_Id)
793            AND (Recinfo.date_placed_in_service =  X_Date_Placed_In_Service)
794            AND (Recinfo.date_effective =  X_Date_Effective)
795            AND (Recinfo.deprn_start_date =  X_Deprn_Start_Date)
796            AND (Recinfo.deprn_method_code =  X_Deprn_Method_Code)
797            AND (   (Recinfo.life_in_months =  X_Life_In_Months)
798                 OR (    (Recinfo.life_in_months IS NULL)
799                     AND (X_Life_In_Months IS NULL)))
800            AND (Recinfo.rate_adjustment_factor =  X_Rate_Adjustment_Factor)
801            AND (Recinfo.adjusted_cost =  X_Adjusted_Cost)
802            AND (Recinfo.cost =  X_Cost)
803            AND (Recinfo.original_cost =  X_Original_Cost)
804            AND (Recinfo.salvage_value =  X_Salvage_Value)
805            AND (Recinfo.prorate_convention_code =  X_Prorate_Convention_Code)
806            AND (Recinfo.prorate_date =  X_Prorate_Date)
807            AND (Recinfo.cost_change_flag =  X_Cost_Change_Flag)
808            AND (Recinfo.adjustment_required_status =
809                          X_Adjustment_Required_Status)
810            AND (Recinfo.capitalize_flag =  X_Capitalize_Flag)
811            AND (Recinfo.retirement_pending_flag =  X_Retirement_Pending_Flag)
812            AND (Recinfo.depreciate_flag =  X_Depreciate_Flag)
813            --HH eg.
814            AND (   (Recinfo.disabled_flag =  X_Disabled_Flag)
815                 OR (    (Recinfo.Disabled_flag IS NULL)
816                     AND (X_Disabled_Flag IS NULL)))
817            AND (   (Recinfo.date_ineffective =  X_Date_Ineffective)
818                 OR (    (Recinfo.date_ineffective IS NULL)
819                     AND (X_Date_Ineffective IS NULL)))
820            AND (Recinfo.transaction_header_id_in =  X_Transaction_Header_Id_In)
821            AND (   (Recinfo.transaction_header_id_out =
822                               X_Transaction_Header_Id_Out)
823                 OR (    (Recinfo.transaction_header_id_out IS NULL)
824                     AND (X_Transaction_Header_Id_Out IS NULL)))
825            AND (   (Recinfo.itc_amount_id =  X_Itc_Amount_Id)
826                 OR (    (Recinfo.itc_amount_id IS NULL)
827                     AND (X_Itc_Amount_Id IS NULL)))
828            AND (   (Recinfo.itc_amount =  X_Itc_Amount)
829                 OR (    (Recinfo.itc_amount IS NULL)
830                     AND (X_Itc_Amount IS NULL)))
831            AND (   (Recinfo.retirement_id =  X_Retirement_Id)
832                 OR (    (Recinfo.retirement_id IS NULL)
833                     AND (X_Retirement_Id IS NULL)))
834            AND (   (Recinfo.tax_request_id =  X_Tax_Request_Id)
835                 OR (    (Recinfo.tax_request_id IS NULL)
836                     AND (X_Tax_Request_Id IS NULL)))
837            AND (   (Recinfo.itc_basis =  X_Itc_Basis)
838                 OR (    (Recinfo.itc_basis IS NULL)
839                     AND (X_Itc_Basis IS NULL)))
840            AND (   (Recinfo.basic_rate =  X_Basic_Rate)
841                 OR (    (Recinfo.basic_rate IS NULL)
842                     AND (X_Basic_Rate IS NULL)))
843            AND (   (Recinfo.adjusted_rate =  X_Adjusted_Rate)
844                 OR (    (Recinfo.adjusted_rate IS NULL)
845                     AND (X_Adjusted_Rate IS NULL)))
846            AND (   (Recinfo.bonus_rule =  X_Bonus_Rule)
847                 OR (    (Recinfo.bonus_rule IS NULL)
848                     AND (X_Bonus_Rule IS NULL)))
849            AND (   (Recinfo.ceiling_name =  X_Ceiling_Name)
850                 OR (    (Recinfo.ceiling_name IS NULL)
851                     AND (X_Ceiling_Name IS NULL)))
852            AND (Recinfo.recoverable_cost =  X_Recoverable_Cost)
853            AND (   (Recinfo.adjusted_capacity =  X_Adjusted_Capacity)
854                 OR (    (Recinfo.adjusted_capacity IS NULL)
855                     AND (X_Adjusted_Capacity IS NULL)))
856            AND (   (Recinfo.fully_rsvd_revals_counter =
857                               X_Fully_Rsvd_Revals_Counter)
858                 OR (    (Recinfo.fully_rsvd_revals_counter IS NULL)
859                     AND (X_Fully_Rsvd_Revals_Counter IS NULL)))
860            AND (   (Recinfo.idled_flag =  X_Idled_Flag)
861                 OR (    (Recinfo.idled_flag IS NULL)
862                     AND (X_Idled_Flag IS NULL)))
863            AND (   (Recinfo.period_counter_capitalized =
864                          X_Period_Counter_Capitalized)
865                 OR (    (Recinfo.period_counter_capitalized IS NULL)
866                     AND (X_Period_Counter_Capitalized IS NULL)))
867            AND (   (Recinfo.period_counter_fully_reserved =
868                          X_PC_Fully_Reserved)
869                 OR (    (Recinfo.period_counter_fully_reserved IS NULL)
870                     AND (X_PC_Fully_Reserved IS NULL)))
871            AND (   (Recinfo.period_counter_fully_retired =
872                               X_Period_Counter_Fully_Retired)
873                 OR (    (Recinfo.period_counter_fully_retired IS NULL)
874                     AND (X_Period_Counter_Fully_Retired IS NULL)))
875            AND (   (Recinfo.production_capacity =  X_Production_Capacity)
876                 OR (    (Recinfo.production_capacity IS NULL)
877                     AND (X_Production_Capacity IS NULL)))
878            AND (   (Recinfo.reval_amortization_basis =
879                               X_Reval_Amortization_Basis)
880                 OR (    (Recinfo.reval_amortization_basis IS NULL)
881                     AND (X_Reval_Amortization_Basis IS NULL)))
882            AND (   (Recinfo.reval_ceiling =  X_Reval_Ceiling)
883                 OR (    (Recinfo.reval_ceiling IS NULL)
884                     AND (X_Reval_Ceiling IS NULL)))
885            AND (   (Recinfo.unit_of_measure =  X_Unit_Of_Measure)
886                 OR (    (Recinfo.unit_of_measure IS NULL)
887                     AND (X_Unit_Of_Measure IS NULL)))
888            AND (Recinfo.unrevalued_cost =  X_Unrevalued_Cost)
889         AND (   (Recinfo.adjusted_recoverable_cost =
890                          X_Adjusted_Recoverable_Cost)
891           OR (    (Recinfo.adjusted_recoverable_cost IS NULL)
892               AND (X_Adjusted_Recoverable_Cost IS NULL)))
893         AND (   (Recinfo.percent_salvage_value = X_Percent_Salvage_Value)
894           OR (    (Recinfo.percent_salvage_value IS NULL)
895               AND (X_Percent_Salvage_Value IS NULL)))
896         AND (   (Recinfo.allowed_deprn_limit = X_Allowed_Deprn_Limit)
897           OR (    (Recinfo.allowed_deprn_limit IS NULL)
898               AND (X_Allowed_Deprn_Limit IS NULL)))
899         AND (   (Recinfo.allowed_deprn_limit_amount =
900                          X_Allowed_Deprn_Limit_Amount)
901           OR (    (Recinfo.allowed_deprn_limit_amount IS NULL)
902               AND (X_Allowed_Deprn_Limit_Amount IS NULL)))
903         AND (   (Recinfo.period_counter_life_complete =
904                          X_Period_Counter_Life_Complete)
905           OR (    (Recinfo.period_counter_life_complete IS NULL)
906               AND (X_Period_Counter_Life_Complete IS NULL)))) then
907       return;
908     else
909       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
910       APP_EXCEPTION.Raise_Exception;
911     end if;
912   END Lock_Row;
913 
914 
915 
916   PROCEDURE Update_Row(X_Rowid                          VARCHAR2 DEFAULT NULL,
917                        X_Book_Type_Code                 VARCHAR2 DEFAULT NULL,
918                        X_Asset_Id                       NUMBER   DEFAULT NULL,
919                        X_Date_Placed_In_Service         DATE     DEFAULT NULL,
920                        X_Date_Effective                 DATE     DEFAULT NULL,
921                        X_Deprn_Start_Date               DATE     DEFAULT NULL,
922                        X_Deprn_Method_Code              VARCHAR2 DEFAULT NULL,
923                        X_Life_In_Months                 NUMBER   DEFAULT NULL,
924                        X_Rate_Adjustment_Factor         NUMBER   DEFAULT NULL,
925                        X_Adjusted_Cost                  NUMBER   DEFAULT NULL,
926                        X_Cost                           NUMBER   DEFAULT NULL,
927                        X_Original_Cost                  NUMBER   DEFAULT NULL,
928                        X_Salvage_Value                  NUMBER   DEFAULT NULL,
929                        X_Prorate_Convention_Code        VARCHAR2 DEFAULT NULL,
930                        X_Prorate_Date                   DATE     DEFAULT NULL,
931                        X_Cost_Change_Flag               VARCHAR2 DEFAULT NULL,
932                        X_Adjustment_Required_Status     VARCHAR2 DEFAULT NULL,
933                        X_Capitalize_Flag                VARCHAR2 DEFAULT NULL,
934                        X_Retirement_Pending_Flag        VARCHAR2 DEFAULT NULL,
935                        X_Depreciate_Flag                VARCHAR2 DEFAULT NULL,
936                        X_Disabled_Flag                  VARCHAR2 DEFAULT NULL, --HH
937                        X_Last_Update_Date               DATE     DEFAULT NULL,
938                        X_Last_Updated_By                NUMBER   DEFAULT NULL,
939                        X_Date_Ineffective               DATE     DEFAULT NULL,
940                        X_Transaction_Header_Id_In       NUMBER   DEFAULT NULL,
941                        X_Transaction_Header_Id_Out      NUMBER   DEFAULT NULL,
942                        X_Itc_Amount_Id                  NUMBER   DEFAULT NULL,
943                        X_Itc_Amount                     NUMBER   DEFAULT NULL,
944                        X_Retirement_Id                  NUMBER   DEFAULT NULL,
945                        X_Tax_Request_Id                 NUMBER   DEFAULT NULL,
946                        X_Itc_Basis                      NUMBER   DEFAULT NULL,
947                        X_Basic_Rate                     NUMBER   DEFAULT NULL,
948                        X_Adjusted_Rate                  NUMBER   DEFAULT NULL,
949                        X_Bonus_Rule                     VARCHAR2 DEFAULT NULL,
950                        X_Ceiling_Name                   VARCHAR2 DEFAULT NULL,
951                        X_Recoverable_Cost               NUMBER   DEFAULT NULL,
952                        X_Last_Update_Login              NUMBER   DEFAULT NULL,
953                        X_Adjusted_Capacity              NUMBER   DEFAULT NULL,
954                        X_Fully_Rsvd_Revals_Counter      NUMBER   DEFAULT NULL,
955                        X_Idled_Flag                     VARCHAR2 DEFAULT NULL,
956                        X_Period_Counter_Capitalized     NUMBER   DEFAULT NULL,
957                        X_PC_Fully_Reserved              NUMBER   DEFAULT NULL,
958                        X_Period_Counter_Fully_Retired   NUMBER   DEFAULT NULL,
959                        X_Production_Capacity            NUMBER   DEFAULT NULL,
960                        X_Reval_Amortization_Basis       NUMBER   DEFAULT NULL,
961                        X_Reval_Ceiling                  NUMBER   DEFAULT NULL,
962                        X_Unit_Of_Measure                VARCHAR2 DEFAULT NULL,
963                        X_Unrevalued_Cost                NUMBER   DEFAULT NULL,
964                        X_Annual_Deprn_Rounding_Flag     VARCHAR2 DEFAULT NULL,
965                        X_Percent_Salvage_Value          NUMBER   DEFAULT NULL,
966                        X_Allowed_Deprn_Limit            NUMBER   DEFAULT NULL,
967                        X_Allowed_Deprn_Limit_Amount     NUMBER   DEFAULT NULL,
968                        X_Period_Counter_Life_Complete   NUMBER   DEFAULT NULL,
969                        X_Adjusted_Recoverable_Cost      NUMBER   DEFAULT NULL,
970                        X_Group_Asset_Id                 NUMBER   DEFAULT NULL,
971 -- new group columns
972                        X_salvage_type                   VARCHAR2 DEFAULT NULL,
973                        X_deprn_limit_type               VARCHAR2 DEFAULT NULL,
974                        X_over_depreciate_option         VARCHAR2 DEFAULT NULL,
975                        X_super_group_id                 NUMBER   DEFAULT NULL,
976                        X_reduction_rate                 NUMBER   DEFAULT NULL,
977                        X_reduce_addition_flag           VARCHAR2 DEFAULT NULL,
978                        X_reduce_adjustment_flag         VARCHAR2 DEFAULT NULL,
979                        X_reduce_retirement_flag         VARCHAR2 DEFAULT NULL,
980                        X_recognize_gain_loss            VARCHAR2 DEFAULT NULL,
981                        X_recapture_reserve_flag         VARCHAR2 DEFAULT NULL,
982                        X_limit_proceeds_flag            VARCHAR2 DEFAULT NULL,
983                        X_terminal_gain_loss             VARCHAR2 DEFAULT NULL,
984                        X_tracking_method                VARCHAR2 DEFAULT NULL,
985                        X_allocate_to_fully_rsv_flag     VARCHAR2 DEFAULT NULL,
986                        X_allocate_to_fully_ret_flag     VARCHAR2 DEFAULT NULL,
987                        X_exclude_fully_rsv_flag         VARCHAR2 DEFAULT NULL,
988                        X_excess_allocation_option       VARCHAR2 DEFAULT NULL,
989                        X_depreciation_option            VARCHAR2 DEFAULT NULL,
990                        X_member_rollup_flag             VARCHAR2 DEFAULT NULL,
991                        X_ytd_proceeds                   NUMBER   DEFAULT NULL,
992                        X_ltd_proceeds                   NUMBER   DEFAULT NULL,
993                        X_eofy_reserve                   NUMBER   DEFAULT NULL,
994                        X_cip_cost                       NUMBER   DEFAULT NULL,
995                        X_terminal_gain_loss_amount      NUMBER   DEFAULT NULL,
996                        X_ltd_cost_of_removal            NUMBER   DEFAULT NULL,
997                        X_exclude_proceeds_from_basis    VARCHAR2 DEFAULT NULL,
998                        X_retirement_deprn_option        VARCHAR2 DEFAULT NULL,
999                        X_terminal_gain_loss_flag        VARCHAR2 DEFAULT NULL,
1000                        X_Formula_Factor                 NUMBER   DEFAULT NULL,
1001                        X_mrc_sob_type_code              VARCHAR2 DEFAULT 'P',
1002                        X_Calling_Fn                     VARCHAR2,
1003                  p_log_level_rec        IN     FA_API_TYPES.log_level_rec_type default null) IS
1004 
1005   BEGIN
1006 
1007     if (X_mrc_sob_type_code = 'R') then
1008        if X_Rowid is not null then
1009            UPDATE fa_books_mrc_v
1010            SET
1011            book_type_code                  =     decode(X_Book_Type_Code,
1012                                                         NULL, book_type_code,
1013                                                         FND_API.G_MISS_CHAR, NULL,
1014                                                         X_Book_Type_Code),
1015            asset_id                        =     decode(X_Asset_Id,
1016                                                         NULL, asset_id,
1017                                                         FND_API.G_MISS_NUM, NULL,
1018                                                         X_Asset_Id),
1019            date_placed_in_service          =     decode(X_Date_Placed_In_Service,
1020                                                         NULL, date_placed_in_service ,
1021                                                         X_Date_Placed_In_Service),
1022            date_effective                  =     decode(X_Date_Effective,
1023                                                         NULL, date_effective,
1024                                                         X_Date_Effective),
1025            deprn_start_date                =     decode(X_Deprn_Start_Date,
1026                                                         NULL, deprn_start_date,
1027                                                         X_Deprn_Start_Date),
1028            deprn_method_code               =     decode(X_Deprn_Method_Code,
1029                                                         NULL, deprn_method_code,
1030                                                         FND_API.G_MISS_CHAR, NULL,
1031                                                         X_Deprn_Method_Code),
1032            life_in_months                  =     decode(X_Life_In_Months,
1033                                                         NULL, life_in_months,
1034                                                         FND_API.G_MISS_NUM, NULL,
1035                                                         X_Life_In_Months),
1036            rate_adjustment_factor          =     decode(X_Rate_Adjustment_Factor,
1037                                                         NULL, rate_adjustment_factor,
1038                                                         FND_API.G_MISS_NUM, NULL,
1039                                                         X_Rate_Adjustment_Factor),
1040            adjusted_cost                   =     decode(X_Adjusted_Cost,
1041                                                         NULL, adjusted_cost,
1042                                                         FND_API.G_MISS_NUM, NULL,
1043                                                         X_Adjusted_Cost),
1044            cost                            =     decode(X_Cost,
1045                                                         NULL, cost,
1046                                                         FND_API.G_MISS_NUM, NULL,
1047                                                         X_Cost),
1048            original_cost                   =     decode(X_Original_Cost,
1049                                                         NULL, original_cost,
1050                                                         FND_API.G_MISS_NUM, NULL,
1051                                                         X_Original_Cost),
1052            salvage_value                   =     decode(X_Salvage_Value,
1053                                                         NULL, salvage_value,
1054                                                         FND_API.G_MISS_NUM, NULL,
1055                                                         X_Salvage_Value),
1056            prorate_convention_code         =     decode(X_Prorate_Convention_Code,
1057                                                         NULL, prorate_convention_code,
1058                                                         FND_API.G_MISS_CHAR, NULL,
1059                                                         X_Prorate_Convention_Code),
1060            prorate_date                    =     decode(X_Prorate_Date,
1061                                                         NULL, prorate_date,
1062                                                         X_Prorate_Date),
1063            cost_change_flag                =     decode(X_Cost_Change_Flag,
1064                                                         NULL, cost_change_flag,
1065                                                         FND_API.G_MISS_CHAR, NULL,
1066                                                         X_Cost_Change_Flag),
1067            adjustment_required_status      =     decode(X_Adjustment_Required_Status,
1068                                                         NULL, adjustment_required_status,
1069                                                         FND_API.G_MISS_CHAR, NULL,
1070                                                         X_Adjustment_Required_Status),
1071            capitalize_flag                 =     decode(X_Capitalize_Flag,
1072                                                         NULL, capitalize_flag,
1073                                                         FND_API.G_MISS_CHAR, NULL,
1074                                                         X_Capitalize_Flag),
1075            retirement_pending_flag         =     decode(X_Retirement_Pending_Flag,
1076                                                         NULL, retirement_pending_flag,
1077                                                         FND_API.G_MISS_CHAR, NULL,
1078                                                         X_Retirement_Pending_Flag),
1079            depreciate_flag                 =     decode(X_Depreciate_Flag,
1080                                                         NULL, depreciate_flag,
1081                                                         FND_API.G_MISS_CHAR, NULL,
1082                                                         X_Depreciate_Flag),
1083            --HH group ed.
1084            disabled_flag                   =     decode(X_Disabled_Flag,
1085                                                         NULL, disabled_flag,
1086                                                         FND_API.G_MISS_CHAR, NULL,
1087                                                         X_Disabled_Flag),
1088            last_update_date                =     decode(X_Last_Update_Date,
1089                                                         NULL, last_update_date,
1090                                                         X_Last_Update_Date),
1091            last_updated_by                 =     decode(X_Last_Updated_By,
1092                                                         NULL, last_updated_by,
1093                                                         FND_API.G_MISS_NUM, NULL,
1094                                                         X_Last_Updated_By),
1095            date_ineffective                =     decode(X_Date_Ineffective,
1096                                                         NULL, date_ineffective,
1097                                                         X_Date_Ineffective),
1098            transaction_header_id_in        =     decode(X_Transaction_Header_Id_In,
1099                                                         NULL, transaction_header_id_in,
1100                                                         FND_API.G_MISS_NUM, NULL,
1101                                                         X_Transaction_Header_Id_In),
1102            transaction_header_id_out       =     decode(X_Transaction_Header_Id_Out,
1103                                                         NULL, transaction_header_id_out,
1104                                                         FND_API.G_MISS_NUM, NULL,
1105                                                         X_Transaction_Header_Id_Out),
1106            itc_amount_id                   =     decode(X_Itc_Amount_Id,
1107                                                         NULL, itc_amount_id,
1108                                                         FND_API.G_MISS_NUM, NULL,
1109                                                         X_Itc_Amount_Id),
1110            itc_amount                      =     decode(X_Itc_Amount,
1111                                                         NULL, itc_amount,
1112                                                         FND_API.G_MISS_NUM, NULL,
1113                                                         X_Itc_Amount),
1114            retirement_id                   =     decode(X_Retirement_Id,
1115                                                         NULL, retirement_id,
1116                                                         FND_API.G_MISS_NUM, NULL,
1117                                                         X_Retirement_Id),
1118            tax_request_id                  =     decode(X_Tax_Request_Id,
1119                                                         NULL, tax_request_id,
1120                                                         FND_API.G_MISS_NUM, NULL,
1121                                                         X_Tax_Request_Id),
1122            itc_basis                       =     decode(X_Itc_Basis,
1123                                                         NULL, itc_basis,
1124                                                         FND_API.G_MISS_NUM, NULL,
1125                                                         X_Itc_Basis),
1126            basic_rate                      =     decode(X_Basic_Rate,
1127                                                         NULL, basic_rate,
1128                                                         FND_API.G_MISS_NUM, NULL,
1129                                                         X_Basic_Rate),
1130            adjusted_rate                   =     decode(X_Adjusted_Rate,
1131                                                         NULL, adjusted_rate,
1132                                                         FND_API.G_MISS_NUM, NULL,
1133                                                         X_Adjusted_Rate),
1134            bonus_rule                      =     decode(X_Bonus_Rule,
1135                                                         NULL, bonus_rule,
1136                                                         FND_API.G_MISS_CHAR, NULL,
1137                                                         X_Bonus_Rule),
1138            ceiling_name                    =     decode(X_Ceiling_Name,
1139                                                         NULL, ceiling_name,
1140                                                         FND_API.G_MISS_CHAR, NULL,
1141                                                         X_Ceiling_Name),
1142            recoverable_cost                =     decode(X_Recoverable_Cost,
1143                                                         NULL, recoverable_cost,
1144                                                         FND_API.G_MISS_NUM, NULL,
1145                                                         X_Recoverable_Cost),
1146            last_update_login               =     decode(X_Last_Update_Login,
1147                                                         NULL, last_update_login,
1148                                                         FND_API.G_MISS_NUM, NULL,
1149                                                         X_Last_Update_Login),
1150            adjusted_capacity               =     decode(X_Adjusted_Capacity,
1151                                                         NULL, adjusted_capacity,
1152                                                         FND_API.G_MISS_NUM, NULL,
1153                                                         X_Adjusted_Capacity),
1154            fully_rsvd_revals_counter       =     decode(X_Fully_Rsvd_Revals_Counter,
1155                                                         NULL, fully_rsvd_revals_counter,
1156                                                         FND_API.G_MISS_NUM, NULL,
1157                                                         X_Fully_Rsvd_Revals_Counter),
1158            idled_flag                      =     decode(X_Idled_Flag,
1159                                                         NULL, idled_flag,
1160                                                         FND_API.G_MISS_CHAR, NULL,
1161                                                         X_Idled_Flag),
1162            period_counter_capitalized      =     decode(X_Period_Counter_Capitalized,
1163                                                         NULL, period_counter_capitalized,
1164                                                         FND_API.G_MISS_NUM, NULL,
1165                                                         X_Period_Counter_Capitalized),
1166            period_counter_fully_reserved   =     decode(X_PC_Fully_Reserved,
1167                                                         NULL, period_counter_fully_reserved,
1168                                                         FND_API.G_MISS_NUM, NULL,
1169                                                         X_PC_Fully_Reserved),
1170            period_counter_fully_retired    =     decode(X_Period_Counter_Fully_Retired,
1171                                                         NULL, period_counter_fully_retired,
1172                                                         FND_API.G_MISS_NUM, NULL,
1173                                                         X_Period_Counter_Fully_Retired),
1174            production_capacity             =     decode(X_Production_Capacity,
1175                                                         NULL, production_capacity,
1176                                                         FND_API.G_MISS_NUM, NULL,
1177                                                         X_Production_Capacity),
1178            reval_amortization_basis        =     decode(X_Reval_Amortization_Basis,
1179                                                         NULL, reval_amortization_basis,
1180                                                         FND_API.G_MISS_NUM, NULL,
1181                                                         X_Reval_Amortization_Basis),
1182            reval_ceiling                   =     decode(X_Reval_Ceiling,
1183                                                         NULL, reval_ceiling,
1184                                                         FND_API.G_MISS_NUM, NULL,
1185                                                         X_Reval_Ceiling),
1186            unit_of_measure                 =     decode(X_Unit_Of_Measure,
1187                                                         NULL, unit_of_measure,
1188                                                         FND_API.G_MISS_CHAR, NULL,
1189                                                         X_Unit_Of_Measure),
1190            unrevalued_cost                 =     decode(X_Unrevalued_Cost,
1191                                                         NULL, unrevalued_cost,
1192                                                         FND_API.G_MISS_NUM, NULL,
1193                                                         X_Unrevalued_Cost),
1194            annual_deprn_rounding_flag      =     decode(X_Annual_Deprn_Rounding_Flag,
1195                                                         NULL, annual_deprn_rounding_flag,
1196                                                         FND_API.G_MISS_CHAR, NULL,
1197                                                         X_Annual_Deprn_Rounding_Flag),
1198            percent_salvage_value           =     decode(X_Percent_Salvage_Value,
1199                                                         NULL, percent_salvage_value,
1200                                                         FND_API.G_MISS_NUM, NULL,
1201                                                         X_Percent_Salvage_Value),
1202            allowed_deprn_limit             =     decode(X_Allowed_Deprn_Limit,
1203                                                         NULL, allowed_deprn_limit,
1204                                                         FND_API.G_MISS_NUM, NULL,
1205                                                         X_Allowed_Deprn_Limit),
1206            allowed_deprn_limit_amount      =     decode(X_Allowed_Deprn_Limit_Amount,
1207                                                         NULL, allowed_deprn_limit_amount,
1208                                                         FND_API.G_MISS_NUM, NULL,
1209                                                         X_Allowed_Deprn_Limit_Amount),
1210            period_counter_life_complete    =     decode(X_Period_Counter_Life_Complete,
1211                                                         NULL, period_counter_life_complete,
1212                                                         FND_API.G_MISS_NUM, NULL,
1213                                                         X_Period_Counter_Life_Complete),
1214            adjusted_recoverable_cost       =     decode(X_Adjusted_Recoverable_Cost,
1215                                                         NULL, adjusted_recoverable_cost,
1216                                                         FND_API.G_MISS_NUM, NULL,
1217                                                         X_Adjusted_Recoverable_Cost),
1218            group_asset_id                  =     decode(X_group_asset_id,
1219                                                         NULL, group_asset_id,
1220                                                         FND_API.G_MISS_NUM, NULL,
1221                                                         X_group_asset_id),
1222            salvage_type                    =     decode(X_salvage_type,
1223                                                         NULL, salvage_type,
1224                                                         FND_API.G_MISS_CHAR, NULL,
1225                                                         X_salvage_type),
1226            deprn_limit_type                =     decode(X_deprn_limit_type ,
1227                                                         NULL, deprn_limit_type ,
1228                                                        FND_API.G_MISS_CHAR, NULL,
1229                                                         X_deprn_limit_type ),
1230            over_depreciate_option          =     decode(X_over_depreciate_option,
1231                                                         NULL, over_depreciate_option,
1232                                                         FND_API.G_MISS_CHAR, NULL,
1233                                                         X_over_depreciate_option),
1234            super_group_id                  =     decode(X_super_group_id,
1235                                                         NULL, super_group_id,
1236                                                         FND_API.G_MISS_NUM, NULL,
1237                                                         X_super_group_id),
1238            reduction_rate                  =     decode(X_reduction_rate,
1239                                                         NULL, reduction_rate,
1240                                                         FND_API.G_MISS_NUM, NULL,
1241                                                         X_reduction_rate),
1242            reduce_addition_flag            =     decode(X_reduce_addition_flag,
1243                                                         NULL, reduce_addition_flag,
1244                                                         FND_API.G_MISS_CHAR, NULL,
1245                                                         X_reduce_addition_flag),
1246            reduce_adjustment_flag          =     decode(X_reduce_adjustment_flag,
1247                                                         NULL, reduce_adjustment_flag,
1248                                                         FND_API.G_MISS_CHAR, NULL,
1249                                                         X_reduce_adjustment_flag),
1250            reduce_retirement_flag          =     decode(X_reduce_retirement_flag,
1251                                                         NULL, reduce_retirement_flag,
1252                                                         FND_API.G_MISS_CHAR, NULL,
1253                                                         X_reduce_retirement_flag),
1254            recognize_gain_loss             =     decode(X_recognize_gain_loss,
1255                                                         NULL, recognize_gain_loss,
1256                                                         FND_API.G_MISS_CHAR, NULL,
1257                                                         X_recognize_gain_loss),
1258            recapture_reserve_flag          =     decode(X_recapture_reserve_flag,
1259                                                         NULL, recapture_reserve_flag,
1260                                                         FND_API.G_MISS_CHAR, NULL,
1261                                                         X_recapture_reserve_flag),
1262            limit_proceeds_flag             =     decode(X_limit_proceeds_flag,
1263                                                         NULL, limit_proceeds_flag,
1264                                                         FND_API.G_MISS_CHAR, NULL,
1265                                                         X_limit_proceeds_flag),
1266            terminal_gain_loss              =     decode(X_terminal_gain_loss,
1267                                                         NULL, terminal_gain_loss,
1268                                                         FND_API.G_MISS_CHAR, NULL,
1269                                                         X_terminal_gain_loss),
1270            tracking_method                 =     decode(X_tracking_method,
1271                                                         NULL, tracking_method,
1272                                                         FND_API.G_MISS_CHAR, NULL,
1273                                                         X_tracking_method),
1274            allocate_to_fully_rsv_flag      =     decode(X_allocate_to_fully_rsv_flag,
1275                                                         NULL, allocate_to_fully_rsv_flag,
1276                                                         FND_API.G_MISS_CHAR, NULL,
1277                                                         X_allocate_to_fully_rsv_flag),
1278            allocate_to_fully_ret_flag      =     decode(X_allocate_to_fully_ret_flag,
1279                                                         NULL, allocate_to_fully_ret_flag,
1280                                                         FND_API.G_MISS_CHAR, NULL,
1281                                                         X_allocate_to_fully_ret_flag),
1282            exclude_fully_rsv_flag          =     decode(X_exclude_fully_rsv_flag,
1283                                                         NULL, exclude_fully_rsv_flag,
1284                                                         FND_API.G_MISS_CHAR, NULL,
1285                                                         X_exclude_fully_rsv_flag),
1286            excess_allocation_option        =     decode(X_excess_allocation_option,
1287                                                         NULL, excess_allocation_option,
1288                                                         FND_API.G_MISS_CHAR, NULL,
1289                                                         X_excess_allocation_option),
1290            depreciation_option             =     decode(X_depreciation_option,
1291                                                         NULL, depreciation_option,
1292                                                         FND_API.G_MISS_CHAR, NULL,
1293                                                         X_depreciation_option),
1294            member_rollup_flag              =     decode(X_member_rollup_flag,
1295                                                         NULL, member_rollup_flag,
1296                                                         FND_API.G_MISS_CHAR, NULL,
1297                                                         X_member_rollup_flag),
1298            ytd_proceeds                    =     decode(X_ytd_proceeds,
1299                                                         NULL, ytd_proceeds,
1300                                                         FND_API.G_MISS_NUM, NULL,
1301                                                         X_ytd_proceeds),
1302            ltd_proceeds                    =     decode(X_ltd_proceeds,
1303                                                         NULL, ltd_proceeds,
1304                                                         FND_API.G_MISS_NUM, NULL,
1305                                                         X_ltd_proceeds),
1306            eofy_reserve                    =     decode(X_eofy_reserve,
1307                                                         NULL, eofy_reserve,
1308                                                         FND_API.G_MISS_NUM, NULL,
1309                                                         X_eofy_reserve),
1310            cip_cost                        =     decode(X_cip_cost,
1311                                                         NULL, cip_cost,
1312                                                         FND_API.G_MISS_NUM, NULL,
1313                                                         X_cip_cost),
1314            terminal_gain_loss_amount       =     decode(X_terminal_gain_loss_amount,
1315                                                         NULL, terminal_gain_loss_amount,
1316                                                         FND_API.G_MISS_NUM, NULL,
1317                                                         X_terminal_gain_loss_amount),
1318            ltd_cost_of_removal             =     decode(X_ltd_cost_of_removal,
1319                                                         NULL, ltd_cost_of_removal,
1320                                                         FND_API.G_MISS_NUM, NULL,
1321                                                         X_ltd_cost_of_removal),
1322            exclude_proceeds_from_basis     =     decode(X_exclude_proceeds_from_basis,
1323                                                         NULL, exclude_proceeds_from_basis,
1324                                                         FND_API.G_MISS_CHAR, NULL,
1325                                                         X_exclude_proceeds_from_basis),
1326            retirement_deprn_option         =     decode(X_retirement_deprn_option,
1327                                                         NULL, retirement_deprn_option,
1328                                                         FND_API.G_MISS_CHAR, NULL,
1329                                                         X_retirement_deprn_option),
1330            terminal_gain_loss_flag         =     decode(X_terminal_gain_loss_flag,
1331                                                         NULL, terminal_gain_loss_flag,
1332                                                         FND_API.G_MISS_CHAR, NULL,
1333                                                         X_terminal_gain_loss_flag),
1334            formula_factor                  =     decode(X_Formula_Factor,
1335                                                         NULL, formula_factor,
1336                                                         FND_API.G_MISS_CHAR, NULL,
1337                                                         X_Formula_Factor)
1338            WHERE rowid = X_Rowid;
1339         else
1340            UPDATE fa_books_mrc_v
1341            SET
1342            book_type_code                  =     decode(X_Book_Type_Code,
1343                                                         NULL, book_type_code,
1344                                                         FND_API.G_MISS_CHAR, NULL,
1345                                                         X_Book_Type_Code),
1346            asset_id                        =     decode(X_Asset_Id,
1347                                                         NULL, asset_id,
1348                                                         FND_API.G_MISS_NUM, NULL,
1349                                                         X_Asset_Id),
1350            date_placed_in_service          =     decode(X_Date_Placed_In_Service,
1351                                                         NULL, date_placed_in_service ,
1352                                                         X_Date_Placed_In_Service),
1353            date_effective                  =     decode(X_Date_Effective,
1354                                                         NULL, date_effective,
1355                                                         X_Date_Effective),
1356            deprn_start_date                =     decode(X_Deprn_Start_Date,
1357                                                         NULL, deprn_start_date,
1358                                                         X_Deprn_Start_Date),
1359            deprn_method_code               =     decode(X_Deprn_Method_Code,
1360                                                         NULL, deprn_method_code,
1361                                                         FND_API.G_MISS_CHAR, NULL,
1362                                                         X_Deprn_Method_Code),
1363            life_in_months                  =     decode(X_Life_In_Months,
1364                                                         NULL, life_in_months,
1365                                                         FND_API.G_MISS_NUM, NULL,
1366                                                         X_Life_In_Months),
1367            rate_adjustment_factor          =     decode(X_Rate_Adjustment_Factor,
1368                                                         NULL, rate_adjustment_factor,
1369                                                         FND_API.G_MISS_NUM, NULL,
1370                                                         X_Rate_Adjustment_Factor),
1371            adjusted_cost                   =     decode(X_Adjusted_Cost,
1372                                                         NULL, adjusted_cost,
1373                                                         FND_API.G_MISS_NUM, NULL,
1374                                                         X_Adjusted_Cost),
1375            cost                            =     decode(X_Cost,
1376                                                         NULL, cost,
1377                                                         FND_API.G_MISS_NUM, NULL,
1378                                                         X_Cost),
1379            original_cost                   =     decode(X_Original_Cost,
1380                                                         NULL, original_cost,
1381                                                         FND_API.G_MISS_NUM, NULL,
1382                                                         X_Original_Cost),
1383            salvage_value                   =     decode(X_Salvage_Value,
1384                                                         NULL, salvage_value,
1385                                                         FND_API.G_MISS_NUM, NULL,
1386                                                         X_Salvage_Value),
1387            prorate_convention_code         =     decode(X_Prorate_Convention_Code,
1388                                                         NULL, prorate_convention_code,
1389                                                         FND_API.G_MISS_CHAR, NULL,
1390                                                         X_Prorate_Convention_Code),
1391            prorate_date                    =     decode(X_Prorate_Date,
1392                                                         NULL, prorate_date,
1393                                                         X_Prorate_Date),
1394            cost_change_flag                =     decode(X_Cost_Change_Flag,
1395                                                         NULL, cost_change_flag,
1396                                                         FND_API.G_MISS_CHAR, NULL,
1397                                                         X_Cost_Change_Flag),
1398            adjustment_required_status      =     decode(X_Adjustment_Required_Status,
1399                                                         NULL, adjustment_required_status,
1400                                                         FND_API.G_MISS_CHAR, NULL,
1401                                                         X_Adjustment_Required_Status),
1402            capitalize_flag                 =     decode(X_Capitalize_Flag,
1403                                                         NULL, capitalize_flag,
1404                                                         FND_API.G_MISS_CHAR, NULL,
1405                                                         X_Capitalize_Flag),
1406            retirement_pending_flag         =     decode(X_Retirement_Pending_Flag,
1407                                                         NULL, retirement_pending_flag,
1408                                                         FND_API.G_MISS_CHAR, NULL,
1409                                                         X_Retirement_Pending_Flag),
1410            depreciate_flag                 =     decode(X_Depreciate_Flag,
1411                                                         NULL, depreciate_flag,
1412                                                         FND_API.G_MISS_CHAR, NULL,
1413                                                         X_Depreciate_Flag),
1414            --HH group ed.
1415            disabled_flag                   =     decode(X_Disabled_Flag,
1416                                                         NULL, disabled_flag,
1417                                                         FND_API.G_MISS_CHAR, NULL,
1418                                                         X_Disabled_Flag),
1419            last_update_date                =     decode(X_Last_Update_Date,
1420                                                         NULL, last_update_date,
1421                                                         X_Last_Update_Date),
1422            last_updated_by                 =     decode(X_Last_Updated_By,
1423                                                         NULL, last_updated_by,
1424                                                         FND_API.G_MISS_NUM, NULL,
1425                                                         X_Last_Updated_By),
1426            date_ineffective                =     decode(X_Date_Ineffective,
1427                                                         NULL, date_ineffective,
1428                                                         X_Date_Ineffective),
1429            transaction_header_id_in        =     decode(X_Transaction_Header_Id_In,
1430                                                         NULL, transaction_header_id_in,
1431                                                         FND_API.G_MISS_NUM, NULL,
1432                                                         X_Transaction_Header_Id_In),
1433            transaction_header_id_out       =     decode(X_Transaction_Header_Id_Out,
1434                                                         NULL, transaction_header_id_out,
1435                                                         FND_API.G_MISS_NUM, NULL,
1436                                                         X_Transaction_Header_Id_Out),
1437            itc_amount_id                   =     decode(X_Itc_Amount_Id,
1438                                                         NULL, itc_amount_id,
1439                                                         FND_API.G_MISS_NUM, NULL,
1440                                                         X_Itc_Amount_Id),
1441            itc_amount                      =     decode(X_Itc_Amount,
1442                                                         NULL, itc_amount,
1443                                                         FND_API.G_MISS_NUM, NULL,
1444                                                         X_Itc_Amount),
1445            retirement_id                   =     decode(X_Retirement_Id,
1446                                                         NULL, retirement_id,
1447                                                         FND_API.G_MISS_NUM, NULL,
1448                                                         X_Retirement_Id),
1449            tax_request_id                  =     decode(X_Tax_Request_Id,
1450                                                         NULL, tax_request_id,
1451                                                         FND_API.G_MISS_NUM, NULL,
1452                                                         X_Tax_Request_Id),
1453            itc_basis                       =     decode(X_Itc_Basis,
1454                                                         NULL, itc_basis,
1455                                                         FND_API.G_MISS_NUM, NULL,
1456                                                         X_Itc_Basis),
1457            basic_rate                      =     decode(X_Basic_Rate,
1458                                                         NULL, basic_rate,
1459                                                         FND_API.G_MISS_NUM, NULL,
1460                                                         X_Basic_Rate),
1461            adjusted_rate                   =     decode(X_Adjusted_Rate,
1462                                                         NULL, adjusted_rate,
1463                                                         FND_API.G_MISS_NUM, NULL,
1464                                                         X_Adjusted_Rate),
1465            bonus_rule                      =     decode(X_Bonus_Rule,
1466                                                         NULL, bonus_rule,
1467                                                         FND_API.G_MISS_CHAR, NULL,
1468                                                         X_Bonus_Rule),
1469            ceiling_name                    =     decode(X_Ceiling_Name,
1470                                                         NULL, ceiling_name,
1471                                                         FND_API.G_MISS_CHAR, NULL,
1472                                                         X_Ceiling_Name),
1473            recoverable_cost                =     decode(X_Recoverable_Cost,
1474                                                         NULL, recoverable_cost,
1475                                                         FND_API.G_MISS_NUM, NULL,
1476                                                         X_Recoverable_Cost),
1477            last_update_login               =     decode(X_Last_Update_Login,
1478                                                         NULL, last_update_login,
1479                                                         FND_API.G_MISS_NUM, NULL,
1480                                                         X_Last_Update_Login),
1481            adjusted_capacity               =     decode(X_Adjusted_Capacity,
1482                                                         NULL, adjusted_capacity,
1483                                                         FND_API.G_MISS_NUM, NULL,
1484                                                         X_Adjusted_Capacity),
1485            fully_rsvd_revals_counter       =     decode(X_Fully_Rsvd_Revals_Counter,
1486                                                         NULL, fully_rsvd_revals_counter,
1487                                                         FND_API.G_MISS_NUM, NULL,
1488                                                         X_Fully_Rsvd_Revals_Counter),
1489            idled_flag                      =     decode(X_Idled_Flag,
1490                                                         NULL, idled_flag,
1491                                                         FND_API.G_MISS_CHAR, NULL,
1492                                                         X_Idled_Flag),
1493            period_counter_capitalized      =     decode(X_Period_Counter_Capitalized,
1494                                                         NULL, period_counter_capitalized,
1495                                                         FND_API.G_MISS_NUM, NULL,
1496                                                         X_Period_Counter_Capitalized),
1497            period_counter_fully_reserved   =     decode(X_PC_Fully_Reserved,
1498                                                         NULL, period_counter_fully_reserved,
1499                                                         FND_API.G_MISS_NUM, NULL,
1500                                                         X_PC_Fully_Reserved),
1501            period_counter_fully_retired    =     decode(X_Period_Counter_Fully_Retired,
1502                                                         NULL, period_counter_fully_retired,
1503                                                         FND_API.G_MISS_NUM, NULL,
1504                                                         X_Period_Counter_Fully_Retired),
1505            production_capacity             =     decode(X_Production_Capacity,
1506                                                         NULL, production_capacity,
1507                                                         FND_API.G_MISS_NUM, NULL,
1508                                                         X_Production_Capacity),
1509            reval_amortization_basis        =     decode(X_Reval_Amortization_Basis,
1510                                                         NULL, reval_amortization_basis,
1511                                                         FND_API.G_MISS_NUM, NULL,
1512                                                         X_Reval_Amortization_Basis),
1513            reval_ceiling                   =     decode(X_Reval_Ceiling,
1514                                                         NULL, reval_ceiling,
1515                                                         FND_API.G_MISS_NUM, NULL,
1516                                                         X_Reval_Ceiling),
1517            unit_of_measure                 =     decode(X_Unit_Of_Measure,
1518                                                         NULL, unit_of_measure,
1519                                                         FND_API.G_MISS_CHAR, NULL,
1520                                                         X_Unit_Of_Measure),
1521            unrevalued_cost                 =     decode(X_Unrevalued_Cost,
1522                                                         NULL, unrevalued_cost,
1523                                                         FND_API.G_MISS_NUM, NULL,
1524                                                         X_Unrevalued_Cost),
1525            annual_deprn_rounding_flag      =     decode(X_Annual_Deprn_Rounding_Flag,
1526                                                         NULL, annual_deprn_rounding_flag,
1527                                                         FND_API.G_MISS_CHAR, NULL,
1528                                                         X_Annual_Deprn_Rounding_Flag),
1529            percent_salvage_value           =     decode(X_Percent_Salvage_Value,
1530                                                         NULL, percent_salvage_value,
1531                                                         FND_API.G_MISS_NUM, NULL,
1532                                                         X_Percent_Salvage_Value),
1533            allowed_deprn_limit             =     decode(X_Allowed_Deprn_Limit,
1534                                                         NULL, allowed_deprn_limit,
1535                                                         FND_API.G_MISS_NUM, NULL,
1536                                                         X_Allowed_Deprn_Limit),
1537            allowed_deprn_limit_amount      =     decode(X_Allowed_Deprn_Limit_Amount,
1538                                                         NULL, allowed_deprn_limit_amount,
1539                                                         FND_API.G_MISS_NUM, NULL,
1540                                                         X_Allowed_Deprn_Limit_Amount),
1541            period_counter_life_complete    =     decode(X_Period_Counter_Life_Complete,
1542                                                         NULL, period_counter_life_complete,
1543                                                         FND_API.G_MISS_NUM, NULL,
1544                                                         X_Period_Counter_Life_Complete),
1545            adjusted_recoverable_cost       =     decode(X_Adjusted_Recoverable_Cost,
1546                                                         NULL, adjusted_recoverable_cost,
1547                                                         FND_API.G_MISS_NUM, NULL,
1548                                                         X_Adjusted_Recoverable_Cost),
1549            group_asset_id                  =     decode(X_group_asset_id,
1550                                                         NULL, group_asset_id,
1551                                                         FND_API.G_MISS_NUM, NULL,
1552                                                         X_group_asset_id),
1553            salvage_type                    =     decode(X_salvage_type,
1554                                                         NULL, salvage_type,
1555                                                         FND_API.G_MISS_CHAR, NULL,
1556                                                         X_salvage_type),
1557            deprn_limit_type                =     decode(X_deprn_limit_type ,
1558                                                         NULL, deprn_limit_type ,
1559                                                        FND_API.G_MISS_CHAR, NULL,
1560                                                         X_deprn_limit_type ),
1561            over_depreciate_option          =     decode(X_over_depreciate_option,
1562                                                         NULL, over_depreciate_option,
1563                                                         FND_API.G_MISS_CHAR, NULL,
1564                                                         X_over_depreciate_option),
1565            super_group_id                  =     decode(X_super_group_id,
1566                                                         NULL, super_group_id,
1567                                                         FND_API.G_MISS_NUM, NULL,
1568                                                         X_super_group_id),
1569            reduction_rate                  =     decode(X_reduction_rate,
1570                                                         NULL, reduction_rate,
1571                                                         FND_API.G_MISS_NUM, NULL,
1572                                                         X_reduction_rate),
1573            reduce_addition_flag            =     decode(X_reduce_addition_flag,
1574                                                         NULL, reduce_addition_flag,
1575                                                         FND_API.G_MISS_CHAR, NULL,
1576                                                         X_reduce_addition_flag),
1577            reduce_adjustment_flag          =     decode(X_reduce_adjustment_flag,
1578                                                         NULL, reduce_adjustment_flag,
1579                                                         FND_API.G_MISS_CHAR, NULL,
1580                                                         X_reduce_adjustment_flag),
1581            reduce_retirement_flag          =     decode(X_reduce_retirement_flag,
1582                                                         NULL, reduce_retirement_flag,
1583                                                         FND_API.G_MISS_CHAR, NULL,
1584                                                         X_reduce_retirement_flag),
1585            recognize_gain_loss             =    decode(X_recognize_gain_loss,
1586                                                         NULL, recognize_gain_loss,
1587                                                         FND_API.G_MISS_CHAR, NULL,
1588                                                         X_recognize_gain_loss),
1589            recapture_reserve_flag          =    decode(X_recapture_reserve_flag,
1590                                                         NULL, recapture_reserve_flag,
1591                                                         FND_API.G_MISS_CHAR, NULL,
1592                                                         X_recapture_reserve_flag),
1593            limit_proceeds_flag             =    decode(X_limit_proceeds_flag,
1594                                                         NULL, limit_proceeds_flag,
1595                                                         FND_API.G_MISS_CHAR, NULL,
1596                                                         X_limit_proceeds_flag),
1597            terminal_gain_loss              =    decode(X_terminal_gain_loss,
1598                                                         NULL, terminal_gain_loss,
1599                                                         FND_API.G_MISS_CHAR, NULL,
1600                                                         X_terminal_gain_loss),
1601            tracking_method                 =    decode(X_tracking_method,
1602                                                         NULL, tracking_method,
1603                                                         FND_API.G_MISS_CHAR, NULL,
1604                                                         X_tracking_method),
1605            allocate_to_fully_rsv_flag      =     decode(X_allocate_to_fully_rsv_flag,
1606                                                         NULL, allocate_to_fully_rsv_flag,
1607                                                         FND_API.G_MISS_CHAR, NULL,
1608                                                         X_allocate_to_fully_rsv_flag),
1609            allocate_to_fully_ret_flag      =     decode(X_allocate_to_fully_ret_flag,
1610                                                         NULL, allocate_to_fully_ret_flag,
1611                                                         FND_API.G_MISS_CHAR, NULL,
1612                                                         X_allocate_to_fully_ret_flag),
1613            exclude_fully_rsv_flag          =    decode(X_exclude_fully_rsv_flag,
1614                                                         NULL, exclude_fully_rsv_flag,
1615                                                         FND_API.G_MISS_CHAR, NULL,
1616                                                         X_exclude_fully_rsv_flag),
1617            excess_allocation_option        =    decode(X_excess_allocation_option,
1618                                                         NULL, excess_allocation_option,
1619                                                         FND_API.G_MISS_CHAR, NULL,
1620                                                         X_excess_allocation_option),
1621            depreciation_option             =    decode(X_depreciation_option,
1622                                                         NULL, depreciation_option,
1623                                                         FND_API.G_MISS_CHAR, NULL,
1624                                                         X_depreciation_option),
1625            member_rollup_flag              =    decode(X_member_rollup_flag,
1626                                                         NULL, member_rollup_flag,
1627                                                         FND_API.G_MISS_CHAR, NULL,
1628                                                         X_member_rollup_flag),
1629            ytd_proceeds                    =    decode(X_ytd_proceeds,
1630                                                         NULL, ytd_proceeds,
1631                                                         FND_API.G_MISS_NUM, NULL,
1632                                                         X_ytd_proceeds),
1633            ltd_proceeds                    =    decode(X_ltd_proceeds,
1634                                                         NULL, ltd_proceeds,
1635                                                         FND_API.G_MISS_NUM, NULL,
1636                                                         X_ltd_proceeds),
1637            eofy_reserve                    =     decode(X_eofy_reserve,
1638                                                         NULL, eofy_reserve,
1639                                                         FND_API.G_MISS_NUM, NULL,
1640                                                         X_eofy_reserve),
1641            cip_cost                        =     decode(X_cip_cost,
1642                                                         NULL, cip_cost,
1643                                                         FND_API.G_MISS_NUM, NULL,
1644                                                         X_cip_cost),
1645            terminal_gain_loss_amount       =     decode(X_terminal_gain_loss_amount,
1646                                                         NULL, terminal_gain_loss_amount,
1647                                                         FND_API.G_MISS_NUM, NULL,
1648                                                         X_terminal_gain_loss_amount),
1649            ltd_cost_of_removal             =     decode(X_ltd_cost_of_removal,
1650                                                         NULL, ltd_cost_of_removal,
1651                                                         FND_API.G_MISS_NUM, NULL,
1652                                                         X_ltd_cost_of_removal),
1653            exclude_proceeds_from_basis     =     decode(X_exclude_proceeds_from_basis,
1654                                                         NULL, exclude_proceeds_from_basis,
1655                                                         FND_API.G_MISS_CHAR, NULL,
1656                                                         X_exclude_proceeds_from_basis),
1657            retirement_deprn_option         =     decode(X_retirement_deprn_option,
1658                                                         NULL, retirement_deprn_option,
1659                                                         FND_API.G_MISS_CHAR, NULL,
1660                                                         X_retirement_deprn_option),
1661            terminal_gain_loss_flag         =     decode(X_terminal_gain_loss_flag,
1662                                                         NULL, terminal_gain_loss_flag,
1663                                                         FND_API.G_MISS_CHAR, NULL,
1664                                                         X_terminal_gain_loss_flag),
1665            formula_factor                  =     decode(X_Formula_Factor,
1666                                                         NULL, formula_factor,
1667                                                         FND_API.G_MISS_CHAR, NULL,
1668                                                         X_Formula_Factor)
1669            WHERE asset_id = X_Asset_Id
1670            AND book_type_code = X_Book_Type_Code
1671            AND transaction_header_id_out is null;
1672         end if;
1673      else
1674        if X_Rowid is not null then
1675            UPDATE fa_books
1676            SET
1677            book_type_code                  =     decode(X_Book_Type_Code,
1678                                                         NULL, book_type_code,
1679                                                         FND_API.G_MISS_CHAR, NULL,
1680                                                         X_Book_Type_Code),
1681            asset_id                        =     decode(X_Asset_Id,
1682                                                         NULL, asset_id,
1683                                                         FND_API.G_MISS_NUM, NULL,
1684                                                         X_Asset_Id),
1685            date_placed_in_service          =     decode(X_Date_Placed_In_Service,
1686                                                         NULL, date_placed_in_service ,
1687                                                         X_Date_Placed_In_Service),
1688            date_effective                  =     decode(X_Date_Effective,
1689                                                         NULL, date_effective,
1690                                                         X_Date_Effective),
1691            deprn_start_date                =     decode(X_Deprn_Start_Date,
1692                                                         NULL, deprn_start_date,
1693                                                         X_Deprn_Start_Date),
1694            deprn_method_code               =     decode(X_Deprn_Method_Code,
1695                                                         NULL, deprn_method_code,
1696                                                         FND_API.G_MISS_CHAR, NULL,
1697                                                         X_Deprn_Method_Code),
1698            life_in_months                  =     decode(X_Life_In_Months,
1699                                                         NULL, life_in_months,
1700                                                         FND_API.G_MISS_NUM, NULL,
1701                                                         X_Life_In_Months),
1702            rate_adjustment_factor          =     decode(X_Rate_Adjustment_Factor,
1703                                                         NULL, rate_adjustment_factor,
1704                                                         FND_API.G_MISS_NUM, NULL,
1705                                                         X_Rate_Adjustment_Factor),
1706            adjusted_cost                   =     decode(X_Adjusted_Cost,
1707                                                         NULL, adjusted_cost,
1708                                                         FND_API.G_MISS_NUM, NULL,
1709                                                         X_Adjusted_Cost),
1710            cost                            =     decode(X_Cost,
1711                                                         NULL, cost,
1712                                                         FND_API.G_MISS_NUM, NULL,
1713                                                         X_Cost),
1714            original_cost                   =     decode(X_Original_Cost,
1715                                                         NULL, original_cost,
1716                                                         FND_API.G_MISS_NUM, NULL,
1717                                                         X_Original_Cost),
1718            salvage_value                   =     decode(X_Salvage_Value,
1719                                                         NULL, salvage_value,
1720                                                         FND_API.G_MISS_NUM, NULL,
1721                                                         X_Salvage_Value),
1722            prorate_convention_code         =     decode(X_Prorate_Convention_Code,
1723                                                         NULL, prorate_convention_code,
1724                                                         FND_API.G_MISS_CHAR, NULL,
1725                                                         X_Prorate_Convention_Code),
1726            prorate_date                    =     decode(X_Prorate_Date,
1727                                                         NULL, prorate_date,
1728                                                         X_Prorate_Date),
1729            cost_change_flag                =     decode(X_Cost_Change_Flag,
1730                                                         NULL, cost_change_flag,
1731                                                         FND_API.G_MISS_CHAR, NULL,
1732                                                         X_Cost_Change_Flag),
1733            adjustment_required_status      =     decode(X_Adjustment_Required_Status,
1734                                                         NULL, adjustment_required_status,
1735                                                         FND_API.G_MISS_CHAR, NULL,
1736                                                         X_Adjustment_Required_Status),
1737            capitalize_flag                 =     decode(X_Capitalize_Flag,
1738                                                         NULL, capitalize_flag,
1739                                                         FND_API.G_MISS_CHAR, NULL,
1740                                                         X_Capitalize_Flag),
1741            retirement_pending_flag         =     decode(X_Retirement_Pending_Flag,
1742                                                         NULL, retirement_pending_flag,
1743                                                         FND_API.G_MISS_CHAR, NULL,
1744                                                         X_Retirement_Pending_Flag),
1745            depreciate_flag                 =     decode(X_Depreciate_Flag,
1746                                                         NULL, depreciate_flag,
1747                                                         FND_API.G_MISS_CHAR, NULL,
1748                                                         X_Depreciate_Flag),
1749            --HH group ed.
1750            disabled_flag                   =     decode(X_Disabled_Flag,
1751                                                         NULL, disabled_flag,
1752                                                         FND_API.G_MISS_CHAR, NULL,
1753                                                         X_Disabled_Flag),
1754            last_update_date                =     decode(X_Last_Update_Date,
1755                                                         NULL, last_update_date,
1756                                                         X_Last_Update_Date),
1757            last_updated_by                 =     decode(X_Last_Updated_By,
1758                                                         NULL, last_updated_by,
1759                                                         FND_API.G_MISS_NUM, NULL,
1760                                                         X_Last_Updated_By),
1761            date_ineffective                =     decode(X_Date_Ineffective,
1762                                                         NULL, date_ineffective,
1763                                                         X_Date_Ineffective),
1764            transaction_header_id_in        =     decode(X_Transaction_Header_Id_In,
1765                                                         NULL, transaction_header_id_in,
1766                                                         FND_API.G_MISS_NUM, NULL,
1767                                                         X_Transaction_Header_Id_In),
1768            transaction_header_id_out       =     decode(X_Transaction_Header_Id_Out,
1769                                                         NULL, transaction_header_id_out,
1770                                                         FND_API.G_MISS_NUM, NULL,
1771                                                         X_Transaction_Header_Id_Out),
1772            itc_amount_id                   =     decode(X_Itc_Amount_Id,
1773                                                         NULL, itc_amount_id,
1774                                                         FND_API.G_MISS_NUM, NULL,
1775                                                         X_Itc_Amount_Id),
1776            itc_amount                      =     decode(X_Itc_Amount,
1777                                                         NULL, itc_amount,
1778                                                         FND_API.G_MISS_NUM, NULL,
1779                                                         X_Itc_Amount),
1780            retirement_id                   =     decode(X_Retirement_Id,
1781                                                         NULL, retirement_id,
1782                                                         FND_API.G_MISS_NUM, NULL,
1783                                                         X_Retirement_Id),
1784            tax_request_id                  =     decode(X_Tax_Request_Id,
1785                                                         NULL, tax_request_id,
1786                                                         FND_API.G_MISS_NUM, NULL,
1787                                                         X_Tax_Request_Id),
1788            itc_basis                       =     decode(X_Itc_Basis,
1789                                                         NULL, itc_basis,
1790                                                         FND_API.G_MISS_NUM, NULL,
1791                                                         X_Itc_Basis),
1792            basic_rate                      =     decode(X_Basic_Rate,
1793                                                         NULL, basic_rate,
1794                                                         FND_API.G_MISS_NUM, NULL,
1795                                                         X_Basic_Rate),
1796            adjusted_rate                   =     decode(X_Adjusted_Rate,
1797                                                         NULL, adjusted_rate,
1798                                                         FND_API.G_MISS_NUM, NULL,
1799                                                         X_Adjusted_Rate),
1800            bonus_rule                      =     decode(X_Bonus_Rule,
1801                                                         NULL, bonus_rule,
1802                                                         FND_API.G_MISS_CHAR, NULL,
1803                                                         X_Bonus_Rule),
1804            ceiling_name                    =     decode(X_Ceiling_Name,
1805                                                         NULL, ceiling_name,
1806                                                         FND_API.G_MISS_CHAR, NULL,
1807                                                         X_Ceiling_Name),
1808            recoverable_cost                =     decode(X_Recoverable_Cost,
1809                                                         NULL, recoverable_cost,
1810                                                         FND_API.G_MISS_NUM, NULL,
1811                                                         X_Recoverable_Cost),
1812            last_update_login               =     decode(X_Last_Update_Login,
1813                                                         NULL, last_update_login,
1814                                                         FND_API.G_MISS_NUM, NULL,
1815                                                         X_Last_Update_Login),
1816            adjusted_capacity               =     decode(X_Adjusted_Capacity,
1817                                                         NULL, adjusted_capacity,
1818                                                         FND_API.G_MISS_NUM, NULL,
1819                                                         X_Adjusted_Capacity),
1820            fully_rsvd_revals_counter       =     decode(X_Fully_Rsvd_Revals_Counter,
1821                                                         NULL, fully_rsvd_revals_counter,
1822                                                         FND_API.G_MISS_NUM, NULL,
1823                                                         X_Fully_Rsvd_Revals_Counter),
1824            idled_flag                      =     decode(X_Idled_Flag,
1825                                                         NULL, idled_flag,
1826                                                         FND_API.G_MISS_CHAR, NULL,
1827                                                         X_Idled_Flag),
1828            period_counter_capitalized      =     decode(X_Period_Counter_Capitalized,
1829                                                         NULL, period_counter_capitalized,
1830                                                         FND_API.G_MISS_NUM, NULL,
1831                                                         X_Period_Counter_Capitalized),
1832            period_counter_fully_reserved   =     decode(X_PC_Fully_Reserved,
1833                                                         NULL, period_counter_fully_reserved,
1834                                                         FND_API.G_MISS_NUM, NULL,
1835                                                         X_PC_Fully_Reserved),
1836            period_counter_fully_retired    =     decode(X_Period_Counter_Fully_Retired,
1837                                                         NULL, period_counter_fully_retired,
1838                                                         FND_API.G_MISS_NUM, NULL,
1839                                                         X_Period_Counter_Fully_Retired),
1840            production_capacity             =     decode(X_Production_Capacity,
1841                                                         NULL, production_capacity,
1842                                                         FND_API.G_MISS_NUM, NULL,
1843                                                         X_Production_Capacity),
1844            reval_amortization_basis        =     decode(X_Reval_Amortization_Basis,
1845                                                         NULL, reval_amortization_basis,
1846                                                         FND_API.G_MISS_NUM, NULL,
1847                                                         X_Reval_Amortization_Basis),
1848            reval_ceiling                   =     decode(X_Reval_Ceiling,
1849                                                         NULL, reval_ceiling,
1850                                                         FND_API.G_MISS_NUM, NULL,
1851                                                         X_Reval_Ceiling),
1852            unit_of_measure                 =     decode(X_Unit_Of_Measure,
1853                                                         NULL, unit_of_measure,
1854                                                         FND_API.G_MISS_CHAR, NULL,
1855                                                         X_Unit_Of_Measure),
1856            unrevalued_cost                 =     decode(X_Unrevalued_Cost,
1857                                                         NULL, unrevalued_cost,
1858                                                         FND_API.G_MISS_NUM, NULL,
1859                                                         X_Unrevalued_Cost),
1860            annual_deprn_rounding_flag      =     decode(X_Annual_Deprn_Rounding_Flag,
1861                                                         NULL, annual_deprn_rounding_flag,
1862                                                         FND_API.G_MISS_CHAR, NULL,
1863                                                         X_Annual_Deprn_Rounding_Flag),
1864            percent_salvage_value           =     decode(X_Percent_Salvage_Value,
1865                                                         NULL, percent_salvage_value,
1866                                                         FND_API.G_MISS_NUM, NULL,
1867                                                         X_Percent_Salvage_Value),
1868            allowed_deprn_limit             =     decode(X_Allowed_Deprn_Limit,
1869                                                         NULL, allowed_deprn_limit,
1870                                                         FND_API.G_MISS_NUM, NULL,
1871                                                         X_Allowed_Deprn_Limit),
1872            allowed_deprn_limit_amount      =     decode(X_Allowed_Deprn_Limit_Amount,
1873                                                         NULL, allowed_deprn_limit_amount,
1874                                                         FND_API.G_MISS_NUM, NULL,
1875                                                         X_Allowed_Deprn_Limit_Amount),
1876            period_counter_life_complete    =     decode(X_Period_Counter_Life_Complete,
1877                                                         NULL, period_counter_life_complete,
1878                                                         FND_API.G_MISS_NUM, NULL,
1879                                                         X_Period_Counter_Life_Complete),
1880            adjusted_recoverable_cost       =     decode(X_Adjusted_Recoverable_Cost,
1881                                                         NULL, adjusted_recoverable_cost,
1882                                                         FND_API.G_MISS_NUM, NULL,
1883                                                         X_Adjusted_Recoverable_Cost),
1884            group_asset_id                  =     decode(X_group_asset_id,
1885                                                         NULL, group_asset_id,
1886                                                         FND_API.G_MISS_NUM, NULL,
1887                                                         X_group_asset_id),
1888            salvage_type                    =     decode(X_salvage_type,
1889                                                         NULL, salvage_type,
1890                                                         FND_API.G_MISS_CHAR, NULL,
1891                                                         X_salvage_type),
1892            deprn_limit_type                =     decode(X_deprn_limit_type ,
1893                                                         NULL, deprn_limit_type ,
1894                                                        FND_API.G_MISS_CHAR, NULL,
1895                                                         X_deprn_limit_type ),
1896            over_depreciate_option          =     decode(X_over_depreciate_option,
1897                                                         NULL, over_depreciate_option,
1898                                                         FND_API.G_MISS_CHAR, NULL,
1899                                                         X_over_depreciate_option),
1900            super_group_id                  =     decode(X_super_group_id,
1901                                                         NULL, super_group_id,
1902                                                         FND_API.G_MISS_NUM, NULL,
1903                                                         X_super_group_id),
1904            reduction_rate                  =     decode(X_reduction_rate,
1905                                                         NULL, reduction_rate,
1906                                                         FND_API.G_MISS_NUM, NULL,
1907                                                         X_reduction_rate),
1908            reduce_addition_flag            =     decode(X_reduce_addition_flag,
1909                                                         NULL, reduce_addition_flag,
1910                                                         FND_API.G_MISS_CHAR, NULL,
1911                                                         X_reduce_addition_flag),
1912            reduce_adjustment_flag          =     decode(X_reduce_adjustment_flag,
1913                                                         NULL, reduce_adjustment_flag,
1914                                                         FND_API.G_MISS_CHAR, NULL,
1915                                                         X_reduce_adjustment_flag),
1916            reduce_retirement_flag          =     decode(X_reduce_retirement_flag,
1917                                                         NULL, reduce_retirement_flag,
1918                                                         FND_API.G_MISS_CHAR, NULL,
1919                                                         X_reduce_retirement_flag),
1920            recognize_gain_loss             =    decode(X_recognize_gain_loss,
1921                                                         NULL, recognize_gain_loss,
1922                                                         FND_API.G_MISS_CHAR, NULL,
1923                                                         X_recognize_gain_loss),
1924            recapture_reserve_flag          =    decode(X_recapture_reserve_flag,
1925                                                         NULL, recapture_reserve_flag,
1926                                                         FND_API.G_MISS_CHAR, NULL,
1927                                                         X_recapture_reserve_flag),
1928            limit_proceeds_flag             =    decode(X_limit_proceeds_flag,
1929                                                         NULL, limit_proceeds_flag,
1930                                                         FND_API.G_MISS_CHAR, NULL,
1931                                                         X_limit_proceeds_flag),
1932            terminal_gain_loss              =    decode(X_terminal_gain_loss,
1933                                                         NULL, terminal_gain_loss,
1934                                                         FND_API.G_MISS_CHAR, NULL,
1935                                                         X_terminal_gain_loss),
1936            tracking_method                 =    decode(X_tracking_method,
1937                                                         NULL, tracking_method,
1938                                                         FND_API.G_MISS_CHAR, NULL,
1939                                                         X_tracking_method),
1940            allocate_to_fully_rsv_flag      =     decode(X_allocate_to_fully_rsv_flag,
1941                                                         NULL, allocate_to_fully_rsv_flag,
1942                                                         FND_API.G_MISS_CHAR, NULL,
1943                                                         X_allocate_to_fully_rsv_flag),
1944            allocate_to_fully_ret_flag      =     decode(X_allocate_to_fully_ret_flag,
1945                                                         NULL, allocate_to_fully_ret_flag,
1946                                                         FND_API.G_MISS_CHAR, NULL,
1947                                                         X_allocate_to_fully_ret_flag),
1948            exclude_fully_rsv_flag          =    decode(X_exclude_fully_rsv_flag,
1949                                                         NULL, exclude_fully_rsv_flag,
1950                                                         FND_API.G_MISS_CHAR, NULL,
1951                                                         X_exclude_fully_rsv_flag),
1952            excess_allocation_option        =    decode(X_excess_allocation_option,
1953                                                         NULL, excess_allocation_option,
1954                                                         FND_API.G_MISS_CHAR, NULL,
1955                                                         X_excess_allocation_option),
1956            depreciation_option             =    decode(X_depreciation_option,
1957                                                         NULL, depreciation_option,
1958                                                         FND_API.G_MISS_CHAR, NULL,
1959                                                         X_depreciation_option),
1960            member_rollup_flag              =    decode(X_member_rollup_flag,
1961                                                         NULL, member_rollup_flag,
1962                                                         FND_API.G_MISS_CHAR, NULL,
1963                                                         X_member_rollup_flag),
1964            ytd_proceeds                    =    decode(X_ytd_proceeds,
1965                                                         NULL, ytd_proceeds,
1966                                                         FND_API.G_MISS_NUM, NULL,
1967                                                         X_ytd_proceeds),
1968            ltd_proceeds                    =    decode(X_ltd_proceeds,
1969                                                         NULL, ltd_proceeds,
1970                                                         FND_API.G_MISS_NUM, NULL,
1971                                                         X_ltd_proceeds),
1972            eofy_reserve                    =     decode(X_eofy_reserve,
1973                                                         NULL, eofy_reserve,
1974                                                         FND_API.G_MISS_NUM, NULL,
1975                                                         X_eofy_reserve),
1976            cip_cost                        =     decode(X_cip_cost,
1977                                                         NULL, cip_cost,
1978                                                         FND_API.G_MISS_NUM, NULL,
1979                                                         X_cip_cost),
1980            terminal_gain_loss_amount       =     decode(X_terminal_gain_loss_amount,
1981                                                         NULL, terminal_gain_loss_amount,
1982                                                         FND_API.G_MISS_NUM, NULL,
1983                                                         X_terminal_gain_loss_amount),
1984            ltd_cost_of_removal             =     decode(X_ltd_cost_of_removal,
1985                                                         NULL, ltd_cost_of_removal,
1986                                                         FND_API.G_MISS_NUM, NULL,
1987                                                         X_ltd_cost_of_removal),
1988            exclude_proceeds_from_basis     =     decode(X_exclude_proceeds_from_basis,
1989                                                         NULL, exclude_proceeds_from_basis,
1990                                                         FND_API.G_MISS_CHAR, NULL,
1991                                                         X_exclude_proceeds_from_basis),
1992            retirement_deprn_option         =     decode(X_retirement_deprn_option,
1993                                                         NULL, retirement_deprn_option,
1994                                                         FND_API.G_MISS_CHAR, NULL,
1995                                                         X_retirement_deprn_option),
1996            terminal_gain_loss_flag         =     decode(X_terminal_gain_loss_flag,
1997                                                         NULL, terminal_gain_loss_flag,
1998                                                         FND_API.G_MISS_CHAR, NULL,
1999                                                         X_terminal_gain_loss_flag)
2000            WHERE rowid = X_Rowid;
2001         else
2002            UPDATE fa_books
2003            SET
2004            book_type_code                  =     decode(X_Book_Type_Code,
2005                                                         NULL, book_type_code,
2006                                                         FND_API.G_MISS_CHAR, NULL,
2007                                                         X_Book_Type_Code),
2008            asset_id                        =     decode(X_Asset_Id,
2009                                                         NULL, asset_id,
2010                                                         FND_API.G_MISS_NUM, NULL,
2011                                                         X_Asset_Id),
2012            date_placed_in_service          =     decode(X_Date_Placed_In_Service,
2013                                                         NULL, date_placed_in_service ,
2014                                                         X_Date_Placed_In_Service),
2015            date_effective                  =     decode(X_Date_Effective,
2016                                                         NULL, date_effective,
2017                                                         X_Date_Effective),
2018            deprn_start_date                =     decode(X_Deprn_Start_Date,
2019                                                         NULL, deprn_start_date,
2020                                                         X_Deprn_Start_Date),
2021            deprn_method_code               =     decode(X_Deprn_Method_Code,
2022                                                         NULL, deprn_method_code,
2023                                                         FND_API.G_MISS_CHAR, NULL,
2024                                                         X_Deprn_Method_Code),
2025            life_in_months                  =     decode(X_Life_In_Months,
2026                                                         NULL, life_in_months,
2027                                                         FND_API.G_MISS_NUM, NULL,
2028                                                         X_Life_In_Months),
2029            rate_adjustment_factor          =     decode(X_Rate_Adjustment_Factor,
2030                                                         NULL, rate_adjustment_factor,
2031                                                         FND_API.G_MISS_NUM, NULL,
2032                                                         X_Rate_Adjustment_Factor),
2033            adjusted_cost                   =     decode(X_Adjusted_Cost,
2034                                                         NULL, adjusted_cost,
2035                                                         FND_API.G_MISS_NUM, NULL,
2036                                                         X_Adjusted_Cost),
2037            cost                            =     decode(X_Cost,
2038                                                         NULL, cost,
2039                                                         FND_API.G_MISS_NUM, NULL,
2040                                                         X_Cost),
2041            original_cost                   =     decode(X_Original_Cost,
2042                                                         NULL, original_cost,
2043                                                         FND_API.G_MISS_NUM, NULL,
2044                                                         X_Original_Cost),
2045            salvage_value                   =     decode(X_Salvage_Value,
2046                                                         NULL, salvage_value,
2047                                                         FND_API.G_MISS_NUM, NULL,
2048                                                         X_Salvage_Value),
2049            prorate_convention_code         =     decode(X_Prorate_Convention_Code,
2050                                                         NULL, prorate_convention_code,
2051                                                         FND_API.G_MISS_CHAR, NULL,
2052                                                         X_Prorate_Convention_Code),
2053            prorate_date                    =     decode(X_Prorate_Date,
2054                                                         NULL, prorate_date,
2055                                                         X_Prorate_Date),
2056            cost_change_flag                =     decode(X_Cost_Change_Flag,
2057                                                         NULL, cost_change_flag,
2058                                                         FND_API.G_MISS_CHAR, NULL,
2059                                                         X_Cost_Change_Flag),
2060            adjustment_required_status      =     decode(X_Adjustment_Required_Status,
2061                                                         NULL, adjustment_required_status,
2062                                                         FND_API.G_MISS_CHAR, NULL,
2063                                                         X_Adjustment_Required_Status),
2064            capitalize_flag                 =     decode(X_Capitalize_Flag,
2065                                                         NULL, capitalize_flag,
2066                                                         FND_API.G_MISS_CHAR, NULL,
2067                                                         X_Capitalize_Flag),
2068            retirement_pending_flag         =     decode(X_Retirement_Pending_Flag,
2069                                                         NULL, retirement_pending_flag,
2070                                                         FND_API.G_MISS_CHAR, NULL,
2071                                                         X_Retirement_Pending_Flag),
2072            depreciate_flag                 =     decode(X_Depreciate_Flag,
2073                                                         NULL, depreciate_flag,
2074                                                         FND_API.G_MISS_CHAR, NULL,
2075                                                         X_Depreciate_Flag),
2076            --HH group ed.
2077            disabled_flag                   =     decode(X_Disabled_Flag,
2078                                                         NULL, disabled_flag,
2079                                                         FND_API.G_MISS_CHAR, NULL,
2080                                                         X_Disabled_Flag),
2081            last_update_date                =     decode(X_Last_Update_Date,
2082                                                         NULL, last_update_date,
2083                                                         X_Last_Update_Date),
2084            last_updated_by                 =     decode(X_Last_Updated_By,
2085                                                         NULL, last_updated_by,
2086                                                         FND_API.G_MISS_NUM, NULL,
2087                                                         X_Last_Updated_By),
2088            date_ineffective                =     decode(X_Date_Ineffective,
2089                                                         NULL, date_ineffective,
2090                                                         X_Date_Ineffective),
2091            transaction_header_id_in        =     decode(X_Transaction_Header_Id_In,
2092                                                         NULL, transaction_header_id_in,
2093                                                         FND_API.G_MISS_NUM, NULL,
2094                                                         X_Transaction_Header_Id_In),
2095            transaction_header_id_out       =     decode(X_Transaction_Header_Id_Out,
2096                                                         NULL, transaction_header_id_out,
2097                                                         FND_API.G_MISS_NUM, NULL,
2098                                                         X_Transaction_Header_Id_Out),
2099            itc_amount_id                   =     decode(X_Itc_Amount_Id,
2100                                                         NULL, itc_amount_id,
2101                                                         FND_API.G_MISS_NUM, NULL,
2102                                                         X_Itc_Amount_Id),
2103            itc_amount                      =     decode(X_Itc_Amount,
2104                                                         NULL, itc_amount,
2105                                                         FND_API.G_MISS_NUM, NULL,
2106                                                         X_Itc_Amount),
2107            retirement_id                   =     decode(X_Retirement_Id,
2108                                                         NULL, retirement_id,
2109                                                         FND_API.G_MISS_NUM, NULL,
2110                                                         X_Retirement_Id),
2111            tax_request_id                  =     decode(X_Tax_Request_Id,
2112                                                         NULL, tax_request_id,
2113                                                         FND_API.G_MISS_NUM, NULL,
2114                                                         X_Tax_Request_Id),
2115            itc_basis                       =     decode(X_Itc_Basis,
2116                                                         NULL, itc_basis,
2117                                                         FND_API.G_MISS_NUM, NULL,
2118                                                         X_Itc_Basis),
2119            basic_rate                      =     decode(X_Basic_Rate,
2120                                                         NULL, basic_rate,
2121                                                         FND_API.G_MISS_NUM, NULL,
2122                                                         X_Basic_Rate),
2123            adjusted_rate                   =     decode(X_Adjusted_Rate,
2124                                                         NULL, adjusted_rate,
2125                                                         FND_API.G_MISS_NUM, NULL,
2126                                                         X_Adjusted_Rate),
2127            bonus_rule                      =     decode(X_Bonus_Rule,
2128                                                         NULL, bonus_rule,
2129                                                         FND_API.G_MISS_CHAR, NULL,
2130                                                         X_Bonus_Rule),
2131            ceiling_name                    =     decode(X_Ceiling_Name,
2132                                                         NULL, ceiling_name,
2133                                                         FND_API.G_MISS_CHAR, NULL,
2134                                                         X_Ceiling_Name),
2135            recoverable_cost                =     decode(X_Recoverable_Cost,
2136                                                         NULL, recoverable_cost,
2137                                                         FND_API.G_MISS_NUM, NULL,
2138                                                         X_Recoverable_Cost),
2139            last_update_login               =     decode(X_Last_Update_Login,
2140                                                         NULL, last_update_login,
2141                                                         FND_API.G_MISS_NUM, NULL,
2142                                                         X_Last_Update_Login),
2143            adjusted_capacity               =     decode(X_Adjusted_Capacity,
2144                                                         NULL, adjusted_capacity,
2145                                                         FND_API.G_MISS_NUM, NULL,
2146                                                         X_Adjusted_Capacity),
2147            fully_rsvd_revals_counter       =     decode(X_Fully_Rsvd_Revals_Counter,
2148                                                         NULL, fully_rsvd_revals_counter,
2149                                                         FND_API.G_MISS_NUM, NULL,
2150                                                         X_Fully_Rsvd_Revals_Counter),
2151            idled_flag                      =     decode(X_Idled_Flag,
2152                                                         NULL, idled_flag,
2153                                                         FND_API.G_MISS_CHAR, NULL,
2154                                                         X_Idled_Flag),
2155            period_counter_capitalized      =     decode(X_Period_Counter_Capitalized,
2156                                                         NULL, period_counter_capitalized,
2157                                                         FND_API.G_MISS_NUM, NULL,
2158                                                         X_Period_Counter_Capitalized),
2159            period_counter_fully_reserved   =     decode(X_PC_Fully_Reserved,
2160                                                         NULL, period_counter_fully_reserved,
2161                                                         FND_API.G_MISS_NUM, NULL,
2162                                                         X_PC_Fully_Reserved),
2163            period_counter_fully_retired    =     decode(X_Period_Counter_Fully_Retired,
2164                                                         NULL, period_counter_fully_retired,
2165                                                         FND_API.G_MISS_NUM, NULL,
2166                                                         X_Period_Counter_Fully_Retired),
2167            production_capacity             =     decode(X_Production_Capacity,
2168                                                         NULL, production_capacity,
2169                                                         FND_API.G_MISS_NUM, NULL,
2170                                                         X_Production_Capacity),
2171            reval_amortization_basis        =     decode(X_Reval_Amortization_Basis,
2172                                                         NULL, reval_amortization_basis,
2173                                                         FND_API.G_MISS_NUM, NULL,
2174                                                         X_Reval_Amortization_Basis),
2175            reval_ceiling                   =     decode(X_Reval_Ceiling,
2176                                                         NULL, reval_ceiling,
2177                                                         FND_API.G_MISS_NUM, NULL,
2178                                                         X_Reval_Ceiling),
2179            unit_of_measure                 =     decode(X_Unit_Of_Measure,
2180                                                         NULL, unit_of_measure,
2181                                                         FND_API.G_MISS_CHAR, NULL,
2182                                                         X_Unit_Of_Measure),
2183            unrevalued_cost                 =     decode(X_Unrevalued_Cost,
2184                                                         NULL, unrevalued_cost,
2185                                                         FND_API.G_MISS_NUM, NULL,
2186                                                         X_Unrevalued_Cost),
2187            annual_deprn_rounding_flag      =     decode(X_Annual_Deprn_Rounding_Flag,
2188                                                         NULL, annual_deprn_rounding_flag,
2189                                                         FND_API.G_MISS_CHAR, NULL,
2190                                                         X_Annual_Deprn_Rounding_Flag),
2191            percent_salvage_value           =     decode(X_Percent_Salvage_Value,
2192                                                         NULL, percent_salvage_value,
2193                                                         FND_API.G_MISS_NUM, NULL,
2194                                                         X_Percent_Salvage_Value),
2195            allowed_deprn_limit             =     decode(X_Allowed_Deprn_Limit,
2196                                                         NULL, allowed_deprn_limit,
2197                                                         FND_API.G_MISS_NUM, NULL,
2198                                                         X_Allowed_Deprn_Limit),
2199            allowed_deprn_limit_amount      =     decode(X_Allowed_Deprn_Limit_Amount,
2200                                                         NULL, allowed_deprn_limit_amount,
2201                                                         FND_API.G_MISS_NUM, NULL,
2202                                                         X_Allowed_Deprn_Limit_Amount),
2203            period_counter_life_complete    =     decode(X_Period_Counter_Life_Complete,
2204                                                         NULL, period_counter_life_complete,
2205                                                         FND_API.G_MISS_NUM, NULL,
2206                                                         X_Period_Counter_Life_Complete),
2207            adjusted_recoverable_cost       =     decode(X_Adjusted_Recoverable_Cost,
2208                                                         NULL, adjusted_recoverable_cost,
2209                                                         FND_API.G_MISS_NUM, NULL,
2210                                                         X_Adjusted_Recoverable_Cost),
2211            group_asset_id                  =     decode(X_group_asset_id,
2212                                                         NULL, group_asset_id,
2213                                                         FND_API.G_MISS_NUM, NULL,
2214                                                         X_group_asset_id),
2215            salvage_type                    =     decode(X_salvage_type,
2216                                                         NULL, salvage_type,
2217                                                         FND_API.G_MISS_CHAR, NULL,
2218                                                         X_salvage_type),
2219            deprn_limit_type                =     decode(X_deprn_limit_type ,
2220                                                         NULL, deprn_limit_type ,
2221                                                        FND_API.G_MISS_CHAR, NULL,
2222                                                         X_deprn_limit_type ),
2223            over_depreciate_option          =     decode(X_over_depreciate_option,
2224                                                         NULL, over_depreciate_option,
2225                                                         FND_API.G_MISS_CHAR, NULL,
2226                                                         X_over_depreciate_option),
2227            super_group_id                  =     decode(X_super_group_id,
2228                                                         NULL, super_group_id,
2229                                                         FND_API.G_MISS_NUM, NULL,
2230                                                         X_super_group_id),
2231            reduction_rate                  =     decode(X_reduction_rate,
2232                                                         NULL, reduction_rate,
2233                                                         FND_API.G_MISS_NUM, NULL,
2234                                                         X_reduction_rate),
2235            reduce_addition_flag            =     decode(X_reduce_addition_flag,
2236                                                         NULL, reduce_addition_flag,
2237                                                         FND_API.G_MISS_CHAR, NULL,
2238                                                         X_reduce_addition_flag),
2239            reduce_adjustment_flag          =     decode(X_reduce_adjustment_flag,
2240                                                         NULL, reduce_adjustment_flag,
2241                                                         FND_API.G_MISS_CHAR, NULL,
2242                                                         X_reduce_adjustment_flag),
2243            reduce_retirement_flag          =     decode(X_reduce_retirement_flag,
2244                                                         NULL, reduce_retirement_flag,
2245                                                         FND_API.G_MISS_CHAR, NULL,
2246                                                         X_reduce_retirement_flag),
2247            recognize_gain_loss             =    decode(X_recognize_gain_loss,
2248                                                         NULL, recognize_gain_loss,
2249                                                         FND_API.G_MISS_CHAR, NULL,
2250                                                         X_recognize_gain_loss),
2251            recapture_reserve_flag          =    decode(X_recapture_reserve_flag,
2252                                                         NULL, recapture_reserve_flag,
2253                                                         FND_API.G_MISS_CHAR, NULL,
2254                                                         X_recapture_reserve_flag),
2255            limit_proceeds_flag             =    decode(X_limit_proceeds_flag,
2256                                                         NULL, limit_proceeds_flag,
2257                                                         FND_API.G_MISS_CHAR, NULL,
2258                                                         X_limit_proceeds_flag),
2259            terminal_gain_loss              =    decode(X_terminal_gain_loss,
2260                                                         NULL, terminal_gain_loss,
2261                                                         FND_API.G_MISS_CHAR, NULL,
2262                                                         X_terminal_gain_loss),
2263            tracking_method                 =    decode(X_tracking_method,
2264                                                         NULL, tracking_method,
2265                                                         FND_API.G_MISS_CHAR, NULL,
2266                                                         X_tracking_method),
2267            allocate_to_fully_rsv_flag      =     decode(X_allocate_to_fully_rsv_flag,
2268                                                         NULL, allocate_to_fully_rsv_flag,
2269                                                         FND_API.G_MISS_CHAR, NULL,
2270                                                         X_allocate_to_fully_rsv_flag),
2271            allocate_to_fully_ret_flag      =     decode(X_allocate_to_fully_ret_flag,
2272                                                         NULL, allocate_to_fully_ret_flag,
2273                                                         FND_API.G_MISS_CHAR, NULL,
2274                                                         X_allocate_to_fully_ret_flag),
2275            exclude_fully_rsv_flag          =    decode(X_exclude_fully_rsv_flag,
2276                                                         NULL, exclude_fully_rsv_flag,
2277                                                         FND_API.G_MISS_CHAR, NULL,
2278                                                         X_exclude_fully_rsv_flag),
2279            excess_allocation_option        =    decode(X_excess_allocation_option,
2280                                                         NULL, excess_allocation_option,
2281                                                         FND_API.G_MISS_CHAR, NULL,
2282                                                         X_excess_allocation_option),
2283            depreciation_option             =    decode(X_depreciation_option,
2284                                                         NULL, depreciation_option,
2285                                                         FND_API.G_MISS_CHAR, NULL,
2286                                                         X_depreciation_option),
2287            member_rollup_flag              =    decode(X_member_rollup_flag,
2288                                                         NULL, member_rollup_flag,
2289                                                         FND_API.G_MISS_CHAR, NULL,
2290                                                         X_member_rollup_flag),
2291            ytd_proceeds                    =    decode(X_ytd_proceeds,
2292                                                         NULL, ytd_proceeds,
2293                                                         FND_API.G_MISS_NUM, NULL,
2294                                                         X_ytd_proceeds),
2295            ltd_proceeds                    =    decode(X_ltd_proceeds,
2296                                                         NULL, ltd_proceeds,
2297                                                         FND_API.G_MISS_NUM, NULL,
2298                                                         X_ltd_proceeds),
2299            eofy_reserve                    =     decode(X_eofy_reserve,
2300                                                         NULL, eofy_reserve,
2301                                                         FND_API.G_MISS_NUM, NULL,
2302                                                         X_eofy_reserve),
2303            cip_cost                        =     decode(X_cip_cost,
2304                                                         NULL, cip_cost,
2305                                                         FND_API.G_MISS_NUM, NULL,
2306                                                         X_cip_cost),
2307            terminal_gain_loss_amount       =     decode(X_terminal_gain_loss_amount,
2308                                                         NULL, terminal_gain_loss_amount,
2309                                                         FND_API.G_MISS_NUM, NULL,
2310                                                         X_terminal_gain_loss_amount),
2311            ltd_cost_of_removal             =     decode(X_ltd_cost_of_removal,
2312                                                         NULL, ltd_cost_of_removal,
2313                                                         FND_API.G_MISS_NUM, NULL,
2314                                                         X_ltd_cost_of_removal),
2315            exclude_proceeds_from_basis     =     decode(X_exclude_proceeds_from_basis,
2316                                                         NULL, exclude_proceeds_from_basis,
2317                                                         FND_API.G_MISS_CHAR, NULL,
2318                                                         X_exclude_proceeds_from_basis),
2319            retirement_deprn_option         =     decode(X_retirement_deprn_option,
2320                                                         NULL, retirement_deprn_option,
2321                                                         FND_API.G_MISS_CHAR, NULL,
2322                                                         X_retirement_deprn_option),
2323            terminal_gain_loss_flag         =     decode(X_terminal_gain_loss_flag,
2324                                                         NULL, terminal_gain_loss_flag,
2325                                                         FND_API.G_MISS_CHAR, NULL,
2326                                                         X_terminal_gain_loss_flag)
2327            WHERE asset_id = X_Asset_Id
2328            AND book_type_code = X_Book_Type_Code
2329            AND transaction_header_id_out is null;
2330         end if;
2331      end if;
2332     --
2333     if (SQL%NOTFOUND) then
2334       Raise NO_DATA_FOUND;
2335     end if;
2336 
2337   exception
2338     when others then
2339      fa_srvr_msg.add_sql_error(
2340           calling_fn => 'fa_books_pkg.update_row'
2341           ,p_log_level_rec => p_log_level_rec);
2342      raise;
2343   END Update_Row;
2344 
2345   PROCEDURE Delete_Row(X_Rowid                     VARCHAR2 DEFAULT NULL,
2346                        X_Transaction_Header_Id_In  NUMBER DEFAULT NULL,
2347                        X_Asset_Id                  NUMBER DEFAULT NULL,
2348                        X_mrc_sob_type_code         VARCHAR2 DEFAULT 'P',
2349                        X_Calling_Fn                VARCHAR2,
2350               p_log_level_rec        IN     FA_API_TYPES.log_level_rec_type default null) IS
2351   BEGIN
2352 
2353     if (X_mrc_sob_type_code = 'R') then
2354        if X_Rowid is not null then
2355             DELETE FROM fa_books_mrc_v
2356             WHERE rowid = X_Rowid;
2357        elsif X_Transaction_Header_Id_In is not null then
2358          DELETE FROM fa_books_mrc_v
2359          WHERE transaction_header_id_in = X_Transaction_Header_Id_In;
2360        elsif X_Asset_Id is not null then
2361         DELETE FROM fa_books_mrc_v
2362         WHERE asset_id = X_Asset_Id;
2363        else
2364         -- print some error message
2365         null;
2366        end if;
2367     else
2368        if X_Rowid is not null then
2369             DELETE FROM fa_books
2370             WHERE rowid = X_Rowid;
2371        elsif X_Transaction_Header_Id_In is not null then
2372          DELETE FROM fa_books
2373          WHERE transaction_header_id_in = X_Transaction_Header_Id_In;
2374        elsif X_Asset_Id is not null then
2375         DELETE FROM fa_books
2376         WHERE asset_id = X_Asset_Id;
2377        else
2378         -- print some error message
2379         null;
2380        end if;
2381     end if;
2382 
2383     if (SQL%NOTFOUND) then
2384       Raise NO_DATA_FOUND;
2385     end if;
2386 
2387   exception
2388     when others then
2389       FA_STANDARD_PKG.RAISE_ERROR(
2390           CALLED_FN => 'fa_books_pkg.delete_row',
2391           CALLING_FN => X_Calling_Fn
2392           ,p_log_level_rec => p_log_level_rec);
2393   END Delete_Row;
2394 
2395   PROCEDURE Reactivate_Row(X_Transaction_Header_Id_Out     NUMBER,
2396                            X_mrc_sob_type_code             VARCHAR2 DEFAULT 'P',
2397                            X_Calling_Fn                    VARCHAR2,
2398                  p_log_level_rec        IN     FA_API_TYPES.log_level_rec_type default null) IS
2399 
2400   BEGIN
2401 
2402     if (X_mrc_sob_type_code = 'R') then
2403      UPDATE fa_books_mrc_v
2404      SET period_counter_fully_retired = null,
2405          date_ineffective = null,
2406          transaction_header_id_out = null,
2407          retirement_id = null
2408      WHERE transaction_header_id_out = X_Transaction_Header_Id_Out;
2409     else
2410      UPDATE fa_books
2411      SET period_counter_fully_retired = null,
2412          date_ineffective = null,
2413          transaction_header_id_out = null,
2414          retirement_id = null
2415      WHERE transaction_header_id_out = X_Transaction_Header_Id_Out;
2416     end if;
2417     --
2418     if (SQL%NOTFOUND) then
2419       Raise NO_DATA_FOUND;
2420     end if;
2421 
2422   exception
2423     when others then
2424       FA_STANDARD_PKG.RAISE_ERROR(
2425           CALLED_FN => 'fa_books_pkg.reactivate_row',
2426           CALLING_FN => X_Calling_Fn
2427           ,p_log_level_rec => p_log_level_rec);
2428   END Reactivate_Row;
2429 
2430 
2431   PROCEDURE Deactivate_Row(X_asset_id                  NUMBER,
2432                            X_book_type_code            VARCHAR2,
2433                            X_transaction_header_id_out NUMBER,
2434                            X_date_ineffective          DATE DEFAULT SYSDATE,
2435                            X_mrc_sob_type_code         VARCHAR2 DEFAULT 'P',
2436                            X_Calling_Fn                VARCHAR2,
2437                  p_log_level_rec        IN     FA_API_TYPES.log_level_rec_type default null) IS
2438 
2439   BEGIN
2440 
2441     if (X_mrc_sob_type_code = 'R') then
2442      UPDATE fa_books_mrc_v
2443      SET date_ineffective            = X_date_ineffective,
2444          last_update_date            = X_date_ineffective,
2445          transaction_header_id_out   = X_transaction_header_id_out
2446      WHERE asset_id                  = X_Asset_Id
2447        AND book_type_code            = X_book_type_code
2448        AND transaction_header_id_out is null;
2449     else
2450      UPDATE fa_books
2451      SET date_ineffective            = X_date_ineffective,
2452          last_update_date            = X_date_ineffective,
2453          transaction_header_id_out   = X_transaction_header_id_out
2454      WHERE asset_id                  = X_Asset_Id
2455        AND book_type_code            = X_book_type_code
2456        AND transaction_header_id_out is null;
2457     end if;
2458     --
2459     if (SQL%NOTFOUND) then
2460       Raise NO_DATA_FOUND;
2461     end if;
2462 
2463   exception
2464     when others then
2465       FA_STANDARD_PKG.RAISE_ERROR(
2466           CALLED_FN => 'fa_books_pkg.reactivate_row',
2467           CALLING_FN => X_Calling_Fn
2468           ,p_log_level_rec => p_log_level_rec);
2469   END Deactivate_Row;
2470 
2471 
2472 END FA_BOOKS_PKG;