Search Results order_total




Overview

The view SO_HEADERS_APPLY_HOLDS_V is a reporting and integration construct within the Oracle E-Business Suite Order Entry (OE) module. It presents a denormalized projection of sales order header information enriched with order type, customer, and computed order total values. Its purpose is to support processes that apply holds against sales order headers, as the view name implies, by exposing a consolidated, query-friendly result set rather than requiring consumers to join and compute values manually.

In Oracle EBS 12.1.1 and 12.2.2, the object is documented in the ETRM as belonging to the OE - Order Entry product. Notably, the documentation states that the view is Not implemented in this database, meaning the object may exist as a defined template but is not physically present or active in every environment. Administrators should verify existence via ALL_VIEWS or DBA_VIEWS before assuming availability.

Underlying Base Objects

The view text references three base objects: SO_HEADERS, SO_ORDER_TYPES, and RA_CUSTOMERS. The primary driving table is SO_HEADERS (aliased H), which supplies the sales order header attributes. SO_ORDER_TYPES (aliased OT) is joined on ORDER_TYPE_ID to retrieve the descriptive order type name. RA_CUSTOMERS (aliased CUST) is joined on CUSTOMER_ID using an outer join (CUST.CUSTOMER_ID(+)), meaning customer data is optional and headers without a resolved customer still appear.

Although the ETRM metadata lists no referenced base objects explicitly, the embedded view text documents these relationships. The ORDER_TOTAL column is not stored in any base table; it is produced by the PL/SQL function OE_QUERY.ORDER_TOTAL(H.HEADER_ID), which computes the total for a given header at runtime.

Key Columns

Common Use Cases and Queries

This view is typically consumed by hold-application logic and by reporting queries requiring order totals alongside customer and type context. Because ORDER_TOTAL is computed per row via a function call, performance-sensitive queries should filter aggressively on HEADER_ID or ORDER_NUMBER.

Sample query listing open orders with their computed totals:

  • SELECT HEADER_ID, ORDER_NUMBER, ORDER_TYPE_NAME, CUSTOMER_NAME, CURRENCY_CODE, ORDER_TOTAL FROM SO_HEADERS_APPLY_HOLDS_V WHERE OPEN_FLAG = 'Y' AND CANCELLED_FLAG = 'N';

Sample query identifying a specific order prior to hold application:

  • SELECT HEADER_ID, ORDER_NUMBER, CUSTOMER_NUMBER, ORDER_TOTAL FROM SO_HEADERS_APPLY_HOLDS_V WHERE ORDER_NUMBER = :order_number;

Because the object is documented as not implemented in every database, integration code should defensively check for its presence. Where absent, equivalent results can be assembled directly from SO_HEADERS, SO_ORDER_TYPES, and RA_CUSTOMERS, invoking OE_QUERY.ORDER_TOTAL explicitly.