TDM LU Implementation - Hierarchy Support

TDM Relationship Tables

To support LU hierarchy and extracting or copying selected business entities and their related data, TDM must identify which child entities are related to each parent entity.

For example, to copy Customer 1 from the Production environment, TDM must identify the Billing Accounts and the Orders of Customer 1.

TDM relationship tables hold the links between the parent ID and their children IDs. There are 2 TDM relationship tables in the TDM DB:

TDM_LU_TYPE_RELATION_EID

This table holds the link between the parent-child source IDs. The relationship is saved per source environment. Additionally, each Data versioning extract task creates separate records in the TDM_LU_TYPE_RELATION_EID table with the version name, the date and the time of the extracted version of entities.

This table is used for the following:

TDM_LU_TYPE_RELATION_EID Structure

Column Name Description
source_env Name of the source environment of the TDM extract task.
lu_type_1 Name of the parent LU; e.g., Customer.
lu_type_2 Name of the child LU; e.g., Order.
lu_type1_eid Entity ID (EID) of the parent LU; e.g., 1.
lu_type2_eid Entity ID (EID) of the child LU; e.g., 12.
creation_date The record's creation date.
version_name Populated by the task name (version name) of Data Versioning extract tasks. During regular extract tasks, this column is populated by an empty string.
version_datetime Populated by the execution time (version DateTime) of the Data Versioning extract tasks. During regular extract tasks, this column is populated by a default value: 1/1/1970.

Example 1:

Customer 1 has orders 10, 12 and 13 in the Production environment. The LUI of Customer 1 is Production_1. The Sync of the Production_1 LUI of the Customer LU populates the TDM_LU_TYPE_RELATION_EID with the following records:

source_env lu_type_1 lu_type_2 lu_type1_eid lu_type2_eid creation_date version_name version_datetime
Production Customer Order 1 10 1/8/2021 13:31:00   1/1/1970 00:00:00
Production Customer Order 1 12 1/8/2021 13:31:00   1/1/1970 00:00:00
Production Customer Order 1 13 1/8/2021 13:31:00   1/1/1970 00:00:00

Example 2:

Customer 1 has orders 10, 12 and 13 in the Production environment. The user creates and executes a TDM extract Data Versioning task to save a version of Customer 1 in Production. The execution date and time are 8-Jan-2021 and 14:15:30 PM. The LUI of Customer 1 is Production_1_saveCust1_20210108141530. The sync of this Production_1_saveCust1_20210108141530 LUI populates the TDM_LU_TYPE_RELATION_EID with the following records:

source_env lu_type_1 lu_type_2 lu_type1_eid lu_type2_eid creation_date version_name version_datetime
Production Customer Order 1 10 1/8/2021 14:15:30 saveCust1 1/8/2021 14:15:30
Production Customer Order 1 12 1/8/2021 14:15:30 saveCust1 1/8/2021 14:15:30
Production Customer Order 1 13 1/8/2021 14:15:30 saveCust1 1/8/2021 14:15:30

TDM_LU_TYPE_REL_TAR_EID

This table holds the link between the parent-child target IDs. The relationship is maintained per target environment. The table is used to build a list of entities of child LUs when executing a delete or Data Versioning load task.

TDM_LU_TYPE_RELATION_EID Structure

Column Name Column Name
target_env Name of the target environment of the TDM task.
lu_type_1 Name of the parent LU; e.g., Customer.
lu_type_2 Name of the child LU; e.g., Order.
lu_type1_eid Target Entity ID (EID) of the parent LU; e.g., 30.
lu_type2_eid Target Entity ID (EID) of the child LU; e.g., 101.
creation_date The record's creation date.

Which Process Populates the TDM Relation Tables?

The TDM relation tables are populated by carrying out a sync on the parent LUI. The TDM_LU_TYPE_RELATION_EID table's population flow runs the fnEnrichmentChildLink function to populate both relation tables: TDM_LU_TYPE_RELATION_EID and TDM_LU_TYPE_REL_TAR_EID. The fnEnrichmentChildLink function populates these tables based on LU tables' data: it runs the SQL queries populated in the trnChildLink translation to get the child IDs of the task's child LUs. The SQL queries retrieve the LU tables' data. Therefore, the table's population has an execution order 999 to run after the remaining LU tables' population. The table holds the related child IDs on each parent LUI.

The TDM_LU_TYPE_RELATION_EID table is populated for all TDM tasks except for delete only tasks or reserve only tasks, where no data are extracted from the data sources.

The TDM_LU_TYPE_REL_TAR_EID table is populated only if the TDM task deletes entities from the target environment.

Parent LU - Implementation Guidelines

Although Business Entities are defined in the TDM Portal, the following guidelines must be implemented to support parent-child LU hierarchy:

  • Populate the trnChildLink translation object. Note that a parent LU can have several child LUs. Populate a separate record for each child LU with the SQL queries to select the source and the target child IDs.

Previous

