These are configuration formats for the output of strings via EL syntax. The formats are available for assigning values to String-type Data Items in Update Data steps, for setting up an email message in Throwing Message Intermediate Event (Email), and for settings values for each Task.
You can use fixed values, data references, and App/Process reference information to assign values to String-type Data Items. You can also use formatting functions to specify the output format, and functions to calculate JSON/XML escapes and hash values.
This section introduces the basic structure of EL expressions and how to write them. For a detailed specification of the EL expressions available in Questetra and corresponding examples, please refer to: R2275: Outputting as a String Using EL Expressions (Advanced).
BPMN Icon: [Update Data], [Throw Message Intermediate Event (Email)], etc.
Workflow Variables
Workflow Platform
Application Root URL (System Constant)
| Format | Assigned value |
|---|---|
| ${var[applicationRoot]} | https://example.questetra.net/ |
App
App ID
| Format | Assigned value |
|---|---|
| #{processModelInfoId} | 12 |
App Name
| #{processModelInfoName} | Inquiry-handling flow |
Process
Process ID
| Format | Assigned value |
|---|---|
| #{processInstanceId} | 12345 |
| p#{processInstanceId} | p12345 |
| #{#sformat('%d', processInstanceId)} | 12345 |
| #{#sformat('%04d', processInstanceId)} | 12345 |
| #{#sformat('%06d', processInstanceId)} | 012345 |
Process Sequence Number (Application variable)
| #{processInstanceSequenceNumber} | 67890 |
| #{#sformat('%06d', processInstanceSequenceNumber)} | 067890 |
| xyz#{#sformat('%06d', processInstanceSequenceNumber)} | xyz067890 |
Process Start Time
| #{processInstanceStartDatetime} | 2020-03-14 09:45:00 |
| #{#dateFormatter.format('dd.MM.yyyy HH:mm (E) Z', processInstanceStartDatetime)} | 14.03.2020 09:45 (Wed) -0500 |
| #{#dateFormatter.format('M.yy', processInstanceStartDatetime)} | 3.14 |
Process Start User
| #{processInstanceInitQuserName} | SUZUKI Ichiro |
| #{processInstanceInitQuser?.getEmail()} | suzuki@example.com |
Process Start Organization
| #{processInstanceInitQgroupName} | Sales |
| #{processInstanceInitQgroup?.getEmail()} | sales@example.com |
Parent Process ID
| #{parentProcessInstanceId} | 1234 |
- Can be used in a Process started from [Message Start Event (HTTP)] by an HTTP request sent from the same workflow platform.
Data Items
String-type
| Format | Assigned Value |
|---|---|
| #{#q_string} | ABC, def |
Numeric-type
| Format | Assigned Value |
|---|---|
| #{#q_numeric} | 12,345.67 |
| #{#sformat("%1.1f", #q_numeric)} | 12345.7 |
| #{#sformat("%1.1f", #q_numeric - 45)} | 12300.7 |
- Decimal point notation is output according to the Data Item setting.
- Prefix / suffix characters are not output.
- It is also possible to set to output the calculation result.
Select-type
| #{#q_select_radio} | Brazil |
| #{#q_select_radio?.![value]} | br (selected choice ID) |
| #{#q_select_check} | Japan, Brazil (display labels of the selections) |
| #{#q_select_check?.![value]} | ja, br (selected choice IDs) |
| #{#q_select_check?.get(1)} | Brazil (the second choice label) |
| #{#q_select_check?.get(0)?.value} | ja (the first choice ID) |
- When multiple choices are checked, the delimiter is "," (comma).
Date/Datetime-type
| #{#q_date} |
2020-03-14 (Date-type Y/M/D) |
| #{#q_datetime} | 2020-03-14 23:45 (Datetime-type) |
| #{#q_datetime.addDays(#q_num.intValue())} | 2020-03-24 23:45 (Add days of the value of Numeric-type Data Item) |
| #{#dateFormatter.format('dd mm, yyyy', #q_datetime)} | 14 03, 2020 |
- Follows the sub-type settings in the Data Item
File-type
| #{#q_file} | ((List of file names)) |
| #{#q_file?.![contentType]} | ((List of Content-Types)) |
| #{#q_file?.get(0)?.getCharset()} | ((Value of charset part of Content-Type of the first file)) |
| #{#q_file?.get(1)?.length} | ((Size of the second file)) |
- Comma-delimited if multiple
User-type
| #{#q_user} | SUZUKI Ichiro <suzuki@example.com> |
| #{#q_user?.name} or #{#q_user?.getName()} |
SUZUKI Ichiro |
| #{#q_user?.id} or #{#q_user?.getId()} |
13 |
| #{#q_user?.email} or #{#q_user?.getEmail()} |
suzuki@example.com |
| #{#q_quser?.isDeletedInFuture()} | true/false (With or without [Will be deleted in the future] flag) |
Organization-type
| #{#q_org} | Sales <sales@example.com> |
| #{#q_org?.name} or #{#q_org?.getName()} |
Sales |
| #{#q_org?.id} or #{#q_org?.getId()} |
5 |
| #{#q_org?.email} or #{#q_org?.getEmail()} |
sales@example.com |
| #{#q_org?.isDeletedInFuture()} | true/false (With or without [Will be deleted in the future] flag) |
Table-type
| #{#q_table} | 2 row(s) |
| #q_table.summary['price'] | 2.25 |
| #{#q_table?.get(0, 2)} | Cash |
| #{#q_table?.getObject(0, 2)?.getDisplay()} | Cash |
| #{#q_table?.getObject(0, 'kind')?.display} | Travel Fee |
| #{#q_table?.rows?.![#this['name'] + '|' + #this['price']]} | Orange|1.00, Apple|1.25 |
Discussion-type
| #{#q_discussion} | ------- [2020-02-07 13:29] <NAKAMURA Haruko> Hello, Goodbye (Assigning to single-line will result in an error) |
Guide Panel-type
| n/a | (Display only) |
Notes
- The Expression Language used for the variable is based on the implementation of SpEL (Spring Expression Language)
- Formats with multiple variables can be set to String-type Data
- E.g. If you set "Process ID is #{processInstanceId}. Process Sequence number is #{processInstanceSequenceNumber}", the values "Process ID is 12345. Process Sequence number is 67890" will be assigned
- If there is a conflict, such multiple lines of data being assigned to a single-line String-type Data Item, it will result in an error
- If you do not set anything in the format settings, a blank will be assigned (data will be deleted)
- '%04d' (decimal notation plus 4 Digit zero (0)Padding) is processing to add a leading zero to make it 4 characters long
Comments
0 comments
Article is closed for comments.