TDM Parameters Handling

The TDM enables the user to select entities based on predefined parameters when creating a load task.

The list of available parameters is displayed on the task's BE (Business Entity). The list of parameters for each LU and the parameters' information - the valid values of combo parameters, number of values, parameter type, and minimum and maximum values for numeric parameters - are kept in the tdm_params_distinct_values TDM DB table.

A BE can have either a flat or a hierarchical structure and each LU has its own parameters list and its own LU parameters table in the TDM DB. The LU parameters table is created and populated in the TDM DB by the LUI sync. The naming convention of the parameters tables is <LU Name>_params.

The entity selection on a TDM task selects a subset of root entities, but the parameters for selection can be based on the child LU's parameters. Therefore, it is important to have the linkage between the root entity and the children entities when selecting entities based on parameters. Previous TDM versions created a MATERIALIZED VIEW in the TDM DB on each combination of BE and source environment to have the linkage between the root entity and the children entities. From TDM 8.1 onwards, each LU parameters table contains the following fields for connecting the entity id to its root entity:

  • root_lu_name
  • root_iid

Example:

  • Customer BE has 4 LUs:

    • 2 root LUs: Customer and Collection.
    • Customer LU has 2 children LUs:
    • Billing
    • Order
  • Customer #65 has the following children IDs in the Production environment:

    • Billing LU: #169, #170, #171, #172, and #173.
    • Order LU: #279, #280, #281, #282, #283, #284, and #285.
  • Syncing Customer ID #1 inserts the following record into CUSTOMER_PARAMS TDM DB table:

root_lu_name root_iid entity_id source_environment CUSTOMER.FIRST_NAME CUSTOMER.LAST_NAME CUSTOMER.LINE_NUMBER CUSTOMER.NO_OF_OPEN_CASES CUSTOMER.OPEN_CASE_DATE CUSTOMER.NO_OF_SUBSCRIBERS
Customer 65 65 Production {"Maisie"} {"Berger"} {"719 764 1363","404 376 5891","(248) 143-7235","342-203-6253","+1 (929) 454-2178"} {"3"} {"2015-09-16 06:14:40","2016-01-13 04:27:36","2017-02-10 20:44:54"} {"5"}
  • Syncing Collection ID #1 inserts the following records into COLLECTION_PARAMS TDM DB table:

root_lu_name root_iid entity_id source_environment COLLECTION.COLLECTION_STATUS
Collection 65 65 Production {"5","4","3","1","2"}
  • Syncing Billing IDs #169, #170, #171, #172, and #173 inserts the following records into BILLING_PARAMS TDM DB table:

root_lu_name root_iid entity_id source_environment BILLING.NO_OF_OPEN_INVOICES BILLING.VIP_STATUS BILLING.TOTAL_PAYMENT_AMOUNT BILLING.SUBSCRIBER_TYPE
Customer 65 169 Production {"2"} {"Gold"} {"3789"} {"2"}
Customer 65 170 Production {"2"} {"Silver"} {"824"} {"1"}
Customer 65 171 Production {"0"} {"Gold"}   {"4"}
Customer 65 172 Production {"0"} {"Gold"}   {"3"}
Customer 65 173 Production {"1"} {"Platinum"} {"1898"} {"4"}
  • Syncing Order IDs #279, #280, #281, #282, #283, #284, and #285 inserts the following records into ORDER_PARAMS TDM DB table:

root_lu_name root_iid entity_id source_environment ORDERS.ORDER_TYPE ORDERS.ORDER_STATUS
Customer 65 279 Production {"Device"} {"New"}
Customer 65 280 Production {"Network"} {"Closed"}
Customer 65 281 Production {"Billing"} {"Closed"}
Customer 65 282 Production {"Billing"} {"New"}
Customer 65 283 Production {"Network"} {"Closed"}
Customer 65 284 Production {"Billing"} {"In Progress"}
Customer 65 285 Production {"Billing"} {"Closed"}
  • The tester selects entities based on the following parameters:

    • NO_OF_OPEN_CASES > 0 AND VIP_STATUS = "Gold" AND ORDER_TYPE = "New"
  • The following Select statement runs on the TDM DB to get the available entities:

    SELECT ROOT_IID FROM crm_params WHERE source_environment = 'Production' AND root_lu_name = ANY('Customer', 'Collection') AND 0 < ANY("CRM.NUM_OF_OPEN_CASES"::numeric[] ) INTERSECT SELECT ROOT_IID FROM billing_params WHERE source_environment = 'Production' AND root_lu_name = ANY('Customer', 'Collection') AND 'Gold' = ANY("BILLING.VIP_STATUS") INTERSECT SELECT ROOT_IID FROM order_params WHERE source_environment = 'Production' AND root_lu_name = ANY('Customer', 'Collection') AND 'New' = ANY("ORDER.ORDER_TYPE") ;

Previous

