A few process instances in automatic activity  simultaneously

Hi
I am creating and initiating new process instance using Global Creation activity. I have put screenflow in Global Creation. An instance after completing the screenflow in Global Creation activity goes to BeginIn of the process. When I test it many times I get only  from time to time warning:
Instance '/BackgroundUpdate#Default-1.0/157/0@xxx' is not in activity '/BackgroundUpdate#Default-1.0/doUpdate'.
Details: Instance is in activity '/BackgroundUpdate#Default-1.0/WaitToProcessNextPackage' and has status 'RUNNING (1)'.
"doUpdate" and "WaitToProcessNextPackage" are activities (automatic components) placed after Begin in the process ("doUpdate" is subsequent for BeginIn and "WaitToProcessNextPackage" is subsequent to "doUpdate" activity). When I get this warning no logic is executed for the process instance in "doUpdate" activity.
How to solve it? Only one process instance created with Global Creation activity can be in one automatic activity? If there two process instances simultaneously in automatic activity, then one them won't be processed?
Thank you in advance
Regards
Peter
Edited by: Piotr85 on Apr 21, 2010 6:03 AM

what does they means by service thing here,,,,and how do we specify it? or use it?
Any application running in Oracle RAC clusterware is considered as a service. What is a service in the windows,its kinda same. If its a part of RAC and an application and running,its service.
Read from here about services,
http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/mgmt_db.htm#sthref2266
If you don't know RAC yet, better is to leave it.Its the core of RAC if you ask me.
does resource_consumer_grp and Service name parameter in job class definition are mutual exclusive?or not
Did you check in the docs for the same?
HTH
Aman....

