Is your ABAP custom code future proof for S/4HANA?

Most likely, every productively used SAP system contains some custom ABAP developments. SAP itself claims that on average, an ABAP system has over 20000 customer namespace objects. 65% of these have not been used in past months and up to 15% are almost identical or clones to SAP standard code. 60% of the custom code contains code inspection messages — which indicates low quality. Quite shocking numbers but also the normality — this is not a critical topic for most. So you have some unused code, not a big deal — maybe does take some extra DB space, but that’s all. And the programs do what they should, coding quality doesn’t matter that much. But it is, just with a very long fuse. This will most probably happen with a major system upgrade. Custom code must be checked for any needed modifications and then be tested. This will create huge workload on the IT, usually it’s also very time critical and developer time is expensive. Imagine you could just cut away 50% of that workload by deleting the unused code. Do you know how many custom objects are in your systems, what is the usage and how good is the quality? Is your code future proof (S/4HANA)?

To answer these questions, SAP has created a central tool in Solution Manager — Custom Code Lifecycle Management (CCLM). It’s made to support managing the whole lifecycle of ABAP developments from creation to decommissioning. It provides tools to enrich the code with detailed documentation and assign clear ownership. Collect all the information from managed systems, monitor and analyze code usage and enables to plan the next steps. Whether it’s to retire unused code, improve quality or prepare for the future. This is a long process and should be started well in advance, before it becomes urgent.

SAP Solution Manager — Different Screens of CCLM

CCLM is a Solution Manager (preferably on the latest SP level) functionality, but most of the needed work to collect the data must be done on managed systems. SolMan is a central hub for all the data and analyzing tools. To get full overview, collection must be done across the full landscape. Custom code objects should be collected from all systems (DEV-QA-PRD), quality is best checked from QA and usage data of course from PRD. Data collection period must be long enough to collect usage data on all business processes (e.g. also rare but critical processes like year-end closing etc.) before starting analyzing.

CCLM utilizes multiple tools to collect and check the data. Usage and Procedure Logging (UPL) (old) / ABAP Call Monitor (SCMON) (new) to collect usage data, ABAP Test Cockpit (ATC) to check code quality. Objects are only collected for main types: CLAS, FUGR, FUNC, METH, PROG and TRAN.

Inside Solution Manager, CCLM offers multiple tools. Object viewer, different dashboards for visual overview (so called “city model”), KPIs, history and trends. Quality and Decommissioning cockpits are project-based tools to help working with findings and start improving the systems. In Decommissioning there is possible to create a Black List Monitor, where unwanted objects can be blocked for execution. As all data is stored in BW, custom reporting can be made based on that.

To sum up CCLM, enables you to:
- Get insight on the custom code state and usage
- Retire unused code and cleanup the systems
- Reduce unnecessary clones and modifications, return to SAP standard
- Helps to focus on the critical objects
- Improve custom code quality to be ready for future technologies (S/4HANA, HANA, cloud)
- Improve custom code quality against security and performance issues
- Improve documentation and helps to establish guidelines for developers

And benefits:
- Reduce costs on maintaining custom code
- Reduce test efforts
- Increase quality
- Make software lifecycle changes easier and quicker
- Be ready for new innovations