Search Results ip_categories




Overview

APPS.PO_PDOI_LINE_PROCESS_PVT is a private PL/SQL package body in Oracle E-Business Suite that supports the Purchasing Document Open Interface (PDOI). Its primary business function is to process interface records representing purchase order lines and line locations during the import of external purchasing documents into Oracle Purchasing. In EBS 12.1.1 and 12.2.2, PDOI allows purchase orders, blanket agreements, and contracts to be loaded from external systems or feeder programs across the PO_LINES_INTERFACE and PO_LINE_LOCATIONS_INTERFACE tables. This package handles the manipulation of line-level interface rows, validating, defaulting, deriving, and reorganizing them so they can be safely moved into the base purchasing tables.

Key Procedures and Functions

The documented package exposes fourteen procedures, though as a PVT (private) API it is not intended for direct customer invocation.

  • REJECT_DUP_LINES_FOR_SPO — identifies and flags duplicate line records occurring within standard purchase order imports, preventing duplicate lines from being loaded.
  • REJECT_INVALID_ACTION_LINES — marks lines that carry invalid action codes as errors so the interface processor can exclude them.
  • OPEN_LINES — initializes the internal line processing structures required for subsequent processing steps.
  • FETCH_LINES — retrieves line interface records for processing.
  • DERIVE_LINES — populates derived values on line records where the source did not supply them.
  • DERIVE_LINES_FOR_UPDATE — performs the same derivation logic for records being updated.
  • DEFAULT_LINES and DEFAULT_LINES_FOR_UPDATE — apply defaulting rules for inserted and updated line interface records respectively.
  • VALIDATE_LINES — enforces validation rules against line interface data.
  • MATCH_LINES — reconciles interface line records with existing purchasing data.
  • CHECK_LINE_LOCATIONS — validates the shipment and line location records associated with a line.
  • UPDATE_LINE_INTF_TBL — writes processed results back to the line interface table.
  • UNIQUENESS_CHECK — ensures interface lines are unique before loading.
  • SPLIT_LINES — splits line interface records where required to conform to purchasing structure.

The package also includes private derivation helpers such as derive_item_id, derive_item_revision, derive_job_id, derive_job_business_group_id, and derive_category_id, which resolve item, revised item, project job, and category identifiers during line processing.

Tables Accessed

The package reads and writes interface and base purchasing tables, including PO_HEADERS_INTERFACE, PO_LINES_INTERFACE, PO_ATTR_VALUES_TLP_INTERFACE, PO_HEADERS, PO_HEADERS_ALL, and PO_HEADERS_DRAFT_ALL. It references MTL_SYSTEM_ITEMS, MTL_SYSTEM_ITEMS_KFV, MTL_SYSTEM_ITEMS_TL, and MTL_ITEM_TEMPLATES to resolve item attributes, MTL_ITEM_CATEGORIES and MTL_CATEGORIES_KFV for category derivation (relevant to category_id handling and the ip_categories area), MTL_UNITS_OF_MEASURE for unit of measure validation, and PER_JOBS/PER_JOBS_TL for project job resolution. DBMS_SQL underlies its dynamic SQL handling.

Usage Notes

This package is invoked internally by the Purchasing Document Open Interface concurrent program during line-level import processing. It is not a public API and should not be called directly by custom code; instead, customers should use the supported PDOI path via the PO Interface concurrent request. Because parameters consist largely of PL/SQL tables used for bulk processing, custom extensions that reference it risk failure across patches or releases.