Search Results g_fulfill_with_activity




Overview

APPS.OE_LINE_FULLFILL is a server-side PL/SQL package body in Oracle E-Business Suite Order Management (OM). It encapsulates the fulfillment logic applied to order, blanket, and return lines, calculating and maintaining fulfilled quantities on those lines and coordinating the fulfillment activities exposed through Oracle Workflow. Its header signature indicates a long maintenance history, with the current revision (120.24.12020000.8, dated 2013/04/09) shared across release levels such as 12.1.1 and 12.2.2. The package is classified in ETRM as an OTHER API rather than a public interface, which signals that it is intended primarily for internal invocation by Order Management, shipping, and Inventory processing rather than as a supported customer-facing entry point.

A central responsibility is synchronizing fulfilled quantity on blanket lines. The local procedure Update_Blanket_Qty updates fulfilled quantity on a blanket line as referencing release lines are fulfilled, and for RMAs it updates returned quantity as return lines are received. It resolves the blanket currency and UOM, converts amounts where necessary, and supports a default of NULL by falling back to the fulfilled quantity carried on the supplied line record. Constants such as G_FULFILL_WITH_ACTIVITY and G_FULFILL_NO_ACTIVITY distinguish fulfillment processed with Workflow activity from fulfillment processed without it, and G_BINARY_LIMIT is inherited from OE_GLOBALS. The package also maintains an internal table type, processed_set, to track processed lines.

Key Procedures and Functions

  • IS_PART_OF_FULFILLMENT_SET — Determines whether a given line belongs to a fulfillment set, supporting set-based processing of related lines.
  • FULFILL_LINE — Performs fulfillment for an individual order or return line; this is the primary target of the "fulfill_line" search and drives quantity computation and downstream updates.
  • PROCESS_FULFILLMENT — Orchestrates fulfillment across the lines under consideration, applying the set and activity context.
  • GET_FULFILLMENT_ACTIVITY — Retrieves the fulfillment activity applicable to the line being processed.
  • GET_ACTIVITY_RESULT — Returns the result of a fulfillment (or deferred) Workflow activity.
  • CANCEL_LINE — Handles cancellation of a line within the fulfillment flow, keeping fulfilled and canceled state consistent.
  • GET_FULFILLMENT_SET — Returns the fulfillment set associated with the line or transaction.
  • FULFILL_SERVICE_LINES — Fulfills service lines associated with the order, ensuring service items follow their parent lines.

Tables Accessed

The package operates against the core Order Management and Shipping tables via APPS synonyms. Order and line data are read from and written to OE_ORDER_HEADERS, OE_ORDER_HEADERS_ALL, OE_ORDER_LINES, and OE_ORDER_LINES_ALL. Blanket and release relationships are maintained through OE_BLANKET_HEADERS, OE_BLANKET_HEADERS_EXT, OE_BLANKET_LINES, and OE_BLANKET_LINES_EXT, consistent with the blanket quantity update logic. Fulfillment set definitions are resolved through OE_LINE_SETS, OE_SETS, and RA_RULES. Workflow integration relies on WF_PROCESS_ACTIVITIES and WF_ITEM_ACTIVITY_STATUSES, while PLITBLM is used for binary or LOB handling governed by G_BINARY_LIMIT.

Usage Notes

OE_LINE_FULLFILL is not a customer-facing API; it is reached indirectly. It is referenced by seven other packages, and is typically invoked during pick, ship, and receive confirmation processing, blanket release fulfillment, and RMA receipt, as well as from Order Management forms such as Sales Orders and Quick Order. Concurrent programs that perform fulfillment or quantity synchronization may call it through those referencing packages. Custom code should not depend on its procedures directly, because the internal structure, constants, and local procedures are not guaranteed to remain stable across patches or release upgrades; the supported fulfillment entry points in OE_Order_PUB and the fulfillment APIs should be used instead.