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 helpHello, 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 PMHi 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,
GauravOne 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 PMTry 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.
ThanksHi 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,
JaiHi 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,
JulienHi 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
RohanHi 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 -
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
-
Error while generating PDF BI 7 Report Designer
Hi, I am getting this error Error while generating PDF when i tried print version on report designer, I tried to find information on this error but there was no information regarding this , so posted here. Please let me know if you have any suggestio
-
Error while installing the java add-on on abap system
Dear All, We are trying to install java add-on with EP on present ABAP system, but getting struck up with error as below at creating java users (sapjsf) in central instance installation phase. ENVIRONMENT: ECC6.0 WIN 2003 KERNEL 136 SUPPORT PACK LEVE
-
Error while installing OBI 11.1.1.5
OS: Solaris 10.9 Processors: X86 The installation is hanging in the process "Creating BI Cluster Controller System Component". After a failed retry we tried with a "Continue", but failed in the next installation part "Merging PolicyStore application
-
HI this happened today suddenly while i was working on my iPad it kicked my out of the app that i was using then white screen with black apple logo came out, i thought it was an ordinary thing cause this happens all the time with me, but this time it
-
I am new to OS. How do I back up a movie I have purchased to a DVD?