When designing your eSpace, you may need to send data between elements. For this purpose, you need to define input parameters. Input parameters are, for example, necessary for an action that depends on external data to compute its result.

Examples

Customer_id a used to update customer information.

Rate  a used to compute your mortgage.

Elements that accept input parameters are:

 

How to add an Input Parameter to an element:

  1. Right-click the element in the eSpace tree and select Add Input Parameter

  1. Rename it as desired.

  1. Specify the properties of the new input parameter. An input parameter can be mandatory or optional and of any of the following data types.

To add another parameter, simply repeat this operation.

To delete a parameter, right-click it in the eSpace tree and select the option Delete.

Beware that deleting an input parameter of a user-defined action defined as a function, that is, a User Function, may change the function calls in the expressions of your eSpace. Likewise, Move Up or Move Down of an input parameter impacts the function calls: Their arguments are re-ordered, sometimes named,  accordingly.

How Input Parameters are instantiated

Input parameters are instantiated when the screens, screen blocks, actions, processes or process activities are executed. You must specify with which values they're going to be instantiated using the property Arguments of the elements that invoke them, which are:

Handling input parameters

When using input parameters, it is important to keep in mind that, in Service Studio, input parameters are passed by value or reference, depending on their data types.

Most Service Studio data types are passed by value, i.e. a new memory location is created for each input parameter with the value being copied from the argument. Any later change made to it inside the scope of, for example, the action does not affect the value of the argument in the caller scope.

Exceptions to this behavior are:

which are passed by reference, i.e. each input parameter shares the memory location of the argument.

If you are handling Action or Screen Block References, the input parameters are always sent by value, regardless the data types.

Any later change made to it inside the scope of, for example, the action affects the value of the argument in the caller scope. In this situation, the input parameter behaves as an output parameter. This implies that, when using a user function in an expression you may be actually changing the value of an input parameter in the scope of the screen or action that uses the expression.

See Also

Input Parameter Properties | Data Types of Input Parameters | About Variables | About Output Parameters | Use User Functions