After years of continues improvements, each SAP ECC system becomes unique and a certain time in its life, for example to estimate and plan an upgrade, a software assessment may be required.
The level of complexity of the system itself, the number of different technical objects with the related SAP standard or SCN Community driven tools is so high that it’s quite easy to get lost.
To help keeping in mind the overall picture I designed a one page map, a poster that I’m glad to share with the community.
I perform Software Assessments without following a specific sequence but I always organize the results in a well structured directory that looks like the layers in the poster. In the same way the slides of the final presentation and the comprehensive spreadsheets adopt the same structure.
The goal of Software Assessments is to providing numbers (counters) of different types of objects and eventually provide indicators to help to estimate the complexity and difficultness. I think the SLOC, the number of line of code of custom objects is one of the most interesting indicators but I also keep into special consideration the number of modifications, enhancements and SAP Clones (copies of SAP standard objects modified by the customers).
At times it’s also very interesting to count the customizing entries to map number of defined company codes, plants, sales area but also document types and so on. Transaction SCU0 is very powerful and let you compare a client (e.g. your productive one) with a reference (e.g. 000 SAP standard).
- Used/Unused: I still feel a bit complex to classify an object as really used. For sure ST03N is an important source of information but I developed some tools that I use in my Assessments (I call them X-RAY sessions) because I think something is still missing in the standard.
- Reports/ Inbound and Outbound Interface / Automation: it’s normally very interesting to distinguish between read only reports and interfaces or utilities that update business data. Unfortunately technically they are all ABAP of type=1. The description and the package should specify what a kind of object it is. Also in this case I developed a some tools to SCAN the source code and classify for example as inbound interface an ABAP that contains a call to the BDC_OPEN function module.
Community driven Tools
- Blog: how many lines of custom ABAP code are inside your system?
- Blog: The specified item was not found.Blog: How many exit routines are active in your SAP ERP system?
- Code Gallery: ABAP-Download All Custom (Z) Objects with respect to DEV Class
- Code Gallery: Search for Strings in ABAP Source Code
- Solution Manager based tools are out-of-scope just because I’m still investing on them.
- I consider User Authorizations and Infrastructure as well as Performance related topics out-of-scope for this blog.