Data Fields and Parameters

Data fields identify the inputs and outputs of an activity. Parameters are input to or output from a source external to the process.

For example:

  • Data fields: an activity called "Process Student Course Request" could require a form with the list of courses the student wants to take as input. The availability is checked and a form that lists the courses they are enrolled in is output.
  • Parameters: parameters are passed from a process to a sub-process.

Parameters can only be created at the process level. Data fields can be created:

  • at the package level, where they can be shared amongst processes defined in that package.
  • at the process level, where they can only be used by the parent process.
  • at the activity level, where they can only be used by the parent activity. (Activity-level data fields are only supported for certain activity types in certain destination environments. See the appropriate implementation guide for more information.).
Tip: You can change a process-level data field to a parameter by right-clicking it, and selecting Convert Data Field to Parameter. The default mode for converted parameters is In/Out, meaning that they can be specified as either input or output.

Data fields and parameters share the same basic types (Integer, Text, and so on), however they have different properties:

  • Parameters can be specified as mandatory (they must be present at runtime).
  • Both data fields and parameters can be specified as read only. For data fields, this means that they can only be assigned by their initial value setting. For formal parameters, it means that once input to the process they cannot be re-assigned (for example, in scripts or user tasks).
  • Data fields and parameters can be an array of basic types (for example an array of Text).
  • Parameters can also be specified as input, output or both by selecting the Mode (In, Out, or In/Out). The mode is indicated by the icon next to the parameter: