Search Results ask_commit




Overview

OE_OE_FORM_CANCEL_LINE is a private PL/SQL package owned by the APPS schema in Oracle E-Business Suite Release 12.1.1 and 12.2.2. It is an internal, non-public API that supports the Oracle Order Management order-entry forms in the processing of line and order cancellations. The package name and its header comment block indicate that it is not intended for direct customer invocation; rather, it is called by the Order Management forms infrastructure to service cancel actions initiated by users in the Sales Orders window and related entry forms.

The package encapsulates the business logic required to cancel quantities on individual order lines, cancel entire orders, and cancel the residual (remaining) portion of an order. It carries the standard FND_API error-handling contract through the x_msg_count, x_msg_data, x_return_status, and x_error_count OUT parameters used across its public procedures. Several bug-fix identifiers embedded in the source (for example, bugs 2965878, 2922468, and 2259556) confirm its role as a long-lived maintenance container for cancellation behavior in the Order Management data model.

Key Procedures and Functions

  • PROCESS_CANCEL_QUANTITY — Cancels a specified quantity on selected order lines. It accepts the number of selected records, the collection of selected record identifiers, the cancel-to quantity, cancellation comments, a reason code, a cancellation type, and a multi-record error-handling flag, returning the standard API status and message outputs.
  • PROCESS_CANCEL_ORDER — Performs cancellation at the order level for the selected records, taking cancellation comments, a reason code, and the multi-record error-handling flag, and returning the standard API outputs.
  • CANCEL_REMAINING_ORDER — Cancels the remaining open quantity of an order. The documented source notes that the number of records and record identifiers are passed as IN parameters (bug fix 2259556), reflecting its evolution to support mass multi-record selection.
  • CALL_PROCESS_ORDER — An internal dispatcher that routes the cancellation request into the underlying order-processing API, centralizing the call path used by the other procedures.

Two package-level constants, COMMIT_EXIT_ON_ERROR and ROLLBACK_EXIT_ON_ERROR, together with COMMIT_SHOW_ERROR and ASK_COMMIT, define the transaction and error-handling modes available to callers, allowing the form to commit, roll back, prompt, or continue based on the outcome of the cancellation.

Tables Accessed

The package references three documented tables through APPS synonyms. OE_PRICE_ADJUSTMENTS and OE_PRICE_ADJ_ASSOCS are consulted to reconcile pricing adjustments and their associations when line quantities are reduced or cancelled, ensuring that promotional or discount records remain consistent with the cancelled quantity. PLITBLM is a PL/SQL index-by table type used for in-memory collection handling, supporting the temporary storage of the selected record identifiers and related data during mass cancellation. Additional order, line, and delivery tables are touched indirectly through the order-processing APIs invoked by CALL_PROCESS_ORDER.

Usage Notes

OE_OE_FORM_CANCEL_LINE is invoked exclusively from the Oracle Order Management forms layer, specifically when a user selects a cancel action (cancel quantity, cancel order, or cancel remaining) in the order-entry interface. It is not a documented public API and should not be called directly by customer extensions. The procedure signatures accommodate multi-record selection through the OE_GLOBALS.Selected_Record_Tbl collection and the p_num_of_records parameter, enabling the Forms client to submit batches of selected lines. The g_pkg_name, g_record_ids, g_num_of_records, and IS_MASS_CHANGE package globals preserve selection state across the form session. Because cancellation triggers downstream order-management processing such as pricing adjustment cleanup and workflow activity, integrations should instead use the supported public Order Management APIs; OE_OE_FORM_CANCEL_LINE is referenced by seven other packages and should be treated as internal implementation detail that may change between patch levels.