Master data report – dynamic programming
Business objective/ requirements:
Develop a report which validates master data (in our exampe: Material Master). The error validations are defined by user and could keep adding up and are highly-customizable. For eg: A Material in plant A with material type XX should have Profit center populated.
Analyzing the requirements & business needs, it was felt that error checks might get added or changed frequently. Standard reporting with hard coded checks would work but would need code changes very frequently.
Advantages / Features:
1) Validation routines are generated by reading configuration tables and do not need Tech / ABAP effort to add new checks.
2) Design can be extended to other master data related validations.
3) Fields can be extracted & added for display by configuration – no programming effort required for new fields.
4) Programming effort minimized – majority of the code is generated from validations created by business / users.
On a high-level:
Step 1) The design has a table to allow users to specify which fields in the table will be used for display and / or validations. (Note: The table is prepared with all the required table fields as table entries, for eg: all fiels from MARA, MARC, MBEW, MVKE for the required material master report)
Step 2) After selecting the fields on the step above, the users run the Structure generation program. This generates all the dictionary structures required for the report which extracts data & does the validation. The generation program generates structures for each table (like: MARA, MARC..) and one structure which contains all the fields selected (either for display / validation).
Step 3) The user then enters formulas for doing validations on the material master records.
Step 4) User will then run program to generate the validation routines.
Generated code looks like this:
Step 5) Run the report program. The program selects only fields that are required for display or validation (as defined in step 1), runs through the validation routines generated in step 4.
Further enhancements being worked on:
1) Making the tool more dynamic to write the data retrieval logic based on conditions and joins defined by user.
2) Extending it to any kind of master data.
Any comments on making this tool more helpful & robust will be highly appreciated.
Thanks !






I am impressed by what looks like your adaptation of FI Validations (Tx. GGB0). It's rare to find someone who will put in the effort to reuse something that already works rather than going right out and reinventing the wheel.
P.S: I get a message about scripts or ActiveX controls in my IE7 Information bar when I view your post. When I tell it to "allow blocked content" it flashes and backs out.
I can always provide you insights / code snippets on how the tool works.
P.S.: About the ActiveX Control, even I get the prompt while editing the post, can't get rid of it, most probably got attached when I pasted some content from Word.
Thanks
Anirban
As you rightly pointed out I reused the concept of FI validations, but development of the tool wasn't that tedious (took about 2 weeks), it was getting the concept & design in place and working.
Thanks,
Anirban
Can you plz tell me how to get started with this tool stepwise including tcode.It looks really intresting.
This is a custom application , not a standard transaction. I will try & release more details on the application including code snippets later.
Thanks for showing interest in the blog.
Regards,
Anirban
You said the tool is not available yet, last January. Perhaps the tool is available today.
Thanks
Bruce