Abort an instance using ProcessService (Fuego.Papi.ProcessService)

Hi Folks,
I want to abort a process instance using ProcessService (Fuego.Papi.ProcessService)
This is how i am trying to do the same:
+if (ivBPMObject1.bpmObject1Option != "TRUE") {+
ProcessService.connectTo(url : Fuego.Server.directoryURL, user : "pavan",
password : "");
+// ivInstance2Id is the InstanceId of the other split branch which is alive and which needs to be suspended+
lvInstance = ProcessService.getInstance(instance : ivInstance2Id.id);
+// abort+
lvInstance.abort();
ProcessService.disconnectFrom();
+}+
I get the following exception in the line lvInstance.abort() :.
The batch operation could not be executed for all selected instances.
Internal Exceptions:
+>> /MainProcess#Default-1.0/1/2:+
Instance '/MainProcess#Default-1.0/1/0' could not be locked because participant 'Server' is currently locking it
I am running this from the Embedded Workspace of Oracle BPM Studio and I dont see any participant 'Server' in the directory.
How can i suspend/abort this instance?
Is there a way that my user/participant 'pavan' can be given rights/privelege to take 'Server's instances?
I tried using 'Server' as user but i dont know the credentials for 'Server' - so that attempt too failed :(.
can anyone please help me out?
Regards,
user8702013

Thank you Ariel,
Yes, I have two 'approvals' happening in parallel - in two branches of a split. when one approval comes 'unapproved', there is no point continuing with the other - i have to abort it.
But if i set the setting to 'generate independent copies', how will i get the 'instanceId' of the second branch when only the first branch has reached the 'join'? (i had thus made the 'shared' to be true).
My requirement is that i have two branches in a split. these two split branches call two different approval subprocess which go into user interaction tasks. but when one one approval is rejected (and reaches the join), i want to abort the other instance (atleast of the called subprocess) so that the redundant approval user task of the second branch can be avoided.
I have been struggling with this for the past couple of days :(
I am trying to see if i can get the 'instances' of the subprocess in question and find the instance to be killed (aborted) by checking the parents (the parent should be my process). i am getting problems there too. am stranded...
Regards,
user8702013

Similar Messages

  • Import fuego.papi.ws.ProcessService;

    import fuego.papi.ws.ProcessService;
    import fuego.papi.ProcessService;
    What's the different between the above two sentences?
    I cannot find the fuego.papi.ws.client in the JDev11g. Where is it? Is it replaced by fuego.papi.ws.ProcessService;

    Hi YE,
    Guessing you've probably already discovered this, but in Oracle BPM 10g you'll find the fuegopapi-client.jar for your two import statements in the Enterprise (not Studio) directory <OracleBPMEnterpriseHomeDir>\client\papi\lib.
    In Oracle BPM 10g, you only need to import either "fuego.papi.ws.ProcessService" (the PAPI-WS API) or "fuego.papi.ProcessService" (the PAPI API). The difference between the two is that PAPI is the API that uses Java while PAPI-WS is the API that uses a web service as its underlying implementation. You won't need both of these, since PAPI and PAPI-WS now have about the same functionality in Oracle BPM 10g.
    In earlier releases you'd instead need to import "fuego.papi.ws.client" when accessing the PAPI-WS API only if you were accessing it from a Java application. While it was great having a web service API, the problem with PAPI-WS in earlier releases is that it only provide a subset of the capabilities that PAPI had. Using PAPI-WS, I could only create instances in a process, get the values of variables of a particular instance, send a notification message to a particular instance, run Global activities in a process, return a list of instances for a specific view and finally run an instance in a specific activity.
    This all sounds great, but the fact that PAPI-WS was a subset of PAPI used to be a problem.
    Hope this helps,
    Dan

  • How to abort instance using a specific role

    I create a process using BPM studio 10g. I create a role named GDadmin and a participant named GDadmin. No activity or interactive activity is in the GD admin role.
    In the BPM standalone 10g, I create a participant and role both named GDadmin. This user can abort the instance. However, if I login as GDadmin, the workitem table is empty.
    I want to the GDadmin can view all current instances. This user can also abort the selected instances.
    Which activity can be used to let the GDadmin view all current instances and activity as well as abort them?
    Thanks a lot.

    You could accomplish the abort of instances using PAPI, but the problem is most actvities are not abortable (nor should they be) and the PAPI call will throw exceptions when you try aborting it.
    I use the logic shown below to both grab and abort instances in a single step.
    The process has a Grab activity that this invokes automatically called "GrabAutomatic". This is the Grab that has "From all / To all" and its "Abortable" properties enabled. The GDAdmin role in your process would need a Global Interactive that has the logic shown below. You'd need to add a new participant ("AUTOCLIENT" in the logic below) that has the role assigned where the automatic Grab is located. Before running this logic, the Global Interactive that the GDadmin would invoke would present the user with a list of instances that the GDadmin would select. Based on the work item instances selected, this logic would grab and abort them in a single step.
    <pre class="jive-pre"><p />bp as BusinessProcess
    do
    logMessage "PapiHelper: actionGrabAndAbort: Entry: instance: " + instanceToActOn.instanceIn
    using severity = DEBUG
    instF as InstanceFilter = InstanceFilter()
    instances as Fuego.Papi.Instance[]
    instanceDescription as String
    connectTo bp
    using url = Fuego.Server.directoryURL,
    user = "AUTOCLIENT",
    password = "P",
    process = "/" + processName
    create(instF, processService : bp.processService)
         instF.searchScope = SearchScope(participantScope : ParticipantScope.ALL,
              statusScope : StatusScope.ONLY_INPROCESS)
    addAttributeTo instF
    using variable = VarDefinition.INSTANCE_NUMBER,
    comparator = Comparison.IS,
    value = instanceToActOn.instanceIn
    instances = getInstancesByFilter(bp, filter : instF)
    for each inst in instances do
    logMessage "PapiHelper: actionGrabAndAbort: Found it: " + inst.id
    using severity = DEBUG
    do
    // change this to be the name of your Grab Activity
    grab inst using grabActivity = "GrabAutomatic"
    logMessage "PapiHelper: actionGrabAndAbort: Grabbed Instance Status: " + inst.grabbed
    using severity = DEBUG
    do
    runTask inst
    using activity = "GrabAutomatic"
    logMessage "PapiHelper: actionGrabAndAbort: Ran Grab " + inst.grabbed
    using severity = DEBUG
    on e as Exception
    logMessage "PapiHelper: actionGrabAndAbort: tried to run grab and failed because no task to run in Grab"
    using severity = DEBUG
    end
    abort inst
    logMessage "PapiHelper: actionGrabAndAbort: Routed back"
    using severity = DEBUG
    on e1 as Exception
    logMessage "PapiHelper: actionGrabAndAbort: Exception when running or routing: " + e1.cause
    using severity = DEBUG
    errors = errors + "Instance could not be grabbed and reassigned\n\n"
    logMessage "PapiHelper: actionGrabAndRoute: Errors: " + errors
    using severity = DEBUG
    end
    end
    on exit
    disconnectFrom bp
    end </pre>
    Dan

  • PAPI ProcessService ClassCastException

    All, I need help urgently. I am getting the following exception when I try to run my application using papi to connect to the albpm enterprise standalone server (ver 5.7SP2)
    java.lang.ClassCastException: fuego.papi.impl.ProcessServiceFactoryImpl cannot be cast to fuego.papi.ProcessService$Factory
    Thanks.

    Solved. I forgot to remove ftlib.jar, fuegocore.jar, and ftpapi.jar from the classpath when running my app.
    These jar files are used only for compiling!! Duh!
    -MukTech

  • BatchOperationException fuego.papi.exception.InstancesException:

    Hi,
    I want to abort the instances using PAPI filter code inside the BPM object method.
    I need's to abort the instances which is in another process and assigned to another participant.
    I am able to get the instances into instances array. After that I want to abort the instances but getting the below exception.
    BatchOperationException fuego.papi.exception.InstancesException: The batch operation could not be executed for all selected instances.
    Internal Exceptions:
    Below is my code :
    instances = processService.getInstancesByFilter(filter : instFilter);
    for (Fuego.Papi.Instance instance : instances){
    if(!instance.aborted)
    instance.unselect();
    instance.abort();
    processService.disconnectFrom();
    Thank you.

    A couple of observations:
    1) I don't think you need to bother with the select/unselect. This has to do with Workspace functionality.
    2) There are many reasons an instance may not be abortable. To test this, try adding a simple condition, checking that the process instance is running and at a known location, like sitting in an interactive. The engine may not be able to process an abort, if the instance is locked or in use by some other process. So you'll need to enhance your logic to check for these conditions and retry again later for instances you can't abort the first time.
    3) Make sure interactive activities have the abortable flag set. If you're using ProcessService by logging in with someones credentials, be sure the person has permissions to abort the instance.
    4) Keep in mind that your not writing code in a standalone app. Your process is running in an engine that needs to consider various things like process contention, permissions and multi-tasking. Creating a simple loop to abort instances may work better if you break it down a bit more into single atomic operations. To do this you would involve split-n logic to handle the abort of an individual instance. If the engine can't abort the instance, the automatic will error out and the engine will retry the abort again later on.
    HTH,
    Mark

  • Fuego.papi.ProcessNotAvailableException

    Hi guys,
    I use the ALBPM 5.7 enterprise and I want to use PAPI.
    So, I got this code from my friend. He said that this code is correct.
    But it's not working now.
    I don't know what's wrong.
    "/Process" is started on the workspace portal and its version is really 2.0.
    "mih" user has the right authority to start the process.
    This code can make a session but after then the error appears.
    Thanks.
    my source code==========================================================
    package com.bpm.ucity;
    import java.util.Properties;
    import fuego.papi.Arguments;
    import fuego.papi.InstanceInfo;
    import fuego.papi.ProcessService;
    import fuego.papi.ProcessServiceSession;
    public class StartProcess {
         public StartProcess() {
              // TODO Auto-generated constructor stub
         * @param args
         public static void main(String[] args) {
              // TODO Auto-generated method stub
              String strProcessID          = "/Process";
              String strUserName          = "mih";
              String strPassword          = "1";
              ProcessService procServ = null;
              ProcessServiceSession procServSession = null;
              InstanceInfo instInfo = null;
              try {
                   Properties prop      = new Properties();
                   prop.setProperty(ProcessService.DIRECTORY_ID, "default");
                   prop.setProperty(ProcessService.DIRECTORY_PROPERTIES_FILE, "C:/bea/albpm5.7/j2eewl/conf/directory.properties");
                   prop.setProperty(ProcessService.WORKING_FOLDER, "C:/tmp");
                   prop.setProperty("java.naming.factory.initial","weblogic.jndi.WLInitialContextFactory");
                   prop.setProperty("java.naming.provider.url","t3://localhost:7001");     
                   procServ = ProcessService.create(prop);
                   // create session
                   procServSession = procServ.createSession(strUserName, strPassword, "localhost");
                   System.out.println ("procServSession => [" + procServSession + "]" );
                   // create process instance
                   Arguments arguments = Arguments.create();
                   System.out.println ("Arguments1111111111111111=======" + arguments);
                   System.out.println ("Here I am!!!!!!" );          
                   instInfo = procServSession.createProcessInstance(strProcessID, arguments);
                   System.out.println ("instInfo => [" + instInfo + "]" );
                   String strInstanceID = instInfo.getId();
                   System.out.println ("strInstanceID => [" + strInstanceID + "]" );
              } catch (Exception e) {
                   e.printStackTrace();
              } finally {
                   procServSession.close();
    error=================================================================
    procServSession => [abstract class fuego.papi.ProcessServiceSesion]
    Arguments1111111111111111=======fuego.papi.Arguments@8ceeea
    Here I am!!!!!!
    fuego.papi.ProcessNotAvailableException: cannot use process '/Process#Default-2.0'
    at fuego.papi.impl.ProcessServiceImpl.createProcess(ProcessServiceImpl.java:1756)
    at fuego.papi.impl.ProcessServiceImpl.access$2500(ProcessServiceImpl.java:142)
    at fuego.papi.impl.ProcessServiceImpl$SessionProcessLoader.load(ProcessServiceImpl.java:3822)
    at fuego.papi.impl.ProcessManager.get(ProcessManager.java:631)
    at fuego.papi.impl.ProcessServiceImpl.getProcess(ProcessServiceImpl.java:1138)
    at fuego.papi.impl.ProcessServiceNESessionImpl.getProcess(ProcessServiceNESessionImpl.java:1069)
    at fuego.papi.impl.ProcessServiceNESessionImpl.checkBeginPermissions(ProcessServiceNESessionImpl.java:2434)
    at fuego.papi.impl.ProcessServiceNESessionImpl.createProcessInstance(ProcessServiceNESessionImpl.java:1441)
    at fuego.papi.impl.ProcessServiceNESessionImpl.createProcessInstance(ProcessServiceNESessionImpl.java:1434)
    at com.bpm.ucity.StartProcess.main(StartProcess.java:55)
    Caused by: fuego.papi.impl.EngineNotAvailableException: cannot find 'BEA_WL_Engine' EJB in 'engines/BEA_WL_Engine'
    reason: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: check java.naming.factory.initial
    project EAR application program to be setted up and to be started
    at fuego.papi.impl.EngineNotAvailableException.cannotFindEJB(EngineNotAvailableException.java:83)
    at fuego.papi.impl.j2ee.J2EEEngineAccessImpl.getEngineHome(J2EEEngineAccessImpl.java:286)
    at fuego.papi.impl.j2ee.J2EEEngineAccessImpl.getSecureEngineInterface(J2EEEngineAccessImpl.java:348)
    at fuego.papi.impl.j2ee.J2EEEngineAccessImpl.createSecureEngine(J2EEEngineAccessImpl.java:158)
    at fuego.papi.impl.ProcessServiceImpl.createSecureEngine(ProcessServiceImpl.java:1280)
    at fuego.papi.impl.ProcessServiceNESessionImpl$2.run(ProcessServiceNESessionImpl.java:2140)
    at fuego.papi.impl.ProcessServiceImpl.executeEngineOp(ProcessServiceImpl.java:1578)
    at fuego.papi.impl.ProcessServiceNESessionImpl.getSecureEngine(ProcessServiceNESessionImpl.java:2148)
    at fuego.papi.impl.ProcessServiceImpl.createProcess(ProcessServiceImpl.java:1709)
    ... 9 more
    Caused by: javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as a
    n applet parameter, or in an application resource file: java.naming.factory.initial
    at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
    at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
    at javax.naming.InitialContext.getURLOrDefaultInitCtx(Unknown Source)
    at javax.naming.InitialContext.lookup(Unknown Source)
    at fuego.papi.impl.j2ee.J2EEEngineAccessImpl.getEngineHome(J2EEEngineAccessImpl.java:276)
    ... 16 more
    서버 동기화 정보에 대한 JMS Topic 연결이 일시적으로 중단되었습니다. 자세한 정보:주제 연결 팩토리 'XATopicConnectionFacto
    ry'을(를) 찾는 동안 오류가 발생했습니다.
    세부 사항:
    javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet pa
    rameter, or in an application resource file: java.naming.factory.initial
    원인: Need to specify class name in environment or system property, or as an applet parameter, or in an application reso
    urce file: java.naming.factory.initial
    fuego.papi.impl.j2ee.JMSTopicLookUpException: 주제 연결 팩토리 'XATopicConnectionFactory'을(를) 찾는 동안 오류가 발생했습니다.
    Detail:
    javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet pa
    rameter, or in an application resource file: java.naming.factory.initial
    at fuego.papi.impl.j2ee.J2EEEngineAccessImpl$TopicSubscriberImpl.lookupTopic(J2EEEngineAccessImpl.java:649)
    at fuego.papi.impl.j2ee.J2EEEngineAccessImpl$TopicSubscriberImpl.run(J2EEEngineAccessImpl.java:540)
    Caused by: javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as a
    n applet parameter, or in an application resource file: java.naming.factory.initial
    at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
    at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
    at javax.naming.InitialContext.getURLOrDefaultInitCtx(Unknown Source)
    at javax.naming.InitialContext.lookup(Unknown Source)
    at fuego.papi.impl.j2ee.J2EEEngineAccessImpl$TopicSubscriberImpl.lookupTopic(J2EEEngineAccessImpl.java:640)
    ... 1 more
    서버 동기화 정보에 대한 JMS Topic 연결이 일시적으로 중단되었습니다. 자세한 정보:주제 연결 팩토리 'XATopicConnectionFacto
    ry'을(를) 찾는 동안 오류가 발생했습니다.
    세부 사항:
    javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet pa
    rameter, or in an application resource file: java.naming.factory.initial
    원인: Need to specify class name in environment or system property, or as an applet parameter, or in an application reso
    urce file: java.naming.factory.initial
    fuego.papi.impl.j2ee.JMSTopicLookUpException: 주제 연결 팩토리 'XATopicConnectionFactory'을(를) 찾는 동안 오류가 발생했
    습니다.
    Detail:
    javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet pa
    rameter, or in an application resource file: java.naming.factory.initial
    at fuego.papi.impl.j2ee.J2EEEngineAccessImpl$TopicSubscriberImpl.lookupTopic(J2EEEngineAccessImpl.java:649)
    at fuego.papi.impl.j2ee.J2EEEngineAccessImpl$TopicSubscriberImpl.run(J2EEEngineAccessImpl.java:540)
    Caused by: javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as a
    n applet parameter, or in an application resource file: java.naming.factory.initial
    at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
    at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
    at javax.naming.InitialContext.getURLOrDefaultInitCtx(Unknown Source)
    at javax.naming.InitialContext.lookup(Unknown Source)
    at fuego.papi.impl.j2ee.J2EEEngineAccessImpl$TopicSubscriberImpl.lookupTopic(J2EEEngineAccessImpl.java:640)
    ... 1 more

    Hi Ariel,
    You are right. I've got an error in my code using some wrong codes.
    I change my code like this.
    ================================================================
    package com.bpm.ucity;
    import java.util.Properties;
    import fuego.papi.Arguments;
    import fuego.papi.InstanceInfo;
    import fuego.papi.ProcessService;
    import fuego.papi.ProcessServiceSession;
    public class StartProcess {
         public StartProcess() {
              // TODO Auto-generated constructor stub
         * @param args
         public static void main(String[] args) {
              // TODO Auto-generated method stub
              String strProcessID          = "/Process";
              String strUserName          = "mih";
              String strPassword          = "1";
    //changed this part     
         Properties systemProperties = System.getProperties();
         systemProperties.setProperty ("java.naming.factory.initial", "weblogic.jndi.WLInitialContextFactory");
         systemProperties.setProperty("java.naming.provider.url", "t3://localhost:7001");
              ProcessService procServ = null;
              ProcessServiceSession procServSession = null;
              InstanceInfo instInfo = null;
              try {     
                   Properties prop      = new Properties();
                   prop.setProperty(ProcessService.DIRECTORY_PROPERTIES_FILE, "C:/bea/albpm5.7/j2eewl/conf/directory.properties");
                   procServ = ProcessService.create(prop);
                   // create session
                   procServSession = procServ.createSession(strUserName, strPassword, "localhost");
                   System.out.println ("procServSession => [" + procServSession + "]" );
                   // create process instance
                   Arguments arguments = Arguments.create();
                   instInfo = procServSession.createProcessInstance(strProcessID, arguments);
                   System.out.println ("instInfo => [" + instInfo + "]" );
                   String strInstanceID = instInfo.getId();
                   System.out.println ("strInstanceID => [" + strInstanceID + "]" );
              } catch (Exception e) {
                   e.printStackTrace();
              } finally {
                   procServSession.close();
    ================================================================
    and I put weblogic.jar path into the classpath.
    After that, I can get a new process instance, but I've got some errors up to now.
    I think the error is not caused by the code.
    How do you think about it?
    error====================================================
    JMS Topic 엔진에 가입하는 동안 오류가 발생했습니다. reason:'While trying to lookup 'java:comp.UserTransaction' didn't find subcontext 'java:comp'. Resolved ''
    cause by: While trying to lookup 'java:comp.UserTransaction' didn't find subcontext 'java:comp'. Resolved ''
    javax.naming.NameNotFoundException: While trying to lookup 'java:comp.UserTransaction' didn't find subcontext 'java:comp'. Resolved '' [Root exception is javax.naming.NameNotFoundException: While trying to lookup 'java:comp.UserTransaction' didn't find subcontext 'java:comp'. Resolved '']; remaining name 'java:comp/UserTransaction'
         at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:215)
         at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:338)
         at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:252)
         at weblogic.jndi.internal.ServerNamingNode_923_WLStub.lookup(Unknown Source)
         at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:379)
         at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:367)
         at javax.naming.InitialContext.lookup(InitialContext.java:351)
         at fuego.connector.impl.UserTransactionProvider.createForServlets(UserTransactionProvider.java:50)
         at fuego.papi.impl.j2ee.J2EEEngineAccessImpl.createTopicSubcriber(J2EEEngineAccessImpl.java:381)
         at fuego.papi.impl.j2ee.J2EEEngineAccessImpl.<init>(J2EEEngineAccessImpl.java:80)
         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
         at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
         at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
         at fuego.prefs.engine.EngineType.createObject(EngineType.java:218)
         at fuego.prefs.engine.EngineType.createEngineAccess(EngineType.java:211)
         at fuego.papi.impl.EngineAccess.getEngineAccess(EngineAccess.java:176)
         at fuego.papi.impl.EngineAccess.getEngineAccess(EngineAccess.java:96)
         at fuego.papi.impl.ProcessServiceImpl.getEngineAccess(ProcessServiceImpl.java:983)
         at fuego.papi.impl.ProcessServiceImpl.createSecureEngine(ProcessServiceImpl.java:1280)
         at fuego.papi.impl.ProcessServiceNESessionImpl$2.run(ProcessServiceNESessionImpl.java:2140)
         at fuego.papi.impl.ProcessServiceImpl.executeEngineOp(ProcessServiceImpl.java:1578)
         at fuego.papi.impl.ProcessServiceNESessionImpl.getSecureEngine(ProcessServiceNESessionImpl.java:2148)
         at fuego.papi.impl.ProcessServiceImpl.createProcessControl(ProcessServiceImpl.java:1266)
         at fuego.papi.impl.ProcessServiceNESessionImpl$1.run(ProcessServiceNESessionImpl.java:1104)
         at fuego.papi.impl.ProcessServiceImpl.executeEngineOp(ProcessServiceImpl.java:1578)
         at fuego.papi.impl.ProcessServiceNESessionImpl.getProcessControl(ProcessServiceNESessionImpl.java:1109)
         at fuego.papi.impl.InstanceCache.getInstancesByFilter(InstanceCache.java:496)
         at fuego.papi.impl.InstanceCache.getInstancesByFilter(InstanceCache.java:247)
         at fuego.papi.impl.ProcessServiceImpl.getInstancesByFilter(ProcessServiceImpl.java:1087)
         at fuego.papi.impl.ProcessServiceNESessionImpl.getInstancesByFilter(ProcessServiceNESessionImpl.java:755)
         at fuego.papi.impl.ProcessServiceNESessionImpl.getSortedInstancesByFilter(ProcessServiceNESessionImpl.java:2293)
         at fuego.papi.impl.ProcessServiceNESessionImpl.getInstancesByView(ProcessServiceNESessionImpl.java:810)
         at com.bpm.ucity.Inbox.main(Inbox.java:44)
    Caused by: javax.naming.NameNotFoundException: While trying to lookup 'java:comp.UserTransaction' didn't find subcontext 'java:comp'. Resolved ''
         at weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(BasicNamingNode.java:1139)
         at weblogic.jndi.internal.BasicNamingNode.lookupHere(BasicNamingNode.java:247)
         at weblogic.jndi.internal.ServerNamingNode.lookupHere(ServerNamingNode.java:171)
         at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:206)
         at weblogic.jndi.internal.RootNamingNode_WLSkel.invoke(Unknown Source)
         at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:553)
         at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:224)
         at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:443)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
         at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:439)
         at weblogic.rmi.internal.BasicServerRef.access$300(BasicServerRef.java:61)
         at weblogic.rmi.internal.BasicServerRef$BasicExecuteRequest.run(BasicServerRef.java:983)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)

  • How to get creation date from Fuego.Papi.Instance

    I got all process instances from papi. The instances are Fuego.Papi.Instance.
    I also need the creation date of the process instance, but I cannot find it in Fuego.Papi.Instance.
    How to get the creation date from Fuego.Papi.Instance?
    Thanks,

    Yes, I knew Fuego.Lib.ProcessInstance is able to get creation date.
    But my code is not in the that process. I am using papi to get the process instance which returns me Fuego.Papi.Instance. Is there a way to get Fuego.Lib.ProcessInstance from Fuego.Papi.Instance?
    My code is like this
    businessProcess = ProcessService.getProcess(process : "processName");
    instances = businessProcess.getInstancesByFilter(filter : instFilter);
    //then loop each instance and I need the creation date

  • Adding/deleting attachments using Fuego.Papi in OBPM10g

    Hi,
    I am seeking a resolution to the below issue. It will be really great if somebody can help me on this.
    The scenario is as follows.
    - Using global creation activity to fetch all eligible instances for a particular process using Fuego.Papi api.
    - The aim is to show and add attachments to the instances if required by the user.
    - Need to do this through a presentation, if needed jsp also.
    Problem statement
    - Is there any facility in the Fuego.Papi api to achieve this?
    - Is there any connection between Fuego.Papi api and Fuego.Lib api? As instance variable are directly not accessible via Fuego.Papi.Instance object. Is there any way to typecast Fuego.Papi.Instance to Fuego.Lib.ProcessInstance?
    - Is it possible to show the attachments individually in presentation or jsp is a must?
    Since there is a change in api from 5.7 to 10g, I am finding it difficult to solve it.
    Thanks in advance to all.
    Soubhagya

    Hector -
    Looking at you sequence, it appears that you have calling a subsequence that is removing steps from the caller's sequence. TestStand does not support editing sequences while they are running and we do not test this either. 
    When you execute a sequence in TestStand, the engine creates a runtime copy of the sequence that relies on some of the information stored in the edittime copy of the sequence. TestStand expects that the number of steps in both of these copies of the sequence to be the same. When they are not, it is possible to get an execution into a bad state. At the moment, your sequence is likely working because you are updating only the runtime copy and most of the references back to the edittime copy appear to be holding up. If you had in some way updated the edittime copy, I suspect that you would have seen a crash. Also, we actually reuse runtime copy of sequences within an execution, so the next time you called the sequence, you might find that the steps have already been removed.
    If you somehow want to build a sequence in a sequence file prior to calling it, that would be supported. You just have to ensure that the file is not being used in another execution, i.e parallel or batch model.
    Scott Richardson
    National Instruments

  • How to Increase the retreving size of instances using PAPI filters.

    Hi,
    How to Increase the retreving size of instances using PAPI filters.
    In my engine database instance size exceeds 2500 then we are getting following exception.
    If we login in to user workspace able to see the instances but while trying to retrieve from PAPI getting below exception and showing the user's inbox aize as 0.
    In Process Admin console we set all the required parameters.
    Still I m getting the same problem.
    Can you please lgive mev the solution.
    <Mar 23, 2010 8:58:24 PM SGT> <Warning> <RMI> <BEA-080003> <RuntimeException thrown by rmi server: fuego.ejbengine.EJBProcessControl_1zamnl_EOImpl.getInstancesByFilter(Lfuego.papi.impl.j2ee.EJBSecureEngineInfo;Ljava.lang.String;Lfuego.papi.Filter;)
    java.lang.ClassCastException: cannot assign instance of java.util.HashSet to field fuego.view.FilterImpl.attributes of type java.util.List in instance of fuego.view.FilterImpl.
    java.lang.ClassCastException: cannot assign instance of java.util.HashSet to field fuego.view.FilterImpl.attributes of type java.util.List in instance of fuego.view.FilterImpl
         at java.io.ObjectStreamClass$FieldReflector.setObjFieldValues(ObjectStreamClass.java:2032)
         at java.io.ObjectStreamClass.setObjFieldValues(ObjectStreamClass.java:1212)
         at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1953)
         at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
         at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
    Regards,
    Bharath.
    Edited by: bg57295 on Mar 24, 2010 6:45 PM

    Hi Bharath,
    Believe me, you have an incompatibility between different build#.
    PAPI has an instance cache. When certain process has more instances than the maximum specified, the cache is switch to status OPEN. That means, that PAPI will not be able to resolve some instance queries using the information in the cache. When that occurs, PAPI forward all those queries to the engine.
    The incompatibility introduced is in the communication between PAPI and Engine. So, you only get the exception when you have more instances than the maximum cache size.
    Regards,
    Ariel

  • Aborting an instance from PAPI

    Hi All
    How can I abort an instance from PAPI?
    The instance can be in any activity, and may be even executing a task when abort is called on that instance. Is it possibe?
    Also, is there any requirement that the person who executes abort from PAPI should have a role defined in BPM?
    Thanks
    Satinder

    Hi Satinder,
    You could abort a work item instance that is sitting in an activity using PAPI if the Interactive activity has its property set to be "Abortable". There's a PAPI "abort" method for an instance that you can run to accomplish this.
    The problem you will have is that most Interactive activities are not set to be abortable (nor should they be). What you might want to instead consider is adding a Notification Wait (now Message Wait in 10g) activity in the process that has its "Interrupt" property set. You could then use PAPI to send the work item instance a notification that would interrupt the instance and send it to the Notifcation Wait activity. From the Notification Wait activity, you could have the instance flow to an Automatic activity. This automatic activity could have a single line of logic: action = ABORT. This would abort the instance without having to set all your Interactive activities to "Abortable".
    If I've baffled you with all this, it's not you - it's my poor explanation. Just let me know if this doesn't makes sense and I'll post an example project for you.
    Hope this helps,
    Dan

  • Process Diagram of an instance using PAPI

    Hi,
    I`m trying to get que Process Diagram of an instance with PAPI using processGetDiagram but it doesn`t work, any ideas or examples?
    Thanks a lot

    I dont think there is any way to update the value of any instance variable directly by PAPI.
    What you can do is have a Global Activity with instance access from where you can access all the instance/ external variables.
    You can call this activity using PAPI and can send arguments telling it what to do.
    Let me know if this helps.

  • Searching for instances using getIntancesByFilter and ClientProcessService

    I am trying to get an array of all instances in a process so I can get some the data and use it to populate some dropdowns. I am using a custom, AJAX-enabled JSF presentation to call a server-side-no method in my component model. My code looks like this:
    Fuego.Papi.Instance[] things;
    Fuego.Papi.ClientProcessService cps = new Fuego.Papi.ClientProcessService();
    cps.connect();
    Fuego.Papi.InstanceFilter filter = new Fuego.Papi.InstanceFilter();
    filter.create(cps);
    filter.searchScope = SearchScope(ParticipantScope.ALL, StatusScope.ALL);
    filter.addAttributeTo("projVar", Comparison.IS, "projValue");
    things = cps.getInstancesByFilter(filter);
    foreach (thing in things){
         logMessage("Thing - " + thing.activityName + ".", "INFO");
    cps.disconnectFrom();
    I think the code is failing at line filter.create(cps), but I can't be sure. When I launch the screenflow, I am presented with an error about invalid arguments for method signature [nameOfMethod]. I can't debug the method either because of this error.
    If I remove everything south of cps.connect();, I can loop through the project vars defined in the process. I am using a ClientProcessService because I want to use the existing session from the workspace to get this data. Any thoughts?

    I think you're just missing the processId in your logic ("/OrderEntry" in the logic below). Your use of "projValue" won't work unless you're looking for the hard coded string "projValue".
    // Create objects used by the filter that searches the engine
    ClientBusinessProcess cbp;
    InstanceFilter instF;
    // Connect to the process that is currently running.
    // In this example, the process name is "Order Entry"
    // (no space characters).
    cbp.connectTo(processId : "/OrderEntry");
    // create the filter
    instF.create(processService : cbp.processService);
    // filter based on instances done by ALL participants in any
    //   activity between the Begin and End activities
    //   (ONLY_INPROCESS)
    instF.searchScope = SearchScope(participantScope : ParticipantScope.ALL, statusScope : StatusScope.ONLY_INPROCESS);
    // Get the orders with a order status of "Rejected"
    instF.addAttributeTo("projjVar", Comparison.IS, "Rejected");
    . . .Dan
    orderCount = length (getInstancesByFilter(cbp, instF))
    return orderCount

  • Fuego Papi Client

    I have some problems when I used fuegopapi-client.jar, when I use this library in BPM Studio run without errors and retrieve all instance from
    a process that I choose in the presentation, but when I run in BPM enterprise throw an exception the process name_process#default1.0 don't exists but the
    process exists. Please help with this problems.
    //this code retrieve all processId of the process in the BPM proyect(this code run without errors)
    Properties configuration = Properties();
    configuration.setProperty(ModComponentes.Fuego2.Papi.ProcessService.DIRECTORY_ID, "default");
    configuration.setProperty(ModComponentes.Fuego2.Papi.ProcessService.DIRECTORY_PROPERTIES_FILE, "directory.xml");
    ModComponentes.Fuego2.Papi.ProcessService procesoService = ModComponentes.Fuego2.Papi.ProcessService.create(configuration);
    ModComponentes.Fuego2.Papi.ProcessServiceSession procesoServiceSession =
                                            procesoService.createSession(this.sfcParticipant.name, "123456", null);
    ModComponentes.Fuego2.Papi.Process[] ext = (ModComponentes.Fuego2.Papi.Process[])procesoServiceSession.processesGet(false);
    foreach(item in ext){     
         this.sfcEstadoCredito.sProcesos[item.id] = item.name;
         this.sfcEstadoCredito.sProcesoId = item.id;                    
    procesoServiceSession.close();
    procesoService.close();
    //this code retrieve all instance from a process( only run in studio but when i run in enterprise throw an exception)
    Properties configuration = Properties();
    configuration.setProperty(ModComponentes.Fuego2.Papi.ProcessService.DIRECTORY_ID, "default");
    //Oracle BPM Studio
    //configuration.setProperty(ModComponentes.Fuego2.Papi.ProcessService.PROJECT_PATH, "D://Final//Proyecto");
    // Oracle BPM Enterprise
    configuration.setProperty(ModComponentes.Fuego2.Papi.ProcessService.DIRECTORY_PROPERTIES_FILE, "directory.xml");
    ModComponentes.Fuego2.Papi.ProcessService procesoService = ModComponentes.Fuego2.Papi.ProcessService.create(configuration);
    //Oracle BPM Studio
    // ModComponentes.Fuego2.Papi.ProcessServiceSession procesoServiceSession = procesoService.createSession(Fuego.Lib.Participant.name, Fuego.Lib.Participant.name, null);
    //Oracle BPM Enterprise
    ModComponentes.Fuego2.Papi.ProcessServiceSession procesoServiceSession =
                                                 procesoService.createSession(Fuego.Lib.Participant.name, "123456", null);
    ModComponentes.Fuego2.Papi.Filter filtro = procesoService.createFilter();
    filtro.searchScope.participantScope = ModComponentes.ParticipantScope.ALL;
    filtro.searchScope.statusScope = ModComponentes.StatusScope.ALL;
    filtro.addAttribute(ModComponentes.Fuego.Papi.VarDefinition.getDefaultVarDefinition(ModComponentes.Fuego.Papi.VarDefinition.CREATION_TIME_ID),
         ModComponentes.Comparison.GREATER_OR_EQUALS, this.sfcEstadoCredito.dFechaInicio);
    filtro.addAttribute(ModComponentes.Fuego.Papi.VarDefinition.getDefaultVarDefinition(ModComponentes.Fuego.Papi.VarDefinition.CREATION_TIME_ID),
         ModComponentes.Comparison.LESS_OR_EQUALS, this.sfcEstadoCredito.dFechaFin);
    filtro.matchAll = true;
    ModComponentes.Fuego2.Papi.InstanceInfo[] instanciaByFilter;
    instanciaByFilter = ((ModComponentes.Fuego2.Papi.InstanceInfo[])
                             procesoServiceSession.processesGetInstancesByFilter(ProcessIdSet.create.add(this.sfsProcessId), filtro));
    procesoServiceSession.close();
    procesoService.close();
    //**********************************************************************//

    Hi,
    Please incorporate the following code, hope this help you.
    Properties configuration = new Properties();
    configuration.setProperty(ProcessService.DIRECTORY_ID, "default");
    // Change the path of the directory.xml file accordindly
    configuration.setProperty(ProcessService.DIRECTORY_PROPERTIES_FILE, "c://bea//albpm6.0//enterprise//conf//directory.xml");
    configuration.setProperty(ProcessService.WORKING_FOLDER, "/tmp");
    Bibhu

  • Fuego.papi.exception.SharedParentInstanceBusyException

    The process has a split-join. Instance in one branch is in join. The interactive activity in another branch cannot be executed. In the Javadoc / PAPI, no enough information about this exception.
    I use BPM standalone 10.3.1 and studio 10.3.0
    Exception in thread "main" fuego.papi.exception.SharedParentInstanceBusyException: Task '0' in activity '/TestPAPI3Process#Default-1.0/Interactive[departmentmanager3]' cannot be executed over instance '/TestPAPI3Process#Default-1.0/9211/2'.
    Another instance copy is executing a task over shared instance.
         at fuego.server.execution.CheckInteractiveExecution.checkShareParentState(CheckInteractiveExecution.java:234)
         at fuego.server.execution.CheckInteractiveExecution.check(CheckInteractiveExecution.java:111)
         at fuego.server.execution.microactivity.InteractiveMicroActivity.checkInteractiveExecution(InteractiveMicroActivity.java:471)
         at fuego.server.execution.microactivity.InteractiveMicroActivity.executeItem(InteractiveMicroActivity.java:443)
         at fuego.server.execution.microactivity.InteractiveMicroActivity.execute(InteractiveMicroActivity.java:104)
         at fuego.server.AbstractProcessBean$48.execute(AbstractProcessBean.java:3198)
         at fuego.server.execution.DefaultEngineExecution$AtomicExecutionTA.runTransaction(DefaultEngineExecution.java:304)
         at fuego.transaction.TransactionAction.startBaseTransaction(TransactionAction.java:470)
         at fuego.transaction.TransactionAction.startTransaction(TransactionAction.java:551)
         at fuego.transaction.TransactionAction.start(TransactionAction.java:212)
         at fuego.server.execution.DefaultEngineExecution.executeImmediate(DefaultEngineExecution.java:123)
         at fuego.server.execution.EngineExecution.executeImmediate(EngineExecution.java:66)
         at fuego.server.AbstractProcessBean.runTask(AbstractProcessBean.java:3202)
         at sun.reflect.GeneratedMethodAccessor48.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
         at java.lang.reflect.Method.invoke(Unknown Source)
         at fuego.lang.JavaClass.invokeMethod(JavaClass.java:1410)
         at fuego.lang.JavaObject.invoke(JavaObject.java:227)
         at fuego.component.Message.process(Message.java:585)
         at fuego.component.ExecutionThread.processMessage(ExecutionThread.java:780)
         at fuego.component.ExecutionThread.processBatch(ExecutionThread.java:755)
         at fuego.component.ExecutionThread.doProcessBatch(ExecutionThread.java:142)
         at fuego.component.ExecutionThread.doProcessBatch(ExecutionThread.java:134)
         at fuego.fengine.FEngineProcessBean.processBatch(FEngineProcessBean.java:244)
         at fuego.component.ExecutionThread.work(ExecutionThread.java:839)
         at fuego.component.ExecutionThread.run(ExecutionThread.java:408)
         at fuego.component.CustomExecution.next(CustomExecution.java:176)
         at fuego.papi.impl.rmi.RMIExecution.next(RMIExecution.java:109)
         at fuego.papi.impl.ProcessInstanceOperation.prepareExternalActivity(ProcessInstanceOperation.java:697)
         at fuego.papi.impl.ProcessServiceSessionImpl.activityPrepare(ProcessServiceSessionImpl.java:1423)
         at fuego.papi.impl.ProcessServiceSessionImpl.activityPrepare(ProcessServiceSessionImpl.java:1417)
         at testpapiprocessjava.departmentmanager3.managerPrepareCommit(departmentmanager3.java:53)
         at testpapiprocessjava.departmentmanager3.main(departmentmanager3.java:29)
    Process exited with exit code 1.

    Sorrry - I don't think I was clear. Leave the checkbox checked so that it does generates copies (leave it like it was when you first added the Split activity).
    I could easily be wrong (frequently am) but I ran into a similar problem when I'd changed it from the original setting (make it unchecked) and suspected you might have collided into the same bug I did.
    Dan

  • When I should abort a instance, when I should not?

    Hi there.
    I'm designing a process that controls an insurance policy sale and that has a deadline for it's processing. If this deadline is reached, the process must go through a exception flow which will cancel the sale and decline the insurance policy. My question is: whenever this happens, I should end the process instance within ALBPM with an aborted status or by reaching the end activity after processing the exception?
    In other words, thinking in a generic way, one could question: is it okay, withing a modeling view, to abort an instance when a business exception occurs?

    Dear Right,
    I am working on a project where I need to do reporting using Hyperion from ALBPM work list/process instance data. The report needs to be generated on current instance data as well as completed or rejected instance data. Please confirm if my approach is correct or not.
    1) Use BAM or Data Mart database for the reporting on current instance.
    2)Use Archival Data for the Reporting on historical data for the instance that are completed and rejected.
    However, I have following question for that I didn't find any clear idea. I would appreciate if you get me some help here:
    + Our business process might stay longer for some cases, say could be a year or more before it gets approved or rejected. As per Bea documentation of Business Activity Monitoring (BAM) and Business Activity Data Mart (Data Mart), BAM records information about process instance performance and process workload over a recent time period, usually 24 hours where as the Data Mart stores data similar to BAM, but over longer periods of time.
    So what do you/Bea suggest/recommend to have out of BAM and Data Mart? Can it Data Mart hold data for such long.
    + For historical reporting:
    0) Does this archival happen from engine Db or BAM/Data Mart?
    0) As per Bea; process information is copied to the archive database after a process is completed or aborted, based on the archiving schedule configured in the Process Administrator in the Services pane of the Edit Engine section. And also ALBPM business processes do not require data from an instance once this instance has ended, so process instances are discarded upon instance expiration. So does this also flush out the process instance data from BAM/Data Mart as well or BAM/ Data Mart data will flush out as per duration configured in ALBPM. Please confirm.
    + There must have been some reason while designing the three different way to hold process instance data from:
    #1. Engine DB,
    #2. BAM/Data Mart,
    #3. Archival Database.
    Can you please throw some light why it has been designed this way?

Maybe you are looking for

  • Anyone used another iMac as a second display?

    I was thinking about getting another display for some more realistate while i'm editing and was trying to make it as asthetically pleasing as possible when this idea struck me. Why not find a broken or abandoned iMac out there and use it as a second

  • Issue in Default selection in Dashboard prompt

    Dear All, I have a dashboard prompt with columns year and month.month column i kept as slider in that default selection i kept 45 days backward from current date,since my requirement is the end user have the option to selection the day backward inste

  • Edit documents in Oracle Database, Sharepoint Like, WebDAV?

    Hello out there! I have a web application written in Java (JSP/Struts/Oracle ADF). The application runs on Oracle Application Server 10g, as well as an Oracle 10g database. I will probably be migrating to WebLogic in the near future. In my database,

  • Re-installed router software - can't change password!

    I had to format my HD so I re-installed my linksys WRT54g wireless router and used the installation disk. at the end it says to put in my password. I put in every combination of password I could think of, but it keep going back and asking me again. s

  • Bug: DNG Converter 8.6 ignoring XMP files

    There seem to be a severe bug in Version 8.6 of the DNG Converter. It just does not take over XMP data from sidecar files anymore into the generated DNGs. As a result the previews embedded into the DNGs are flat as well, any former edits are not bein