SAP ABAP IMG Activity /SRMERP/BADI_DET_AG (BAdI: Define Agents)
Hierarchy
SAP_APPL (Software Component) Logistics and Accounting
   MM-PUR-SSP (Application Component) Self-Service Procurement
     /SRMERP/WF_CFG (Package) Workflow Process Configuration
IMG Activity
ID /SRMERP/BADI_DET_AG BAdI: Define Agents  
Transaction Code /SRMERP/44000198   (empty) 
Created on 20101111    
Customizing Attributes /SRMERP/BADI_DET_AG   BAdI: Define Agents 
Customizing Activity /SRMERP/BADI_DET_AG   BAdI: Define Agents 
Document
Document Class SIMG   Hypertext: Object Class - Class to which a document belongs.
Document Name /SRMERP/BD_WF_RESP_RESOLVER    

Use

This Business Add-In (BAdI) is used in the Self-Service Procurement (MM-PUR-SSP) component.

You can use this BAdI to assign purchasing documents (or separate parts of these documents) to agent groups for approval.

  1. Use method /SRMERP/IF_EX_WF_RESP_RESOLVER~GET_AREA_TO_ITEM_MAP to assign the document items to a specific agent group. This assignment can be made by specifying the area of activity of that group. The area can be a technical key identifying the group itself or can also identify a master data range (for example, a cost centre range or an organizational branch) for which the agent group is responsible. When you return an initial item ID and specify a single area, you indicate that all document items should be assigned to a single agent group for approval.
  2. Use method /SRMERP/IF_EX_WF_RESP_RESOLVER~GET_APPROVERS_BY_AREA_GUID to return all members of each individual agent group.
  3. Optional: Use the following methods in cases where you need an additional parameter for evaluating the assignment of the different agent groups:
    1. Use method /SRMERP/IF_EX_WF_RESP_RESOLVER~GET_RESP_RESOLVER_PARAMETER_F4 to provide an input help for your additional parameter.
    2. Use method /SRMERP/IF_EX_WF_RESP_RESOLVER~CHECK_RESP_RESOLVER_PARAMETER to check the user's input for your additional parameter.
  4. Optional: Use method /SRMERP/IF_EX_WF_RESP_RESOLVER~GET_FALLBACK_AGENTS to specify the fallback agents that are used when method /SRMERP/IF_EX_WF_RESP_RESOLVER~GET_APPROVERS_BY_AREA_GUID does not return any results, that is, when the system cannot determine a responsible agent.

    Note:

    Fallback agents can approve or reject the items of a document or they can forward the work item to another processor.

Requirements

You have defined filter values in Customizing for Materials Management under Purchasing --> Shopping Cart --> Business Add-Ins --> Business Add-Ins for Workflow --> Define Filter Values for BAdI 'Define Agents'.

Standard settings

