Search Results wms_rule_7




Overview

WMS_RULE_7 is a PL/SQL package owned by the APPS schema in Oracle E-Business Suite, classified in the ETRM repository as an "OTHER" API type rather than a public, supported interface. It is part of the Oracle Warehouse Management (WMS) family of rule packages used by the WMS rules engine to evaluate and execute warehouse business rules. In EBS 12.1.1 and 12.2.2, the WMS rule engine relies on a set of numbered rule packages (WMS_RULE_1 through WMS_RULE_N plus related PUT-away and picking packages) that encapsulate individual rule logic so that the engine can invoke them dynamically. WMS_RULE_7 therefore acts as a rule container: it exposes cursor management routines and selected data-retrieval functions that support the evaluation of a specific warehouse rule, while the shared engine work is delegated to WMS_RULE_PVT, its primary dependency. The package does not implement transactional order processing itself; its role is to supply the rule engine with the location, subinventory, and locator data required to determine rule outcomes.

Key Procedures and Functions

Three documented program units are exposed by WMS_RULE_7:

  • OPEN_CURS — Opens the package's internal cursor (or cursors) used to drive rule evaluation. It establishes the query context over the relevant inventory tables so that rows qualifying for the rule can be processed one at a time.
  • FETCH_ONE_ROW — Retrieves a single row from the previously opened cursor. It is called iteratively by the caller, typically within a loop, until the cursor is exhausted, allowing the rule engine to evaluate each candidate row in turn.
  • CLOSE_CURS — Closes the cursor opened by OPEN_CURS and releases the associated session resources. This routine provides the necessary cleanup at the end of processing.

No parameter lists are documented in the ETRM metadata, and they should not be assumed. The three routines follow the standard open-fetch-close cursor protocol, which indicates that WMS_RULE_7 is invoked passively by the rule engine rather than driving processing on its own.

Tables Accessed

WMS_RULE_7 references four tables through APPS synonyms: MTL_ITEM_LOCATIONS, MTL_ITEM_SUB_INVENTORIES, MTL_SECONDARY_INVENTORIES, and MTL_SECONDARY_LOCATORS. These are core Oracle Inventory tables. MTL_ITEM_LOCATIONS holds the definition of every storage location, including its subinventory assignment and locator-level attributes; MTL_SECONDARY_INVENTORIES defines subinventories and their planning and control attributes; MTL_ITEM_SUB_INVENTORIES controls item-to-subinventory restrictions; and MTL_SECONDARY_LOCATORS maintains locator-level item restrictions. WMS_RULE_7 reads these tables to determine which locations, subinventories, and locators are valid candidates for a warehouse rule — for example, deciding where material may be put away or picked. The ETRM metadata lists these as referenced tables, and the cursor routines described above are the mechanism by which this data is retrieved.

Usage Notes

Because WMS_RULE_7 is classified as OTHER and is not a published API, it should be treated as internal WMS engine code. It is referenced by only one other package, WMS_RULE_PUT_PKG1, and it may be called indirectly through the rule engine's dynamic invocation of PUT-away packages. Typical invocation paths are WMS-directed put-away and picking operations, the WMS Rules Engine, and possibly mobile supply chain applications (MSCA) transactions that trigger rule evaluation. Direct invocation from custom code is not recommended: the procedure signatures are undocumented in the ETRM repository, and Oracle does not support calling these internals from extensions. Developers who need equivalent functionality should use supported APIs such as WMS_RULE_PVT or the public WMS and INV interfaces. In both 12.1.1 and 12.2.2 the package should remain VALID at the APPS level after patching; any invalidation of WMS_RULE_7 typically propagates from changes to its dependencies, notably WMS_RULE_PVT.