Search Results so_lines_all




Overview

The SO_LINES_ALL table is a core transactional data store within the Oracle E-Business Suite (EBS) Order Entry (OE) module. It represents the individual line items that constitute a sales order. Every record in this table corresponds to a specific product or service requested on an order, capturing the detailed transactional data for that item. As a multi-organization enabled table (indicated by the "_ALL" suffix), it contains data for all operating units, with access typically controlled by the MOAC (Multi-Org Access Control) security profile. The table's primary key, LINE_ID, uniquely identifies each order line across the system. Its fundamental role is to store the granular details of what is being sold, forming the basis for downstream processes like shipping, invoicing, and fulfillment.

Key Information Stored

The table's structure is defined by its primary and foreign key relationships, which reveal the critical data entities it connects to. The primary column is LINE_ID. The most significant foreign key is HEADER_ID, which links every line to its parent sales order header in the SO_HEADERS_ALL table. Other essential foreign key columns define the line's business context, including PRICE_LIST_ID (SO_PRICE_LISTS_B), SHIP_TO_SITE_USE_ID (RA_SITE_USES_ALL), and TERMS_ID (RA_TERMS_B). The table also manages complex line configurations through self-referencing foreign keys, such as PARENT_LINE_ID, ATO_LINE_ID (for Assemble-to-Order), SERVICE_PARENT_LINE_ID, and LINK_TO_LINE_ID, which establish hierarchical relationships between line items. Columns like COMMITMENT_ID and CREDIT_INVOICE_LINE_ID link lines to the Receivables (AR) module for invoicing and credit memo transactions.

Common Use Cases and Queries

This table is central to any reporting or data extraction involving sales order line details. Common use cases include generating detailed order line reports, analyzing product sales performance, interfacing data to downstream systems, and troubleshooting order fulfillment issues. A fundamental query pattern joins SO_LINES_ALL to its header and other reference tables to create a comprehensive dataset. For example:

  • Basic Order Line Report: SELECT sl.line_number, sl.ordered_item, sl.ordered_quantity, sh.order_number FROM oe.so_lines_all sl JOIN oe.so_headers_all sh ON sl.header_id = sh.header_id WHERE sh.org_id = :p_org_id;
  • Identifying Configurable Items: Queries often filter on or join via the PARENT_LINE_ID or ATO_LINE_ID to find component lines of kits or configured items.
  • Linking to Invoicing: To trace the financial outcome of an order line, developers join SO_LINES_ALL.COMMITMENT_ID to RA_CUSTOMER_TRX_ALL or RA_CUSTOMER_TRX_LINES_ALL.

Related Objects

As indicated by the extensive foreign key metadata, SO_LINES_ALL has a wide array of dependencies. Its principal relationship is with the SO_HEADERS_ALL table. It is heavily referenced by other transactional tables within Order Management, such as SO_LINE_APPROVALS and SO_DROP_SHIP_SOURCES. The table has a recursive relationship with itself through multiple foreign keys (PARENT_LINE_ID, ATO_LINE_ID, etc.), enabling complex line structures. Critical integrations with other modules are established through foreign keys to tables in Receivables (RA_CUSTOMER_TRX_ALL, RA_CUSTOMER_TRX_LINES_ALL, RA_TERMS_B), Inventory (BOM_INVENTORY_COMPONENTS, BOM_BILL_OF_MATERIALS), and Installed Base. For reporting and application access, it is typically accessed via public synonyms and APIs like the Order Management APIs rather than via direct DML.