← Back to Cases
FA Asset Depreciation Amounts Incorrect — Recalculate and Update FA_DEPRN_SUMMARY, FA_DEPRN_DETAIL, FA_BOOKS
Case Number00047887
Oracle ModuleFixed Assets (FA)
EBS VersionR12
Functional AreaFA Depreciation / Period Depreciation Correction
Related PatchesNone

Symptoms

Root Cause

An incomplete or incorrect depreciation run produced wrong deprn_amount values in the depreciation summary and detail tables for a set of assets. The fix recalculates the correct depreciation amounts using the prior period values as a base (prior period's YTD, reserve, and adjusted cost), adds the correct current-period depreciation amount from a driver table, and updates the FA depreciation and book tables accordingly. A separate one-off correction is also applied directly for a specific asset distribution where the depreciation detail values required a targeted fix.

Resolution

Pre-requisite – Create support tables and populate driver table

Run the companion driver table creation script (rsi_fa_driver_table_create.sql, referenced but not included in this case folder). Create the driver table RSI_FA_ASSET_DTLS_47887 with columns asset_id, book_code, depreciation (the correct current-period amount), and period_counter. Populate it with one row per affected asset containing the correct depreciation amount. Also create and compile the RSI_FA_DFIX_LOG logging package.

Step 1 – Per-asset: back up current period data

Run data_fix.sql. For each asset in RSI_FA_ASSET_DTLS_47887, insert the current rows for the affected period into backup tables:

Step 2 – Per-asset: retrieve prior period values

Select deprn_amount, ytd_deprn, deprn_reserve, adjusted_cost, and system_deprn_amount from FA_DEPRN_SUMMARY for the prior period counter. These values are used as the base for calculating the correct current-period amounts.

Step 3 – Per-asset: calculate correct current-period values

Compute the correct values:

Step 4 – Per-asset: update FA_DEPRN_SUMMARY

Update FA_DEPRN_SUMMARY with the recalculated deprn_amount, ytd_deprn, deprn_reserve, adjusted_cost, and system_deprn_amount for the affected asset, book type code, deprn_source_code = 'DEPRN', and current period counter.

Step 5 – Per-asset: update FA_DEPRN_DETAIL

Update FA_DEPRN_DETAIL with the recalculated deprn_amount, ytd_deprn, and deprn_reserve for the affected asset, book type code, deprn_source_code = 'D', and current period counter.

Step 6 – Per-asset: update FA_BOOKS

Update FA_BOOKS (current effective row — date_ineffective IS NULL) with the recalculated adjusted_cost, eofy_adj_cost, eofy_reserve, and prior_eofy_reserve.

Step 7 – One-off targeted fix for specific distribution rows

After the cursor loop, apply a direct update to FA_DEPRN_DETAIL for a specific asset and its two distribution rows that require targeted deprn_amount, ytd_deprn, and deprn_reserve values not derivable from the standard formula.

Step 8 – Commit

Commit all changes. Verify depreciation amounts in FA reports for the affected period.

Note: This fix uses a custom RSI_FA_DFIX_LOG logging package that must be created and compiled before running the fix script. The driver table RSI_FA_ASSET_DTLS_47887 and all three backup tables (RSI_FA_BOOKS_47887, RSI_FA_DEPRN_SUM_47887, RSI_FA_DEPRN_DTLS_47887) must be pre-created. The fix does not run depreciation — it directly corrects the depreciation amounts stored in the tables. Verify the prior period values are correct before applying, as they are used as the calculation base.

Script Inventory

FileDescription
data_fix.sqlPL/SQL script using RSI_FA_DFIX_LOG for logging. Cursor over RSI_FA_ASSET_DTLS_47887 driver table. For each asset: backs up FA_BOOKS, FA_DEPRN_SUMMARY, FA_DEPRN_DETAIL; retrieves prior period values; calculates correct current-period depreciation; updates FA_DEPRN_SUMMARY, FA_DEPRN_DETAIL, and FA_BOOKS. Includes additional one-off direct updates to FA_DEPRN_DETAIL for specific distribution rows on a single asset.

Key Tables Affected

TableAction
FA_DEPRN_SUMMARYUpdate deprn_amount, ytd_deprn, deprn_reserve, adjusted_cost, system_deprn_amount for affected period
FA_DEPRN_DETAILUpdate deprn_amount, ytd_deprn, deprn_reserve for affected period
FA_BOOKSUpdate adjusted_cost, eofy_adj_cost, eofy_reserve, prior_eofy_reserve