Search Results so_rule_formula_components




Overview

The SO_RULE_FORMULA_COMPONENTS table is a core repository for pricing formula components 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 foundational data structure for defining the atomic elements that constitute complex pricing rules and calculations. This table's primary role is to store the individual components—such as pricing attributes, columns, and operands—that are assembled into formulas used by the Advanced Pricing engine to determine prices, discounts, surcharges, and promotions on sales orders and quotes. Its existence is critical for the flexible and configurable pricing models that the application supports.

Key Information Stored

The table's central identifier is the FORMULA_COMPONENT_ID, which is the primary key. The most significant data elements stored are the five foreign key columns (ENTITY_ID_1 through ENTITY_ID_5) that link to the SO_ENTITIES table. These columns hold references to specific pricing entities, which represent the operands, operators, and pricing attributes (like list price, cost, or a specific item attribute) used in a formula. The combination and sequence of these entity IDs define the logic of a pricing calculation step. While the provided metadata does not list all columns, typical implementations also include columns to denote the component's sequence within a formula, its data type, and creation/modification audit information.

Common Use Cases and Queries

A primary use case is troubleshooting or analyzing the construction of a specific pricing rule. For instance, to decode the formula for a particular pricing rule line, a technical consultant or analyst would join this table to SO_PRICING_RULE_LINES and SO_ENTITIES. A common query pattern involves listing all components for a given rule line to understand the calculation logic.

  • Sample Query: SELECT rl.formula_component_id, comp.entity_id_1, e1.entity_code, comp.entity_id_2, e2.entity_code FROM so_pricing_rule_lines rl, so_rule_formula_components comp, so_entities e1, so_entities e2 WHERE rl.formula_component_id = comp.formula_component_id AND comp.entity_id_1 = e1.entity_id(+) AND comp.entity_id_2 = e2.entity_id(+) AND rl.pricing_rule_line_id = :p_line_id ORDER BY comp.sequence_number;
  • Reporting Use Case: Generating a master list of all formula components used across the pricing setup, which is essential for impact analysis before modifying a widely used pricing attribute or entity.

Related Objects

The table maintains integral relationships with several key objects in the Advanced Pricing schema, as documented by the foreign key constraints.

  • SO_ENTITIES: This is the most critical relationship. The five foreign key columns (ENTITY_ID_1 to ENTITY_ID_5) in SO_RULE_FORMULA_COMPONENTS all reference the ENTITY_ID column in the SO_ENTITIES table. This relationship resolves the abstract entity IDs into concrete pricing elements like "List Price," "Order Quantity," or arithmetic operators.
  • SO_PRICING_RULE_LINES: The table is referenced by the FORMULA_COMPONENT_ID foreign key in SO_PRICING_RULE_LINES. This is the primary link that associates a constructed formula component with an active pricing rule line applied to orders.
  • Primary Key: The SO_RULE_FORMULA_COMPONENTS_PK constraint on FORMULA_COMPONENT_ID ensures the uniqueness of each component definition.