Search Results get_target_value




Overview

APPS.BIS_PMF_UTILITIES_PUB is a public PL/SQL package body in the Oracle EBS Business Intelligence System (BIS) schema, historically branded as the Performance Management Framework (PMF). Its stated purpose, per the embedded header comment, is to serve as the "Public API for PMF utilities." The package provides reusable lookup and resolution logic that other BIS/PMF components call to translate human-readable identifiers into surrogate keys and, in turn, to retrieve numeric target values from the target data store. This makes it a foundational utility layer for the target-setting and performance-measurement functionality in Oracle EBS 12.1.1 and 12.2.2.

The body was first created in August 1999 (as recorded in the source history) and carries a header version of 115.4 dated October 1999. This vintage confirms the package belongs to the original PMF architecture that predates the later Enterprise Performance Foundation / ETRM consolidation, and it remains catalogued as an APPS-owned PUB API in 12.1.1 documentation.

Key Procedures and Functions

The documented API exposes four callable routines, all oriented toward resolving or retrieving target-related data:

  • GET_TARGET_VALUE — The core retrieval function and the object most frequently searched for. It returns the numeric target value for a given target definition, accepting a target level identifier together with organization, time, and dimension level values plus a plan name to qualify the specific target row.
  • GET_TARGET_FOR_TARGET_LEVEL — A convenience wrapper that resolves a target-level short name into its numeric target-level ID via BIS_TARGET_LEVELS, then delegates to GET_TARGET_VALUE. It accepts the target-level short name along with org, time, dimension, and plan qualifiers.
  • GET_TARGET_FOR_LEVEL_ID — A variant that performs the same target resolution but is keyed by an explicit level ID rather than a short name, avoiding the extra name-to-ID lookup.
  • GET_TARGET_FOR_LEVEL — A further convenience function that resolves a level short name through GET_LEVEL_ID and then retrieves the associated target, streamlining calls where the caller holds only a level short name.

The body also contains the private helper GET_LEVEL_ID, which resolves a level short name to a LEVEL_ID from BIS_LEVELS and returns NULL on error. This helper underpins the public level-based functions. No parameter lists beyond what the source excerpt shows are documented, so exact signatures should be confirmed against the deployed package before use.

Tables Accessed

The package reads from four APPS-synonymed BIS tables:

  • BIS_LEVELS — Resolves a level short name to its numeric LEVEL_ID.
  • BIS_TARGET_LEVELS — Resolves a target-level short name to TARGET_LEVEL_ID.
  • BIS_TARGET_VALUES — The primary target data store from which GET_TARGET_VALUE extracts the numeric target.
  • BIS_INDICATORS — Part of the indicator/target metadata model supporting target definition and qualification.

All access is read-only; the package performs no inserts, updates, or deletes.

Usage Notes

Because the package is classified PUB and is referenced by zero other packaged APIs, it functions as a leaf-level utility consumed directly by forms, concurrent programs, and custom code rather than by other PL/SQL APIs. Typical invocation patterns include BIS/PMF target-entry forms that must resolve a level short name or target-level short name to an ID, and reporting or calculation routines that need to fetch a target value for a specific org, time, dimension, and plan combination. Its exception handling in GET_LEVEL_ID returns NULL on error, so callers should validate results rather than assume a valid ID is always returned. When customizing or calling these routines in 12.1.1 or 12.2.2, verify the exact function signatures against the deployed source, as the documentation excerpt is truncated.