Show TOC

User DecisionLocate this document in the navigation structure

Use

In practice, a user must sometimes decide which processing branch an integration process is to continue in. The following example illustrates this:

Tip

An integration process collects requirements sent by various production facilities. A deadline is defined for collecting the requirements. If there are requirements that arrive after the deadline, an administrator must be able to decide on a case-by-case basis how the integration process is to continue.

  • The integration process continues to wait.
  • The deadline is extended.
  • The integration process uses the requirements last identified.

Decision Options

To enable the user to make this kind of decision, add a step of type User Decision to the definition of the process. Then define the required decision options. The system inserts a processing branch for each decision option. You then insert the required processing steps in these processing branches.

Notification at Runtime

The intended user receives a dialog work item in the workflow inbox at runtime. This displays a corresponding button for each decision option that you defined. As soon as the user chooses a button, the system resumes the integration process in the relevant processing branch.

Local Variables

You can use variables when defining the texts that are displayed to the user at runtime. The system replaces these variables at runtime with the current data from the process. You can use existing container elements as variables, or define local variables.

You use a local variable to reference a particular field in a message. The system replaces the local variable at runtime with the current value of the field. By specifying a text with corresponding local variables, you can make the context of the decision clear to the agent, as shown in the following example:

Within a time limit of &deadline&, only &current_msg_count& messages out of a total of &msgt_total& have arrived. How should the process continue?

&msgt_total& could be a local variable that references a field in a message.

Note that in texts, you can only access the content of fields in a message by using local variables. It is not possible to enter XPath directly in the text.

In the title of the user decision, the system can replace a maximum of four variables with actual values.

Configurable Parameters for Specifying Agents

To determine which user is to be notified at runtime, you define a configurable parameter of type Agent and use it in the required user decisions.

At configuration time, you assign this configurable parameter to the relevant user in the Integration Directory. As a result, this user becomes the agent for all user decisions in which the corresponding configurable parameter is used. This means you can define user assignment centrally, and do not have to adjust each individual user decision following a modification.

The user that is to be entered as processor must be defined on the Integration Server.

Activities

Insert Step

  1. Insert a step of type user decision at the required position in the process.
  2. In the Step Name and Step Description fields, enter the texts to be displayed for the step in the process editor.

Define Agent

  1. Choose the Configurable Parameters view in the lower screen area.
  2. Define a parameter for the agent:
    • Name: Specify a description for the configurable parameter, such as Agent User Decision.
    • Category: Choose Processor.

Define Texts for User Decision

  1. Define the required texts as follows:
    • Open the text editor by using the input help for the relevant field.
    • Enter the required text in the upper area of the text editor.

      You can define the following texts:

      • Title for Display: The text that the agent sees in the dialog work item as the title of the user decision at runtime.
        Note

Note that the system can replace a maximum of four variables in the title with actual values.

  • Description for Display: The text that the agent sees in the dialog work item as the description of the user decision at runtime.

    In this text, describe exactly what the agent needs to decide as part of the user decision. You can also provide notes about the processing steps that follow.

  • Decision Text: Text that the agent sees as the label of the button for the user decision at runtime.
  • Outcome Name: Text that you see as the name of the processing branch in the process definition at definition time. This text is not visible to the agent at runtime.

Insert Variables

  1. Insert the relevant variables at the required positions in the text.

    You can insert existing container elements as variables, or define local variables. Only simple XSD data types are permitted for variables and local variables in texts.

    Make sure that you provide the agent with sufficient information about the texts and variables, so that he or she can make a decision at runtime. This is particularly important for local variables that reference certain fields of a message.

    You have the following options for inserting an existing container element as a variable:

    • Drag the container element to the required point in the text by using the mouse.
    • Use Ctrl + Space to open the selection list and then select the required container element.
    • Enter the name of the container element. Place the name between ampersands (&), for example &variable&

    To define a local variable, proceed as follows:

    1. Insert a new line in the lower area of the text editor window.
    2. In the Name field, enter a name for the local variable.
    3. In the Type field, select the appropriate simple XSD data type.
    4. You can define a default value that is to be used if the relevant field for the message is blank. Enter this default value in the Standard field.
    5. In the Description field, enter a description of the purpose or use of the variable.

      The local variable is now displayed under Local Variables in the properties area.

    6. In the properties area, open the input help for the local variable, and use the expression editor to define the access to the required field.

      More information: Using the Expression Editor

  2. Release the change list and configure the agent for the user decision in the integration process component in the Integration Directory.

    More information: Integration Process Component