Search Results qp_attribute_required




Overview

QP_LOCK_PRICELIST_GRP is a Group-type (GRP) PL/SQL package in the Oracle Advanced Pricing (QP) module of Oracle E-Business Suite. Its documented purpose is to support the locking of price list data within the pricing engine, providing a controlled API surface through which callers can lock a source price list line and its associated list header for subsequent processing. The package is classified as a GRP API, meaning it is intended as a grouping or wrapper construct rather than a purely standalone entity API, and it is referenced by two other packages in the ETRM 12.2.2 repository.

The business need it addresses arises during pricing operations where a price list line must be reserved or locked against concurrent modification. When a calling process requires a stable reference to a price list line — for example, while propagating a list, applying qualification rules, or generating derived pricing structures — the lock API validates inputs, resolves the parent list header, and returns identifiers for the locked price list and locked line. The package also enforces the multi-organization access control (MOAC) model through an organization identifier parameter and supports optional transaction control through a commit flag.

Key Procedures and Functions

The ETRM documentation records a single documented procedure for this package:

  • LOCK_PRICE — the sole documented entry point. It accepts a source list line identifier, a list source code, an originating system header reference, an organization identifier defaulting to NULL, and a commit flag defaulting to 'F'. It returns, by output parameter, the locked price list identifier, the locked list line identifier, and the standard concurrent-style status outputs (return status, message count, and message data). The procedure performs mandatory-attribute validation, resolves the parent price list header from the supplied line, and raises the standard FND_API error when validation or lookup fails.

No other procedures or functions are documented for this package body in the ETRM metadata.

Tables Accessed

The package accesses the QP_LIST_LINES table through its APPS synonym. This table stores individual price list lines, each of which carries a list_line_id primary key and a list_header_id foreign key pointing to the owning price list header. LOCK_PRICE queries QP_LIST_LINES to derive the source price list identifier (list_header_id) from the supplied p_source_list_line_id, because the caller provides only the line identifier while the locking operation requires knowledge of the parent header. If no matching row is found, the package raises QP_INVALID_LIST_HEADER_ID rather than proceeding.

No additional tables are documented as being read or written by this package body.

Usage Notes

Because QP_LOCK_PRICELIST_GRP is a GRP API, it is normally invoked indirectly by other pricing packages rather than directly by end-user forms. The ETRM metadata shows two packages referencing it, which is consistent with its role as a subordinate locking service consumed by higher-level pricing processes such as list propagation or price list maintenance routines. It may also be called from custom PL/SQL where a developer needs to lock a specific price list line and requires the resulting locked identifiers.

The parameter x_return_status distinguishes success from failure using the standard FND_API constants (G_RET_STS_SUCCESS, G_RET_STS_ERROR, G_RET_STS_UNEXPECTED_ERROR). Notably, when x_return_status is set to G_RET_STS_ERROR, the procedure raises FND_API.G_EXC_ERROR, so callers must wrap invocations in an exception handler and inspect x_msg_count and x_msg_data to retrieve the accumulated messages.

The message QP_ATTRIBUTE_REQUIRED — the term that led to this lookup — is raised whenever any of the three mandatory inputs (p_source_list_line_id, p_list_source_code, or p_orig_system_header_ref) is passed as NULL. Each occurrence sets the ATTRIBUTE token to the offending parameter name, so error output identifies precisely which argument is missing. This pattern is characteristic of the shared QP API validation convention.

This package body carries a header revision of 120.2 dated 2005, indicating that its core logic is stable and predates the 12.x releases; the MOAC and OKS-related parameters were layered on top of the original signature without altering the underlying lock and validation behavior.