Skip to main content

Automation section

This page describes the actions and parameters that can be configured in an automation section (MarkupJob) in the template. Actions run as background jobs when the automation section is triggered by an event (for example after saving, after loading data, or on cell changes).

Tasks run sequentially: the next active row starts only after the current row completes successfully.

note

When you add rows, extend the named cell range of the automation section, or new steps are ignored.

Triggers and scheduling​

A job can be triggered by a user interaction (like a cell action — value changed, cell click, or file events) or run on a schedule via a CRON entry. When a model has a CRON job, it shows a clock icon in the Cell Storage Explorer in Design mode, where you can start/stop it or run it now.

warning

JobRanges and workflow setup currently require database configuration (tables u1.MarkupJob and u1.MarkupJobTrigger, CRON entries).

Automation section table structure​

Each row defines one action (task). The columns have the following meaning:

ColumnFieldDescription
1NameName of the action (free text; appears in logs).
2TypeTechnical name of the action type (see below). Case-insensitive.
3Run1 = action runs; empty or 0 = row is skipped.
4Success messageOptional text logged on successful completion.
5Error messageOptional text logged on failure.
8StatusOutput: progress / completion status (filled by the system).
9ResultOutput: result text (filled by the system).
10–11Started by / atOutput: who started the action and when.
12Completed atOutput: time of completion.
From column 15Parameter 1 … nAction-specific input values (see each action section below).

Note: Parameters start at column 15 (first parameter = column 15, second = column 16, and so on).


Action type overview​

Type (column 2)Description
MatrixDataCopyCopy data from one dataset selection to another.
MatrixDataRecalcRecalculate datasets (including optional import).
StateCloseClose inactive open dataset histories.
StateDeleteInactiveClean up and delete closed, inactive dataset histories.
BidataExportStartStart a data export (BI export).
DataPumpCsvImport a CSV file into a SQL table.
LinkCommandExecute a data query command (BxLink command).

Execution and error handling​

  1. When the automation is triggered, all rows with Run = 1 are read.
  2. Unknown types in column 2 are ignored (with a notice in the app).
  3. Actions run sequentially. If an action fails, subsequent job rows are cancelled and an error notice is shown.
  4. The Status, Result, and timestamp columns are updated by the system during and after execution (if the section is configured for this).

Quick reference: parameters per action​

ActionParam 1 (Col. 15)Param 2 (Col. 16)Param 3 (Col. 17)Param 4+
MatrixDataCopyModel codeOverwrite (0/1)Target selections, then source selections…
MatrixDataRecalcModel codeOptions (JSON/Legacy)Selections…
StateCloseModel code / ##ALL##(reserved)Minutes—
StateDeleteInactiveModel code / ##ALL##(reserved)Minutes—
BidataExportStartExport nameFull sync (0/1)Schema change (0/1)—
DataPumpCsvJSON settingsCSV pathBCP XML pathBxLink, schema, table
LinkCommandJSON parametersCommand name——

Common placeholders for selection parameters​

For MatrixDataCopy and MatrixDataRecalc, selection parameters refer to the dataset selections of the specified model (in the order defined in the model configuration):

ValueMeaning
(data label code)A specific data label from its data label collection, for example 2024 or DE.
##ALL##All labels of the selection.
##NULL##No label / empty selection.

For optional or additional selections, an empty or unknown code may be tolerated; for required selections, a valid data label must be provided.


Action descriptions and parameters​

MatrixDataCopy — Copy dataset data​

Copies cell values from a source selection to a target selection in the specified model. Subordinate datasets can be included recursively.

Parameters​

ParameterColumnDescription
Model code15Code of the model in which data is copied. The most recently published template version is used.
Overwrite161 = overwrite existing target data; 0 or empty = do not overwrite.
Target selection 1 … n17 …One data label code (or placeholder) per dataset selection — target.
Source selection 1 … n…Then one value per selection — source (same count as target).

Example​

Model PLAN with two selections (year, version):

151617181920
PLAN12025ACTUAL2024ACTUAL
→ Copies actual data from 2024 to 2025 (actual), overwriting existing target data.

