TDM Parameters — Parameters Coupling — Implementation Guidelines

LU Schema

  • Verify that the LU_PARAMS table is attached to the LU schema.
  • Verify that the TDM_BE_IIDS table is attached to the LU Schema. This table is mandatory for the parameters coupling mode and is used for joining multiple LU schemas when a task contains parameters of multiple LUs.
  • Verify that the FABRIC_TDM_ROOT table has a PK on the iid field. This PK is required in order to export the LU schema tables into the TDM DB. The parameters selection query runs on the exported tables.
  • Verify that the linked fields in the LU tables have identical data types. This is required for supporting the MDB export of the LU schema into the TDM DB.

FK Creation in the TDM DB

  • By default, the TDM process runs the MDB_EXPORT command in a mode that creates physical FKs on child tables in the TDM DB. For example, the Subscriber table is linked to the Customer table via the customer_id field. The MDB_EXPORT command creates an FK on the Subscriber.customer_id field. Verify that linked fields in the parent LU table are defined as either PKs or unique indexes, and ensure all parent PK/unique index fields are linked to the child LU table as a way to enable FK creation on the child table.
    • Occasionally, the parent-child tables are not linked via a parent's unique field. As an example, the Subscriber table has a PK on the combination of subscriber_id and contact_id fields, but only the latter is linked to the Contact table. To handle such cases, TDM V9.3.1 introduces a new mode to support schema export without FK creations:
    • A new Global, CREATE_PHYSICAL_FK_IN_MDB_EXPORT_SCHEMA, has been added. When set to false (the default is true), it prevents FK creation on the exported LU schema in the TDM DB.

Optional — Adding Parameters to a Logical Unit

  • Add the LU parameters to the LuParamsMapping MTable (located under the References section of the Project tree).

  • The LuParamsMapping has the following fields:

    • lu_name

    • param_name

    • lu_table

    • lu_table_field

    • description — this optional field allows adding a short description to the business parameters. The description is displayed in the task when hovering over a parameter, which helps users select business parameters for entity sub-setting.

  • Each parameter must be mapped to a field in an LU table. The parameter name does not need to match the lu_table_field name.

  • If you have calculated parameters, such as the number of open cases or an outstanding debt, you can create an LU table that contains these parameters. If created, these tables should be added to the TDMFilterOutTargetTables Actor in order to exclude them from the load and delete actions, as well as from the data generation flows.

  • Verify that all LU tables in LuParamsMapping are linked to their parent tables. This is required as a means to add FKs to tables when the latter are exported to the TDM DB.

  • Notes:

    • The MDB export command does not support multiple populations with different links to parent tables. Each LU table in LuParamsMapping must have a single link to a parent LU table.
    • Any update to the LuParamsMapping MTable (including the initial update) requires at least one task execution with the UPDATE_MDB_EXPORTED_SCHEMA Global set to true (set in the Task variables). This is essential for updating the exported LU schema in the TDM database.

TDM Parameter Tables

Exporting LU Tables into the TDM DB

The TDM extract task execution exports LU tables into the TDM DB. A dedicated schema is created for each LU and an FK is created for each parent-child link between tables. The following tables are exported into the TDM DB:

  • FABRIC_TDM_ROOT — the entire table is exported.

  • TDM_BE_IIDS — the entire table is exported.

  • LU tables in LuParamsMapping MTable — only the parameter fields and the fields linked to the parent or child LU tables are exported.

  • PK and FK fields are exported.

    • Example scenario:
    • FABRIC_TDM_ROOT -> Customer -> Address
    • Customer is linked to FABRIC_TDM_ROOT via the customer_id.
    • Address is linked to Customer via the customer_id.
    • Address.state is mapped as a parameter.
    • All 3 tables are exported.
    • Customer table — the customer_id is exported.
    • Address table — the customer_id, address_id, and state fields are exported.
  • The exported tables are used for:

    • Checking the number of matching entities for the selected parameters of the task.
    • Creating the entity list for the task when the task's selection method is based on parameters.
    • Creating the entity list for the task when entities are randomly selected.

TDM_PARAMS_DISTINCT_VALUES

The TDM task execution process populates the tdm_params_distinct_values table in the TDM DB with the parameters list and the valid values for combo parameters.

This table is used for getting the list of available parameters and their valid values in the task.

AI-based Entity Generation

The AI-based generated entities are not synchronized from a data source. Instead, the AI process generates entities, which TDM then imports into Fabric. Afterwards, a post-TDM process updates the parameter tables for these imported entities, enabling their selection based on parameters.

Click here for more information about AI-based generation.

Notes:

  • Even if parameters do not need to be defined for an LU, the LU_PARAMS table must be added to the LU Schema to create the <LU Name>_params table in the TDM DB. The <LU Name>_params table is required for both entity selection methods in a TDM task: Business parameters and Random selection.
  • Do not include spaces or special characters in parameter names.
  • The PARAMS_JSON field of the LU_PARAMS table contains the list of LU parameters and their values that can be used for debugging a given entity.
  • Click here for more information about parameter handling.

