This is the continuation of the previous blog How many lines of custom ABAP code are inside your system? published at the beginning of 2009 by Sergio Ferrari, my colleague and SAP Mentor.
The SLOC, the number of line of ABAP code of custom objects, is one of the most interesting indicators provided during a software assessment as described here.
In this new weblog I am going to share with the great SDN community the new version of the ABAP ZSDN_SIMPLE_ABAP_SLOC_COUNT, developed at night, during the few hours of free time.
Let me summarize briefly the improvements and extensions that this new version introduces.
- Fix some bugs reported in the previous blog
- New management of function groups and related objects.
- Packages and Objects descriptions
- Type Groups
- Dynpro Flow Logic of module pools and function groups (even if they are not properly ABAP …)
- BSP source (ABAP)
Currently out of scope
- Enhancement implementations (hook, class, etc. …)
- Adobe Form / SmartForms / SAPscript
- Web Dynpro
- SAP ECC 6.0
The utility can be downloaded as Slinkee (SAPLINK) from the project home page http://code.google.com/p/abapsloc/
Then Execute it and read the number of lines at the end of the list.
- If you specify in the selection screen the name of a main program (Report/Module Pool), the SLOC indicator of the related INCLUDE sub-objects sometimes may not be counted, because it should be used “where used” (table D010INC) that, if no refreshed, it doesn’t work.
The INCLUDEs in Function Groups instead, with the help of standard functionalities, are well managed.
So, in order to retrieve the total SLOC of a certain main program (with INCLUDEs) specifying the development class is enough (main objects and related sub-object are read from the object directory entry table TADIR), otherwise where used list should be regenerated.
- The selection by author works directly on the object directory entry table (TADIR); for the object type FUGR (function group), the author in TADIR often differs from the author of the last change in the corresponding program (TRDIR)