Skip to content
ERP Preflight

SAP Gap Radar

Fit-to-standard vs custom delta analyzer with Clean Core recommendations

Content reviewed September 26, 2026

Engine
SAP_GAP_RADAR
Domain
Migration & Clean Core
Version
1.2.0
Target releases
S4H_2022, S4H_2023, S4HANA_CLOUD_2402, S4HANA_CLOUD_2408
Accepted formats
JSON, TEXT

Input contract

Business / technical requirement statements: JSON {'requirements': [{'requirement': '…', 'scope_items': [...]}]}, {'requirement': '…'}, a JSON list, or plain text (one statement, or a bulleted / numbered / ID-prefixed list with one requirement per item).

Required input

  • At least one non-empty requirement statement
  • Every statement must be an SAP business or technical requirement (SAP process, object, configuration or extensibility term); unrelated prose is rejected as GAP_RADAR_INVALID_INPUT
  • GAP_RADAR_UNKNOWN_REQUIREMENT is only emitted for statements that ARE recognisably SAP requirements but match no curated tier keyword; non-SAP text never reaches the classifier.

Finding codes

Finding codes (13)

  • GAP_RADAR_BLOCKED_CLEAN_CORE_VIOLATIONDefault severity: CriticalCategory: MIGRATION_CLEAN_CORE

    Requirement implies a Clean Core violation (tier 11)

    Remediation: Direct table writes / modifications are not possible in the cloud; redesign against released APIs, RAP business objects or BAdIs.

  • GAP_RADAR_KNOWN_PRODUCT_GAPDefault severity: MajorCategory: MIGRATION_CLEAN_CORE

    Known product gap (tier 11)

    Remediation: Track the SAP roadmap item, raise an influence request, or cover the gap with a BTP extension.

  • GAP_RADAR_PARTIALDefault severity: MinorCategory: MIGRATION_CLEAN_CORE

    Requirement only partially met by a supported approach

    Remediation: Split the requirement: implement the part covered by the named supported capability, and run a fit-to-standard decision for the rest (restricted configuration, successor concept, or an identifier that is not in the capability catalog) before committing to a solution.

  • GAP_RADAR_SUPPORTED_WORKAROUNDDefault severity: MinorCategory: MIGRATION_CLEAN_CORE

    Requirement only met by a workaround (tier 10)

    Remediation: Document the workaround, its owner and an exit plan; re-check at every release.

  • GAP_RADAR_UNKNOWN_REQUIREMENTDefault severity: MinorCategory: MIGRATION_CLEAN_CORE

    Requirement could not be classified (tier 12)

    Remediation: Refine the requirement statement (process, object, integration point) and re-run, or assess manually.

  • GAP_RADAR_SUPPORTED_BUSINESS_EVENTDefault severity: InfoCategory: MIGRATION_CLEAN_CORE

    Requirement met by business events (tier 8)

    Remediation: Subscribe to the released business event via SAP Event Mesh / Advanced Event Mesh (Enterprise Event Enablement).

  • GAP_RADAR_SUPPORTED_CONFIGURATIONDefault severity: InfoCategory: MIGRATION_CLEAN_CORE

    Requirement met by configuration (tier 2)

    Remediation: Configure via the SSCUI / Central Business Configuration activity; record it in the configuration workbook.

  • GAP_RADAR_SUPPORTED_DEVELOPER_EXTENSIBILITYDefault severity: InfoCategory: MIGRATION_CLEAN_CORE

    Requirement met by developer extensibility (tier 4/7)

    Remediation: Implement in ABAP Cloud (RAP / released BAdI) in a tier-1 software component; no classic enhancements.

  • GAP_RADAR_SUPPORTED_KEY_USERDefault severity: InfoCategory: MIGRATION_CLEAN_CORE

    Requirement met by key-user extensibility (tier 3)

    Remediation: Implement with Custom Fields / Custom Logic / Custom CDS Views apps and transport via Software Collections.

  • GAP_RADAR_SUPPORTED_RELEASED_APIDefault severity: InfoCategory: MIGRATION_CLEAN_CORE

    Requirement met by released API (tier 6)

    Remediation: Use the released OData/SOAP API with a Communication Arrangement.

  • GAP_RADAR_SUPPORTED_RELEASED_CDSDefault severity: InfoCategory: MIGRATION_CLEAN_CORE

    Requirement met by released CDS views (tier 5)

    Remediation: Consume the released (C1) CDS view; never read the underlying tables.

  • GAP_RADAR_SUPPORTED_SIDE_BY_SIDEDefault severity: InfoCategory: MIGRATION_CLEAN_CORE

    Requirement met side-by-side on SAP BTP (tier 9)

    Remediation: Build the extension on SAP BTP (CAP / Build Apps) using released APIs and events.

  • GAP_RADAR_SUPPORTED_STANDARDDefault severity: InfoCategory: MIGRATION_CLEAN_CORE

    Requirement met by standard scope item (tier 1)

    Remediation: Activate the SAP Best Practices scope item; do not build custom objects for this requirement.

Input validation codes (5)

  • GAP_RADAR_ARCHIVE_REJECTEDDefault severity: MajorCategory: INPUT_VALIDATION

    Archive rejected by ingestion safety limits

    Remediation: The archive exceeded the 100:1 expansion ratio, 500 MB total size, entry-count or 2-level nesting limit, or contained path traversal / encrypted members. Upload a flat, unencrypted archive of the export files. No verdict was produced. Re-export the artifact in one of the formats accepted by SAP Gap Radar (JSON, TEXT) and re-run the analysis.

  • GAP_RADAR_INVALID_INPUTDefault severity: MajorCategory: INPUT_VALIDATION

    Artifact does not match the engine input contract

    Remediation: Provide the artifact type documented for this engine; unrelated or structurally invalid documents are rejected. No verdict was produced. Re-export the artifact in one of the formats accepted by SAP Gap Radar (JSON, TEXT) and re-run the analysis.

  • GAP_RADAR_PARSE_ERRORDefault severity: MajorCategory: INPUT_VALIDATION

    Artifact could not be parsed

    Remediation: Fix the syntax error at the reported line/column (or re-export the file unmodified from SAP). No verdict was produced. Re-export the artifact in one of the formats accepted by SAP Gap Radar (JSON, TEXT) and re-run the analysis.

  • GAP_RADAR_PAYLOAD_TOO_LARGEDefault severity: MajorCategory: INPUT_VALIDATION

    Artifact exceeds the size limit

    Remediation: Split the export (e.g. per package, company code or date range) so each upload stays under the service payload limit. No verdict was produced. Re-export the artifact in one of the formats accepted by SAP Gap Radar (JSON, TEXT) and re-run the analysis.

  • GAP_RADAR_INSUFFICIENT_INPUTDefault severity: InfoCategory: INPUT_VALIDATION

    Required input missing

    Remediation: Supply every input the engine's contract marks as required (see the engine catalog entry). No verdict was produced. Re-export the artifact in one of the formats accepted by SAP Gap Radar (JSON, TEXT) and re-run the analysis.

Back to the documentation
SAP Gap Radar — ERP Preflight Docs