MatrixDataRecalc — Recalculate datasets​

Recalculates datasets for the specified selections. Optionally, import templates and filter options can be set.

Parameters​

ParameterColumnDescription
Model code15Code of the model.
Options16JSON object or legacy format for import (see below). Empty = default behavior.
Selection 1 … n17 …One data label code (or placeholder) per dataset selection.

Options (column 16)​

As JSON (recommended):

{
"onlyExistingDatasets": "true",
"migrationName": "MyImportTemplate",
"migrationDocId": "12345"
}
JSON keyDescription
onlyExistingDatasetstrue = recalculate only already existing datasets.
migrationNameName of an import template in the current template version (optional).
migrationDocIdNumeric ID of the import document (required when migrationName is set).

Legacy format (still supported):

<importTemplateName>##<documentId>

Example: Jahreswechsel##4711

StateClose — Close inactive datasets​

Closes open dataset histories from the history that have been inactive for longer than the specified time (reducing parallel-processing warnings). Only datasets of the current tenant are considered; app and tenant are taken from the running session.

Parameters​

ParameterColumnDescription
Model code15Code of the model. ##ALL## = all models.
(reserved)16Not currently evaluated — leave empty.
Inactivity (minutes)17Minimum inactivity duration in minutes. Only values > 0 trigger execution.

Example​

151617
PLAN120
→ Closes open PLAN datasets that have been inactive for more than 120 minutes.

StateDeleteInactive — Delete inactive datasets​

Permanently removes closed, inactive dataset histories (deletion stage). Tenant and app are taken from the running session.

Parameters​

ParameterColumnDescription
Model code15Code of the model. ##ALL## = all models.
(reserved)16Not currently evaluated — leave empty.
Inactivity (minutes)17Minimum inactivity duration in minutes since closing. Only values > 0 trigger execution.

BidataExportStart — Start a data export​

Starts the synchronisation of a configured data export (BI schema).

Parameters​

ParameterColumnDescription
Export name15Caption (name) of the data export definition in the app.
Force full export161 = force a full export; otherwise empty/0.
Allow schema changes171 = allow schema/table changes at the export target; otherwise empty/0.

If an export job for the same definition is already running, the new job is cancelled.

DataPumpCsv — CSV import​

Imports a CSV file into a SQL table using a BCP format XML file via a data integration (BxLink).

Parameters​

ParameterColumnDescription
Import settings (JSON)15Optional JSON configuration (see below). Empty = default values.
CSV file path16Full path to the CSV file on the server.
BCP format XML path17Full path to the XML file with the BCP column definitions.
Data integration18Name of the SQL data integration (BxLink).
Database schema19Target schema in the database.
Target table20Name of the target table.
Import settings (JSON, column 15)​
{
"Delimiter": ";",
"HasHeader": true,
"Culture": "de-DE",
"Encoding": "UTF8",
"DropTmpTable": false,
"UseExistingTable": false,
"IdentityColumnName": "Id",
"CommandTimeoutSec": 600,
"NoEscape": true
}
FieldDescription
DelimiterColumn delimiter in the CSV file.
HasHeadertrue = first row contains column headers.
CultureCulture for number and date formats, for example de-DE.
EncodingCharacter encoding, for example UTF8.
DropTmpTableDelete the temporary import table after completion.
UseExistingTabletrue = use the existing target table (no rebuild).
IdentityColumnNameName of the identity column on table creation (default: Id).
CommandTimeoutSecSQL timeout for bulk steps in seconds.
NoEscapetrue (default) = treat quotes as regular characters; false = RFC-4180 quoting.

LinkCommand — Execute a data query command​

Executes a configured data query command (BxLink command) and loads the data into the app.

Parameters​

ParameterColumnDescription
Command settings (JSON)15Optional parameters for the command (see below). Empty = default.
Command name16Name of the data query command in the app.
Command settings (JSON, column 15)​
{
"Parameters": {
"Year": 2025,
"Tenant": "ACME"
}
}

The keys under Parameters correspond to the parameter names of the command in the data integration configuration.