Situations can arise in an integration process where it is not possible to continue the integration process normally (for example, due to a system error), or where it is not recommended to continue normally. You can prepare for such situations when you define the business process, by using exceptions and exception handlers.
The table below shows which exceptions you can define in which step types.
Step Type |
Exception For |
Description |
Send step – asynchronous, synchronous |
System error |
Thrown when a permanent system error occurs: In the case of an asynchronous send step, the exception will only be triggered if an error occurs during the transfer to the pipeline. Errors that occur during mapping in the pipeline, do not trigger an exception. In the case of a synchronous send step, the exception is also triggered by permanent system errors that occur in the pipeline or while transporting the message to or from the pipeline. |
Send step – synchronous |
application error
|
You can define an exception for each fault message that is defined in the synchronous interface. This exception is thrown when the corresponding fault message is received. |
System error |
Thrown when a permanent system error occurs |
|
Any exception situation |
Thrown when the control step is reached |
The name of an exception must be unique within the block and in the next superior block hierarchy.
You define the reaction to an exception, the exception handler, in a separate processing branch in a block. The exception handler has read and write-to access to all data within the block.
If an exception is triggered at runtime, the system first searches for the relevant exception handler in surrounding blocks. If it does not find the correct exception handler, it continues the search in the next block in the block hierarchy.
When the system finds the correct system handler, it stops all active steps in the block in which the exception handler is defined and then continues processing in the exception handler branch. Once the exception handler has finished processing, the process is continued after the block.
If the system fails to find an exception handler, it terminates the integration process with an error.
If a system error occurs in a send step, an alert is to be triggered for Alert Management and the integration process should then be terminated. Proceed as follows:
In the send step, define the exception Senderror for the attribute Exception/System Error.
Add an exception handler branch to the relevant block by selecting the relevant option from the context menu. In the attributes for the branch, enter the exception Senderror. Insert a control step into the branch to trigger the required alert. After this control step, insert another to terminate the integration process.