Call

This topic provides you with information about the Call .

This page discusses:

Accessing this User Operation

This user operation can be accessed by clicking Call .

Describing this User Operation

This user operation enables the expert user to reuse patterns of operations when defining his application. Only user operations exposed in the Knowledge Dictionary can be reused. Operations are reused as they are and without duplication of data. At run time, the operation execution runs the called user Operation.

Methodology

The very first task consists in exposing a user operation in the Knowledge Dictionary using Expose User Operation. Only user operations which do not contain external links (links from one of the suboperations pointing outside the scope of the user operation) can be exposed. Once exposed, the user operation can be reused using the Call operation.

  1. At definition time, you create a Call operation to reuse a user operation exposed through Knowledge Dictionary mechanism.
  2. After instantiation of the Call operation, you set the mandatory inputs i.e. the name of the called user operation.
  3. Other additional inputs added to the Call operation are the local redefinitions of the inputs and the outputs of the called user operation. Create an exact matching between the called user operation attributes and the local redefinition of those attributes on the Call operation: Name, type and quality must be the same for every attribute; otherwise the future operation of the Call operation will fail. If the information concerning the called user operation can be directly accessed at definition time, those attributes can be created automatically to avoid potential errors.
  4. Using these additional inputs, plug the Call operation to the general process. They represent the external view of the behavior pattern exposed via the Call operation. There is no physical link between the Call and Called user operations.

At runtime, the execution of the Call operation consists in different sub-operations described below:

  • First, the Call operation instantiates a hidden copy of the called user operation. This copy is aggregated to the Call operation. Life cycle management and operation of that copy is performed by the Call operation. The Call operation is the external process view of the called user Operation.
  • The inputs and the outputs of the Call operation are mapped with the ones of the called user operation. When operating, the Call operation fails if the matching fails. An error message is raised.
  • The Call operation operates the called user operation. The status and result of this operation can be seen on the Call operation itself. The Call operation is an operation proxy of the called user operation. Its different operation status are the ones of the called user operation. If the called user operation is "failed", the Call operation is "failed", if the called user operation is suspended, the Call operation state is "is suspended" too.

Note: Only main user operations which do not contain external links (links from one of the sub-operations pointing outside the scope of the main user operation) can be exposed. Once exposed, the main user operation can be reused using the Call operation.

Defining the Call Operation

  1. Expose a sequence in the Knowledgeware Index. This sequence is available for the Call operation and is re-used later.
  2. Add the Call operation to the application and set the mandatory inputs i.e. the name of the called user operation. To do so, click the ... button in the User Operation Name field.
  3. Add other inputs to the Call operation such as the local redefinition of the inputs and the outputs of the called user operation. To do so, click Add in the Defined inputs and parameters /Defined outputs and parameters field.

You create an exact matching between the called operation attributes and the local redefinition of those attributes on the Call operation. The name, the type and the quality must be identical for every attribute, if not, the operation of the Call operation fails. To map the attributes of the Call operation with those of the process, you can use the Add command to add the inputs/outputs. You can use the Map attributes button to map the called user operation attributes and the local redefinition of those attributes to the Call operation.

Operating the Call Operation

The operation of the Call operation is made up of 3 different sub-operations:

  1. When running the Call operation, the user operation instantiates a hidden copy of the called user operation. This copy is aggregated to the Call operation. The life cycle management and the operating of this copy is performed by the Call operation which is the external process view of the called user operation.
  2. The inputs and the outputs of the Call operation are mapped to the ones of the called user operation. When operating, the Call user operation status is Failed if the matching fails. In this case, an error message appears.
  3. The Call operation operates the called user operation. The status and result of this operation can be seen on the Call user operation: The symbol changes depending on the user operation status.
Note: The Call operation is an operation proxy of the called user operation. Its different operation states are the ones of the called user operation. If the called user operation is failed, the Call operation is Failed, if the called user operation is suspended, the Call operation operation state is suspended.

Using this User Operation Interface

Fields Explanations
User Operation Name Name of the called sequence. Click the ... button to access the Knowledgeware Index browser which shows a list of the exposed sequences. Select the name of the sequence that is to be re-used and click OK in the browser.
Located in type Indicates the name of the type containing the exposed sequence.
Inputs Click Add to add inputs and parameters to the exposed sequence. These inputs are designed to link the Call operation to the other user operations.
Outputs Click Add to add outputs to the exposed sequence. These outputs are designed to link the Call operation to the other user operations.
Map Attributes Enables you to map the called user operation attributes and the local redefinition of those attributes to the Call operation. This mapping is automatic and is created without any user interaction.