One customer recently asked us to look into a problem they were having generating an accurate data report related to materials. This was a standard report and the functionality had been pretty solid for some time. What we found was that, at some point, fields in the material master were hijacked for use in classifying materials. When it came time to use the fields for their intended purpose, they were already being used. So, a work-around was developed. I won’t go into too much detail as it’ll distract from my point, but the end result was that standard reports were not working as SAP intended. The customer was forced to redevelop the standard reports (they did not move the data because a custom application had been developed on top of the various hijacked fields so redeveloping the report seemed easier) to be able to report properly. I certainly do not have a feel for the costs involved, but I imagine that maintenance, and of course the workarounds, are going to have a long-term cost.
This may seem like an extreme case. You might even be thinking, who would do this? Definitely not us. I can almost guarantee that if you look at your master data (customer master, material master, etc.) you will find fields that are being used for purposes not intended. I have worked with numerous companies over the years (this is not a problem specific to SAP) and have yet to find one that does not have this issue. Most times, this happens very innocently, as I outline in the below scenario:
Business manager: “Hey we need to track this data for all our materials in the US plant.”
Business analyst: “I see that in the material master data record, no one seems to be using this field.”
Business manager: “OK, let's start maintaining it there from now on. Oh and by the way, create a report that includes this field.”
I am certain this conversation happens regularly, and may end up costing this company in the long-run when the master data’s intended purpose is required. This could be further exasperated in a global company if each region uses the data differently. We saw this recently when working on a master data project and trying to harmonize a company's master data globally.
The benefit of a ERP system is the tight integration that it provides. In the past, the practice of hijacking fields was common, but had little impact. Systems were generally islands, so modifying the data in the WM system would not affect the finance system. But with ERP everything is integrated, which means that a small decision in one area can affect other areas and/or functionality.
So, what do we do?
Say "NO" to hijacking master data fields for unintended purposes.
I realize the easier path is to use a field. However, here are a couple things to consider:
- The field may be integrated to other areas and populating it might affect integrated functionality. Even if you are certain if has no effect, few master data values are maintained that are not utilized somewhere. Even if you are still certain, realize that an upgrade may change the behavior.
- The field probably has a definition that defines its purpose. For instance, hit F1 - what is the description of its use? You certainly can train the current users to use the field differently, but what about a year from now? What about users in other areas that may access the data? How are they to know that the field does not have its intended meaning? Have you ever attended a meeting where data presented differs, depending on who runs a report?
There are always exceptions, of course, but as a general rule: avoid when possible. Master data management and governance is a large topic these days, because maintaining master data incorrectly or classifying it incorrectly incurs a large cost for any company. Avoid this practice, and you’ll benefit in the long run.
Give me your thoughts?