Business Process and Data Transformation Language Reference
<compensate>
[Home] [Back] [Next]
InterSystems: The power behind what matters   
Class Reference   
Search:    

Invoke a <compensationhandler> from <catch> or <catchall>.
Synopsis
<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.