Error Log Root Cause
Reduces SAP message logs (Migration Cockpit, SLG1, message tables) to their primary cause groups: causal graph over objects, parent hierarchy, message order and message roles, affected objects, exact source rows and fix order
Content reviewed September 26, 2026
- Engine
- SAP_LOG_CAUSAL_ANALYZER
- Domain
- Operations
- Version
- 1.1.0
- Target releases
- S4H_2022, S4H_2023, S4HANA_CLOUD_2402, S4HANA_CLOUD_2408
- Accepted formats
- CSV, TEXT, JSON
Input contract
SAP message log export: Migration Cockpit message log (including the Fiori 'SAPUI5-Export' with Typ, Nachrichtentitel, Nachrichtenklasse, Nachrichtennummer, Datum und Uhrzeit), SLG1 application log or any message table as CSV / TSV / semicolon / pipe (ALV list) text with a header row containing a message type column (Type, Msg Type, Typ, Meldungstyp, MSGTY) and a message class + number (ID / Message Class / Nachrichtenklasse / Arbeitsgebiet + Number / No. / Nummer) or a combined message column (Message: 'CNIF_PI 076'); optional object (Instance, Object Key, Source Record, WBS Element / PSP-Element, Project, Material, Customer, Supplier, Order …), parent (Parent, Superior, Higher-Level, Übergeordnet), migration object and timestamp columns. Without an object column the objects are read from the message texts (source-record groups, framework / wrapper message roles). JSON: an array of message objects or {'messages': [...]} with the same keys.
Required input
- A message log with a message type column and a message id (class + number or combined)
- Configuration options: known_objects (object inventory of the load; makes missing-parent findings RULE_DERIVED instead of INFERRED and resolves identifiers of message texts), family_min_objects (default 3), max_rows (default 1,000,000). Message types E/A/X = error, W = warning, S/I = information (Fehler / Warnung / Information / Erfolg); message ids are normalised to CLASS/NNN. The analysis is structural (object keys, parent references, message order, co-occurrence) plus the format knowledge of the versioned role catalog (src/knowledge/sap_message_roles.json); message texts are only read for object identifiers.
Finding codes
Finding codes (5)
CAUSAL_MISSING_PARENT_OBJECTDefault severity: CriticalCategory: OBJECT_HIERARCHYParent objects referenced by failing objects are absent from the load
Remediation: Add the missing parent objects to the load (or verify that they exist in the target system) before their dependent objects, then re-simulate. ERP Preflight only states that the objects are absent from the analysed log / object inventory.
CAUSAL_PRIMARY_ROOT_CAUSEDefault severity: MajorCategory: ROOT_CAUSEPrimary cause group of an error cascade
Remediation: Fix the cause of this group first (see the fix order and the sample objects), then re-run the simulation or load: the follow-up messages of its objects are expected to disappear. Do not work through the follow-up messages individually.
CAUSAL_HIERARCHY_CYCLEDefault severity: MinorCategory: OBJECT_HIERARCHYParent references of objects form a cycle
Remediation: Correct the parent references of the listed objects so that no object is its own ancestor; the causal direction between them is reported as UNKNOWN until then.
CAUSAL_UNLINKED_ERRORSDefault severity: MinorCategory: DATA_COMPLETENESSErrors without an object key cannot be linked to a root cause
Remediation: Re-export the log with the object / instance column (for example Instance, Object Key, Source Record, WBS Element) so these errors can be linked; review them individually until then.
CAUSAL_CONSEQUENCE_FAMILYDefault severity: InfoCategory: MESSAGE_FAMILYFollow-up message family (never occurs on its own)
Remediation: Do not analyse this message on its own: it only appears together with another error on the same object. Fix the co-occurring primary message; this one is expected to disappear with it.
Input validation codes (5)
CAUSAL_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 Error Log Root Cause (CSV, TEXT, JSON) and re-run the analysis.
CAUSAL_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 Error Log Root Cause (CSV, TEXT, JSON) and re-run the analysis.
CAUSAL_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 Error Log Root Cause (CSV, TEXT, JSON) and re-run the analysis.
CAUSAL_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 Error Log Root Cause (CSV, TEXT, JSON) and re-run the analysis.
CAUSAL_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 Error Log Root Cause (CSV, TEXT, JSON) and re-run the analysis.