Search Results hr_dm_hierarchies_pk
Overview
HR.HR_DM_HIERARCHIES is a metadata-driven control table within the Oracle E-Business Suite Human Resources schema. It is part of the HR Data Migration (HR_DM) framework, a set of interface and staging objects that govern how legacy or external data is transformed, ordered, and loaded into HRMS tables during conversion and migration projects. The table records the relationships between other HR_DM tables so that the migration engine can resolve dependencies before inserting data. Its documented purpose is threefold: to capture parent/child relationships where the child table is not striped by a Business Group ID column; to record Application Object Library (AOL) identifiers such as the ID_FLEX_NUM value held in HR_SOFT_CODING_KEYFLEX; and to model self-referencing hierarchies such as those found in PER_ALL_POSITIONS, where SUCCESSOR_POSITION_ID and RELIEF_POSITION_ID point back to POSITION_ID in the same table.
The object resides in the APPS_TS_INTERFACE tablespace and holds 14 documented columns in the 12.2.2 schema, with a corresponding FND Design Data entry of PER.HR_DM_HIERARCHIES. Based on its foreign key structure, a Data Vault heuristic would suggest classifying this object as a link, since it principally records associations between entity tables rather than acting as a standalone hub or a descriptive satellite.
Key Information Stored
The surrogate primary key is HIERARCHY_ID, a system-generated NUMBER(15) column enforced by the unique index HR_DM_HIERARCHIES_PK. The business content of each row is defined by the relationship it describes:
- HIERARCHY_ID — Surrogate primary key; the sole unique index and therefore the only documented business-key candidate.
- HIERARCHY_TYPE — Lookup code from the HR_DM_HIERARCHY_TYPE lookup type, defined in FND_LOOKUP_TYPES and FND_LOOKUP_VALUES. Determines which style of relationship applies.
- TABLE_ID — Foreign key to HR_DM_TABLES.TABLE_ID, identifying the child table.
- PARENT_TABLE_ID — Foreign key to HR_DM_TABLES.TABLE_ID, identifying the parent table in the relationship.
- COLUMN_NAME and PARENT_COLUMN_NAME — The child and parent columns that participate in the join.
- PARENT_ID_COLUMN_NAME — The parent-side identifier column used to resolve the relationship.
- SQL_ORDER — Controls cursor ordering in the TDS packages for complex relationships; documented as not currently in use.
- SECURITY_GROUP_ID — Foreign key to FND_SECURITY_GROUPS.
- Audit columns — LAST_UPDATE_DATE, LAST_UPDATED_BY, LAST_UPDATE_LOGIN, CREATED_BY, and CREATION_DATE follow standard EBS audit conventions.
Common Use Cases and Queries
The primary use case is troubleshooting and auditing migration sequencing. Because the framework must insert all rows with self-referencing columns nulled, then update them after the inserts complete, developers frequently query this table to understand the load order. A typical query joins the table to HR_DM_TABLES twice:
SELECT h.hierarchy_id, h.hierarchy_type, h.column_name, h.parent_column_name, h.parent_id_column_name, c.table_name child_table, p.table_name parent_table FROM hr.hr_dm_hierarchies h, hr.hr_dm_tables c, hr.hr_dm_tables p WHERE h.table_id = c.table_id AND h.parent_table_id = p.table_id AND h.hierarchy_type = :type;
Additional scenarios include validating that lookup values for HIERARCHY_TYPE exist in FND_LOOKUP_VALUES before a conversion run, identifying tables whose parent/child links are absent from the design (a common cause of FK violations during load), and generating dependency graphs to order interface processing.
Related Objects
- HR.HR_DM_TABLES — Referenced twice, via TABLE_ID and PARENT_TABLE_ID; supplies table names and metadata for both sides of every relationship.
- FND_SECURITY_GROUPS — Referenced through SECURITY_GROUP_ID.
- FND_LOOKUP_TYPES / FND_LOOKUP_VALUES — Store the HR_DM_HIERARCHY_TYPE lookup that drives HIERARCHY_TYPE.
- PER_ALL_POSITIONS — Canonical example of a self-referencing hierarchy (SUCCESSOR_POSITION_ID, RELIEF_POSITION_ID) modeled by this table.
- HR_SOFT_CODING_KEYFLEX — Source of AOL identifiers such as ID_FLEX_NUM recorded through this relationship table.
- TDS packages — Consume SQL_ORDER to derive cursor ordering during data migration.
-
TABLE: HR.HR_DM_HIERARCHIES
12.1.1
owner:HR, object_type:TABLE, fnd_design_data:PER.HR_DM_HIERARCHIES, object_name:HR_DM_HIERARCHIES, status:VALID,
-
Table: HR_DM_HIERARCHIES
12.1.1
owner:HR, object_type:TABLE, fnd_design_data:PER.HR_DM_HIERARCHIES, object_name:HR_DM_HIERARCHIES, status:VALID, product: PER - Human Resources , description: This entity will contain the relationships between tables. The following relationship will be recorded: , implementation_dba_data: HR.HR_DM_HIERARCHIES ,
-
INDEX: HR.HR_DM_HIERARCHIES_PK
12.1.1
owner:HR, object_type:INDEX, object_name:HR_DM_HIERARCHIES_PK, status:VALID,
-
INDEX: HR.HR_DM_HIERARCHIES_PK
12.2.2
owner:HR, object_type:INDEX, object_name:HR_DM_HIERARCHIES_PK, status:VALID,
-
Table: HR_DM_HIERARCHIES
12.2.2
owner:HR, object_type:TABLE, fnd_design_data:PER.HR_DM_HIERARCHIES, object_name:HR_DM_HIERARCHIES, status:VALID, product: PER - Human Resources , description: This entity will contain the relationships between tables. The following relationship will be recorded: , implementation_dba_data: HR.HR_DM_HIERARCHIES ,
-
TABLE: HR.HR_DM_HIERARCHIES
12.2.2
owner:HR, object_type:TABLE, fnd_design_data:PER.HR_DM_HIERARCHIES, object_name:HR_DM_HIERARCHIES, status:VALID,
-
12.1.1 DBA Data
12.1.1
-
12.2.2 DBA Data
12.2.2
-
eTRM - PER Tables and Views
12.2.2
description: Table to store NQF Training info for a person ,
-
eTRM - PER Tables and Views
12.1.1
description: Table to store NQF Training info for a person ,
-
eTRM - PER Tables and Views
12.2.2
description: Table to store NQF Training info for a person ,
-
eTRM - PER Tables and Views
12.1.1
description: Table to store NQF Training info for a person ,