TDM LU Implementation - Hierarchy Support

TDM Relationship Tables

To support LU hierarchy and extracting or copying selected business entities and their related data, TDM must identify which child entities are related to each parent entity.

For example, to copy Customer 1 from the Production environment, TDM must identify the Billing Accounts and the Orders of Customer 1.

TDM relationship tables hold the links between the parent ID and their children IDs. There are 2 TDM relationship tables in the TDM DB:

TDM_LU_TYPE_RELATION_EID

This table holds the link between the parent-child source IDs. The relationship is saved per source environment. Additionally, each Data versioning extract task creates separate records in the TDM_LU_TYPE_RELATION_EID table with the version name, the date and the time of the extracted version of entities.

This table is used for the following:

TDM_LU_TYPE_RELATION_EID Structure

Column Name Description
source_env Name of the source environment of the TDM extract task.
lu_type_1 Name of the parent LU; e.g., Customer.
lu_type_2 Name of the child LU; e.g., Order.
lu_type1_eid Entity ID (EID) of the parent LU; e.g., 1.
lu_type2_eid Entity ID (EID) of the child LU; e.g., 12.
creation_date The record's creation date.
version_name Populated by the task name (version name) of Data Versioning extract tasks. During regular extract tasks, this column is populated by an empty string.
version_datetime Populated by the execution time (version DateTime) of the Data Versioning extract tasks. During regular extract tasks, this column is populated by a default value: 1/1/1970.

Example 1:

Customer 1 has orders 10, 12 and 13 in the Production environment. The LUI of Customer 1 is Production_1. The Sync of the Production_1 LUI of the Customer LU populates the TDM_LU_TYPE_RELATION_EID with the following records:

source_env lu_type_1 lu_type_2 lu_type1_eid lu_type2_eid creation_date version_name version_datetime
Production Customer Order 1 10 1/8/2021 13:31:00   1/1/1970 00:00:00
Production Customer Order 1 12 1/8/2021 13:31:00   1/1/1970 00:00:00
Production Customer Order 1 13 1/8/2021 13:31:00   1/1/1970 00:00:00

Example 2:

Customer 1 has orders 10, 12 and 13 in the Production environment. The user creates and executes a TDM extract Data Versioning task to save a version of Customer 1 in Production. The execution date and time are 8-Jan-2021 and 14:15:30 PM. The LUI of Customer 1 is Production_1_saveCust1_20210108141530. The sync of this Production_1_saveCust1_20210108141530 LUI populates the TDM_LU_TYPE_RELATION_EID with the following records:

source_env lu_type_1 lu_type_2 lu_type1_eid lu_type2_eid creation_date version_name version_datetime
Production Customer Order 1 10 1/8/2021 14:15:30 saveCust1 1/8/2021 14:15:30
Production Customer Order 1 12 1/8/2021 14:15:30 saveCust1 1/8/2021 14:15:30
Production Customer Order 1 13 1/8/2021 14:15:30 saveCust1 1/8/2021 14:15:30

TDM_LU_TYPE_REL_TAR_EID

This table holds the link between the parent-child target IDs. The relationship is maintained per target environment. The table is used to build a list of entities of child LUs when executing a delete or Data Versioning load task.

TDM_LU_TYPE_RELATION_EID Structure

Column Name Column Name
target_env Name of the target environment of the TDM task.
lu_type_1 Name of the parent LU; e.g., Customer.
lu_type_2 Name of the child LU; e.g., Order.
lu_type1_eid Target Entity ID (EID) of the parent LU; e.g., 30.
lu_type2_eid Target Entity ID (EID) of the child LU; e.g., 101.
creation_date The record's creation date.

Which Process Populates the TDM Relation Tables?

The TDM relation tables are populated by carrying out a sync on the parent LUI. The TDM_LU_TYPE_RELATION_EID table's population flow runs the fnEnrichmentChildLink function to populate both relation tables: TDM_LU_TYPE_RELATION_EID and TDM_LU_TYPE_REL_TAR_EID. The fnEnrichmentChildLink function populates these tables based on LU tables' data: it runs the SQL queries populated in the trnChildLink translation to get the child IDs of the task's child LUs. The SQL queries retrieve the LU tables' data. Therefore, the table's population has an execution order 999 to run after the remaining LU tables' population. The table holds the related child IDs on each parent LUI.

The TDM_LU_TYPE_RELATION_EID table is populated for all TDM tasks except for delete only tasks or reserve only tasks, where no data are extracted from the data sources.

The TDM_LU_TYPE_REL_TAR_EID table is populated only if the TDM task deletes entities from the target environment.

Parent LU - Implementation Guidelines

Although Business Entities are defined in the TDM Portal, the following guidelines must be implemented to support parent-child LU hierarchy:

  • Populate the trnChildLink translation object. Note that a parent LU can have several child LUs. Populate a separate record for each child LU with the SQL queries to select the source and the target child IDs.

Previous