SAP ATC Checker - Run ABAP Test Cockpit checks with any check variant via SAP ADT API
SaferSkills independently audited sap-atc-checker (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
This skill performs SAP ATC (ABAP Test Cockpit) checks using any configured check variant to validate ABAP code quality, compliance, and best practices.
SAP ATC (ABAP Test Cockpit) is SAP's central framework for static code analysis of ABAP programs. It provides:
ATC checks are run via check variants -- named configurations that bundle specific checks together. Different variants target different concerns.
| Variant | Purpose | Typical Use Case |
|---|---|---|
| DEFAULT | System default checks | General code quality gate |
| CLEAN_CORE | Clean Core compliance -- "Usage of APIs" check | Ensuring extensibility compliance |
| ABAP_CLOUD_DEVELOPMENT_DEFAULT | ABAP Cloud Readiness -- "Usage of Released APIs" check | Cloud migration checks |
| S4HANA_READINESS | S/4HANA migration readiness | Pre-migration assessment |
| ZABAP_CLOUD_DEVELOPMENT | ABAP Cloud development (Z-variant) | System-specific cloud checks |
| (Custom) | Organization-specific rules | Internal standards enforcement |
Note: Available variants depend on your SAP system configuration. Run node --import tsx list-check-variants.ts to discover what is available on your system. The variants above are from SAP documentation and live-verified systems; your system may have different or additional variants.
Cloud Readiness vs Clean Core: The Cloud Readiness check ("Usage of Released APIs") and Clean Core check ("Usage of APIs") are related but distinct check categories. SAP provides a migration tool (zatc_cloud_rdnss_2_cln_core, SAP_BASIS 7.58+) to migrate exemptions from Cloud Readiness to Clean Core checks. See SAP/abap-atc-cr-cv-s4hc-tools for details.
ATC findings are classified by priority (severity). Priority 1 and 2 can both block transport release depending on system configuration.
| Priority | SAP Severity | Description | Action |
|---|---|---|---|
| 1 | Very High (Blocker) | Critical issue, blocks transport | Must fix before transport |
| 2 | High (Error) | Significant issue, may block transport | Fix before transport |
| 3 | Medium (Warning) | Non-critical, triggers notifications | Review and plan remediation |
| 4 | Low (Information) | Minor suggestion, informational | Optional improvement |
The ATC check follows a 5-step workflow via the SAP ADT (ABAP Development Tools) REST API:
/sap/bc/adt/atc/worklists?checkVariant=<VARIANT>/sap/bc/adt/atc/runs?worklistId=<ID> with object references/sap/bc/adt/atc/runs/<runId> until finished/sap/bc/adt/atc/worklists/<ID> for findings/sap/bc/adt/documentation/atc/documents/... per finding| Type Code | Object Type | ADT URL Path |
|---|---|---|
| CLAS, CLAS/OC, CLAS/I | Class | oo/classes |
| INTF, INTF/OI | Interface | oo/interfaces |
| PROG/P | Program | programs/programs |
| PROG/I | Include | programs/includes |
| FUGR, FUGR/F | Function Group | functions/groups |
| FUNC | Function Module | functions/functions |
| DDLS, DDLS/DL | CDS View | ddic/ddl/sources |
| BDEF, BDEF/BD | Behavior Definition | bo/behaviordefinitions |
| SRVD | Service Definition | ddic/srvd/sources |
| SRVB | Service Binding | businessservices/bindings |
| TABL, TABL/DT | Table | ddic/tables |
| STRU | Structure | ddic/structures |
| DTEL | Data Element | ddic/dataelements |
Use this skill when you need to:
For Clean Core-specific checks, the CLEAN_CORE variant provides Clean Core compliance checking. See the Workflows section in README.md for recommended assessment sequences.
.env file (searches project root)run-atc-check.ts# With default variant
node --import tsx run-atc-check.ts ZCL_MY_CLASS
# With specific variant
node --import tsx run-atc-check.ts ZCL_MY_CLASS --variant S4HANA_READINESS
# Display only (no file save)
node --import tsx run-atc-check.ts ZCL_MY_CLASS --variant ABAP_CLOUD_DEVELOPMENT --no-saveOptions:
--variant, -V NAME - Check variant (default: system default)--output, -o FILE - Custom output file path--no-save - Do not save report--env PATH - Path to .env file--help, -h - Show helplist-check-variants.ts# Display available variants
node --import tsx list-check-variants.ts
# Output as JSON
node --import tsx list-check-variants.ts --json
# Use custom .env file
node --import tsx list-check-variants.ts --env /path/to/.envOptions:
--json - Output as JSON--env PATH - Path to .env file--help, -h - Show helpbatch-atc-parallel.ts# Check package with default variant
node --import tsx batch-atc-parallel.ts ZPACKAGE
# Check with specific variant and concurrency
node --import tsx batch-atc-parallel.ts ZPACKAGE --variant S4HANA_READINESS --concurrency 5
# Check from file
node --import tsx batch-atc-parallel.ts objects.txt --variant ABAP_CLOUD_DEVELOPMENT --max 50
# Initialize progress tracking for large packages
node --import tsx batch-atc-parallel.ts ZPACKAGE --init-progress --variant CLEAN_COREOptions:
--variant, -V NAME - Check variant (default: system default)--concurrency N - Parallel checks (default: auto, range: 3-10)--max N - Maximum objects to process--init-progress - Initialize progress tracking--with-docs - Include detailed documentation (slower)--env PATH - Path to .env file--help, -h - Show helptsx package (will be installed if needed)S_RFC for ADT API accessS_DEVELOP (activities 03, 16) for code analysisS_Q_GOVERN (activity 31, ATC_OTYPGO 01) -- only needed for exemption approval.env file with SAP connection detailsCreate a .env file in your project root with:
# Required
SAP_HOST=your-sap-host.com
SAP_CLIENT=100
SAP_USERNAME=YOUR_USERNAME
SAP_PASSWORD=YOUR_PASSWORD
# Optional
SAP_SID=ABC
SAP_INSTANCE_NUMBER=00
SAP_LANGUAGE=EN
SAP_SECURE=trueWhen the user invokes this skill, follow these steps:
Check if a .env file exists in the project root:
ls -la .env.env fileAsk the user:
npm installnode --import tsx run-atc-check.ts <OBJECT_NAME> --variant <VARIANT>Or without variant (uses system default):
node --import tsx run-atc-check.ts <OBJECT_NAME>The script outputs:
If No Findings:
ATC Check Passed!
The object <OBJECT_NAME> has no findings with variant <VARIANT>.If Findings Exist:
ATC Check Results for <OBJECT_NAME> (Variant: <VARIANT>)
Summary:
- Errors: X
- Warnings: Y
- Info: Z
Errors:
1. [Description]
- Line: X
- Check ID: Y
- Priority: 1 - Very High (Blocker)
- Quickfix: automatic/manual/none
[Continue for all findings...]
Next Steps:
- Address all errors before transport
- Review warnings for remediation planning
- Consider info findings for best practicesConnection Failures:
.env file credentialsS_RFC, S_DEVELOP activities 03/16)Object Not Found:
Variant Not Found:
list-check-variants.ts to see available variantsNo CSRF Token:
This skill is self-contained -- all SAP ADT API calls are made directly by the TypeScript scripts. No MCP server required.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.