Search Results line_index




Overview

APPS.PV_PRICE_PVT is a private PL/SQL package body in Oracle EBS that supports pricing and enrollment request processing within the Partner / Channel Revenue Management (PV) product family. The package is classified as a PVT (private) API, meaning it is not exposed as a supported public interface but is instead called internally by other PV modules, concurrent programs, or wrapper packages. Its business role is to determine whether valid billing address information exists for a partner and contact party, and to validate and process partner program pricing requests initiated through enrollment requests.

The package header comment ($Header: pvxvprib.pls 120.5 2006/05/04) indicates that this body has been stable, with the current version lineage dating to the 12.x code line and largely unchanged through 12.1.1 and 12.2.2. Standard FND debug constants (G_MSG_LVL_DEBUG_HIGH, MEDIUM, LOW) are declared at the package level, providing consistent debug message logging consistent with Oracle's PL/SQL API conventions.

Key Procedures and Functions

The documented API surface consists of one procedure and one private function:

  • PRICE_REQUEST — The principal public entry point in this package. It accepts API versioning, initialization message list, and commit flags typical of Oracle PL/SQL APIs, along with partner account, partner party, and contact party identifiers, a transaction currency, and an enrollment request ID table. It returns the standard API return status, message count, and message data out parameters. The procedure resolves inventory item IDs and enrollment request IDs, iterating over the JTF_NUMBER_TABLE collections to drive pricing logic per enrollment request. This is the procedure most relevant to the "line_index" search term, since line-level pricing is processed per element in the enrollment request collection.
  • check_billing_address_exists — A private helper function returning BOOLEAN. It validates that a BILL_TO party site use exists and is active for the supplied partner party or contact party. It queries HZ_PARTY_SITES and HZ_PARTY_SITE_USES, checking for records with site_use_type = 'BILL_TO' and status = 'A' for either party. When no valid billing address is found, it returns FALSE, allowing PRICE_REQUEST to raise an appropriate validation message.

Tables Accessed

The package reads and writes the following objects through APPS synonyms:

  • HZ_PARTY_SITES and HZ_PARTY_SITE_USES — Queried by check_billing_address_exists to confirm an active BILL_TO address exists for the partner or contact party.
  • MTL_SYSTEM_ITEMS_B — Used to resolve inventory item identifiers associated with pricing requests.
  • PV_PARTNER_PROGRAM_B — Provides partner program definition data that governs which pricing applies to a given partner and enrollment.
  • PV_PG_ENRL_REQUESTS — The enrollment request base table; PRICE_REQUEST consumes enrollment request IDs to drive per-request pricing.
  • DUAL and PLITBLM — Utility references: DUAL for the EXISTS-based billing address check, and PLITBLM as the standard Oracle PL/SQL index-by table type used in collection manipulation.

Usage Notes

Because PV_PRICE_PVT is a PVT-classified package, it is not intended to be called directly by customer extensions. It is invoked internally by the PV (Partner / Channel Revenue Management) application layer, typically from Partner Program enrollment flows, pricing validation logic, or higher-level public APIs that delegate to it. No other packages are documented as referencing it directly, suggesting its callers reside within the PV module itself or in forms/concurrent processes built on top of the PV APIs.

When invoked, PRICE_REQUEST follows standard EBS API conventions: callers should pass FND_API.G_FALSE for p_init_msg_list to preserve existing message stacks, and should handle the returned x_return_status, x_msg_count, and x_msg_data using FND_MSG_PUB for message retrieval. Developers troubleshooting pricing or billing-address errors in partner enrollment should examine this package alongside its callers, since check_billing_address_exists failures manifest as validation exceptions rather than database errors.