Skip to main content
Skip table of contents

CONFIG_LOAD_TEMPLATES

CONFIG_LOAD_TEMPLATES is a configuration package used to manage reusable load templates, which can include load steps and load options. In Designer, you can save load logic as a template or import load logic from an existing template. A template can also be set as the default for a specific entity type, allowing its load logic to be automatically applied when creating loads for that type. Additionally, with the generated on deploy option enabled, template-driven loads can be efficiently maintained by updating the template and redeploying the relevant packages.


See also:


Usage

Saving load logic as a load template

  1. Open an entity load you would like to save as a template.

  2. Click “Save load logic as template”.

  3. Provide a template name and description. Choose whether to generate the load logic during deployment and whether to set the template as the default (see details below). Additionally, define the ordinal position, which determines the priority when multiple templates apply to the same entity type.

  4. Save the template, and it will be stored in the CONFIG_LOAD_TEMPLATES configuration package.

All elements of the load logic, including load steps and load options, are saved to the template. For more details, refer to the examples section.

Note that after saving a load template, CONFIG_LOAD_TEMPLATES will have uncommitted changes. To maintain a change history, it is recommended to commit the package. If the generated on deploy option is used, deployment is also required.


Overwriting or updating a load template

To update an existing load template, follow the same steps as when creating a new one, but use the same template name. You’ll be prompted to confirm if you want to overwrite the existing template.

Alternatively, you can update the template by manually editing the package JSON (see instructions below).


Editing package JSON

  1. Open the CONFIG_LOAD_TEMPLATES configuration package.

  2. Click “Show Editor” and “Edit”.

  3. Edit the JSON file and save changes. See the Contents section below for reference.

After saving the configuration, changes are applied to Designer only. Commit and deploy the changes to Runtime environments as well.


Using generated on deploy

With the generated on deploy option enabled, template-driven loads can be updated across all relevant packages by editing the template and redeploying CONFIG_LOAD_TEMPLATES along with the associated entity packages.

Create a load template using the generated on deploy option:

  1. Follow the standard steps for creating a new load template.

  2. Check options generated on deploy and is default, then save the template.

Once saved, the load logic defined in the template will be automatically added to all new loads of the specified entity type. To extend the template’s usage, e.g. to apply it to additional entity types, you can directly edit the CONFIG_LOAD_TEMPLATES JSON.

In the Designer interface, loads using a template will display the TEMPLATED label next to load steps and load options inherited from the template.

To apply changes to loads using a template:

  1. Edit the relevant template in CONFIG_LOAD_TEMPLATES by modifying the JSON.

  2. Commit and deploy the CONFIG_LOAD_TEMPLATES package.

  3. Deploy the entity packages that contain the affected loads.


Notes

  • When using the generated on deploy option, if an entity load includes either an OVERRIDE or OVERRIDE_FILE_LOAD load step, any load steps and load options originating from a template will be excluded.

  • When using the generated on deploy option, if the same load option is defined both in the template and directly within the load, the value from the load will take precedence and override the template-defined value.

  • When CONFIG_LOAD_TEMPLATES is modified:

    • Templates with generatedOnDeploy = false do not affect existing loads.

    • Templates with generatedOnDeploy = true do affect all matching loads (based on entity type and load type). Changes can be verified with the Code Preview functionality in Designer.

  • When using the generated on deploy option and deploying CONFIG_LOAD_TEMPLATES to a runtime environment, make sure to also deploy the associated entity packages. This ensures that all loads are regenerated using the updated versions of the load logic templates.


Contents

Load template configuration

Load template configurations are managed within the JSON array block named entityLoadLogicTemplates.

Key

Value type

Example

Description

entityLoadLogicTemplateId

String

dcb95551-8b4e-4ac1-86a9-ae33bffd9dc6

Unique identifier for the template. Can be generated with online tools, such as UUID Generator.

templateName

String

DUPLICATES_SMOKE_BLACK

Name of the template.

templateDescription

String

SMOKE_BLACK duplicate test

Description of the template.

Example: Load template configuration

JSON
"entityLoadLogicTemplates": [
  ...
  {
    "entityLoadLogicTemplateId": "dcb95551-8b4e-4ac1-86a9-ae33bffd9dc6",
    "templateName": "DUPLICATES_SMOKE_BLACK",
    "templateDescription": "SMOKE_BLACK duplicate test"
  }
  ...
]

Load step configuration

Load step configurations of the templates are managed within the JSON array block named entityLoadLogicTemplateLoadSteps.

Key

Value type

Example

Description

entityLoadLogicTemplateLoadStepId

String

47e26041-dfc3-4ddb-a6cb-77ca014b823f

Unique identifier for the load step. Can be generated with online tools, such as UUID Generator.

entityLoadLogicTemplateId

String

dcb95551-8b4e-4ac1-86a9-ae33bffd9dc6

Reference to the template id. See Entity load logic template configuration above.

loadStepName

String

duplicates_smoke_black

Name of the load step.

position

Integer

1

Load step position.

stepType

String

SMOKE_BLACK

Load step type. See Load step types for more information.

loadLanguageName

String

SQL

