Search Results missing_currency




Overview

BIS_VALIDATION_UTILITIES is a PL/SQL package body owned by the APPS schema within the Oracle E-Business Suite, classified as an OTHER API in the ETRM documentation. Despite its name, the package does not expose a traditional validation API surface. Instead, it provides a centralized set of logging utilities used by the Business Intelligence System (BIS) product family to record data integrity exceptions encountered during validation of refreshed or staged data. The package writes structured exception records into the BIS_REFRESH_LOG table, allowing downstream BIS refresh programs to surface missing or inconsistent master data to end users and administrators without aborting the entire refresh run.

The package declares several package-level global variables — g_request_id, g_concurrent_id, g_user_id, and g_login_id — that are populated from FND_GLOBAL at the start of each logging call. This is the origin of the frequently searched g_login_id identifier: it is a private package global assigned via fnd_global.login_id and then written into the LAST_UPDATE_LOGIN column of BIS_REFRESH_LOG. Because it is not a formal parameter of any procedure, it cannot be passed or queried by callers; it exists solely to satisfy the audit columns of the log table consistently with EBS conventions.

Key Procedures and Functions

The documented procedures share a common design: each accepts descriptive parameters identifying the object being validated, an optional exception message, and an optional corrective action flexfield, then inserts a row into BIS_REFRESH_LOG with a fixed ERROR_TYPE string.

  • PUT_MISSING_CURRENCY — Logs an exception in which a required currency or currency rate is absent. It accepts object type, object name, exception message, corrective action, rate type, from/to currency, and effective date, and stores the ERROR_TYPE value MISSING_CURRENCY. The rate and currency details are persisted into Attribute1 through Attribute4 of the log row.
  • PUT_MISSING_UOM — Records a missing unit-of-measure condition for the specified object.
  • PUT_MISSING_PERIOD — Records a missing or invalid accounting period encountered during validation.
  • PUT_OTHER_VALIDATION — Serves as a general-purpose catch-all for validation failures that do not correspond to a specialized error type.
  • PUT_MISSING_CONTRACT — Logs a missing contract reference, typically relevant to BIS sourcing or spend analytics refreshes.
  • PUT_MISSING_GLOBAL_SETUP — Records the absence of required global configuration data, such as currencies, calendars, or set-of-books-dependent setup, that a BIS process depends upon.

Each procedure wraps its insert in a WHEN OTHERS handler that re-raises the exception, ensuring that genuine logging failures are not silently swallowed.

Tables Accessed

The package performs insert operations exclusively against BIS_REFRESH_LOG, referenced through an APPS synonym. Rows capture request and concurrent program identifiers, the object type and name, ERROR_TYPE, an exception message, corrective action flexfield, standard WHO audit columns (creation and update dates, user and login identifiers), and ten generic Attribute columns used to carry context-specific detail such as rate type, currencies, and effective dates. The ETRM metadata also lists DBMS_SQL and PLITBLM as referenced objects; these are Oracle-supplied utilities rather than application tables and are typically used for dynamic SQL and index-by-table PL/SQL operations within the package body.

Usage Notes

BIS_VALIDATION_UTILITIES is invoked internally by BIS refresh and concurrent programs during data validation phases, not by end-user forms. The package is referenced by zero other documented packages, indicating that it is a leaf-level utility consumed directly by BIS processing code. Because the procedures read FND_GLOBAL concurrently-context values, they are only meaningful when called from within a running concurrent request; invoking them from an interactive session will populate request and concurrent IDs with null or default values. Customizations should treat BIS_REFRESH_LOG as read-only reporting output rather than attempting to update logged rows, and should preserve the fixed ERROR_TYPE literals to maintain compatibility with BIS exception reporting queries.