Search Results set_recursion_mode
Overview
APPS.OE_ORDER_PVT is the core private PL/SQL package body behind Oracle Order Management order processing in Oracle E-Business Suite 12.1.1 and 12.2.2. It implements the internal logic used by the public Order Management APIs and by the Order Organizer, Sales Orders form, and order import workflows. The package is classified as a private (PVT) API, meaning it is not intended as an external integration point; instead it is invoked by supported public APIs and concurrent programs. Its responsibilities include creating and maintaining order headers, lines, sales credits, payments, lot and serial associations, and processing requests issued against an order. The package also manages recursion control, preventing unintended re-entry into order modification logic when nested operations, such as pricing, shipment, or payment processing, invoke order APIs again. The presence of global counters and recursion flags in the specification reflects the package's role as a transactional control layer that guards order integrity during complex, multi-level processing.
Key Procedures and Functions
ETRM 12.2.2 documents seventeen procedures and functions within OE_ORDER_PVT:
- VALID_UPGRADED_ORDER – Validates whether a specified order has been upgraded to a supported structure before further processing is allowed.
- HEADER – Handles creation and maintenance of order header records in the Order Management tables.
- HEADER_SCREDITS – Manages sales credit information at the order header level.
- HEADER_PAYMENTS – Processes and maintains payment information associated with an order header.
- LINES – Creates and maintains order line records, including line-level attributes and relationships.
- LINE_SCREDITS – Manages sales credits attached to individual order lines.
- LINE_PAYMENTS – Processes payment details at the line level.
- LOT_SERIALS – Associates lot and serial numbers with order lines for controlled inventory items.
- PROCESS_REQUESTS_AND_NOTIFY – Submits order-related concurrent requests and manages the notification of results.
- PROCESS_ORDER – Drives the order processing cycle, coordinating validation, scheduling, and dependent operations.
- LOCK_ORDER – Acquires the necessary locks on an order to prevent concurrent modification.
- GET_ORDER – Retrieves order data into internal structures for use by calling routines.
- CANCEL_ORDER – Performs the cancellation logic for an order, including dependent line and credit processing.
- SET_RECURSION_MODE – Controls recursion state using entity-specific counters (header, line, adjustment, sales credit, payment, and related entities). When recursion is active, flags such as OE_GLOBALS.G_RECURSION_MODE are set to prevent infinite re-entry and to suppress or defer exception handling where appropriate.
SET_RECURSION_MODE is of particular interest to developers investigating the search term "set_recursion_mode", as it encapsulates the package's guard logic against nested API calls, and is invoked around operations that may internally re-enter order processing.
Tables Accessed
The package reads and writes the core Order Management and related inventory tables via APPS synonyms. OE_ORDER_HEADERS and OE_ORDER_HEADERS_ALL store header-level data, while OE_ORDER_LINES and OE_ORDER_LINES_ALL store line-level data; the _ALL variants represent the base multi-org tables. OE_SALES_CREDIT_TYPES is referenced for valid sales credit categorizations. MTL_SYSTEM_ITEMS and MTL_SYSTEM_ITEMS_KFV supply item validation and key flexfield description data. BOM_EXPLOSIONS is used where configured item or bill-of-material relationships are required. PLITBLM, a PL/SQL index table used in place of a database table, supports in-memory processing. Collectively, these tables underpin header and line creation, credits, payments, and lot/serial assignment.
Usage Notes
OE_ORDER_PVT is not called directly by customers or integration code. It is invoked internally by supported public APIs, the Sales Orders and Order Organizer forms, order import, and concurrent programs such as Order Processing and Pick Release. The package is referenced by 82 other packages, confirming its role as a central dependency in the Order Management code base. Customizations that must interact with order processing should call the public OE_ORDER_PUB APIs rather than this private package. When recursion errors, ORA-06502, or unexpected re-entry into order APIs occur, SET_RECURSION_MODE and the associated global counters are the first diagnostic targets, as they govern how nested calls to HEADER, LINES, PROCESS_ORDER, and related routines are sequenced and guarded.
-
PACKAGE BODY: APPS.OE_ORDER_PVT
12.2.2
-
PACKAGE BODY: APPS.OE_ORDER_PVT
12.1.1
-
PACKAGE: APPS.OE_ORDER_PVT
12.1.1
-
PACKAGE: APPS.OE_ORDER_PVT
12.2.2
-
APPS.OE_ORDER_PVT dependencies on OE_SET_UTIL
12.1.1
-
APPS.OE_ORDER_PVT dependencies on OE_SET_UTIL
12.2.2
-
APPS.OE_ORDER_PVT dependencies on OE_ORDER_PVT
12.1.1
-
APPS.OE_ORDER_PVT dependencies on OE_HEADER_SECURITY
12.2.2
-
APPS.OE_ORDER_PVT dependencies on OE_HEADER_SECURITY
12.1.1
-
APPS.OE_ORDER_PVT dependencies on OE_ORDER_PVT
12.2.2
-
APPS.OE_ORDER_PVT dependencies on FND_PROFILE
12.2.2
-
APPS.OE_ORDER_PVT dependencies on OE_MSG_PUB
12.2.2
-
APPS.OE_ORDER_PVT dependencies on OE_MSG_PUB
12.1.1
-
APPS.OE_ORDER_PVT dependencies on OE_CONFIG_PVT
12.2.2
-
APPS.OE_ORDER_PVT dependencies on OE_CONFIG_PVT
12.1.1
-
APPS.OE_ORDER_PVT dependencies on FND_PROFILE
12.1.1
-
APPS.OE_ORDER_PVT dependencies on OE_DELAYED_REQUESTS_PVT
12.2.2
-
APPS.OE_ORDER_PVT dependencies on OE_DELAYED_REQUESTS_PVT
12.1.1
-
APPS.OE_ORDER_PVT dependencies on FND_API
12.1.1
-
APPS.OE_ORDER_PVT dependencies on FND_API
12.2.2
-
APPS.OE_ORDER_PVT dependencies on OE_GLOBALS
12.1.1
-
APPS.OE_ORDER_PVT dependencies on OE_DEBUG_PUB
12.1.1
-
APPS.OE_ORDER_PVT dependencies on OE_GLOBALS
12.2.2
-
APPS.OE_ORDER_PVT dependencies on OE_DEBUG_PUB
12.2.2
-
APPS.OE_ORDER_PVT dependencies on OE_ORDER_UTIL
12.1.1
-
APPS.OE_ORDER_PVT dependencies on OE_ORDER_UTIL
12.2.2
-
APPS.OE_ORDER_PVT dependencies on OE_ORDER_PUB
12.2.2
-
APPS.OE_ORDER_PVT dependencies on OE_ORDER_PUB
12.1.1