All variables must be initialized before use. A variable, or part of a variable, can be initialized in several ways, including receiving a message in an activity, assigning data in an assign or input mapping, or adding an initial value to the variable definition.
Variables in
receive
,
onMessage
,
onEvent
, and
inbound
invoke activities are automatically initialized. You can initialize other process variables when you declare them. Doing so allows you to skip an assign activity that would initialize a variable.
The initial value of a variable is validated against the schema or WSDL definition during process execution. You can also validate the variable by adding it to a validate activity. For details, see
Validating Variables.
For a variable that is declared in a scope that contains a start activity, such as a Receive, you must not initialize the variable with a value that can change, such as a date-time function. This restriction allows for a pre-computed value for all process instances.