Introduction:
I received a question from one of my professional colleagues for any possibilities of implementing Validations on FMDERIVER. He asked if we could generate a customized error message if the user enters an invalid combination of Commitment Item and Functional Area.
Solution:
We can implement the required validations using “BADI_FMDERIVE” and method "CHECK_DRULE_BEFORE_SAVE".
Identify the Table of the Derivation Step:
To identify the table of the derivation step where the validation is to be implemented, you can perform the steps below:
1. In my test environment, I am selecting the Step No. 18 of the FMDERIVE Derivation Rule with the Functional Area as the Source Field and Commitment Item as Target Field.
2. Next Go to T-Code: SE16n and Enter the Table "TABADRS". Enter the values in the field as below:
- Application Class will always be "FM"
- Subclass will always be "01"
- Strategy ID will always be "FMOA"
- Environment strat represents the "FM Area" of the implementation
- Seq. number represents the "Step No".
- After executing, the table will be found in the Parameter (PARAM_1)
In this case, we have identified that the table name is "FMFMOADEV8000055".
Implement BADI_FMDERIVE:
You can implement the BADI via SE18 with the help of the ABAP Consultant. For validation of values, select the method "CHECK_DRULE_BEFORE_SAVE".
Within this method, you can write up the logic that needs to be implemented for the validation checks. For the purpose of this blog only, I implemented the below logic where the system will check the combination of new entries within the derivations rules and validate it if incorrect combination is maintained.
- Please note that the Parameter "I_TAB_NEW_ENTRIES" contains 2 important components "S-1-Val" which represents the source value and "T-1-Val" which represents the target value.
Maintain FMDERIVER:
Now when you maintain the values in FMDERIVER Derivation step, it will generate error message as if the Incorrect Combination is met.
Opportunity for Improvements:
Instead of hardcoding the values, you can discuss with your ABAP consultants of configuring the combination variables in transparent tables which can be maintained using SM30. Now this depends on your experience and the complexity of the business requirements.
Conclusion:
Every business have different and unique requirements and have many variations. The above scenario is only for the purpose of sharing the knowledge with the SAP FM Consultants all over the world who may benefit from this tool. You can take this blog as a bench mark to have an initial idea and then modify it according to your requirements.
Best Regards,
Anss Shahid