Table of Contents

Search

  1. Preface
  2. Welcome to Informatica Process Developer
  3. Using Guide Developer for the First Time
  4. Getting Started with Informatica Process Developer
  5. About Interfaces Service References and Local WSDL
  6. Planning Your BPEL Process
  7. Participants
  8. Implementing a BPMN Task or Event in BPEL
  9. Implementing a BPMN Gateway or Control Flow
  10. Using Variables
  11. Attachments
  12. Using Links
  13. Data Manipulation
  14. Compensation
  15. Correlation
  16. What is Correlation
  17. What is a Correlation Set
  18. Creating Message Properties and Property Aliases
  19. Adding a Correlation Set
  20. Deleting a Correlation Set
  21. Adding Correlations to an Activity
  22. Rules for Declaring and Using Correlation Sets
  23. Correlation Sets and Engine-Managed Correlation
  24. Event Handling
  25. Fault Handling
  26. Simulating and Debugging
  27. Deploying Your Processes
  28. BPEL Unit Testing
  29. Creating POJO and XQuery Custom Functions
  30. Custom Service Interactions
  31. Process Exception Management
  32. Creating Reports for Process Server and Central
  33. Business Event Processing
  34. Process Central Forms and Configuration
  35. Building a Process with a System Service
  36. Human Tasks
  37. BPEL Faults and Reports

2. Designer

2. Designer

Break

Break

BPMN Implementation: Terminate throw event
This is a Process Developer extension activity. When you save the process, a message appears informing you that the process contains an activity that is not in the BPEL specification.
By default, the break activity exits the nearest enclosing scope, while, or
forEach
activity. You can use a break inside a container to break out of processing.
When a break executes, control is transferred to the target of the break activity. The target does not execute any further iterations and completes normally. When multiple scope, while, or
forEach
activities are nested within each other, a break activity applies only to the innermost activity. In the case of a parallel
forEach
, the break activity causes all of the executing iterations to terminate all of their executing child activities and complete normally. The break activity allows the root scope of a
forEach
to complete normally so that it is compensatable. Early termination through a break activity is not considered a faulting state, and therefore does not prevent compensation.
Note that you can set the BPMN Terminate property to No to change the behavior of the break to break out of loops (while, for Each and repeat until), but not scopes.
You can use a break to exit normally instead of throwing a fault and forcing termination of the process.
Required Properties
Optional Properties
none
Name. See
Selecting Activity Labels
 
Join Condition.
 
Suppress Join Failure. See
Process Properties
 
Comment. See
Adding Comments to a Process
 
Documentation. See
Adding Documentation to a Process
 
Setting Visual Properties and Using Your Own Library of Images
 
Execution State. See
Viewing the Execution State of an Activity or Link
 
Extension Attributes and Extension Elements. See
Declaring Extension Elements and Attributes
.
 
BPMN Terminate. If set to Yes (the default), stops execution out to the nearest scope, while loop or for-each loop, whichever comes first. Repeat-until loops are skipped, since they are not represented with a boundary (like a scope) and BPMN terminate does not see it as a loop. The scope or loop is considered to have completed successfully (same as throwing a fault and then catching it).
If set to No, breaks out of loops (while, for Each and repeat until), but not scopes.
To add a break activity:
  1. On the Process Editor canvas, select a scope, while, or
    forEach
    container.
  2. Drag a
    Terminate throw event
    to it.
The following illustration shows an example.
XML Syntax
<break standard-attributes> standard-elements </break>
Example
<while> <targets><target linkName="Link2"/></targets> <sources><source linkName="Link5"/></sources> <condition>($counter &lt; 5)</condition> <flow> <links> <link name="Link5"/> </links> <if> <sources><source linkName="Link5"/></sources> <condition>($counter = 3)</condition> <extensionActivity> ext:break name="Break"/> </extensionActivity> </if> <assign> <targets><target linkName="Link5"/></targets> <copy> <from>($counter + 1)</from> <to variable="counter"/> </copy> </assign> </flow> </while>


Updated March 30, 2020