Search Results fa_mass_update_batch_hdrs_s




Overview

The package body APPS.FA_CUA_DERIVE_ASSET_ATTR_PKG is a component of the Oracle E-Business Suite Fixed Assets (FA) product family, operating within the APPS schema. Its ETRM classification is "OTHER," indicating that it is not a formally published public API but rather an internal utility package associated with the CUA (Common User Access / mass-update) layer of Fixed Assets. Functionally, the package supports the mass update and asset attribute derivation processes: it selects assets that qualify for a mass update operation and stages the resulting batch headers and batch detail records in the Fixed Assets mass update tables. It therefore acts as a supporting engine for large-scale changes to asset attributes — such as updating asset categories, account assignments, or depreciation attributes across many assets at once — without requiring users to edit each asset individually. It relies on the FA_CUA_ASSET_APIS package for lower-level asset manipulation and on FA_MASS_UPDATE_BATCH_HEADERS, FA_MASS_UPDATE_BATCH_DETAILS, and the sequence FA_MASS_UPDATE_BATCH_HDRS_S to persist the batch structure.

Key Procedures and Functions

The package body exposes three documented procedures:

  • SELECT_ASSETS — Identifies and selects the set of assets that meet the criteria for a mass update batch. This procedure drives the initial population step, evaluating asset records against the user's or process's selection conditions before any batch records are created.
  • INSERT_MASS_UPDATE_BATCH_HDRS — Creates the header record for a mass update batch in FA_MASS_UPDATE_BATCH_HEADERS, using the FA_MASS_UPDATE_BATCH_HDRS_S sequence to obtain the batch identifier. This establishes the parent batch entity that subsequent detail rows reference.
  • INSERT_MASS_UPDATE_BATCH_DTLS — Inserts the individual asset-level detail rows into FA_MASS_UPDATE_BATCH_DETAILS, linking each selected asset to its parent batch header so the mass update can be processed per asset.

The names indicate a straightforward select-then-insert pipeline: assets are chosen, a batch header is generated, and detail lines are populated. No parameter lists are documented; consult the deployed package source for exact signatures.

Tables Accessed

The package references the following objects via APPS synonyms:

  • FA_ADDITIONS — Read/queried for the base asset records and attributes used during asset selection and derivation.
  • FA_ASSET_HIERARCHY — Used to traverse parent/child asset relationships when applying mass updates to hierarchical asset structures.
  • FA_BOOKS and FA_BOOK_CONTROLS — Provide book-level asset information and the controlling rules that govern depreciation and update eligibility.
  • FA_MASS_UPDATE_BATCH_HEADERS — Target table for batch header inserts.
  • FA_MASS_UPDATE_BATCH_DETAILS — Target table for batch detail (asset-level) inserts.
  • FA_MASS_UPDATE_BATCH_HDRS_S — Sequence used to generate unique batch header identifiers.
  • FA_CUA_ASSET_APIS — Referenced API package that supplies asset operation logic invoked during derivation.
  • FND_PROFILE — Supplies profile option values (e.g., organization or responsibility context) that influence selection behavior.
  • DUAL and PLITBLM — Utility objects supporting scalar queries and PL/SQL index-by-table (PLITBLM) operations.

Usage Notes

APPS.FA_CUA_DERIVE_ASSET_ATTR_PKG is not referenced by any other database object and is not exposed as a public API; it is invoked internally by the Fixed Assets mass update flow. In practice it is called from Fixed Assets concurrent programs and forms that drive mass asset updates, and it may also be called from the three other packages that reference it. Because it writes directly to the mass update batch tables, custom code should invoke it only within the supported mass update workflow, after validating profile settings and book controls. Direct calls require careful attention to sequence usage and transactional integrity, since batch headers and details must remain consistent. As an "OTHER"-classified internal package, it is subject to change between releases; developers should treat its procedures as private implementation details rather than stable integration points.