SAP Workflow Agent Determination
There are 3 types of Agents used in workflows, all are used in conjunction to find the selected agents for a work item.
Possible Agents are assigned to the task; this is the pool of agents that will be considered later to become an agent of the work item.
Responsible Agents are the agents that are returned from workflow agent definition or the default role of the task. A Responsible agent can only process a work item if they are a possible agent and if they are not an excluded agent.
Excluded agents cannot be an agent of the task even if they are listed as a responsible and/or selected agent. Excluded agents are defined at the workflow level.
A user may find themselves in multiple groups:
This woman is in the pool of Possible Agents but she is not one of the Responsible Agents so she will not be able to process the work item.
This man is in the pool of Possible Agents and he is in the pool of Responsible Agents; however, he is also on the list of excluded agents so he will not be able to process the work item.
The Selected Agents of the work item will be the ones that are at the intersection of the Possible Agents and Responsible Agents and are NOT included in the intersection of Excluded Agents
Workflow Log Display of Agents
The workflow environment is not very consistent with how it names the Selected Agents; ‘Selected Agents’ or just ‘Agents’ or ‘Recipients’ These are all the same. Note, you are not offered the opportunity to view the Responsible Agents.
Definition of Possible Agents
The possible agent is defined under ‘Additional data’ from the task definition. You may define the possible agents as one of the following or of a combination of multiple agent types.
The task agent assignment may be any one of the following:
2) Workflow Task
4) Organizational Unit
- Organizational Object
- Work Center
Alternatively, the entire SAP population can be a possible agent if the “General Task” option is selected.
- This can be DANGEROUS if no selected agent is found; EVERYONE will receive a work item if the rule is not set to error out if no one is found, or responsible agent is not a rule and found empty.
- This is Wasteful of resources in SAP Business Workplace.
Definition of Responsible Agents
The Responsible Agents can be defined in the workflow definition on the step that points to the workflow task. There are more definition options than what was found for the Possible Agents on the Task. In addition to these, when defining the selected agents you can use all of the options available for a Rule, an Expression (workflow container element), the Workflow Initiator, or the Superior of the Workflow Initiator.
- Another place you can define the Responsible Agents is by defining a default rule in the task definition on the ‘Default Rule’ tab. This default rule will be used if a Role is defined for finding the Responsible Agents is in the workflow definition AND no agents are found AND the rule is not set to error if no agents are found.
- The default rule is necessary for single step tasks (because there is no workflow definition).
- The default rule is seldom utilized.
- Only have the ability to add a rule, no organizational objects or user assignment.
Definition of Excluded Agents
Excluded Agents are not allowed to process a work item even if they are listed as a possible agent and a responsible agent.
Examples of Excluded Agents:
- 2 approvals are required from a pool of managers; once a manager supplies their approval, they will be listed as an excluded agent so they cannot also supply the second approval.
- A user in a shared services center has the ability to create and approve requests for payment; but can never create and approve the same request for payment. Once the user creates the request for payment, they are now listed as an Excluded Agent so they will not be able to approve their own request.
Excluded Agents are defined in the workflow definition on the task activity step. Excluded Agents can only be an expression; meaning they have to be defined as a workflow container element.
Wow, that must've been a lot of work. Thanks!
Btw there is a protection against the General Task finding everyone... recommend you check the notes re table T77S0
Thanks Jocelyn, I'll check it out
I've been searching for the note you refer to in your comment, but I have not been able to find a related note. Do you happen to have the note number or know if this "protection" is documented anywhere else?
I think it is the entry WFLOW.ROLE in table T77S0. Check in the bottom of note 98407 or page 422 in Practical Workflow for SAP.
I never did find the rules regarding table T77S0, but didn't actually need them until now...2 years later. Below is the behavior I have observed. Please explain what Table T77S0 WFLOW.ROLE = X is supposed to accomplish. I could only see where it helpped when I used and expression that was empty.
Very nice documented
Keep rocking...Excellent document....
Simple and easy to understand. Good work.
Great work, I have an doubt, if i want to exclude multiple agnets at a time then what should be the approach ? in above case we can only exclude initiator, i want to exclude one more agent who edits the object.?
Thanks in advance.