4-Eyes-Principle in MDG rule-based workflow

Category: SAP MDG Posted:May 04, 2020 By: Ashley Morrison

It’s mostly required that the master data requestor might not be approved in the same master data process even when the requestor belongs to the org unit(or various other PPOME items) for the approver role. (PPOME is the purchase of the ERP user management).

This solution technique explains a fast yet efficient method to implement this requirement using the BAdI USMD_SSW_DYNAMIC_AGENT_SELECT of the rule-based operations (RBW) in MDG.

The steps are:

1. Figure out the PPOME object ID and things kind, e.g. org unit and relevant ID. This object remains in the customer agent group criterion of the BAdI technique (information listed below).

2. Obtain all the individual IDs out of the PPOME object.

3. Determine the original requester of the appropriate MDG change request (CR).

4. Get rid of the customer ID of the initial requestor from the customer ID list that has been entered step 2.

5. Put the remaining customer IDs back to the customer agent group of the BAdI approach.

As a requirement please ensure that you have defined a service name for the RBW in the personalization:


This customizing table is also obtainable via SM30 with sight name V_USMD201C_SSW.

The service name needs to be assigned to the pertinent steps in the RBW-table “Solitary Value Choice Table”, e.g. DT_SINGLE_VAL_ZSU02002:


The service name is applied as a filter worth for execution of BAdI USMD_SSW_DYNAMIC_AGENT_SELECT:

In runtime, when reaching the RBW action that has assigned the specific service name, MDG calls the approach GET_DYNAMIC_AGENTS. This method has convenient criteria as in- as well as outbound. One of them is the CT_USER_AGENT_GROUP:


It is feasible to obtain the object type and ID defined by RBW out of this specification CT_USER_AGENT_GROUP. This is step 1 of the job listing above.

Step 2) can be carried out with the help of the feature module “RH_STRUC_GET “. This component returns all users of a PPOME object, be it an org device, position, or other feasible values. Here an instance for obtaining the user IDs of an org unit:


Step 3 and Step 4: The decision of the original requester can be done using the MDG change request API or directly through a select statement on table USMD120C. The CR ID is in the signature of approach GET_DYNAMIC_AGENTS.

* get original requestor of CR    

SELECT usmd_created_by FROM usmd120c INTO TABLE lt_requestors WHERE usmd_crequest = iv_cr_number .     

READ TABLE lt_requestors INTO lv_requestor INDEX 1.

* remove the user ID of original requestor from workflow agents.

LOOP AT lt_users INTO ls_user.

        IF ls_user EQ lv_requestor.         

          lv_tabix = sy-tabix.         




DELETE lt_users INDEX lv_tabix .

And finally Step 5: Write back the remaining list of users to the parameter CT_USER_AGENT_GROUP.

* move the user list except for requestor user ID into target agent group

LOOP AT lt_users INTO ls_user.

     CLEAR: ls_user_agent.

     ls_user_agent-user_type  = ‘US’.  ” users without requester user ID

     ls_user_agent-user_value = ls_user.

     APPEND ls_user_agent TO ls_user_agent_group-user_agent.


APPEND ls_user_agent_group TO ct_user_agent_group.


For more such informative and detailed articles on SAP topics, visit our website. At ZaranTech, we offer online training on a wide range of market-relevant SAP topics. For further information on our courses and any queries regarding the enrolment procedure, feel free to contact us, we’re happy to help you. Be a part of our learning community to reach great heights in your career.

These are the related articles that you can check

  1. Master Data Quality Management with SAP Master Data Governance on SAP S/4HANA 1909 
  2. SAP Master Data Governance(MDG) Solutions 
  3. Managing Data Made simpler with SAP MDG 
  4. A step-by-step guide to extend Standard Data Models in SAP MDG 
  5. Technical Details of Rule-Based Workflow 

24 X 7 Customer Support X

  • us flag 99999999 (Toll Free)
  • india flag +91 9999999