The parameters provided to a workflow action can include labels. A label is replaced with the value of referenced message or value. Labels begin with a dollar sign and end with a semicolon. Normal labels reference message labels; for example: a label of “$InvoiceNumber;” will be replaced with the contents of the message (within the current scope) having the label “InvoiceNumber”. This form of label substitution is most effectively used in reference to messages which contains a small amount of data as the entire contents of the message will have to be read into memory in order to perform the substitution. If a label is referenced that does not correspond to a message within the current scope an exception will occur.
A variety of special labels are also provided to reference commonly used values. These labels are of the form “$label;”. Note that they still begin with a dollar sign and end with a semicolon, however, the label string is both prefixed and suffixed with two underscore characters. As message labels are only permitted to be alphanumeric name collisions with actual messages is not possible.
Special labels as of the current version:
| Label | Description |
|---|---|
| $DATE; | The current date in the form of “%Y%m%d” as in “19721206” for December 6th, 1972. |
| $TODAY; | Functionally equivalent to the $OMPHALOSDATE; label except that the value is derived from a date value rather than a date & time value.1 |
| $YESTERDAY; | A date value in form of “%Y-%m-%d” representing the date prior to the current date.2 |
| $WEEKAGO; | A date value in form of “%Y-%m-%d” representing the date seven calendar days prior to the current date.3 |
| $FORTNIGHTAGO; | A date value in form of “%Y-%m-%d” representing the date fourteen calendar days prior to the current date.4 |
| $MONTHAGO; | A date value in form of “%Y-%m-%d” representing the date thirty calendar days prior to the current date.5 |
| $TOMORROW; | A date value in form of “%Y-%m-%d” representing the date following the current date.6 |
| $OMPHALOSDATE; | The current date in the form of “%Y-%m-%d” as in “1972-12-06” for December 6th, 1972. |
| $MONTHSTART; | The first date in the current month in Omphalos form [ “%Y-%m-%d”]. The purpose of this XATTR is to allow routes to be scheduled that run for the current month (a range can be constructed using this label and $OMPHALOSDATE;).7 |
| $USCIVILIANDATE; | The current date in the form of “%m/%d/%Y” as in “12/06/1972” for December 6th, 1972.8 |
| $DATETIME; | The current date and time in form of “%Y%m%dT%H:%M” as in “19721206%12:00” for noon December 6th, 1972. |
| $OMPHALOSDATETIME; | The current date and time in form of “%Y-%m-%d %H:%M”. |
| $INITDATE; | The date the current process was created – which is the time it entered the “I” (Initialized) state. The form of the value is “%Y-%m-%d” as in “1972-12-06”.9 |
| $NOW_Y2; | A two digit representation of the current year. |
| $NOW_Y4; | A four digit representation of the current year. |
| $NOW_M2; | A two digit representation of the current month10. |
| $PID; | The object id of the current process. |
| $TASK; | The object id of the task, if any, currently assigned to the process. |
| $EMAIL; | The e-mail address of the user who owns the process. |
| $ROUTE; | The name of route of which the process is an instance. |
| $UUID; | The UUID value of the current process. This UUID value is quoted in curly braces.11 |
| $GUID; | The UUID value of the current process without leading or trailing curly braces.12 |
| $WEEKOFMONTH; | Returns the range of days of month for the current week. If the current week begins on the 9th of the month and ends on the 15th of the month value for the labels would be “09-15”. If the week is the first or last week of a month it may not represent seven calendar days – it only considers the days of the current month; the value of the last week of September 2013 would be “29-30” as the last day of the month is a Monday.13 |
| $PARENTPID; | The object id of the current process' parent process. |