How / when are values split when assigning data or pre-filling form fields in a workflow?
Answer:
In a workflow, you can assign data to global variables or pre-fill data in form fields of different types.
This is an overview of the behavior, especially looking at how and when values are split.
Numeric, decimal and date / time types are explicitly excluded as splitting does not apply here.
Pre-filling / Predefined entry in workflow form fields:
Source → Destination ↓ | Index data | File Cabinet | Workflow system variable | Workflow global variable text | Workflow global variable keyword | Workflow global variable User - single | Workflow global variable User - list | Workflow global variable Role - single | Workflow global variable Role - list | Workflow global variable Substitution rule - single | Workflow global variable Substitution rule - list | Fixed entry | External data |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Text | no split | no split | no split multiple values are concatenated with , | no split | no split multiple values are concatenated with , | no split | no split multiple values are concatenated with , | no split | no split multiple values are concatenated with , | no split | no split multiple values are concatenated with , | no split | no split |
Keyword | split by <space> , ; | no split all values of returned rows are applied | no split all values are applied | split by <space> , ; | no split all values are applied | no split | no split all values are applied | no split | no split all values are applied | no split | no split all values are applied | split by <space> , ; | no split all values of returned rows are applied |
User of a group | no split | no split all values of returned rows are applied | no split 1st value is applied | no split | no split multiple values are concatenated with , | no split | n.a | n.a | n.a | n.a | n.a | User is selected from dedicated UI | no split |
User of a group - multiselect | split by <space> , ; | no split all values of returned rows are applied | no split all values are applied | split by <space> , ; | no split all values are applied | no split | no split all values are applied | n.a | n.a | n.a | n.a | Users are selected from dedicated UI | no split all values of returned rows are applied |
Role | no split | no split all values of returned rows are applied | no split 1st value is applied | no split | no split multiple values are concatenated with , | n.a | n.a | no split | n.a | n.a | n.a | Role is selected from dedicated UI | no split |
Role - multiselect | split by <space> , ; | no split all values of returned rows are applied | no split all values are applied | split by <space> , ; | no split all values are applied | n.a | n.a | no split | no split all values are applied | n.a | n.a | Roles are selected from dedicated UI | no split all values of returned rows are applied |
Substitution rule | no split | no split all values of returned rows are applied | no split 1st value is applied | no split | no split multiple values are concatenated with , | n.a | n.a | n.a | n.a | no split | n.a | Sub.rule is selected from dedicated UI | no split |
Substitution rule - multiselect | split by <space> , ; | no split all values of returned rows are applied | no split all values are applied | split by <space> , ; | no split all values are applied | n.a | n.a | n.a | n.a | no split | no split all values are applied | Sub.rules are selected from dedicated UI | no split all values of returned rows are applied |
Assign data to workflow global variables:
Source → Destination ↓ | Index data | File Cabinet | Workflow system variable | Workflow global variable text | Workflow global variable keyword | Workflow global variable User - single | Workflow global variable User - list | Workflow global variable Role - single | Workflow global variable Role - list | Workflow global variable Substitution rule - single | Workflow global variable Substitution rule - list | Fixed entry | External data |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Text | no split | no split | no split multiple values are concatenated with , | no split | no split multiple values are concatenated with , | no split | no split multiple values are concatenated with , | no split | no split multiple values are concatenated with , | no split | no split multiple values are concatenated with , | no split | no split |
Keyword | split by <space> , ; | no split all values of returned rows are applied | no split all values are applied | split by <space> , ; | no split all values are applied | no split | no split all values are applied | no split | no split all values are applied | no split | no split all values are applied | split by <space> , ; | no split all values of returned rows are applied |
User of a group | no split | no split all values of returned rows are applied | no split 1st value is applied | no split | n.a | no split | n.a | n.a | n.a | n.a | n.a | no split | no split |
User of a group - multiselect | split by <space> , ; | no split all values of returned rows are applied | no split all values are applied | split by <space> , ; | no split all values are applied | no split | no split all values are applied | n.a | n.a | n.a | n.a | split by <space> , : | no split all values of returned rows are applied |
Role | no split | no split all values of returned rows are applied | no split 1st value is applied | no split | n.a | n.a | n.a | no split | n.a | n.a | n.a | no split | no split |
Role - multiselect | split by <space> , ; | no split all values of returned rows are applied | no split all values are applied | split by <space> , ; | no split all values are applied | n.a | n.a | no split | no split all values are applied | n.a | n.a | split by <space> , ; | no split all values of returned rows are applied |
Substitution rule | no split | no split all values of returned rows are applied | no split 1st value is applied | no split | n.a | n.a | n.a | n.a | n.a | no split | n.a | no split | no split |
Substitution rule - multiselect | split by <space> , ; | no split all values of returned rows are applied | no split all values are applied | split by <space> , ; | no split all values are applied | n.a | n.a | n.a | n.a | no split | no split all values are applied | split by <space> , ; | no split all values of returned rows are applied |
Remarks:
- in the cases where the values are concatenated, we always use the delimiter:
- <comma> ,
- Currently, it is not possible to modify the delimiter
- in the cases where the values are split, we always use delimiters:
- <space>
- <comma> ,
- <semicolon> ;
- Whenever a delimiter is found, the value is split
- Currently, it is not possible to modify the delimiters
Values which are enclosed by single quotation marks (') are not split
- in the cases where "File Cabinet" or "External Data" are used as source, all values per returned row are applied. If you have multiple values within 1 row, they will not be split.
Examples:
You assign the fixed entry "UserA UserB" to a global variable to type keyword.
The fixed entry will be split by space, which means you will get 2 entries in the keyword variable in arbitrary order:
- UserA
- UserB
You assign the fixed entry "Accounting;Production" to a global variable of type keyword.
The fixed entry will be split by semicolon, which means you will get 2 entries in the keyword variable in arbitrary order:
- Accounting
- Production
You assign the fixed entry "Accounting;Production;Human resources" to a global variable of type keyword.
The fixed entry will be split by semicolon and space, which means you will get 4 entries in the keyword variable in arbitrary order:
- Accounting
- Human
- Production
- Production
- resources
You assign the fixed entry "'Lastname, Firstname'" (enclosed by single quotation marks) to a global variable of type keyword.
The fixed entry will not split, which means you will get 1 entry in the keyword variable:
- Lastname, Firstname
You assign the global variable of type keyword with 2 entries to a global variable of type text.
In the keyword variable, you have the following entries:
- UserA
- UserB
You will get both values concatenated by , in arbitrary order:
- UserA,UserB
You assign external data to global variable of type keyword.
The external data configuration is specified in a way that 2 rows are returned, i.e. WHERE clause returns multiple matches and "maximum number or returned rows" is set to 2.
From external data the following data is returned:
- row 1: UserA UserB
- row 2: UserC
The entries are applied per row, i.e. values within a row will not be split.
So you will get 2 entries in the keyword variable:
- UserA UserB
- UserC
You assign external data to a global variable of type User of a group (single).
The external data configuration automatically will return a maximum of 1 row.
From external data the following data is returned:
- row 1: UserA UserB
The entries are applied per row, i.e. values within a row will not be split.
So you will get 1 entry in the User variable:
- UserA UserB
However, this works only, if the provided value can be matched to a user in the DocuWare System.
So in this case the matching would probably fail, as there is no DocuWare User with username "UserA UserB". This means the variable will remain empty!