{"ref":"capability:abap-static-analysis","page":"/capabilities/abap-static-analysis","json":"/capabilities/abap-static-analysis.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"abap-static-analysis","name":"Static analysis","domain":"developer-experience","ecosystems":["abap"],"universal":false,"description":"Catching problems in code before it runs: naming, obsolete statements, security findings, and compatibility with a target environment. Style linting, security scanning and cloud-readiness checks are often treated as one concern.","short":"Catching problems in code before execution","core_coverage":{"state":"core-and-community","assessed_at":"2026-08-31","what_core_does":"ATC (ABAP Test Cockpit) runs check variants inside the system, including the checks that gate ABAP Cloud readiness.","where_it_stops":"It stops at the system boundary. ATC needs a system to run in, so it cannot gate a pull request before the code reaches one.","community_adds":"Checks that run outside the system on serialised source, in a pull request or in CI: [abaplint](artifact:abaplint-abaplint), with [abaplint-Ext-for-abapgit](artifact:marc-bernard-tools-abaplint-ext-for-abapgit) and the abaplint SCI client bringing its findings into abapGit, Code Inspector and ATC. Rule packs that run inside the system, such as [code pal for ABAP](artifact:sap-code-pal-for-abap) from SAP and [abapOpenChecks](artifact:larshp-abapopenchecks), extend ATC and Code Inspector, and analysers for CDS source and for single programs sit beside them.","sources":[{"url":"https://help.sap.com/docs/btp/sap-abap-development-user-guide/abap-cloud","title":"SAP Help — ABAP Cloud development user guide","checked":"2026-08-31"}],"relationship":"narrow-by-design"},"coverage_by_flavor":{"abap-cloud":{"state":"core-only","assessed_at":"2026-09-14","what_core_does":"Across the ABAP Cloud development model — the SAP BTP ABAP environment and SAP S/4HANA Cloud alike — ATC's default check variant, ABAP_CLOUD_DEVELOPMENT_DEFAULT, runs the checks for the ABAP Cloud code quality standard together with ABAP Unit test execution, and a finding at priority 1 or 2 blocks release of the transport it sits in by default.","where_it_stops":"Only ADT reaches it: ABAP Cloud carries no SAP GUI access, so the Code Inspector transaction that runs static analysis alongside ATC in standard ABAP is not there, and ABAP Development Tools for Eclipse is the one place a check variant runs or a finding is reviewed.","sources":[{"url":"https://raw.githubusercontent.com/SAP-docs/btp-cloud-platform/main/docs/30-development/assuring-quality-of-abap-code-22dcdf6.md","title":"SAP-docs/btp-cloud-platform — Assuring Quality of ABAP Code","checked":"2026-09-14","quote":"The default variant is set to ABAP_CLOUD_DEVELOPMENT_DEFAULT. It includes all recommended checks to fulfill the ABAP cloud code quality standard incl. the execution of ABAP Unit tests."},{"url":"https://raw.githubusercontent.com/SAP-samples/abap-cheat-sheets/main/19_ABAP_for_Cloud_Development.md","title":"SAP-samples/abap-cheat-sheets — ABAP for Cloud Development","checked":"2026-09-14","quote":"There is no access to SAP GUI (transactions SE80, SE24 etc. you may know from classic ABAP)"}]}},"history":[{"date":"2026-09-14","field":"coverage_by_flavor.abap-cloud","from":null,"to":"core-only","reason":"No provider of this capability states the abap-cloud flavor: [ACE](artifact:ysichov-ace) and [code pal for ABAP](artifact:sap-code-pal-for-abap) state only standard-abap, and [abaplint-Ext-for-abapGit](artifact:marc-bernard-tools-abaplint-ext-for-abapgit), [abaplint](artifact:abaplint-abaplint) and [@abapify/acds](artifact:abapify-acds) state no flavor at all — while ATC's own ABAP_CLOUD_DEVELOPMENT_DEFAULT check variant is SAP's documented default for the SAP BTP ABAP environment."},{"date":"2026-10-17","field":"description","from":"Catching problems before activation — naming, obsolete statements, security findings, and the cloud-readiness of a given object.","to":"Catching problems before execution — naming, obsolete statements, security findings, and compatibility with a target environment.","reason":"Keep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.abap. Maintainer-requested scope audit."},{"date":"2026-10-26","field":"core_coverage.community_adds","from":null,"to":"Checks that run outside the system on serialised source (abaplint and its bridges into abapGit, Code Inspector and ATC); rule packs inside the system (code pal for ABAP, abapOpenChecks); analysers for CDS source and single programs.","reason":"Reassessed against the graph (check:capabilities): the block named none of the providers that arrived after 2026-08-31. State unchanged, core-and-community still matches the providers."}],"drafted_with_ai":true,"framing_by_ecosystem":{"abap":{"description":"Catching problems before activation — naming, obsolete statements, security findings, and the cloud-readiness of a given object."}}},"sap_delivery":{"door":"abap","all":{"built_in":[],"documented_pattern":[],"announced":[],"packages":[{"ref":"artifact:sap-code-pal-for-abap","name":"code pal for ABAP","json":"/artifacts/sap-code-pal-for-abap.json"}]},"by_flavor":{"standard-abap":{"built_in":[],"documented_pattern":[],"announced":[],"packages":[{"ref":"artifact:sap-code-pal-for-abap","name":"code pal for ABAP","json":"/artifacts/sap-code-pal-for-abap.json"}]},"abap-cloud":null}},"edges":{"use_cases":[],"shared_tasks":[],"related_tasks":[],"options":[{"ref":"artifact:abap2ui5-linter","name":"@abap2ui5/linter","json":"/artifacts/abap2ui5-linter.json","ecosystem":"abap","origin_ring":"community-org"},{"ref":"artifact:abapify-acds","name":"@abapify/acds","json":"/artifacts/abapify-acds.json","ecosystem":"abap","origin_ring":"independent"},{"ref":"artifact:marcellourbani-vscode-abap-remote-fs","name":"ABAP remote filesystem","json":"/artifacts/marcellourbani-vscode-abap-remote-fs.json","ecosystem":"abap","origin_ring":"independent"},{"ref":"artifact:abap2ui5-playground","name":"abap2UI5 Playground","json":"/artifacts/abap2ui5-playground.json","ecosystem":"abap","origin_ring":"community-org"},{"ref":"artifact:abapcdsgrammar","name":"abapcdsgrammar","json":"/artifacts/abapcdsgrammar.json","ecosystem":"abap","origin_ring":"independent"},{"ref":"artifact:abaplint-abaplint","name":"abaplint","json":"/artifacts/abaplint-abaplint.json","ecosystem":"abap","origin_ring":"community-org"},{"ref":"artifact:marc-bernard-tools-abaplint-ext-for-abapgit","name":"abaplint-Ext-for-abapGit","json":"/artifacts/marc-bernard-tools-abaplint-ext-for-abapgit.json","ecosystem":"abap","origin_ring":"independent"},{"ref":"artifact:abaplint-abaplint-sci-client","name":"abaplint-sci-client","json":"/artifacts/abaplint-abaplint-sci-client.json","ecosystem":"abap","origin_ring":"community-org"},{"ref":"artifact:larshp-abapopenchecks","name":"abapOpenChecks","json":"/artifacts/larshp-abapopenchecks.json","ecosystem":"abap","origin_ring":"independent"},{"ref":"artifact:ysichov-ace","name":"ACE","json":"/artifacts/ysichov-ace.json","ecosystem":"abap","origin_ring":"independent"},{"ref":"artifact:ktaubmann-bella","name":"Bella","json":"/artifacts/ktaubmann-bella.json","ecosystem":"abap","origin_ring":"independent"},{"ref":"artifact:sonnyfrenzel-rgb-clean-core-io","name":"Clean-Core.io","json":"/artifacts/sonnyfrenzel-rgb-clean-core-io.json","ecosystem":"abap","origin_ring":"independent"},{"ref":"artifact:sap-code-pal-for-abap","name":"code pal for ABAP","json":"/artifacts/sap-code-pal-for-abap.json","ecosystem":"abap","origin_ring":"sap-official"},{"ref":"artifact:larshp-updownci","name":"upDOWNci","json":"/artifacts/larshp-updownci.json","ecosystem":"abap","origin_ring":"independent"}],"samples":[{"ref":"artifact:1dsag-atc-best-practice-guide","name":"ATC-Best-Practice-Guide","json":"/artifacts/1dsag-atc-best-practice-guide.json"},{"ref":"artifact:tobiashofmann-off-stack-abap","name":"off-stack-abap","json":"/artifacts/tobiashofmann-off-stack-abap.json"}],"explained_by":[{"ref":"content:devtoberfest-2026-abap-environment-partner-solutions-certification","name":"SAP BAIP, ABAP environment  – How to build partner solutions and get them certified","json":"/content/devtoberfest-2026-abap-environment-partner-solutions-certification.json"},{"ref":"content:devtoberfest-2026-news-from-custom-code-migration-ecc-to-s4hana","name":"News from Custom Code Migration: ECC to SAP S/4HANA Powered by Agentic AI","json":"/content/devtoberfest-2026-news-from-custom-code-migration-ecc-to-s4hana.json"},{"ref":"content:how-to-scan-custom-abap-for-security-issues-in-eclipse-step-by-step","name":"How to Scan Custom ABAP for Security Issues in Eclipse (Step-by-Step)","json":"/content/how-to-scan-custom-abap-for-security-issues-in-eclipse-step-by-step.json"},{"ref":"content:how-to-extend-abap-test-cockpit-on-sap-btp-for-custom-use-cases","name":"How to extend ABAP Test Cockpit on SAP BTP for custom use cases","json":"/content/how-to-extend-abap-test-cockpit-on-sap-btp-for-custom-use-cases.json"},{"ref":"content:abap-development-automation-with-arc-1-and-github-workflows","name":"ABAP Development Automation with ARC-1 and GitHub Workflows","json":"/content/abap-development-automation-with-arc-1-and-github-workflows.json"},{"ref":"content:taking-control-of-clean-core-when-to-use-project-kernseife-in-addition-to-standa","name":"Taking Control of Clean Core: When to Use Project Kernseife in addition to Standard SAP Tools","json":"/content/taking-control-of-clean-core-when-to-use-project-kernseife-in-addition-to-standa.json"},{"ref":"content:patterns-for-using-llms-in-abap-development","name":"Patterns for using LLMs in ABAP development","json":"/content/patterns-for-using-llms-in-abap-development.json"},{"ref":"content:teched-2026-ct1222","name":"Rethinking security for modern SAP solution landscapes","json":"/content/teched-2026-ct1222.json"}],"normative_context":[]}}