Search Results po_distributions_pkg2
Overview
PO_DISTRIBUTIONS_PKG2 is a low-level PL/SQL package owned by the APPS schema in Oracle E-Business Suite Release 12.1.1 and 12.2.2. It operates against the purchasing distribution data model, which is the accounting-level breakdown of a purchase order shipment. Each distribution row represents a charge, budget, or accrual allocation associated with a purchase order line location, and carries the accounting flexfield, quantity, amount, and destination information used by receiving, matching, and invoice validation.
The package is not a public application programming interface in the sense of a documented business API. Its ETRM classification is OTHER, reflecting that it functions as a private implementation utility rather than a callable integration point. Its role is to encapsulate two narrow persistence operations — row locking and row deletion — against the distribution tables so that higher-level purchasing modules can manipulate distribution records without embedding raw DML in their own code. Evidence from the dependency metadata shows that PO_DOCUMENT_UPDATE_PVT references PO_DISTRIBUTIONS_PKG2, indicating that the package is consumed internally by the purchasing document maintenance stack during update and revision processing.
Key Procedures and Functions
The ETRM metadata documents two procedures in this package: LOCK_ROW and DELETE_ROW.
- LOCK_ROW — Obtains a serialized lock on a specific purchase order distribution record. Its purpose is to prevent concurrent modification of the same distribution row while a caller is validating or changing dependent data. This is the standard Oracle Forms and PL/SQL concurrency-control pattern, where a row is selected for update before being modified so that competing sessions fail fast rather than overwrite one another.
- DELETE_ROW — Removes a purchase order distribution record. Because distributions are the accounting foundation beneath a shipment, deletion is a sensitive operation that must respect downstream references from receiving, matching, and invoicing. This procedure centralizes that removal so that all internal callers apply the same deletion logic.
Neither routine constitutes a business-level API; both are row-level data manipulation helpers with no documented public parameter contract. They are intended to be invoked only from within the trusted purchasing code base.
Tables Accessed
- PO_DISTRIBUTIONS_ALL — The base table holding all purchase order distribution records regardless of operating unit. Oracle EBS uses the _ALL convention for multi-organization tables, so this is the physical table the package reads and writes.
- PO_DISTRIBUTIONS — The operating-unit filtered view or synonym over PO_DISTRIBUTIONS_ALL. Application code that runs within a specific organization context accesses distributions through this object, and the package's row operations resolve against it.
- PO_LINE_LOCATIONS — The shipment or schedule line to which each distribution belongs. This table is referenced because a distribution cannot exist independently of its line location, so locking or deleting a distribution requires awareness of the parent shipment record to preserve referential integrity.
Usage Notes
PO_DISTRIBUTIONS_PKG2 is an internal utility and is not intended for direct invocation by custom code or integration interfaces. Its documented consumer is PO_DOCUMENT_UPDATE_PVT, the private package that supports the purchase order update and revision flow.
Because the procedures manipulate base distribution rows, any external caller that invoked them directly would bypass the validation, accounting, and change-document logic enforced by the purchasing application. In practice the package is reached indirectly — for example when a user changes a shipment or distribution in the Purchase Orders form (POXPOEPO), or when a concurrent process revises or cancels a document and the update stack determines that rows must be locked or removed.
Developers diagnosing locking contention or unexpected distribution deletions in Release 12.1.1 or 12.2.2 should trace through PO_DOCUMENT_UPDATE_PVT rather than this package, since it is the layer that supplies business context to the row operations. No public API status is claimed for PO_DISTRIBUTIONS_PKG2, and it should be treated as subject to change without notice in future patches. The dependency listing also shows the package as self-referencing, consistent with internal helper structure rather than an outward-facing interface.
-
PACKAGE: APPS.PO_DISTRIBUTIONS_PKG2
12.1.1
owner:APPS, object_type:PACKAGE, object_name:PO_DISTRIBUTIONS_PKG2, status:VALID,
-
PACKAGE: APPS.PO_DISTRIBUTIONS_PKG2
12.2.2
owner:APPS, object_type:PACKAGE, object_name:PO_DISTRIBUTIONS_PKG2, status:VALID,
-
PACKAGE BODY: APPS.PO_DISTRIBUTIONS_PKG2
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:PO_DISTRIBUTIONS_PKG2, status:VALID,
-
PACKAGE BODY: APPS.PO_DISTRIBUTIONS_PKG2
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:PO_DISTRIBUTIONS_PKG2, status:VALID,
-
PACKAGE: APPS.PO_DISTRIBUTIONS_PKG2
12.2.2
-
PACKAGE: APPS.PO_DISTRIBUTIONS_PKG2
12.1.1
-
PACKAGE: APPS.PO_CONSTANTS_SV
12.1.1
owner:APPS, object_type:PACKAGE, object_name:PO_CONSTANTS_SV, status:VALID,
-
PACKAGE: APPS.PO_CONSTANTS_SV
12.2.2
owner:APPS, object_type:PACKAGE, object_name:PO_CONSTANTS_SV, status:VALID,
-
PACKAGE BODY: APPS.PO_DOCUMENT_UPDATE_PVT
12.1.1
owner:APPS, object_type:PACKAGE BODY, object_name:PO_DOCUMENT_UPDATE_PVT, status:VALID,
-
PACKAGE BODY: APPS.PO_DOCUMENT_UPDATE_PVT
12.2.2
owner:APPS, object_type:PACKAGE BODY, object_name:PO_DOCUMENT_UPDATE_PVT, status:VALID,
-
PACKAGE: APPS.PO_WF_DEBUG_PKG
12.2.2
owner:APPS, object_type:PACKAGE, object_name:PO_WF_DEBUG_PKG, status:VALID,
-
12.1.1 DBA Data
12.1.1
-
SYNONYM: APPS.PO_DISTRIBUTIONS
12.1.1
owner:APPS, object_type:SYNONYM, object_name:PO_DISTRIBUTIONS, status:VALID,
-
PACKAGE: APPS.ZX_API_PUB
12.1.1
owner:APPS, object_type:PACKAGE, object_name:ZX_API_PUB, status:VALID,
-
12.1.1 DBA Data
12.1.1
-
PACKAGE: APPS.ZX_API_PUB
12.2.2
owner:APPS, object_type:PACKAGE, object_name:ZX_API_PUB, status:VALID,
-
SYNONYM: APPS.PO_DISTRIBUTIONS
12.2.2
owner:APPS, object_type:SYNONYM, object_name:PO_DISTRIBUTIONS, status:VALID,
-
12.2.2 DBA Data
12.2.2
-
12.2.2 DBA Data
12.2.2
-
SYNONYM: APPS.PO_LINE_LOCATIONS
12.2.2
owner:APPS, object_type:SYNONYM, object_name:PO_LINE_LOCATIONS, status:VALID,
-
PACKAGE BODY: APPS.PO_DISTRIBUTIONS_PKG2
12.1.1
-
SYNONYM: APPS.PO_LINE_LOCATIONS
12.1.1
owner:APPS, object_type:SYNONYM, object_name:PO_LINE_LOCATIONS, status:VALID,
-
APPS.PO_DOCUMENT_UPDATE_PVT dependencies on PO_DISTRIBUTIONS_PKG2
12.2.2
-
SYNONYM: APPS.PO_DISTRIBUTIONS_ALL
12.1.1
owner:APPS, object_type:SYNONYM, object_name:PO_DISTRIBUTIONS_ALL, status:VALID,
-
PACKAGE: APPS.PO_MESSAGE_S
12.1.1
owner:APPS, object_type:PACKAGE, object_name:PO_MESSAGE_S, status:VALID,
-
APPS.PO_DOCUMENT_UPDATE_PVT dependencies on PO_DISTRIBUTIONS_PKG2
12.1.1
-
APPS.PO_DISTRIBUTIONS_PKG2 dependencies on PO_DISTRIBUTIONS_PKG2
12.2.2
-
APPS.PO_DISTRIBUTIONS_PKG2 dependencies on PO_DISTRIBUTIONS_PKG2
12.1.1
-
PACKAGE: APPS.PO_MESSAGE_S
12.2.2
owner:APPS, object_type:PACKAGE, object_name:PO_MESSAGE_S, status:VALID,
-
SYNONYM: APPS.PO_DISTRIBUTIONS_ALL
12.2.2
owner:APPS, object_type:SYNONYM, object_name:PO_DISTRIBUTIONS_ALL, status:VALID,
-
PACKAGE BODY: APPS.PO_DISTRIBUTIONS_PKG2
12.2.2
-
APPS.PO_DOCUMENT_UPDATE_PVT SQL Statements
12.1.1
-
APPS.PO_DOCUMENT_UPDATE_PVT SQL Statements
12.2.2
-
APPS.PO_DISTRIBUTIONS_PKG2 dependencies on PO_DISTRIBUTIONS
12.2.2
-
APPS.PO_DISTRIBUTIONS_PKG2 dependencies on PO_DISTRIBUTIONS
12.1.1
-
APPS.PO_DISTRIBUTIONS_PKG2 dependencies on FND_PROFILE
12.2.2
-
APPS.PO_DOCUMENT_UPDATE_PVT dependencies on PO_DISTRIBUTIONS
12.1.1
-
APPS.PO_DOCUMENT_UPDATE_PVT dependencies on PO_DISTRIBUTIONS
12.2.2
-
APPS.PO_DOCUMENT_UPDATE_PVT dependencies on PO_CORE_S
12.1.1
-
APPS.PO_DOCUMENT_UPDATE_PVT dependencies on PO_CORE_S
12.2.2
-
PACKAGE: APPS.FND_LOG
12.2.2
owner:APPS, object_type:PACKAGE, object_name:FND_LOG, status:VALID,
-
PACKAGE: APPS.APP_EXCEPTION
12.2.2
owner:APPS, object_type:PACKAGE, object_name:APP_EXCEPTION, status:VALID,
-
PACKAGE BODY: APPS.PO_DOCUMENT_UPDATE_PVT
12.1.1
-
PACKAGE BODY: APPS.PO_DOCUMENT_UPDATE_PVT
12.2.2
-
PACKAGE: APPS.APP_EXCEPTION
12.1.1
owner:APPS, object_type:PACKAGE, object_name:APP_EXCEPTION, status:VALID,
-
PACKAGE: APPS.FND_PROFILE
12.2.2
owner:APPS, object_type:PACKAGE, object_name:FND_PROFILE, status:VALID,
-
12.2.2 DBA Data
12.2.2
-
12.2.2 DBA Data
12.2.2
-
12.1.1 DBA Data
12.1.1
-
12.1.1 DBA Data
12.1.1