Search Results default_dists
Overview
APPS.PO_PDOI_DIST_PROCESS_PVT is a private (PVT) PL/SQL package within the Oracle Purchasing module of Oracle E-Business Suite. Its name reflects its role: PO (Purchasing), PDOI (Purchasing Document Open Interface), and DIST (distribution) processing. The package serves as the distribution-handling engine of the Purchasing Documents Open Interface, the batch mechanism by which externally sourced requisition, purchase order, and agreement data are imported into Oracle Purchasing from interface tables. In R12.1.1 and R12.2.2 the Open Interface is commonly known as PDOI, and it is the supported route for loading documents from external systems, legacy conversions, and XML or flat-file feeds.
Where PO_PDOI_HEADER_PROCESS_PVT manages header-level validation and creation, PO_PDOI_DIST_PROCESS_PVT owns the distribution lines that allocate a purchase order shipment across accounting, charge, and delivery attributes. Because distributions carry the accounting flexfield, quantity, and destination information that drive receiving, matching, and encumbrance, this package performs the validation and derivation logic that determines whether an imported document can be created successfully. The package is classified as PVT, indicating it is an internal implementation package not intended as a public API surface, though it remains callable from PL/SQL in practice.
Key Procedures and Functions
The documented package exposes six procedures. Each plays a distinct role in the distribution processing lifecycle:
- OPEN_DISTS — Opens a cursor or working set over the distribution records that require processing for the current run, establishing the driving set of rows drawn from the distribution interface.
- FETCH_DISTS — Retrieves the next distribution row from the open set so that subsequent validation and derivation logic can operate on it.
- DEFAULT_DISTS — Applies defaulting rules to distribution attributes that were not supplied by the source system, drawing defaults from item, organization, and purchasing setup.
- DERIVE_DISTS — Derives dependent distribution values from other document, line, or shipment attributes where the interface does not provide them explicitly.
- VALIDATE_DISTS — Validates the distribution data against Purchasing business rules and setup, flagging errors that will prevent document creation.
- DERIVE_ACCOUNT_ID — Resolves the distribution accounting flexfield (CODE_COMBINATION_ID) based on the charge account, accrual, and variance rules applicable to the transaction.
Together these procedures form the default-derive-validate sequence applied to each distribution before the document is committed.
Tables Accessed
The package reads and writes a defined set of interface and base tables through APPS synonyms.
- PO_DISTRIBUTIONS_INTERFACE — The primary staging table holding imported distribution rows; read, defaulted, derived, and validated here.
- PO_HEADERS_INTERFACE, PO_LINE_LOCATIONS_INTERFACE — Parent header and shipment data used to derive distribution context.
- PO_HEADERS_ALL, PO_SESSION_GT — Base header data and the session-scoped temporary table used to carry processing context across the run.
- PO_HEADERS_DRAFT_ALL, PO_LINES_DRAFT_ALL, PO_LINE_LOCATIONS_DRAFT_ALL — Draft (pre-commit) document structures populated during processing.
- MTL_SYSTEM_ITEMS, MTL_PARAMETERS, MTL_SECONDARY_INVENTORIES, MTL_ITEM_SUB_INVENTORIES — Item and inventory organization setup used for defaulting destination, subinventory, and item attributes.
- BOM_RESOURCES — Resource information supporting outside-processing and service distributions.
- HR_ORGANIZATION_INFORMATION — Organization classification data used in derivation logic.
- FND_NEW_MESSAGES — Message repository for returning validation errors to the caller.
Usage Notes
PO_PDOI_DIST_PROCESS_PVT is invoked indirectly rather than directly by end users. It is referenced by PO_PDOI_HEADER_PROCESS_PVT and PO_PDOI_MAINPROC_PVT, placing it within the orchestration chain driven by the Purchasing Documents Open Interface concurrent program. The typical invocation sequence begins with PO_PDOI_MAINPROC_PVT, which coordinates header, line, shipment, and distribution processing for each staged document; PO_PDOI_DIST_PROCESS_PVT is called to process the distribution segment of that flow. The package also references itself, indicating internal recursion or reuse of its procedures.
Because the package is PVT and relies on PO_PDOI_TYPES for shared record and collection definitions, it should not be treated as a stable public API. Customizations should avoid calling it directly; instead, extensions should populate PO_DISTRIBUTIONS_INTERFACE and submit the standard Open Interface concurrent program. This ensures that defaulting, derivation, and validation occur in the supported sequence and that errors are surfaced through FND_NEW_MESSAGES as designed. In R12.2.2 the same behavior applies, with the package remaining VALID in the APPS schema and governed by the Online Patching editioning model, so any diagnostic queries against its dependencies should account for edition-specific object resolution.
-
PACKAGE: APPS.PO_PDOI_DIST_PROCESS_PVT
12.1.1
-
PACKAGE: APPS.PO_PDOI_DIST_PROCESS_PVT
12.2.2
-
APPS.PO_PDOI_DIST_PROCESS_PVT dependencies on PO_PDOI_TYPES
12.1.1
-
APPS.PO_PDOI_DIST_PROCESS_PVT dependencies on PO_PDOI_TYPES
12.2.2
-
APPS.PO_PDOI_DIST_PROCESS_PVT dependencies on PO_PDOI_TYPES
12.2.2
-
APPS.PO_PDOI_DIST_PROCESS_PVT dependencies on PO_PDOI_TYPES
12.1.1
-
PACKAGE BODY: APPS.PO_PDOI_DIST_PROCESS_PVT
12.1.1
-
PACKAGE BODY: APPS.PO_PDOI_DIST_PROCESS_PVT
12.2.2