PAPI WS: Calling a Global Activity with instance Access

Hi,
I have a global activity, which has instance access, and want to call it via PAPI WS. How is this possible? Usually you would use activityExecuteApplication call, but this does not seem to work for activities having instance access.
Regards
Matthias

The inputs are quite simple, the ProcessID, which is '/SampleProcess' for me and the activity name, which is 'GetData'.
But, of course, this could not work for a Global Activity having instance access. Because in this case an instance id has to be passed in some way, but I don't know, how?
Regards
Matthias

Similar Messages

  • 11g BPM Global Activity with instance access equivalent ??

    Hi,
    I want to be able to update an instance variable from a workspace view much as I could with a 10g Global Activity with Instance access.
    As always I guess there are a number of solutions (even if they dont match the scenario exactly) but which is the best approach ?
    Any help much appreciated.
    cheers
    Tony

    Same problem ...
    I tested with JSP.parameters["arg_myArg"] ... no result

  • Passing arguments to a Global Activity with Instance Access

    I'm passing arguments to a Global Activity which has Instance access and then I need to assign agrument values to Instance variables. But, somehow arguments not being passed when I enable "Has Instance Access". If I turn instance access off then arguments pass but unfortunately I cannot assign due to instance not being available. Fyi, I'm using WAPI and argument names in HTML form are prefixed with "arg_" as per WAPI documentation.
    I would appreciate any help in resolving the issue.
    Thanks in advance.
    MK

    Same problem ...
    I tested with JSP.parameters["arg_myArg"] ... no result

  • Automatic Global Activity: Obtain instance vars from "BusinessProcess"

    Hi,
    I need obtain instance vars from BusinessProcess, but i can't find the method for this operation.
    Can some one give me answers about this problem?
    Thank you...

    You have to use the PAPI api inside the designer.
    You have to do something like this:
    Instance myInstance = BusinessProcess.getInstance(Strign instanceId)
    Object instanceVarValue = myInstance.getVar("myInstanceVarName");
    Hope this helps.
    -Pal

  • PAPI - Run Global Activity

    Hi people,
    I have one simple process in my BPM application with a "global creation" activity and im trying to call this activity with papi, but without success.
    When i call this activty, i have this error:
    EJB Exception: ; nested exception is:
    com.bea.control.ServiceControlException: soapenv:Server.userExceptionjava.lang.RuntimeException: Activity '/Principal#Default-1.0/gc' task 'null' could not execute successfully.renault.ideais.local
    caused by: : com.bea.control.ServiceControlException: soapenv:Server.userExceptionjava.lang.RuntimeException: Activity '/Principal#Default-1.0/gc' task 'null' could not execute successfully.renault.ideais.local
    java.rmi.RemoteException: EJB Exception: ; nested exception is:
    com.bea.control.ServiceControlException: soapenv:Server.userExceptionjava.lang.RuntimeException: Activity '/Principal#Default-1.0/gc' task 'null' could not execute successfully.renault.ideais.local
    at weblogic.ejb20.internal.EJBRuntimeUtils.throwRemoteException(EJBRuntimeUtils.java:102)
    at weblogic.ejb20.internal.BaseEJBHome.handleSystemException(BaseEJBHome.java:307)
    at weblogic.ejb20.internal.BaseEJBObject.postInvoke(BaseEJBObject.java:284)
    at weblogic.ejb20.internal.StatelessEJBObject.postInvoke(StatelessEJBObject.java:168)
    at com.bea.wlw.runtime.core.bean.SyncDispatcher_k1mrl8_EOImpl.invoke(SyncDispatcher_k1mrl8_EOImpl.java:56)
    at com.bea.wlw.runtime.core.dispatcher.Dispatcher.remoteDispatch(Dispatcher.java:161)
    at com.bea.wlw.runtime.core.dispatcher.ServiceHandleImpl.invoke(ServiceHandleImpl.java:436)
    at com.bea.wlw.runtime.core.dispatcher.WlwProxyImpl._invoke(WlwProxyImpl.java:326)
    at com.bea.wlw.runtime.core.dispatcher.WlwProxyImpl.invoke(WlwProxyImpl.java:315)
    at $Proxy17.runGlobalActivity(Unknown Source)My code is very simple:
    //user
    org.xmlsoap.schemas.soap.encoding.String user = org.xmlsoap.schemas.soap.encoding.String.Factory.newInstance();
    user.set("eu2");
    //pass
    org.xmlsoap.schemas.soap.encoding.String pass = org.xmlsoap.schemas.soap.encoding.String.Factory.newInstance();
    pass.set("eu2");
    //session
    org.xmlsoap.schemas.soap.encoding.String session = wsLocalControl.createSession(user, pass, true);
    // activity
    org.xmlsoap.schemas.soap.encoding.String activity = org.xmlsoap.schemas.soap.encoding.String.Factory.newInstance();
    activity.set("/Principal#Default-1.0/gc");    
    // parameters      
    br.com.ideais.ws.ProcessServiceLocalControl.KeyValuePair[] argsGlobal = new KeyValuePair[1];
    argsGlobal[0] = new KeyValuePair();
    org.xmlsoap.schemas.soap.encoding.String key   = org.xmlsoap.schemas.soap.encoding.String.Factory.newInstance();
    key.set("BeginIn");
    org.xmlsoap.schemas.soap.encoding.String value = org.xmlsoap.schemas.soap.encoding.String.Factory.newInstance();
    value.set("");
    argsGlobal[0].key   = key;
    argsGlobal[0].value = value;
    // call the global method      
    br.com.ideais.ws.ProcessServiceLocalControl.GlobalExecutionResult result =  wsLocalControl.runGlobalActivity(session, activity, argsGlobal);Anyone knows the problem?

    It is just a simple code to run a global activity. The global activity is creating instances.
    The issue is: The instances get created by running the global activity from PAPI, but this exception is thrown.
    I am using Oracle 10G and weblogic 9.2
    I have defined 2 JMS connector.
    Also i have defined 2 JDBC Data source and I have not used Transaction for one of the database source.
    Also I am using the thin driver and not the XA driver.
    All this has been configured by following the document:
    http://edocs.bea.com/albsi/docs57/adminguide/index.html
    Regards
    Right Chord

  • Global Activity to use while using PAPI

    Hi,
    I want to create an instance by adding PAPI code to a web-service or by exposing my process as a web-service. Which Global Activity do we use while creating an instance using PAPI ? Is it Global Automatic or Global Creation?

    Hi,
    You can create a new work item instance in a process using (1) PAPI (the Java API) or (2) PAPI-WS (the web service API) or (3) the process specific web service running on the Engine's port 9000. When you do this, the work item instance goes directly into the Begin activity of the process. Once there the work item instance is created and is automatically routed to the first activity in the process.
    There are many reasons for using Global Interactive and Global Automatic activities in a process but you do not need to use a Global Interactive or Global Automatic activity when creating instances using any of these 3 APIs.
    Once an instance is created using any of these 3 APIs, the work item instance immediately and automatically flows to the next activity in the process downstream of the Begin activity.
    Dan

  • How to create a new instance of a global activity

    Hi,
    I have one global activity and three interactive tasks. I need a mechanism, which allows me to invoke the global activity from the interactive tasks.
    The global activity should have some information of the task that invoked it and initiate another process.
    Thanks for your help

    Hi Eve,
    Thanks.
    First, it looks like you might be trying to create an instance in a process that is not in your current project. Is it possible that this is the case? Although you can have more than one project open at one time in Studio, you should not do this. Even if you have more than one project open, Studio's runtime components (the Engine, the Workspace, Tomcat and the Derby database) are only working against one project at a time. On Enterprise, this will not be an issue but on Studio you cannot do this.
    Second, if the process that you're trying to create instances on is inside the same project, could you double check the id of the process you are trying to create instances in again? In the Project Navigator tab, right mouse click the process's name -> click "Properties" and look at the read only italisized text beside the "Id" label. It's going to be a String that has no space characters. Is this the String you are using in the method you are using to create instances? Here's an example. If your process's name is "My Process" then its id that you will use to create instances with it might be "MyProcess".
    idOfProcess = "MyProcess"
    ProcessInstance.create(processId : "/" + idOfProcess, arguments : argsIn, argumentsSetName : "BeginIn")Note I used the work "might". You can decide to change the name of your process at any time, but the id is always going to stay the same. So if you change your process to be "My Fantastic Process", its id is still going to be "MyProcess".
    Third, have you defined an Organizational Unit (OU) for your processes (just asking - I am not at all encouraging you to do this)? If you've deployed this using an organization unit (OU) then you'd need to prefix this to the string also. To see if you've defined an OU for your processes right mouse click the project in the Project Navigator tab -> click "Engine Preferences" -> on the left side click "Deployment" -> in the "Organizational Unit" column do you see any entries? Doubt that you do, but if you have an OUs then I'd encourage you to take them out until you get this working.
    Fourth, put logMessage statements before and after your logic where you are creating the instance in the other process just to make sure this where your error is occuring. One of your logMessage statements might look something like this:
    logMessage "Before creating instance in process " + idOfProcess using severity = DEBUGFifth, if none of these ideas have been helpful - please post your logic on this thread. Put the text "{code}" before and after your logic so it reads a little better.
    Thanks,
    Dan

  • 11gR2 error: call a bounded task flow with method call as default activity

    hi all,
    We migrated several applications to the JDev 11g R2.
    There are 2 applications that contain a bounded task flow where we define Method Call as default activity.
    We need invoke specific actions before opening the page.
    They run well with 11gR1.
    But with *11G R2*, I can’t call directly this task flow with the following URL:
    http://127.0.0.1:7101/MyAPP/faces/adf.task-flow?adf.tfId=my-flow-def&adf.tfDoc=/WEB-INF/flows/my-flow-def.xml
    Message:
    *<SecurityUtils><invokeURLAllowed> ADFc : impossible to call directly the task flow '/WEB-INF/flows/ my-flow-def.xml #my-flow-def' with the help of URL*
    (original message: <SecurityUtils><invokeURLAllowed> ADFc : impossible d'appeler directement le flux de tâches '/WEB-INF/flows/ my-flow-def.xml #my-flow-def' à l'aide de l'URL.)
    Any idea?
    Thanks for you help

    Hi,
    Have a look at the task flow properties, in PatchSet1, a new feature "invokeURLAllowed" is added that prevents bounded task flows from being URL accessible for security reasons. You can swithc this feature on and off
    Frank
    Ps.: I though that bounded task flows that you call from a URL generally needed to have a viewActivity as the default activity

  • Grab activity with PAPI-WS 5.7

    I have a process with 3 roles, and i have an interactive activity (external) in role 2 with the possibilty of making a grab (external) this activity in the role 3.
    How to grab this activity with papi-ws? If i trying run the grab activity the exception informs that is here in another activity (interactive) and if I want grabbed this activity I need take it by workspace.
    I know with papi (not papi-ws) is it possible. With papi-ws is possible "grabbed" activity?
    My version is 5.7
    Edited by marcuscavalcanti at 12/27/2007 5:51 AM

    Yes it's possible with PAPI-WS.
    1.) you just use activityCommit method in PAPI-WS, and i would suggest that you implement who gets which activity in ALBPM studio for each activity since this is process related information, and it will be easier.
    2.) you have instanceGetEvents method to get AuditTrail. But i found out that there is some mistake in WSDL of PAPI-WS since you cannot get any java.lang.Time objects....there are properties for getInstanceStamp for example but it returns PAPI-WS Time object which has no information about datetime.
    3.) never used that, so i don't know

  • WebUtil doesn't work when called from WHEN-NEW-FORM-INSTANCE trigger

    I need WEBUTIL_CLIENTINFO functions to know some information from the client, like IP, JavaVersion, Hostname, OS user, etc. This functions I call through WHEN-NEW-FORM-INSTANCE TRIGGER and this doesn't nor work. I obtain the next message and error:
    oracle/forms/webutil/clientinfo/GetClientInfo.class not found. WEBUTIL_CLIENTINFO.GET_IP_ADDRESS.
    But when I call this WebUtil functions through WHEN-WINDOW-ACTIVATED trigger or through a button it works. Why?. I need call WebUtils in the WHEN-NEW-FORM-INSTANCE trigger!
    Any help will be of great value.

    Basically make a timer...
    Do you have the wu_test_106.fmb file that comes with the webutil install?
    If you look in the wnfi trigger you will see this...
    declare
         fake_timer TIMER;
    begin
         -- Purpose of the fake timer is the we cannot call webutil in this trigger since the
         -- beans have not yet been instantiated.  If we put the code in a when-timer-expired-trigger
         -- it means that this timer will not start running until Forms has focus (and so the webutil
         -- beans will be instantiated and so call canbe made.
         fake_timer:= CREATE_TIMER('webutil',100,NO_REPEAT);
         --create_blob_table;
         null;
    end;And in the form level when-timer-expired you will see this...
         :global.user_home := webutil_clientinfo.get_system_property('user.home');
         :OLE.FILENAME := :global.user_home||'\temp.doc';
         SET_ITEM_PROPERTY('builtins.text_io_item',PROMPT_TEXT,'Write to '||:global.user_home||'\helloworld.txt');
         SET_ITEM_PROPERTY('files.userdothome',PROMPT_TEXT,:global.user_home);

  • Global Creation with Input args

    I create a Global Creation activity with a screenflow task. The screenflow has both a integer input argument (call it sfIntArg) and a output argument (of BPM object).
    When I right-click on the Global creation activity and go to argument mapping, I have trouble mapping the screenflow input argument. I am not sure what to specify in the "Value" field to map to sfIntArg.
    1. when I specify nothing to map to sfIntArg (sfIntArg = empty/null), then I get the message "express is expected".
    2. when I do not specify the argument mapping, I get "All arguments must be satisfied"
    3. when I choose a instance variable of the process, I get "xxx is not a static member of project.process.instance"
    I want to invoke the Global Creation with WAPI and pass the value for sfIntArg to the Global Creation.

    Hi,
    It's odd that you see no errors in your project.
    1. Make sure that you just have one project open in your Project Navigator tab.
    2. In the Project Navigator tab, double click the name of the process. Look at the "Outline" tab directly below the Project Navigator tab (click Window -> Reset Perspective if you don't see the Outline tab). Expand Methods and double click each of the methods to find the offending logic with the "var1" syntax that is causing your problem. Do this for each of your processes.
    Dan

  • [JS, CS4] TextFrame.extractLabel() cannot work with instances of this class

    I have script, which has been working fine in CS3. In CS4 ( app.version = 6.0.1.532 ) however, I get an error using extractLabel, after reading out a couple of other properties from a textframe:
    frameObject.extractLabel('name')
    Error: TextFrame.extractLabel() cannot work with instances of this class
    Up until reading one of the "normal" properties, such as (frameObject.)contents I can call the frameObject.extractLabel('name') without errors, but after "looking at" (by assigning to a variable in code, or by getting the value in the javascript console), the contents propery (or as it seems any normal property) the extractLabel method results in the error above.
    It seems to work to move all of the frameObject.extractLabel calls to the beginning of the function, but I don't think I should need to do that.
    It might very well be the case that the label read by extractLabel has no contents, and has never been assigned. Is there a change in behaviour from CS3 in that sentence? If so, and if thats the reason for the error, is there then a way to determine whether the label has ever been assigned?
    Is this error familiar to anyone else?
    Best regards,
    Andreas

    Hi Andreas,
    Interesting problem!
    Your problems are caused by some peculiarities of itemByID. itemByID doesn't cast the object type properly. Dirk wrote about some aspects of this some time ago. If the scripting engine was strongly typed, this issue would probably be impossible but that would make scripting a lot more of an elitist activity!
    Your problem is that the object type is PageItem and you are accessing a TextFrame property (content). This seems to throw the object type for a loop.
    Using getElements() causes the scripting engine to rebuild the reference to the object correctly.
    Take a look at this code, which illustrates the issue quite well...
    var myDocument = app.documents.add();
    myDocument = app.activeDocument;
    myDocument.viewPreferences.horizontalMeasurementUnits = MeasurementUnits.points;
    myDocument.viewPreferences.verticalMeasurementUnits = MeasurementUnits.points;
    var myTextFrame = myDocument.pages.item(0).textFrames.add({geometricBounds:[72, 72, 144, 288], contents:"test"});
    var myId = myTextFrame.id;
    var pgItm = myDocument.pageItems.itemByID(myId);
    alert(pgItm instanceof PageItem);
    alert(pgItm instanceof TextFrame);
    var thisBounds = pgItm.geometricBounds;
    var x = pgItm.extractLabel('mandatory');
    var pgItm = myDocument.textFrames.itemByID(myId);
    alert(pgItm instanceof PageItem);
    alert(pgItm instanceof TextFrame);
    var thisName = pgItm.extractLabel('name');
    var thisContents = pgItm.contents;
    var x = pgItm.extractLabel('mandatory');
    Harbs

  • CM "Global Active Subscriber" report

    I am performing some tests on VoIP traffic reports with SCE2020 rel 3.7.0 (PP25).
    I don't understand the values I found in the "Global active subscriber per service" report.
    The following reports are related to a single SIP call (I used ekiga) that lasted about 11 minutes (the RDR collection interval is 1 minute). You can see the traffic classified as SIP in the global BW per service report (I removed the records related to the other services).
    I expected the value 1 as "SIP active subscribers" in all the records from the start to the end of the call, but the value 1 appear only once.
    Could you explain such a behavior ?
    Thanks,
    Marco
    "Global bandwidth per service"
    "Mon, 14 Nov 2011 11:08:00","0","SIP"
    "Mon, 14 Nov 2011 11:09:00","77","SIP"
    "Mon, 14 Nov 2011 11:10:00","160","SIP"
    "Mon, 14 Nov 2011 11:11:00","159","SIP"
    "Mon, 14 Nov 2011 11:12:00","164","SIP"
    "Mon, 14 Nov 2011 11:13:00","159","SIP"
    "Mon, 14 Nov 2011 11:14:00","161","SIP"
    "Mon, 14 Nov 2011 11:15:00","160","SIP"
    "Mon, 14 Nov 2011 11:16:00","161","SIP"
    "Mon, 14 Nov 2011 11:17:00","159","SIP"
    "Mon, 14 Nov 2011 11:18:00","161","SIP"
    "Mon, 14 Nov 2011 11:19:00","159","SIP"
    "Mon, 14 Nov 2011 11:20:00","134","SIP"
    "Mon, 14 Nov 2011 11:21:00","0","SIP"
    "Global active subscriber per service" report (selected service = SIP)
    "type","timestamp","Subscribers"
    "SIP","Mon, 14 Nov 2011 11:07:00","0"
    "SIP","Mon, 14 Nov 2011 11:08:00","0"
    "SIP","Mon, 14 Nov 2011 11:09:00","1"
    "SIP","Mon, 14 Nov 2011 11:10:00","0"
    "SIP","Mon, 14 Nov 2011 11:11:00","0"
    "SIP","Mon, 14 Nov 2011 11:12:00","0"
    "SIP","Mon, 14 Nov 2011 11:13:00","0"
    "SIP","Mon, 14 Nov 2011 11:14:00","0"
    "SIP","Mon, 14 Nov 2011 11:15:00","0"
    "SIP","Mon, 14 Nov 2011 11:16:00","0"
    "SIP","Mon, 14 Nov 2011 11:17:00","0"
    "SIP","Mon, 14 Nov 2011 11:18:00","0"
    "SIP","Mon, 14 Nov 2011 11:19:00","0"
    "SIP","Mon, 14 Nov 2011 11:20:00","0"
    "SIP","Mon, 14 Nov 2011 11:21:00","0"
    "Global concurrent session per service"
    "timeslot","Con_sessions","SERVICE"
    "Mon, 14 Nov 2011 11:07:00","0","SIP"
    "Mon, 14 Nov 2011 11:08:00","0","SIP"
    "Mon, 14 Nov 2011 11:09:00","0","SIP"
    "Mon, 14 Nov 2011 11:10:00","1","SIP"
    "Mon, 14 Nov 2011 11:11:00","1","SIP"
    "Mon, 14 Nov 2011 11:13:00","1","SIP"
    "Mon, 14 Nov 2011 11:14:00","1","SIP"
    "Mon, 14 Nov 2011 11:15:00","1","SIP"
    "Mon, 14 Nov 2011 11:16:00","1","SIP"
    "Mon, 14 Nov 2011 11:17:00","1","SIP"
    "Mon, 14 Nov 2011 11:18:00","1","SIP"
    "Mon, 14 Nov 2011 11:19:00","1","SIP"
    "Mon, 14 Nov 2011 11:20:00","0","SIP"
    "Mon, 14 Nov 2011 11:21:00","0","SIP"

    You cannot define a customer report in Campus Manager, but you could export the VLAN report to CSV, then post-process that to build the desired report you want.  That report will contain the device, VTP domain, and a list of VLANs for a given device.  For example:
    Device IP:10.29.6.50 Device Name:nms-3550-a Domain:nms-core Device Type:C3550-24
    VLAN ID,VLAN Name,Status,VLAN Type,Associated Primary VLAN,MTU Size,Media Type
    1,default,Operational,Normal,N/A,1500,ethernet
    2,vlan2,Operational,Normal,N/A,1500,ethernet
    3,voice,Operational,Normal,N/A,1500,ethernet
    4,access,Operational,Normal,N/A,1500,ethernet
    6,vlan6,Operational,Normal,N/A,1500,ethernet
    7,vlan7,Operational,Normal,N/A,1500,ethernet

  • How to retrieve #  on-line procs in a non-global zone with resource pool

    Is there any way to retrieve the #of on line processors of the machine running in a non global zone with resource pool ?
    sysconf does not return this value. In fact this is an excerpt of the man:
    "If the caller is in a non-global zone and the pools facility is active, sysconf(_SC_NPROCESSORS_CONF) and sysconf_SC_NPROCESSORS_ONLN) return the number of processors in the processor set of the pool to which the zone is bound."

    So, from within a local zone that's in a pool (i.e. in a pool with 8 CPUs) , you want to query how many CPUs really exist in the global zone (i.e. the global zone may actually have 16 CPUs)? I don't think that's possible: in fact for security reasons it's probably intentionally disabled.
    A quick workaround would be a script/cron-job in the global zone that writes a small file in the filesystem of the local zone... then from within that zone you could read the CPU count.
    I'm interested though: what are you trying to set up?
    Regards,
    [email protected]

  • How to call a dialog program with return value in another dialog program

    Dear All,
    How can I call a dialog program with return value from another dialog program?
    Regards,
    Alok.

    Hi Alok,
    You can you SET/GET parameters to do this.
    This is some information about this.
    To fill the input fields of a called transaction with data from the calling program, you can use the SPA/GPA technique. SPA/GPA parameters are values that the system stores in the global, user-specific SAP memory. SAP memory allows you to pass values between programs. A user can access the values stored in the SAP memory during one terminal session for all parallel sessions. Each SPA/GPA parameter is identified by a 20-character code. You can maintain them in the Repository Browser in the ABAP Workbench. The values in SPA/GPA parameters are user-specific.
    ABAP programs can access the parameters using the SET PARAMETER and GET PARAMETERstatements.
    To fill one, use:
    SET PARAMETER ID pid FIELD f.
    This statement saves the contents of field f under the ID pid in the SAP memory. The ID pid can be up to 20 characters long. If there was already a value stored under pid, this statement overwrites it. If you double-click pid in the ABAP Editor, parameters that do not exist can be created as a Repository object.
    To read an SPA/GPA parameter, use:
    GET PARAMETER ID pid FIELD f.
    This statement places the value stored under the pid ID into the variable f. If the system does not find any value for pid in the SAP memory, sy-subrc is set to 4. Otherwise, it sets the value to 0.
    Thanks,
    SriRatna

Maybe you are looking for

  • How to change order of custom metadata fields in the properties tab

    Hello all i have added some custom properties in a folder on the km content but i can not arrange the properties in any logical order. your help please Thanks Ronen

  • Selected Text and Page Navigation

    Okay. Have a document that has several artboards in it. (kinda like a multipage document). Each page is similar, but some of the text boxes has variations from page to page. So if I am zoomed in on page 1 to one text box and I select some text, using

  • Badi hitting twice...SCMG_BEFORE_VALID_C for Dispute Management ECC 6.0

    Hi, I have implemented the BADI SCMG_BEFORE_VALID_C for the transaction UDM_DISPUTE. I pop up some messages when a case is changed....But the problem is the pop up message comes twice. So the BADI is being called twice... Does any one know how to res

  • Now you see me... now you still see me....

    After my Porsche-designed external hard drive failed with my iTunes library on it, I took advice on how to restore my iTunes library from my iPod. This involved using 2 bits downloaded software... TinkerTool & XRay... job done... BUT I now have some

  • Artistic Filters in CS3

    Hi guys, i have photoshop cs3 installed on several machines on a network. It all seems to work fine except the artistic filters. i can select a filter and preview it ok but when i apply them nothing happens, the filters will not apply. Help me please