Search Results po_headers_all_ext_b_n1




Overview

PO.PO_HEADERS_ALL_EXT_B is the extensibility storage table for user-defined attributes attached to Purchasing document headers, covering purchase orders, blanket and contract agreements, and modification (change order) headers. In Oracle EBS 12.1.1 and 12.2.2, the table is owned by the PO schema and resides in the APPS_TS_TX_DATA tablespace. Its FND Design Data registration is PO.PO_HEADERS_ALL_EXT_B, and it currently holds the status VALID in the ETRM repository.

Each row represents one attribute group instance. Single-row attribute groups produce exactly one row per header record, while multi-row attribute groups — addresses being a typical example — produce one row for each row of the group. The documented physical schema for 12.2.2 lists 107 columns, reflecting the generic C_EXT_ATTRn (40), N_EXT_ATTRn (20), UOM_EXT_ATTRn (20), and D_EXT_ATTRn (10) typed attribute slots that back the DFF/UDA design. UDA_TEMPLATE_ID and REVISION_NUM complete the attribute framework. Mapping the header-level entity as a Data Vault hub and this table as the adjacent satellite would be a reasonable modeling suggestion; the metadata itself classifies the vault relationship as standalone, with no foreign keys other than DRAFT_ID referencing PO_DRAFTS.

Key Information Stored

  • EXTENSION_ID — Numeric surrogate primary key, populated from a sequence. It is the sole column of the unique index PO_HEADERS_ALL_EXT_B_PK.
  • ATTR_GROUP_ID — VARCHAR2(30) holding the attribute group identifier; combined with PO_HEADER_ID and DRAFT_ID it forms the business-key candidate for single-row groups.
  • PO_HEADER_ID — The owning purchasing document header; the leading column of the non-unique index PO_HEADERS_ALL_EXT_B_N1.
  • DRAFT_ID — Isolates attribute values captured in draft (uncommitted) versions of the document; part of the alternate uniqueness key.
  • DATA_LEVEL_ID — Data level identifier used to resolve which attribute group definition applies.
  • PK1_VALUE through PK5_VALUE — Numeric components that map to the attribute columns participating in the unique key of a given attribute group, providing the discriminator for multi-row groups.
  • C_EXT_ATTR1..40, N_EXT_ATTR1..20, UOM_EXT_ATTR1..20, D_EXT_ATTR1..10 — Typed storage slots for character, number, unit-of-measure, and date attributes respectively.
  • UDA_TEMPLATE_ID — Links the row to the attribute template (attribute group / UDA definition) in use.
  • REVISION_NUM — Revision or version counter for the row.
  • Standard WHO columnsCREATED_BY, CREATION_DATE, LAST_UPDATED_BY, LAST_UPDATE_LOGIN, LAST_UPDATE_DATE provide auditability.

Business-key candidates are documented for single-row groups as (PO_HEADER_ID, DRAFT_ID, ATTR_GROUP_ID) and for multi-row groups as that same combination plus the columns mapped from the unique key of the attribute group. Only EXTENSION_ID is enforced by a unique database index, so application logic validates the logical keys.

Common Use Cases and Queries

Typical usage includes retrieving all user-defined attributes for a document to display on the Purchasing form, exposing attribute values through OBIEE or custom reports, and migrating attribute data between environments. A common pattern joins the extension table to the header:

  • SELECT h.segment1, e.attr_group_id, e.c_ext_attr1, e.n_ext_attr1, e.d_ext_attr1 FROM po.po_headers_all h, po.po_headers_all_ext_b e WHERE h.po_header_id = e.po_header_id AND h.segment1 = :po_number;
  • Locating draft attribute rows: SELECT * FROM po.po_headers_all_ext_b WHERE po_header_id = :id AND draft_id = :draft_id;
  • Isolating multi-row address groups via PK1_VALUE..PK5_VALUE to identify individual address lines.
  • Audit and reconciliation queries using REVISION_NUM or LAST_UPDATE_DATE to detect changes to attribute groups.

Related Objects