Views:
Question:
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 dataFile CabinetWorkflow system variableWorkflow global variable textWorkflow global variable keywordWorkflow global variable
User - single
Workflow global variable
User - list
Workflow global variable Role - singleWorkflow global variable
Role - list
Workflow global variable Substitution rule - singleWorkflow global variable Substitution rule - listFixed entryExternal data
Textno splitno splitno split
multiple values are concatenated with ,
no splitno split
multiple values are concatenated with ,
no splitno split
multiple values are concatenated with ,
no splitno split
multiple values are concatenated with ,
no splitno split
multiple values are concatenated with ,
no splitno split
Keywordsplit 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 splitno split
all values are applied
no splitno split
all values are applied
no splitno split
all values are applied
split by <space> , ;no split
all values of returned rows are applied
User of a groupno splitno split
all values of returned rows are applied
no split
1st value is applied
no splitno split
multiple values are concatenated with ,
no splitn.an.an.an.an.aUser is selected from dedicated UIno 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 splitno split
all values are applied
n.an.an.an.aUsers are selected from dedicated UIno split 
all values of returned rows are applied
Roleno splitno split
all values of returned rows are applied
no split
1st value is applied
no splitno split
multiple values are concatenated with ,
n.an.ano splitn.an.an.aRole is selected from dedicated UIno 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.an.ano splitno split
all values are applied
n.an.aRoles are selected from dedicated UIno split
all values of returned rows are applied
Substitution ruleno splitno split
all values of returned rows are applied
no split
1st value is applied
no splitno split
multiple values are concatenated with ,
n.an.an.an.ano splitn.aSub.rule is selected from dedicated UIno split
Substitution rule - multiselectsplit 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.an.an.an.ano splitno split
all values are applied
Sub.rules are selected from dedicated UIno split
all values of returned rows are applied





























































Assign data to workflow global variables:

Source →
Destination ↓
Index dataFile CabinetWorkflow system variableWorkflow global variable textWorkflow global variable keywordWorkflow global variable
User - single
Workflow global variable
User - list
Workflow global variable Role - singleWorkflow global variable
Role - list
Workflow global variable Substitution rule - singleWorkflow global variable Substitution rule - listFixed entryExternal data
Textno splitno splitno split
multiple values are concatenated with ,
no splitno split
multiple values are concatenated with ,
no splitno split
multiple values are concatenated with ,
no splitno split
multiple values are concatenated with ,
no splitno split
multiple values are concatenated with ,
no splitno split
Keywordsplit 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 splitno split
all values are applied
no splitno split
all values are applied
no splitno split
all values are applied
split by <space> , ;no split
all values of returned rows are applied
User of a groupno splitno split
all values of returned rows are applied
no split
1st value is applied
no splitn.ano splitn.an.an.an.an.ano splitno 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 splitno split
all values are applied
n.an.an.an.asplit by <space> , :no split 
all values of returned rows are applied
Roleno splitno split
all values of returned rows are applied
no split
1st value is applied
no splitn.an.an.ano splitn.an.an.ano splitno 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.an.ano splitno split
all values are applied
n.an.asplit by <space> , ;no split
all values of returned rows are applied
Substitution ruleno splitno split
all values of returned rows are applied
no split
1st value is applied
no splitn.an.an.an.an.ano splitn.ano splitno split
Substitution rule - multiselectsplit 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.an.an.an.ano splitno 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!