Search Results no_rate




Overview

ICX_CAT_UTIL_PKG is a utility package in the Oracle E-Business Suite APPS schema that provides currency conversion helper routines for the iProcurement and Internet Commerce Applications (ICX) catalog modules. The package is declared with AUTHID CURRENT_USER, meaning its SQL executes under the privilege domain of the calling user rather than the package owner, which allows it to respect the caller's session context and any row-level security in effect at runtime.

The central business purpose of the package is to expose a callable wrapper around Oracle's standard currency conversion functionality. This allows iProcurement catalog code to convert monetary amounts from a source currency into the functional currency of the relevant set of books, returning the result rounded to the precision and minimum account unit of the target currency. The package was created 03-JAN-2002 by SSURI, with an overloaded variant added 30-OCT-2002 by BMUNAGAL.

Key Procedures and Functions

The documented package contains two overloaded forms of a single function, CONVERT_AMOUNT_SQL:

  • CONVERT_AMOUNT_SQL (rate lookup variant) — Returns an amount converted from the source currency into the functional currency of the set of books by delegating to convert_amount(). The result is rounded to the precision and minimum account unit of the target currency. This form determines the conversion rate from the supplied from/to currencies, conversion date, and optional conversion type. It returns -1 if the NO_RATE exception is raised and -2 if the INVALID_CURRENCY exception is raised in the underlying call.
  • CONVERT_AMOUNT_SQL (explicit rate variant) — An overloaded form that accepts an explicit conversion rate. When the supplied rate is not null, that rate is used directly to perform the conversion; otherwise the rate is calculated from the from and to currencies. It shares the same rounding behaviour and the same -1/-2 error return conventions as the first overload.

Both functions carry the PRAGMA RESTRICT_REFERENCES(..., WNDS, WNPS, RNPS) directive, confirming they write no database state, write no package state, and read no package state. This purity guarantee allows the functions to be invoked safely from SQL statements and from contexts where side effects are prohibited.

Tables Accessed

Per the ETRM metadata the package references two tables through APPS synonyms: FND_CURRENCIES and PO_SYSTEM_PARAMETERS.

  • FND_CURRENCIES — The Oracle General Ledger currency repository. It supplies currency definitions, precision, and minimum account unit information required to round converted amounts correctly to the target currency.
  • PO_SYSTEM_PARAMETERS — Purchasing system parameters, which hold the default set of books and related financials configuration used to identify the functional currency against which conversion is performed.

Usage Notes

ICX_CAT_UTIL_PKG is not documented as referenced by any other packaged API, so it is best understood as an internal utility consumed by iProcurement catalog display and requisition flows, where prices held in a foreign currency must be presented in the operating unit's functional currency. Because the functions are pure (WNDS/WNPS/RNPS) and return sentinel values (-1, -2) instead of raising exceptions to the caller, they can be embedded inside PL/SQL and referenced from custom code or used to compute derived columns in reporting queries without risking unintended writes. The typical invocation pattern is: supply the from currency, target functional currency, conversion date, optional conversion type, and the amount, and receive a rounded converted figure — or supply an explicit rate when a rate has already been sourced. Customisations should check for the -1 and -2 return codes to distinguish a missing rate from an invalid currency.