Search Results so_line_approvals




Overview

The SO_LINE_APPROVALS table is a core data object within the Oracle E-Business Suite (EBS) Order Entry (OE) module, specifically for versions 12.1.1 and 12.2.2. It serves as the central repository for recording and tracking approval actions performed at the individual line level of a sales order. This table is integral to the order workflow and internal control mechanisms, enabling organizations to enforce business rules, validate pricing or terms, and maintain an audit trail for line-level changes. Its existence underscores the granularity of approval processes available in Oracle Order Management, allowing for control beyond the order header.

Key Information Stored

The table's primary purpose is to log each discrete approval event for an order line. Its structure, as indicated by its primary and foreign keys, captures the essential components of an approval transaction. The unique identifier for each approval record is the LINE_APPROVAL_ID. Crucially, the table links to the parent order and specific line via HEADER_ID (to SO_HEADERS_ALL) and LINE_ID (to SO_LINES_ALL). It identifies the human actor through APPROVER_ID (linked to FND_USER) and the system action taken via ACTION_ID (linked to SO_ACTIONS). Furthermore, the RESULT_ID column (linked to SO_RESULTS_B) stores the outcome or result code of the approval action, such as approved, rejected, or pending.

Common Use Cases and Queries

This table is primarily accessed for audit reporting, workflow analysis, and troubleshooting order holds. Common scenarios include generating a line-item approval history report for a specific order, identifying bottlenecks by analyzing pending approvals, or auditing which users approved specific high-value or discounted lines. A typical query would join SO_LINE_APPROVALS with SO_HEADERS_ALL, SO_LINES_ALL, and FND_USER to present a readable audit trail.

  • Sample Query (Approval History): SELECT h.order_number, l.line_number, a.creation_date, u.user_name AS approver FROM oe.so_line_approvals a, oe.so_headers_all h, oe.so_lines_all l, applsys.fnd_user u WHERE a.header_id = h.header_id AND a.line_id = l.line_id AND a.approver_id = u.user_id AND h.order_number = '<ORDER_NUM>' ORDER BY a.creation_date;
  • Use Case: Diagnosing why an order line is on hold by checking for incomplete approval records where the result indicates a pending status.

Related Objects

As defined by its foreign key constraints, SO_LINE_APPROVALS has strong dependencies on several key Order Management and application foundation tables. It is a child table to SO_HEADERS_ALL and SO_LINES_ALL, forming the core order structure. Its relationship to FND_USER provides user information. The links to the workflow-related tables SO_ACTIONS and SO_RESULTS_B are critical, as they classify the type of action performed (e.g., "APPROVE", "REJECT") and its result. This table may also be referenced by various OE workflow APIs and standard Oracle reports that surface approval history.