INTRODUCTION
In this blog post we will cover a few steps on how we can troubleshoot the BRF+ validations which is the underlying framework for MDG DQM. This module of MDG is still evolving rapidly as we move towards cloud first and a clean core approach. As MDG developers we are still pretty comfortable with classical BADI's for doing validations and we all know it's quite easy to troubleshoot the rules. But when it comes to DQM we might wonder how do my rules get called? how can i troubleshoot my rules if they are not working as expected?
MAIN CONTENT
1. DQM rules will be triggered when we click the check button on our MDG UI.
2. Once click on check the MDQ adapter CL_MDQ_COMMON_ADAPTER_PROD class will be called which will in turn call the MDQ rule engine class CL_MDQ_RULE_ENGINE_CHECK.
3. This rule engine check method will internally call many other methods and one of the methods which gets called is CL_MDQ_BRFPLUS_HANDLER, this class is responsible for executing the BRF+ functions by calling other standard methods. In this class, we can put a breakpoint in the execute_function method.
4. Inside execute_function we will find an FDT method which processes the BRF+ function.
5. Inside the process method, we will get the class name associated with the BRF function ID.
6. Using this class name we will call the process_dynamic method of the FDT.
7. Inside this method look for the process_pure method which will have the entire BRF+ generated code for a rule which you have created in DQM.
By following these steps you can easily navigate through the DQM validation rule framework troubleshoot your rules and make sure they are working perfectly fine.
Scenarios which need troubleshooting:
1. You import your rule from one system to another, the rule is approved and enabled for check-in change requests but still doesn't work.
2. You modified your BRF+ logic as per your requirements after the initial build, however, the latest rules don't reflect this.
System details:
S/4 HANA 2023 FPS00.
No comments:
Post a Comment