TDM Parameters — Parameters Coupling — Implementation Guidelines

LU Schema

  • Verify that the LU_PARAMS table is attached to the LU schema.
  • Verify that the TDM_BE_IIDS table is attached to the LU Schema. This table is mandatory for the parameters coupling mode and is used for joining multiple LU schemas when a task contains parameters of multiple LUs.
  • Verify that the FABRIC_TDM_ROOT table has a PK on the iid field. This PK is required in order to export the LU schema tables into the TDM DB. The parameters selection query runs on the exported tables.
  • Verify that the linked fields in the LU tables have identical data types. This is required for supporting the MDB export of the LU schema into the TDM DB.

FK Creation in the TDM DB

  • By default, the TDM process runs the MDB_EXPORT command in a mode that creates physical FKs on child tables in the TDM DB. For example, the Subscriber table is linked to the Customer table via the customer_id field. The MDB_EXPORT command creates an FK on the Subscriber.customer_id field. Verify that linked fields in the parent LU table are defined as either PKs or unique indexes, and ensure all parent PK/unique index fields are linked to the child LU table as a way to enable FK creation on the child table.
    • Occasionally, the parent-child tables are not linked via a parent's unique field. As an example, the Subscriber table has a PK on the combination of subscriber_id and contact_id fields, but only the latter is linked to the Contact table. To handle such cases, TDM V9.3.1 introduces a new mode to support schema export without FK creations:
    • A new Global, CREATE_PHYSICAL_FK_IN_MDB_EXPORT_SCHEMA, has been added. When set to false (the default is true), it prevents FK creation on the exported LU schema in the TDM DB.

Optional — Adding Parameters to a Logical Unit

  • Add the LU parameters to the LuParamsMapping MTable (located under the References section of the Project tree).

  • The LuParamsMapping has the following fields:

    • lu_name

    • param_name

    • lu_table

    • lu_table_field

    • description — this optional field allows adding a short description to the business parameters. The description is displayed in the task when hovering over a parameter, which helps users select business parameters for entity sub-setting.

  • Each parameter must be mapped to a field in an LU table. The parameter name does not need to match the lu_table_field name.

  • If you have calculated parameters, such as the number of open cases or an outstanding debt, you can create an LU table that contains these parameters. If created, these tables should be added to the TDMFilterOutTargetTables Actor in order to exclude them from the load and delete actions, as well as from the data generation flows.

  • Verify that all LU tables in LuParamsMapping are linked to their parent tables. This is required as a means to add FKs to tables when the latter are exported to the TDM DB.

  • Notes:

    • The MDB export command does not support multiple populations with different links to parent tables. Each LU table in LuParamsMapping must have a single link to a parent LU table.
    • Any update to the LuParamsMapping MTable (including the initial update) requires at least one task execution with the UPDATE_MDB_EXPORTED_SCHEMA Global set to true (set in the Task variables). This is essential for updating the exported LU schema in the TDM database.

TDM Parameter Tables

Exporting LU Tables into the TDM DB

The TDM extract task execution exports LU tables into the TDM DB. A dedicated schema is created for each LU and an FK is created for each parent-child link between tables. The following tables are exported into the TDM DB:

  • FABRIC_TDM_ROOT — the entire table is exported.

  • TDM_BE_IIDS — the entire table is exported.

  • LU tables in LuParamsMapping MTable — only the parameter fields and the fields linked to the parent or child LU tables are exported.

  • PK and FK fields are exported.

    • Example scenario:
    • FABRIC_TDM_ROOT -> Customer -> Address
    • Customer is linked to FABRIC_TDM_ROOT via the customer_id.
    • Address is linked to Customer via the customer_id.
    • Address.state is mapped as a parameter.
    • All 3 tables are exported.
    • Customer table — the customer_id is exported.
    • Address table — the customer_id, address_id, and state fields are exported.
  • The exported tables are used for:

    • Checking the number of matching entities for the selected parameters of the task.
    • Creating the entity list for the task when the task's selection method is based on parameters.
    • Creating the entity list for the task when entities are randomly selected.

TDM_PARAMS_DISTINCT_VALUES

The TDM task execution process populates the tdm_params_distinct_values table in the TDM DB with the parameters list and the valid values for combo parameters.

This table is used for getting the list of available parameters and their valid values in the task.

AI-based Entity Generation

The AI-based generated entities are not synchronized from a data source. Instead, the AI process generates entities, which TDM then imports into Fabric. Afterwards, a post-TDM process updates the parameter tables for these imported entities, enabling their selection based on parameters.

Click here for more information about AI-based generation.

Notes:

  • Even if parameters do not need to be defined for an LU, the LU_PARAMS table must be added to the LU Schema to create the <LU Name>_params table in the TDM DB. The <LU Name>_params table is required for both entity selection methods in a TDM task: Business parameters and Random selection.
  • Do not include spaces or special characters in parameter names.
  • The PARAMS_JSON field of the LU_PARAMS table contains the list of LU parameters and their values that can be used for debugging a given entity.
  • Click here for more information about parameter handling.