Check ABAP Cloud readiness
check_cloud_readinessAssess ABAP source for ABAP Cloud blockers before porting to Clean Core: parses at baseline and Cloud versions, diffs findings, grades tech debt. Static, no SAP connection.
Instructions
Assess how far ABAP source is from ABAP Cloud (Clean Core tier 1) by parsing it twice — once at a classic baseline (default v758) and once at version Cloud — and diffing: findings that appear only at Cloud are genuine cloud blockers (statements ABAP Cloud removed), reported in categories (dynpro, list output, native SQL, report events, …) with a transparent score, an A–D tech-debt grade and a verdict; findings already present at the baseline are reported separately as broken code, not migration work. It also reports snapshot-dated released-API observations for direct table and function-module references the parser can extract; those stay separate from the language-level blocker count and score. Use this when someone asks 'is this code cloud-ready / Clean Core compliant / S/4HANA-cloud safe', before porting classic ABAP into an ABAP Cloud environment, or for a graded tech-debt assessment of an abapGit export. It is static and parser-level: its released-API scan is not exhaustive dependency discovery, it does not connect to any SAP system or run ATC, and a 'ready' verdict means no detected language-level blockers — not a certification. Our A–D grade is blocker density (see gradeMeaning), NOT SAP's own Clean Core Level A–D; a target system's own released-API ATC check ("Usage of Released APIs (Cloudification Repository)" for SAP Cloud ERP Public Edition / "Usage of APIs (Cloudification Repository)" for SAP Cloud ERP Private Edition / on-premise, via variants such as ABAP_CLEAN_CORE_DEVELOPMENT / ABAP_CLEAN_CORE_READINESS) remains authoritative. Example: check_cloud_readiness({ "files": [ { "source": "REPORT zold.\nWRITE: / 'hi'." } ] }).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| files | Yes | Source files to analyze, up to 32 per call, 100k chars each. | |
| edition | No | SAP edition of the bundled Cloudification snapshot to check against: "s4hc" (default, SAP Cloud ERP Public Edition), "btp" (SAP BTP ABAP environment), or "pce" (SAP Cloud ERP Private Edition / on-premise). Release state and successors can differ by edition — the same object may be released in one and not yet in another. | s4hc |
| baselineVersion | No | Classic ABAP version the code is assumed to run on today; used to separate broken-anyway code from cloud blockers. | v758 |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| grade | Yes | Blocker-density tech-debt grade (see gradeMeaning): A = no blockers, B = ≤ 0.5 blockers/file, C = ≤ 2 blockers/file, D = more. The same objective count as the score, sized for assessment reports. | |
| score | Yes | 100 − 5×blockers, floored at 0. Transparent, not an oracle. | |
| edition | Yes | SAP edition the released-API findings were checked against. | |
| verdict | Yes | Banded verdict from the blocker count (0 / ≤5 / ≤20 / >20). | |
| fileCount | Yes | Files analyzed — the denominator of the grade's density banding. | |
| scopeNote | Yes | Exactly what this check does and does not cover. | |
| categories | Yes | ||
| gradeMeaning | Yes | What `grade` means: a banding of blockers per file. NOT SAP's own Clean Core Level A–D (see cleanCoreVocabulary.cleanCoreLevels for those) — do not conflate the two. | |
| baselineVersion | Yes | The baseline used. | |
| brokenAtBaseline | Yes | Findings that fail even at the baseline version — fix first, they are not migration items. | |
| cloudBlockerCount | Yes | Statements valid at the baseline but not in ABAP Cloud. | |
| cleanCoreVocabulary | Yes | SAP's real ATC vocabulary for released-API/Clean Core checks — see docs/atc-vocabulary.json (F04). | |
| releasedApiFindings | Yes | Released-API observations from the bundled SAP Cloudification snapshot (deprecated-API usage, direct non-released table access with successor hints, and which edition/source answered each one). Informational — NOT counted in cloudBlockerCount or score. | |
| releasedApiSnapshotDate | Yes | Date of the bundled released-API snapshot the releasedApiFindings reflect. |