Load step language, see Load languages for more information.

textStep

String

SELECT COUNT(*) FROM <target_schema>.<target_entity_name>

Load step logic. Use variables to create more dynamic and generic templates.

readAffectedRows

Boolean

false

Specifies whether the number of affected rows is captured during the execution of the load step. This metadata can be useful for monitoring and analysis purposes.

Example: Load logic configuration

JSON
"entityLoadLogicTemplateLoadSteps": [
  ...
  {
    "entityLoadLogicTemplateLoadStepId": "47e26041-dfc3-4ddb-a6cb-77ca014b823f",
    "entityLoadLogicTemplateId": "dcb95551-8b4e-4ac1-86a9-ae33bffd9dc6",
    "loadStepName": "duplicates_smoke_black",
    "position": 1,
    "stepType": "SMOKE_BLACK",
    "loadLanguageName": "SQL",
    "textStep": "SELECT COUNT(*) FROM <target_schema>.<target_entity_name>",
    "readAffectedRows": false
  }
  ...
]

Load option configuration

Load option configurations of the templates are managed within the JSON array block named entityLoadLogicTemplateLoadOpts.

Key

Value type

Example

Description

entityLoadLogicTemplateLoadOptId

String

4bc00e7a-a2b2-4b44-a32f-35cfb33e66c3

Unique identifier for the load option. Can be generated with online tools, such as UUID Generator.

entityLoadLogicTemplateId

String

dcb95551-8b4e-4ac1-86a9-ae33bffd9dc6

Reference to the template id. See Entity load logic template configuration above.

loadOptName

String

OPT_USE_RUN_IDS

Load option name, see Load options for more information.

value

String

true

Load option value.

loadOptType

String

OPT_USE_RUN_IDS

Load option type.

Example: Load option configuration

JSON
"entityLoadLogicTemplateLoadOpts": [
  . . .
  {
    "entityLoadLogicTemplateLoadOptId": "4bc00e7a-a2b2-4b44-a32f-35cfb33e66c3",
    "entityLoadLogicTemplateId": "dcb95551-8b4e-4ac1-86a9-ae33bffd9dc6",
    "loadOptName": "OPT_USE_RUN_IDS",
    "value": "true",
    "loadOptType": "OPT_USE_RUN_IDS"
  }
  . . .
]

Entity type & load type configuration

The JSON array block named entityTypeEntityLoadTypeEntityLoadLogicTemplates defines which combinations of entity types and load types a template can be applied to.

Key

Value type

Example

Description

entityTypeEntityLoadTypeEntityLoadLogicTemplateId

String

be64ab95-6980-48d3-b049-2a8ee806b5d7

Unique identifier for the configuration. Can be generated with online tools, such as UUID Generator.

entityLoadLogicTemplateId

String

dcb95551-8b4e-4ac1-86a9-ae33bffd9dc6

Reference to the template id. See Entity load logic template configuration above.

entityType

String

HUB

Entity type, see Entity types for more information.

entityLoadType

String

TRANSFORM_PERSIST

Load type, see Load types for more information.

templateOrdinalPosition

Integer

100

The ordinal position of the template determines the order in which templates are displayed when selecting one for a load.

isDefault

Boolean

false

Defines whether the template is enabled by default. If set as default, the template will be automatically applied to newly created entity loads of the corresponding entity type and load type.

generatedOnDeploy

Boolean

false

Enables or disables the generate on deploy option. For more information, see the section Using Generated on Deploy above.

If set to true, the isDefault option must also be enabled.

Example: Entity type & load type configuration

JSON
"entityTypeEntityLoadTypeEntityLoadLogicTemplates": [
  . . .
  {
    "entityTypeEntityLoadTypeEntityLoadLogicTemplateId": "be64ab95-6980-48d3-b049-2a8ee806b5d7",
    "entityType": "HUB",
    "entityLoadType": "TRANSFORM_PERSIST",
    "entityLoadLogicTemplateId": "dcb95551-8b4e-4ac1-86a9-ae33bffd9dc6",
    "templateOrdinalPosition": 100,
    "isDefault": false
    "generatedOnDeploy": false
  }
  . . .
]

Examples

Creating a new load template from an existing load

In a load defined for a Hub entity, a load step of type SMOKE_GREY is specified:

SQL
SELECT 1
FROM <target_schema>.<target_entity_name>
WHERE <targetrunidattr> = <targetrunid>
GROUP BY <target_entity_attribute_by_dv_hashkey>
HAVING COUNT(1) > 1;

Additionally, the load option OPT_USE_RUN_IDS has been enabled.

A load template is created with “Save load logic as template” with the following options:

TEMPLATE NAME

DUPLICATES_SMOKE_GREY_WITH_RUNID

TEMPLATE DESCRIPTION

Detects duplicate values in DV entities.

ENTITY TYPE

HUB

ENTITY LOAD TYPE

TRANSFORM_PERSIST

GENERATED ON DEPLOY

false

IS DEFAULT

false

ORDINAL POSITION

100

After the template is saved, the following JSON entries will appear in the CONFIG_LOAD_TEMPLATES package:

