One of the questions that always comes up early in a project is to what extent customizations will be done. Customizations will always be done - there is no such thing as a 'plain vanilla' or 'out of the box' SAP HR implementation. Even in the simplest companies, the HR module has to be customized. That's just the nature of HR: every company does it differently.
In an SAP HR context, the level of acceptable customization gets to be a tricky question. There are certain parts of the module that were made to be customized - all sorts of configuration tables, features, schemas and rules. And the whole architecture of the system was made to enable companies to add their own data via custom infotypes - which is a combination of configuration and coding. At this point, I should probably explain the various levels & types of customization in SAP HR - from simplest & least invasive to the level of 'only do this if you really really know what you are getting into'.
- Configuration Tables: The most common and simplest way to customize the HR module; think about determining which infotypes are used in an action, time types & wage types, and so on.
- Features: Configuration that is used to query master data and make decisions based on the values; in the end, features get turned into ABAP 'CASE' statements, but that is transparent to the configuration person.
- Schemas and Rules: Used in Time Management and Payroll, these utilities generate configuration entries that are the business logic that calculates time-worked and payroll. It's not programming code, but pretty close to it.
- User exits & BAdis: Here is where you get to hook your custom ABAP code into predefined places in the HR module; used throughout the system to do things that can't always be done via the three previously mentioned customization methods.
- Custom Infotypes: SAP provides a transaction to create your own custom infotypes (and custom fields on standard infotypes) to store your own data that doesn't fit on their delivered, standard infotypes.
- Enhancement Points: With ECC 6.0, it's like a user exit pretty much anywhere you need it; hook your custom ABAP code into the system (pretty much) anywhere you need to.
Now, if you don't know what you are doing, you can go just as awry with Configuration Tables as you can with Enhancement Points. And that is the point I'm wanting to get to here - if you know what you are doing (how to do it, how not to interfere with standard SAP, how this will be impacted with upgrades & HRSP's and so on), then all of these customization methods are just fine. Users & consultants without much SAP HR implementation experience ought to spend their time at the top of the list; those with more experience and expertise can safely work throughout the list, from Table Configuration to Enhancement Points.
Generally, 90% of your customization time should be spent in the top three points of the list, and very little work should be falling into Custom Infotypes and Enhancement Points. It's not bad to add Custom Infotypes and Enhancement Points, but the impact of doing that can ripple through the system and have long term impacts - which is a good topic for my next blog here.
Steve Bogner - Managing Partner - Insight Consulting Partners - www.insightcp.com