Search Results aso_line_relationships




Overview

The ASO_LINE_RELATIONSHIPS table is a core data structure within the Oracle E-Business Suite (EBS) Advanced Sales Order (ASO) Order Capture module. It functions as a relational mapping table, specifically designed to establish and manage hierarchical or associative links between individual lines within a sales quote. Its primary role is to enable complex quoting scenarios where one product or service line item is logically connected to another, such as in configurations, bundles, or service agreements. By storing these relationships, the system can maintain data integrity, support pricing rules that span multiple lines, and ensure accurate order fulfillment when a quote is converted to an order.

Key Information Stored

The table's central purpose is to define a relationship between a source quote line and a target quote line. The most critical columns are the foreign keys that create these links. The QUOTE_LINE_ID column stores the identifier for the primary or parent quote line. The RELATED_QUOTE_LINE_ID column stores the identifier for the associated or child quote line. The table's primary key, LINE_RELATIONSHIP_ID, is a unique sequence-generated identifier for each relationship record. While the provided metadata does not list a specific column for the relationship type, its description explicitly states it "records the type of relationship," implying the existence of a column (potentially named RELATIONSHIP_TYPE_CODE or similar) to classify the nature of the link, such as "COMPONENT," "UPGRADE," or "OPTION."

Common Use Cases and Queries

This table is essential for reporting and data extraction related to configured quotes. A common use case is generating a bill of materials (BOM) view for a quoted configuration. Developers and analysts query this table to understand the structure of complex quotes. A typical SQL pattern involves a self-join on the ASO_QUOTE_LINES_ALL table via the relationships table.

SELECT main.line_number AS parent_line,
       rel.line_number AS child_line,
       rel.relationship_type
FROM aso_line_relationships alr,
     aso_quote_lines_all main,
     aso_quote_lines_all rel
WHERE alr.quote_line_id = main.quote_line_id
  AND alr.related_quote_line_id = rel.quote_line_id
  AND main.quote_header_id = :p_quote_id;

This query retrieves all line relationships for a specific quote header, showing the parent-child hierarchy. Another critical use case is during the order import process, where the relationships defined in this table must be preserved to ensure the sales order accurately reflects the quoted structure.

Related Objects

The ASO_LINE_RELATIONSHIPS table has a tightly coupled dependency on the quote lines table. As documented in the foreign key metadata:

  • ASO_QUOTE_LINES_ALL: The table is joined twice to ASO_LINE_RELATIONSHIPS.
    • Join via ASO_LINE_RELATIONSHIPS.QUOTE_LINE_ID = ASO_QUOTE_LINES_ALL.QUOTE_LINE_ID (for the parent line).
    • Join via ASO_LINE_RELATIONSHIPS.RELATED_QUOTE_LINE_ID = ASO_QUOTE_LINES_ALL.QUOTE_LINE_ID (for the related/child line).

This structure confirms the table's role as a pure associative entity between two instances of the same quote line entity. Key related APIs would include those in the ASO_QUOTE_PUB package for quote manipulation, and the table is foundational for views that present a flattened hierarchy of quote lines.