TDM Parameters Handling

The TDM enables the user to select entities based on predefined parameters when creating a load task.

The list of available parameters is displayed on the task's BE (Business Entity). The list of parameters for each LU and the parameters' information - the valid values of combo parameters, number of values, parameter type, and minimum and maximum values for numeric parameters - are kept in the tdm_params_distinct_values TDM DB table.

A BE can have either a flat or a hierarchical structure and each LU has its own parameters list and its own LU parameters table in the TDM DB. The LU parameters table is created and populated in the TDM DB by the LUI sync. The naming convention of the parameters tables is <LU Name>_params.

The entity selection on a TDM task selects a subset of root entities, but the parameters for selection can be based on the child LU's parameters. Therefore, it is important to have the linkage between the root entity and the children entities when selecting entities based on parameters. Previous TDM versions created a MATERIALIZED VIEW in the TDM DB on each combination of BE and source environment to have the linkage between the root entity and the children entities. From TDM 8.1 onwards, each LU parameters table contains the following fields for connecting the entity id to its root entity:

  • root_lu_name
  • root_iid

Example:

  • Customer BE has 4 LUs:

    • 2 root LUs: Customer and Collection.
    • Customer LU has 2 children LUs:
    • Billing
    • Order
  • Customer #65 has the following children IDs in the Production environment:

    • Billing LU: #169, #170, #171, #172, and #173.
    • Order LU: #279, #280, #281, #282, #283, #284, and #285.
  • Syncing Customer ID #1 inserts the following record into CUSTOMER_PARAMS TDM DB table:

root_lu_name root_iid entity_id source_environment CUSTOMER.FIRST_NAME CUSTOMER.LAST_NAME CUSTOMER.LINE_NUMBER CUSTOMER.NO_OF_OPEN_CASES CUSTOMER.OPEN_CASE_DATE CUSTOMER.NO_OF_SUBSCRIBERS
Customer 65 65 Production {"Maisie"} {"Berger"} {"719 764 1363","404 376 5891","(248) 143-7235","342-203-6253","+1 (929) 454-2178"} {"3"} {"2015-09-16 06:14:40","2016-01-13 04:27:36","2017-02-10 20:44:54"} {"5"}
  • Syncing Collection ID #1 inserts the following records into COLLECTION_PARAMS TDM DB table:

root_lu_name root_iid entity_id source_environment COLLECTION.COLLECTION_STATUS
Collection 65 65 Production {"5","4","3","1","2"}
  • Syncing Billing IDs #169, #170, #171, #172, and #173 inserts the following records into BILLING_PARAMS TDM DB table:

root_lu_name root_iid entity_id source_environment BILLING.NO_OF_OPEN_INVOICES BILLING.VIP_STATUS BILLING.TOTAL_PAYMENT_AMOUNT BILLING.SUBSCRIBER_TYPE
Customer 65 169 Production {"2"} {"Gold"} {"3789"} {"2"}
Customer 65 170 Production {"2"} {"Silver"} {"824"} {"1"}
Customer 65 171 Production {"0"} {"Gold"}   {"4"}
Customer 65 172 Production {"0"} {"Gold"}   {"3"}
Customer 65 173 Production {"1"} {"Platinum"} {"1898"} {"4"}
  • Syncing Order IDs #279, #280, #281, #282, #283, #284, and #285 inserts the following records into ORDER_PARAMS TDM DB table:

root_lu_name root_iid entity_id source_environment ORDERS.ORDER_TYPE ORDERS.ORDER_STATUS
Customer 65 279 Production {"Device"} {"New"}
Customer 65 280 Production {"Network"} {"Closed"}
Customer 65 281 Production {"Billing"} {"Closed"}
Customer 65 282 Production {"Billing"} {"New"}
Customer 65 283 Production {"Network"} {"Closed"}
Customer 65 284 Production {"Billing"} {"In Progress"}
Customer 65 285 Production {"Billing"} {"Closed"}
  • The tester selects entities based on the following parameters:

    • NO_OF_OPEN_CASES > 0 AND VIP_STATUS = "Gold" AND ORDER_TYPE = "New"
  • The following Select statement runs on the TDM DB to get the available entities:

    SELECT ROOT_IID FROM crm_params WHERE source_environment = 'Production' AND root_lu_name = ANY('Customer', 'Collection') AND 0 < ANY("CRM.NUM_OF_OPEN_CASES"::numeric[] ) INTERSECT SELECT ROOT_IID FROM billing_params WHERE source_environment = 'Production' AND root_lu_name = ANY('Customer', 'Collection') AND 'Gold' = ANY("BILLING.VIP_STATUS") INTERSECT SELECT ROOT_IID FROM order_params WHERE source_environment = 'Production' AND root_lu_name = ANY('Customer', 'Collection') AND 'New' = ANY("ORDER.ORDER_TYPE") ;

Previous