BPM 11g- Terminate process instance

Hi,
How can I terminate a process instance that could either be sitting in an Human Interactive or a Timer activity.
TaskService is one solution but I don't want to take that route to achieve this simple requirement. Is there any recommended pattern to implement this.
I also thought of an event boundary with interuupting event, but not sure what to write there..
It was easy in Oracle BPm 10G where you could have a Notification Wait with interrupt and that is attached to an "Automatic" activity where we could say:
this.action=ABORT;
Thanks
Raj

Hi Raj
1. Terminate means you want to End that Process no matter where it is at any instance of time. Say if I have BPM Process with 10 SwimLanes it can be at any of the Lanes with any User. I am taking simple Example with Human Tasks, but you can apply for other component like Timer servces etc.
2. I hope you are aware of 2 things specially for Human Tasks: Action named "Withdraw" and a role named "Process Owner". For any human task, under Actions menu you should See a Withdraw option. You can code your application to capture this output using XOR gateway and if outcome is "WITHDRAW" directly end the process and go to End Node. If you have many places like this, there is easy way instead of running wires eveywhere. Create a simple throw even that goes to End Node. And after each human task check outcome if Withdraw, that that error, which will end the process. I hope you got the point.
b) The reason I mentioned Process Owner is, generally I do NOT give Withdraw control to each User who can work on any Task. If accidentally that User do this action, thats it. The process ENDS and you can never retriive it back. So under .TASK file, I preven Withdraw action to Asssignee and Instead give this action only to OWNER (Process Owner). Process owner is like admin who can pretty much see any tasks and I would give him all the permissions like these Withdraw, Reassing, Suspend etc etc. This gives more controlled power to your application. Anyhow, in bpm workspace, login as process owner and search for any Task aged for long time and jus Withdraw it.
You can do all the above using APIs also as far as you have Withdraw action going to the End Node.
If your requirement is something else, ignore above notes. But still you can think along the above lines, if all you want is to Kill a Running Process anytime.
Thanks
Ravi Jegga

