4-Eyes-Principle in MDG rule-based workflow
Category: SAP MDG Posted:May 04, 2020 By: Ashley MorrisonIt’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.
EXIT.
ENDIF.
ENDLOOP.
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.
ENDLOOP.
APPEND ls_user_agent_group TO ct_user_agent_group.
Bottomline
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