TDM Parameters — Regular Mode — Implementation Guidelines

Prerequisite: Verify that the LU_PARAMS table has been attached to the LU Schema.

Optional — Adding Parameters to Logical Units

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

    Note that starting from TDM V8.1, the previous translation object, trnLuParams, has been replaced with the LuParams MTable. Deploy all LUs to the debug server and run the RunTDMDBUpgradeScripts flow. This flow executes the convertLuTranslations flow to convert old TDM translations into the corresponding TDM MTables. Each execution of the convertLuTranslations flow deletes the related MTables and repopulates them.

  2. The LuParams has the following fields:

    • lu_name
    • column_name — populated with the parameter name. Note that the parameter name may differ from the corresponding LU table field name.
    • sql
    • 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.
  3. LuParams example:

lu_name column_name sql description
CRM first_name Select first_name
 From customer
Customer's first name.
 From customer
CRM last_name Select last_name
 From customer
Customer's last name.
 From customer
CRM line_number Select contract.associated_line As line_number From contract
CRM num_of_open_cases Select Count(*) As num_of_open_cases
From cases
Where Upper(cases.status) != 'CLOSED'
CRM open_case_date Select case_date As open_case_date
From cases
Where Upper(cases.status) != 'CLOSED'
CRM num_of_subscribers Select Count(*) As num_of_subscribers From contract
CRM state Select state From address
Billing total_balance_amount Select Sum(ifNull(Billing.balance.available_amount, 0)) As total_balance_amount
From Billing.balance
Subscriber's debt balance.
Billing num_of_open_invoices Select Count(*) As num_of_open_invoices
From Billing.invoice
Where Upper(Billing.invoice.status) = 'OPEN'
Billing total_payment_amount Select Sum(ifNull(Billing.payment.amount, 0)) As total_payment_amount
From Billing.payment
Billing vip_status Select Distinct vip_status
From Billing.subscriber
Subscriber's VIP status.
Billing subscriber_type Select Distinct subscriber_type From Billing.subscriber
  1. The LU_PARAMS population flow runs the fnEnrichmentLuParams function. This function executes the LU's SQL queries defined in the LuParams MTable, creates the <LU>_params table in the TDM DB if it does not already exist, and populates it with data. Each parameter column stores the parameter’s values in JSON format. A parameter may contain multiple values, in which case they are separated by a comma. For example:

    • Line number = {"(722) 404-4222","+1 (372) 682-2450,"+1 (799) 979-1233","883-486-7523","1394031132"}

TDM Parameter Tables

When synced, the LUIs create and update the <LU>_params table in the TDM database. A separate <LU>_params table is created for each LU. The naming convention of the parameter table is <LU Name>_params, e.g., customer_params.

Moreover, the TDM task execution populates the tdm_params_distinct_values table in the TDM DB with the list of parameters and the valid values for combo parameters.

Parameter tables are used for:

  • Retrieving the list of available parameters for each task.
  • Checking the number of matching entities for the selected parameters of the task.
  • Creating the entity list when the task's selection method is based on parameters.
  • Creating the entity list when entities are randomly selected from the <LU>_params table of the task's root LU.

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:

  • The LU_PARAMS population flow runs SQL queries to retrieve data from the LU tables. This flow is therefore assigned execution order 999 to ensure that it runs after all other LU tables have been populated, allowing all required data to be fetched.
  • 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.
  • 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 — Regular Mode — Implementation Guidelines

Prerequisite: Verify that the LU_PARAMS table has been attached to the LU Schema.

Optional — Adding Parameters to Logical Units

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

    Note that starting from TDM V8.1, the previous translation object, trnLuParams, has been replaced with the LuParams MTable. Deploy all LUs to the debug server and run the RunTDMDBUpgradeScripts flow. This flow executes the convertLuTranslations flow to convert old TDM translations into the corresponding TDM MTables. Each execution of the convertLuTranslations flow deletes the related MTables and repopulates them.

  2. The LuParams has the following fields:

    • lu_name
    • column_name — populated with the parameter name. Note that the parameter name may differ from the corresponding LU table field name.
    • sql
    • 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.
  3. LuParams example:

lu_name column_name sql description
CRM first_name Select first_name
 From customer
Customer's first name.
 From customer
CRM last_name Select last_name
 From customer
Customer's last name.
 From customer
CRM line_number Select contract.associated_line As line_number From contract
CRM num_of_open_cases Select Count(*) As num_of_open_cases
From cases
Where Upper(cases.status) != 'CLOSED'
CRM open_case_date Select case_date As open_case_date
From cases
Where Upper(cases.status) != 'CLOSED'
CRM num_of_subscribers Select Count(*) As num_of_subscribers From contract
CRM state Select state From address
Billing total_balance_amount Select Sum(ifNull(Billing.balance.available_amount, 0)) As total_balance_amount
From Billing.balance
Subscriber's debt balance.
Billing num_of_open_invoices Select Count(*) As num_of_open_invoices
From Billing.invoice
Where Upper(Billing.invoice.status) = 'OPEN'
Billing total_payment_amount Select Sum(ifNull(Billing.payment.amount, 0)) As total_payment_amount
From Billing.payment
Billing vip_status Select Distinct vip_status
From Billing.subscriber
Subscriber's VIP status.
Billing subscriber_type Select Distinct subscriber_type From Billing.subscriber
  1. The LU_PARAMS population flow runs the fnEnrichmentLuParams function. This function executes the LU's SQL queries defined in the LuParams MTable, creates the <LU>_params table in the TDM DB if it does not already exist, and populates it with data. Each parameter column stores the parameter’s values in JSON format. A parameter may contain multiple values, in which case they are separated by a comma. For example:

    • Line number = {"(722) 404-4222","+1 (372) 682-2450,"+1 (799) 979-1233","883-486-7523","1394031132"}

TDM Parameter Tables

When synced, the LUIs create and update the <LU>_params table in the TDM database. A separate <LU>_params table is created for each LU. The naming convention of the parameter table is <LU Name>_params, e.g., customer_params.

Moreover, the TDM task execution populates the tdm_params_distinct_values table in the TDM DB with the list of parameters and the valid values for combo parameters.

Parameter tables are used for:

  • Retrieving the list of available parameters for each task.
  • Checking the number of matching entities for the selected parameters of the task.
  • Creating the entity list when the task's selection method is based on parameters.
  • Creating the entity list when entities are randomly selected from the <LU>_params table of the task's root LU.

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:

  • The LU_PARAMS population flow runs SQL queries to retrieve data from the LU tables. This flow is therefore assigned execution order 999 to ensure that it runs after all other LU tables have been populated, allowing all required data to be fetched.
  • 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.
  • 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.