Search Results calculate_functional_curr




Overview

AMS_UTILITY_PVT_W is a private utility wrapper package in the Oracle E-Business Suite Marketing (AMS) application schema. It belongs to the broader AMS_UTILITY_PVT family of PL/SQL units that supply shared, low-level services to the Oracle Marketing and Oracle Trade Management modules. The package is declared with AUTHID CURRENT_USER, meaning its SQL statements execute under the privileges of the calling user rather than the package owner, which is characteristic of wrapper or adapter layers intended to be invoked from a variety of calling contexts.

Functionally, the package provides three categories of service: currency and timezone conversion, activity/budget log creation, and Rosetta-style bulk table copy routines used to marshal PL/SQL collection data between nested table types and the flattened JTF_VARCHAR2_TABLE structures that Oracle Marketing APIs commonly exchange. The search term "calculate_functional_curr" refers to one of the currency conversion procedures exposed by this package, which derives functional (ledger) currency amounts from a transaction amount, a conversion date, and a transaction currency code.

Key Procedures and Functions

  • CALCULATE_FUNCTIONAL_CURR — Converts a supplied from-amount into the functional currency of the relevant ledger. Parameters include the source amount, the conversion date, the transaction currency code, and an organization identifier. This is the routine that underlies the user's search and is typically the entry point for deriving base-currency values during marketing budget, trade promotion, and offer costing calculations.
  • CONVERT_CURRENCY — Overloaded. One form converts between two named currencies at a given date, returning the converted amount. The second form operates against a specified set of books, accepting a conversion type and rate and returning the accounting amount and the rate applied. This supports both a simple from/to conversion and a full ledger-aware conversion path.
  • CONVERT_TIMEZONE — Translates a supplied date from a user timezone identifier into an output date, honoring a conversion type. It maintains the standard concurrent-request message list and return status conventions.
  • CREATE_LOG — Inserts an activity log record capturing the log's used-by context, message data and level, message type, description, and optional budget, threshold, transaction, and activity-log identifiers together with a notification creation date. It is the audit and activity trail generator for the Marketing modules.
  • ROSETTA_TABLE_COPY_IN_P45 — Copies data from five parallel flat JTF_VARCHAR2_TABLE arguments into a single AMS_UTILITY_PVT.dependent_objects_tbl_type nested table, allowing callers to pass bulk attributes using the simplified flat-array convention.
  • ROSETTA_TABLE_COPY_OUT_P45 — The inverse operation, unpacking a dependent_objects_tbl_type collection back into five parallel flat JTF tables for return to a caller.

Tables Accessed

The documented table reference for this package is PLITBLM, accessed through an APPS synonym. PLITBLM is the PL/SQL interface table layer used by Oracle Marketing for bulk and interim processing; the package reads and writes it as part of collection marshalling and log/activity handling. Currency conversion routines rely on the standard Oracle General Ledger currency and rate infrastructure reached through these synonym-based accesses rather than on package-local tables.

Usage Notes

AMS_UTILITY_PVT_W is an internal (private) package and is not intended as a published integration point; it is referenced by two other AMS packages that act as its callers. It is most commonly invoked indirectly — for example, when a Marketing form, concurrent program, or Trade Management business flow needs a currency or timezone conversion performed, or needs an activity log written. Custom code should prefer the public Marketing APIs over direct calls to this package, because the wrapper signature, particularly the Rosetta copy routines, is version-sensitive and subject to change across 12.1.1 and 12.2.2. Where custom code must call CALCULATE_FUNCTIONAL_CURR directly, callers should supply a valid organization identifier and conversion date so that the underlying GL rate lookup resolves correctly, and should test against both release levels given differences in the underlying currency conversion schema between 12.1.1 and 12.2.2.