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

Similar Messages

  • 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

  • Assign to a specific participant

    Hello,
    I'm new to Oracle BPM suite. I have designed my process. what i'd like to do now, is for example an activity would be assigned to a participant and not to a role. which means an activity would be shown in the task list of a specific participant, and not in the list of other members of the role.
    thanks for ur help

    Hello, Thank you very much for your help.
    It seems to be exactly what i'm looking for, but i tried it and it didn't work. i'dont know if there is something else i should do?
    what i did is :
    i have two inetractive activities in two differents roles, in the first interactive activity, i choose a participant who have the second role, and the goal is that the task would be assigned only to that participant.
    i copied the code : Participant.next=Participant(idParticipant) inside an automatic activity. and i tried putting it before and after the first interactive activity. and before the second. and also inside the two interactive activities and it didn't work.
    thanks

  • Interactive activity, external task example???

    Hi,
    I'm trying to search for a simple external task example, however it is totally imposible to find anything ... :(
    I would like to make a few questions about it. When you create an external task in a interactive activity, you can specify an URL where the request will be redirected when you click on a external task, but how do you send the information about the specific process you want to work with in the URL? is it possible to pass parameters to this URL ? which is exactly the correct use of the external URL configuration? if I pass the control to an external system, how this system is able to know which BPM process instance to work with?
    Regards,
    Antonio.

    Hi,
    I've recently found out that Aqualogic simply sends the information about the process as request parameters to the external system:
    taskIn:0
    activity:TareaExterna
    instanceId:/ExpenseReport#Default-1.0/6/0
    participantId:Peter Jones
    Very easy, however it is quite frustrating not finding anything about it. I agree with you that it is an upcoming technology, however the documentation of a product should have a minimum of quality, specially coming from an important company as BEA. They offer a functionality and simply do not explain how it works.
    In any case, thanks a lot for answering my question!! :)
    Best regards,
    Antonio.

  • Interactive activity deadline without due transitions

    I need to define deadline for all interactive activities. However, I do not want to add due transitions or Connector to every interactive activity. How to set the activity deadline without due transitions?
    Or, I add a due transition / deadline to all interactive activities. If the deadline is reached to any of them, an exception will start.
    Or, if any activity is expired, it should go to a specific activity. How to do that?
    For example, a process has 2 interactive activities, named a1 and a2. The first activity has a method:
    activity as Activity
    activity=Activity("a2")
    t as Time
    t = addSeconds(activity.deadline, i : 20)
    It sets the deadline of a2. However, after it is deployed to BPM standalone 10g, when sending a1, Standalone shows error.
    Sincerely
    Edited by: YE on Jun 5, 2009 4:01 PM

    Hi Ye,
    There is a predefined variable called "deadline" you might want to consider using for this. Instead of having to add due transitions for each activity, if you set the deadline variable to some time in the future, once that time is exceeded the work item instance automatically throws an "InstanceExpiration" exception.
    1) I usually set the deadline variable in the Begin activity in the process to some time in the future. Although you can set it there, it can be changed anywhere in the process if you want the deadline to be different in the next activity. You just need to be sure to set the deadline upstream of the activity.
    2) Add an exception handler to catch the InstanceExpiration exception by:
    a) adding an orphan Interactive activity
    b) if an exception handler does not exist in the process, right mouse click anywhere in the white space of the process -> "Add an exception transition to" -> select the Interactive activity you added in the first step -> click the "Properties" tab -> select the Exception Name combo dropdown and pick "InstanceExpiration" -> click Ok and then Yes.
    c) the logic in the Interactive activity that catches the overdue instances needs at least these statements:
    // reset the deadline so another exception is not immediately thrown
    deadline = 'now' + '2d'
    // code here to do what it is that you want done (e.g. escalate the priority, send someone an email, etc.)
    // now send the instance back to the activity where the deadline expired
    action = BACK Hope this helps,
    Dan

  • Equivalent of Global Interactive Activity in 11g

    Hello,
    Is there an equivalent of Global Interactive (not Global Creation) activity in OBPM 11g? What I intend to do is to be able to have certain stand alone activities in the workflow bounded independently to different taskflows (there taskflows are associated with the business process but not directly linked to it). E.g. Let's say I have a requirement that the 'Manager' role in the workflow should be able to assign the primary process participants to different Line of Businesses based on day to day needs. All I need is a UI to achieve this. But I am also trying to leverage BPM roles so that only 'Managers' are able to see this link in their workspace / worklist and able to access this UI. We have previously implemented this using 'Global Interactive' in 10g. All we did was to place the activity in a manager swimlane and associate a screenflow to it. Trying to understand what 11g has to offer for this requirements.
    Thanks,
    Gaurav

    One of the things that helps end-users train themselves on a process is to present a picture of where a work item instance that they are working on is located in the process. This is commonly referred to as the “you are here” map. In Oracle BPM 10g, this is done like this:
    1.     Add a Global Interactive activity to an abstract role (role with a name).
    2.     Name this new Global activity “You are here”.
    3.     Click Runtime in the left pane and check the "Has instance access" (do not check the checkbox labeled “Use activity for instance presentation").
    4.     Click the OK button.
    5.     Right mouse click this new activity and select Main task from the popup.
    6.     Change the Implementation type to "Show Process Image".
    7.     Click OK.
    8.     Save the project and reload the project.
    9.     Start the WorkSpace again. Log out and relogin.
    10.     On the right side of the inbox, for an existing work item instance click the "Select action" dropdown.
    11.     Click the new "You are here" action.
    12.     Note the red flag above the activity where this work item instance is located in the process.
    Hope this helps,
    Dan

  • How to invoke BPM object instance variable from interactive activity?

    I have a screenflow with an automatic activity "A" followed by an interactive activity "B". "B" calls a BPM object "X" and uses a JSP presentation to show its attributes. Is there a way to use another BPM object, say type "Y", create an instance variable of that type inside "A", and get its attributes values from the JSP page associated to "B"?
    Edited by: user6473912 on 20/07/2010 03:37 PM

    Try this. It assumes you have:
    <li> a user named "auto"
    <li> a project variable named "customerType"
    <li> an instance variable named "orderAmount" that is a decimal
    <li> an instance variable named "order" that is a BPM Object that has attributes named "customerName" and "amount"
    ps as ProcessService
    xmlObject as Fuego.Xml.XMLObject
    do 
      connectTo ps
          using url = Fuego.Server.directoryURL,
          user = "auto",
          password = "auto"
      instF as InstanceFilter
      create(instF, processService : ps)
      addAttributeTo(instF, variable : "customerType", comparator : IS, value : "Gold")
      instF.searchScope = SearchScope(participantScope : ParticipantScope.ALL, statusScope : StatusScope.ONLY_INPROCESS)
      for each inst in getInstancesByFilter(ps, filter : instF) do
        // here's how to get the value inside a primitive instance variable
        orderAmtObj as Object = getVar(inst, var : "orderAmount")
        // here's how to get the value of attributes inside a complex BPM Object instance variable
        //    - in this case this is an "order" object with two attributes (customerName and amount)
        orderObj as Object = (getVar(inst, var : "order"))
        xmlObject = Fuego.Xml.XMLObject(createXmlTextFor(DynamicXml, object : orderObj, topLevelTag : "xsi"))
        logMessage "The value of the order object's customer name is: " +
               selectString(xmlObject, xpath : "customerName")
        logMessage "The value of the order object's order amount is: " +
               selectNumber(xmlObject, xpath : "amount")
        // here's a rather uninspired way to retrieve who the participant is that was assigned the instance
        logMessage "The participant assigned to this instance is: " + inst.participantId
      end
    on exit
      disconnectFrom ps
    endDan

  • Deadline for an interactive activity

    In the process, there is an automatic activity (A) before an interactive activity. Please let me know how to set the deadline for the interactive activty through A.
    The requirement is regarding setting up the SLA for an instance for every interactive activity. The instance should be highlighted in red once the SLA is crossed. I know how to customize the workspace for this. I am looking at how to set up the deadline (SLA) through code based on certain conditions.

    If you want the instance to remain in the Interactive activtiy even though the deadline has passed, you might not want to use a Due transition. The Due transition's whole purpose is to fire and have the work item instance flow through it after the time period specified inside the Due transition's property elapses.
    You might want instead want to create a new project variable that represents some time in the future for the work item instance. This would have to be a time variable since an instance sitting in an Interactivity won't be able to indicate that a time period has elapsed except by comparing the current time with the time value you set in the project variable's time variable.
    I'm not sure that the deadline predefined variable is a fit for what you're trying to do. You'd use the deadline predefined time variable to set an SLA for the entire process. Once this time period expires, the engine will fire an exception (an "InstanceExpiration" exception) that would need to get caught by an Exception Handler activity somewhere inside your process.
    When you create a Due transition for an activity, it's a different type of SLA. It sets an SLA for a specific activity (vs. the entire process). You're not going to find much joy in trying to set the predefined variable activity.deadline. This is automatically set by the engine when the engine sees that an activity has a Due transition. The engine sets this time to the time in the future established by the Due transition. This is a read only predefined variable that you won't be able to set. Instead, consider creating and setting a new project time variable I mentioned above that you can check to see if the time has elapsed by comparing it with the current time.
    To make a primitive instance variable (e.g String, Decimal, Time, etc.) available to a JSP, create a BPM Object with attribute(s) corresponding to the instance variables you want passed to the JSP. Prior to the Screenflow's Interactive Component Call task where you present the JSP, you'd just need to set the primitive instance variable(s) to the attributes in the BPM Object.
    Hope this helps,
    Dan

  • Unassign a task using Global Interactive activity.

    Hi,
    There is a task assigned to a particular user. I want to unassign that task from Global Interactive activity but it is not working. Steps followed by me are:
    1. Global Interactive activity for unassigning any task at any time from the instance drop down.
    2. A screenflow is called in the Global Interactive activity for unassign.
    3. In the screenflow I have an automatic activity where I have written Participant.next=Participant.Unselect;
    The log message in the automatic activity after the above written code shows participant value is blank. But when it comes out of the screenflow to the main process the participant automatically gets assigned. In the workspace the activity shows that it is still assigned to the user.
    Note: I cannot use OOTB feature of Unassign because I need to show a screen with some reasons for Unassign, so I'm using a screenflow.
    Kindly revert ASAP.

    Hi Yasmin,
    Try executing the code at the process level or use the product feature 'Unassign'.Hope it helps.
    Regards,
    Ritu S.
    Edited by: Ritu Singh on May 17, 2010 1:21 AM
    Edited by: Ritu Singh on May 17, 2010 2:04 AM

  • Responsible Group Assignment for Interaction Record

    The Functional configuration team is trying to determine how to assign an interaction record to Responsible Group and not to an individual User.   If anyone has any suggestions or experience with how the responsible group can work, it would be greatly appreciated.
    Thanks

    Hi pamela
    Currently you have the parner function Interaction center agent in you Interaction record i.e why it is assigning it to the user.
    Interaction Record of ICWC is nothing but a business activity in the CRM online system ,if you want the responsible group to be attached to the Interaction record ,please assign the partner function Responsible Group to the Partner determination procedure assigned to your business activity as stated by sridhar..
    hope this resolves your Query
    Cheers!!
    Regards
    Raj

  • How to take a report for the assigned transaction and activity in a role

    Hi Colleagues,
    I want to take a report for the assigned transaction with activity for all roles, which are assigned to the users,
    Transaction list for a role i can able to take it from SUIM but not able to take the ACTVT for the role.
    Please suggest how to take this information.
    BR,
    Jai

    Hi Jaikumar from the post :
    I think you have reached the state of finding the USER to ROLE relationship
    Take the output to an excel,
    COPY just the roles column exactly in order do not rearrange , use AGR_1251 like other experts have mentioned
    insert the roles copied from you buffer and execute, the output will have multiple entries for each role take the output to an EXCEL again , make it unique and match the outputs between both the EXCELS.
    It will be a little tricky to do this, but I think you are proficient in MS EXCEL.
    This is one of the ways to do , there are many other ways to do it.

  • CAT2 - How can I see the rate assigned to an activity type?

    In transaction CAT2, there is a column named ActTyp (Activity type). How can I see the rate assigned to this activity type (example: 50$/hour pour activity type Project management) ?
    Thanks,
    Julien

    Hi Julien,
    plz goto KP26 and enter the acitvity type and cost center of the work center and check the price ..
    regrds
    pushpa

  • How to add an Assignment Block to Activity

    Hi Gurus,
    How to add an Assignment Block to Activity?
    Thanks & Regards
    Rohan

    Hi Kkp
    Goto the component/view: BT126H_APPT/ApptOVViewset to place the attachment assignment block on the screen.
    Click on the Configuration tab.
    Click on change.
    Add them from Available Assignment Blocks to Displayed Assignment Blocks.
    Best Regards,
    Shiven

  • How to fix The SIM card inserted in this iPhone does not appear to be supported. The SIM card that you currently have installed in this iPhone is from a carrier that is not supported under the activation policy that is currently assigned by the activation

    The SIM card inserted in this iPhone does not appear to be supported.
    The SIM card that you currently have installed in this iPhone is from a carrier that is not supported under the activation policy that is currently assigned by the activation server. This is not a hardware issue with the iPhone. Please insert another SIM card from a supported carrier or request that this iPhone be unlocked by your carrier. Please contact Apple for more information.

    Or if you've recently got the phone unlocked then you'll need to connect it to  itunes and then do a fresh restore to unlock it ,although for most users simply connecting to itunes for few seconds did the trick.

  • Interactive activity with multiple transitions

    I use BPM standalone and studio 10g. I create a business rule transition after an interactive activity. This activity also has an unconditional transition. If the amount is greater than 100, the process instance should go to the business rule transition.
    However, in the real running process, if I set the amount is greater than 100, workspace will list 2 transitions (business rule transition and unconditional transition) path and let the user to select one.
    If I set the amount to less than 100 (such as 10, 20), workspace just shows the unconditional transition.

    Hi Ye,
    Eduardo brings up a good point. When you have multiple Conditional transitions leaving an activity, you can specify the order in which you want them to be evaluated by right mouse clicking the originating activity -> "Conditional transitions order". This is helpful because, even though several conditional transitions can evaluate as true coming out of a single activity - you still only want the work item instance to flow out of the activity via one of them.
    It would be good if you could do the same thing when you have multiple business rule transitions leaving an activity, but unless this has been fixed on a patch that I'm not currently using - you cannot do this with business rule transitions. Unlike Conditional transitions, when you have multiple business rule transitions coming out of an activity and more than one evaluates as true, you have no control over the sequence you want them to be evaluated.
    Guessing you've already done this, but I believe your options are to:
    1) Avoid having multiple business rule transitions coming out of a single activity or
    2) Do what Eduardo suggests and to make sure that none of the rules overlap (e.g. "amount > 100 && amount < 300") or
    3) Do Eduardo's other suggestion and have a cascading list of Conditional activities. Each Conditional activity has one unconditional transition (going to another Conditional activity) and one business rule transition. If the business rule is true, you're done. If it's not true then you continue to the next Conditional activity which also has an unconditional transition (going to another Conditional activity if you have 3 business rule transitions you wanted to evaluate) and a second business rule transition.
    Dan

Maybe you are looking for