Over time, the amount of SAP custom code in a company's SAP landscape will increase as new features are added and business processes evolve. It's often quite hard to determine or keep track of the amount of custom code in that SAP landscape because it evolves organically over time as part of "business as usual" activities. Custom code management functions provided by SAP Solution Manager can help organizations reduce costs and improve the quality of the code while reducing unnecessary enhancements.
In the following sections, I will highlight some areas in which custom code can become a liability, but illustrate the practices that anyone can employ to negate the risks and reap the rewards.
Higher support costs
Custom code becomes a support liability to any organization over time. It needs to be maintained, upgraded and enhanced over its lifetime, and may require additional infrastructure costs to help speed up poorly performing custom code as it slows down due to increasing data volumes.
For more on SAP Solution Manager
Tips for building an SAP Solution Manager roadmap
Use content accelerators to get SAP Solution Manager up and running in less time
Additionally, many companies fail to update their documentation to reflect changes brought by new custom code development. This lack of documentation, including information about business function ownership, compounds the support cost of custom code.
A large percentage of the custom code companies have is either obsolete or used infrequently. Around one-third of all custom code I have classified at over 10 sites in Australia is not being used at all. By identifying how custom code is -- or isn't -- being used, you can begin to classify ownership and determine its value to the business.
The costs of missed innovation
Inadequate technical skills may lead companies to modify or clone SAP standard code rather than using modern enhancement techniques. Ongoing reliance on cloned or modified SAP standard code introduces bad practices into your organization. That may prevent the uptake of new innovations delivered by SAP Enhancement packs and upgrades.
Increased risk and testing overhead during upgrades
We all know that testing efforts required during an SAP upgrade process can be significant. Businesses can mitigate the risk and effort required by identifying which SAP components their custom code relies on. This helps to predict the impact and testing effort required due to changes in these SAP components resulting from the upgrade or support pack.
Follow the proven four-step custom code management approach
To tackle your custom code project, it is recommended you proceed by following this four-step process:
1. Custom code transparency
Gaining transparency into the amount of custom code is achieved by building an accurate repository of custom code objects across the entire SAP landscape. This central repository can then be used to identify custom code usage, utilization and business impact.
Custom Code Lifecycle Management, or CCLM, is the SAP Solution Manager tool that serves as the first line of defense used to build a transparent baseline of custom code objects together with development class, author, version and usage data.
2. Custom code control
Businesses can control your custom code by identifying which parts of their custom code have been executed in the SAP landscape and which code is not being used and is "dead."
A most useful process commonly used to control custom code is the Clone Finder tool, which can be accessed using the Custom Code Analysis transaction /SDF/CD_CCA. There, you can analyze your entire custom code library to determine clones, modifications and links to SAP standard code. The Clone Finder can be used to determine the degree of their similarity to the SAP original objects they were once copied from.
3. Custom code optimization
Once you have determined the magnitude of custom code in the SAP landscape and how often it is executed, it is now time to focus on optimization of this investment in custom code.
You can use the Custom Development Management Cockpit (CDMC) to identify and classify custom code to determine what effect an SAP upgrade or enhancement pack will have on custom code, and where problems lie.
4. Custom code reporting
You can use SAP Solution Manager dashboards to manage a series of key performance indicators, or KPIs, across your custom code library. These dashboards will help to communicate a consistent message to all levels of the organization by measuring just how "best-run" your custom code actually is.
The following standard SAP Solution Manager dashboards are predelivered, and offer the following reporting capabilities:
- Evaluation of your custom code footprint by measuring all enhancements and developments in the landscape, classified by object type.
- Optimization of the quality of your custom code objects by measuring the success of custom developments.
- Determining exactly how much custom code is being used.
- Determining all unused custom code objects.
Determining custom code usage statistics by week or month.
This article represents a small subset of the details covered by the author in the SAP Press publication Managing Custom Code in SAP. SAP Press offers all TechTarget readers a 10% discount when ordering this publication by using the "TECHTARGET" coupon code.
This was first published in July 2013