Search Results po_items_sv1




Overview

PO_ITEMS_SV1 is a server-side PL/SQL validation package owned by the APPS schema in Oracle E-Business Suite. It belongs to the Oracle Purchasing module and provides the runtime validation and derivation logic used when purchasing documents reference inventory items. The package exposes two documented functions: one that validates that a supplied inventory item is eligible for purchasing in a given inventory organization, and one — derive_item_id — that resolves an internal inventory item identifier from a user-entered item number or, alternatively, from a vendor product number in the context of a specific supplier and organization.

The package is classified as a generic "OTHER" API rather than a formal public interface. Its procedures are intended primarily to be called internally by Purchasing forms and by other PL/SQL units within the Order Management and Purchasing family, and it is not documented as a supported external integration API.

Key Procedures and Functions

  • val_item_id — Validates that the inventory item passed by the caller exists in MTL_SYSTEM_ITEMS for the specified organization and satisfies the purchasing eligibility criteria: the item must be enabled, flagged as a purchasing item, purchasing-enabled, and must carry the outside-operation flag value expected by the caller. Date-effectivity is also checked, using start_date_active and end_date_active with NVL defaults of the current date. The function returns a Boolean indicating success or failure, and on an unexpected error delegates to PO_MESSAGE_S.SQL_ERROR before re-raising.
  • derive_item_id — The function of interest in the user's search. It takes an item number, a vendor product number, a vendor identifier, an organization identifier, and an IN OUT error code. When an item number is supplied, the function attempts to resolve the corresponding inventory item identifier by querying the item master under the relevant organization context. The error code parameter is populated on failure so that the calling form or program can surface a message. Parameters for vendor product number and vendor identifier support the fallback resolution path used when the buyer enters supplier-facing catalog information rather than an internal item number.

Tables Accessed

  • MTL_SYSTEM_ITEMS — the primary validation and lookup source, supplying item attributes, organization assignment, purchasing flags, and effectivity dates.
  • MTL_SYSTEM_ITEMS_KFV — the key-flexfield view of the item master, used to resolve flexible-key item identifiers and descriptive item numbers during derivation.
  • PO_HEADERS — the purchasing document header table, consulted for sourcing context.
  • PO_LINES — the purchasing document line table, providing the document context in which item identifiers are applied.

Usage Notes

PO_ITEMS_SV1 is normally invoked from the Oracle Purchasing entry forms and from other PL/SQL packages in the purchasing flow, particularly when a user enters or updates an item on a requisition, purchase order, or RFQ line. The package is referenced by at least one other package in the EBS code tree, confirming its role as an internal shared service rather than a standalone program.

Customizations that need to resolve a user-entered item number to an inventory_item_id should prefer documented public APIs such as PO_ITEM_SV1 or the item validation routines in INV_ITEM_SV1. Direct calls to derive_item_id are possible from custom code but are unsupported, and the signature must not be assumed stable across releases. Because the package relies on MTL_SYSTEM_ITEMS organization assignments, callers must always supply a valid organization identifier; failure to do so results in failed derivation rather than a cross-organization match. Error handling should retain the returned error code and combine it with standard message retrieval to present a meaningful message to the end user.