Search Results so_header_attributes




Overview

The SO_HEADER_ATTRIBUTES table resides in the OE (Order Entry) schema of Oracle E-Business Suite and is documented as VALID across releases 12.1.1 and 12.2.2. As its description states, the object holds "additional attributes of order headers." Practically, it functions as a 1:1 extension of the order header record, providing a container for descriptive flexfield (DFF) segment values and other user- or program-populated attributes that are not part of the core sales order header itself.

The table's naming and structure are consistent with Oracle's standard "attribute extension" pattern: a table keyed on the same surrogate identifier as the parent, carrying the same WHO/audit columns and a block of GLOBAL_ATTRIBUTE columns for extensibility. From a Data Vault modeling perspective, the heuristic classification mined from the foreign-key structure is standalone. This suggests the object is not itself a foreign key participant in a wider hub/link topology but is instead best modeled as a satellite attached to the order header hub — a descriptive table whose cardinality is one row per parent key.

Key Information Stored

The table is documented with 31 columns. The most significant are:

The remaining columns are standard Oracle audit and concurrent-program metadata: CREATION_DATE, CREATED_BY, LAST_UPDATE_DATE, LAST_UPDATED_BY, LAST_UPDATE_LOGIN, PROGRAM_APPLICATION_ID, PROGRAM_ID, PROGRAM_UPDATE_DATE, and REQUEST_ID. Note that because the primary key is HEADER_ID and the unique index also keys on HEADER_ID, there is no separate business-key column distinct from the surrogate header identifier; the header identifier is itself both the surrogate link and the effective unique key.

Common Use Cases and Queries

The table is principally queried to retrieve DFF values that users entered against an order header, or to report/validate order attributes programmatically. A typical retrieval joins the attributes to the header:

  • Header-to-attributes lookup: SELECT h.order_number, a.global_attribute_category, a.global_attribute1 FROM oe.so_header_attributes a JOIN oe.oe_order_headers_all h ON a.header_id = h.header_id WHERE h.order_number = :p_order;
  • Flexfield-driven reporting: filter or group on a specific GLOBAL_ATTRIBUTE after resolving the appropriate GLOBAL_ATTRIBUTE_CATEGORY.
  • Data migration or interface validation: confirm that a header created via Order Management APIs, Open Interface, or import has the expected DFF payload.
  • Audit and traceability: using CREATED_BY, CREATION_DATE, LAST_UPDATED_BY, and PROGRAM_ID to determine which user or concurrent program last populated the attribute row.

Related Objects

Because SO_HEADER_ATTRIBUTES is keyed on HEADER_ID and classified as standalone, its most significant relationships are:

  • OE_ORDER_HEADERS_ALL — the parent sales order header; joined on HEADER_ID = HEADER_ID. This is the primary dependent/inherited relationship.
  • OE_ORDER_LINES_ALL — order lines linked to the same header; used for header-plus-line reporting.
  • SO_HEADER_ATTRIBUTES flexfield definitions in the FND_DESCRIPTIVE_FLEXS and FND_FLEX_VALUES tables, which define the meaning of GLOBAL_ATTRIBUTE_CATEGORY and the segment columns.
  • OE_ORDER_HEADERS_ALL-related public APIs (e.g., OE_ORDER_PUB / Order Management API) that write header attributes during order creation and update.
  • FND_FLEX_VALUES_TL and FND_FLEX_VALUES for value-set validation of populated attributes.

Understanding this table is essential whenever order header descriptive flexfields must be extracted, migrated, or reconciled within Order Management.