AppApptypeAn application you deploy and use, installed into a system or loaded into an application as a component, rather than a library whose functions you call.See every one →What this type is →independently maintainedindependently maintainedoriginPublished by one person or a small company outside SAP. Says nothing about quality; the readings say that.See every one →

abap-metrics

An ABAP program that calculates software-engineering metrics for a class or a whole package, from lines of code and statements to complexity, coupling between objects and lack of cohesion.

A program, z_abap_metrics, run from SE38, SE80 or Eclipse ADT against a single class or a full package, for an automated measure of code complexity, maintainability and efficiency. It reports lines of code, comments, pragmas, statements and authors, alongside complexity of conditions, complexity weighted by decision depth, coupling between objects and lack of cohesion in methods; the level of calculation, the treatment of static method calls for the coupling figure and the aggregation type are chosen when it starts. The classes to analyse and their source come from an enhancement the installation creates in the local class cl_calc_code_metrics of SAP's own Code Metric Tool, /SDF/CD_CUSTOM_CODE_METRIC, at the end of its calc_code_metric_for_object method, which the maintainer calls a key functionality of the program. It is cloned with abapGit and its objects activated afterwards, and it needs SAP NetWeaver 7.40 SP8 or higher.

Facts

Last pushLicenceApache-2.0

Where it sits

Lives in
Provides
Code metricsABAPCode metricscapabilityMeasuring source code: its size, the complexity of its conditions, the coupling between classes and the cohesion inside one, and showing where those numbers concentrate across a package. Raising findings against a rule is [static analysis](capability:abap-static-analysis).
Requires
abapGitabapGitartifactClones the repository into the ABAP system; the README lists abapGit under Dependencies and gives it as the install method.

Who is behind it

Seretis KleanthisSeretis KleanthisPersonMaintains this
In the atlas: maintains 1, contributes to 1
@kseretis
maintainer

Before choosing this

Signals

ActivityQuietNo published releases; repository quiet for 43 months

It publishes no releases, and its repository has been quiet for at least 24 full months. This may be normal for stable software; check whether its current state still fits your use.

What it declares

Every artifact

Type
App
Origin
Independently maintained

As an app

Where it runs
Inside the system it serves
Distributed through
abapGit

Connections2

README

quoted from kseretis/abap-metrics under Apache-2.0, read
kseretis/abap-metrics/README.mdOn GitHub

Abap Metrics Tool (abap-metrics)

This project contains a program written in SAP ABAP that calculates important metrics for software engineering projects. The purpose of the program is to provide a convenient and automated way to measure key aspects of software development, such as code complexity, maintainability, and efficiency.

Metrics

The program takes into account a variety of factors, such as:

  • Lines of Code (LoC)
  • Number of Comments (NoC)
  • Number of Pragmas (NoP)
  • Number of Statements (NoS)
  • Number of Authors (Authors)
  • Complexity of Condition (COM)
  • Complexity Weighted by Decision Depth (Depth)
  • Coupling Beetwen Objects (CBO)
  • Lack of Cohesion in Methods (LCOM2)

Dependencies

  • Since Version 1.00 - SAP NetWeaver 7.40 SP8 or higher
  • abapGit

Instalation

  1. Clone repository using abapGit
  2. Activate the objects

Execution

  1. Look for "z_abap_metrics" program in SE38/SE80/Eclipse ADT and execute
  2. Analyse a single class or a full package
  3. Choose the level of calculation, static method calls for the CBO and the aggregation type

Good to know

Exept from the main program, the classes, some data elements and structures, an enhancement is being created in the local class "cl_calc_code_metrics" of the standard program "Code Metric Tool (/SDF/CD_CUSTOM_CODE_METRIC)", at the end of the method "calc_code_metric_for_object". The purpose of this enhancement is to extract a list of the classes for analysis and their source code. It's a key functionality of the program.

Apache-2.0, read

History

Latest

v1.0.0

Notes

The description of the program is fully mentioned in the Readme file.

Code metrics
  1. BenjaminWeisheit/ABAP-2-CODE-CHARTAConverts ABAP code metrics into Code Charta's JSON format

Details

Sources3
dotabapdiscovered herechecked
github.com/kseretis/abap-metricstree, pushes, contributors, CIchecked
README.mdquoted, and what the entry declareschecked

Sources are graph entities: the same page may back several entries, and an unreachable source flags every row that rests on it.

Compatibility and provenance
discovered viadotabap
first seen in the atlas
ecosystem and domainabap, developer-experience
abaplint
issues under its own abaplint configuration0
lines3,699
statements2,354
objects46
files77
analysed, main
abaplint version2.120.84
Flavors1
Standard ABAP
“Since Version 1.00 - SAP NetWeaver 7.40 SP8 or higher” — kseretis/abap-metrics — README, Dependencieschecked
History in the atlas1
  1. First seen.
For your agent
Ref
artifact:kseretis-abap-metrics
JSON
/artifacts/kseretis-abap-metrics.json
MCP
Connecting an agent