Skip to content
ERP Preflight

Migration Template Intelligence

Validates SAP Migration Cockpit load files (migration templates, XML or CSV) against the schema the template declares: mandatory fields, field lengths and types, duplicate keys, hierarchy parents and cross-sheet references — with the record keys the load will report

Content reviewed September 26, 2026

Engine
MIGRATION_TEMPLATE_INTELLIGENCE
Domain
Migration & Clean Core
Version
1.0.0
Target releases
S4H_2022, S4H_2023, S4HANA_CLOUD_2402, S4HANA_CLOUD_2408
Accepted formats
XML, CSV, TEXT

Input contract

SAP data migration template (Migration Cockpit 'Migrate Your Data' load file): the Excel 2003 XML spreadsheet as downloaded from SAP (all sheets, document properties OBJECT_NAME / VERSION / LANGUAGE, field list) or the CSV of one data sheet including its header rows (as converted from an XLSX by the upload): title row, SAP structure names, SAP field names, the type-specification row ('ETE;80;0;C;80;0'), group names ('Schlüssel' / 'Key') and field descriptions ('*' = mandatory), then the data rows. EN and DE templates.

Required input

  • A migration template data sheet with its type-specification row (XML spreadsheet or CSV)
  • Configuration options: existing_keys (record keys that already exist in the target system, e.g. parents loaded in an earlier delta; excluded from missing-parent / missing-reference findings), max_rows (default 1048576).
  • Values are compared after trimming leading / trailing blanks. Dates: YYYYMMDD, YYYY-MM-DD[THH:MM:SS], DD.MM.YYYY, MM/DD/YYYY or DD/MM/YYYY, 00000000. Numbers: optional sign, digits, one decimal separator, thousands grouping; the declared length includes the decimals.

Finding codes

Finding codes (8)

  • MIG_TEMPLATE_DUPLICATE_KEYDefault severity: BlockerCategory: DATA_INTEGRITY

    Duplicate record key

    Remediation: Keep exactly one row per key (all key-group fields together); merge or remove the duplicates. The migration processes one source record per key, so duplicates are rejected or overwrite each other.

  • MIG_TEMPLATE_HIERARCHY_CYCLEDefault severity: BlockerCategory: OBJECT_HIERARCHY

    Hierarchy references form a cycle

    Remediation: Correct the hierarchy references so that no record is its own (indirect) parent; a cyclic hierarchy cannot be built by the migration.

  • MIG_TEMPLATE_HIERARCHY_PARENT_MISSINGDefault severity: BlockerCategory: OBJECT_HIERARCHY

    Hierarchy parent is not part of the load

    Remediation: Add the missing parent records to the template (above their children) or verify that they already exist in the target system and list them as existing keys. Children of a missing parent — and their descendants — cannot be placed in the hierarchy and fail during the load.

  • MIG_TEMPLATE_CROSS_SHEET_REFERENCE_MISSINGDefault severity: CriticalCategory: DATA_INTEGRITY

    Referenced record is missing on the parent sheet

    Remediation: Add the referenced records to the parent sheet of the template (or verify that they already exist in the target system); rows that reference a missing parent record cannot be created.

  • MIG_TEMPLATE_MANDATORY_FIELD_EMPTYDefault severity: CriticalCategory: DATA_COMPLETENESS

    Mandatory template field is empty

    Remediation: Fill the field in every listed row (the template marks it mandatory with '*' in the field description or 'mandatory for sheet' in the field list), or remove rows that are not meant to be migrated. Records with an empty mandatory field are rejected by the migration; an empty key field means the record cannot be created at all.

  • MIG_TEMPLATE_TYPE_MISMATCHDefault severity: CriticalCategory: DATA_FORMAT

    Value does not match the field type declared by the template

    Remediation: Correct the values to the declared type: dates as YYYYMMDD, YYYY-MM-DD or the country-specific format (31.12.2026 / 12/31/2026), times as HH:MM:SS, NUMC fields digits only, numbers with at most the declared decimals. Do not change the formatting of the template cells.

  • MIG_TEMPLATE_VALUE_TOO_LONGDefault severity: CriticalCategory: DATA_FORMAT

    Value exceeds the field length declared by the template

    Remediation: Shorten the values to the length stated in the template's type specification (for numbers: integer digits plus decimals) or map them to the target field length before the load; values longer than the field are rejected by the transfer.

  • MIG_TEMPLATE_SCHEMA_SUMMARYDefault severity: InfoCategory: SCHEMA

    Schema declared by the migration template

    Remediation: No action required: this is the schema (sheets, fields, types, mandatory and key fields) the template declares and the data was validated against. Check that the migration object and version match the target system's migration project.

Input validation codes (5)

  • MIG_TEMPLATE_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 Migration Template Intelligence (XML, CSV, TEXT) and re-run the analysis.

  • MIG_TEMPLATE_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 Migration Template Intelligence (XML, CSV, TEXT) and re-run the analysis.

  • MIG_TEMPLATE_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 Migration Template Intelligence (XML, CSV, TEXT) and re-run the analysis.

  • MIG_TEMPLATE_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 Migration Template Intelligence (XML, CSV, TEXT) and re-run the analysis.

  • MIG_TEMPLATE_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 Migration Template Intelligence (XML, CSV, TEXT) and re-run the analysis.

Back to the documentation
Migration Template Intelligence — ERP Preflight Docs