A TDM task copies a Business Entity (BE) from a source environment to a target environment. A BE can have multiple LUs with either a flat or a hierarchical structure. For instance, a Customer BE consists of Customer Care, Billing, Ordering and Usage LUs. The ability to break up a BE into several LUs provides maximum flexibility and prevents duplication of development. Additionally, defining a hierarchical structure of parent-child LUs allows creating LUs based on the natural root entity of the related data sources, rather than forcefully setting a unified root entity on all LUs within a given BE.
To support TDM functionalities, each LU in a TDM project should include additional components, as described below:
In a TDM project, each LU is structured as follows:
Dummy root table — FABRIC_TDM_ROOT.
Generic TDM LU tables that are linked to the root table.
Two main branches that are linked to the root table:
Source branch — LU tables that extract an entity's source data. Source LU tables are populated when a TDM task needs to load (insert) entities into a target environment. In this case, the source data of these entities must first be extracted.
Target branch — LU tables that extract an entity’s target keys from the target environment. This allows TDM tasks to delete the entity from the target environment when necessary. By default, the names of these tables begin with the 'TAR_' prefix.
Run the TDMLUInitBasedOnFabric flow in order to add the TDM setup to the LU. This flow performs the following actions:
It adds the TDM tables to the LU schema.
It sets the FABRIC_TDM_ROOT LU table to be the root LU table and links it to the main source LU table.
It sets the ROOT_TABLE_NAME and ROOT_COLUMN_NAME Globals on the LU.
It recreates the LU population of the main source LU table.
Click here for more information about the population logic of the main source LU table.
It creates the sequence Actors for the load and data generation flows.
It creates the delete and load flows.
Optional actions:
Creating and adding the target tables to the LU to support the entity deletion.
Creating the data generation flows to support rule-based generation tasks.
Verify that the LU schema does not contain grouped tables, and deploy the LU to the Fabric debug server before running the flow.
Optional — filter out LU tables from the Broadway flows (delete, load, and data generation flows).
Set the flow input parameters before executing it:
Additional flow input parameters:
Set the CREATE_DELETE_TABLES input parameter to true in order to create and add the target tables to the LU.
Set the CREATE_GENERATE_FLOWS input parameter to true in order to create rule-based data generation flows for the LU.
Below is an example of the TDMLUInitBasedOnFabric flow input parameters:
Run the flow in Fabric Studio.
Fabric introduces Fabric Discovery and Catalog solution, which provides an insight into the Fabric interfaces, including non-JDBC interfaces.
Starting with TDM V8.1, new templates have been added to integrate TDM with Catalog masking. These templates incorporate the CatalogMaskingMapper Actor into LU population flows in order to apply Catalog-based masking on detected PII fields before loading them into the LU table. Note that integrating the Fabric Catalog is not mandatory; if the Catalog is not integrated, the CatalogMaskingMapper Actor will return an empty output.
Optional: Edit the population flows to override Catalog masking for certain PII fields by adding Masking Actors after the CatalogMaskingMapper Actor and linking them to the relevant fields in the DbLoad Actor.
The Web Studio’s Interface explorer can now display complex document structures, such as nested hierarchy levels and arrays of primitives.
Logical Units can now be created based on the Document’s metadata retrieved from the Catalog, after the Discovery process has run on it. Nested hierarchy levels are then created as LU tables, each with a referential link to its respective parent level.
Root table population is the only action that reads data from the source (the Document). The remaining populations receive the related data, extracted by the root table population, and use it to populate the child LU tables.
Click here for more information about how Fabric handles complex documents.
TDM V9.4.0 has been enhanced to support LUs that are generated based on NoSQL documents and enable loading masked documents into the target environment. The TDMLuInitBasedOnFabric flow now supports various interface types, including NoSQL connectors, and adds the TDM setup to LUs that are created based on complex documents. The following enhancements have been added for complex documents:
Adding a TDM setup to the LUs.
Updating the generated load flows for complex documents — a single load flow now assembles the complex document structure based on the LU tables and loads the entire document.
Updating the generated delete flows for complex documents — a single delete flow now deletes the document from the target environment.
Click here for more information about the load and delete flows for complex documents.
The LUI should include the source environment, which must be set as the active environment in Fabric. When running a Data Viewer on the LU to debug its implementation, do one of the following:
_dev_
. For example, _dev_1.A TDM task copies a Business Entity (BE) from a source environment to a target environment. A BE can have multiple LUs with either a flat or a hierarchical structure. For instance, a Customer BE consists of Customer Care, Billing, Ordering and Usage LUs. The ability to break up a BE into several LUs provides maximum flexibility and prevents duplication of development. Additionally, defining a hierarchical structure of parent-child LUs allows creating LUs based on the natural root entity of the related data sources, rather than forcefully setting a unified root entity on all LUs within a given BE.
To support TDM functionalities, each LU in a TDM project should include additional components, as described below:
In a TDM project, each LU is structured as follows:
Dummy root table — FABRIC_TDM_ROOT.
Generic TDM LU tables that are linked to the root table.
Two main branches that are linked to the root table:
Source branch — LU tables that extract an entity's source data. Source LU tables are populated when a TDM task needs to load (insert) entities into a target environment. In this case, the source data of these entities must first be extracted.
Target branch — LU tables that extract an entity’s target keys from the target environment. This allows TDM tasks to delete the entity from the target environment when necessary. By default, the names of these tables begin with the 'TAR_' prefix.
Run the TDMLUInitBasedOnFabric flow in order to add the TDM setup to the LU. This flow performs the following actions:
It adds the TDM tables to the LU schema.
It sets the FABRIC_TDM_ROOT LU table to be the root LU table and links it to the main source LU table.
It sets the ROOT_TABLE_NAME and ROOT_COLUMN_NAME Globals on the LU.
It recreates the LU population of the main source LU table.
Click here for more information about the population logic of the main source LU table.
It creates the sequence Actors for the load and data generation flows.
It creates the delete and load flows.
Optional actions:
Creating and adding the target tables to the LU to support the entity deletion.
Creating the data generation flows to support rule-based generation tasks.
Verify that the LU schema does not contain grouped tables, and deploy the LU to the Fabric debug server before running the flow.
Optional — filter out LU tables from the Broadway flows (delete, load, and data generation flows).
Set the flow input parameters before executing it:
Additional flow input parameters:
Set the CREATE_DELETE_TABLES input parameter to true in order to create and add the target tables to the LU.
Set the CREATE_GENERATE_FLOWS input parameter to true in order to create rule-based data generation flows for the LU.
Below is an example of the TDMLUInitBasedOnFabric flow input parameters:
Run the flow in Fabric Studio.
Fabric introduces Fabric Discovery and Catalog solution, which provides an insight into the Fabric interfaces, including non-JDBC interfaces.
Starting with TDM V8.1, new templates have been added to integrate TDM with Catalog masking. These templates incorporate the CatalogMaskingMapper Actor into LU population flows in order to apply Catalog-based masking on detected PII fields before loading them into the LU table. Note that integrating the Fabric Catalog is not mandatory; if the Catalog is not integrated, the CatalogMaskingMapper Actor will return an empty output.
Optional: Edit the population flows to override Catalog masking for certain PII fields by adding Masking Actors after the CatalogMaskingMapper Actor and linking them to the relevant fields in the DbLoad Actor.
The Web Studio’s Interface explorer can now display complex document structures, such as nested hierarchy levels and arrays of primitives.
Logical Units can now be created based on the Document’s metadata retrieved from the Catalog, after the Discovery process has run on it. Nested hierarchy levels are then created as LU tables, each with a referential link to its respective parent level.
Root table population is the only action that reads data from the source (the Document). The remaining populations receive the related data, extracted by the root table population, and use it to populate the child LU tables.
Click here for more information about how Fabric handles complex documents.
TDM V9.4.0 has been enhanced to support LUs that are generated based on NoSQL documents and enable loading masked documents into the target environment. The TDMLuInitBasedOnFabric flow now supports various interface types, including NoSQL connectors, and adds the TDM setup to LUs that are created based on complex documents. The following enhancements have been added for complex documents:
Adding a TDM setup to the LUs.
Updating the generated load flows for complex documents — a single load flow now assembles the complex document structure based on the LU tables and loads the entire document.
Updating the generated delete flows for complex documents — a single delete flow now deletes the document from the target environment.
Click here for more information about the load and delete flows for complex documents.
The LUI should include the source environment, which must be set as the active environment in Fabric. When running a Data Viewer on the LU to debug its implementation, do one of the following:
_dev_
. For example, _dev_1.