Assign the next human task to the specific participant??

If my process has two swam, the first swan has a Script Task, and the second swan has a human task. If I want the script task to update the participant for the next human task who will belong to the role, how can I do it? Can I do it on the over the xpath? Because each human task should belong to one of the specific people in the role to handle, I don't want to show it to all people who belong to same role in the workspace.

In BPM 11g you can use xpath expression to assign users, groups, or roles. See this section in the docs:
http://download.oracle.com/docs/cd/E21764_01/integration.1111/e10224/bp_hwfmodel.htm#BABGCCJA

Similar Messages

  • Assigning an interactive activity  by excluding a specific participant

    Hi,
    I'm trying to implement an approval process using ALBPM 6.0, and have a problem couldn't solve effectively.
    There is an interactive activity (let's call it actA) assigned to roleA, a second activity(actB) assigned to roleB. actB executed after actA and an unconditional transition placed between them. Both roleA and RoleB have some common participants. The problem is, both activities shouldn't be assigned to the same participant. How can I guarantee that a participant who has assigned to roleA and roleB does not see actB in his inbox if he executed actA?
    Do you have any suggestions or a solution?
    Thanks.

    Here's the logic that does a "round robin" assignment, but excludes a specific participant.
    role as Role = Role.find(name : "Employee")
    parts as Participant[] = role.participants
    indexStored as String = retrievePropertyFor(Fuego.Server,
                                        application : "RoundRobin",
                                        name : "LastParticipantIndex")
    lastIndex as Int
    finished as Bool = false
    excludedParticipant as String = creation.participant.name
    if indexStored = null or indexStored.empty then
        lastIndex = -1
        // we will start from zero
    else
        lastIndex = Int(indexStored)
    end
    while not finished do
        lastIndex = lastIndex + 1
        if lastIndex >= length(parts) then
            lastIndex = 0
        end
        if parts[lastIndex].name != excludedParticipant then
            finished = true
            participant.next = parts[lastIndex]
            logMessage "This instance is assigned to " + participant.name +
                ", lastIndex = " + lastIndex + ", indexStored = " + indexStored
        end
    end
    storePropertyFor Fuego.Server
        using application = "RoundRobin",
              name = "LastParticipantIndex",
              value = String(lastIndex)Hope this helps,
    Dan

  • Problem in creation of FSV regarding where to assign the specific GL acct

    Dear All,
    Currently i am working on creation of Financial Statement Version, and have some doubt regarding some of GL account as to where it will get assigned.
    1.Consumption of RM or SFG
    2. Cost of Production of FG
    3. Cost of Good Sold.
    Kindly also tell the relation between the above GL and how it will effect the Balance sheet. and why this is used for.
    Example is below
    1. At the time of issue of RM material to Production order
    Consumption of RM  100
      To Inventay of RM          100
    2.*At the time of Confirmation of FG *
    Inventory of FG                           120               
      To Cost of Production of FG              120
    3. At the time of PGI
    Cost of Good Sold     120
      To Inv of FG                      120
    Thanks in advance
    Regards
    Shayam
    Edited by: Shayam_210 on Aug 9, 2010 9:33 AM

    hi,
    These are all P&L GL accounts and need to be allocated under profit and loss accounts node.
    Under that profit and loss node, there may be diff sub items also.
    Sub item has to be decide d by you depending upon the FSV structure in your org.
    Regards,
    Srinu

  • How to dynamically assign assignee for human task?

    I tried to use xpath expression in task editor. Expression editor suggested me to use task schema and I could not use variables from process.
    I had selected systemMessageAttributes.textAttribute1 and created “Assign” activity to initiate the attribute. This does not work. When task is started assignee is empty and task is automatically completed.
    Does anybody used this feature?

    Hi,
    You can run the soa server in debug mode by adding remote debugging parameters in startWeblogic.sh of soa server and remote debug it to check problems.
    e.g.
    +#For Debug Port+
    +if [ "${SERVER_NAME}" = "soa_server1" ] ; then+
    +JAVA_OPTIONS="${JAVA_OPTIONS} -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=9023,server=y,suspend=n"+
    +export JAVA_OPTIONS+
    +fi+

  • Human Task: how to get the participant name in the task form?

    HI All,
    I am using SOA Suite 11.1.1.6 in the current project. For a human task, there are multiple participating groups. For each participant, the payload is different. Currently, we are calling Human Task multiple times to pass the payload. However, I like to take advantage of new features in 11g Human task. I like to setup multiple groups as parallel. Then, jsf page can selective display corresponding parts of the payload for different partidipants. The problem is how JSF can get the name of the participant when page is invoked?
    Thanks in advance,
    Steven

    Hi,
    Variants are stored in table VARI and VARID.
    You can use RS_ALL_VARIANTS_4_1_REPORT to get all the variants for a report program.
    please check out the link below it will be helpful to you
    Re: Programs for a transaction variant
    Hope this helps.
    ashish

  • How to open and navigate between human task forms in a same page?

    Hi
    I use Oracle BPM 11.1.1.5
    I have a question about taskflows in BPM Application.
    In ADF web application, I create a sipmle task flow and insert view id and bind these to jspx pages, my pages are opend in same page when
    return an outcome.
    For exapmle I have three pages like A,B,C.
    In task flow, insert three view ids and bind to A,B,C.
    My first pages is A, and when outcome is B navigate to B, when my outcome is C then navigate to C in a same page not separate pages.
    But my problem is here.. in BPM Application when create task forms, every task has a separate task flow that there exist a single view id and a wild card flow in it.
    In BPM workspace when initiate human task form is closed, I should press refresh button to see next human task form in task list table.
    I tried to create a simple task flow and insert human task forms in it and navigate between these.. but show human task form in wrong display and don`t show some component and human task payload.
    Now, my question : How to open and navigate between human task forms in a same page like software installation?

    Having a separate Data Control for each human task is normally the case. There is a way to assign multiple human tasks to a single data control (and one task flow), but I don't think that this is going to help you with what I think you're trying to do.
    If your human task is called "EmployeeDetail", then you'd use the data control associated with this for the UI pages in the task flow diagram that is associated with this human task. For example, you might have a first page that has just the basic employee information - the fields (at least the ID field) would come from the EmployeeDetail data control. When the end user clicks "Next", you might have this UI page flow to a second UI page in the task flow diagram that has the employee's address information. You might place the address fields from the EmployeeDetail data control onto this second UI page.
    You might be asking how the work item instance can automatically flow to the next interactive activity in the process while staying inside the first interactive activity's human task's task flow diagram. This is not how it works - the task flow diagram models the end user interaction while inside a single human task that is tied to a specific interactive activity in the process. If you want a the end user to be able to move the instance through multiple interactive activities in the process in one interaction, look at "Activity Guides". Activity Guides do a nice job of this.
    Dan

  • Human Task - content access policies + ITaskMetadataService

    In SOA Suite 11gR1 you can specify fine grained access controls on the content of a human task (payload data specifically).
    How does one go about accessing these privileges within the human task form (.jspx) in order to conditionally disable/hide form fields in the payload based on the declared access rules?
    The documentation mentions getTaskVisibilityRules method of ITaskMetadataService, but no sample code is given. I'm trying to create a JSF managed bean I can expose to EL expressions on the .jspx and make use of this data, but it's failing with exceptions.
    My code looks like this (excuse the formatting):
    IWorkflowServiceClient wfSvcClient = WorkflowService.getWorkflowServiceClient();
    ITaskQueryService queryService = wfSvcClient.getTaskQueryService();
    ITaskMetadataService metaService = wfSvcClient.getTaskMetadataService();
    IWorkflowContext wfContext; = queryService.getWorkflowContext(contextStr);
    //Next line throws java.io.NotSerializableException for oracle.bpel.services.workflow.metadata.impl.Privilege
    Map<String,IPrivilege> privs = metaService.getTaskVisibilityRules(wfContext, taskID);

    Anyone?
    This is what I'm referring to in the documentation:
    http://download.oracle.com/docs/cd/E12839_01/integration.1111/e10224/bp_hwfmodel.htm#BABCIIGF
    The section is "25.3.10.8.1 Introduction to Access Rules"

  • Start following process human task direct from exising one

    Hi all,
    Is it possible to start the following human task inside an integrated BPM process directly from the former (now in usage) task??
    For understanding the scenario: I want the user to edit some global ERP data and after ending this, the global data should be posted to ERP with a direct RFC call, which can be the next step in BPM process (but I also can call it from UI). The first task has to be closed, because of data flow controlling parameters. The next human task, to edit local ERP data should be started immediately. I don't want the user to go to UWL again.
    I thought about starting the BPM process with the BPM API, so that I can save process instance ID in context. Is it possible to get the task ID of the actual task of the process? And is the next task callable directly in the same window or another window or tab?
    Any suggestions?
    Thanks
    Alex

    Hi Alexander,
    yes, this could be possible with the public API in EHP1 of NW 7.3 (currently in rampup).
    There you have the process instance ID available in the process context, so you can map it to the task.
    Then, use the public API to retrieve the task for the given process instance, and then forward to the task URL.
    You would need to implement some kind of polling mechanism though, since it may take some time until the next task is created (this happens asynchronously).

  • Human Task allocation in 11g

    Hi,
    The Human task defined in BPEL process through the jdev in 10g had an option to edit the task definition, wherein one could change the allocation of task. But this option is not to be seen in 11g jdev editor. The task definition seems to be read only with an option to edit the task rather then change the task allocation. Is there a way to achieve this in 11g ?
    Thanks.

    Hi,
    Thank for the prompt reply, this seems to be a tedious job, all the more painful in case if you have an application been migrated from 10g to 11g. We have this application which has 12 different groups to be assigned across numerous human task. When this application was migrated from 10g to 11g through the jdev, all the human task by default got allocated to one group. In the absence of reassignments, deleting these human task and recreating with new assignments is final option, but considering the numerous human task this would be a really agonizing task. Is there any other alternate option available.

  • Human Task - How to cause expiration of a task after SUSPEND

    Hello,
    This is a very simple question, but i don't know how to do this.
    I'm using the web services in bpel for manipulate the task.
    i invoke the operation suspendTask, it works success, but now i want set the expiration date time for 5 minutes for example.
    1) - I tried to call the method updateTask setting the expiration datetime attribute AFTER SUSPEND task, but i get this error:
    ORABPEL-10206
    Error in retrieving task metadata.
    Error in retrieving task metadata because the task is  no longer valid.
    Only valid tasks can by looked up.
    2) If i try to call updateTask operation BEFORE SUSPEND task, i getting this error:
    java.sql.SQLException: ORA-20005: Task is modified
    ORA-06512: at "CCEEDEV_SOAINFRA.WFTASKPKG_111120", line 2455
    ORA-20005:
    ORA-06512: at line 1
    My question, it is possible expirate tasks that have the status SUSPEND ? If yes, how to do this ?
    Thanks
    Victor Jabur
    Edited by: victorjabur on Aug 13, 2010 7:21 AM

    Hi Victor,
    I am Quite new to Oralce BPM/BPEL 11g, In my project I also need to update the task for expiration datetime but not after suspending the task rather before moving to next human task based on some condition.
    It would be great if you could give me the sample code to perform the same if its working with you.
    Regards,
    PK

  • Accessing output variables from human task

    Hi,
    I added a human task in my process (jdev 10.1.3) and set up a parameter to be an input field in the jsp. However, I could not find a way to copy the value from this particular variable even though this parameter is a child of payload. Do I have to define the query manually or did I miss something?
    Thank you for advice,
    Mirco

    Ok, I crosschecked the examples and it seems, that there is indeed an example for what I am looking for. In the LoanPlusDemo there is a StarLoan process and that contains the following assignment following a human task:
    <sequence id="BpSeq3" >
    <assign id="BpAss4" >
    <copy>
    <from variable="LoanApproval_globalVariable" part="payload" query="/task:task/task:payload/auto:loan"/>
    <to variable="loan" query="/auto:loan"/>
    </copy>
    </assign>
    </sequence>
    Now considering the input structure:
    <task>
    <title>Loan application for</title>
    <payload>
         <loan>
         <loanApplication>
    <ns1:SSN>123222</ns1:SSN>
    <ns1:email>[email protected]</ns1:email>
    <ns1:customerName/>
    <ns1:loanAmount/>
    <ns1:carModel/>
    <ns1:carYear/>
    <ns1:creditRating/>
    </loanApplication>

         <loanOffer>
    <providerName>Star Loan</providerName>
    <selected>false</selected>
    <approved>false</approved>
    <APR>47</APR>
    </loanOffer>
    </loan>
    </payload>
    How do you know how exactly to create the copy rules? JDev does not support this, that much was answered before. I would absolutely appreciate if someone could
    1. Tell me something about the namespaces in the copy rules e.g. why is it /auto:loan and not just /loan?
    2. An example on how to create such things.
    One of the two might be sufficient.
    Thank you.
    Hinrich
    Message was edited by:
    punkrock77

  • Assign Task to a specific user based on the value of DDL from the form

    Hello,
    Can any one please advise me on how to assign a task to a specific user based on the value of the drop down list from the form. E.g. user fills the form and before they submit the form they have to select one of the name from the drop down list so the form can go to that person for approval.
    Thanks in advance,
    Han

    I got it works now by using the xpath expression (in workbench) to assign to the selected user from the DDL in the form.

  • Assigning human task to a user not exist in the ldap - actionable task by email address

    Hello experts,
    we have a requirement to assign a task to an external user (not exist in the ldap) to perform some action by allowing the system to send an actionable email.
    Internal user will capture the external-user name & emailaddress in the task form. System should use this information and assign the task to the user by sending an actionable email. Our requirement is, these external users should not have access to bpm workspace, so we can not store the user information within the system.
    Currently I have tried assign the task to an internal user (users configured in weblogic) and system sends out an actionable email and able to set the outcome of the task by replying to the email.
    How can the same be achieved, without the user being in our system? Is it possible? I am OK to create a temporary user before assigning the task, but will be there be any impact if I delete the user after the task has been completed?

    AnilB,
    Assigning a task to a user that is not in the directory will likely result in the BPM flow going into suspended state. To avoid this, assign the task to a pre-created group, you should not get an error even if the group is empty. You can then add and remove the users to that group to control access to the task.
    Phil

  • Error while deploying the ADF task flow project based on a SOA human task

    Hi,
    I created a SOA project with a BPEL process containing Human task, deployed it and could able to test it successfully. I created ADF task flow project based on the Human task created in the earlier project and tried to deploy it. It is giving the following error. The idea is to display the task details in BPM worklist.
    [04:10:53 PM] [Deployer:149034]An exception occurred for task [Deployer:149026]deploy application RevisionApprovalMgmtTaskFlow [Version=V2.0] on soa_server1.: null.
    [04:10:53 PM] Weblogic Server Exception: weblogic.application.WrappedDeploymentException
    [04:10:53 PM] See server logs or server console for more details.
    [04:10:53 PM] weblogic.application.WrappedDeploymentException
    [04:10:53 PM] #### Deployment incomplete. ####
    [04:10:53 PM] Deployment Failed
    The server log shows this detailed error.
    java.lang.IllegalArgumentException
         at oracle.xml.xpath.JXPathExpression.evaluate(JXPathExpression.java:178)
         at oracle.xml.xpath.JXPath.evaluate(JXPath.java:288)
         at oracle.security.jps.internal.config.xml.XmlConfigurationFactory.initialize(XmlConfigurationFactory.java:425)
         at oracle.security.jps.internal.config.xml.XmlConfigurationFactory.getConfiguration(XmlConfigurationFactory.java:149)
         at oracle.security.jps.internal.config.deploy.CredentialStoreDeployer.getCredentialStore(CredentialStoreDeployer.java:56)
         at oracle.security.jps.wls.listeners.CredentialDeployment.migrate(CredentialDeployment.java:83)
         at oracle.security.jps.wls.listeners.JpsApplicationLifecycleListener.migrateAppCredential(JpsApplicationLifecycleListener.java:137)
         at oracle.security.jps.wls.listeners.JpsApplicationLifecycleListener.preStart(JpsApplicationLifecycleListener.java:78)
         at weblogic.application.internal.flow.BaseLifecycleFlow$PreStartAction.run(BaseLifecycleFlow.java:277)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
         at weblogic.application.internal.flow.BaseLifecycleFlow$LifecycleListenerAction.invoke(BaseLifecycleFlow.java:194)
         at weblogic.application.internal.flow.BaseLifecycleFlow.preStart(BaseLifecycleFlow.java:57)
         at weblogic.application.internal.flow.HeadLifecycleFlow.prepare(HeadLifecycleFlow.java:279)
         at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:609)
         at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
         at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:185)
         at weblogic.application.internal.EarDeployment.prepare(EarDeployment.java:53)
         at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:154)
         at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:60)
         at weblogic.deploy.internal.targetserver.operations.ActivateOperation.createAndPrepareContainer(ActivateOperation.java:197)
         at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doPrepare(ActivateOperation.java:89)
         at weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:217)
         at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:747)
         at weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1216)
         at weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:250)
         at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:159)
         at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:157)
         at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$000(DeploymentReceiverCallbackDeliverer.java:12)
         at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$1.run(DeploymentReceiverCallbackDeliverer.java:45)
         at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Apart from these, I have Model and View Controller projects in the application. If I create the ADF task flow based on a Human task in another sample application, it works fine. Only in this application, it does not work. Not sure what this error is. Any ideas?
    Thanks,
    Manoj

    What I suggest is go into EM and undeploy this composite and all versions. (Only if you don't want the existing ones). Then redeploy your process. This will avoid the version conflict and create a new version. 1.0. Then the next time you try and deploy you need to either specify a new version or check the box to say the version can be over written.
    cheers
    James

  • How to change the response of human task if we are using the skip rule

    Hi,
    We have developed the request workflow in OIM11g for this we are using the Beneficiary Manager approval composite to approve the request by his manager.
    We are using the skip rule in the human task component to skip the user if the requester is beneficiary manager.
    After the skip rule is executing the the request is going to failed state because of the response it is sending to the OIM
    The skip rule is working as expected but the response sending to OIM is COMPLETED instead of APPROVE.
    Please let us know the steps to change the response to Approve after the skip rule is executed or how to add the response COMPLETED in OIM.
    Thanks

    You will have to write a conditional block outisde the task where you would check if the skip condition is met and if yes then you will have to hard code the approved conditions into the payload for the task outcome.
    <assign name="SetAutoApproveConditions">
                            <copy>
                                <from expression="string('APPROVE')"/>
                                <to variable="ApprovalTask_1_globalVariable"
                                    part="payload"
                                    query="/task:task/task:systemAttributes/task:outcome"/>
                            </copy>
                            <copy>
                                <from expression="string('COMPLETED')"/>
                                <to variable="ApprovalTask_1_globalVariable"
                                    part="payload"
                                    query="/task:task/task:systemAttributes/task:state"/>
                            </copy>
                        </assign>HTH,
    BB

Maybe you are looking for

  • Server Error Related To Set Alarms

    There is another thread going about the following error message: The server responded: "HTTP/1.1 403 Forbidden" to operation CalDAVWriteEntityQueueableOperation. I have found that this is occurring for me only when I set a future event and then try t

  • Errors in /var/log/alf.log?

    When I look in /var/log/alf.log all I see is entries like this: SecCodeCreateWithPID error:: No such process What does it mean? socketfilterfw shows up in the Activity Monitor, so it appears that Apple's application firewall is not completely dead. H

  • Launch Listener Problems in Server Side Backing Bean Code.

    Hi All, I am construcing an Table of Rich Command Links in the backing bean. For each command Link i launch a dialog through the backing bean. I have added a Launch Listener for each Command Link.However i see that although the dialog gets launched t

  • After wireless update error 500/404 on Accept link

    after doing the wireless update I'm trying to connect to the internet via the explorer browser... have to click on the "i accept" button getting a HTTP Error 500 Internal Server Error.... I can connect using my facebook app or my other apps just not

  • Registered name

    I screwed up when I activated my phone and did not put my name in the registered area and it comes up with administrators iphone is there a way to enter my name now after the fact???