Learning
Community
Open Exchange
Global Masters
InterSystems IRIS Data Platform 2019.4 / System Interoperability / Business Process and Data Transformation Language Reference / BPL Elements / <compensate>
Previous section   Next section

<compensate>

Invoke a <compensationhandler> from <catch> or <catchall>.

Syntax

<scope>
   <throw fault='"BuyersRegret"'/>
   <faulthandlers>
     <catch fault='"BuyersRegret"'>
       <compensate target="RestoreBalance"/>
     </catch>
   </faulthandlers>
   <compensationhandlers>
     <compensationhandler name="RestoreBalance">
       <assign property='context.MyBalance' value='context.MyBalance+1'/>
     </compensationhandler>
   </compensationhandlers> 
</scope>

Details

Attribute or Element Description Value
target attribute Required. The name of a <compensationhandler> that provides a sequence of activities to undo previous actions. A string of 0 to 255 characters.
<annotation> element See “Common Attributes and Elements.”  

Description

The <compensate> element invokes a <compensationhandler> block by specifying its name as a target:
<compensate target="general"/>
<compensate> may only appear within <catch> or <catchall>. Its target value must match the name of a <compensationhandler> within the same BPL business process.
For details, see “BPL Error Handling Conventions” in Developing BPL Processes.
Previous section   Next section