{"ref":"artifact:xexer-abap-ccm","page":"/artifacts/xexer-abap-ccm","json":"/artifacts/xexer-abap-ccm.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"xexer-abap-ccm","name":"Clean Core Measurement","artifact_type":"app","ecosystem":"abap","flavors":[{"key":"abap-cloud","source":{"url":"https://github.com/Xexer/abap-ccm","title":"Xexer/abap-ccm — README, Requirements","checked":"2026-10-10","quote":"We are testing the system in a SAP BTP ABAP environment where the ATC is configured against on-prem systems."}}],"domain":"operations-and-runtime","origin_ring":"independent","description":{"one_line":"An ABAP application for a central ATC system that imports Clean Core check results and reports them per system as Level A to D KPIs, technical debt scores and documented assignments.","short":"Reports Clean Core ATC results per system as Level A to D KPIs","what_it_solves":"Installs into the system the Central ATC runs on and turns what an ATC run produced into a measurement: it imports the results of a Custom Code Analysis project, scores each object's technical debt from the Information, Warning and Error messages at weights set in Business Configuration, and counts Level A and Key User objects per system. Twelve Fiori apps sit on the ABAP back end — a landscape dashboard, object, message and API lists, and the Document, Cluster and Assign apps that record who owns a finding and which product, team, group or company it belongs to. It runs no checks of its own: the default check variant is `ABAP_CLEAN_CORE_READINESS`, the Custom Code Analysis project and its recurring Application Job are planned per object provider by hand, and CCM reads the results afterwards. The ABAP sources come in through [abapGit](artifact:abapgit-abapgit) into a software component such as `ZBC_CCM`, and each of the twelve Fiori apps is deployed separately from its own repository, because the abapGit plugin does not carry BSP applications. Level A and Key User counts from a connected on-premise system need the function module `Z_CA_ATC_LEVEL_A_OBJECTS` installed there, enabled for RFC, listed in the [Cloud Connector](artifact:sap-cloud-connector) and reached through a Communication Arrangement per backend system."},"links":{"repo":"https://github.com/Xexer/abap-ccm"},"type_properties":{"placement":{"value":"in-host","sources":[{"url":"https://github.com/Xexer/abap-ccm","title":"Clean Core Measurement — README","checked":"2026-10-18","quote":"The project was designed to run on the same system as the Central ATC."}]},"distribution":{"value":["abapgit"],"sources":[{"url":"https://github.com/Xexer/abap-ccm","title":"Clean Core Measurement — README","checked":"2026-10-18","quote":"Use the abapGit plugin in your system to import the repository along with all its objects."}]}},"provides":[{"capability":"capability:abap-cloud-readiness","what_it_does":"Imports the findings of an ATC Clean Core check variant from a central ATC system and reports them per system as Level A to D KPIs, a technical debt score and Key User object counts, with documentation, cluster and development assignment recorded against the objects the checks flagged.","sources":[{"url":"https://github.com/Xexer/abap-ccm","title":"Xexer/abap-ccm — README, Introduction","checked":"2026-10-10","quote":"The CCM project provides you with a dashboard and various documentation tools to track your findings. The tool should run on the central ATC to enable process automation and easy access."},{"url":"https://github.com/Xexer/abap-ccm","title":"Xexer/abap-ccm — README, Features","checked":"2026-10-10","quote":"Dashboard with KPI (Level A to D, Key User objects, Scores)"},{"url":"https://github.com/Xexer/abap-ccm","title":"Xexer/abap-ccm — README, Configuration: Settings","checked":"2026-10-10","quote":"Configure the ATC variant you run to do the Clean Core checks against the systems"}]}],"requires":[{"ref":"artifact:sap-cloud-connector","for":"Reaching the function module in a connected on-premise system that returns the Level A and Key User object counts.","requirement":"conditional","condition":"the Level A and Key User object numbers are extracted from an on-premise system","sources":[{"url":"https://github.com/Xexer/abap-ccm","title":"Xexer/abap-ccm — README, On-Prem: Cloud Connector","checked":"2026-10-10","quote":"Add the function modules to the Cloud Connector configuration, so the system can have access to you On-Prem system and the function module."}]}],"maintainers":["actor:xexer"],"identity":{"license":"MIT"},"source_available":true,"drafted_with_ai":true,"provenance":{"discovered_via":[{"source":"source:curator"}],"first_seen":"2026-10-10"},"contributors":["actor:xexer"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"fair","evidence":"one contributor, personally owned"},{"label":"Repository","tier":"good","evidence":"pushed 2026-10, not archived"}],"compatibility":[{"label":"Declared for","tier":"fair","evidence":"nothing declared"},{"label":"Survived majors","tier":"unknown","evidence":"not read on ABAP: its lines run side by side"},{"label":"Maintainer's CI","tier":"fair","evidence":"no CI configured"}],"practice":[{"label":"Tests","tier":"good","evidence":"2 test files"},{"label":"Docs","tier":"good","evidence":"README 12 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":23,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-24","npm":"not published under this name","stars":23,"forks":0,"open_issues":0,"archived":false,"pushed_at":"2026-10-15","license_spdx":"MIT","org_owned":false,"default_branch":"main","created_at":"2026-06-21T16:38:04Z","open_prs":0,"tree_truncated":false,"test_files":2,"workflows":0,"other_ci":false,"readme_bytes":12186,"docs_files":0,"changelog":false,"license_file":true,"dts_files":0,"first_commit":"2026-06-21","last_commit":"2026-10-15","commits":57,"contributors":1,"readme_path":"README.md","readme_sha":"dcadca568a224cbda7c08e0bf39cb420e02b890a","repo_read":"2026-10-24"},"edges":{"maintainers":[{"ref":"actor:xexer","name":"Xexer","json":"/actors/xexer.json"}],"contributors":[{"ref":"actor:xexer","name":"Xexer","json":"/actors/xexer.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}