DBA Data[Home] [Help]

PACKAGE BODY: APPS.FA_UTIL_PVT

Source


1 PACKAGE BODY FA_UTIL_PVT as
2 /* $Header: FAVUTILB.pls 120.20.12010000.2 2008/12/19 08:34:14 rjayaraj ship $   */
3 
4 FUNCTION get_asset_fin_rec
5    (p_asset_hdr_rec         IN     FA_API_TYPES.asset_hdr_rec_type,
6     px_asset_fin_rec        IN OUT NOCOPY FA_API_TYPES.asset_fin_rec_type,
7     p_transaction_header_id IN     FA_BOOKS.TRANSACTION_HEADER_ID_IN%TYPE DEFAULT NULL,
8     p_mrc_sob_type_code     IN     VARCHAR2,
9     p_log_level_rec         IN     FA_API_TYPES.log_level_rec_type default null) RETURN BOOLEAN IS
10 
11   error_found        EXCEPTION;
12 
13 BEGIN
14 
15    if (p_transaction_header_id is null) then
16       if (nvl(p_mrc_sob_type_code, 'P') = 'R') then
17 
18          select date_placed_in_service        ,
19                 deprn_start_date              ,
20                 deprn_method_code             ,
21                 life_in_months                ,
22                 rate_adjustment_factor        ,
23                 adjusted_cost                 ,
24                 cost                          ,
25                 original_cost                 ,
26                 salvage_value                 ,
27                 prorate_convention_code       ,
28                 prorate_date                  ,
29                 cost_change_flag              ,
30                 adjustment_required_status    ,
31                 capitalize_flag               ,
32                 retirement_pending_flag       ,
33                 depreciate_flag               ,
34                 disabled_flag                 , /* HH group ed */
35                 itc_amount_id                 ,
36                 itc_amount                    ,
37                 retirement_id                 ,
38                 tax_request_id                ,
39                 itc_basis                     ,
40                 basic_rate                    ,
41                 adjusted_rate                 ,
42                 bonus_rule                    ,
43                 ceiling_name                  ,
44                 recoverable_cost              ,
45                 adjusted_capacity             ,
46                 fully_rsvd_revals_counter     ,
47                 idled_flag                    ,
48                 period_counter_capitalized    ,
49                 period_counter_fully_reserved ,
50                 period_counter_fully_retired  ,
51                 production_capacity           ,
52                 reval_amortization_basis      ,
53                 reval_ceiling                 ,
54                 unit_of_measure               ,
55                 unrevalued_cost               ,
56                 annual_deprn_rounding_flag    ,
57                 percent_salvage_value         ,
58                 allowed_deprn_limit           ,
59                 allowed_deprn_limit_amount    ,
60                 period_counter_life_complete  ,
61                 adjusted_recoverable_cost     ,
62                 annual_rounding_flag          ,
63                 eofy_adj_cost                 ,
64                 eofy_formula_factor           ,
65                 short_fiscal_year_flag        ,
66                 conversion_date               ,
67                 ORIGINAL_DEPRN_START_DATE     ,
68                 remaining_life1               ,
69                 remaining_life2               ,
70                 group_asset_id                ,
71                 old_adjusted_cost             ,
72                 formula_factor                ,
73                 global_attribute1             ,
74                 global_attribute2             ,
75                 global_attribute3             ,
76                 global_attribute4             ,
77                 global_attribute5             ,
78                 global_attribute6             ,
79                 global_attribute7             ,
80                 global_attribute8             ,
81                 global_attribute9             ,
82                 global_attribute10            ,
83                 global_attribute11            ,
84                 global_attribute12            ,
85                 global_attribute13            ,
86                 global_attribute14            ,
87                 global_attribute15            ,
88                 global_attribute16            ,
89                 global_attribute17            ,
90                 global_attribute18            ,
91                 global_attribute19            ,
92                 global_attribute20            ,
93                 global_attribute_category     ,
94                 salvage_type                  ,
95                 deprn_limit_type              ,
96                 over_depreciate_option        ,
97                 super_group_id                ,
98                 reduction_rate                ,
99                 reduce_addition_flag          ,
100                 reduce_adjustment_flag        ,
101                 reduce_retirement_flag        ,
102                 recognize_gain_loss           ,
103                 recapture_reserve_flag        ,
104                 limit_proceeds_flag           ,
105                 terminal_gain_loss            ,
106                 tracking_method               ,
107                 allocate_to_fully_rsv_flag    ,
108                 allocate_to_fully_ret_flag    ,
109                 exclude_fully_rsv_flag        ,
110                 excess_allocation_option      ,
111                 depreciation_option           ,
112                 member_rollup_flag            ,
113                 ytd_proceeds                  ,
114                 ltd_proceeds                  ,
115                 eofy_reserve                  ,
116                 cip_cost                      ,
117                 terminal_gain_loss_amount     ,
118                 ltd_cost_of_removal           ,
119                 exclude_proceeds_from_basis   ,
120                 retirement_deprn_option       ,
121 				contract_id -- Bug:6021567
122            into px_asset_fin_rec.date_placed_in_service        ,
123                 px_asset_fin_rec.deprn_start_date              ,
124                 px_asset_fin_rec.deprn_method_code             ,
125                 px_asset_fin_rec.life_in_months                ,
126                 px_asset_fin_rec.rate_adjustment_factor        ,
127                 px_asset_fin_rec.adjusted_cost                 ,
128                 px_asset_fin_rec.cost                          ,
129                 px_asset_fin_rec.original_cost                 ,
130                 px_asset_fin_rec.salvage_value                 ,
131                 px_asset_fin_rec.prorate_convention_code       ,
132                 px_asset_fin_rec.prorate_date                  ,
133                 px_asset_fin_rec.cost_change_flag              ,
134                 px_asset_fin_rec.adjustment_required_status    ,
135                 px_asset_fin_rec.capitalize_flag               ,
136                 px_asset_fin_rec.retirement_pending_flag       ,
137                 px_asset_fin_rec.depreciate_flag               ,
138                 px_asset_fin_rec.disabled_flag                 , /* HH group ed */
139                 px_asset_fin_rec.itc_amount_id                 ,
140                 px_asset_fin_rec.itc_amount                    ,
141                 px_asset_fin_rec.retirement_id                 ,
142                 px_asset_fin_rec.tax_request_id                ,
143                 px_asset_fin_rec.itc_basis                     ,
144                 px_asset_fin_rec.basic_rate                    ,
145                 px_asset_fin_rec.adjusted_rate                 ,
146                 px_asset_fin_rec.bonus_rule                    ,
147                 px_asset_fin_rec.ceiling_name                  ,
148                 px_asset_fin_rec.recoverable_cost              ,
149                 px_asset_fin_rec.adjusted_capacity             ,
150                 px_asset_fin_rec.fully_rsvd_revals_counter     ,
151                 px_asset_fin_rec.idled_flag                    ,
152                 px_asset_fin_rec.period_counter_capitalized    ,
153                 px_asset_fin_rec.period_counter_fully_reserved ,
154                 px_asset_fin_rec.period_counter_fully_retired  ,
155                 px_asset_fin_rec.production_capacity           ,
156                 px_asset_fin_rec.reval_amortization_basis      ,
157                 px_asset_fin_rec.reval_ceiling                 ,
158                 px_asset_fin_rec.unit_of_measure               ,
159                 px_asset_fin_rec.unrevalued_cost               ,
160                 px_asset_fin_rec.annual_deprn_rounding_flag    ,
161                 px_asset_fin_rec.percent_salvage_value         ,
162                 px_asset_fin_rec.allowed_deprn_limit           ,
163                 px_asset_fin_rec.allowed_deprn_limit_amount    ,
164                 px_asset_fin_rec.period_counter_life_complete  ,
165                 px_asset_fin_rec.adjusted_recoverable_cost     ,
166                 px_asset_fin_rec.annual_rounding_flag          ,
167                 px_asset_fin_rec.eofy_adj_cost                 ,
168                 px_asset_fin_rec.eofy_formula_factor           ,
169                 px_asset_fin_rec.short_fiscal_year_flag        ,
170                 px_asset_fin_rec.conversion_date               ,
171                 px_asset_fin_rec.orig_deprn_start_date         ,
172                 px_asset_fin_rec.remaining_life1               ,
173                 px_asset_fin_rec.remaining_life2               ,
174                 px_asset_fin_rec.group_asset_id                ,
175                 px_asset_fin_rec.old_adjusted_cost             ,
176                 px_asset_fin_rec.formula_factor                ,
177                 px_asset_fin_rec.global_attribute1            ,
178                 px_asset_fin_rec.global_attribute2            ,
179                 px_asset_fin_rec.global_attribute3            ,
180                 px_asset_fin_rec.global_attribute4            ,
181                 px_asset_fin_rec.global_attribute5            ,
182                 px_asset_fin_rec.global_attribute6            ,
183                 px_asset_fin_rec.global_attribute7            ,
184                 px_asset_fin_rec.global_attribute8            ,
185                 px_asset_fin_rec.global_attribute9            ,
186                 px_asset_fin_rec.global_attribute10           ,
187                 px_asset_fin_rec.global_attribute11           ,
188                 px_asset_fin_rec.global_attribute12           ,
189                 px_asset_fin_rec.global_attribute13           ,
190                 px_asset_fin_rec.global_attribute14           ,
191                 px_asset_fin_rec.global_attribute15           ,
192                 px_asset_fin_rec.global_attribute16           ,
193                 px_asset_fin_rec.global_attribute17           ,
194                 px_asset_fin_rec.global_attribute18           ,
195                 px_asset_fin_rec.global_attribute19           ,
196                 px_asset_fin_rec.global_attribute20           ,
197                 px_asset_fin_rec.global_attribute_category    ,
198                 px_asset_fin_rec.salvage_type                 ,
199                 px_asset_fin_rec.deprn_limit_type             ,
200                 px_asset_fin_rec.over_depreciate_option       ,
201                 px_asset_fin_rec.super_group_id               ,
202                 px_asset_fin_rec.reduction_rate               ,
203                 px_asset_fin_rec.reduce_addition_flag         ,
204                 px_asset_fin_rec.reduce_adjustment_flag       ,
205                 px_asset_fin_rec.reduce_retirement_flag       ,
206                 px_asset_fin_rec.recognize_gain_loss          ,
207                 px_asset_fin_rec.recapture_reserve_flag       ,
208                 px_asset_fin_rec.limit_proceeds_flag          ,
209                 px_asset_fin_rec.terminal_gain_loss           ,
210                 px_asset_fin_rec.tracking_method              ,
211                 px_asset_fin_rec.allocate_to_fully_rsv_flag   ,
212                 px_asset_fin_rec.allocate_to_fully_ret_flag   ,
213                 px_asset_fin_rec.exclude_fully_rsv_flag       ,
214                 px_asset_fin_rec.excess_allocation_option     ,
215                 px_asset_fin_rec.depreciation_option          ,
216                 px_asset_fin_rec.member_rollup_flag           ,
217                 px_asset_fin_rec.ytd_proceeds                 ,
218                 px_asset_fin_rec.ltd_proceeds                 ,
219                 px_asset_fin_rec.eofy_reserve                 ,
220                 px_asset_fin_rec.cip_cost                     ,
221                 px_asset_fin_rec.terminal_gain_loss_amount    ,
222                 px_asset_fin_rec.ltd_cost_of_removal          ,
223                 px_asset_fin_rec.exclude_proceeds_from_basis  ,
224                 px_asset_fin_rec.retirement_deprn_option      ,
225                 px_asset_fin_rec.contract_id -- Bug:6021567
226 		   from fa_books_mrc_v
227           where asset_id                         = p_asset_hdr_rec.asset_id
228             and book_type_code                   = p_asset_hdr_rec.book_type_code
229             and transaction_header_id_out      is null;
230 
231       else
232          select date_placed_in_service        ,
233                 deprn_start_date              ,
234                 deprn_method_code             ,
235                 life_in_months                ,
236                 rate_adjustment_factor        ,
237                 adjusted_cost                 ,
238                 cost                          ,
239                 original_cost                 ,
240                 salvage_value                 ,
241                 prorate_convention_code       ,
242                 prorate_date                  ,
243                 cost_change_flag              ,
244                 adjustment_required_status    ,
245                 capitalize_flag               ,
246                 retirement_pending_flag       ,
247                 depreciate_flag               ,
248                 disabled_flag                 , /* HH group ed */
249                 itc_amount_id                 ,
250                 itc_amount                    ,
251                 retirement_id                 ,
252                 tax_request_id                ,
253                 itc_basis                     ,
254                 basic_rate                    ,
255                 adjusted_rate                 ,
256                 bonus_rule                    ,
257                 ceiling_name                  ,
258                 recoverable_cost              ,
259                 adjusted_capacity             ,
260                 fully_rsvd_revals_counter     ,
261                 idled_flag                    ,
262                 period_counter_capitalized    ,
263                 period_counter_fully_reserved ,
264                 period_counter_fully_retired  ,
265                 production_capacity           ,
266                 reval_amortization_basis      ,
267                 reval_ceiling                 ,
268                 unit_of_measure               ,
269                 unrevalued_cost               ,
270                 annual_deprn_rounding_flag    ,
271                 percent_salvage_value         ,
272                 allowed_deprn_limit           ,
273                 allowed_deprn_limit_amount    ,
274                 period_counter_life_complete  ,
275                 adjusted_recoverable_cost     ,
276                 annual_rounding_flag          ,
277                 eofy_adj_cost                 ,
278                 eofy_formula_factor           ,
279                 short_fiscal_year_flag        ,
280                 conversion_date               ,
281                 ORIGINAL_DEPRN_START_DATE     ,
282                 remaining_life1               ,
283                 remaining_life2               ,
284                 group_asset_id                ,
285                 old_adjusted_cost             ,
286                 formula_factor                ,
287                 global_attribute1             ,
288                 global_attribute2             ,
289                 global_attribute3             ,
290                 global_attribute4             ,
291                 global_attribute5             ,
292                 global_attribute6             ,
293                 global_attribute7             ,
294                 global_attribute8             ,
295                 global_attribute9             ,
296                 global_attribute10            ,
297                 global_attribute11            ,
298                 global_attribute12            ,
299                 global_attribute13            ,
300                 global_attribute14            ,
301                 global_attribute15            ,
302                 global_attribute16            ,
303                 global_attribute17            ,
304                 global_attribute18            ,
305                 global_attribute19            ,
306                 global_attribute20            ,
307                 global_attribute_category     ,
308                 salvage_type                  ,
309                 deprn_limit_type              ,
310                 over_depreciate_option        ,
311                 super_group_id                ,
312                 reduction_rate                ,
313                 reduce_addition_flag          ,
314                 reduce_adjustment_flag        ,
315                 reduce_retirement_flag        ,
316                 recognize_gain_loss           ,
317                 recapture_reserve_flag        ,
318                 limit_proceeds_flag           ,
319                 terminal_gain_loss            ,
320                 tracking_method               ,
321                 allocate_to_fully_rsv_flag    ,
322                 allocate_to_fully_ret_flag    ,
323                 exclude_fully_rsv_flag        ,
324                 excess_allocation_option      ,
325                 depreciation_option           ,
326                 member_rollup_flag            ,
327                 ytd_proceeds                  ,
328                 ltd_proceeds                  ,
329                 eofy_reserve                   ,
330                 cip_cost                      ,
331                 terminal_gain_loss_amount     ,
332                 ltd_cost_of_removal           ,
333                 exclude_proceeds_from_basis   ,
334                 retirement_deprn_option       ,
335                 contract_id, -- Bug:6021567
336 		extended_deprn_flag           ,   -- Japan Tax phase3
337 		extended_depreciation_period  ,   -- Japan Tax phase3
338 		period_counter_fully_extended     -- Japan Tax phase3
339            into px_asset_fin_rec.date_placed_in_service        ,
340                 px_asset_fin_rec.deprn_start_date              ,
341                 px_asset_fin_rec.deprn_method_code             ,
342                 px_asset_fin_rec.life_in_months                ,
343                 px_asset_fin_rec.rate_adjustment_factor        ,
344                 px_asset_fin_rec.adjusted_cost                 ,
345                 px_asset_fin_rec.cost                          ,
346                 px_asset_fin_rec.original_cost                 ,
347                 px_asset_fin_rec.salvage_value                 ,
348                 px_asset_fin_rec.prorate_convention_code       ,
349                 px_asset_fin_rec.prorate_date                  ,
350                 px_asset_fin_rec.cost_change_flag              ,
351                 px_asset_fin_rec.adjustment_required_status    ,
352                 px_asset_fin_rec.capitalize_flag               ,
353                 px_asset_fin_rec.retirement_pending_flag       ,
354                 px_asset_fin_rec.depreciate_flag               ,
355                 px_asset_fin_rec.disabled_flag                 , /* HH group ed */
356                 px_asset_fin_rec.itc_amount_id                 ,
357                 px_asset_fin_rec.itc_amount                    ,
358                 px_asset_fin_rec.retirement_id                 ,
359                 px_asset_fin_rec.tax_request_id                ,
360                 px_asset_fin_rec.itc_basis                     ,
361                 px_asset_fin_rec.basic_rate                    ,
362                 px_asset_fin_rec.adjusted_rate                 ,
363                 px_asset_fin_rec.bonus_rule                    ,
364                 px_asset_fin_rec.ceiling_name                  ,
365                 px_asset_fin_rec.recoverable_cost              ,
366                 px_asset_fin_rec.adjusted_capacity             ,
367                 px_asset_fin_rec.fully_rsvd_revals_counter     ,
368                 px_asset_fin_rec.idled_flag                    ,
369                 px_asset_fin_rec.period_counter_capitalized    ,
370                 px_asset_fin_rec.period_counter_fully_reserved ,
371                 px_asset_fin_rec.period_counter_fully_retired  ,
372                 px_asset_fin_rec.production_capacity           ,
373                 px_asset_fin_rec.reval_amortization_basis      ,
374                 px_asset_fin_rec.reval_ceiling                 ,
375                 px_asset_fin_rec.unit_of_measure               ,
376                 px_asset_fin_rec.unrevalued_cost               ,
377                 px_asset_fin_rec.annual_deprn_rounding_flag    ,
378                 px_asset_fin_rec.percent_salvage_value         ,
379                 px_asset_fin_rec.allowed_deprn_limit           ,
380                 px_asset_fin_rec.allowed_deprn_limit_amount    ,
381                 px_asset_fin_rec.period_counter_life_complete  ,
382                 px_asset_fin_rec.adjusted_recoverable_cost     ,
383                 px_asset_fin_rec.annual_rounding_flag          ,
384                 px_asset_fin_rec.eofy_adj_cost                 ,
385                 px_asset_fin_rec.eofy_formula_factor           ,
386                 px_asset_fin_rec.short_fiscal_year_flag        ,
387                 px_asset_fin_rec.conversion_date               ,
388                 px_asset_fin_rec.orig_deprn_start_date         ,
389                 px_asset_fin_rec.remaining_life1               ,
390                 px_asset_fin_rec.remaining_life2               ,
391                 px_asset_fin_rec.group_asset_id                ,
392                 px_asset_fin_rec.old_adjusted_cost             ,
393                 px_asset_fin_rec.formula_factor                ,
394                 px_asset_fin_rec.global_attribute1            ,
395                 px_asset_fin_rec.global_attribute2            ,
396                 px_asset_fin_rec.global_attribute3            ,
397                 px_asset_fin_rec.global_attribute4            ,
398                 px_asset_fin_rec.global_attribute5            ,
399                 px_asset_fin_rec.global_attribute6            ,
400                 px_asset_fin_rec.global_attribute7            ,
401                 px_asset_fin_rec.global_attribute8            ,
402                 px_asset_fin_rec.global_attribute9            ,
403                 px_asset_fin_rec.global_attribute10           ,
404                 px_asset_fin_rec.global_attribute11           ,
405                 px_asset_fin_rec.global_attribute12           ,
406                 px_asset_fin_rec.global_attribute13           ,
407                 px_asset_fin_rec.global_attribute14           ,
408                 px_asset_fin_rec.global_attribute15           ,
409                 px_asset_fin_rec.global_attribute16           ,
410                 px_asset_fin_rec.global_attribute17           ,
411                 px_asset_fin_rec.global_attribute18           ,
412                 px_asset_fin_rec.global_attribute19           ,
413                 px_asset_fin_rec.global_attribute20           ,
414                 px_asset_fin_rec.global_attribute_category    ,
415                 px_asset_fin_rec.salvage_type                 ,
416                 px_asset_fin_rec.deprn_limit_type             ,
417                 px_asset_fin_rec.over_depreciate_option       ,
418                 px_asset_fin_rec.super_group_id               ,
419                 px_asset_fin_rec.reduction_rate               ,
420                 px_asset_fin_rec.reduce_addition_flag         ,
421                 px_asset_fin_rec.reduce_adjustment_flag       ,
422                 px_asset_fin_rec.reduce_retirement_flag       ,
423                 px_asset_fin_rec.recognize_gain_loss          ,
424                 px_asset_fin_rec.recapture_reserve_flag       ,
425                 px_asset_fin_rec.limit_proceeds_flag          ,
426                 px_asset_fin_rec.terminal_gain_loss           ,
427                 px_asset_fin_rec.tracking_method              ,
428                 px_asset_fin_rec.allocate_to_fully_rsv_flag   ,
429                 px_asset_fin_rec.allocate_to_fully_ret_flag   ,
430                 px_asset_fin_rec.exclude_fully_rsv_flag       ,
431                 px_asset_fin_rec.excess_allocation_option     ,
432                 px_asset_fin_rec.depreciation_option          ,
433                 px_asset_fin_rec.member_rollup_flag           ,
434                 px_asset_fin_rec.ytd_proceeds                 ,
435                 px_asset_fin_rec.ltd_proceeds                 ,
436                 px_asset_fin_rec.eofy_reserve                 ,
437                 px_asset_fin_rec.cip_cost                     ,
438                 px_asset_fin_rec.terminal_gain_loss_amount    ,
439                 px_asset_fin_rec.ltd_cost_of_removal          ,
440                 px_asset_fin_rec.exclude_proceeds_from_basis  ,
441                 px_asset_fin_rec.retirement_deprn_option      ,
442                 px_asset_fin_rec.contract_id                  , -- Bug:6021567
443 		px_asset_fin_rec.extended_deprn_flag          ,   -- Japan Tax phase3
444 		px_asset_fin_rec.extended_depreciation_period ,   -- Japan Tax phase3
445                 px_asset_fin_rec.period_counter_fully_extended    -- Japan Tax phase3
446           from  fa_books
447           where asset_id                         = p_asset_hdr_rec.asset_id
448             and book_type_code                   = p_asset_hdr_rec.book_type_code
449             and transaction_header_id_out      is null;
450 
451        end if;
452 
453     else
454       if (nvl(p_mrc_sob_type_code, 'P') = 'R') then
455 
456          select date_placed_in_service        ,
457                 deprn_start_date              ,
458                 deprn_method_code             ,
459                 life_in_months                ,
460                 rate_adjustment_factor        ,
461                 adjusted_cost                 ,
462                 cost                          ,
463                 original_cost                 ,
464                 salvage_value                 ,
465                 prorate_convention_code       ,
466                 prorate_date                  ,
467                 cost_change_flag              ,
468                 adjustment_required_status    ,
469                 capitalize_flag               ,
470                 retirement_pending_flag       ,
471                 depreciate_flag               ,
472                 disabled_flag                 , /* HH group ed */
473                 itc_amount_id                 ,
474                 itc_amount                    ,
475                 retirement_id                 ,
476                 tax_request_id                ,
477                 itc_basis                     ,
478                 basic_rate                    ,
479                 adjusted_rate                 ,
480                 bonus_rule                    ,
481                 ceiling_name                  ,
482                 recoverable_cost              ,
483                 adjusted_capacity             ,
484                 fully_rsvd_revals_counter     ,
485                 idled_flag                    ,
486                 period_counter_capitalized    ,
487                 period_counter_fully_reserved ,
488                 period_counter_fully_retired  ,
489                 production_capacity           ,
490                 reval_amortization_basis      ,
491                 reval_ceiling                 ,
492                 unit_of_measure               ,
493                 unrevalued_cost               ,
494                 annual_deprn_rounding_flag    ,
495                 percent_salvage_value         ,
496                 allowed_deprn_limit           ,
497                 allowed_deprn_limit_amount    ,
498                 period_counter_life_complete  ,
499                 adjusted_recoverable_cost     ,
500                 annual_rounding_flag          ,
501                 eofy_adj_cost                 ,
502                 eofy_formula_factor           ,
503                 short_fiscal_year_flag        ,
504                 conversion_date               ,
505                 ORIGINAL_DEPRN_START_DATE     ,
506                 remaining_life1               ,
507                 remaining_life2               ,
508                 group_asset_id                ,
509                 old_adjusted_cost             ,
510                 formula_factor                ,
511                 global_attribute1             ,
512                 global_attribute2             ,
513                 global_attribute3             ,
514                 global_attribute4             ,
515                 global_attribute5             ,
516                 global_attribute6             ,
517                 global_attribute7             ,
518                 global_attribute8             ,
519                 global_attribute9             ,
520                 global_attribute10            ,
521                 global_attribute11            ,
522                 global_attribute12            ,
523                 global_attribute13            ,
524                 global_attribute14            ,
525                 global_attribute15            ,
526                 global_attribute16            ,
527                 global_attribute17            ,
528                 global_attribute18            ,
529                 global_attribute19            ,
530                 global_attribute20            ,
531                 global_attribute_category     ,
532                 salvage_type                  ,
533                 deprn_limit_type              ,
534                 over_depreciate_option        ,
535                 super_group_id                ,
536                 reduction_rate                ,
537                 reduce_addition_flag          ,
538                 reduce_adjustment_flag        ,
539                 reduce_retirement_flag        ,
540                 recognize_gain_loss           ,
541                 recapture_reserve_flag        ,
542                 limit_proceeds_flag           ,
543                 terminal_gain_loss            ,
544                 tracking_method               ,
545                 allocate_to_fully_rsv_flag    ,
546                 allocate_to_fully_ret_flag    ,
547                 exclude_fully_rsv_flag        ,
548                 excess_allocation_option      ,
549                 depreciation_option           ,
550                 member_rollup_flag            ,
551                 ytd_proceeds                  ,
552                 ltd_proceeds                  ,
553                 eofy_reserve                  ,
554                 cip_cost                      ,
555                 terminal_gain_loss_amount     ,
556                 ltd_cost_of_removal           ,
557                 exclude_proceeds_from_basis   ,
558                 retirement_deprn_option       ,
559                 contract_id -- Bug:6021567
560 		   into px_asset_fin_rec.date_placed_in_service        ,
561                 px_asset_fin_rec.deprn_start_date              ,
562                 px_asset_fin_rec.deprn_method_code             ,
563                 px_asset_fin_rec.life_in_months                ,
564                 px_asset_fin_rec.rate_adjustment_factor        ,
565                 px_asset_fin_rec.adjusted_cost                 ,
566                 px_asset_fin_rec.cost                          ,
567                 px_asset_fin_rec.original_cost                 ,
568                 px_asset_fin_rec.salvage_value                 ,
569                 px_asset_fin_rec.prorate_convention_code       ,
570                 px_asset_fin_rec.prorate_date                  ,
571                 px_asset_fin_rec.cost_change_flag              ,
572                 px_asset_fin_rec.adjustment_required_status    ,
573                 px_asset_fin_rec.capitalize_flag               ,
574                 px_asset_fin_rec.retirement_pending_flag       ,
575                 px_asset_fin_rec.depreciate_flag               ,
576                 px_asset_fin_rec.disabled_flag                 , /* HH group ed */
577                 px_asset_fin_rec.itc_amount_id                 ,
578                 px_asset_fin_rec.itc_amount                    ,
579                 px_asset_fin_rec.retirement_id                 ,
580                 px_asset_fin_rec.tax_request_id                ,
581                 px_asset_fin_rec.itc_basis                     ,
582                 px_asset_fin_rec.basic_rate                    ,
583                 px_asset_fin_rec.adjusted_rate                 ,
584                 px_asset_fin_rec.bonus_rule                    ,
585                 px_asset_fin_rec.ceiling_name                  ,
586                 px_asset_fin_rec.recoverable_cost              ,
587                 px_asset_fin_rec.adjusted_capacity             ,
588                 px_asset_fin_rec.fully_rsvd_revals_counter     ,
589                 px_asset_fin_rec.idled_flag                    ,
590                 px_asset_fin_rec.period_counter_capitalized    ,
591                 px_asset_fin_rec.period_counter_fully_reserved ,
592                 px_asset_fin_rec.period_counter_fully_retired  ,
593                 px_asset_fin_rec.production_capacity           ,
594                 px_asset_fin_rec.reval_amortization_basis      ,
595                 px_asset_fin_rec.reval_ceiling                 ,
596                 px_asset_fin_rec.unit_of_measure               ,
597                 px_asset_fin_rec.unrevalued_cost               ,
598                 px_asset_fin_rec.annual_deprn_rounding_flag    ,
599                 px_asset_fin_rec.percent_salvage_value         ,
600                 px_asset_fin_rec.allowed_deprn_limit           ,
601                 px_asset_fin_rec.allowed_deprn_limit_amount    ,
602                 px_asset_fin_rec.period_counter_life_complete  ,
603                 px_asset_fin_rec.adjusted_recoverable_cost     ,
604                 px_asset_fin_rec.annual_rounding_flag          ,
605                 px_asset_fin_rec.eofy_adj_cost                 ,
606                 px_asset_fin_rec.eofy_formula_factor           ,
607                 px_asset_fin_rec.short_fiscal_year_flag        ,
608                 px_asset_fin_rec.conversion_date               ,
609                 px_asset_fin_rec.orig_deprn_start_date         ,
610                 px_asset_fin_rec.remaining_life1               ,
611                 px_asset_fin_rec.remaining_life2               ,
612                 px_asset_fin_rec.group_asset_id                ,
613                 px_asset_fin_rec.old_adjusted_cost             ,
614                 px_asset_fin_rec.formula_factor                ,
615                 px_asset_fin_rec.global_attribute1            ,
616                 px_asset_fin_rec.global_attribute2            ,
617                 px_asset_fin_rec.global_attribute3            ,
618                 px_asset_fin_rec.global_attribute4            ,
619                 px_asset_fin_rec.global_attribute5            ,
620                 px_asset_fin_rec.global_attribute6            ,
621                 px_asset_fin_rec.global_attribute7            ,
622                 px_asset_fin_rec.global_attribute8            ,
623                 px_asset_fin_rec.global_attribute9            ,
624                 px_asset_fin_rec.global_attribute10           ,
625                 px_asset_fin_rec.global_attribute11           ,
626                 px_asset_fin_rec.global_attribute12           ,
627                 px_asset_fin_rec.global_attribute13           ,
628                 px_asset_fin_rec.global_attribute14           ,
629                 px_asset_fin_rec.global_attribute15           ,
630                 px_asset_fin_rec.global_attribute16           ,
631                 px_asset_fin_rec.global_attribute17           ,
632                 px_asset_fin_rec.global_attribute18           ,
633                 px_asset_fin_rec.global_attribute19           ,
634                 px_asset_fin_rec.global_attribute20           ,
635                 px_asset_fin_rec.global_attribute_category    ,
636                 px_asset_fin_rec.salvage_type                 ,
637                 px_asset_fin_rec.deprn_limit_type             ,
638                 px_asset_fin_rec.over_depreciate_option       ,
639                 px_asset_fin_rec.super_group_id               ,
640                 px_asset_fin_rec.reduction_rate               ,
641                 px_asset_fin_rec.reduce_addition_flag         ,
642                 px_asset_fin_rec.reduce_adjustment_flag       ,
643                 px_asset_fin_rec.reduce_retirement_flag       ,
644                 px_asset_fin_rec.recognize_gain_loss          ,
645                 px_asset_fin_rec.recapture_reserve_flag       ,
646                 px_asset_fin_rec.limit_proceeds_flag          ,
647                 px_asset_fin_rec.terminal_gain_loss           ,
648                 px_asset_fin_rec.tracking_method              ,
649                 px_asset_fin_rec.allocate_to_fully_rsv_flag   ,
650                 px_asset_fin_rec.allocate_to_fully_ret_flag   ,
651                 px_asset_fin_rec.exclude_fully_rsv_flag       ,
652                 px_asset_fin_rec.excess_allocation_option     ,
653                 px_asset_fin_rec.depreciation_option          ,
654                 px_asset_fin_rec.member_rollup_flag           ,
655                 px_asset_fin_rec.ytd_proceeds                 ,
656                 px_asset_fin_rec.ltd_proceeds                 ,
657                 px_asset_fin_rec.eofy_reserve                 ,
658                 px_asset_fin_rec.cip_cost                     ,
659                 px_asset_fin_rec.terminal_gain_loss_amount    ,
660                 px_asset_fin_rec.ltd_cost_of_removal          ,
661                 px_asset_fin_rec.exclude_proceeds_from_basis  ,
662                 px_asset_fin_rec.retirement_deprn_option      ,
663                 px_asset_fin_rec.contract_id -- Bug:6021567
664 		   from fa_books_mrc_v
665           where asset_id                         = p_asset_hdr_rec.asset_id
666             and book_type_code                   = p_asset_hdr_rec.book_type_code
667             and transaction_header_id_in         = p_transaction_header_id;
668       else
669          select date_placed_in_service        ,
670                 deprn_start_date              ,
671                 deprn_method_code             ,
672                 life_in_months                ,
673                 rate_adjustment_factor        ,
674                 adjusted_cost                 ,
675                 cost                          ,
676                 original_cost                 ,
677                 salvage_value                 ,
678                 prorate_convention_code       ,
679                 prorate_date                  ,
680                 cost_change_flag              ,
681                 adjustment_required_status    ,
682                 capitalize_flag               ,
683                 retirement_pending_flag       ,
684                 depreciate_flag               ,
685                 disabled_flag                 , /* HH group ed */
686                 itc_amount_id                 ,
687                 itc_amount                    ,
688                 retirement_id                 ,
689                 tax_request_id                ,
690                 itc_basis                     ,
691                 basic_rate                    ,
692                 adjusted_rate                 ,
693                 bonus_rule                    ,
694                 ceiling_name                  ,
695                 recoverable_cost              ,
696                 adjusted_capacity             ,
697                 fully_rsvd_revals_counter     ,
698                 idled_flag                    ,
699                 period_counter_capitalized    ,
700                 period_counter_fully_reserved ,
701                 period_counter_fully_retired  ,
702                 production_capacity           ,
703                 reval_amortization_basis      ,
704                 reval_ceiling                 ,
705                 unit_of_measure               ,
706                 unrevalued_cost               ,
707                 annual_deprn_rounding_flag    ,
708                 percent_salvage_value         ,
709                 allowed_deprn_limit           ,
710                 allowed_deprn_limit_amount    ,
711                 period_counter_life_complete  ,
712                 adjusted_recoverable_cost     ,
713                 annual_rounding_flag          ,
714                 eofy_adj_cost                 ,
715                 eofy_formula_factor           ,
716                 short_fiscal_year_flag        ,
717                 conversion_date               ,
718                 ORIGINAL_DEPRN_START_DATE     ,
719                 remaining_life1               ,
720                 remaining_life2               ,
721                 group_asset_id                ,
722                 old_adjusted_cost             ,
723                 formula_factor                ,
724                 global_attribute1             ,
725                 global_attribute2             ,
726                 global_attribute3             ,
727                 global_attribute4             ,
728                 global_attribute5             ,
729                 global_attribute6             ,
730                 global_attribute7             ,
731                 global_attribute8             ,
732                 global_attribute9             ,
733                 global_attribute10            ,
734                 global_attribute11            ,
735                 global_attribute12            ,
736                 global_attribute13            ,
737                 global_attribute14            ,
738                 global_attribute15            ,
739                 global_attribute16            ,
740                 global_attribute17            ,
741                 global_attribute18            ,
742                 global_attribute19            ,
743                 global_attribute20            ,
744                 global_attribute_category     ,
745                 salvage_type                  ,
746                 deprn_limit_type              ,
747                 over_depreciate_option        ,
748                 super_group_id                ,
749                 reduction_rate                ,
750                 reduce_addition_flag          ,
751                 reduce_adjustment_flag        ,
752                 reduce_retirement_flag        ,
753                 recognize_gain_loss           ,
754                 recapture_reserve_flag        ,
755                 limit_proceeds_flag           ,
756                 terminal_gain_loss            ,
757                 tracking_method               ,
758                 allocate_to_fully_rsv_flag    ,
759                 allocate_to_fully_ret_flag    ,
760                 exclude_fully_rsv_flag        ,
761                 excess_allocation_option      ,
762                 depreciation_option           ,
763                 member_rollup_flag            ,
764                 ytd_proceeds                  ,
765                 ltd_proceeds                  ,
766                 eofy_reserve                  ,
767                 cip_cost                      ,
768                 terminal_gain_loss_amount     ,
769                 ltd_cost_of_removal           ,
770                 exclude_proceeds_from_basis   ,
771                 retirement_deprn_option       ,
772                 contract_id                   ,   -- Bug:6021567
773 		extended_deprn_flag           ,   -- Japan Tax phase3
774 		extended_depreciation_period  ,   -- Japan Tax phase3
775                 period_counter_fully_extended     -- Japan Tax phase3
776            into px_asset_fin_rec.date_placed_in_service        ,
777                 px_asset_fin_rec.deprn_start_date              ,
778                 px_asset_fin_rec.deprn_method_code             ,
779                 px_asset_fin_rec.life_in_months                ,
780                 px_asset_fin_rec.rate_adjustment_factor        ,
781                 px_asset_fin_rec.adjusted_cost                 ,
782                 px_asset_fin_rec.cost                          ,
783                 px_asset_fin_rec.original_cost                 ,
784                 px_asset_fin_rec.salvage_value                 ,
785                 px_asset_fin_rec.prorate_convention_code       ,
786                 px_asset_fin_rec.prorate_date                  ,
787                 px_asset_fin_rec.cost_change_flag              ,
788                 px_asset_fin_rec.adjustment_required_status    ,
789                 px_asset_fin_rec.capitalize_flag               ,
790                 px_asset_fin_rec.retirement_pending_flag       ,
791                 px_asset_fin_rec.depreciate_flag               ,
792                 px_asset_fin_rec.disabled_flag                 , /* HH group ed */
793                 px_asset_fin_rec.itc_amount_id                 ,
794                 px_asset_fin_rec.itc_amount                    ,
795                 px_asset_fin_rec.retirement_id                 ,
796                 px_asset_fin_rec.tax_request_id                ,
797                 px_asset_fin_rec.itc_basis                     ,
798                 px_asset_fin_rec.basic_rate                    ,
799                 px_asset_fin_rec.adjusted_rate                 ,
800                 px_asset_fin_rec.bonus_rule                    ,
801                 px_asset_fin_rec.ceiling_name                  ,
802                 px_asset_fin_rec.recoverable_cost              ,
803                 px_asset_fin_rec.adjusted_capacity             ,
804                 px_asset_fin_rec.fully_rsvd_revals_counter     ,
805                 px_asset_fin_rec.idled_flag                    ,
806                 px_asset_fin_rec.period_counter_capitalized    ,
807                 px_asset_fin_rec.period_counter_fully_reserved ,
808                 px_asset_fin_rec.period_counter_fully_retired  ,
809                 px_asset_fin_rec.production_capacity           ,
810                 px_asset_fin_rec.reval_amortization_basis      ,
811                 px_asset_fin_rec.reval_ceiling                 ,
812                 px_asset_fin_rec.unit_of_measure               ,
813                 px_asset_fin_rec.unrevalued_cost               ,
814                 px_asset_fin_rec.annual_deprn_rounding_flag    ,
815                 px_asset_fin_rec.percent_salvage_value         ,
816                 px_asset_fin_rec.allowed_deprn_limit           ,
817                 px_asset_fin_rec.allowed_deprn_limit_amount    ,
818                 px_asset_fin_rec.period_counter_life_complete  ,
819                 px_asset_fin_rec.adjusted_recoverable_cost     ,
820                 px_asset_fin_rec.annual_rounding_flag          ,
821                 px_asset_fin_rec.eofy_adj_cost                 ,
822                 px_asset_fin_rec.eofy_formula_factor           ,
823                 px_asset_fin_rec.short_fiscal_year_flag        ,
824                 px_asset_fin_rec.conversion_date               ,
825                 px_asset_fin_rec.orig_deprn_start_date         ,
826                 px_asset_fin_rec.remaining_life1               ,
827                 px_asset_fin_rec.remaining_life2               ,
828                 px_asset_fin_rec.group_asset_id                ,
829                 px_asset_fin_rec.old_adjusted_cost             ,
830                 px_asset_fin_rec.formula_factor                ,
831                 px_asset_fin_rec.global_attribute1            ,
832                 px_asset_fin_rec.global_attribute2            ,
833                 px_asset_fin_rec.global_attribute3            ,
834                 px_asset_fin_rec.global_attribute4            ,
835                 px_asset_fin_rec.global_attribute5            ,
836                 px_asset_fin_rec.global_attribute6            ,
837                 px_asset_fin_rec.global_attribute7            ,
838                 px_asset_fin_rec.global_attribute8            ,
839                 px_asset_fin_rec.global_attribute9            ,
840                 px_asset_fin_rec.global_attribute10           ,
841                 px_asset_fin_rec.global_attribute11           ,
842                 px_asset_fin_rec.global_attribute12           ,
843                 px_asset_fin_rec.global_attribute13           ,
844                 px_asset_fin_rec.global_attribute14           ,
845                 px_asset_fin_rec.global_attribute15           ,
846                 px_asset_fin_rec.global_attribute16           ,
847                 px_asset_fin_rec.global_attribute17           ,
848                 px_asset_fin_rec.global_attribute18           ,
849                 px_asset_fin_rec.global_attribute19           ,
850                 px_asset_fin_rec.global_attribute20           ,
851                 px_asset_fin_rec.global_attribute_category    ,
852                 px_asset_fin_rec.salvage_type                 ,
853                 px_asset_fin_rec.deprn_limit_type             ,
854                 px_asset_fin_rec.over_depreciate_option       ,
855                 px_asset_fin_rec.super_group_id               ,
856                 px_asset_fin_rec.reduction_rate               ,
857                 px_asset_fin_rec.reduce_addition_flag         ,
858                 px_asset_fin_rec.reduce_adjustment_flag       ,
859                 px_asset_fin_rec.reduce_retirement_flag       ,
860                 px_asset_fin_rec.recognize_gain_loss          ,
861                 px_asset_fin_rec.recapture_reserve_flag       ,
862                 px_asset_fin_rec.limit_proceeds_flag          ,
863                 px_asset_fin_rec.terminal_gain_loss           ,
864                 px_asset_fin_rec.tracking_method              ,
865                 px_asset_fin_rec.allocate_to_fully_rsv_flag   ,
866                 px_asset_fin_rec.allocate_to_fully_ret_flag   ,
867                 px_asset_fin_rec.exclude_fully_rsv_flag       ,
868                 px_asset_fin_rec.excess_allocation_option     ,
869                 px_asset_fin_rec.depreciation_option          ,
870                 px_asset_fin_rec.member_rollup_flag           ,
871                 px_asset_fin_rec.ytd_proceeds                 ,
872                 px_asset_fin_rec.ltd_proceeds                 ,
873                 px_asset_fin_rec.eofy_reserve                 ,
874                 px_asset_fin_rec.cip_cost                     ,
875                 px_asset_fin_rec.terminal_gain_loss_amount    ,
876                 px_asset_fin_rec.ltd_cost_of_removal          ,
877                 px_asset_fin_rec.exclude_proceeds_from_basis  ,
878                 px_asset_fin_rec.retirement_deprn_option      ,
879                 px_asset_fin_rec.contract_id                  ,   -- Bug:6021567
880 		px_asset_fin_rec.extended_deprn_flag          ,   -- Japan Tax phase3
881 		px_asset_fin_rec.extended_depreciation_period ,   -- Japan Tax phase3
882                 px_asset_fin_rec.period_counter_fully_extended    -- Japan Tax phase3
883           from  fa_books
884           where asset_id                         = p_asset_hdr_rec.asset_id
885             and book_type_code                   = p_asset_hdr_rec.book_type_code
886             and transaction_header_id_in         = p_transaction_header_id;
887 
888        end if;
889 
890 
891     end if; --(p_transaction_header_id is null)
892 
893     return true;
894 
895 EXCEPTION
896   when error_found then
897      fa_srvr_msg.add_message(calling_fn => 'fa_util_pvt.get_asset_fin_rec'
898           ,p_log_level_rec => p_log_level_rec);
899      return false;
900 
901   when others then
902      fa_srvr_msg.add_sql_error(calling_fn => 'fa_util_pvt.get_asset_fin_rec'
903           ,p_log_level_rec => p_log_level_rec);
904      return false;
905 
906 END get_asset_fin_rec;
907 
908 
909 FUNCTION get_asset_deprn_rec
910    (p_asset_hdr_rec         IN     FA_API_TYPES.asset_hdr_rec_type,
911     px_asset_deprn_rec      IN OUT NOCOPY FA_API_TYPES.asset_deprn_rec_type,
912     p_period_counter        IN     FA_DEPRN_SUMMARY.period_counter%TYPE DEFAULT NULL,
913     p_mrc_sob_type_code     IN     VARCHAR2,
914     p_log_level_rec         IN     FA_API_TYPES.log_level_rec_type default null) RETURN BOOLEAN IS
915 
916    l_dpr         FA_STD_TYPES.FA_DEPRN_ROW_STRUCT;
917    l_status      BOOLEAN;
918    error_found   EXCEPTION;
919 
920 BEGIN
921 
922    l_dpr.asset_id   := p_asset_hdr_rec.asset_id;
923    l_dpr.book       := p_asset_hdr_rec.book_type_code;
924    l_dpr.period_ctr := nvl(p_period_counter, 0);
925    l_dpr.dist_id    := 0;
926    l_dpr.mrc_sob_type_code := p_mrc_sob_type_code;
927 
928    fa_query_balances_pkg.query_balances_int(
929                            X_DPR_ROW               => l_dpr,
930                            X_RUN_MODE              => 'STANDARD',
931                            X_DEBUG                 => FALSE,
932                            X_SUCCESS               => l_status,
933                            X_CALLING_FN            => 'FA_UTIL_PVT.get_asset_deprn_rec',
934                            X_TRANSACTION_HEADER_ID => -1,
935                            p_log_level_rec         => p_log_level_rec);
936 
937    if (NOT l_status) then
938       raise error_found;
939    end if;
940 
941    px_asset_deprn_rec.deprn_amount             := l_dpr.deprn_exp  ;
942    px_asset_deprn_rec.ytd_deprn                := l_dpr.ytd_deprn  ;
943    px_asset_deprn_rec.deprn_reserve            := l_dpr.deprn_rsv  ;
944    px_asset_deprn_rec.prior_fy_expense         := l_dpr.prior_fy_exp  ;
945    px_asset_deprn_rec.bonus_deprn_amount       := l_dpr.bonus_deprn_amount  ;
946    px_asset_deprn_rec.bonus_ytd_deprn          := l_dpr.bonus_ytd_deprn  ;
947    px_asset_deprn_rec.bonus_deprn_reserve      := l_dpr.bonus_deprn_rsv  ;
948    px_asset_deprn_rec.prior_fy_bonus_expense   := l_dpr.prior_fy_bonus_exp  ;
949    px_asset_deprn_rec.reval_amortization       := l_dpr.reval_amo  ;
950    px_asset_deprn_rec.reval_amortization_basis := l_dpr.reval_amo_basis  ;
951    px_asset_deprn_rec.reval_deprn_expense      := l_dpr.reval_deprn_exp  ;
952    px_asset_deprn_rec.reval_ytd_deprn          := l_dpr.ytd_reval_deprn_exp  ;
953    px_asset_deprn_rec.reval_deprn_reserve      := l_dpr.reval_rsv  ;
954    px_asset_deprn_rec.production               := l_dpr.prod  ;
955    px_asset_deprn_rec.ytd_production           := l_dpr.ytd_prod  ;
956    px_asset_deprn_rec.ltd_production           := l_dpr.ltd_prod  ;
957 
958    return true;
959 
960 EXCEPTION
961   when error_found then
962      fa_srvr_msg.add_message(calling_fn => 'fa_util_pvt.get_asset_deprn_rec'
963           ,p_log_level_rec => p_log_level_rec);
964      return false;
965 
966   when others then
967      fa_srvr_msg.add_sql_error(calling_fn => 'fa_util_pvt.get_asset_deprn_rec'
968           ,p_log_level_rec => p_log_level_rec);
969      return false;
970 
971 END get_asset_deprn_rec;
972 
973 
974 
975 FUNCTION get_asset_cat_rec
976    (p_asset_hdr_rec         IN     FA_API_TYPES.asset_hdr_rec_type,
977     px_asset_cat_rec        IN OUT NOCOPY FA_API_TYPES.asset_cat_rec_type,
978     p_date_effective        IN     FA_ASSET_HISTORY.date_effective%TYPE DEFAULT NULL,
979     p_log_level_rec         IN     FA_API_TYPES.log_level_rec_type default null) RETURN BOOLEAN IS
980 
981    l_asset_category_id   FA_ADDITIONS.asset_category_id%TYPE;
982 
983 BEGIN
984 
985     select ah.category_id,
986            ad.asset_category_id,
987            ad.ATTRIBUTE1 ,
988            ad.ATTRIBUTE2 ,
989            ad.ATTRIBUTE3 ,
990            ad.ATTRIBUTE4 ,
991            ad.ATTRIBUTE5 ,
992            ad.ATTRIBUTE6 ,
993            ad.ATTRIBUTE7 ,
994            ad.ATTRIBUTE8 ,
995            ad.ATTRIBUTE9 ,
996            ad.ATTRIBUTE10,
997            ad.ATTRIBUTE11,
998            ad.ATTRIBUTE12,
999            ad.ATTRIBUTE13,
1000            ad.ATTRIBUTE14,
1001            ad.ATTRIBUTE15,
1002            ad.ATTRIBUTE16,
1003            ad.ATTRIBUTE17,
1004            ad.ATTRIBUTE18,
1005            ad.ATTRIBUTE19,
1006            ad.ATTRIBUTE20,
1007            ad.ATTRIBUTE21,
1008            ad.ATTRIBUTE22,
1009            ad.ATTRIBUTE23,
1010            ad.ATTRIBUTE24,
1011            ad.ATTRIBUTE25,
1012            ad.ATTRIBUTE26,
1013            ad.ATTRIBUTE27,
1014            ad.ATTRIBUTE28,
1015            ad.ATTRIBUTE29,
1016            ad.ATTRIBUTE30,
1017            ad.ATTRIBUTE_CATEGORY_CODE,
1018            ad.CONTEXT
1019       into px_asset_cat_rec.category_id,
1020            l_asset_category_id,
1021            px_asset_cat_rec.desc_flex.attribute1,
1022            px_asset_cat_rec.desc_flex.attribute2,
1023            px_asset_cat_rec.desc_flex.attribute3,
1024            px_asset_cat_rec.desc_flex.attribute4,
1025            px_asset_cat_rec.desc_flex.attribute5,
1026            px_asset_cat_rec.desc_flex.attribute6,
1027            px_asset_cat_rec.desc_flex.attribute7,
1028            px_asset_cat_rec.desc_flex.attribute8,
1029            px_asset_cat_rec.desc_flex.attribute9,
1030            px_asset_cat_rec.desc_flex.attribute10,
1031            px_asset_cat_rec.desc_flex.attribute11,
1032            px_asset_cat_rec.desc_flex.attribute12,
1033            px_asset_cat_rec.desc_flex.attribute13,
1034            px_asset_cat_rec.desc_flex.attribute14,
1035            px_asset_cat_rec.desc_flex.attribute15,
1036            px_asset_cat_rec.desc_flex.attribute16,
1037            px_asset_cat_rec.desc_flex.attribute17,
1038            px_asset_cat_rec.desc_flex.attribute18,
1039            px_asset_cat_rec.desc_flex.attribute19,
1040            px_asset_cat_rec.desc_flex.attribute20,
1041            px_asset_cat_rec.desc_flex.attribute21,
1042            px_asset_cat_rec.desc_flex.attribute22,
1043            px_asset_cat_rec.desc_flex.attribute23,
1044            px_asset_cat_rec.desc_flex.attribute24,
1045            px_asset_cat_rec.desc_flex.attribute25,
1046            px_asset_cat_rec.desc_flex.attribute26,
1047            px_asset_cat_rec.desc_flex.attribute27,
1048            px_asset_cat_rec.desc_flex.attribute28,
1049            px_asset_cat_rec.desc_flex.attribute29,
1050            px_asset_cat_rec.desc_flex.attribute30,
1051            px_asset_cat_rec.desc_flex.attribute_category_code,
1052            px_asset_cat_rec.desc_flex.context
1053      from fa_additions_b   ad,
1054           fa_asset_history ah
1055     where ad.asset_id = p_asset_hdr_rec.asset_id
1056       and ad.asset_id = ah.asset_id
1057       and ((p_date_effective is null and
1058             ah.date_ineffective is null) or
1059            (p_date_effective is not null and
1060             p_date_effective between
1061                 ah.date_effective and nvl(ah.date_ineffective, sysdate)));
1062 
1063     /*  null out the descriptive flex if the asset was reclassed out
1064      *  of the category being returned
1065      */
1066     if (px_asset_cat_rec.category_id <> l_asset_category_id) then
1067         px_asset_cat_rec.desc_flex := NULL;
1068     end if;
1069 
1070 
1071     return true;
1072 
1073 EXCEPTION
1074   when others then
1075      fa_srvr_msg.add_sql_error(calling_fn => 'fa_util_pvt.get_asset_cat_rec'
1076           ,p_log_level_rec => p_log_level_rec);
1077      return false;
1078 
1079 END get_asset_cat_rec;
1080 
1081 
1082 
1083 FUNCTION get_asset_type_rec
1084    (p_asset_hdr_rec         IN     FA_API_TYPES.asset_hdr_rec_type,
1085     px_asset_type_rec       IN OUT NOCOPY FA_API_TYPES.asset_type_rec_type,
1086     p_date_effective        IN     FA_ASSET_HISTORY.date_effective%TYPE DEFAULT NULL,
1087     p_log_level_rec         IN     FA_API_TYPES.log_level_rec_type default null) RETURN BOOLEAN IS
1088 
1089 BEGIN
1090 
1091    select ah.asset_type
1092      into px_asset_type_rec.asset_type
1093      from fa_additions_b   ad,
1094           fa_asset_history ah
1095     where ad.asset_id = p_asset_hdr_rec.asset_id
1096       and ad.asset_id = ah.asset_id
1097       and (ah.date_effective =  nvl(p_date_effective, to_date('01/01/0001', 'DD/MM/YYYY')) or
1098            ah.date_ineffective is null);
1099 
1100 
1101    return true;
1102 
1103 EXCEPTION
1104   when others then
1105      fa_srvr_msg.add_sql_error(calling_fn => 'fa_util_pvt.get_asset_type_rec'
1106           ,p_log_level_rec => p_log_level_rec);
1107      return false;
1108 
1109 END get_asset_type_rec;
1110 
1111 
1112 FUNCTION get_asset_desc_rec
1113    (p_asset_hdr_rec         IN     FA_API_TYPES.asset_hdr_rec_type,
1114     px_asset_desc_rec       IN OUT NOCOPY FA_API_TYPES.asset_desc_rec_type,
1115     p_log_level_rec         IN     FA_API_TYPES.log_level_rec_type default null) RETURN BOOLEAN IS
1116 
1117 BEGIN
1118 
1119    select asset_number         ,
1120           description          ,
1121           tag_number           ,
1122           serial_number        ,
1123           asset_key_ccid       ,
1124           parent_asset_id      ,
1125           attribute15          , -- status               ,
1126           manufacturer_name    ,
1127           model_number         ,
1128           null                 , -- warranty_number      ,
1129           lease_id             ,
1130           in_use_flag          ,
1131           inventorial          ,
1132           property_type_code   ,
1133           property_1245_1250_code  ,
1134           owned_leased         ,
1135           new_used             ,
1136           current_units        ,
1137           unit_adjustment_flag ,
1138           add_cost_je_flag     ,
1139           null, -- ls_attribute1        ,
1140           null, -- ls_attribute2        ,
1141           null, -- ls_attribute3        ,
1142           null, -- ls_attribute4        ,
1143           null, -- ls_attribute5        ,
1144           null, -- ls_attribute6        ,
1145           null, -- ls_attribute7        ,
1146           null, -- ls_attribute8        ,
1147           null, -- ls_attribute9        ,
1148           null, -- ls_attribute10       ,
1149           null, -- ls_attribute11       ,
1150           null, -- ls_attribute12       ,
1151           null, -- ls_attribute13       ,
1152           null, -- ls_attribute14       ,
1153           null, -- ls_attribute15       ,
1154           null, -- ls_attribute_category_code,
1155           global_attribute1    ,
1156           global_attribute2    ,
1157           global_attribute3    ,
1158           global_attribute4    ,
1159           global_attribute5    ,
1160           global_attribute6    ,
1161           global_attribute7    ,
1162           global_attribute8    ,
1163           global_attribute9    ,
1164           global_attribute10   ,
1165           global_attribute11   ,
1166           global_attribute12   ,
1167           global_attribute13   ,
1168           global_attribute14   ,
1169           global_attribute15   ,
1170           global_attribute16   ,
1171           global_attribute17   ,
1172           global_attribute18   ,
1173           global_attribute19   ,
1174           global_attribute20   ,
1175           global_attribute_category,
1176 	  commitment, -- Bug:5372429
1177 	  investment_law -- Bug:5372429
1178      into px_asset_desc_rec.asset_number         ,
1179           px_asset_desc_rec.description          ,
1180           px_asset_desc_rec.tag_number           ,
1181           px_asset_desc_rec.serial_number        ,
1182           px_asset_desc_rec.asset_key_ccid       ,
1183           px_asset_desc_rec.parent_asset_id      ,
1184           px_asset_desc_rec.status               ,
1185           px_asset_desc_rec.manufacturer_name    ,
1186           px_asset_desc_rec.model_number         ,
1187           px_asset_desc_rec.warranty_id          ,
1188           px_asset_desc_rec.lease_id             ,
1189           px_asset_desc_rec.in_use_flag          ,
1190           px_asset_desc_rec.inventorial          ,
1191           px_asset_desc_rec.property_type_code   ,
1192           px_asset_desc_rec.property_1245_1250_code,
1193           px_asset_desc_rec.owned_leased         ,
1194           px_asset_desc_rec.new_used             ,
1195           px_asset_desc_rec.current_units        ,
1196           px_asset_desc_rec.unit_adjustment_flag ,
1197           px_asset_desc_rec.add_cost_je_flag     ,
1198           px_asset_desc_rec.lease_desc_flex.attribute1,
1199           px_asset_desc_rec.lease_desc_flex.attribute2,
1200           px_asset_desc_rec.lease_desc_flex.attribute3,
1201           px_asset_desc_rec.lease_desc_flex.attribute4,
1202           px_asset_desc_rec.lease_desc_flex.attribute5,
1203           px_asset_desc_rec.lease_desc_flex.attribute6,
1204           px_asset_desc_rec.lease_desc_flex.attribute7,
1205           px_asset_desc_rec.lease_desc_flex.attribute8,
1206           px_asset_desc_rec.lease_desc_flex.attribute9,
1207           px_asset_desc_rec.lease_desc_flex.attribute10,
1208           px_asset_desc_rec.lease_desc_flex.attribute11,
1209           px_asset_desc_rec.lease_desc_flex.attribute12,
1210           px_asset_desc_rec.lease_desc_flex.attribute13,
1211           px_asset_desc_rec.lease_desc_flex.attribute14,
1212           px_asset_desc_rec.lease_desc_flex.attribute15,
1213           px_asset_desc_rec.lease_desc_flex.attribute_category_code,
1214           px_asset_desc_rec.global_desc_flex.attribute1,
1215           px_asset_desc_rec.global_desc_flex.attribute2,
1216           px_asset_desc_rec.global_desc_flex.attribute3,
1217           px_asset_desc_rec.global_desc_flex.attribute4,
1218           px_asset_desc_rec.global_desc_flex.attribute5,
1219           px_asset_desc_rec.global_desc_flex.attribute6,
1220           px_asset_desc_rec.global_desc_flex.attribute7,
1221           px_asset_desc_rec.global_desc_flex.attribute8,
1222           px_asset_desc_rec.global_desc_flex.attribute9,
1223           px_asset_desc_rec.global_desc_flex.attribute10,
1224           px_asset_desc_rec.global_desc_flex.attribute11,
1225           px_asset_desc_rec.global_desc_flex.attribute12,
1226           px_asset_desc_rec.global_desc_flex.attribute13,
1227           px_asset_desc_rec.global_desc_flex.attribute14,
1228           px_asset_desc_rec.global_desc_flex.attribute15,
1229           px_asset_desc_rec.global_desc_flex.attribute16,
1230           px_asset_desc_rec.global_desc_flex.attribute17,
1231           px_asset_desc_rec.global_desc_flex.attribute18,
1232           px_asset_desc_rec.global_desc_flex.attribute19,
1233           px_asset_desc_rec.global_desc_flex.attribute20,
1234           px_asset_desc_rec.global_desc_flex.attribute_category_code,
1235 	  px_asset_desc_rec.commitment, -- Bug:5372429
1236 	  px_asset_desc_rec.investment_law -- Bug:5372429
1237      from fa_additions_vl
1238     where asset_id = p_asset_hdr_rec.asset_id;
1239 
1240     -- Get lease since its not in the view
1241     begin
1242        if (px_asset_desc_rec.lease_id is not null) then
1243           select attribute1,
1244                  attribute2,
1245                  attribute3,
1246                  attribute4,
1247                  attribute5,
1248                  attribute6,
1249                  attribute7,
1250                  attribute8,
1251                  attribute9,
1252                  attribute10,
1253                  attribute11,
1254                  attribute12,
1255                  attribute13,
1256                  attribute14,
1257                  attribute15,
1258                  attribute_category_code
1259             into px_asset_desc_rec.lease_desc_flex.attribute1,
1260                  px_asset_desc_rec.lease_desc_flex.attribute2,
1261                  px_asset_desc_rec.lease_desc_flex.attribute3,
1262                  px_asset_desc_rec.lease_desc_flex.attribute4,
1263                  px_asset_desc_rec.lease_desc_flex.attribute5,
1264                  px_asset_desc_rec.lease_desc_flex.attribute6,
1265                  px_asset_desc_rec.lease_desc_flex.attribute7,
1266                  px_asset_desc_rec.lease_desc_flex.attribute8,
1267                  px_asset_desc_rec.lease_desc_flex.attribute9,
1268                  px_asset_desc_rec.lease_desc_flex.attribute10,
1269                  px_asset_desc_rec.lease_desc_flex.attribute11,
1270                  px_asset_desc_rec.lease_desc_flex.attribute12,
1271                  px_asset_desc_rec.lease_desc_flex.attribute13,
1272                  px_asset_desc_rec.lease_desc_flex.attribute14,
1273                  px_asset_desc_rec.lease_desc_flex.attribute15,
1274                  px_asset_desc_rec.lease_desc_flex.attribute_category_code
1275             from fa_leases
1276            where lease_id = px_asset_desc_rec.lease_id;
1277        end if;
1278 
1279     exception
1280        when no_data_found then null;
1281        when others then
1282           fa_srvr_msg.add_sql_error (
1283              calling_fn => 'fa_util_pvt.get_asset_desc_rec'
1284              ,p_log_level_rec => p_log_level_rec);
1285           return false;
1286     end;
1287 
1288     -- Get warranty_id since it's not in the view
1289     begin
1290        select warranty_id
1291        into   px_asset_desc_rec.warranty_id
1292        from   fa_add_warranties
1293        where  asset_id = p_asset_hdr_rec.asset_id
1294        and    date_ineffective is NULL;
1295     exception
1296        when no_data_found then
1297           px_asset_desc_rec.warranty_id := NULL;
1298        when others then
1299           fa_srvr_msg.add_sql_error (
1300              calling_fn => 'fa_util_pvt.get_asset_desc_rec'
1301              ,p_log_level_rec => p_log_level_rec);
1302           return false;
1303     end;
1304 
1305     return true;
1306 EXCEPTION
1307   when others then
1308      fa_srvr_msg.add_sql_error(calling_fn => 'fa_util_pvt.get_asset_desc_rec'
1309           ,p_log_level_rec => p_log_level_rec);
1310      return false;
1311 
1312 END get_asset_desc_rec;
1313 
1314 
1315 FUNCTION get_inv_rec
1316    (px_inv_rec              IN OUT NOCOPY FA_API_TYPES.inv_rec_type,
1317     p_mrc_sob_type_code     IN     VARCHAR2,
1318     p_inv_trans_rec         IN     FA_API_TYPES.inv_trans_rec_type DEFAULT NULL,
1319     p_log_level_rec         IN     FA_API_TYPES.log_level_rec_type default null) RETURN BOOLEAN IS
1320 
1321   l_dummy            number;
1322   error_found        EXCEPTION;
1323 
1324 BEGIN
1325 
1326    if (nvl(p_inv_trans_rec.transaction_type, 'X') = 'REINSTATEMENT') then
1327       if (p_mrc_sob_type_code = 'R') then
1328 
1329           select Po_Vendor_Id                   ,
1330                  Asset_Invoice_Id               ,
1331                  Fixed_Assets_Cost              , --
1332                  Deleted_Flag                   , --
1333                  Po_Number                      ,
1334                  Invoice_Number                 ,
1335                  Payables_Batch_Name            ,
1336                  Payables_Code_Combination_Id   ,
1337                  Feeder_System_Name             ,
1338                  Create_Batch_Date              ,
1339                  Create_Batch_Id                ,
1340                  Invoice_Date                   ,
1341                  Payables_Cost                  , --
1342                  Post_Batch_Id                  ,
1343                  Invoice_Id                     ,
1344                  Ap_Distribution_Line_Number    ,
1345                  Payables_Units                 ,
1346                  Split_Merged_Code              ,
1347                  Description                    ,
1348                  Parent_Mass_Addition_Id        ,
1349                  Attribute1                     ,
1350                  Attribute2                     ,
1351                  Attribute3                     ,
1352                  Attribute4                     ,
1353                  Attribute5                     ,
1354                  Attribute6                     ,
1355                  Attribute7                     ,
1356                  Attribute8                     ,
1357                  Attribute9                     ,
1358                  Attribute10                    ,
1359                  Attribute11                    ,
1360                  Attribute12                    ,
1361                  Attribute13                    ,
1362                  Attribute14                    ,
1363                  Attribute15                    ,
1364                  Attribute_Category_Code        ,
1365                  Unrevalued_Cost                , --
1366                  Merged_Code                    ,
1367                  Split_Code                     ,
1368                  Merge_Parent_Mass_Additions_Id ,
1369                  Split_Parent_Mass_Additions_Id ,
1370                  Project_Asset_Line_Id          ,
1371                  Project_Id                     ,
1372                  Task_Id                        ,
1373                  Depreciate_In_Group_Flag       ,
1374                  Material_Indicator_Flag        ,
1375                  NULL
1376             into px_inv_rec.Po_Vendor_Id                   ,
1377                  px_inv_rec.Asset_Invoice_Id               ,
1378                  px_inv_rec.Fixed_Assets_Cost              ,
1379                  px_inv_rec.Deleted_Flag                   ,
1380                  px_inv_rec.Po_Number                      ,
1381                  px_inv_rec.Invoice_Number                 ,
1382                  px_inv_rec.Payables_Batch_Name            ,
1383                  px_inv_rec.Payables_Code_Combination_Id   ,
1384                  px_inv_rec.Feeder_System_Name             ,
1385                  px_inv_rec.Create_Batch_Date              ,
1386                  px_inv_rec.Create_Batch_Id                ,
1387                  px_inv_rec.Invoice_Date                   ,
1388                  px_inv_rec.Payables_Cost                  ,
1389                  px_inv_rec.Post_Batch_Id                  ,
1390                  px_inv_rec.Invoice_Id                     ,
1391                  px_inv_rec.Ap_Distribution_Line_Number    ,
1392                  px_inv_rec.Payables_Units                 ,
1393                  px_inv_rec.Split_Merged_Code              ,
1394                  px_inv_rec.Description                    ,
1395                  px_inv_rec.Parent_Mass_Addition_Id        ,
1396                  px_inv_rec.Attribute1                     ,
1397                  px_inv_rec.Attribute2                     ,
1398                  px_inv_rec.Attribute3                     ,
1399                  px_inv_rec.Attribute4                     ,
1400                  px_inv_rec.Attribute5                     ,
1401                  px_inv_rec.Attribute6                     ,
1402                  px_inv_rec.Attribute7                     ,
1403                  px_inv_rec.Attribute8                     ,
1404                  px_inv_rec.Attribute9                     ,
1405                  px_inv_rec.Attribute10                    ,
1406                  px_inv_rec.Attribute11                    ,
1407                  px_inv_rec.Attribute12                    ,
1408                  px_inv_rec.Attribute13                    ,
1409                  px_inv_rec.Attribute14                    ,
1410                  px_inv_rec.Attribute15                    ,
1411                  px_inv_rec.Attribute_Category_Code        ,
1412                  px_inv_rec.Unrevalued_Cost                ,
1413                  px_inv_rec.Merged_Code                    ,
1414                  px_inv_rec.Split_Code                     ,
1415                  px_inv_rec.Merge_Parent_Mass_Additions_Id ,
1416                  px_inv_rec.Split_Parent_Mass_Additions_Id ,
1417                  px_inv_rec.Project_Asset_Line_Id          ,
1418                  px_inv_rec.Project_Id                     ,
1419                  px_inv_rec.Task_Id                        ,
1420                  px_inv_rec.Depreciate_In_Group_Flag       ,
1421                  px_inv_rec.Material_Indicator_Flag        ,
1422                  px_inv_rec.prior_source_line_id
1423             from fa_asset_invoices_mrc_v ai,
1424                  fa_invoice_transactions it
1425            where ai.source_line_id = px_inv_rec.source_line_id
1426              and it.invoice_transaction_id = ai.invoice_transaction_id_in
1427              and it.transaction_type = 'RETIREMENT';
1428 
1429    else
1430           select Po_Vendor_Id                   ,
1431                  Asset_Invoice_Id               ,
1432                  Fixed_Assets_Cost              , --
1433                  Deleted_Flag                   , --
1434                  Po_Number                      ,
1435                  Invoice_Number                 ,
1436                  Payables_Batch_Name            ,
1437                  Payables_Code_Combination_Id   ,
1438                  Feeder_System_Name             ,
1439                  Create_Batch_Date              ,
1440                  Create_Batch_Id                ,
1441                  Invoice_Date                   ,
1442                  Payables_Cost                  , --
1443                  Post_Batch_Id                  ,
1444                  Invoice_Id                     ,
1445                  Ap_Distribution_Line_Number    ,
1446                  Payables_Units                 ,
1447                  Split_Merged_Code              ,
1448                  Description                    ,
1449                  Parent_Mass_Addition_Id        ,
1450                  Attribute1                     ,
1451                  Attribute2                     ,
1452                  Attribute3                     ,
1453                  Attribute4                     ,
1454                  Attribute5                     ,
1455                  Attribute6                     ,
1456                  Attribute7                     ,
1457                  Attribute8                     ,
1458                  Attribute9                     ,
1459                  Attribute10                    ,
1460                  Attribute11                    ,
1461                  Attribute12                    ,
1462                  Attribute13                    ,
1463                  Attribute14                    ,
1464                  Attribute15                    ,
1465                  Attribute_Category_Code        ,
1466                  Unrevalued_Cost                , --
1467                  Merged_Code                    ,
1468                  Split_Code                     ,
1469                  Merge_Parent_Mass_Additions_Id ,
1470                  Split_Parent_Mass_Additions_Id ,
1471                  Project_Asset_Line_Id          ,
1472                  Project_Id                     ,
1473                  Task_Id                        ,
1474                  Source_Line_ID                 ,
1475                  Depreciate_In_Group_Flag       ,
1476                  Material_Indicator_Flag        ,
1477                  NULL
1478             into px_inv_rec.Po_Vendor_Id                   ,
1479                  px_inv_rec.Asset_Invoice_Id               ,
1480                  px_inv_rec.Fixed_Assets_Cost              ,
1481                  px_inv_rec.Deleted_Flag                   ,
1482                  px_inv_rec.Po_Number                      ,
1483                  px_inv_rec.Invoice_Number                 ,
1484                  px_inv_rec.Payables_Batch_Name            ,
1485                  px_inv_rec.Payables_Code_Combination_Id   ,
1486                  px_inv_rec.Feeder_System_Name             ,
1487                  px_inv_rec.Create_Batch_Date              ,
1488                  px_inv_rec.Create_Batch_Id                ,
1489                  px_inv_rec.Invoice_Date                   ,
1490                  px_inv_rec.Payables_Cost                  ,
1491                  px_inv_rec.Post_Batch_Id                  ,
1492                  px_inv_rec.Invoice_Id                     ,
1493                  px_inv_rec.Ap_Distribution_Line_Number    ,
1494                  px_inv_rec.Payables_Units                 ,
1495                  px_inv_rec.Split_Merged_Code              ,
1496                  px_inv_rec.Description                    ,
1497                  px_inv_rec.Parent_Mass_Addition_Id        ,
1498                  px_inv_rec.Attribute1                     ,
1499                  px_inv_rec.Attribute2                     ,
1500                  px_inv_rec.Attribute3                     ,
1501                  px_inv_rec.Attribute4                     ,
1502                  px_inv_rec.Attribute5                     ,
1503                  px_inv_rec.Attribute6                     ,
1504                  px_inv_rec.Attribute7                     ,
1505                  px_inv_rec.Attribute8                     ,
1506                  px_inv_rec.Attribute9                     ,
1507                  px_inv_rec.Attribute10                    ,
1508                  px_inv_rec.Attribute11                    ,
1509                  px_inv_rec.Attribute12                    ,
1510                  px_inv_rec.Attribute13                    ,
1511                  px_inv_rec.Attribute14                    ,
1512                  px_inv_rec.Attribute15                    ,
1513                  px_inv_rec.Attribute_Category_Code        ,
1514                  px_inv_rec.Unrevalued_Cost                ,
1515                  px_inv_rec.Merged_Code                    ,
1516                  px_inv_rec.Split_Code                     ,
1517                  px_inv_rec.Merge_Parent_Mass_Additions_Id ,
1518                  px_inv_rec.Split_Parent_Mass_Additions_Id ,
1519                  px_inv_rec.Project_Asset_Line_Id          ,
1520                  px_inv_rec.Project_Id                     ,
1521                  px_inv_rec.Task_Id                        ,
1522                  px_inv_rec.Source_Line_Id                 ,
1523                  px_inv_rec.Depreciate_In_Group_Flag       ,
1524                  px_inv_rec.Material_Indicator_Flag        ,
1525                  px_inv_rec.Prior_Source_Line_ID
1526             from fa_asset_invoices  ai,
1527                  fa_invoice_transactions it
1528            where ai.source_line_id = px_inv_rec.source_line_id
1529              and it.invoice_transaction_id = ai.invoice_transaction_id_in
1530              and it.transaction_type = 'RETIREMENT';
1531 
1532       end if;
1533    else -- non reinstatement
1534       if (p_mrc_sob_type_code = 'R') then
1535 
1536           select Po_Vendor_Id                   ,
1537                  Asset_Invoice_Id               ,
1538                  Fixed_Assets_Cost              , --
1539                  Deleted_Flag                   , --
1540                  Po_Number                      ,
1541                  Invoice_Number                 ,
1542                  Payables_Batch_Name            ,
1543                  Payables_Code_Combination_Id   ,
1544                  Feeder_System_Name             ,
1545                  Create_Batch_Date              ,
1546                  Create_Batch_Id                ,
1547                  Invoice_Date                   ,
1548                  Payables_Cost                  , --
1549                  Post_Batch_Id                  ,
1550                  Invoice_Id                     ,
1551                  Ap_Distribution_Line_Number    ,
1552                  Payables_Units                 ,
1553                  Split_Merged_Code              ,
1554                  Description                    ,
1555                  Parent_Mass_Addition_Id        ,
1556                  Attribute1                     ,
1557                  Attribute2                     ,
1558                  Attribute3                     ,
1559                  Attribute4                     ,
1560                  Attribute5                     ,
1561                  Attribute6                     ,
1562                  Attribute7                     ,
1563                  Attribute8                     ,
1564                  Attribute9                     ,
1565                  Attribute10                    ,
1566                  Attribute11                    ,
1567                  Attribute12                    ,
1568                  Attribute13                    ,
1569                  Attribute14                    ,
1570                  Attribute15                    ,
1571                  Attribute_Category_Code        ,
1572                  Unrevalued_Cost                , --
1573                  Merged_Code                    ,
1574                  Split_Code                     ,
1575                  Merge_Parent_Mass_Additions_Id ,
1576                  Split_Parent_Mass_Additions_Id ,
1577                  Project_Asset_Line_Id          ,
1578                  Project_Id                     ,
1579                  Task_Id                        ,
1580                  Depreciate_In_Group_Flag       ,
1581                  Material_Indicator_Flag        ,
1582                  NULL
1583             into px_inv_rec.Po_Vendor_Id                   ,
1584                  px_inv_rec.Asset_Invoice_Id               ,
1585                  px_inv_rec.Fixed_Assets_Cost              ,
1586                  px_inv_rec.Deleted_Flag                   ,
1587                  px_inv_rec.Po_Number                      ,
1588                  px_inv_rec.Invoice_Number                 ,
1589                  px_inv_rec.Payables_Batch_Name            ,
1590                  px_inv_rec.Payables_Code_Combination_Id   ,
1591                  px_inv_rec.Feeder_System_Name             ,
1592                  px_inv_rec.Create_Batch_Date              ,
1593                  px_inv_rec.Create_Batch_Id                ,
1594                  px_inv_rec.Invoice_Date                   ,
1595                  px_inv_rec.Payables_Cost                  ,
1596                  px_inv_rec.Post_Batch_Id                  ,
1597                  px_inv_rec.Invoice_Id                     ,
1598                  px_inv_rec.Ap_Distribution_Line_Number    ,
1599                  px_inv_rec.Payables_Units                 ,
1600                  px_inv_rec.Split_Merged_Code              ,
1601                  px_inv_rec.Description                    ,
1602                  px_inv_rec.Parent_Mass_Addition_Id        ,
1603                  px_inv_rec.Attribute1                     ,
1604                  px_inv_rec.Attribute2                     ,
1605                  px_inv_rec.Attribute3                     ,
1606                  px_inv_rec.Attribute4                     ,
1607                  px_inv_rec.Attribute5                     ,
1608                  px_inv_rec.Attribute6                     ,
1609                  px_inv_rec.Attribute7                     ,
1610                  px_inv_rec.Attribute8                     ,
1611                  px_inv_rec.Attribute9                     ,
1612                  px_inv_rec.Attribute10                    ,
1613                  px_inv_rec.Attribute11                    ,
1614                  px_inv_rec.Attribute12                    ,
1615                  px_inv_rec.Attribute13                    ,
1616                  px_inv_rec.Attribute14                    ,
1617                  px_inv_rec.Attribute15                    ,
1618                  px_inv_rec.Attribute_Category_Code        ,
1619                  px_inv_rec.Unrevalued_Cost                ,
1620                  px_inv_rec.Merged_Code                    ,
1621                  px_inv_rec.Split_Code                     ,
1622                  px_inv_rec.Merge_Parent_Mass_Additions_Id ,
1623                  px_inv_rec.Split_Parent_Mass_Additions_Id ,
1624                  px_inv_rec.Project_Asset_Line_Id          ,
1625                  px_inv_rec.Project_Id                     ,
1626                  px_inv_rec.Task_Id                        ,
1627                  px_inv_rec.Depreciate_In_Group_Flag       ,
1628                  px_inv_rec.Material_Indicator_Flag        ,
1629                  px_inv_rec.prior_source_line_id
1630             from fa_asset_invoices_mrc_v
1631            where source_line_id = px_inv_rec.source_line_id
1632              and date_ineffective is null;
1633 
1634       else
1635           select Po_Vendor_Id                   ,
1636                  Asset_Invoice_Id               ,
1637                  Fixed_Assets_Cost              , --
1638                  Deleted_Flag                   , --
1639                  Po_Number                      ,
1640                  Invoice_Number                 ,
1641                  Payables_Batch_Name            ,
1642                  Payables_Code_Combination_Id   ,
1643                  Feeder_System_Name             ,
1644                  Create_Batch_Date              ,
1645                  Create_Batch_Id                ,
1646                  Invoice_Date                   ,
1647                  Payables_Cost                  , --
1648                  Post_Batch_Id                  ,
1649                  Invoice_Id                     ,
1650                  Ap_Distribution_Line_Number    ,
1651                  Payables_Units                 ,
1652                  Split_Merged_Code              ,
1653                  Description                    ,
1654                  Parent_Mass_Addition_Id        ,
1655                  Attribute1                     ,
1656                  Attribute2                     ,
1657                  Attribute3                     ,
1658                  Attribute4                     ,
1659                  Attribute5                     ,
1660                  Attribute6                     ,
1661                  Attribute7                     ,
1662                  Attribute8                     ,
1663                  Attribute9                     ,
1664                  Attribute10                    ,
1665                  Attribute11                    ,
1666                  Attribute12                    ,
1667                  Attribute13                    ,
1668                  Attribute14                    ,
1669                  Attribute15                    ,
1670                  Attribute_Category_Code        ,
1671                  Unrevalued_Cost                , --
1672                  Merged_Code                    ,
1673                  Split_Code                     ,
1674                  Merge_Parent_Mass_Additions_Id ,
1675                  Split_Parent_Mass_Additions_Id ,
1676                  Project_Asset_Line_Id          ,
1677                  Project_Id                     ,
1678                  Task_Id                        ,
1679                  Source_Line_ID                 ,
1680                  Depreciate_In_Group_Flag       ,
1681                  Material_Indicator_Flag        ,
1682                  NULL
1683             into px_inv_rec.Po_Vendor_Id                   ,
1684                  px_inv_rec.Asset_Invoice_Id               ,
1685                  px_inv_rec.Fixed_Assets_Cost              ,
1686                  px_inv_rec.Deleted_Flag                   ,
1687                  px_inv_rec.Po_Number                      ,
1688                  px_inv_rec.Invoice_Number                 ,
1689                  px_inv_rec.Payables_Batch_Name            ,
1690                  px_inv_rec.Payables_Code_Combination_Id   ,
1691                  px_inv_rec.Feeder_System_Name             ,
1692                  px_inv_rec.Create_Batch_Date              ,
1693                  px_inv_rec.Create_Batch_Id                ,
1694                  px_inv_rec.Invoice_Date                   ,
1695                  px_inv_rec.Payables_Cost                  ,
1696                  px_inv_rec.Post_Batch_Id                  ,
1697                  px_inv_rec.Invoice_Id                     ,
1698                  px_inv_rec.Ap_Distribution_Line_Number    ,
1699                  px_inv_rec.Payables_Units                 ,
1700                  px_inv_rec.Split_Merged_Code              ,
1701                  px_inv_rec.Description                    ,
1702                  px_inv_rec.Parent_Mass_Addition_Id        ,
1703                  px_inv_rec.Attribute1                     ,
1704                  px_inv_rec.Attribute2                     ,
1705                  px_inv_rec.Attribute3                     ,
1706                  px_inv_rec.Attribute4                     ,
1707                  px_inv_rec.Attribute5                     ,
1708                  px_inv_rec.Attribute6                     ,
1709                  px_inv_rec.Attribute7                     ,
1710                  px_inv_rec.Attribute8                     ,
1711                  px_inv_rec.Attribute9                     ,
1712                  px_inv_rec.Attribute10                    ,
1713                  px_inv_rec.Attribute11                    ,
1714                  px_inv_rec.Attribute12                    ,
1715                  px_inv_rec.Attribute13                    ,
1716                  px_inv_rec.Attribute14                    ,
1717                  px_inv_rec.Attribute15                    ,
1718                  px_inv_rec.Attribute_Category_Code        ,
1719                  px_inv_rec.Unrevalued_Cost                ,
1720                  px_inv_rec.Merged_Code                    ,
1721                  px_inv_rec.Split_Code                     ,
1722                  px_inv_rec.Merge_Parent_Mass_Additions_Id ,
1723                  px_inv_rec.Split_Parent_Mass_Additions_Id ,
1724                  px_inv_rec.Project_Asset_Line_Id          ,
1725                  px_inv_rec.Project_Id                     ,
1726                  px_inv_rec.Task_Id                        ,
1727                  px_inv_rec.Source_Line_Id                 ,
1728                  px_inv_rec.Depreciate_In_Group_Flag       ,
1729                  px_inv_rec.Material_Indicator_Flag        ,
1730                  px_inv_rec.Prior_Source_Line_ID
1731             from fa_asset_invoices
1732            where source_line_id = px_inv_rec.source_line_id
1733              and date_ineffective is null;
1734 
1735       end if;
1736    end if;
1737 
1738    return true;
1739 
1740 EXCEPTION
1741   when error_found then
1742      fa_srvr_msg.add_message(calling_fn => 'fa_util_pvt.get_inv_rec'
1743           ,p_log_level_rec => p_log_level_rec);
1744      return false;
1745 
1746   when no_data_found then
1747      fa_srvr_msg.add_sql_error(calling_fn => 'fa_util_pvt.get_inv_rec'
1748           ,p_log_level_rec => p_log_level_rec);
1749      fa_srvr_msg.add_message(name       => 'FA_MASSADD_INVOICE',
1750                              token1     => 'SOURCE_LINE_ID',
1751                              value1     => px_inv_rec.source_line_id,
1752                              calling_fn => 'fa_util_pvt.get_inv_rec'
1753                              ,p_log_level_rec => p_log_level_rec);
1754      return false;
1755 
1756   when others then
1757      fa_srvr_msg.add_sql_error(calling_fn => 'fa_util_pvt.get_inv_rec'
1758           ,p_log_level_rec => p_log_level_rec);
1759      return false;
1760 
1761 END get_inv_rec;
1762 
1763 
1764 -----------------------------------------------------------------------------
1765 --  NAME         check_asset_key_req                                         |
1766 --                                                                           |
1767 --  FUNCTION     checks whether the asset key flexfield has any              |
1768 --               required segments                                           |
1769 --                                                                           |
1770 --               -- fdfkfa doesn't appear to allow you to                    |
1771 --                  check the required status of a column                    |
1772 --                  so hard coding this against FND.                         |
1773 -----------------------------------------------------------------------------
1774 
1775 FUNCTION check_asset_key_req
1776    (p_asset_key_chart_id  IN     NUMBER,
1777     p_asset_key_required     OUT NOCOPY BOOLEAN,
1778     p_calling_fn          IN     VARCHAR2,
1779     p_log_level_rec       IN     FA_API_TYPES.log_level_rec_type default null) RETURN BOOLEAN IS
1780 
1781    cursor asset_key_req is
1782    select 1
1783    from   fnd_id_flex_segments
1784    where  application_id = 140
1785    and    id_flex_code   = 'KEY#'
1786    and    id_flex_num    =  p_asset_key_chart_id
1787    and    required_flag  = 'Y';
1788 
1789    l_asset_key_segs_required      NUMBER := 0;
1790 
1791 BEGIN
1792 
1793    open asset_key_req;
1794    loop
1795 
1796       fetch asset_key_req into l_asset_key_segs_required;
1797 
1798       if (asset_key_req%NOTFOUND) then
1799          exit;
1800       end if;
1801    end loop;
1802    close asset_key_req;
1803 
1804    if (l_asset_key_segs_required > 0) then
1805        p_asset_key_required := TRUE;
1806    else
1807        p_asset_key_required := FALSE;
1808    end if;
1809 
1810    return TRUE;
1811 
1812 EXCEPTION
1813 
1814    when others then
1815       fa_srvr_msg.add_sql_error(
1816          calling_fn => 'fa_util_pvt.check_asset_key_req'
1817          ,p_log_level_rec => p_log_level_rec);
1818       return FALSE;
1819 
1820 END check_asset_key_req;
1821 
1822 
1823 FUNCTION get_current_units
1824    (p_calling_fn     in  VARCHAR2
1825    ,p_asset_id       in  NUMBER
1826    ,x_current_units  out NOCOPY NUMBER
1827    ,p_log_level_rec  IN     FA_API_TYPES.log_level_rec_type default null) return BOOLEAN IS
1828 
1829 BEGIN
1830 
1831    select units
1832    into x_current_units
1833    from fa_asset_history
1834    where asset_id = p_asset_id
1835      and date_ineffective is null;
1836 
1837    return TRUE;
1838 
1839 EXCEPTION
1840 
1841    when others then
1842 
1843       fa_srvr_msg.add_message(
1844          calling_fn => 'fa_util_pvt.get_current_units',
1845          name       => 'FA_SHARED_ACTION_TABLE',
1846          token1     => 'ACTION',
1847          value1     => 'SELECT',
1848          token2     => 'TABLE',
1849          value2     => 'FA_ASSET_HISTORY'
1850          ,p_log_level_rec => p_log_level_rec);
1851 
1852       return FALSE;
1853 
1854 END get_current_units;
1855 
1856 FUNCTION get_latest_trans_date
1857    (p_calling_fn          in  VARCHAR2
1858    ,p_asset_id            in  NUMBER
1859    ,p_book                in  VARCHAR2
1860    ,x_latest_trans_date   out NOCOPY DATE
1861    ,p_log_level_rec       IN     FA_API_TYPES.log_level_rec_type default null) return BOOLEAN IS
1862 
1863 BEGIN
1864 
1865    /* commenting for bug 3768867
1866    select max(transaction_date_entered)
1867    into x_latest_trans_date
1868    from fa_transaction_headers
1869    where asset_id = p_asset_id
1870    and book_type_code = p_book
1871    and transaction_type_code not in ('REINSTATEMENT','FULL RETIREMENT')
1872    and transaction_type_code not like '%/VOID';
1873    */
1874 
1875   -- added for bug 3768867
1876   select max(transaction_date_entered)
1877   into x_latest_trans_date
1878   from fa_transaction_headers
1879   where asset_id = p_asset_id
1880   and book_type_code = p_book
1881   and transaction_type_code in ('TAX', 'REVALUATION');
1882 
1883    return TRUE;
1884 
1885 EXCEPTION
1886    when others then
1887       fa_srvr_msg.add_message(
1888          calling_fn => 'fa_util_pvt.get_latest_trans_date',
1889          name       => 'FA_SHARED_ACTION_TABLE',
1890          token1     => 'ACTION',
1891          value1     => 'SELECT',
1892          token2     => 'TABLE',
1893          value2     => 'FA_TRANSACTION_HEADERS'
1894          ,p_log_level_rec => p_log_level_rec);
1895       return FALSE;
1896 
1897 END get_latest_trans_date;
1898 
1899 
1900 FUNCTION get_period_rec
1901    (p_book           in  varchar2
1902    ,p_period_counter in  number  default null
1903    ,p_effective_date in  date    default null
1904    ,x_period_rec     out NOCOPY FA_API_TYPES.period_rec_type
1905    ,p_log_level_rec           IN     FA_API_TYPES.log_level_rec_type default null) return BOOLEAN IS
1906 
1907    error_found    EXCEPTION;
1908 
1909 BEGIN
1910 
1911 /*
1912    -- call the cache for the book
1913    if not fa_cache_pkg.fazcbc(X_book => p_book
1914   ,p_log_level_rec => p_log_level_rec) then
1915         raise error_found;
1916    end if;
1917 */
1918 
1919    if not fa_cache_pkg.fazcdp
1920            (x_book_type_code => p_book,
1921             x_period_counter => p_period_counter,
1922             x_effective_date => p_effective_date,
1923             p_log_level_rec => p_log_level_rec) then
1924       raise error_found;
1925    end if;
1926 
1927    x_period_rec.period_counter := fa_cache_pkg.fazcdp_record.period_counter;
1928    x_period_rec.period_name    := fa_cache_pkg.fazcdp_record.period_name;
1929    x_period_rec.period_open_date := fa_cache_pkg.fazcdp_record.period_open_date;
1930    x_period_rec.period_close_date := fa_cache_pkg.fazcdp_record.period_close_date;
1931    x_period_rec.calendar_period_open_date := fa_cache_pkg.fazcdp_record.calendar_period_open_date;
1932    x_period_rec.calendar_period_close_date := fa_cache_pkg.fazcdp_record.calendar_period_close_date;
1933    x_period_rec.deprn_run := fa_cache_pkg.fazcdp_record.deprn_run;
1934    x_period_rec.fiscal_year := fa_cache_pkg.fazcdp_record.fiscal_year;
1935    x_period_rec.period_num := fa_cache_pkg.fazcdp_record.period_num;
1936 
1937    if not fa_cache_pkg.fazcfy
1938           (X_fiscal_year_name => fa_cache_pkg.fazcbc_record.fiscal_year_name,
1939            X_fiscal_year => x_period_rec.fiscal_year
1940            ,p_log_level_rec => p_log_level_rec) then
1941       raise error_found;
1942    end if;
1943 
1944    x_period_rec.fy_start_date := fa_cache_pkg.fazcfy_record.start_date;
1945    x_period_rec.fy_end_date   := fa_cache_pkg.fazcfy_record.end_date;
1946 
1947    return TRUE;
1948 
1949 EXCEPTION
1950    when error_found then
1951       fa_srvr_msg.add_message(calling_fn => 'fa_util_pvt.get_period_rec'
1952             ,p_log_level_rec => p_log_level_rec);
1953       return false;
1954 
1955    when others then
1956       fa_srvr_msg.add_sql_error(calling_fn => 'fa_util_pvt.get_period_rec'
1957             ,p_log_level_rec => p_log_level_rec);
1958       return false;
1959 
1960 END get_period_rec;
1961 
1962 
1963 FUNCTION get_asset_retire_rec
1964    (px_asset_retire_rec   in out NOCOPY FA_API_TYPES.asset_retire_rec_type,
1965     p_mrc_sob_type_code   IN     VARCHAR2
1966    ,p_log_level_rec       IN     FA_API_TYPES.log_level_rec_type default null) RETURN BOOLEAN IS
1967 
1968    error_found        EXCEPTION;
1969 
1970 BEGIN
1971 
1972    if (nvl(p_mrc_sob_type_code, 'P') = 'R') then
1973 
1974       select retirement_id
1975             ,asset_id
1976             ,book_type_code
1977             ,transaction_header_id_in
1978             ,date_retired
1979             ,cost_retired
1980             ,status
1981             ,retirement_prorate_convention
1982             ,transaction_header_id_out
1983             ,units
1984             ,cost_of_removal
1985             ,nbv_retired
1986             ,gain_loss_amount
1987             ,proceeds_of_sale
1988             ,gain_loss_type_code
1989             ,retirement_type_code
1990             ,itc_recaptured
1991             ,itc_recapture_id
1992             ,reference_num
1993             ,sold_to
1994             ,trade_in_asset_id
1995             ,stl_method_code
1996             ,stl_life_in_months
1997             ,stl_deprn_amount
1998             ,attribute1
1999             ,attribute2
2000             ,attribute3
2001             ,attribute4
2002             ,attribute5
2003             ,attribute6
2004             ,attribute7
2005             ,attribute8
2006             ,attribute9
2007             ,attribute10
2008             ,attribute11
2009             ,attribute12
2010             ,attribute13
2011             ,attribute14
2012             ,attribute15
2013             ,attribute_category_code
2014             ,reval_reserve_retired
2015             ,unrevalued_cost_retired
2016             ,bonus_reserve_retired
2017             ,recognize_gain_loss
2018             ,recapture_reserve_flag
2019             ,limit_proceeds_flag
2020             ,terminal_gain_loss
2021             ,reserve_retired
2022             ,eofy_reserve
2023             ,reduction_rate
2024             ,recapture_amount
2025             ,rowid
2026       into
2027              px_asset_retire_rec.retirement_id
2028             ,px_asset_retire_rec.detail_info.asset_id
2029             ,px_asset_retire_rec.detail_info.book_type_code
2030             ,px_asset_retire_rec.detail_info.transaction_header_id_in
2031             ,px_asset_retire_rec.date_retired
2032             ,px_asset_retire_rec.cost_retired
2033             ,px_asset_retire_rec.status
2034             ,px_asset_retire_rec.retirement_prorate_convention
2035             ,px_asset_retire_rec.detail_info.transaction_header_id_out
2036             ,px_asset_retire_rec.units_retired
2037             ,px_asset_retire_rec.cost_of_removal
2038             ,px_asset_retire_rec.detail_info.nbv_retired
2039             ,px_asset_retire_rec.detail_info.gain_loss_amount
2040             ,px_asset_retire_rec.proceeds_of_sale
2041             ,px_asset_retire_rec.detail_info.gain_loss_type_code
2042             ,px_asset_retire_rec.retirement_type_code
2043             ,px_asset_retire_rec.detail_info.itc_recaptured
2044             ,px_asset_retire_rec.detail_info.itc_recapture_id
2045             ,px_asset_retire_rec.reference_num
2046             ,px_asset_retire_rec.sold_to
2047             ,px_asset_retire_rec.trade_in_asset_id
2048             ,px_asset_retire_rec.detail_info.stl_method_code
2049             ,px_asset_retire_rec.detail_info.stl_life_in_months
2050             ,px_asset_retire_rec.detail_info.stl_deprn_amount
2051             ,px_asset_retire_rec.desc_flex.attribute1
2052             ,px_asset_retire_rec.desc_flex.attribute2
2053             ,px_asset_retire_rec.desc_flex.attribute3
2054             ,px_asset_retire_rec.desc_flex.attribute4
2055             ,px_asset_retire_rec.desc_flex.attribute5
2056             ,px_asset_retire_rec.desc_flex.attribute6
2057             ,px_asset_retire_rec.desc_flex.attribute7
2058             ,px_asset_retire_rec.desc_flex.attribute8
2059             ,px_asset_retire_rec.desc_flex.attribute9
2060             ,px_asset_retire_rec.desc_flex.attribute10
2061             ,px_asset_retire_rec.desc_flex.attribute11
2062             ,px_asset_retire_rec.desc_flex.attribute12
2063             ,px_asset_retire_rec.desc_flex.attribute13
2064             ,px_asset_retire_rec.desc_flex.attribute14
2065             ,px_asset_retire_rec.desc_flex.attribute15
2066             ,px_asset_retire_rec.desc_flex.attribute_category_code
2067             ,px_asset_retire_rec.detail_info.reval_reserve_retired
2068             ,px_asset_retire_rec.detail_info.unrevalued_cost_retired
2069             ,px_asset_retire_rec.detail_info.bonus_reserve_retired
2070             ,px_asset_retire_rec.recognize_gain_loss
2071             ,px_asset_retire_rec.recapture_reserve_flag
2072             ,px_asset_retire_rec.limit_proceeds_flag
2073             ,px_asset_retire_rec.terminal_gain_loss
2074             ,px_asset_retire_rec.reserve_retired
2075             ,px_asset_retire_rec.eofy_reserve
2076             ,px_asset_retire_rec.reduction_rate
2077             ,px_asset_retire_rec.detail_info.recapture_amount
2078             ,px_asset_retire_rec.detail_info.row_id -- used as parameter when calling fa_retirements_pkg.delete
2079       from fa_retirements_mrc_v
2080       where retirement_id = px_asset_retire_rec.retirement_id;
2081 
2082     else
2083 
2084       select retirement_id
2085             ,asset_id
2086             ,book_type_code
2087             ,transaction_header_id_in
2088             ,date_retired
2089             ,cost_retired
2090             ,status
2091             ,retirement_prorate_convention
2092             ,transaction_header_id_out
2093             ,units
2094             ,cost_of_removal
2095             ,nbv_retired
2096             ,gain_loss_amount
2097             ,proceeds_of_sale
2098             ,gain_loss_type_code
2099             ,retirement_type_code
2100             ,itc_recaptured
2101             ,itc_recapture_id
2102             ,reference_num
2103             ,sold_to
2104             ,trade_in_asset_id
2105             ,stl_method_code
2106             ,stl_life_in_months
2107             ,stl_deprn_amount
2108             ,attribute1
2109             ,attribute2
2110             ,attribute3
2111             ,attribute4
2112             ,attribute5
2113             ,attribute6
2114             ,attribute7
2115             ,attribute8
2116             ,attribute9
2117             ,attribute10
2118             ,attribute11
2119             ,attribute12
2120             ,attribute13
2121             ,attribute14
2122             ,attribute15
2123             ,attribute_category_code
2124             ,reval_reserve_retired
2125             ,unrevalued_cost_retired
2126             ,bonus_reserve_retired
2127             ,recognize_gain_loss
2128             ,recapture_reserve_flag
2129             ,limit_proceeds_flag
2130             ,terminal_gain_loss
2131             ,reserve_retired
2132             ,eofy_reserve
2133             ,reduction_rate
2134             ,recapture_amount
2135             ,rowid
2136       into
2137              px_asset_retire_rec.retirement_id
2138             ,px_asset_retire_rec.detail_info.asset_id
2139             ,px_asset_retire_rec.detail_info.book_type_code
2140             ,px_asset_retire_rec.detail_info.transaction_header_id_in
2141             ,px_asset_retire_rec.date_retired
2142             ,px_asset_retire_rec.cost_retired
2143             ,px_asset_retire_rec.status
2144             ,px_asset_retire_rec.retirement_prorate_convention
2145             ,px_asset_retire_rec.detail_info.transaction_header_id_out
2146             ,px_asset_retire_rec.units_retired
2147             ,px_asset_retire_rec.cost_of_removal
2148             ,px_asset_retire_rec.detail_info.nbv_retired
2149             ,px_asset_retire_rec.detail_info.gain_loss_amount
2150             ,px_asset_retire_rec.proceeds_of_sale
2151             ,px_asset_retire_rec.detail_info.gain_loss_type_code
2152             ,px_asset_retire_rec.retirement_type_code
2153             ,px_asset_retire_rec.detail_info.itc_recaptured
2154             ,px_asset_retire_rec.detail_info.itc_recapture_id
2155             ,px_asset_retire_rec.reference_num
2156             ,px_asset_retire_rec.sold_to
2157             ,px_asset_retire_rec.trade_in_asset_id
2158             ,px_asset_retire_rec.detail_info.stl_method_code
2159             ,px_asset_retire_rec.detail_info.stl_life_in_months
2160             ,px_asset_retire_rec.detail_info.stl_deprn_amount
2161             ,px_asset_retire_rec.desc_flex.attribute1
2162             ,px_asset_retire_rec.desc_flex.attribute2
2163             ,px_asset_retire_rec.desc_flex.attribute3
2164             ,px_asset_retire_rec.desc_flex.attribute4
2165             ,px_asset_retire_rec.desc_flex.attribute5
2166             ,px_asset_retire_rec.desc_flex.attribute6
2167             ,px_asset_retire_rec.desc_flex.attribute7
2168             ,px_asset_retire_rec.desc_flex.attribute8
2169             ,px_asset_retire_rec.desc_flex.attribute9
2170             ,px_asset_retire_rec.desc_flex.attribute10
2171             ,px_asset_retire_rec.desc_flex.attribute11
2172             ,px_asset_retire_rec.desc_flex.attribute12
2173             ,px_asset_retire_rec.desc_flex.attribute13
2174             ,px_asset_retire_rec.desc_flex.attribute14
2175             ,px_asset_retire_rec.desc_flex.attribute15
2176             ,px_asset_retire_rec.desc_flex.attribute_category_code
2177             ,px_asset_retire_rec.detail_info.reval_reserve_retired
2178             ,px_asset_retire_rec.detail_info.unrevalued_cost_retired
2179             ,px_asset_retire_rec.detail_info.bonus_reserve_retired
2180             ,px_asset_retire_rec.recognize_gain_loss
2181             ,px_asset_retire_rec.recapture_reserve_flag
2182             ,px_asset_retire_rec.limit_proceeds_flag
2183             ,px_asset_retire_rec.terminal_gain_loss
2184             ,px_asset_retire_rec.reserve_retired
2185             ,px_asset_retire_rec.eofy_reserve
2186             ,px_asset_retire_rec.reduction_rate
2187             ,px_asset_retire_rec.detail_info.recapture_amount
2188             ,px_asset_retire_rec.detail_info.row_id -- used as parameter when calling fa_retirements_pkg.delete
2189       from fa_retirements
2190       where retirement_id = px_asset_retire_rec.retirement_id;
2191 
2192    end if;
2193 
2194    return TRUE;
2195 
2196 
2197 EXCEPTION
2198    when error_found then
2199       fa_srvr_msg.add_message(calling_fn => 'fa_util_pvt.get_asset_retire_rec'
2200             ,p_log_level_rec => p_log_level_rec);
2201       return false;
2202 
2203    when others then
2204       fa_srvr_msg.add_sql_error(calling_fn => 'fa_util_pvt.get_asset_retire_rec'
2205             ,p_log_level_rec => p_log_level_rec);
2206       return false;
2207 
2208 END get_asset_retire_rec;
2209 
2210 FUNCTION get_corp_book( p_asset_id       IN     NUMBER,
2211                         p_corp_book      IN OUT NOCOPY VARCHAR2,
2212                         p_log_level_rec  IN     FA_API_TYPES.log_level_rec_type default null) return boolean IS
2213 
2214 BEGIN
2215 
2216    SELECT bc.book_type_code
2217    INTO p_corp_book
2218    FROM fa_books bks,
2219         fa_book_controls bc
2220    WHERE bks.book_type_code = bc.distribution_source_book
2221    AND   bks.book_type_code = bc.book_type_code
2222    AND   bks.asset_id       = p_asset_id
2223    AND   bks.transaction_header_id_out is null
2224    AND   rownum < 2;
2225 
2226    return TRUE;
2227 
2228 EXCEPTION
2229    when others then
2230       fa_srvr_msg.add_message(
2231          calling_fn => 'fa_util_pvt.get_corp_book',
2232          name       => 'FA_SHARED_ACTION_TABLE',
2233          token1     => 'ACTION',
2234          value1     => 'SELECT',
2235          token2     => 'TABLE',
2236          value2     => 'FA_BOOKS'
2237          ,p_log_level_rec => p_log_level_rec);
2238       return FALSE;
2239 
2240 END get_corp_book;
2241 
2242 
2243 -- NOTICE: per ATG / performance team, we are changing the standards
2244 -- surrounding the principle of nulling out a column.  Originally
2245 -- the G_MISS_* values were used to indicate no change, but we've flipped
2246 -- the logic.  Null values will be treated as no change, whereas
2247 -- G_MISS_* will indicate the intent to null out a column.
2248 
2249 PROCEDURE load_char_value
2250             (p_char_old  IN     VARCHAR2,
2251              p_char_adj  IN     VARCHAR2,
2252              x_char_new  IN OUT NOCOPY VARCHAR2,
2253              p_log_level_rec IN     FA_API_TYPES.log_level_rec_type default null) IS
2254 
2255 BEGIN
2256 
2257    if (p_char_adj is null) then
2258       x_char_new := p_char_old;
2259    elsif (p_char_adj = FND_API.G_MISS_CHAR)then
2260       x_char_new := NULL;
2261    else
2262       x_char_new := p_char_adj;
2263    end if;
2264 
2265 END load_char_value;
2266 
2267 PROCEDURE load_date_value
2268             (p_date_old  IN     VARCHAR2,
2269              p_date_adj  IN     VARCHAR2,
2270              x_date_new  IN OUT NOCOPY VARCHAR2,
2271              p_log_level_rec  IN     FA_API_TYPES.log_level_rec_type default null) IS
2272 
2273 BEGIN
2274 
2275    if (p_date_adj is null) then
2276       x_date_new := p_date_old;
2277    elsif (p_date_adj = FND_API.G_MISS_DATE) then
2278       x_date_new := NULL;
2279    else
2280       x_date_new := p_date_adj;
2281    end if;
2282 
2283 END load_date_value;
2284 
2285 PROCEDURE load_num_value
2286             (p_num_old   IN     VARCHAR2,
2287              p_num_adj   IN     VARCHAR2,
2288              x_num_new   IN OUT NOCOPY VARCHAR2,
2289              p_log_level_rec   IN     FA_API_TYPES.log_level_rec_type default null) IS
2290 
2291 BEGIN
2292 
2293    if (p_num_adj is null) then
2294       x_num_new := p_num_old;
2295    elsif (p_num_adj = FND_API.G_MISS_NUM) then
2296       x_num_new := NULL;
2297    else
2298       x_num_new := p_num_adj;
2299    end if;
2300 
2301 END load_num_value;
2302 
2303 --Bug7627286
2304 --Added function to check if deprn has been run for the period
2305 FUNCTION check_deprn_run
2306             (X_book          IN      VARCHAR2,
2307              X_asset_id      IN      NUMBER  DEFAULT 0,
2308 	     X_deprn_amount  OUT  NOCOPY   NUMBER,
2309              p_log_level_rec IN  FA_API_TYPES.log_level_rec_type default null) return BOOLEAN IS
2310 
2311    deprn_run           VARCHAR2(1);
2312    h_count             NUMBER;
2313    h_mc_source_flag    VARCHAR2(3);
2314    h_set_of_books_id   NUMBER;
2315    h_mrc_sob_type_code VARCHAR2(3);
2316    l_deprn_amt         NUMBER;
2317 
2318 BEGIN
2319 
2320    if (NOT FA_CACHE_PKG.fazcbc(X_book => X_book, p_log_level_rec => p_log_level_rec)) then
2321       fa_srvr_msg.add_sql_error
2322             (calling_fn => 'fa_util_pvt.check_deprn_run', p_log_level_rec => p_log_level_rec);
2323       return (FALSE);
2324    end if;
2325 
2326    h_mc_source_flag       := FA_CACHE_PKG.fazcbc_record.mc_source_flag;
2327    h_set_of_books_id      := FA_CACHE_PKG.fazcbc_record.set_of_books_id;
2328 
2329    if not fa_cache_pkg.fazcsob
2330            (X_set_of_books_id   => h_set_of_books_id,
2331             X_mrc_sob_type_code => h_mrc_sob_type_code,
2332 	    p_log_level_rec => p_log_level_rec) then
2333       fa_srvr_msg.add_sql_error
2334             (calling_fn => 'fa_util_pvt.check_deprn_run', p_log_level_rec => p_log_level_rec);
2335       return(FALSE);
2336    end if;
2337 
2338    if (X_asset_id = 0) then
2339       null;
2340    else
2341 
2342       SELECT ds.deprn_amount
2343         INTO l_deprn_amt
2344         FROM fa_deprn_summary ds,
2345              fa_book_controls bc
2346        WHERE bc.book_type_code = X_book
2347          AND ds.book_type_code = bc.book_type_code
2348          AND ds.period_counter = bc.last_period_counter + 1
2349          AND ds.asset_id = X_asset_id
2350          AND ds.deprn_source_code in ('DEPRN','TRACK');
2351 
2352       if (sql%rowcount <> 0) then
2353 	 X_deprn_amount := l_deprn_amt;
2354          return TRUE;
2355       else
2356 
2357          select ds.deprn_amount
2358 	  into l_deprn_amt
2359           FROM fa_deprn_summary ds,
2360                fa_book_controls bc,
2361                fa_books bks,
2362                fa_additions_b ad
2363          WHERE bc.book_type_code = X_Book
2364            AND ds.book_type_code = bc.book_type_code
2365            AND ds.period_counter = bc.last_period_counter + 1
2366            AND ds.asset_id = bks.asset_id
2367            AND ds.deprn_source_code in ('DEPRN','TRACK')
2368            AND bks.group_asset_id = X_Asset_ID
2369            AND bks.book_type_code = bc.book_type_code
2370            AND bks.transaction_header_id_out is null
2371            AND ad.asset_id = X_Asset_ID
2372            AND ad.asset_type = 'GROUP';
2373 
2374          if (sql%rowcount <> 0) then
2375 	    X_deprn_amount := l_deprn_amt;
2376 	    return TRUE;
2377          end if;
2378 
2379       end if;
2380 
2381       if (h_mc_source_flag = 'Y' and h_mrc_sob_type_code = 'P') then
2382          SELECT ds.deprn_amount
2383            INTO l_deprn_amt
2384            FROM fa_mc_deprn_summary ds,
2385                 fa_book_controls bc
2386           WHERE bc.book_type_code = X_book
2387             AND ds.book_type_code = bc.book_type_code
2388             AND ds.period_counter = bc.last_period_counter + 1
2389             AND ds.asset_id = X_asset_id
2390             AND ds.deprn_source_code in ('DEPRN','TRACK');
2391 
2392          if (sql%rowcount <> 0) then
2393 	    X_deprn_amount := l_deprn_amt;
2394 	    return TRUE;
2395          end if;
2396       end if;
2397    end if; --X_asset_id = 0
2398 X_deprn_amount := NULL;
2399 return FALSE;
2400 Exception
2401   When NO_DATA_FOUND then
2402       return FALSE;
2403 END check_deprn_run;
2404 END FA_UTIL_PVT;