Clean Core Object Guard
Token-based ABAP Cloud / Clean Core static analysis and released-object classification
Inhalt geprüft am 26. September 2026
- Engine
- CLEAN_CORE_OBJECT_GUARD
- Domäne
- Migration & Clean Core
- Version
- 2.2.0
- Ziel-Releases
- S4H_2022, S4H_2023, S4HANA_CLOUD_2402, S4HANA_CLOUD_2408
- Akzeptierte Formate
- ABAP, ZIP, JSON
Eingabevertrag
Custom ABAP source (report, class, function group include), an abapGit repository ZIP containing *.abap files, or an object list JSON {'objects': [{'name', 'type': TABL|FUNC|CLAS|DDLS}]} for release-status lookup.
Erforderliche Eingabe
- ABAP source with at least one statement, an abapGit ZIP, or an object list
- Released-object knowledge snapshot: clean-core-released-objects/2408.1
- configuration.abap_references accepts AST-derived references (kind TABLE|CDS|FUNCTION_MODULE|CLASS|DYNAMIC|INTERFACE|TYPE|METHOD|FIELD, name, operation READ|WRITE|CALL, artifact, line, column) from an external analyzer such as abaplint (not bundled); they are classified by the same rules, capped at RULE_DERIVED.
- SQL access classification: INSERT / UPDATE / MODIFY / DELETE targets are database tables where the statement form says so; ambiguous short forms are resolved by the DATA / TYPES / FIELD-SYMBOLS / parameter declarations in scope, then by the knowledge snapshot, and only then by naming convention (a DB-write verdict on that heuristic basis is RULE_DERIVED, never VERIFIED). metrics.sqlAccess lists every decision.
- configuration.released_objects (sent by the API from the latest immutable knowledge-graph snapshot of the official SAP Cloudification Repository) takes precedence over the static list for the objects it covers; the snapshot id is recorded in every finding (knowledgeGraphSnapshotId). Objects in state 'deprecated' are reported as CLEAN_CORE_DEPRECATED_OBJECT_USED (with the successor the snapshot names).
- Release-state verdicts resting on the curated static list are capped at RULE_DERIVED (CURATED_UNVERIFIED knowledge); only exact-release snapshot verdicts can be VERIFIED.
Befundcodes
Befundcodes (10)
CLEAN_CORE_DIRECT_DB_MUTATIONStandard-Schweregrad: BlockerKategorie: MIGRATION_CLEAN_COREDirektes Schreiben in eine SAP-Standardtabelle
Behebung: Schreiben Sie niemals mit INSERT/UPDATE/MODIFY/DELETE in SAP-Tabellen: Verwenden Sie das freigegebene RAP-Business-Objekt (EML MODIFY ENTITIES) oder die freigegebene API der besitzenden Anwendung; direkte Schreibzugriffe umgehen Validierungen und sind in ABAP Cloud gesperrt.
CLEAN_CORE_DIRECT_DB_ACCESSStandard-Schweregrad: KritischKategorie: MIGRATION_CLEAN_COREDirektes Lesen einer SAP-Standardtabelle
Behebung: Ersetzen Sie das SELECT auf die Standardtabelle durch die als Nachfolger genannte freigegebene (C1) CDS-View (z. B. MARA -> I_Product); ist keine freigegeben, beantragen Sie eine über das Customer-Influence-Portal oder lesen Sie über eine freigegebene API.
CLEAN_CORE_OBSOLETE_SYNTAXStandard-Schweregrad: KritischKategorie: MIGRATION_CLEAN_COREVeraltete oder in der Cloud verbotene ABAP-Anweisung
Behebung: Refaktorieren Sie die Anweisung wie im Befund beschrieben; sie ist nicht Teil der ABAP-Sprachversion „ABAP for Cloud Development“.
CLEAN_CORE_UNRELEASED_APIStandard-Schweregrad: KritischKategorie: MIGRATION_CLEAN_COREAufruf eines nicht für die Cloud-Entwicklung freigegebenen Funktionsbausteins
Behebung: Ersetzen Sie den Aufruf durch den im Befund genannten freigegebenen Nachfolger (Cloudification Repository). Funktionsbausteine, die nicht in der Freigabeliste stehen, gelten als nicht freigegeben, bis SAP sie freigibt.
CLEAN_CORE_UNRELEASED_CLASSStandard-Schweregrad: KritischKategorie: MIGRATION_CLEAN_COREVerwendung einer nicht für die Cloud-Entwicklung freigegebenen Klasse
Behebung: Ersetzen Sie die Klasse durch den freigegebenen Nachfolger (z. B. CL_BCS -> CL_BCS_MAIL_MESSAGE); SAP-GUI-/ALV-Klassen haben kein ABAP-Cloud-Pendant und erfordern eine Fiori-Oberfläche.
CLEAN_CORE_DEPRECATED_OBJECT_USEDStandard-Schweregrad: HochKategorie: MIGRATION_CLEAN_COREVerwendung eines als veraltet (deprecated) eingestuften SAP-Objekts
Behebung: Ersetzen Sie das veraltete Objekt durch den im Befund genannten Nachfolger (Cloudification Repository). Veraltete Objekte sind vorerst weiter nutzbar, SAP kann sie aber in einem späteren Release entfernen; planen Sie die Umstellung vor dem nächsten Upgrade und führen Sie die Analyse erneut aus.
CLEAN_CORE_DYNAMIC_CALL_UNVERIFIABLEStandard-Schweregrad: HochKategorie: MIGRATION_CLEAN_COREDynamisches Aufrufziel nicht verifizierbar
Behebung: Dynamische Ziele (FROM (lv_tab), CALL FUNCTION lv_fm, CALL METHOD (…)) lassen sich nicht statisch prüfen. Ersetzen Sie sie durch statische Aufrufe oder beschränken Sie die möglichen Werte auf freigegebene Objekte und dokumentieren Sie die Positivliste; ABAP Cloud prüft dynamische Ziele erst zur Laufzeit.
CLEAN_CORE_UNRELEASED_OBJECTStandard-Schweregrad: HochKategorie: MIGRATION_CLEAN_COREVerweis auf ein Objekt außerhalb des Snapshots freigegebener Objekte
Behebung: Prüfen Sie den Freigabestatus des Objekts in ADT (Eigenschaften > API-Status) oder im Cloudification Repository; verwenden Sie den freigegebenen Nachfolger oder eine eigene CDS-View auf freigegebenen Views.
CLEAN_CORE_UNRELEASED_TYPE_REFERENCEStandard-Schweregrad: HochKategorie: MIGRATION_CLEAN_CORETypisierung mit einem nicht für die Cloud-Entwicklung freigegebenen DDIC-Objekt
Behebung: Typisieren Sie das Datenobjekt mit dem im Befund genannten freigegebenen Nachfolger (z. B. TYPE mara -> TYPE i_product, TYPE mara-matnr -> ein freigegebenes Datenelement oder CDS-Feld) oder einem lokalen Typ; ABAP Cloud weist die Typisierung mit nicht freigegebenen Tabellen und Strukturen bereits bei der Syntaxprüfung ab.
CLEAN_CORE_OBJECT_RELEASEDStandard-Schweregrad: InfoKategorie: MIGRATION_CLEAN_COREObjekt ist für die Cloud-Entwicklung freigegeben
Behebung: Keine Aktion erforderlich: Das Objekt ist im für diese Analyse verwendeten Wissens-Snapshot freigegeben (C1).
Codes der Eingabeprüfung (5)
CLEAN_CORE_ARCHIVE_REJECTEDStandard-Schweregrad: HochKategorie: INPUT_VALIDATIONArchiv durch Sicherheitsgrenzen der Datenaufnahme abgewiesen
Behebung: Das Archiv hat das Expansionsverhältnis von 100:1, die Gesamtgröße von 500 MB, die Eintragsanzahl oder die Verschachtelungstiefe von 2 Ebenen überschritten oder enthielt Pfadtraversierung bzw. verschlüsselte Einträge. Laden Sie ein flaches, unverschlüsseltes Archiv der Exportdateien hoch. Es wurde kein Ergebnis erzeugt. Exportieren Sie das Artefakt erneut in einem der von Clean Core Object Guard akzeptierten Formate (ABAP, ZIP, JSON) und starten Sie die Analyse erneut.
CLEAN_CORE_INVALID_INPUTStandard-Schweregrad: HochKategorie: INPUT_VALIDATIONArtefakt entspricht nicht dem Eingabevertrag der Engine
Behebung: Liefern Sie den für diese Engine dokumentierten Artefakttyp; fremde oder strukturell ungültige Dokumente werden abgewiesen. Es wurde kein Ergebnis erzeugt. Exportieren Sie das Artefakt erneut in einem der von Clean Core Object Guard akzeptierten Formate (ABAP, ZIP, JSON) und starten Sie die Analyse erneut.
CLEAN_CORE_PARSE_ERRORStandard-Schweregrad: HochKategorie: INPUT_VALIDATIONArtefakt konnte nicht geparst werden
Behebung: Beheben Sie den Syntaxfehler an der gemeldeten Zeile/Spalte (oder exportieren Sie die Datei unverändert erneut aus SAP). Es wurde kein Ergebnis erzeugt. Exportieren Sie das Artefakt erneut in einem der von Clean Core Object Guard akzeptierten Formate (ABAP, ZIP, JSON) und starten Sie die Analyse erneut.
CLEAN_CORE_PAYLOAD_TOO_LARGEStandard-Schweregrad: HochKategorie: INPUT_VALIDATIONArtefakt überschreitet die Größenbegrenzung
Behebung: Teilen Sie den Export auf (z. B. nach Paket, Buchungskreis oder Zeitraum), sodass jeder Upload unter der Nutzlastgrenze des Dienstes bleibt. Es wurde kein Ergebnis erzeugt. Exportieren Sie das Artefakt erneut in einem der von Clean Core Object Guard akzeptierten Formate (ABAP, ZIP, JSON) und starten Sie die Analyse erneut.
CLEAN_CORE_INSUFFICIENT_INPUTStandard-Schweregrad: InfoKategorie: INPUT_VALIDATIONErforderliche Eingabe fehlt
Behebung: Liefern Sie alle Eingaben, die der Engine-Vertrag als erforderlich kennzeichnet (siehe Eintrag im Engine-Katalog). Es wurde kein Ergebnis erzeugt. Exportieren Sie das Artefakt erneut in einem der von Clean Core Object Guard akzeptierten Formate (ABAP, ZIP, JSON) und starten Sie die Analyse erneut.