Search Results check_lot_control




Overview

APPS.OE_LINE_DETAILS_PKG is a PL/SQL package body within the Oracle Order Management (OM) module of Oracle E-Business Suite. Its primary business function is to support the creation, maintenance, and validation of order line detail records — the child rows that represent the component-level, lot-controlled, and scheduling-level attributes of a sales order line. These detail rows reside in the SO_LINE_DETAILS table and carry information such as lot numbers, subinventories, warehouses, revisions, component codes, component quantities, and scheduling attributes.

The package is classified as an OTHER API in the ETRM metadata, indicating that it is not a formally published public interface but rather an internal utility package invoked by Order Management forms, concurrent programs, and dependent packages. The header comment ($Header: oexdetb.pls 115.2 99/07/16) reveals that the package has existed since the earliest releases of Oracle Order Entry and was carried forward with minimal structural change into EBS 12.1.1 and 12.2.2. The package exposes two documented procedures: MANUALLY_INSERT_DETAIL and VALIDATE_SCHEDULING_ATTRIBUTES.

Key Procedures and Functions

  • MANUALLY_INSERT_DETAIL — Performs a direct insert into SO_LINE_DETAILS for a specified order line. The procedure accepts the full set of line detail columns, including the primary key (line detail ID), audit columns (creation date, created by, last update date, last updated by, last update login), the parent line ID, inventory item ID, component sequence and component code, quantity, schedule date, lot number, subinventory, warehouse, revision, customer requested lot flag, schedule status code, and the standard DFF context and attribute columns (context, attribute1 through attribute15). It also carries flexfield SVRID columns (quantity, warehouse, demand class, date, and customer-requested) and flag columns such as included item, shippable, transactable, reservable, released, demand class code, unit code, required-for-revenue, component ratio, and customer-requested flags. Several parameters are declared IN OUT, notably the creation and last-update dates and the required-for-revenue flag, indicating that the procedure may normalize or default these values during processing.
  • VALIDATE_SCHEDULING_ATTRIBUTES — Validates the scheduling-related attributes associated with a line detail before the record is committed. This procedure enforces the business rules governing scheduling, lot control, and warehouse assignment coherence — the area most relevant to the "check_lot_control" search term. It ensures that when lot-controlled inventory items are scheduled, the appropriate lot, subinventory, and warehouse values are consistent and permissible.

Tables Accessed

The package references two tables through APPS synonyms. SO_LINE_DETAILS is the principal target: MANUALLY_INSERT_DETAIL writes rows into it, and VALIDATE_SCHEDULING_ATTRIBUTES reads from it to verify existing detail attributes before validation. DUAL is used for single-row SELECT operations, typically for default value retrieval, sequence lookups, or flag evaluation during validation logic. The package also leverages OE_MSG.Set_Buffer_Message (via the internal Raise_Exception helper) to populate the OE_EXC_INTERNAL_EXCEPTION message buffer with ROUTINE, OPERATION, and MESSAGE tokens, appending SQLCODE to the message for diagnostic purposes.

Usage Notes

OE_LINE_DETAILS_PKG is invoked internally by the Order Management transaction forms (for example, the Sales Order and Line Detail windows), by concurrent programs that process scheduled order lines, and by at least one other documented package. Customizations that need to insert line detail rows programmatically should call MANUALLY_INSERT_DETAIL rather than performing raw inserts, because the procedure manages audit columns and IN OUT defaults consistently. Because the package is classified as OTHER rather than a public API, Oracle does not guarantee backward compatibility of its signatures; developers extending lot-control or scheduling behavior in 12.1.1 and 12.2.2 should treat this package as internal and isolate any dependency behind a wrapper.