Search Results ar_bpa_items_pkg




Overview

AR_BPA_ITEMS_PKG is an Oracle E-Business Suite PL/SQL package owned by the APPS schema, documented as VALID in ETRM for releases 12.1.1 and 12.2.2. The package body implements the database-side logic for the Oracle Receivables Balanced Payment Allocation (BPA) item definition. This feature allows a Receivables user to define how payment application amounts are distributed across the open items of an invoice or debit memo according to configurable allocation rules, rather than applying the payment strictly in a standard order. AR_BPA_ITEMS_PKG manages the configuration records that drive that logic.

From an architectural perspective, the package is a table-handler layer. It exposes standard CRUD routines that operate on the BPA item base table and its translation table, and it also provides the multi-language and seed-data loading routines required for a translated, multi-language-enabled entity. The API classification recorded in the metadata is OTHER, which indicates the package is not part of Oracle's published public API set intended for unrestricted customer integration; it is a supporting package whose behavior is driven primarily by the EBS forms and concurrent programs that administer Receivables payment allocation setup.

Key Procedures and Functions

The documented procedures in the package body are as follows:

  • INSERT_ROW — Creates a new BPA item definition record in the base table, including validation of the supplied configuration values against existing Receivables reference data.
  • LOCK_ROW — Obtains a row-level lock on a BPA item record so that concurrent maintenance through the UI or other code cannot modify the row while it is being updated or deleted.
  • UPDATE_ROW — Modifies an existing BPA item definition, applying the same validation rules as INSERT_ROW and enforcing the locking convention expected by the calling form.
  • DELETE_ROW — Removes a BPA item definition, subject to any referential or configuration integrity checks the package enforces before deletion.
  • ADD_LANGUAGE — Inserts a new language row into the translation table so the BPA item's descriptive or translatable attributes can be maintained in additional installed languages.
  • TRANSLATE_ROW — Updates the translatable columns of an existing language row, typically invoked from the translator or multi-language maintenance flow.
  • LOAD_ROW — Loads seed or setup data into the BPA item tables, including translation content, for use during implementation, cloning, or migration of Receivables configuration between environments.

No parameter lists are documented in the ETRM metadata, and none are asserted here.

Tables Accessed

  • AR_BPA_ITEMS_B — The base table holding the language-independent definition of each Balanced Payment Allocation item. This is the primary read/write target of INSERT_ROW, UPDATE_ROW, DELETE_ROW, LOCK_ROW, and LOAD_ROW.
  • AR_BPA_ITEMS_TL — The translation table holding language-dependent attributes for each BPA item. It is written by ADD_LANGUAGE, TRANSLATE_ROW, and LOAD_ROW, and read whenever translated content is required.
  • FND_LANGUAGES — The Applications-installed languages table, used to validate language codes and to determine which languages are available when adding or translating rows.

The dependency listing additionally identifies APP_EXCEPTION, FND_MESSAGE, and STANDARD as referenced objects, reflecting the package's use of the EBS message/error-raising conventions and standard PL/SQL constructs. All tables are referenced through APPS synonyms, consistent with an APPS-owned package that relies on the Applications synonym layer rather than hard-coded schema prefixes.

Usage Notes

In Oracle EBS 12.1.1 and 12.2.2, AR_BPA_ITEMS_PKG is most commonly invoked indirectly. The primary consumer is the Receivables setup form used to maintain Balanced Payment Allocation item definitions; that form performs its insert, update, delete, and lock operations through these routines rather than issuing DML directly, which is why row locking is exposed separately as LOCK_ROW. The language routines are exercised through the standard multi-language maintenance and translation utilities in the Applications framework.

LOAD_ROW supports implementation and cloning workflows: it allows a known set of BPA item definitions and their translations to be loaded programmatically, which is useful when promoting setups between test, development, and production instances. The ETRM metadata notes that AR_BPA_ITEMS_PKG is not referenced by any other database object but is itself referenced by one other package, meaning callers depend on it rather than the reverse. Because its API classification is OTHER rather than PUBLIC, custom development should treat these procedures as internal. Direct calls are technically possible from custom PL/SQL, but they bypass the form-level validation sequencing and are not supported; the recommended approach is to maintain BPA items through the standard Receivables setup UI or through a supported migration mechanism that invokes LOAD_ROW in the documented manner.