ECC2Cloud Navigator
Custom code remediation, obsolete transaction / table migration roadmap
Content reviewed September 26, 2026
- Engine
- ECC2CLOUD_NAVIGATOR
- Domain
- Migration & Clean Core
- Version
- 2.2.0
- Target releases
- S4H_2022, S4H_2023, S4HANA_CLOUD_2402, S4HANA_CLOUD_2408
- Accepted formats
- CSV, JSON, TEXT, ZIP
Input contract
Legacy landscape inventory: ST03N / SUIM usage CSV (TCode / Transaction / object_name column, optional ExecutionCount, AvgResponseTimeMs, UserCount, Module, Process, Owner), TADIR export (OBJECT, OBJ_NAME, DEVCLASS, AUTHOR), JSON rows {name, type, executions, module, process, owner} or typed lists {'img_items', 'tables', 'abap_objects', 'custom_objects', 'requirements'}, 'TCODE [count]' lines, or an abapGit repository ZIP (base64).
Required input
- At least one transaction, interface, IMG activity, table, ABAP / custom object or requirement
- Outcomes (spec §7.2): directly supported, successor available, extension required, process redesign, no equivalent, needs review (technical_details.outcome on every finding). Migration blockers (outcomes NO_EQUIVALENT, PROCESS_REDESIGN, EXTENSION_REQUIRED) are aggregated by module, severity, object type, business process and owner (metrics.additional_metrics.blockerBreakdown).
- IMG activities are mapped with the SPRO2Cloud catalog, tables / standard ABAP objects with the Clean Core released-object snapshot, requirements with the SAP Gap Radar capability catalog (identifier-first).
- abapGit: object types and names are derived from the serialised file names (<name>.<type>.<ext>); the archive is read under the SafeZipReader limits.
Finding codes
Finding codes (14)
ECC_IDOC_UNSUPPORTED_BLOCKERDefault severity: BlockerCategory: Interface ModernizationIDoc type not supported in the cloud target
Remediation: Redesign the integration with a released API or event; the IDoc basic type cannot be used in the target edition.
ECC_TCODE_NO_EQUIVALENT_BLOCKERDefault severity: BlockerCategory: Migration BlockerClassic transaction prohibited in S/4HANA Cloud
Remediation: The transaction (e.g. SE38, SM30-based maintenance) has no cloud equivalent; move the use case to ADT / ABAP Cloud development, key-user apps or SAP BTP.
ECC_OBJECT_NO_EQUIVALENTDefault severity: CriticalCategory: Migration BlockerLegacy object has no equivalent in the cloud target
Remediation: Treat as a migration blocker: adopt the standard process, move the requirement to a side-by-side extension on SAP BTP, or reconsider the target edition; do not plan a technical conversion.
ECC_BAPI_RFC_UNRELEASED_BLOCKERDefault severity: MajorCategory: Interface ModernizationUnreleased BAPI / RFC interface
Remediation: Unreleased RFC/BAPI calls are not permitted from outside in S/4HANA Cloud; migrate the caller to a released API (api.sap.com) or wrap the logic in a custom released OData service.
ECC_OBJECT_EXTENSION_REQUIREDDefault severity: MajorCategory: Migration AssessmentLegacy object needs a cloud extension
Remediation: Re-implement the custom object with ABAP Cloud (RAP business object, custom CDS view, released BAdI), key-user extensibility or a side-by-side extension on SAP BTP; run the Clean Core Object Guard on its source to size the work.
ECC_OBJECT_PROCESS_REDESIGNDefault severity: MajorCategory: Migration AssessmentLegacy object requires process redesign
Remediation: Plan a fit-to-standard redesign of the process on the successor concept named in the finding, with business sign-off; the legacy concept has no 1:1 replacement in the cloud target.
ECC_TCODE_CUSTOM_CODE_REVIEWDefault severity: MajorCategory: Clean Core Custom CodeCustom Z/Y transaction needs Clean Core review
Remediation: Re-implement the custom dynpro as a RAP-based Fiori Elements app in ABAP Cloud (tier 1) or a BTP side-by-side extension; run the Clean Core Object Guard on its source.
ECC_TCODE_OBSOLETE_REDESIGNDefault severity: MajorCategory: Process RedesignTransaction requires process redesign or is not in the cloud catalog
Remediation: Run a fit-to-standard workshop for the process behind the transaction; map it to the named successor concept or a standard Fiori app, otherwise to a BTP extension.
ECC_OBJECT_NEEDS_REVIEWDefault severity: MinorCategory: Migration AssessmentLegacy object could not be assessed automatically
Remediation: The object is not in the curated catalogs used for this assessment (absence is not proof of a gap); assess it manually or supply its release state / requirement details and re-run.
ECC_OBJECT_SUCCESSOR_AVAILABLEDefault severity: MinorCategory: Migration AssessmentReleased successor replaces the legacy object
Remediation: Switch every consumer (custom code, reports, interfaces) from the legacy object to the released successor named in the finding before cut-over; the legacy object itself is not available for cloud development.
ECC_BAPI_RFC_MODERNIZATION_FOUNDDefault severity: InfoCategory: Interface ModernizationReleased API successor for BAPI/RFC interface
Remediation: Re-point the integration to the listed released OData/SOAP API (Communication Arrangement) before cut-over.
ECC_IDOC_MODERNIZATION_EVENT_MESHDefault severity: InfoCategory: Interface ModernizationIDoc interface has an event / API successor
Remediation: Replace the IDoc with the listed business event (SAP Event Mesh / Advanced Event Mesh) or released API and adapt the middleware mapping.
ECC_OBJECT_DIRECTLY_SUPPORTEDDefault severity: InfoCategory: Migration AssessmentLegacy object is directly supported in the cloud target
Remediation: Carry the object over with the cloud equivalent named in the finding (SSCUI, released CDS view / API or standard capability); record the mapping in the migration workbook and re-test it in the quality tenant.
ECC_TCODE_SUCCESSOR_FOUNDDefault severity: InfoCategory: Fiori ModernizationFiori / cloud successor available for transaction
Remediation: Plan user adoption of the listed Fiori successor app and assign the business role/catalog; retire the classic transaction from roles.
Input validation codes (5)
ECC_ARCHIVE_REJECTEDDefault severity: MajorCategory: INPUT_VALIDATIONArchive 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 ECC2Cloud Navigator (CSV, JSON, TEXT, ZIP) and re-run the analysis.
ECC_INVALID_INPUTDefault severity: MajorCategory: INPUT_VALIDATIONArtifact 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 ECC2Cloud Navigator (CSV, JSON, TEXT, ZIP) and re-run the analysis.
ECC_PARSE_ERRORDefault severity: MajorCategory: INPUT_VALIDATIONArtifact 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 ECC2Cloud Navigator (CSV, JSON, TEXT, ZIP) and re-run the analysis.
ECC_PAYLOAD_TOO_LARGEDefault severity: MajorCategory: INPUT_VALIDATIONArtifact 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 ECC2Cloud Navigator (CSV, JSON, TEXT, ZIP) and re-run the analysis.
ECC_INSUFFICIENT_INPUTDefault severity: InfoCategory: INPUT_VALIDATIONRequired 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 ECC2Cloud Navigator (CSV, JSON, TEXT, ZIP) and re-run the analysis.