In the standard system the following BAdI implementations are activated:

  • /SRMERP/BD_WF_SC_RR_CCTR_MGR (assign managers of master cost center as approvers)
  • /SRMERP/BD_WF_SC_RR_CCTR_RESP (assign responsibles of cost center as approvers)
  • /SRMERP/BD_WF_SC_RR_MANAGER (assign line managers of authors as approvers)
  • /SRMERP/BD_WF_SC_RR_MGROFAPPR (assign line managers of previous approver as approvers)
  • /SRMERP/BD_WF_SC_RR_MGR_A (assign line managers of authors (per item) as approvers)
  • /SRMERP/BD_WF_SC_RR_MGR_R (assign line managers of requester (per item) as approvers)
  • /SRMERP/BD_WF_SC_RR_PGRP (assign purchasers of purchasing groups as approvers)
  • /SRMERP/BD_WF_SC_RR_ROLE (assign all users with specified PFCG role as approvers)
  • /SRMERP/BD_WF_SC_RR_RULE (assign approvers using BRFplus rules in Customizing for Materials Management under Purchasing --> Shopping Cart --> Business Workflow --> Business Process Configuration --> Define Rulesets for Decision Set Determination andDefine Rulesets for Approver Determination.

The BAdI is filter-dependent. The filter is a value pair consisting of the Document Type and the Responsibility Resolver Name that you specify in Customizing for Materials Management under Purchasing --> Shopping Cart --> Business Workflow --> Business Process Configuration --> Define Rulesets for Process Level Determination. The standard BAdI implementations are activated by the following value pairs:

  • Document Type = '/SRMERP/S0' and Responsibility Resolver Name = 'RR_COST_CENTER_MANAGER'
  • Document Type = '/SRMERP/S0' and Responsibility Resolver Name = 'RR_COST_CENTER_RESPONSIBLE'
  • Document Type = '/SRMERP/S0' and Responsibility Resolver Name = 'RR_MANAGER'
  • Document Type = '/SRMERP/S0' and Responsibility Resolver Name = 'RR_MANAGER_OF_APPROVER'
  • Document Type = '/SRMERP/S0' and Responsibility Resolver Name = 'RR_MANAGER_OF_AUTHOR'
  • Document Type = '/SRMERP/S0' and Responsibility Resolver Name = 'RR_MANAGER_OF_REQUESTER'
  • Document Type = '/SRMERP/S0' and Responsibility Resolver Name = 'RR_PURCHASING_GROUP'
  • Document Type = '/SRMERP/S0' and Responsibility Resolver Name = 'RR_ROLE'
  • Document Type = '/SRMERP/S0' and Responsibility Resolver Name = 'RR_BRFPLUS_RULE'

The BAdI is designed for single use only. In other words, each filter value can only be assigned to one implementation. If several implementations are assigned to the same filter value combination, the process is interrupted with the error 'No Implementation found'.

Activities

For information about implementing BAdIs as part of the Enhancement Concept, see SAP Library for SAP NetWeaver under BAdIs - Embedding in the Enhancement Framework.

Example

You want to assign all users of a specific user role to approve each individual item of the complete document (decision type 2 in Customizing for Materials Management under Purchasing --> Shopping Cart --> Business Workflow --> Business Process Configuration --> Define Rulesets for Process Level Determination).

Use method /SRMERP/IF_EX_WF_RESP_RESOLVER~GET_AREA_TO_ITEM_MAP to return an activity area (specified by an area GUID) together with the item GUID '00000000000000000000000000000000' indicating that you want all items to be processed by the approver. The mapping information about which user role is identified by a certain area ID must be stored for the agent retrieval later on (See the information below.).

Use method /SRMERP/IF_EX_WF_RESP_RESOLVER~GET_APPROVERS_BY_AREA_GUID to return all users of your user role as responsible approvers. For this step, use the previously saved mapping information.

Optional: use method /SRMERP/IF_EX_WF_RESP_RESOLVER~GET_RESP_RESOLVER_PARAMETER_F4 to provide a search help for user roles in the Responsibility Resolver Parameter field inCustomizing for Materials Management under Purchasing --> Shopping Cart --> Business Workflow --> Business Process Configuration --> Define Rulesets for Process Level Determination). With method /SRMERP/IF_EX_WF_RESP_RESOLVER~CHECK_RESP_RESOLVER_PARAMETER you can add an input check to this field.

To display the BAdI implementation of this example, choose Display --> Enhancement Implementations in the BAdI Builder. All standard BAdI implementations use the prefix /SRMERP/BD_WF. The implementation of the example above is /SRMERP/BD_WF_SC_RR_ROLE.

Business Attributes
ASAP Roadmap ID 257   Create User Exits 
Mandatory / Optional 2   Optional activity 
Critical / Non-Critical 2   Non-critical 
Country-Dependency A   Valid for all countries 
Maintenance Objects
Maintenance object type E   Business Add-In - Definition 
History
Last changed by/on SAP  20110809 
SAP Release Created in 606