TDM enables the user to provision tables in a TDM task. The user can select 1 of the following 2 options:
The user can store the tables in Fabric for a later use or set the task's retention period to Do not retain in order to load the tables directly to the target environment without saving them to Fabric.
Each table is stored in Fabric as a separate LUI in the TDM_TableLevel LU, and each execution is stored as a separate LUI (a separate data snapshot). For example: Running 2 executions of a task that extract the Product_Mapping table. Each execution creates a separate LUI (snapshot).
The LUI format is as follows:
[source environment name]|[DB interface name]|[DB schema name]|[table name]|[task execution id]
Examples:
SRC|CRM_DB|public|case_note|102822
SRC|CRM_DB|public|case_note|102826
SRC|BILLING_DB|public|contract_offer_mapping|102826
Each LUI contains the following tables:
TDM_REF_ROOT
A dynamic SQLite table created with the structure of the source table and that contains the extracted table records. The dynamic SQLite table naming convention is:
__t_<source table name>
/*sqlite*/ insert into TDM_TableLevel.__t_case_note (case_id,note_id,note_date,note_text) values(?,?,?,?);
Notes:
A TDM table-level implementation has the following steps:
Import and deploy the TDM_TableLevel LU.
This step is required for Entities & referential data tasks. The list of available referential tables for a TDM task that contains a Business entity and referential data, is populated in the RefList MTable object. Populate the RefList with the list of available related tables for each LU. The following settings should be populated for each record:
lu_name - populated by the LU name to enable a selection of the related table in a TDM task based on the task's LUs.
id - populated by an incrementing number.
reference_table_name - populated by the table name in the source environment.
schema_name - populated by the source DB schema's name that stores the table.
interface_name - the table's source interface.
target_ref_table_name - this is an optional parameter. It can be populated when the table names are different in the source and target. If empty, the target table name will be taken from the reference_table_name field.
target_schema_name - populated by the target DB schema's name that stores the table.
target_interface_name - the name of the table's target interface.
table_pk_list - an optional setting. Populated by the list of the target's PK fields in the RefList object. These fields can be later used to customize the load flow to run an Upsert on the target table.
truncate_indicator - by default, the TDM runs a delete on the table in the target environment before loading it. If you have a permission to run a truncate on the target table and you need to use the truncate instead of the delete (e.g., the target DB is Cassandra), set this indicator to true.
count_indicator - is set to true, by default, for counting the number of records in the source or target, in order to monitor the task execution. Set the indicator to false, if required, in order to avoid counting the records in the target.
Click here for more information about MTable objects.
TDM 9.1 enables adding tables to the RefList MTable in order to support the setting of different interface, schema name, or table name in the source and target environments for Table level tasks. Set the lu_name to TDM_TableLevel in order to define different settings on the source and target environments for Table level tasks.
The TDM table flow uses Fabric Catalog masking. You can edit the PII settings in the Catalog if needed.
Run the Discovery job on the table's interfaces. Once the job is completed, the interface metadata will be retrieved from the Catalog.
Note that if you define a different interface in the target environment, you need to run the Discovery process on the target interface in order to get the table's list, order, and fields from the Catalog.
The TableLevelInterfaces MTable enables either disabling a table's selection from a given DB or setting a special handling for the tables that belong to a given DB.
By default, the MTable is populated with the TDM DBs to disable a selection of TDM tables by a TDM task. It is possible to populate additional DB interfaces in order to exclude them from the table selection in the TDM task or to set special handling for their tables. A separate record needs to be set for each DB interface. The following settings should be populated for each record:
interface_name - the DB interface name defined in the TDM project implementation.
suppress_indicator - if true, the DB tables are excluded from the tables' selection in the TDM task. If this field is false, the interface's tables can be selected in a TDM task.
truncate_indicator - by default, the TDM runs a delete on the table in the target environment before loading it. If you have permission to run a truncate on the target table and you need to use the truncate instead of the delete (e.g., the target DB is Cassandra), set this indicator to true.
count_indicator - is set to true, by default, for counting the number of records in the source or target, in order to monitor the task execution. Set the indicator to false, if required, in order to avoid counting the records in the target.
order_flow - an optional setting. Populate this setting to run a project's Broadway flow to define customized logic for getting the table's execution order. The order flow must have an external output Map named result with the list of the tables and their order. For example:
{
"customer": 0,
"address": 1
}
TDM 9.1 has added the TableLevelDefinitions MTable to enable setting a customized logic for selected tables.
A customized flow can be added to table's extract, load or delete. The implementor can set a customized flow for all activities - extract, delete, and load - or for some of the activities. This feature opens a variety of capabilities such as:
Custom masking of selective fields (not Catalog-based).
Extract or Load massive data that requires using 3rd party tools, such as, DB2move.
Impact the order of the table's execution.
The following settings should be populated for each record:
The customized table's flows are Broadway flows. These flows must be added under the Shared Objects or the TDM_TableLevel LU in the Project tree.
The Catalog masking actor is invoked after the extract flow execution. Do the following in order to set a customized masking logic on the table:
TDM enables the user to provision tables in a TDM task. The user can select 1 of the following 2 options:
The user can store the tables in Fabric for a later use or set the task's retention period to Do not retain in order to load the tables directly to the target environment without saving them to Fabric.
Each table is stored in Fabric as a separate LUI in the TDM_TableLevel LU, and each execution is stored as a separate LUI (a separate data snapshot). For example: Running 2 executions of a task that extract the Product_Mapping table. Each execution creates a separate LUI (snapshot).
The LUI format is as follows:
[source environment name]|[DB interface name]|[DB schema name]|[table name]|[task execution id]
Examples:
SRC|CRM_DB|public|case_note|102822
SRC|CRM_DB|public|case_note|102826
SRC|BILLING_DB|public|contract_offer_mapping|102826
Each LUI contains the following tables:
TDM_REF_ROOT
A dynamic SQLite table created with the structure of the source table and that contains the extracted table records. The dynamic SQLite table naming convention is:
__t_<source table name>
/*sqlite*/ insert into TDM_TableLevel.__t_case_note (case_id,note_id,note_date,note_text) values(?,?,?,?);
Notes:
A TDM table-level implementation has the following steps:
Import and deploy the TDM_TableLevel LU.
This step is required for Entities & referential data tasks. The list of available referential tables for a TDM task that contains a Business entity and referential data, is populated in the RefList MTable object. Populate the RefList with the list of available related tables for each LU. The following settings should be populated for each record:
lu_name - populated by the LU name to enable a selection of the related table in a TDM task based on the task's LUs.
id - populated by an incrementing number.
reference_table_name - populated by the table name in the source environment.
schema_name - populated by the source DB schema's name that stores the table.
interface_name - the table's source interface.
target_ref_table_name - this is an optional parameter. It can be populated when the table names are different in the source and target. If empty, the target table name will be taken from the reference_table_name field.
target_schema_name - populated by the target DB schema's name that stores the table.
target_interface_name - the name of the table's target interface.
table_pk_list - an optional setting. Populated by the list of the target's PK fields in the RefList object. These fields can be later used to customize the load flow to run an Upsert on the target table.
truncate_indicator - by default, the TDM runs a delete on the table in the target environment before loading it. If you have a permission to run a truncate on the target table and you need to use the truncate instead of the delete (e.g., the target DB is Cassandra), set this indicator to true.
count_indicator - is set to true, by default, for counting the number of records in the source or target, in order to monitor the task execution. Set the indicator to false, if required, in order to avoid counting the records in the target.
Click here for more information about MTable objects.
TDM 9.1 enables adding tables to the RefList MTable in order to support the setting of different interface, schema name, or table name in the source and target environments for Table level tasks. Set the lu_name to TDM_TableLevel in order to define different settings on the source and target environments for Table level tasks.
The TDM table flow uses Fabric Catalog masking. You can edit the PII settings in the Catalog if needed.
Run the Discovery job on the table's interfaces. Once the job is completed, the interface metadata will be retrieved from the Catalog.
Note that if you define a different interface in the target environment, you need to run the Discovery process on the target interface in order to get the table's list, order, and fields from the Catalog.
The TableLevelInterfaces MTable enables either disabling a table's selection from a given DB or setting a special handling for the tables that belong to a given DB.
By default, the MTable is populated with the TDM DBs to disable a selection of TDM tables by a TDM task. It is possible to populate additional DB interfaces in order to exclude them from the table selection in the TDM task or to set special handling for their tables. A separate record needs to be set for each DB interface. The following settings should be populated for each record:
interface_name - the DB interface name defined in the TDM project implementation.
suppress_indicator - if true, the DB tables are excluded from the tables' selection in the TDM task. If this field is false, the interface's tables can be selected in a TDM task.
truncate_indicator - by default, the TDM runs a delete on the table in the target environment before loading it. If you have permission to run a truncate on the target table and you need to use the truncate instead of the delete (e.g., the target DB is Cassandra), set this indicator to true.
count_indicator - is set to true, by default, for counting the number of records in the source or target, in order to monitor the task execution. Set the indicator to false, if required, in order to avoid counting the records in the target.
order_flow - an optional setting. Populate this setting to run a project's Broadway flow to define customized logic for getting the table's execution order. The order flow must have an external output Map named result with the list of the tables and their order. For example:
{
"customer": 0,
"address": 1
}
TDM 9.1 has added the TableLevelDefinitions MTable to enable setting a customized logic for selected tables.
A customized flow can be added to table's extract, load or delete. The implementor can set a customized flow for all activities - extract, delete, and load - or for some of the activities. This feature opens a variety of capabilities such as:
Custom masking of selective fields (not Catalog-based).
Extract or Load massive data that requires using 3rd party tools, such as, DB2move.
Impact the order of the table's execution.
The following settings should be populated for each record:
The customized table's flows are Broadway flows. These flows must be added under the Shared Objects or the TDM_TableLevel LU in the Project tree.
The Catalog masking actor is invoked after the extract flow execution. Do the following in order to set a customized masking logic on the table: