Custom code management is important to control costs and quality. SAP Solution Manager provides tools to gain transparency into an organization's custom code base, control custom code through identifying unused code and clones, optimize custom code, and report on key metrics. The four-step approach involves determining the amount of custom code, controlling it, optimizing it, and reporting on custom code management KPIs.
Master custom code management with sap solution manager
1. Master custom code management with SAP Solution Manager
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
Create a blueprint for deploying SAP Solution Manager
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.
Unused 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.
2. 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
Figure 1. Determining how much custom code there is to begin with
3. 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.
Pro+
Features
Enjoy the benefits of Pro+ membership, learn more and join.
E-Handbook
SAP HANA architecture draws attention anew -- will it draw users?
E-Handbook
Selecting an SAP business intelligence and data warehousing platform
E-Handbook
Can SAP move to the tune of enterprise mobility?
Figure 2. How often is the custom code used?
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
4. Figure 3. Solution Manager offers a series of custom code analysis tools available for each managed
system
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."
5. Figure 4. Using Clone Finder to locate replicated code, or "clones"
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
Figure 5. A change analysis report
6. 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:
Figure 6. A typical custom code dashboard
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.
7. Determining all unused custom code objects.
Determining custom code usage statistics by week or month.