Managing Custom Code – SAP Cloud ALM or SAP Solution Manager?
You can extend SAP S/4HANA Cloud via custom code. How can you manage the custom code by using the ALM solutions SAP Cloud ALM or SAP Solution Manager? This is another relevant aspect for you when choosing between the two Application Lifecycle Management (ALM) options. In this blog post, I want to briefly describe the differences. This post is another element of my blog series ALM for SAP S/4HANA Cloud.
Implementing custom code enables you extending the functionality of SAP standard software and adapting it to your company-specific needs. However, maintenance of custom code will be required later. This can cause significant effort.
How important is custom code management for you?
The importance of custom code management is influenced by which version of SAP S/4HANA Cloud you use. You have three extensibility options for the public SAP S/4HANA Cloud:
- Key user in-app extensions: As an authorized user, you can make easy changes directly in the app. You would use this for e.g., user interface adaptation, custom fields, custom business logic, custom forms, or custom analytical queries.
- Side-by-side extensibility: Build own custom app on SAP Business Technology Platform (BTP) and access SAP S/4HANA Cloud loosely coupled via remote APIs.
- Developer extensibility (upcoming): SAP plans that you can develop your custom code directly on SAP S/4HANA Cloud. The advantage of this will be the tighter coupling of your code and the SAP code. However, access to the SAP S/4HANA Cloud data will still be possible via public APIs only
All these options are based on stable extension points and public APIs. Only extensibility is allowed that does not block SAP software updates and continues to work after an update without manual steps. This reduces the effort of custom extensions maintenance significantly.
More extensibility is possible for SAP S/4HANA Cloud, private edition. You have full customizing and extension options. Even modification of SAP standard code is possible, although SAP does not recommend it. However, the free-style custom ABAP development hardens the maintenance of the custom code. More dependencies between your custom code and the SAP standard code might need to be checked. Custom code management gets more important here.
Having more options does not force you to use all of them. If you start a new implementation on SAP S/4HANA Cloud, private edition, you could say: “We want that all custom code uses existing open APIs only to communicate with the SAP standard code and data”. This will save a lot of effort for custom code maintenance later.
The situation is different if you are making a transition from your on-premise SAP Business Suite to SAP S/4HANA Cloud, private edition. In this case, there can be some ABAP custom code that has been implemented on the existing system earlier without following strong restrictions. And you cannot just remove the existing code.
Custom code management in ALM – the historical view
Custom code management started more than 10 years ago in SAP Solution Manager 7.0. The goal was to analyze customers’ systems on custom ABAP developments, and to optimize upgrades to these developments. Main goals were:
- Gaining transparency on usage of custom developments,
- Realizing big saving potential by clearing found obsolete custom-specific objects
- Accelerating upgrade projects
At that point of time, there were some tools available in the ABAP Workbench for dealing with custom code. But a central concept was missing until SAP introduced the Custom Development Management Cockpit (CDMC) in SAP Solution Manager. Meanwhile, the functionality of SAP Solution Manager has been enhanced to cover full Custom Code Lifecycle Management (CCLM) to ensure continuous control of custom code quality and usage throughout the entire lifecycle.
Custom Code Management outside SAP Solution Manager
Over time, the ABAP Development Tools have been enhanced. You have better options for managing your custom code now within the development environment itself.
In addition, Custom Code Analytics is an application in SAP ONE Support Launchpad that provides transparency on the custom code footprint of your ABAP systems and gives tool-based insights on quantity, code quality, complexity, and usage of your custom code. It uses automated Early Watch Alert (EWA) based data collection without needing to access your system directly.
The ABAP Test Cockpit (ATC) is part of the SAP NetWeaver Application Server for ABAP, which is the platform for SAP S/4HANA Cloud. It is SAP’s central quality assurance infrastructure for static functional, performance and security code checks. It bundles quality tools like syntax check, enhanced program check (SLIN), ABAP Unit, security checks and is extensible for custom checks. Use ATC to check the quality of your custom code and to find improvement options. ATC can also be used as a tool to achieve the smooth migration of ABAP code to SAP HANA and SAP S/4HANA by special SAP HANA and SAP S/4HANA checks.
You are planning the transition from SAP ERP Central Component (ECC) to SAP S/4HANA Cloud, private edition? Then the SAP Fiori Custom Code Migration app might be beneficial for you as well. You can check if your existing custom code is ready for SAP S/4HANA and SAP BTP (Business Technology Platform). And it helps to find and remove obsolete code. This will help you to reduce costs for adapting and maintaining custom code significantly.
Custom Code Management in SAP Cloud ALM
SAP Cloud ALM is available from 2020. The above-mentioned tools were available already at that time. Therefore, SAP decided that the development of custom code management tools within SAP Cloud ALM is not urgent. You can start directly with the tools in SAP BTP and SAP ONE Support Launchpad now. However, we plan to offer services for custom code management in SAP Cloud ALM in the future.
And if you are using SAP Solution Manager for this: It is your choice. Either continue with SAP Solution Manager or switch to the SAP BTP custom code management tools.
When thinking about using SAP Solution Manager or SAP Cloud ALM for SAP S/4HANA Cloud: Please consider the following questions regarding Custom Code Management:
- Which type of SAP S/4HANA Cloud are you using?
- What is more important for you: Using custom code for adapting SAP S/4HANA Cloud to your needs, or staying close to the standard whenever possible?
- SAP Cloud ALM does not support Custom Code Management – Are the available tools an alternative for you?
- If you are using SAP Solution Manager for Custom Code Management – do you want to continue?
You can add these bullets to your decision table mentioned in my earlier blogs as well.
Please post your comment below if you have any related remarks or questions.
This blog post is part of my series: ALM for SAP S/4HANA Cloud. Please stay tuned to read more on this topic. <Start blog> <Previous blog> <Next blog>
And follow the tags SAP Cloud ALM or SAP Solution Manager for related information. Thank you.
How to reconcile the numbers for custom objects in an ECC 6.0 EhP 8 system from:
Best regards Thyge
In SAP Solution Manager, you can use Custom Code Object List in the Custom Code Library.
Regarding Custom Code Analytics, please refer to the blog post Custom Code Analytics – One tool for complete custom code transparency | SAP Blogs.
Best regards, Cay
Thank you for the two links which nicely explain SolMan CCLM, and "Lauchpad tile" Custom Code Analytics.
I am trying to reconcile (= make one number consistent with another) the output from the two options.
At least a high-level explanation of
"what does SolMan CCLM find, which the other option does not"?
"what does SolMan CCLM NOT find; which the other option does"?
Hoping to at least get a conceptual answer, or comment
Best regards Thyge
It is not possible to count the number of custom code objects in an ECC 6.0 EhP 8 system without having access to the system. So I can't provide an answer for your system here.
For a blank new system, the number of custom code objects is zero. The number just depends on how many custom code objects you as a customer of SAP have created. This number is customer individual. You have to check it yourself.
Best regards, Cay