Search Results oe_grp_sch_util




Overview

OE_GRP_SCH_UTIL is an Oracle E-Business Suite Order Management utility package (owner APPS, API classification UTIL) that supports group scheduling of order lines. Its documented header carries the revision tag $Header: OEXVGRPS.pls 120.0 2005/06/01 00:26:12 appldev noship $, and the package is declared with AUTHID CURRENT_USER. The package encapsulates the logic required to evaluate a set of order line identifiers as a scheduling group, determine whether individual lines or groups of lines may be rescheduled, and carry out the schedule action against the order data model. Because availability checking must be coordinated with the ATP engine, the package returns an ATP table typed as OE_ATP.Atp_Tbl_Type and a return status for each scheduling request.

The central data structure is Sch_Group_Rec_Type, a record carrying the group identifiers (request_id, entity_type, header_id, line_id, top_model_line_id, ship_set_number, arrival_set_number), the current group attributes (ship_from_org_id, schedule_ship_date, schedule_arrival_date, request_date, ship_to_org_id, quantity, freight_carrier, latest_date, demand_class_code, shipment_priority), a parallel set of "old" attribute fields, and the scheduling action indicators (action, delayed_request, explode). A companion associative array type, number_arr (TABLE OF number INDEX BY BINARY_INTEGER), is used for handling lists of numeric identifiers.

Key Procedures and Functions

Ten documented procedures and functions make up the public interface. Their names describe distinct aspects of the group scheduling flow:

  • GROUP_SCHEDULE — the primary entry point. Accepts a Sch_Group_Rec_Type group request record and returns the ATP table and a return status.
  • SCHEDULE_ORDER — performs the schedule action for a given order header, taking as input the header identifier, schedule action, entity type, and line identifier, and returning the ATP table.
  • SCHEDULE_ATO — handles scheduling for configure-to-order / assemble-to-order structures.
  • SCHEDULE_SET_OF_LINES — schedules a set of lines treated as a unit.
  • PROCESS_SET_OF_LINES — processes a set of lines within the group scheduling flow.
  • SCHEDULE_SMC — scheduling logic associated with the SMC (single/multiple configuration) scheduling context.
  • SCHEDULE_SET — schedules a set, using the ship set and arrival set numbering carried on the group record.
  • SCH_MULTI_SELECTED_LINES — schedules multiple lines selected together by the user.
  • LINE_IN_SCH_GROUP — a predicate-style helper that determines whether a given line participates in a scheduling group.
  • COMPARE_SET_ATTR — the comparison routine. It evaluates the current group attribute fields against their "old" counterparts on Sch_Group_Rec_Type to detect whether the scheduling-relevant attributes of a set have changed. This is the routine the user searched for, and it is the mechanism by which the package decides whether a group must be re-evaluated or rescheduled.

Tables Accessed

The documented tables referenced through APPS synonyms are MTL_SYSTEM_ITEMS, OE_ORDER_LINES, OE_ORDER_LINES_ALL, and PLITBLM. MTL_SYSTEM_ITEMS provides item-level scheduling attributes used when validating the items on the affected lines. OE_ORDER_LINES and OE_ORDER_LINES_ALL supply the order line, ship set, and arrival set context required to identify lines belonging to a group and to read their existing scheduling values. PLITBLM is the Order Management line detail table used to persist and update scheduling attributes and action results on the line and its detail rows.

Usage Notes

OE_GRP_SCH_UTIL is a utility layer rather than a user-facing API. It is invoked when Order Management must schedule multiple lines as a coordinated group—typically from the Sales Orders scheduling flows, including rescheduling and set-based scheduling actions, and from concurrent or custom programs that need to reschedule sets of order lines against ATP. The package is referenced by five other packages, indicating that it is consumed internally within the Order Management scheduling stack rather than called directly by end users. Because it returns the standard OE_ATP.Atp_Tbl_Type plus a return status, callers should treat it as an ATP-aware scheduling utility and handle the returned status and ATP table in the same manner as other Order Management scheduling APIs. Customizations that need attribute-level change detection for a scheduling set should call COMPARE_SET_ATTR against a populated Sch_Group_Rec_Type rather than re-implementing the old-versus-new attribute comparison. As this is an internal, non-noship-supported utility with an old revision tag, direct invocation from custom code should be undertaken with the understanding that behavior is governed by the Order Management scheduling internals.