Search Results qp_attributes_pvt




Overview

QP_ATTRIBUTES_PVT is the private implementation package body for the Oracle Advanced Pricing attribute framework within the Oracle E-Business Suite (EBS) 12.1.1 and 12.2.2 environments. It resides in the APPS schema and carries a status of VALID. The package serves as the internal engine that supports the public application programming interface defined in QP_ATTRIBUTES_PUB, executing the low-level logic required to process pricing attributes that drive qualifier and pricing contexts in the Oracle Pricing engine.

In the pricing model, attributes are the descriptive characteristics of products, customers, and orders that determine which pricing rules and modifiers apply. The QP_ATTRIBUTES_PVT package encapsulates the private routines that persist, lock, and retrieve those attribute definitions and their associated values. Because it is classified as a PVT (private) package, it is not intended to be called directly by customer code; instead, it is invoked through the public API and by other components of the pricing infrastructure.

Key Procedures and Functions

The ETRM metadata documents three procedures or functions within this package body:

  • PROCESS_ATTRIBUTES — Performs the core processing logic for attribute records. This routine manages the validation, transformation, and maintenance of attribute data as it is created or modified, following Oracle's API programming standards through its dependencies on FND_API and OE_MSG_PUB.
  • LOCK_ATTRIBUTES — Provides concurrency control by obtaining locks on attribute records prior to modification. This ensures that simultaneous operations on the same attribute definitions do not cause data corruption or lost updates.
  • GET_ATTRIBUTES — Retrieves attribute information and returns it to the calling layer. This is the read-side counterpart to the processing routines, supplying attribute definitions to the pricing engine and to callers of the public API.

Tables Accessed

The only table documented for direct reference via APPS synonyms is PLITBLM, a PL/SQL-indexed table type (a PL/SQL table of VARCHAR2 or similar) rather than a physical heap table. Its presence in the dependency list indicates that the package uses PLITBLM as an in-memory collection construct for handling lists of attribute identifiers or values during bulk processing. Beyond this documented dependency, the package relies heavily on enterprise infrastructure packages rather than direct table access, including FND_API for the standard return-status and error-handling conventions, FND_GLOBAL for session context, OE_MSG_PUB for message publishing, and the domain-specific QP modules QP_CON_UTIL, QP_DEFAULT_CON, QP_DEFAULT_SEG, QP_GLOBALS, QP_SEG_UTIL, QP_VALIDATE_CON, and QP_VALIDATE_SEG. These delegate the actual validation, defaulting, and persistence work for qualifiers, segments, pricing contexts, and attribute values.

Usage Notes

QP_ATTRIBUTES_PVT is not documented as being referenced by any other database object, which is consistent with its role as a private package: it is invoked internally, principally by QP_ATTRIBUTES_PUB and by related pricing packages that require attribute processing, locking, or retrieval. Oracle EBS pricing forms, such as those used to define pricing attributes, qualifier contexts, and modifier attribute values, trigger this logic indirectly through the public API layer. Custom integrations should never call QP_ATTRIBUTES_PVT directly; instead, developers must use QP_ATTRIBUTES_PUB, which enforces the documented interface and applies the appropriate validation and error handling. Because the package depends on FND_API and PLITBLM, any custom invocation would also require initialization of the FND global session and proper commitment of the transaction. When diagnosing pricing attribute issues, DBAs and developers can trace execution from the public API into this private body to identify where attribute validation or locking behaviour originates.