Similar Messages

  • Create Process via Global Automatic activity

    Hi!
    I´m trying to automatize some process, that can auto-execute one time at a day. For this, i'm thinking of use the global automatic activity, and I 've scheduled to execute (for testing) every minute. But this never happends
    If the global has no bp.Method inside, obviusly, nothing happends. Hence, when i wrote this code:
    logMessage "Se ha iniciado el proceso de consulta de calendario a las:" +'now'
         using severity = INFO
    ProcessInstance.create(processId : "/ConsultarCalendarioCompras", arguments : null, argumentsSetName : "")
    how could i solve this?
    Thanks

    Hi,
    Are you seeing your log INFO statement in the log file every minute? Assuming you are, I think all you're missing is a valid value for the third parameter. Try changing your logic to this:
    ProcessInstance.create(processId : "/ConsultarCalendarioCompras",
         arguments : null, argumentsSetName : "BeginIn")
    . . .Once you get this working, take a look at this thread for information on how to pass in argument variables into the work item instance using the second parameter: Re: How to create Instace of another process from running process.
    Hope this helps,
    Dan

  • Aborting ALBPM process instance gracefully.

    I am trying to implement cascade abort functionality for instances of ALBPM processes. Since ALBPM Studio currently doesn't provide any feature that you could set some property for associating sub processes during design time that child process life cycle can be controlled by parent process. So I need to find some process design + programmatic way to implement this functionality. Basically when top level instance is aborted that action should be cascaded to all the child/sibling processes that were initiated from the parent . This is the only way not to leave any orphan process around when top level instance(s) is terminated.
    I tried multiple ways and every time I hit some ALBPM implementation obstacle that didn't allow me to implement any generic and efficient way of fulfilling this function. I believe this is very common case scenario, so I am wondering if any body any information to share with me.
    -- Deha Peker
    Edited by: dpeker on Sep 23, 2008 7:08 AM

    Did you try using Notification Wait activity (Allow Interrupts enabled).
    This is how I imagine this working : if in a parent process, any instance get aborted, we capture it in Process Exception flow from where we send an notification to Child Process through an automatic activity before the instance gets aborted.
    In child process, we have a notification wait activity(Allow Interrupts enabled) which will get above notification from parent process, it will then pull the instance from main flow and you can abort it via ACTION = ABORT.
    I hope the above should makes technical sense and helps you.
    Thanks, Vikas

  • Process instance timeout

    Hi
    I have created process using only Automatic elements (no interactive components). I call it using ProcessInstance.create() method. Is there time limit for execution of single instance in that process?
    Regards
    Peter

    Hi Peter,
    A single work item instance flowing through your entire process won't have a time limit OOTB. If your process has 1 Automatic activity or 14 it does not matter.
    It's not what you are asking, but you can set a deadline for the entire process to complete by setting the predefined variable inside the process. Not too surprisingly, this predefined variable is called "deadline". Inside either the Begin activtiy or any Automatic activity, set this variable to sometime in the future (e.g. "deadline = 'now' + '2h'"). Once this time is exceeded, an exception is thrown. You'll want to catch this inside the Exception Handler as the "ProcessDeadline" exception.
    An individual work item instance running inside a single Automatic activity can have time limits set in the Engine's setting. The engine has a "Maximum BP-Methods Timeout" property initially set to 30 minutes. Similarly, the Engine has a "Maximum Process Web Service Session Timeout" property initially set to 5 minutes.
    Dan

  • Invoke subflow from method implementation of automatic activity

    Hi,
    I am able to invoke a process from automatic activity (Process Creation), but if I want to invoke it as a subflow i.e. (calling process wait for sub flow to return and the sub flow send back the result to the calling process), how can I do that. If any body has done that please let me know the steps. Actually my requirement is to call a process as subflow from screenflow automatic activity.
    If this is not possible can I call a procedure from screenflow automatic activity.
    Regards,
    Ketan

    Hi Ketan,
    If you're forced to use PBL to create an instance in another process from an Automatic task inside a screenflow and then have the child spawned synch back with the parent process, here's an approach you could take.
    1) Downstream in the parent process add Notification Wait activity where you want the child subprocess to return to the parent when it completes. You'll need to define the argument variables in this activity that you want mapped back.
    2) In your child process, add an automatic activity as the last step in your process. Inside this Automatic activity, have it send a notification via PBL to the corresponding Notification Wait activity in the parent process and have it pass the argument variables you want returned to the parent process.
    Hope this helps,
    Dan

  • Process Chain Triggered automatically when transported to test system

    Hi All,
    We modified several process chain and transported the process chain to Test system.
    Few Process chain triggered automatically as the varient was set to immediate in development system.
    Now we want to move the process chain to production. Do we need
    1. new transport request with the variant to future date and discard the transport request which created issues
    2. New transport request with the variant to future date and transport the new along with the old transport to production system
    3. Change the start date in Test system and transport the same request to production
    Kindly advice me on the action to be taken.

    >
    > Hi All,
    >
    > We modified several process chain and transported the process chain to Test system.
    > Few Process chain triggered automatically as the varient was set to immediate in development system.
    > Now we want to move the process chain to production. Do we need
    >
    > 1. new transport request with the variant to future date and discard the transport request which created issues
    > 2. New transport request with the variant to future date and transport the new along with the old transport to production system
    > 3. Change the start date in Test system and transport the same request to production
    >
    > Kindly advice me on the action to be taken.
    Regarding 2: When the old transport is imported into production the start will be set to immediately and the process chain will execute. You should not use this option.
    Regarding 3: Changing in Test system will not affect the content of the transport, it will still be the same as released from Dev.
    We have avoided this annoying problem with process chains being executed when transports are imported by creating a "parent" process chain that simply triggers the process chain in question. This "parent" chain should not be transported. You then set the start option for the original process chain to "start by API/Event" then you can transport the original process chain whenever you want without any risk of the process chain being executed.
    Regards,
    Lars

  • How to update the payload of a BPEL process instance

    Hi I have another question.
    How do I update the payload of a BPEL process instance without the activity being a Human Task. I know there are ton's of example showing how to update the payload of a user task using BPEL API's. But in my case I need to update the payload of a BPEL process instance which has no human task.

    Thanks
    For confirming that the payload in the BPEL process instance is read-only. Now I can see what alternatives I come up with besides the DB save option.
    Guys if you can take the time to answer/comment on another question I have posted in this forum that will be great
    here is the link
    Multi step Human Task
    Regards,
    Jayesh Nazre
    MCSD, MCSE, SCJP, PMP

  • How to abort instances which are stuck in automatic activity

    Hi,
    Some of the instances are got stuck in automatic activity of a process, how can we abort those instances. In engine db - PPROCINSRANCE table i am able to see the instances but PTODO table, it doesn't have any records.
    As we didn't had proper configuration and exception handling, it failed to execute and instances got stuck.
    Any suggestions?
    -Sree

    Hi,
    Execute the following query:
    DELETE FROM PPROCINSTANCE WHEER INSTID = "<Instance_id_to_be_deleted>";
    For soft delete execute & commit the following query:
    UPDATE PPROCINSTANCE SET STATE=64 WHERE INSTID= "<Specify_Instance_Number>";
    Hope it helps you.
    Bibhu

  • Global Automatic Activity - Process to Process

    Hi,
    How can we invoke another process from one process using a Global automatic activity..Is PAPI the only way? How can we use PAPI code inside of a Global Automatic Activity to call another process?v Any examples?
    Edited by: user647659 on Oct 27, 2008 11:02 PM
    Edited by: user647659 on Oct 28, 2008 11:49 AM

    I am not sure what you saying..Did u mean Global Creation ? But that would have a user to invoke the process..I want to invoke it automatically...I got a part of the answer...But it takes all instances..and creates multiple instances..I want to isolate the instances previously been transferred..What I am doing is ..Using a Global Automatic to invoke the other process.Writing a PAPI code to call the other process from this process...and Polling By Interval every 1m..
    Here is a code:-
    ProcessService ps;
    ps.connectTo(url : Fuego.Server.directoryURL, user : (String)BusinessParameter.getValue(name : "USER_NAME"), password : (String)BusinessParameter.getValue(name : "PASSWORD"));
    logMessage("Process Service connected--->" );
    businessProcess = ps.getProcess(process : "StartProcess");
    InstanceFilter instanceFilter;
    instanceFilter.create(processService : ps);
    SearchScope searchScope = new SearchScope(ParticipantScope.ALL,StatusScope.INPROCESS_AND_COMPLETED);
    instanceFilter.searchScope = searchScope;
    result2 = businessProcess.getInstancesByFilter(filter : instanceFilter);
    logMessage("Length ==>" +length(result2));
    length = length(result2);
    logMessage("Length Transferred==>" +length);
    test["name"] = "testing";
    if(length > 0)
         for(int i=0; i < length; i++)
              ProcessInstance.create(arguments : test, argumentsSetName : "BeginIn");
    else
         logMessage("length is-->" + length);
    length = 0;
    Any suggestions on how to isolate the previous obtained instances would be appreciated..
    Thanks,

  • Invoke process from method implementation of automatic activity

    Hi,
    I want to invoke a business process from automatic activity of another business process deployed on same engine and in same project as well. Please provide steps, if possible for the same.
    Thanks in advance.

    Hi Ketan,
    Here's how you can create an instance in a process using logic in an Automatic activity's method. This uses the "Fuego.Lib.ProcessInstance.create()" method shown below inside a process:
    // "args" is an associative string array (Any[String])
    argsIn as Any[String]
    // this assumes that the Begin activity has two argument variables
    //   named "nameArg" and "amountArg" and you're setting them
    //   to the variables "name" and "amount" respectively
    argsIn["someArgVarName"] = "Hello"
    argsIn["someBpmObject"] = myBpmObject
    // logic here to determine the name of the process to create an instance in
    idOfProcess as String
    idOfProcess = <hard coded string that has the id (not the name of the process to instantiate>
    ProcessInstance.create(processId : "/" + idOfProcess, arguments : argsIn, argumentsSetName : "BeginIn") ProcessInstance is in the Catalog inside Fuego.Lib.
    The processId parameter (the "idOfProcess" variable in the above logic) is the thing I most commonly screw up with this. It is the text you see when you right mouse click the process in the Project Navigator tab -> "Properties". Look at the value in the "Id" field and not the "Name" field here (the name without any space characters). Prefix it with a "/" as is shown here and if you've deployed this using an organization unit (OU) then prefix this to the string also.
    The third parameter is almost always "BeginIn". Begin activities in a process can have many incoming argument mappings, the default is "BeginIn". To see yours, double click the process's Begin activity and look at the mapping's name in the upper left corner of the dialog.
    "argsIn" is the set of incoming argument variables you want passed into the process. A common mistake is to type in the names of the incoming argument variables without the double quotes like this:
    // this will *NOT* work
    argsIn[someArgVarName] = "Hello"
    argsIn[someBpmObject] = myBpmObject
    . . .Here is the correct syntax:
    // this *WILL* work
    argsIn["someArgVarName"] = "Hello"
    argsIn["someBpmObject"] = myBpmObject
    . . .In this example, the process has two argument variables. It does not matter if the incoming argument variables are primitive type arguments (e.g. String, Integer, Decimal...) or BPM Objects, it is always done the same way. In this example, there is a String incoming argument called "someArgVarName" and a BPM Object incoming argument called "someBpmObject".
    Hope this helps,
    Dan

  • Process creation using Global Automatic Activity - OBPM 10g

    Hi,  I would like create the process instance for my application on every 2nd business day of a month. I also have a calendar defined for checking business day.  But I am unable to figure out to how use that calendar to determine second business day of any month. Global Automatic type is set to Automatic schedule and monthy option was selected. But I believe this would trigger the process on every second day of the month, without considering the fact whether its  business day or not. There is Runs on Holidays checkbox, but not sure what it really does. If it checks for holidays then which calendar does it refers to. Hence, please let me know how can i specify a calendar or any alternate solution to trigger process creation. Thanks, Namit
    n

    I am not sure what you saying..Did u mean Global Creation ? But that would have a user to invoke the process..I want to invoke it automatically...I got a part of the answer...But it takes all instances..and creates multiple instances..I want to isolate the instances previously been transferred..What I am doing is ..Using a Global Automatic to invoke the other process.Writing a PAPI code to call the other process from this process...and Polling By Interval every 1m..
    Here is a code:-
    ProcessService ps;
    ps.connectTo(url : Fuego.Server.directoryURL, user : (String)BusinessParameter.getValue(name : "USER_NAME"), password : (String)BusinessParameter.getValue(name : "PASSWORD"));
    logMessage("Process Service connected--->" );
    businessProcess = ps.getProcess(process : "StartProcess");
    InstanceFilter instanceFilter;
    instanceFilter.create(processService : ps);
    SearchScope searchScope = new SearchScope(ParticipantScope.ALL,StatusScope.INPROCESS_AND_COMPLETED);
    instanceFilter.searchScope = searchScope;
    result2 = businessProcess.getInstancesByFilter(filter : instanceFilter);
    logMessage("Length ==>" +length(result2));
    length = length(result2);
    logMessage("Length Transferred==>" +length);
    test["name"] = "testing";
    if(length > 0)
         for(int i=0; i < length; i++)
              ProcessInstance.create(arguments : test, argumentsSetName : "BeginIn");
    else
         logMessage("length is-->" + length);
    length = 0;
    Any suggestions on how to isolate the previous obtained instances would be appreciated..
    Thanks,

  • Invoke OnMessage activity of a running BPEL process instance...

    Hi,
    We are using Oracle BPEL 10.1.2.0.2. I am willing to invoke a running instance of a BPEL process (Timer) in following scenario:
    The 'Timer' BPEL Process gets initiated, and logs its instance-id into the database
    'Timer' process waits on an OnMessage activity for another process to invoke it
    Another BPEL process selects the instance-id of 'Timer' process from the database
    The question is: in the above scenario, can the 2nd BPEL process invoke the OnMessage activity of the Timer BPEL process. I did search through the Locator API but was unable to find a method which can invoke a running BPEL instance.
    I am not willing to use correlation here because correlation does not guaranty the invocation of the target BPEL process and also does not generate any error if no instance gets invoked.
    Thanks,
    Upendra Jariya.

    JDK 5.0 includes sample code for java.lang.management API in the <JDK>/demo/management directory. In particular, demo/management/VerboseGC demonstrates how to use the java.lang.management API to print GC statistics in a similar way to -verbose:gc.
    You can reference this demo program and make appropriate modification, for example, just to call java.lang.management.MemoryMXBean.setVerbose() operation to turn on/off the -verbose:gc tracing.

  • How to get process instance activity information

    We have the following need:
    The process instance will be created either manually or by integration from another system. It is not possible to have two instances running for the same process, so we want to check if there is already one instance running for a given process. The business information that identifies the process uniquely are attributes of the process data object.
    We need to find out how to:
    1) check if there is already existing instance for the process giving the business information that identifies it
    2) check if the existing instance is running or is ended/terminated
    We want to know if there is any existing API we may use to achieve the needs above, what are them and where we can find more information of their use.
    We have tried searching in the API documentation what methods could be of use but we were not able to identify by the existing documentation any one that could attend our needs.
    We also didn't find any topic in this forum about it.
    If possible please give us some examples of use.
    Version: Oracle BPM 11g

    Hi,
    In the SOA Suite 11g you can use the Java API together with Composite Sensor to achieve these behavior:
    1. First, create a composite sensor in the operation that create the process composite instance, initializing the sensor with the business information that identifies the process uniquely. This composite sensor can be used to search for the composite instance either on EM or via API. For more information about how to create Composite Sensor, see http://download.oracle.com/docs/cd/E14571_01/integration.1111/e10224/sca_compsensors.htm#insertedID0
    2. Using the Java API (http://download.oracle.com/docs/cd/E14571_01/apirefs.1111/e10659/toc.htm), search for the composite instance by the Composite Sensor, as explained at: http://blogs.oracle.com/soabpm/2009/08/soa_suite_11g_-apipart_3_-_f.html. With a reference to the composite instance, you can check its internal components states.
    The following libs must be imported in your java project:
    - <middleware_home>/oracle_common/modules/oracle.fabriccommon_11.1.1/fabric-common.jar
    - <middleware_home>/oracle_common/soa/modules/oracle.soa.mgmt_11.1.1/soa-infra-mgmt.jar
    - <middleware_home>/wlserver_10.3/server/lib/weblogic.jar
    - <middleware_home>/oss_11gr1/soa/modules/oracle.soa.fabric_11.1.1/oracle-soa-client-api.jar
    - <middleware_home>/oracle_common/webservices/wsclient_extended.jar
    I hope this can help.
    Regards,
    Rafael

  • BPEL process instances remain in-flight

    Hi
    I've got a BPEL process (GetUpdates) that calls a couple of other asynchronous BPEL processes (CommitPerson, CommitAddress etc) all of which are deployed on the same SOA server.
    Although most of the processes complete, quite a few instances of the GetUpdates process just sit in an Active state. The BPEL console shows GetUpdates has made a call to another process (for example CommitAddress) and it is apparently waiting for a response. However when I examine the cube_instance table in the dehydration store I can only find 1 instance relating to the particular process. Is that correct?
    If I then try to re-run these particular failed updates (by modifying the sequencing table that GetUpdates polls) the processes complete without any issue (and records exist in the cube_instance table for each of the processes that have been called as well).
    There can be a large number of requests being processed so could this problem be due to the server being under too much load, with the invoke being lost in the ether somewhere?!?
    Is there any documentation that explains the workings of the dehydration store or the BPEL server itself? Also what log files I should be looking at? (I'd really like to understand what's happening under the covers!!!)
    We're currently only using 10.1.3.1 SOA Suite so we should probably upgrade to 10.1.3.3 to see if that fixes anything.
    Any help or advice in the meantime would be great.
    Thanks
    Robin

    Hi
    Just thought I'd update this posting with my findings ....
    I think that the reason the instances remained inflight was simply because they were making calls to synchronous processes that were timing out.
    The default timeout setting for synchronous processes is from what I've read 45 seconds. The process instances that remained inflight were calling other (asynchronous) BPEL processes, that in turn called synchronous E-Business suite APIs that were timing out.
    I managed to simulate the above some time ago with dummy BPEL processes, however I have only just now (after several months of dealing with Oracle Support!) managed to resolve the E-Business suite problem that was causing the synchronous process to timeout.
    Anyway now that is resolved, we no longer get the large number of process instances remaining inflight ... and the updates are now flying along on the server!!
    Therefore the issue was a very simple one - timeout of synchronous processes. Unfortunately it wasn't all that obvious that it was happening in the first place(!) ... and it took some time to trace the actual culprit ... and even longer to find a solution (which we had to come up with ourselves ... without much help from support!) ... hence the amount of time that has passed from me creating this message and replying to it!
    Anyway I hope this post may help others in case they stumble upon a similar issue.

  • 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

Maybe you are looking for

  • NO video on BBM?

    Ok i can do video call with my mate - he is on PlayBook calling me. No problem. But my other mate is in Switzerland now, and we can chat on BBM but there are NO video icon in the corner. He is on WIFI and i am on WIFI. I have Vodafone SIM card and he

  • E-commerce for Mobile Interface

    Hi This is my first attempt at have an existing shopping cart at BC to offer its customers the ability to view and order through their mobile phone. I have been doing regular, non-commerce pages for quite some time now. But when I apply the support f

  • How to setup outlook on my laptop

    How do I set up outlook on my laptop so I can view my 2me.com mail?

  • TS1702 Waiting symbol on Ipad how to remove this?

    Hi I am tryibg to download several apps on my Ipad but the waiting to install symbol is on each of the aps and has been for a long time overnight how do I delete them and try again? When pressing the delete they do not have the X option to do so?

  • Transfer Price & Material Ledger

    We have to have transfer pricing for profit centres. Eventhough we have only legal valuation in our case, Material Ledger activation is mandatory otherwise system does not permit us to activate transfer pricing. Hence, we have decided to activate ML