Object used by the SAP Business Workflow component to determine possible agents for a work item.


You use roles to specify an agent (or agents) for a task if the set of possible agents is too large, or not specific enough. By assigning work items to organizationally suitable employees, responsibilities and authorizations are managed efficiently, and bottlenecks are avoided.

You want to forward Mr. Smith’s notification of absence to his head of department. All heads of department at your enterprise are possible agents for a notification of absence. However, you do not want every head of department to receive Mr. Smith’s notification of absence. At runtime, the role used to determine a manager enables you to evaluate assignments (relationships) within an organizational plan. The system uses relationships to determine that Ms. Miller is Mr. Smith’s head of department. The task is forwarded to Ms. Miller.

Further examples:

Role to Determine Design Office

Role to Determine Organizational Unit of a User

The agent for a role does not have to be a user. All of the objects in the Organizational Management component can be agents for a role.

The workflow uses the values in the role container to select a subset of possible agents. Role resolution, which is performed at runtime to determine the agent for a workflow step, is therefore an intelligent, efficient, and flexible tool.

Roles as Default Roles for Defining Single-Step Tasks

When defining single-step tasks, you can specify particular agents or recipients by their role in the following instances:

In this context, reference is made to default roles for a task. Specifying default roles for a single-step task is always optional. If default roles are specified, you may need to define binding from the task container to the role container.

Resolution is performed for default roles before the single-step task is executed. (If the single-step task is used as a step in a workflow definition, resolution is only performed for default roles if the workflow definition contains no other information with regard to responsibilities or recipients.)

As a general rule, a single-step task can only be executed by its possible agents (or a subset thereof) when it is processed.

Specifying a role restricts these agents to those you have selected. This method cannot be used to authorize new agents to execute a customer task/standard task.

Roles in Workflow Definition

When the following steps of a Workflow Definition are defined, the agents responsible and the recipients can be specified by their role:

These specifications only have local validity for the respective workflow definition, and they are optional.

(Specifying a role is just one of several methods that can be used to specify the agents responsible and the recipients. It is also possible to specify responsibility by using a suitable organizational object (job, position, organizational unit) or by using an expression with reference to the workflow container.)


There are various ways of defining roles. You can use the following:

You use a function module to define standard roles if the agent for a task must be found according to extremely complex selection criteria. If you define roles using function modules, the system finds agents by executing the function. How data is obtained varies from function to function. You can use predefined functions, or create your own functions.

You use organizational data to define standard roles if your business processes are managed on the basis of your organization model. If you define roles using organizational data, role resolution traces the possible agents for a task by using the relationships between the task, the objects in Organizational Management, and the SAP organizational objects.

You use responsibilities to define standard roles if you need more precise selection criteria to find agents, but do not want to use function modules. You can also use the organization model to find possible agents using jobs, positions, etc.

All three methods offer certain advantages. However, it is preferable to use responsibilities because you do not require ABAP coding, and can easily display and change agent assignments. You can define as many criteria for a role as required, even if you only want to use some of these criteria for the responsibilities.

Each role has a role container that includes the values on which role resolution is based.

Roles are always defined across clients, and they are always connected to the transport system as cross-client transport objects. At this time, the definition of client-specific roles is not supported.

When saved, each role is assigned an 8-digit number by the system that is preceded by AC , which is used for identification purposes.