Similar Messages

  • BPM 11g - Abort process instance

    I have a BPMN process that does 3 things:
    1. Calls the third party interface
    2. Starts the Timer proces aynchronously. This timer process is to make sure that the task gets picked up up an admin user (Human Task);if we don't get the response within the agreed time limit.
    3. Awaits the response.
    So, when we get the response back from the backend system, it should do 2 things:
    1. Stop the timer process.This could either be in a waiting state (i.e if the timer hasn't expired) or might have moved to the Human task step.
    2. Notify the awaiting instance so that it is then moved onto the next step in the process.
    I have used correlationId to match the request and response.It is working (with Send/Receive task) and notifying the waiting instance, but I am not sure how to abort the running Timer process.
    Should I use an interrupting event subprocess in my Timer process, that if called should throw an exception. This will then move the Timer process instance to the Exception handling flow and that will lead to the termination of the process instance, or is there a better way to achieve this. TaskService is the other option I thought of, but to achieve this simple thing, I thought that would be an overkill. Is there a re-commended pattern to meet this requirement.
    Thanks
    Raj
    Edited by: user588394 on 21-Feb-2013 09:04

    Hi Raj
    1. Terminate means you want to End that Process no matter where it is at any instance of time. Say if I have BPM Process with 10 SwimLanes it can be at any of the Lanes with any User. I am taking simple Example with Human Tasks, but you can apply for other component like Timer servces etc.
    2. I hope you are aware of 2 things specially for Human Tasks: Action named "Withdraw" and a role named "Process Owner". For any human task, under Actions menu you should See a Withdraw option. You can code your application to capture this output using XOR gateway and if outcome is "WITHDRAW" directly end the process and go to End Node. If you have many places like this, there is easy way instead of running wires eveywhere. Create a simple throw even that goes to End Node. And after each human task check outcome if Withdraw, that that error, which will end the process. I hope you got the point.
    b) The reason I mentioned Process Owner is, generally I do NOT give Withdraw control to each User who can work on any Task. If accidentally that User do this action, thats it. The process ENDS and you can never retriive it back. So under .TASK file, I preven Withdraw action to Asssignee and Instead give this action only to OWNER (Process Owner). Process owner is like admin who can pretty much see any tasks and I would give him all the permissions like these Withdraw, Reassing, Suspend etc etc. This gives more controlled power to your application. Anyhow, in bpm workspace, login as process owner and search for any Task aged for long time and jus Withdraw it.
    You can do all the above using APIs also as far as you have Withdraw action going to the End Node.
    If your requirement is something else, ignore above notes. But still you can think along the above lines, if all you want is to Kill a Running Process anytime.
    Thanks
    Ravi Jegga

  • BPM 11g support process archive

    Hi,
    Is BPM 11g suppots process archive?
    Can anyone help me on that?
    Regards,
    Anandh P

    Hi Raj
    1. Terminate means you want to End that Process no matter where it is at any instance of time. Say if I have BPM Process with 10 SwimLanes it can be at any of the Lanes with any User. I am taking simple Example with Human Tasks, but you can apply for other component like Timer servces etc.
    2. I hope you are aware of 2 things specially for Human Tasks: Action named "Withdraw" and a role named "Process Owner". For any human task, under Actions menu you should See a Withdraw option. You can code your application to capture this output using XOR gateway and if outcome is "WITHDRAW" directly end the process and go to End Node. If you have many places like this, there is easy way instead of running wires eveywhere. Create a simple throw even that goes to End Node. And after each human task check outcome if Withdraw, that that error, which will end the process. I hope you got the point.
    b) The reason I mentioned Process Owner is, generally I do NOT give Withdraw control to each User who can work on any Task. If accidentally that User do this action, thats it. The process ENDS and you can never retriive it back. So under .TASK file, I preven Withdraw action to Asssignee and Instead give this action only to OWNER (Process Owner). Process owner is like admin who can pretty much see any tasks and I would give him all the permissions like these Withdraw, Reassing, Suspend etc etc. This gives more controlled power to your application. Anyhow, in bpm workspace, login as process owner and search for any Task aged for long time and jus Withdraw it.
    You can do all the above using APIs also as far as you have Withdraw action going to the End Node.
    If your requirement is something else, ignore above notes. But still you can think along the above lines, if all you want is to Kill a Running Process anytime.
    Thanks
    Ravi Jegga

  • BPM 11g changes to process aren't getting deployed

    I'm having trouble seeing changes I make to the process model in BPM 11g. For instance, if I add a new activity or change data associations/mapping in the activity and re-deploy, it doesn't take effect.
    I've tried doing a clean all, make all, and undeploy all project artifacts (undeploy project composite from soa-server and undeploy UI ear file) before deploying. I don't see the changes unless I restart the soa-server.
    Any suggestions? Is this a bug?
    Thanks
    Mark

    There's definitely some issues with deploying changes. We've found that if there are BPEL processes in you BPM process and you make changes, you'll need to bounce the SOA server too, to see the changes. Also, some people are experiencing instability issues when you keep increasing the version number. You get to about 4 or 5 versions, and it stops locks up the SOA server. I've found un-deploying and then do a fresh deploy seems to be the best way to make changes for now. I believe engineering is aware of this problem and is working on fixing it.

  • How to Terminate the BPM Process instance

    Hi,
    If I have an instance of bpm process which fault at the database service task, I want to manually terminate or suspend it. I tried to do it in the workspace as an bpm administrator, however, since the instance pass the human task already, so that i can't suspend the instance. On the enterprise manager console, I don't see any way to terminate one instance. Please advise and it is so important and urgent for me, since our bpm project already on prodction, we have to fix it as soon as possible. Thanks in advance

    I'm thinking you're asking what you can do with an instance that has an uncaught exception and not how to have modeled it so they can be properly handled. If you're not catching the exception, in any of the 7 techniques listed below - you're kind of stuck.
    If you have a service task and you'd like to handle the exception (manually or other), you have the choices listed below. If you are using none of these, then you're allowing the BPMN engine to handle the exception and about all you can do is to delete the instance in Enterprise Manager.
    1) You could add a catch error event to the boundary of the Service task and have that event designated to handle the exception thrown. From the boundary event, you might have a sequence flow to an Interactive activity that lets you hande the exception. Once handled, the instance can continue on with the process.
    2) You could add an event subprocess in the same process as the Service activity that has a start error event and have that event designated to handle the exception thrown. From the event subprocess, you might have a sequence flow to an Interactive activity that lets you hande the exception. The difference between this scenario and the first is that the instance in the process has to terminate in the end event in the event subprocess.
    3) If your process is invoked as an embedded subprocess, you could add a boundary event (1 above) or catch it in an event subprocess (2 above).
    4) If your process is a reusable process invoked from a parent process using a Call activity, if the exception isn't caught inside the called subprocess you could add a boundary event to the Call activity in the parent process. This is similiar to 1 above and you'd need a sequence flow comingin out of the boundary catch error event on the Call activity to go somewhere in the process to handle the exception.
    5) If your process is a reusable process invoked from a parent process using a Call activity, if the exception isn't caught inside the called subprocess and it is not caught by a boundary error event on the parent's call activity then you could add an event subprocess in the parent process that has a start error event and have that event designated to handle the exception thrown inside the child process.
    6) There is a way to handle exceptions thrown inside a peer process but I'm guessing that might be too much for this post.
    7) You can handle exceptions using a Policy outside of the processes. Rather than using the above to handle exceptions, you could use policy based exception handling where you give the policy the different types of faults you want to catch and if you want to retry, let it be handled by someone in Enterprise Manager and if you just want to abort the instance.
    If the exception is not caught, then you're in the scenario you're in now and the BPMN engine is where it is unfortunately caught. Although you can see it, it is a non-recoverable exception and about all you can do is delete the instance in Enterprise Manager.
    Hope this helps,
    Dan

  • 11g BPM - Setting instance data of a running process instance

    Hi,
    What is the recommended pattern for interrupting a running process instance and changing an instance variable (data object) ?
    Scenario is:
    - process instance is launched with an interactive to look at the instance data
    - an event is triggered, effectively interrupting the instance and changing the instance data
    - next time the user opens the screen for the interactive the data has changed
    Any help much appreciated.
    cheers
    Tony

    Hi Dan,
    Hope all is good with you. Thanks for the response.
    I am using 11.1.1.6 and have tried a few things, one of which was using an event subprocess and correlations but it didnt change the Data Object as I expected. Maybe I got something wrong and will try again. So you expect the following to work:
    - Create a simple process with one string data object, a correlation and one interactive showing the data object.
    - Map the correlation to an input parameter
    - Set the string data object to some initial value
    - Create an event subprocess of the above in the automatic handler swimlane (starts with a message and ends with nothing)
    - have the implementation of the start message take a string and an id
    - map the id to the correlation
    - map the string to the data object in the subprocess
    - Create the simple process from Enterprise Manager passing in a correlation id
    - View the interactive in the BPM Workspace and see the initial string
    - Use EM to fire the event subprocess passing the same correlation id and a new string
    - View the interactive in the BPM Workspace and see the new string
    so, if you set the data object in the event sub process, it is the same value as the initial instance ? or have I misunderstood ?
    I will give it another go, just checking my understanding...
    cheers
    Tony

  • Instatiating BPM process through BPM 11g workspace

    Hi ,
    I am working on OPBM Sales Quote lab.
    I installed Oracle SOA 11g and set up the BPM SalesQuote demo. I followed the demo setup instructions to add the roles and match them to demo users. I was able to deploy the demo successfully using Jdeveloper. Since the start task for the demo is a none start, I am not sure how to initiate a new instance. I loged in to the workspace as jcopper who's role is the SalesRep (which is the swimlane for the non start task). However, I didn't see any application listed for jcopper. I also loged in as the process owner and didn't see any application listed for him either.
    I even referred to this thread
    How to initiate an instance of the BPM 11g SalesQuote demo?
    When I implemented the "Enter quote details" task, I even set its pattern as "Initiator"?
    Even then Under applications it is empty.
    Any Suggestions is appreciated.

    Hello All,
    Deployment of the "SalesQuoteDemo' demo is over. Logged in to BPM WorkSpace with user “jcooper” but I am not able to see application in the user's BPM Workspace. Verified all the users (and jcooper) and their role in Weblogic Default Realm and everything seems to be OK.
    I have deployed SalesQuoteDemo from this official link of Oracle and have followed all steps. Users/Groups have been created by running a demo seeding program given along with demo.
    http://www.oracle.com/technetwork/middleware/soasuite/samples-demos-084065.html
    I did these steps for verification.
    •     RAM/PermGenSpace seems to be OK and there is no error/exception related to memory.
    •     As per the demo, jcooper is part SalesRep role and it has been verified that both jcooper and SalesRep exists. Mapping also exists. Attaching few screenshots from Oracle Enterprise manager/BPM Workspace/Weblogic Console.
    •     As per the Baig, mentioned that this issue was resolved when new domain was created without webcenter. For me, new domain is somehow not working and deployment are getting failed/suspended/prepared status but I had taken out Webcenter related Managed Server from this Weblogic domain.
    •     Few have mentioned to login to Enterprise manager, select application, select security, role and map the user for every roles. I verified that this already exists.
    Any help/pointers in this regards would be highly appreciated.
    Thanks
    Sachin G

  • BPM 11g Workspace Audit Trail not showing Sub process inner activities

    Hi all,
    I have been developing some BPM Process in JDev 11.1.1.5 and have deployed them in BPM Suite 11.1.1.5 over Windows Server 2003. I've found the following and would like to hear your opinion:
    1- The Process audit trail in BPM 11g Workspace shows the activities of the process but the Sub-Process call activity appears as just a single activity and you can not see the inner activities of the sub-process... making impossible to track the sub-process.
    2- In the EM Instance trail you can track the subprocess activities, but they appear wrong; diffrent names, diferente types (ex: interactive activity shown as service call)..etc..
    Are these known issues? is this the expected behaviour? Is it just some configuration I missed?
    Thanks for your time.

    For anyone with the same question, I got this from Oracle support about both questions:
    1- I checked with our Engineering team and regarding the expanding of the subprocess activity , it is planned to be released in 12g. So right now , it is a work in progress feature being addressed by our developers.
    2- Thanks a lot. I have reported a bug 12909848 to our Engineering team. You can track the status of the bug from the SR.

  • BPM 11g, need to deny a user the ability to create new instance

    I'm working on a BPM 11g process that starts with a "initiator". The client has a very specific requirement, no user can create a new instance if they already have 2 instances of the process, either assigned or suspended.
    Can someone help me with this, I don't know how we could acomplish this.
    Thanks in advance.
    Pablo

    Do any1 know?

  • How to archieve the bpm 11g process

    I have customer which have a lot of process instance,before delete the finish and expire process instance,they want to archive them,such as archieve the finish process before some date(11.30),I want to ask do we have some way to support this function?
    Thanks a lot!

    This feature has been disabled in version 11g and to do some purging of instances of BPM (SOA Suite) should ask a DBA to take these actions within the database.
    For more information see the documentation:
    http://docs.oracle.com/cd/E17904_01/integration.1111/e10226/soaadmin_partition.htm

  • How to access biz data of process instances in workspace at any time in 11g

    Hi,
    We are using Oracle BPM Suite 11g.
    Our users want to be able to check and search the business data associated with the process instance at any time (i.e. even after the instance is completed. And the business data should be included in the task list or search result list in the BPM workspace.
    I am new to Oracle BPM 11g. Please help. For the data to be displayed in the workspace, should I define them as “Process Data Objects”?
    Regarding to how to display the data, I find something about Flexfield. But the Oracle document says the Flexfield is for the data that saved in human workflow database schema. When the process instance is completed, will the data in human workflow database for this instance be removed? Can I setup flexfield for the Process Data Objects?

    Hi Ramandeep,
    Apparently I am not getting the required exception.
    I have a TF that outputs an Invalid Region Site when I run it and the when I run it I only got the loading page image of ADF.
    Looking at JDEV logs, I see an Invalid Region Site error
    Here's what I did, I created a TF template with only one view in it like this.
    <?xml version="1.0" encoding="windows-1252" ?>
    <adfc-config xmlns="http://xmlns.oracle.com/adf/controller" version="1.2">
      <task-flow-template id="TFTemplate">
        <default-activity id="__7">errorPage</default-activity>
        <exception-handler id="__14">errorPage</exception-handler>
        <view id="errorPage">
          <page>/com/test/errorPage.jsff</page>
        </view>
        <use-page-fragments/>
      </task-flow-template>
    </adfc-config>My error page as this:
    <af:panelGroupLayout id="pgl1">
         <af:outputText value="Error has occurred!" id="ot2"/>
         <af:outputText value="#{pageFlowScope.MyErrorHandler.stacktrace}" id="ot1"/>
    </af:panelGroupLayout>...and my bean.
    public class MyErrorHandler
      public String getStacktrace() { 
        ControllerContext context = ControllerContext.getInstance();
        ViewPortContext currentRootViewPort = context.getCurrentRootViewPort();
        Exception exceptionData = currentRootViewPort.getExceptionData();
        if (currentRootViewPort.isExceptionPresent())
          if(exceptionData!=null)
            return exceptionData.getMessage();
        return null;
      }But exception data still returns null.
    I exactly wanted to show this invalid region site but it seems I cannot catch it.
    Any idea why?

  • Versioning of processes in Oracel BPM 11g

    Hi,
    I have a question about versioning of processes in oracle BPM 11g.
    Former Oracle BPM product (Aqualogic BPM) automatically managed the versioning of processes deployed to the server. When a new version of a process was created, the server automatically determined if it is a minor or major revision and a new process version number was recommended.
    Is there a similar functionality in new BPM engine?
    Now, when I deploy a new version of process I can only choose between rewriting existinig revision (all active instances will stale and become unusable) or deploying new revision (all active instances will continue using previous version).
    Is there a way to migrate existing instances to new process (if there were only minor changes)?
    Hope someone can answer. Thnx.

    This feature (migration of running instances to new version) is intended to be available in PS3 which is planned for early 2011.
    I suggest you check out the release documentation for confirmation however.

  • 'End Terminate' event does not completely terminate the process instance!

    Hi,
    my process make use of the 'End Terminate' event, this will be used pending on the outcome of a prior task, using the 'Exclusive' gateway. This works quite well but in case of process termination some strange behavior happens.
    The Enterprise Manager tell me that the process instance is in state 'Terminated' but the BPM Workspace in the 'Process Tracking' tab this instance is still in state 'Running' and if I check the WFTASK database table the process instance is still in state 'OPEN' and not 'CANCELED'.
    So my question is, do I use the 'End Terminate' event the wrong way or is this a bug/feature?
    Thanks in advance,
    Daniel
    PS: I use BPM Suite 11.1.1.5 with Feature Pack.

    If we see a human task active even after termination end event is not considered a bug... I'm sorry, but i think that if every task active in the process instance is not terminated or "killed", the terminate end event is not working well. So we are talking about a bug.
    If I'm wrong, what is the expected behavior of teminate end event?
    Thanks in advance.

  • How to get the assignees for a specific role in process in BPM 11g

    Hi, Gurus,
    I am using BPM 11g. I am trying to retrieve all the assignees for a a specific role in process. It will be a parameter for a business rule to do further routing rule. But it seems there is no way to get the information. I found that there are Identity Service Functions in Human Task Assignment. But Identity Service Functions are not listed in Business Rule Activity, neither listed in other activities except Human Task Assignment. I cannot get the assignees in my process.
    Is there any way to get all the assignees for a role? I also tried to retrieve the assignees out engine with Worklist API, but it cannot get either. Actually we can get all the assignees information in automatic activity in OBPM 10g. Maybe I am still not familiar with 11g. Any advice is appreciated.
    FYI:
    My scenario:
    Suppose we have a role named ApprovalTeam. In this role, there will be several different department manager (BPM User) added in the role through Workspace. At run time, a request (With department info) with go through the approval by ApprovalTeam. A Business Rule Activity with decide which department manager will approve this request. Different department request will be dispatched dedicate managers, not all the managers in the role. I have an external JavaBean to get the department information from LDAP. To do the routing, I also need know all the department managers (BPM User) in the ApprovalTeam role. Then I can compare which department manager is matched with the request and assign the task to him.
    Thanks a lot,
    James
    Edited by: James Piao on May 31, 2010 6:25 PM

    or this?
    SQL> select text from ALL_VIEWS
      2  where VIEW_NAME
      3  ='EMP_VIEW';
    TEXT
    SELECT empno,ename FROM EMP
    WHERE empno=10

  • Invoking bpel process from java in oracle soa/bpm 11g

    Hi,
    We have some java code to invoke bpel process in oracle BPM 10g following the instructions in http://download-east.oracle.com/docs/cd/B14099_19/integrate.1012/b14448/invoke.htm.
    Basically the steps are:
    1) get a Locator (com.oracle.bpel.client.Locator)
    2) get IDeliveryService (com.oracle.bpel.client.delivery.IDeliveryService) reference from locator
    3) call IDeliveryService method request or post with input message and get the response back.
    Recently we want to migrated from oracle bpm 10g to oracle soa/bpm 11g. But I can not find the similar API in 11g. It seems now some adapter/binding need to be added in exposed service lane in soa composite view, for example, ADF-BC, direct binding etc, in order to allow java to invoke a bpel process. Here are two very useful links from Edwin about the detail how this is implemented.
    http://biemond.blogspot.com/2009/11/invoking-soa-suite-11g-service-from.html
    http://biemond.blogspot.com/2009/11/calling-soa-suite-direct-binding.html?showComment=1285198033913#comment-c1055322845511794252
    My question is:
    1) what are the choices and the official/best way to invoke a bpel process in oracle soa/bpm 11g from java?
    2) does user need to add an adapter/binding in exposed service lane in order to let the bpel service be called in java?
    3) what is the real difference between a bpm application and soa application in 11g?
    I will really appreciate any expert's opinion.
    Thanks,
    Bin

    Thanks for your reply and confirmation, really appreciate it.
    Yes, I found the difference of the invoking process API and was able to invoke bpel process using direct and ADF-BC binding by following Edwin's blog. But I have not found any official reference to compare this API difference between 10g and 11g ( I will mark this question as answered if anyone can find an official source from oracle, need to prove it to the team). The API to work with human task workflow seems pretty much the same between 10g and 11g.

Maybe you are looking for