How to get process instance id

Hi,
We are invoking a long lived process from a client using Java API (EJB end point).
We are getting the JobId in return. Is there a way to get the process instance Id through API.
Searched a lot in the documentation. Finally inclining to query the table directlyTB_PROCESS_INSTANCE  on LONG_LIVED_INVOCATION_ID.
Appreciate a lot if any expert point us to an API way of doing the same

We have tried to use the following approach to get process instance id right after invoking a process.
- Define an OUT process variable to contain process id
- A set value step right after invocation sets this out variable with process id variable value which is available by default
- InvocationResponse.getOutputParameters() to read the output variable
The problem is in the map returned by getOutputParameters() is not having our output variable , but just the JobId.
Anyone tried this before? Are we missing sometiing?
Any expert help is highly appreciated..

Similar Messages

  • 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

  • How to get Process Task Retry Count using API (OIM 10g)

    Hi ,
    I want to get all the process task which are failed after retried 5 times.
    For e.g Create user task in AD retried for 5 times but still it is in failed state. I want to get all such process task.
    I am stuck at point how to get process task retry count from process definition?
    Thanks

    You can reference the code in the "Task Timed Retry" scheduled task to get what you are looking for. Here is the decompiled code:
    >
    package com.thortech.xl.schedule.tasks;
    import Thor.API.Operations.tcScheduleTaskOperationsIntf;
    import com.thortech.util.logging.Logger;
    import com.thortech.xl.dataaccess.tcDataSetException;
    import com.thortech.xl.dataobj.tcDataSet;
    import com.thortech.xl.scheduler.tasks.SchedulerBaseTask;
    import com.thortech.xl.util.logging.LoggerMessages;
    import java.sql.Date;
    import java.util.Hashtable;
    public class tcTskTimedRetry extends SchedulerBaseTask
    private static Logger logger = Logger.getLogger("Xellerate.Scheduler.Task");
    Date isCurrentDate;
    public void init()
    logger.debug(LoggerMessages.getMessage("EnteredMethodDebug", "tcTskTimedRetry/init"));
    this.isCurrentDate = new Date(System.currentTimeMillis());
    logger.debug(LoggerMessages.getMessage("LeftMethodDebug", "tcTskTimedRetry/init"));
    public void execute()
    logger.debug(LoggerMessages.getMessage("EnteredMethodDebug", "tcTskTimedRetry/execute"));
    tcDataSet localtcDataSet1 = new tcDataSet();
    tcDataSet localtcDataSet2 = new tcDataSet();
    tcDataSet localtcDataSet3 = new tcDataSet();
    try
    if (isStopped())
    return;
    localtcDataSet2.setQuery(getDataBase(), "select osi_retry_on from osi where 1=2");
    localtcDataSet2.executeQuery();
    if (isStopped())
    return;
    localtcDataSet2.setDate("osi_retry_on", this.isCurrentDate);
    localtcDataSet1.setQuery(getDataBase(), "select osi.sch_key, osi.mil_key, osi.orc_key, osi.osi_rowver, sch.sch_rowver, osi.osi_retry_for, osi.osi_retry_on, osi.osi_retry_counter, sch.sch_note from osi osi,sch sch where osi.osi_retry_on <=" + localtcDataSet2.getSqlText("osi_retry_on") + " and osi.sch_key = sch.sch_key" + " and sch.sch_status='R'" + " and osi_retry_counter>0 order by osi.sch_key");
    localtcDataSet1.executeQuery();
    if (isStopped())
    return;
    int i = localtcDataSet1.getRowCount();
    logger.debug("tcTskTimedRetry:execute:Number of Process tasks retrieved is=" + i);
    tcScheduleTaskOperationsIntf localtcScheduleTaskOperationsIntf = (tcScheduleTaskOperationsIntf)getUtility("Thor.API.Operations.tcScheduleTaskOperationsIntf");
    tcDataSet localtcDataSet4 = new tcDataSet();
    localtcDataSet4.setQuery(getDataBase(), "select osi_retry_for, osi_retry_counter from osi where 1=2");
    localtcDataSet4.executeQuery();
    Hashtable localHashtable = new Hashtable();
    if (isStopped())
    return;
    for (int j = 0; j < i; j++)
    if (isStopped())
    return;
    localtcDataSet1.goToRow(j);
    localtcDataSet3.setQuery(getDataBase(), "select count(*) as counter from osi osi,sch sch where osi.sch_key = sch.sch_key and osi_retry_for=" + localtcDataSet1.getLong("sch_key"));
    localtcDataSet3.executeQuery();
    if (isStopped())
    return;
    if (localtcDataSet3.getInt("counter") > 0)
    continue;
    localHashtable.put("osi_retry_for", String.valueOf(localtcDataSet1.getLong("sch_key")));
    localHashtable.put("sch_note", localtcDataSet1.getString("sch_note"));
    long l = localtcDataSet1.getLong("osi_retry_counter");
    if (isStopped())
    return;
    try
    localtcScheduleTaskOperationsIntf.createScheduleItem(localtcDataSet1.getString("orc_key"), localtcDataSet1.getString("mil_key"), localHashtable, l - 1L);
    catch (Exception localException2)
    logger.error(LoggerMessages.getMessage("ErrorMethodDebug", "tcTskTimedRetry/execute", localException2.getMessage()), localException2);
    catch (tcDataSetException localtcDataSetException)
    logger.error(LoggerMessages.getMessage("ErrorMethodDebug", "tcTskTimedRetry/execute", localtcDataSetException.getMessage()), localtcDataSetException);
    logger.debug("PJ:tcTskTimedRetry:execute:DataSetexception has occured");
    catch (Exception localException1)
    logger.error(LoggerMessages.getMessage("ErrorMethodDebug", "tcTskTimedRetry/execute", localException1.getMessage()), localException1);
    logger.debug(LoggerMessages.getMessage("LeftMethodDebug", "tcTskTimedRetry/execute"));
    public boolean stop()
    logger.debug("tcTskTimedRetry:stop:Task being stopped");
    return true;
    >
    -Kevin

  • How to create process instance throught PAPI?

    Hi,
    Can someone share how do we use PAPI to create a process instance for the Expense Management process (process in the BPM tutorial)?
    I believe it is through calling the processCreateInstance() method from a ProcessServiceSession object, however, what exactly do we pass in as a parameter? I tried simply by passing in the process name and an empty Arguments object and the following exception was logged:
    Feb 18, 2009 9:08:43 PM com.sun.corba.se.impl.orbutil.CacheTable put_table
    WARNING: "IOP00710275: (INTERNAL) Old entry in serialization indirection table has a different value than the value being added with the same key"
    org.omg.CORBA.INTERNAL: vmcid: SUN minor code: 275 completed: No
         at com.sun.corba.se.impl.logging.ORBUtilSystemException.duplicateIndirectionOffset(ORBUtilSystemException.java:5589)
         at com.sun.corba.se.impl.logging.ORBUtilSystemException.duplicateIndirectionOffset(ORBUtilSystemException.java:5611)
         at com.sun.corba.se.impl.orbutil.CacheTable.put_table(CacheTable.java:97)
         at com.sun.corba.se.impl.orbutil.CacheTable.put(CacheTable.java:86)
         at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1068)
         at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:879)
         at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_abstract_interface(CDRInputStream_1_0.java:873)
         at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_abstract_interface(CDRInputStream_1_0.java:863)
         at com.sun.corba.se.impl.encoding.CDRInputStream.read_abstract_interface(CDRInputStream.java:269)
         at com.sun.corba.se.impl.io.IIOPInputStream.readObjectDelegate(IIOPInputStream.java:363)
         at com.sun.corba.se.impl.io.IIOPInputStream.readObjectOverride(IIOPInputStream.java:526)
         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:345)
         at java.util.TreeMap.buildFromSorted(TreeMap.java:2442)
         at java.util.TreeMap.buildFromSorted(TreeMap.java:2384)
         at java.util.TreeMap.readObject(TreeMap.java:2330)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at com.sun.corba.se.impl.io.IIOPInputStream.invokeObjectReader(IIOPInputStream.java:1694)
         at com.sun.corba.se.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1212)
         at com.sun.corba.se.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:400)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:327)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:293)
         at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1034)
         at com.sun.corba.se.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:253)
         at com.sun.corba.se.impl.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:1989)
         at com.sun.corba.se.impl.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:2213)
         at com.sun.corba.se.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1221)
         at com.sun.corba.se.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:400)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:327)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:293)
         at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1034)
         at com.sun.corba.se.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:253)
         at com.sun.corba.se.impl.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:1989)
         at com.sun.corba.se.impl.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:2213)
         at com.sun.corba.se.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1221)
         at com.sun.corba.se.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:400)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:327)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:293)
         at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1034)
         at com.sun.corba.se.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:253)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.read_Array(ValueHandlerImpl.java:756)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:325)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:293)
         at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1034)
         at com.sun.corba.se.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:253)
         at fuego.papi.impl.j2ee._EJBSecureEngineInterface_Stub.getProcesses(Unknown Source)
         at fuego.papi.impl.j2ee.EJBSecureEngineInterfaceWrapper.getProcesses(EJBSecureEngineInterfaceWrapper.java:297)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at fuego.papi.impl.AbstractSecureEngineHandler.invokeInternal(AbstractSecureEngineHandler.java:49)
         at fuego.papi.impl.j2ee.EJBSecureEngineHandler.doInvoke(EJBSecureEngineHandler.java:105)
         at fuego.papi.impl.j2ee.EJBSecureEngineHandler.invoke(EJBSecureEngineHandler.java:56)
         at $Proxy14.getProcesses(Unknown Source)
         at fuego.papi.impl.AbstractProcessLoader.createProcess(AbstractProcessLoader.java:49)
         at fuego.papi.impl.AbstractProcessLoader.createProcess(AbstractProcessLoader.java:36)
         at fuego.papi.impl.SessionProcessLoader.load(SessionProcessLoader.java:254)
         at fuego.papi.impl.ProcessManager.get(ProcessManager.java:894)
         at fuego.papi.impl.ProcessServiceImpl.getProcess(ProcessServiceImpl.java:1364)
         at fuego.papi.impl.SessionProcessManager.getProcess(SessionProcessManager.java:143)
         at fuego.papi.impl.ProcessServiceSessionImpl.processGet(ProcessServiceSessionImpl.java:2601)
         at fuego.papi.impl.ProcessServiceSessionImpl.checkBeginPermissions(ProcessServiceSessionImpl.java:4222)
         at fuego.papi.impl.ProcessServiceSessionImpl.processCreateInstance(ProcessServiceSessionImpl.java:3113)
         at fuego.papi.impl.ProcessServiceSessionImpl.processCreateInstance(ProcessServiceSessionImpl.java:3099)
         at com.test.papi.TestPAPI.main(TestPAPI.java:39)
    Could not perform the requested operation
    fuego.papi.ProcessNotAvailableException: Process '/ExpenseReport#Default-1.0' not available.
         at fuego.papi.impl.AbstractProcessLoader.createProcess(AbstractProcessLoader.java:71)
         at fuego.papi.impl.AbstractProcessLoader.createProcess(AbstractProcessLoader.java:36)
         at fuego.papi.impl.SessionProcessLoader.load(SessionProcessLoader.java:254)
         at fuego.papi.impl.ProcessManager.get(ProcessManager.java:894)
         at fuego.papi.impl.ProcessServiceImpl.getProcess(ProcessServiceImpl.java:1364)
         at fuego.papi.impl.SessionProcessManager.getProcess(SessionProcessManager.java:143)
         at fuego.papi.impl.ProcessServiceSessionImpl.processGet(ProcessServiceSessionImpl.java:2601)
         at fuego.papi.impl.ProcessServiceSessionImpl.checkBeginPermissions(ProcessServiceSessionImpl.java:4222)
         at fuego.papi.impl.ProcessServiceSessionImpl.processCreateInstance(ProcessServiceSessionImpl.java:3113)
         at fuego.papi.impl.ProcessServiceSessionImpl.processCreateInstance(ProcessServiceSessionImpl.java:3099)
         at com.test.papi.TestPAPI.main(TestPAPI.java:39)
    Caused by: fuego.papi.impl.EngineExecutionException: Process execution engine execution error.
         at fuego.papi.impl.j2ee.EJBSecureEngineHandler.doInvoke(EJBSecureEngineHandler.java:146)
         at fuego.papi.impl.j2ee.EJBSecureEngineHandler.invoke(EJBSecureEngineHandler.java:56)
         at $Proxy14.getProcesses(Unknown Source)
         at fuego.papi.impl.AbstractProcessLoader.createProcess(AbstractProcessLoader.java:49)
         ... 10 more
    Caused by: org.omg.CORBA.INTERNAL: vmcid: SUN minor code: 275 completed: No
         at com.sun.corba.se.impl.logging.ORBUtilSystemException.duplicateIndirectionOffset(ORBUtilSystemException.java:5589)
         at com.sun.corba.se.impl.logging.ORBUtilSystemException.duplicateIndirectionOffset(ORBUtilSystemException.java:5611)
         at com.sun.corba.se.impl.orbutil.CacheTable.put_table(CacheTable.java:97)
         at com.sun.corba.se.impl.orbutil.CacheTable.put(CacheTable.java:86)
         at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1068)
         at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:879)
         at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_abstract_interface(CDRInputStream_1_0.java:873)
         at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_abstract_interface(CDRInputStream_1_0.java:863)
         at com.sun.corba.se.impl.encoding.CDRInputStream.read_abstract_interface(CDRInputStream.java:269)
         at com.sun.corba.se.impl.io.IIOPInputStream.readObjectDelegate(IIOPInputStream.java:363)
         at com.sun.corba.se.impl.io.IIOPInputStream.readObjectOverride(IIOPInputStream.java:526)
         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:345)
         at java.util.TreeMap.buildFromSorted(TreeMap.java:2442)
         at java.util.TreeMap.buildFromSorted(TreeMap.java:2384)
         at java.util.TreeMap.readObject(TreeMap.java:2330)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at com.sun.corba.se.impl.io.IIOPInputStream.invokeObjectReader(IIOPInputStream.java:1694)
         at com.sun.corba.se.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1212)
         at com.sun.corba.se.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:400)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:327)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:293)
         at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1034)
         at com.sun.corba.se.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:253)
         at com.sun.corba.se.impl.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:1989)
         at com.sun.corba.se.impl.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:2213)
         at com.sun.corba.se.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1221)
         at com.sun.corba.se.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:400)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:327)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:293)
         at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1034)
         at com.sun.corba.se.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:253)
         at com.sun.corba.se.impl.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:1989)
         at com.sun.corba.se.impl.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:2213)
         at com.sun.corba.se.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1221)
         at com.sun.corba.se.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:400)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:327)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:293)
         at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1034)
         at com.sun.corba.se.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:253)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.read_Array(ValueHandlerImpl.java:756)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:325)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:293)
         at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1034)
         at com.sun.corba.se.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:253)
         at fuego.papi.impl.j2ee._EJBSecureEngineInterface_Stub.getProcesses(Unknown Source)
         at fuego.papi.impl.j2ee.EJBSecureEngineInterfaceWrapper.getProcesses(EJBSecureEngineInterfaceWrapper.java:297)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at fuego.papi.impl.AbstractSecureEngineHandler.invokeInternal(AbstractSecureEngineHandler.java:49)
         at fuego.papi.impl.j2ee.EJBSecureEngineHandler.doInvoke(EJBSecureEngineHandler.java:105)
         ... 13 more
    I'm wondering why does it complain that "fuego.papi.ProcessNotAvailableException: Process '/ExpenseReport#Default-1.0' not available.", when the ExpenseReport process is indeed a process that was published?
    P.S.: I know this thread is sort of a duplicate of another thread, however I hope we can get some real examples of how to create a process instance for the Expense Management project, using PAPI (instead of PAPI webservice).
    Edited by: sylarchong on Feb 18, 2009 5:20 AM
    Edited by: sylarchong on Feb 18, 2009 5:21 AM

    Hi Mark,
    Thanks for your prompt reply.. I tried with the above option but still am facing the same problem.
    Let me give you the brief idea of what am working on;
    1) I created a process using Oracle BPM Studio V: 10.3.1.0 & Build: #94375
    2) I publish & deploy the process using Oracle BPM Admin Center which running on top of tomcat. But in the configuration I configure the directory as well as weblogic server.
    3) I created a "Java Project" & included following jar file "b1base.jar","b1oracle.jar","b1util.jar","bcel.jar","ejb-api.jar","fuegopapi-client.jar","jms-api.jar","ojdbc14.jar","weblogic.jar","wljmsclient.jar".
    4) I am using below program to create a PAPI Process Instance;
    package ibm.com.papi;
    import java.util.Properties;
    import fuego.papi.CommunicationException;
    import fuego.papi.InstanceInfo;
    import fuego.papi.OperationException;
    import fuego.papi.ProcessService;
    import fuego.papi.ProcessServiceSession;
    public class PAPIWithDirectoryFileExample {
         public static void main(String[] args) {
              // ///////////////// API Initialization ///////////////////
              Properties configuration = new Properties();
              configuration.setProperty(ProcessService.DIRECTORY_ID, "default");
              configuration.setProperty(ProcessService.DIRECTORY_PROPERTIES_FILE, "C://tmp//directory.xml");
              configuration.setProperty(ProcessService.INSTANCES_CACHE_SIZE, "50000");
              configuration.setProperty(ProcessService.WORKING_FOLDER, "c://tmp");
              configuration.setProperty(ProcessService.UPDATE_SESSIONS_VIEWS, "true");
              System.setProperty("fuego.j2ee.initialctx.file","C:\\tmp\\engine.properties");
              System.setProperty("fuego.j2ee.initialctx.resource","engine.properties");
              System.setProperty("fuego.j2ee.initialctx.url","file://tmp/engine.properties");
              //engine.properties include below settings
              //System.setProperty("java.naming.factory.initial", "weblogic.jndi.WLInitialContextFactory");
              //System.setProperty("java.naming.provider.url", "t3://localhost:7001");
              try {
                   ProcessService processService = ProcessService.create(configuration);
                   ///////////////// Establish a session ///////////////////
                   ProcessServiceSession session = processService.createSession(
                             "username", "pwd", "host");
                   for (String processId : session.processesGetIds()) {
                        System.out.println("\n Process: " + processId);
                        for (InstanceInfo instance : session
                                  .processGetInstances(processId)) {
                             System.out.println(" -> " + instance.getId());
                   fuego.papi.Arguments papiArgs= fuego.papi.Arguments.create();
                   papiArgs.putArgument("inputNameArg", "inputString");
                   InstanceInfo instInfo = null;
                   instInfo = session.processCreateInstance("/Process#Default-1.0",papiArgs);
                   String strInstanceID = instInfo.getId();
                   System.out.println ("strInstanceID => [" + strInstanceID + "]" );
                   // ///////////////// Close the session ///////////////////
                   session.close();
                   // ///////////////// Release API Resources ///////////////////
                   processService.close();
              } catch (CommunicationException e) {
                   System.out.println("Could not connect to Directory Service");
                   e.printStackTrace();
              } catch (OperationException e) {
                   System.out.println("Could not perform the requested operation");
                   e.printStackTrace();
    5) Error Log;
    Feb 19, 2010 12:23:16 PM com.sun.corba.se.impl.orbutil.CacheTable put_table
    WARNING: "IOP00710275: (INTERNAL) Old entry in serialization indirection table has a different value than the value being added with the same key"
    org.omg.CORBA.INTERNAL: vmcid: SUN minor code: 275 completed: No
         at com.sun.corba.se.impl.logging.ORBUtilSystemException.duplicateIndirectionOffset(ORBUtilSystemException.java:5589)
         at com.sun.corba.se.impl.logging.ORBUtilSystemException.duplicateIndirectionOffset(ORBUtilSystemException.java:5611)
         at com.sun.corba.se.impl.orbutil.CacheTable.put_table(CacheTable.java:97)
         at com.sun.corba.se.impl.orbutil.CacheTable.put(CacheTable.java:86)
         at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1068)
         at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:879)
         at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_abstract_interface(CDRInputStream_1_0.java:873)
         at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_abstract_interface(CDRInputStream_1_0.java:863)
         at com.sun.corba.se.impl.encoding.CDRInputStream.read_abstract_interface(CDRInputStream.java:269)
         at com.sun.corba.se.impl.io.IIOPInputStream.readObjectDelegate(IIOPInputStream.java:363)
         at com.sun.corba.se.impl.io.IIOPInputStream.readObjectOverride(IIOPInputStream.java:526)
         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:345)
         at java.util.TreeMap.buildFromSorted(TreeMap.java:2442)
         at java.util.TreeMap.buildFromSorted(TreeMap.java:2384)
         at java.util.TreeMap.readObject(TreeMap.java:2330)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at com.sun.corba.se.impl.io.IIOPInputStream.invokeObjectReader(IIOPInputStream.java:1694)
         at com.sun.corba.se.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1212)
         at com.sun.corba.se.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:400)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:327)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:293)
         at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1034)
         at com.sun.corba.se.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:253)
         at com.sun.corba.se.impl.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:1989)
         at com.sun.corba.se.impl.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:2213)
         at com.sun.corba.se.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1221)
         at com.sun.corba.se.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:400)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:327)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:293)
         at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1034)
         at com.sun.corba.se.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:253)
         at com.sun.corba.se.impl.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:1989)
         at com.sun.corba.se.impl.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:2213)
         at com.sun.corba.se.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1221)
         at com.sun.corba.se.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:400)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:327)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:293)
         at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1034)
         at com.sun.corba.se.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:253)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.read_Array(ValueHandlerImpl.java:756)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:325)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:293)
         at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1034)
         at com.sun.corba.se.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:253)
         at fuego.papi.impl.j2ee._EJBSecureEngineInterface_Stub.getProcesses(Unknown Source)
         at fuego.papi.impl.j2ee.EJBSecureEngineInterfaceWrapper.getProcesses(EJBSecureEngineInterfaceWrapper.java:297)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at fuego.papi.impl.AbstractSecureEngineHandler.invokeInternal(AbstractSecureEngineHandler.java:49)
         at fuego.papi.impl.j2ee.EJBSecureEngineHandler.doInvoke(EJBSecureEngineHandler.java:105)
         at fuego.papi.impl.j2ee.EJBSecureEngineHandler.invoke(EJBSecureEngineHandler.java:56)
         at $Proxy14.getProcesses(Unknown Source)
         at fuego.papi.impl.AbstractProcessLoader.createProcess(AbstractProcessLoader.java:49)
         at fuego.papi.impl.AbstractProcessLoader.createProcess(AbstractProcessLoader.java:36)
         at fuego.papi.impl.SessionProcessLoader.load(SessionProcessLoader.java:254)
         at fuego.papi.impl.ProcessManager.get(ProcessManager.java:894)
         at fuego.papi.impl.ProcessServiceImpl.getProcess(ProcessServiceImpl.java:1364)
         at fuego.papi.impl.SessionProcessManager.getProcess(SessionProcessManager.java:143)
         at fuego.papi.impl.ProcessServiceSessionImpl.processGet(ProcessServiceSessionImpl.java:2660)
         at fuego.papi.impl.ProcessServiceSessionImpl.checkBeginPermissions(ProcessServiceSessionImpl.java:4281)
         at fuego.papi.impl.ProcessServiceSessionImpl.processCreateInstance(ProcessServiceSessionImpl.java:3172)
         at fuego.papi.impl.ProcessServiceSessionImpl.processCreateInstance(ProcessServiceSessionImpl.java:3158)
         at ibm.com.papi.PAPIWithDirectoryFileExample.main(PAPIWithDirectoryFileExample.java:71)
    Could not perform the requested operation
    fuego.papi.ProcessNotAvailableException: Process '/Process#Default-1.0' not available.
         at fuego.papi.impl.AbstractProcessLoader.createProcess(AbstractProcessLoader.java:71)
         at fuego.papi.impl.AbstractProcessLoader.createProcess(AbstractProcessLoader.java:36)
         at fuego.papi.impl.SessionProcessLoader.load(SessionProcessLoader.java:254)
         at fuego.papi.impl.ProcessManager.get(ProcessManager.java:894)
         at fuego.papi.impl.ProcessServiceImpl.getProcess(ProcessServiceImpl.java:1364)
         at fuego.papi.impl.SessionProcessManager.getProcess(SessionProcessManager.java:143)
         at fuego.papi.impl.ProcessServiceSessionImpl.processGet(ProcessServiceSessionImpl.java:2660)
         at fuego.papi.impl.ProcessServiceSessionImpl.checkBeginPermissions(ProcessServiceSessionImpl.java:4281)
         at fuego.papi.impl.ProcessServiceSessionImpl.processCreateInstance(ProcessServiceSessionImpl.java:3172)
         at fuego.papi.impl.ProcessServiceSessionImpl.processCreateInstance(ProcessServiceSessionImpl.java:3158)
         at ibm.com.papi.PAPIWithDirectoryFileExample.main(PAPIWithDirectoryFileExample.java:71)
    Caused by: fuego.papi.impl.EngineExecutionException: Process execution engine execution error.
         at fuego.papi.impl.j2ee.EJBSecureEngineHandler.doInvoke(EJBSecureEngineHandler.java:146)
         at fuego.papi.impl.j2ee.EJBSecureEngineHandler.invoke(EJBSecureEngineHandler.java:56)
         at $Proxy14.getProcesses(Unknown Source)
         at fuego.papi.impl.AbstractProcessLoader.createProcess(AbstractProcessLoader.java:49)
         ... 10 more
    Caused by: org.omg.CORBA.INTERNAL: vmcid: SUN minor code: 275 completed: No
    Please help me to resolve the above issue.
    Thanks & Regards,
    Ankur Oswal

  • Getting Process Instance Information and Task Properties in a process

    Iam using WebLogic8.1 Integration BPM feature. I've designed a Worklist based application.
    In the business process, i've to call a java class method from the business process
    which takes the process instance and task related properties (viz. the task id,
    task name, the current actor etc.). How could i supply these values from within
    a business process.
    Regards
    Raja V.

    You can get the task infromation by calling the task control method TeskInfo getTaskInfo()
    "raja v" <[email protected]> wrote:
    >
    Iam using WebLogic8.1 Integration BPM feature. I've designed a Worklist
    based application.
    In the business process, i've to call a java class method from the business
    process
    which takes the process instance and task related properties (viz. the
    task id,
    task name, the current actor etc.). How could i supply these values from
    within
    a business process.
    Regards
    Raja V.

  • How to pass process instance id to callable object?

    Hello,
    using the SAP NetWeaver CE 7.1 EhP 1 SP 2 I have modeled a small approval workflow with Guided Procedures.
    At runtime, I want to pass the id of the running process instance to a callable object (WD4VC composite view). Is this possible and how?
    Alternatively, is there any way to fetch the id of the current process instance from withina WD4VC composite view?
    Kind regards
    Alexander

    Hi,
    I hope you have executionContext in callable object.
    You can get the ProcessID by calling function "executionContext.getProcessId()".
    Regards,
    Niraj

  • How to get orchestration instance server name

    I have two server where orchestration can run...I need to know the server name where my orchestration instance has run.
    How to get this information...

    When you have more than one BizTalk-processing server and if your orchestration is bound to host instance which exist in more than one server (generally for better resilience, the best practice
    is to have multiple instances of host in different servers), the idea of get the server name where Orchestration instance has run is INVALID.
    With the BizTalk features like scalability, resilience and persistence points an Orchestration instance could run in more than one server.
    For example due to persistence points, if that BizTalk server were to suffer a power outage, another BizTalk server could continue the orchestration from the checkpoint rather than having
    to start the orchestration from the beginning. Or during or during long-running process while waiting for a response, then message being consumed by an orchestration instance would be persisting the in-memory representation of an orchestration (to its last
    good state) and any associated messages in BizTalk MessageBox. So when the response comes back the rest of the part of orchestration could execute from other server instance. So an orchestration would not always run from one server.
    But if you have specific “Expression shape” which you may have been using for logging/tracing then you can get the server name which executed that particular “Expression shape” from an Orchestration
    instance (not the whole Orchestration instance). This is done using the standard .NET code to get the server name -
    System.Environment.MachineName
    If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply.

  • Getting Process instance with key '0' does not exist.

    I am doing a request based provisioning task.When I request for a resource the approvers are able to approve the request but the user is not created.
    I am getting the below exception at the backend:-
    [XELLERATE.APIS],Class/Method: tcProvisioningOperationsBean/getProcessDetailData encounter some problems: Process instance with key '0' does not exist.
    [11/2/12 0:30:13:640 EDT] 00000097 SystemOut O ERROR,02 Nov 2012 00:30:13,639,[XELLERATE.WEBAPP],Class/Method: RequestApprovalDetailAction/requestDetail encounter some problems: Process instance with key '0' does not exist.
    Thor.API.Exceptions.tcAPIException: Process instance with key '0' does not exist.
         at com.thortech.xl.ejb.beansimpl.tcProvisioningOperationsBean.getProcessDetailData(Unknown Source)
         at com.thortech.xl.ejb.beansimpl.tcProvisioningOperationsBean.getProcessDetail(Unknown Source)
         at com.thortech.xl.ejb.beans.tcProvisioningOperationsSession.getProcessDetail(Unknown Source)
         at com.thortech.xl.ejb.interfaces.EJSRemoteStatelesstcProvisioningOperations_6b2f800a.getProcessDetail(Unknown Source)
         at com.thortech.xl.ejb.interfaces._tcProvisioningOperations_Stub.getProcessDetail(Unknown Source)
         at Thor.API.Operations.tcProvisioningOperationsClient.getProcessDetail(Unknown Source)
         at sun.reflect.GeneratedMethodAccessor309.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at Thor.API.Base.SecurityInvocationHandler$1.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         at javax.security.auth.Subject.doAs(Subject.java:337)
         at com.ibm.websphere.security.auth.WSSubject.doAs(WSSubject.java:118)
         at Thor.API.Security.LoginHandler.websphereLoginSession.runAs(Unknown Source)
         at Thor.API.Base.SecurityInvocationHandler.invoke(Unknown Source)
         at $Proxy6.getProcessDetail(Unknown Source)
         at com.thortech.xl.webclient.actions.RequestApprovalDetailAction.setStandardApprovalDetail(Unknown Source)
         at com.thortech.xl.webclient.actions.RequestApprovalDetailAction.requestDetail(Unknown Source)
         at sun.reflect.GeneratedMethodAccessor665.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:280)
         at com.thortech.xl.webclient.actions.tcLookupDispatchAction.execute(Unknown Source)
         at com.thortech.xl.webclient.actions.tcActionBase.execute(Unknown Source)
         at com.thortech.xl.webclient.actions.tcAction.execute(Unknown Source)
         at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
         at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
         at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
         at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1096)
         at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1037)
         at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:145)
         at com.thortech.xl.webclient.security.CSRFFilter.doFilter(Unknown Source)
         at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
         at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
         at com.thortech.xl.webclient.security.SecurityFilter.doFilter(Unknown Source)
         at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
         at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
         at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:87)
         at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:832)
         at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:679)
         at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:566)
         at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)
         at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:90)
         at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:748)
         at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1466)
         at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:119)
         at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:458)
         at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:387)
         at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:102)
         at com.ibm.ws.ssl.channel.impl.SSLReadServiceContext$SSLReadCompletedCallback.complete(SSLReadServiceContext.java:1818)
         at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
         at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
         at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
         at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
         at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:195)
         at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:743)
         at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:873)

    Process instance with key '0' does not exist
    Such issue typically appears when the Provisioning is initiated without "Auto Save" i.e. before ORC_KEY entry goes in the OIU table...
    Second possibility can be that the mandatory attributes in the process form are not populated..
    Third possibility can be that the Status is Waiting... And Resource is dependent on another Resource...
    Are you able to Direct Provision the account? I mean without raising Request Based provisioning?
    Please give us following details:
    (1) Resource Profile:-status of Auto Save
    (2) Approval Process:- status of Auto Save and Auto Pre-Pop
    (3) Prov Process:-status of Auto Save and Auto Pre-Pop.
    (4) Is the object form properly populated?
    (5) Is the Process form properly populated?
    (6) Any Exception occurred during Approval process?
    (6) In the OIM Database, fire the following query:-
    SELECT OIU.ORC_KEY
    FROM OIU, USR, OBI
    WHERE OIU.USR_KEY=USR.USR_KEY
    AND UPPER(USR.USR_LOGIN)=UPPER('ABCDEFGH_USER')
    AND OBI.OBI_KEY=OIU.OBI_KEY
    AND OBI.OBI_KEY IN (SELECT OBI.OBI_KEY FROM OBI,OBJ WHERE OBI.OBJ_KEY=OBJ.OBJ_KEY AND
    UPPER(OBJ.OBJ_NAME)=UPPER('AD USER'))
    This will show whether any proper ORC_KEY was generated for this resource instance..

  • How to get PROCESS MODE in CRM 2007 WebClient

    Hi all,
    Currently, we're implementing CRM2007 WebClient -- Service Transaction.
    In the past(CRM4.0 Version), we used the function 'CRM_INTLAY_GET_PROCESS_MODE' in the BADI of SAVE Service Order to identify it's a new create order or changed order.
      CALL FUNCTION 'CRM_INTLAY_GET_PROCESS_MODE'
        IMPORTING
          ev_process_mode = l_dialog_mode. " A created, B changed
    Now, this function does not work in Web Client. So, I turned to another function 'CRM_ORDERADM_H_READ_OW' try to get the flag of process mode.
    CALL FUNCTION 'CRM_ORDERADM_H_READ_OW'
      EXPORTING
        iv_orderadm_h_guid               = lv_guid_ref
    IMPORTING
       ES_ORDERADM_H_WRK                = l_CRMT_ORDERADM_H_WRK
       EV_MODE                          = l_dialog_mode
    Yes, function 'CRM_ORDERADM_H_READ_OW' works in WebClient. But when creating new service order, the l_dialog_mode  = 'B' which is same to changing an exsiting order.
    So would anyone kindly help me, How to get the process mode properly in WebClient, especially in Service Order. I need to identify the order is new created or is changed.
    Your comments is really appreciated.
    Best Regards,
    Tony

    Use function module CRM_ORDERADM_H_ON_DATABASE_OW to check, if the order has already been save on the database. If not, you are in create mode.

  • How to get DB Instance name

    Hi ,
    I have build a solutuon to send email invoce using BIP.
    I want to prefix the DB instance name in email Subject on development/test instances.
    Please suggest me how to get the DB name in BI publisher bursting control file.
    <xapi:message id="1" to="${TO_EMAIL_ID}" attachment="true" content-type="html/text" subject="$
    for exmaple: I have email with
    subject: 74444555 - Invoice(20071429) notification
    on my development box icprj01 I need email subject like
    subject: ICPRJ01 74444555 - Invoice(20071429) notification
    Thanks
    Kumar

    Can't do it in bursting. You will need to pull the db name for sql in a data template or reports6i. Sorry :-(

  • How to get latest instance using BO Enerprise SDK?

    Post Author: sureshpolishetty
    CA Forum: .NET
    How to get the lastest instance of a report stored in crystal enterprise server (XIR2) using BO Enterprise sdk and .NET?.
    Can anybody help me with the query(using CI_INFOOBJECTS table)?
    Thanks

    Post Author: Argan
    CA Forum: .NET
    Select SI_LAST_SUCCESSFUL_INSTANCE_ID from ci_infoobjects where si_name = 'Charting'
    Jason

  • How to get the instance name from the SWFLoader?

    Hi Guys,
    I am new to Flex. i need help from u.
    i load the swf file through the SWFLoader in Flex 3.
    Than how to get the instace(button,text,etc.,) of the loaded
    swf.
    Please help me.

    Yes. hashcode is not absolutely unique. I know this.
    I had took this idea into my consideration. But it failed finally.
    Thanks
    To JN_.
    Maybe I still have some misunderstood descripte my question.
    neither the name not an "instance name" nor an "object name".
    So now, I really do not know how to call this.
    Can you tell me? Then I will not make the same fault next time.
    thanks.

  • How to Migrate Process Instance in Process Workspace with ps4fp

    Hi everyone,
    I am using BPM 11gR5 with ps4fp, I want to Migrate Process Instance in Process Workspace, then deployed two version for a BPM project. but can not find the "Migrate" menu in "Process Tracking tab->Action" in process workspace.
    Is it correct for the step I did or Does anyone know where the "Migrate" local.
    Thanks.
    Regards,
    shifeng

    The process information is stored but in an MDS database. You should not access that information or change it as it might render the system unstable. If you want to access previous instances you should set up a separate relational database and store the information there within your process. It sounds sucky tbh. I was appalled when i found out but when you think about it, bpm is supposed to sit on top of something, so its something you will have to live with. You still need a performing back end system- bpm is not the solutions to all problems.
    Again, not an expert here so please correct me if im wrong.
    Yanis

  • Getting process instance id from within java control

    Hi,
    here's a brief description of what i need to do. I have a group of processes which i start using one common interface (jpd control). the problem is, that when new process is created it needs to be added to a db table. So to have this done automatically i created a java control with a variable of jpd control. information that needs to be put in db is the process instance id.
    does anyone have any idea why after calling clientRequest (without return) method getConversationID() of the process control gives null as a result? i'm sure that the process was successfully started and completed.
    i don't know if this can have an influence on this, but this happens only if process is started from another process which was started in the same way from yet another process. to make it more clear...
    baseProcess -> (startSubprocess -> startsubSubprocess)
    both subprocesses are started in the same way from java control, but in the subprocess of the subprocess one getConversationID() returns null.

    i found the solution, which is that process controls should be generated from statefull process. when the process was stateless calling getConversationID() method from process control returned null.

  • How to get the Instance Name of Creator

    Hi all.
    I have an idea but I don't how to implement it. I have tried about two days.
    the simplified concept that what I wnat is as follows
    class classA {
    classB objB = new classB();
    class classB {
    puclic void showObjName(){
    //How can I the Instance Name of Creator here?
    //In this Example. The name is objA.
    public class showCreator {
    public static void main(String[] args) {
    classA objA = new classA();
    I try to instanciate an Throwable Object and use the getStackTrace method.
    but all information in the stack I got Do Not contain the Instances Name.
    Does any one have idea to implements this...
    Thanks.

    Yes. hashcode is not absolutely unique. I know this.
    I had took this idea into my consideration. But it failed finally.
    Thanks
    To JN_.
    Maybe I still have some misunderstood descripte my question.
    neither the name not an "instance name" nor an "object name".
    So now, I really do not know how to call this.
    Can you tell me? Then I will not make the same fault next time.
    thanks.

Maybe you are looking for