IBM BPM, V8.0.1, All platforms > Programming IBM BPM > Developing using the web service API > Samples
Terminating a process instance
The following sample shows how to use the web API to terminate a process instance.
package teamworks.samples.scenarios; import com.lombardisoftware.webapi.ProcessInstanceStatus; import com.lombardisoftware.webapi.Search; import com.lombardisoftware.webapi.SearchColumn; import com.lombardisoftware.webapi.SearchCondition; import com.lombardisoftware.webapi.SearchOperator; import com.lombardisoftware.webapi.SearchResults; import com.lombardisoftware.webapi.WebAPI; /** * This scenario illustrates terminating (aborting) a process instance * */ public class TerminateProcessInstance extends Scenario { public void testScenario() throws Exception { // Create a new WebAPI client stub WebAPI webAPI = getWebAPIFactory().newWebAPI(); // Find an active process instance that is visible to the user SearchResults results = webAPI.executeSearch(buildActiveInstancesSearch(), 1, null); if (results.getRows().length > 0) { long processInstanceId = (Long) results.getRows()[0].getValues()[0]; System.out.println("abortProcessInstance(" + processInstanceId + ")"); // Terminate (abort) this process instance webAPI.abortProcessInstance(processInstanceId); } else { System.out.println("No matching process instance found"); } } private Search buildActiveInstancesSearch() { Search search = new Search(); search.setOrganizedByType("ProcessInstance"); search.setColumns(new SearchColumn[] { new SearchColumn("ProcessInstance", "Id", null) search.setConditions(new SearchCondition[] { new SearchCondition( new SearchColumn("ProcessInstance", "Status", null), SearchOperator._EQUALS, ProcessInstanceStatus._Active ) return search; } }