# Role Resolution - SAP HR

Use

Role resolution enables you to restrict the number of possible agents for a work item. Role resolution determines which responsible agents have a property described by a role. This improves the ability of SAP Business Workflow [Ext.] to get the right task to the right person at the right time.

Integration

The tools used to define roles are part of the Organizational Management component. At runtime, the SAP Business Workflow component uses the roles defined here in conjunction with the organizational plan for role resolution to determine agents for work items.(Decision as towhich tasks must be assigned to which agents)

Prerequisites

To facilitate role resolution, roles must be defined.

Features

The system performs role resolution. It is first performed at runtime depending on and using information from the process currently running.

The example refers to the role "orders administrator for customer <customer> as of order amount <order amount>".

If customer "Miller Ltd." and order amount "$34,569.34" are determined for a specific order, the agents are determined at workflow runtime who are the "orders administrator for customer Miller Ltd. as of order amount$34,569.34".

The principle of role resolution is always the same:

• The contents of the role container are read.
• The “regulations” or “rules” resulting from the role type are applied to this data.
• The agents so determined are returned as the role resolution result to an internal table with the structure SWHACTOR. This table contains the agents as Organizational Management objects (user, person, position, job, organizational unit) in the required "mix". The type of role determines how role resolution is performed exactly. You can determine the type of role when defining a role.

Role

Definition

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

Use

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. Roleresolution, which is performed at runtime to determine the agent for a workflow step, is thereforean intelligent, efficient, and flexible tool.

Roles as Default Roles for Defining Single-Step Tasks

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

• Recipient for completion
• Recipient for missed latest end
• Recipient for missed start
• Recipient for missed end

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 [Ext.] are defined, the agents responsible and the recipients can be specified by their role:

• Activities
• Wait steps
• User decisions

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 [Ext.] with reference to the workflow container.)

Structure

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

• Function modules
• 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.

• Organizational data
• 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 SAPorganizational objects.

• Responsibilities

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 containerthat 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.

Role Container

Use

The role container contains a role’s parameters. Each role has just one role container. At runtime, the role parameters contain the current, context-specific information that forms the basis of role resolution. Therefore, the role parameters constitute “input” for role resolution.

The role parameters are provided with values from the workflow container via binding.

Features

Depending on the role resolution procedure, the role container includes the following information:

Activities

You maintain the role container on the Container tab page when maintaining the roles.

Role Definition

Use

You use this function if you want to define more roles in addition to the roles delivered by SAP.

Prerequisites

Before you start defining roles, you must start the workflow process.

1. Decide what you want the workflow to achieve, and break it down to the smallest meaningful units of work. These units of work become single-step tasks in your workflow.
2. Select the objects you require. To do so, create a business object or use one of the existing objects. You should be able to find an object that you can use in the Business Object Repository.
3. Each task accesses an object method. Make sure that the methods you require already exist.
5. Group the tasks together in the workflow.
6. Assign agents to the work items in the workflow definition. They must be a subset of the possible agents for the task. If this is not the case, the work item is not executed.

You can do this manually, as a 1:1 assignment, or by using role resolution.

Features

When defining a role, you determine

• Which information must be available so that role resolution can be performed when the workflow is executed.
• This information constitutes the role parameters. They are defined as elements of the role container.

• The rules or regulations in role resolution that are used to determine the appropriate employees.

The role resolution procedure is determined by the role type.

The Responsibilities Role Type

When role resolution is performed, an assignment table is evaluated in which Organizational Management objects (jobs, positions, users, organizational units) are assigned to the variouscharacteristics of the role parameters. This assignment table was explicitly created during role definition.

The Organizational Data Role Type

When role resolution is performed, the system evaluates SAP organizational objects, such as materials controller, planner group, shipping point, or sales office, which are maintained in the master data of an application object.

This type of role resolution requires the use of a separate maintenance transaction independent of role definition to create assignments between the SAP organizational objects and the organizational objects in Organizational Management (jobs, positions, users, organizational units) with which they are related.

The Function to be Executed Role Type

When role resolution is performed, a function module is accessed that then facilitates evaluations as required. A table that is maintained in Customizing is evaluated by the function module. The function module must adhere to a given interface, and is specified during role definition.

Role Resolution Based on Evaluation Paths

When role resolution is performed, the system uses information that is available in Organizational Management on the basis of relationships between individual objects that are maintained in anorganizational plan.

This information can be used, for example, if you need to determine the head of an organizational unit, or the remaining members of the organizational unit, starting from the initiator of the workflow.

From a technical perspective, this role resolution is very similar to role resolution by executing a function module. The RH_GET_STRUCTURE function module must be used; an evaluation path is also specified.

Activities

If you want to use role resolution to restrict the number of possible agents for a work item in a workflow, you must:

1. Choose SAP menu _ Tools _ Business Workflow _ Development _ Definition tools _ Standard roles to select the tools used to define roles
2. Decide how you want to find agents in the system, that is, using function modules, organizational data, or responsibilities
3. Create a container definition (not for the organizational data role type)
4. Binding is automatically suggested for the workflow. Confirm that the fields in the role container are compatible with the fields in the workflow container.
5. Start the workflow.

At runtime, role resolution provides you with a table containing a set of possible agents. These agents are determined at runtime using the values assigned to the role container elements.