Search Results get_predicate




Overview

QA_PERFORMANCE_PUB is a public PL/SQL package in the Oracle E-Business Suite Quality (QA) module, owned by the APPS schema. It functions as a thin API wrapper that exposes predicate-generation logic used by the Quality performance and character-index subsystem. The package header identifies it as an API-classification PUBLIC package, meaning its procedures are intended for external invocation by other EBS modules, forms, or customer extensions rather than for internal-only use.

The core business purpose of QA_PERFORMANCE_PUB is to retrieve a SQL predicate string that corresponds to a saved quality character index, identified by a character ID (p_char_id) and an alias (p_alias). This predicate is used to filter or dynamically construct queries against quality data, supporting performance-related lookups across specifications, results, and collection plans. The package itself performs no DML; as the source comments explicitly state, it "does not make any database changes" and merely queries for the predicate, delegating the actual retrieval to QA_CHAR_INDEXES_PKG.GET_PREDICATE.

Key Procedures and Functions

  • GET_PREDICATE — The single documented procedure in this package. It accepts an API version and initialization flag as part of the standard PL/SQL API contract, receives a character ID and alias as inputs, and returns the resolved predicate string along with standard message-count, message-data, and return-status outputs. The procedure validates call compatibility via FND_API.COMPATIBLE_API_CALL, optionally initializes the message list when p_init_msg_list resolves to TRUE, then calls QA_CHAR_INDEXES_PKG.GET_PREDICATE to populate x_predicate. It never returns the predicate through a function return value; it uses an OUT parameter. No other procedures or functions are documented for this package body.

Tables Accessed

The documented ETRM metadata lists no directly referenced tables for APPS.QA_PERFORMANCE_PUB. This is consistent with the source, which contains no SQL statements of its own. All data access is performed indirectly through the delegated call to QA_CHAR_INDEXES_PKG.GET_PREDICATE, which is the component that ultimately reads the quality character-index and index-value tables (such as QA_CHAR_INDEXES and associated value tables) to assemble the predicate string. Because QA_PERFORMANCE_PUB performs no direct reads or writes and opens no savepoint, it is a stateless pass-through layer.

Usage Notes

  • Invocation context — The package is typically invoked by other EBS APIs, Quality forms, or custom code that need to obtain a character-index predicate without directly coupling to the internal QA_CHAR_INDEXES_PKG.
  • Concurrency — No savepoint is established because the API is read-only; therefore no explicit commit or rollback is required by callers.
  • Constraints and errors — Because the API cannot raise a savepoint-based rollback, error handling relies on FND_MSG_PUB and the standard return-status flags (g_ret_sts_success, g_ret_sts_error, g_ret_sts_unexp_error). Callers should always inspect x_return_status and drain x_msg_count via FND_MSG_PUB before proceeding.
  • Versioning — GET_PREDICATE is fixed at API version 1.0, and calls specifying an incompatible p_api_version raise G_EXC_UNEXPECTED_ERROR through COMPATIBLE_API_CALL.
  • Search relevance — Searches for "get_predicate" against ETRM metadata resolve to this object, since the procedure name is the primary documented entry point and the package is referenced by zero other packages, indicating a leaf-level public API.