JSON
"entityLoadLogicTemplates": [
  {
    "entityLoadLogicTemplateId": "2661f7c5-901f-4057-9723-ef0cdc979b3e",
    "templateName": "DUPLICATES_SMOKE_GREY_WITH_RUNID",
    "templateDescription": "Detects duplicate values in DV entities."
  }
],
"entityLoadLogicTemplateLoadSteps": [
  {
    "entityLoadLogicTemplateLoadStepId": "db852992-b29a-4d8d-b44f-751c58c44846",
    "entityLoadLogicTemplateId": "2661f7c5-901f-4057-9723-ef0cdc979b3e",
    "loadStepName": "duplicates_smoke_grey",
    "position": 1,
    "stepType": "SMOKE_GREY",
    "loadLanguageName": "SQL",
    "textStep": "SELECT 1\\nFROM <target_schema>.<target_entity_name>\\nWHERE <targetrunidattr> = <targetrunid>\\nGROUP BY <target_entity_attribute_by_dv_hashkey>\\nHAVING COUNT(1) > 1;"
    "readAffectedRows": false
  }
],
"entityLoadLogicTemplateLoadOpts": [
  {
    "entityLoadLogicTemplateLoadOptId": "9cb351b5-e253-4391-87e7-9f2c12a0efdd",
    "entityLoadLogicTemplateId": "2661f7c5-901f-4057-9723-ef0cdc979b3e",
    "loadOptName": "OPT_USE_RUN_IDS",
    "value": "true",
    "loadOptType": "OPT_USE_RUN_IDS"
  }
],
"entityTypeEntityLoadTypeEntityLoadLogicTemplates": [
  {
    "entityTypeEntityLoadTypeEntityLoadLogicTemplateId": "62e058d3-6d0d-48fb-9048-fa47de728632",
    "entityType": "HUB",
    "entityLoadType": "TRANSFORM_PERSIST",
    "entityLoadLogicTemplateId": "2661f7c5-901f-4057-9723-ef0cdc979b3e",
    "templateOrdinalPosition": 100,
    "isDefault": false
    "generatedOnDeploy": false
  }
]

If you would like to use the same logic also in Link loads, add another entry to entityTypeEntityLoadTypeEntityLoadLogicTemplates:

CODE
"entityTypeEntityLoadTypeEntityLoadLogicTemplates": [
  {
    "entityTypeEntityLoadTypeEntityLoadLogicTemplateId": "62e058d3-6d0d-48fb-9048-fa47de728632",
    "entityType": "HUB",
    "entityLoadType": "TRANSFORM_PERSIST",
    "entityLoadLogicTemplateId": "2661f7c5-901f-4057-9723-ef0cdc979b3e",
    "templateOrdinalPosition": 100,
    "isDefault": false
    "generatedOnDeploy": false
  },
  {
    "entityTypeEntityLoadTypeEntityLoadLogicTemplateId": "623d7f38-0bf5-42e3-9d77-edb765d8591e",
    "entityType": "LINK",
    "entityLoadType": "TRANSFORM_PERSIST",
    "entityLoadLogicTemplateId": "2661f7c5-901f-4057-9723-ef0cdc979b3e",
    "templateOrdinalPosition": 100,
    "isDefault": false
    "generatedOnDeploy": false
  },
]

The load template can now be used in Hub and Link loads with “Import load logic from template”.

Using generated on deploy

In this example, we’ll recreate the same load template as above, but using the generated on deploy feature. This approach allows the template to be maintained in CONFIG_LOAD_TEMPLATES, making it easy to propagate changes to all associated loads by simply updating the logic in CONFIG_LOAD_TEMPLATES and deploying both it and the corresponding entity packages.

In this case, the load template is created with the following options:

TEMPLATE NAME

DUPLICATES_SMOKE_GREY_WITH_RUNID

TEMPLATE DESCRIPTION

Detects duplicate values in DV entities.

ENTITY TYPE

HUB

ENTITY LOAD TYPE

TRANSFORM_PERSIST

GENERATED ON DEPLOY

true

IS DEFAULT

true

ORDINAL POSITION

100

The generated JSON will be similar to the one shown in the above example, but the entityTypeEntityLoadTypeEntityLoadLogicTemplateId entry will differ:

CODE
"entityTypeEntityLoadTypeEntityLoadLogicTemplates": [
  {
    "entityTypeEntityLoadTypeEntityLoadLogicTemplateId": "62e058d3-6d0d-48fb-9048-fa47de728632",
    "entityType": "HUB",
    "entityLoadType": "TRANSFORM_PERSIST",
    "entityLoadLogicTemplateId": "2661f7c5-901f-4057-9723-ef0cdc979b3e",
    "templateOrdinalPosition": 100,
    "isDefault": true
    "generatedOnDeploy": true
  }
]

Load steps and load options included in the template will appear in Designer with the TEMPLATED label:

image-20250416-123441.png

These cannot be modified directly in the entity load and must be updated through the template configuration in CONFIG_LOAD_TEMPLATES. Adding OVERRIDE steps to the load will disable the template for that specific entity. However, load options can still be used alongside the template. For more details, see the Notes section above.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.