Zum Inhalt springen
ERP Preflight

API Change Guard

OData / OpenAPI compatibility, consumer impact, migration readiness and successor guidance

Inhalt geprüft am 26. September 2026

Engine
API_CHANGE_GUARD
Domäne
Integration
Version
2.2.0
Ziel-Releases
S4H_2022, S4H_2023, S4HANA_CLOUD_2402, S4HANA_CLOUD_2408
Akzeptierte Formate
JSON, XML, TEXT

Eingabevertrag

Two API specifications of the same service — baseline (current) and candidate (target release): OpenAPI 2/3 (JSON or YAML) or OData EDMX V2/V4 XML — supplied as {'baseline': …, 'candidate': …} in raw_content / configuration or as artifacts named *baseline* / *candidate*; optional 'integrations' registry for consumer impact.

Erforderliche Eingabe

  • baseline specification
  • candidate specification

Befundcodes

Befundcodes (28)

  • API_BREAKING_ENDPOINT_REMOVEDStandard-Schweregrad: KritischKategorie: API Compatibility

    Endpunkt entfernt

    Behebung: Stellen Sie den Pfad wieder her oder veröffentlichen Sie eine neue Major-Version der API; migrieren Sie alle Konsumenten aus dem Integrationsverzeichnis, bevor der alte Pfad stillgelegt wird.

  • API_BREAKING_ENTITY_REMOVEDStandard-Schweregrad: KritischKategorie: API Compatibility

    OData-Entitätstyp entfernt

    Behebung: Stellen Sie den Entitätstyp wieder her oder führen Sie eine neue Service-Version ein; passen Sie die Mappings der Konsumenten an.

  • API_BREAKING_ENTITYSET_REMOVEDStandard-Schweregrad: KritischKategorie: API Compatibility

    OData-Entitätsmenge entfernt

    Behebung: Stellen Sie die Entitätsmenge in Service-Definition/-Binding wieder bereit oder versionieren Sie den OData-Service.

  • API_BREAKING_FIELD_REMOVEDStandard-Schweregrad: KritischKategorie: API Compatibility

    Eigenschaft / Feld entfernt

    Behebung: Behalten Sie die Eigenschaft (als veraltet markiert), bis kein Konsument sie mehr liest, oder versionieren Sie die API.

  • API_BREAKING_KEY_CHANGEDStandard-Schweregrad: KritischKategorie: API Compatibility

    OData-Entitätsschlüssel geändert

    Behebung: Halten Sie den Entitätsschlüssel stabil; eine Schlüsseländerung bricht jede schlüsselbasierte Lese- und Änderungs-URL. Führen Sie stattdessen einen neuen Entitätstyp bzw. eine neue Serviceversion ein.

  • API_BREAKING_OPERATION_REMOVEDStandard-Schweregrad: KritischKategorie: API Compatibility

    Operation entfernt

    Behebung: Behalten Sie die HTTP-Operation (zunächst als veraltet markieren) oder versionieren Sie die API; aktualisieren Sie die Konsumenten vor dem Entfernen.

  • API_BREAKING_SECURITY_CHANGEDStandard-Schweregrad: KritischKategorie: API Compatibility

    Sicherheitsschema oder -anforderung geändert

    Behebung: Stellen Sie das bisherige Authentifizierungsschema bzw. die bisherigen Scopes parallel bereit, aktualisieren Sie vor der Umstellung das Communication Arrangement bzw. die OAuth-Clients jedes Konsumenten und nehmen Sie das alte Schema erst danach außer Betrieb.

  • API_BREAKING_TYPE_CHANGEDStandard-Schweregrad: KritischKategorie: API Compatibility

    Inkompatible Typänderung

    Behebung: Stellen Sie den bisherigen Typ wieder her oder ergänzen Sie eine neue Eigenschaft mit dem neuen Typ; inkompatible Konvertierungen brechen die Deserialisierung bei Konsumenten.

  • API_BREAKING_ENUM_RESTRICTEDStandard-Schweregrad: HochKategorie: API Compatibility

    Enum-Werte entfernt

    Behebung: Akzeptieren Sie die entfernten Enum-Werte weiterhin (serverseitig abbilden) oder versionieren Sie die API.

  • API_BREAKING_FORMAT_CHANGEDStandard-Schweregrad: HochKategorie: API Compatibility

    Typformat geändert

    Behebung: Behalten Sie das bisherige Format bei (z. B. date statt date-time, int32 statt int64) oder führen Sie einen neuen Parameter bzw. eine neue Eigenschaft ein; Konsumenten serialisieren und validieren gegen das alte Format.

  • API_BREAKING_MAX_LENGTH_DECREASEDStandard-Schweregrad: HochKategorie: API Compatibility

    Maximale Länge verringert

    Behebung: Behalten Sie die bisherige MaxLength bei; kürzere Grenzen weisen bestehende Daten der Konsumenten ab.

  • API_BREAKING_NAVIGATION_REMOVEDStandard-Schweregrad: HochKategorie: API Compatibility

    OData-Navigationseigenschaft entfernt

    Behebung: Stellen Sie die Navigationseigenschaft (Assoziation) wieder her oder versionieren Sie den Service; Konsumenten mit $expand oder Navigationspfaden schlagen fehl.

  • API_BREAKING_PARAM_REMOVEDStandard-Schweregrad: HochKategorie: API Compatibility

    Anfrageparameter entfernt

    Behebung: Akzeptieren Sie den Parameter weiterhin (serverseitig ignorieren), bis kein Konsument ihn mehr sendet, oder versionieren Sie die Operation; Pfadparameter ändern die URL-Vorlage.

  • API_BREAKING_PARAM_RENAMEDStandard-Schweregrad: HochKategorie: API Compatibility

    Pflicht-Anfrageparameter umbenannt

    Behebung: Akzeptieren Sie den alten Parameternamen als Alias (oder beide Namen) und kennzeichnen Sie ihn vor dem Entfernen als veraltet; Konsumenten senden weiterhin den bisherigen Namen.

  • API_BREAKING_PROPERTY_RENAMEDStandard-Schweregrad: HochKategorie: API Compatibility

    Eigenschaft umbenannt

    Behebung: Stellen Sie den bisherigen Eigenschaftsnamen weiterhin bereit (Alias bzw. berechnetes Feld), bis alle Konsumenten-Mappings den neuen Namen verwenden, oder versionieren Sie die API; Konsumenten lesen und schreiben weiterhin den alten Namen.

  • API_BREAKING_REQUIRED_PARAM_ADDEDStandard-Schweregrad: HochKategorie: API Compatibility

    Neuer Pflichtparameter

    Behebung: Machen Sie den neuen Parameter optional mit einem serverseitigen Standardwert oder versionieren Sie die Operation.

  • API_BREAKING_REQUIRED_PROPERTY_ADDEDStandard-Schweregrad: HochKategorie: API Compatibility

    Neue Pflichteigenschaft

    Behebung: Machen Sie die Eigenschaft optional (nullable / Standardwert), damit bestehende Nutzlasten gültig bleiben.

  • API_BREAKING_RESPONSE_PROPERTY_REMOVEDStandard-Schweregrad: HochKategorie: API Compatibility

    Antworteigenschaft entfernt

    Behebung: Liefern Sie die Eigenschaft weiterhin (als veraltet gekennzeichnet), bis Konsumenten sie nicht mehr lesen, oder versionieren Sie die Antwort.

  • API_BREAKING_RESPONSE_STATUS_REMOVEDStandard-Schweregrad: HochKategorie: API Compatibility

    Antwort-Statuscode entfernt

    Behebung: Behalten Sie den dokumentierten Statuscode bei oder versionieren Sie die Operation; Konsumenten verzweigen anhand des Erfolgsstatus.

  • API_COVERAGE_GAP_UNRESOLVED_CONSUMPTIONStandard-Schweregrad: HochKategorie: API Compatibility

    Registrierte Nutzung ist in der Baseline-Spezifikation nicht definiert

    Behebung: Korrigieren Sie den Eintrag im Integrationsverzeichnis (Endpunkt, Entitätsmenge, Feld oder Operation) oder vergleichen Sie mit der Baseline-Spezifikation, die das Element definiert; eine Nutzung, die die Baseline nicht kennt, lässt sich nicht auf brechende Auswirkungen prüfen.

  • API_COVERAGE_GAP_UNTESTED_IMPACTStandard-Schweregrad: HochKategorie: API Compatibility

    Brechende Auswirkung auf eine Integration ohne abdeckenden Client-Test

    Behebung: Hinterlegen Sie für die betroffene Integration einen Client- bzw. Integrationstest, der die gebrochenen Elemente prüft, und führen Sie ihn vor dem Release gegen die neue Spezifikation aus; ungetestete brechende Auswirkungen lassen sich nicht verifizieren.

  • API_DEPRECATION_WARNINGStandard-Schweregrad: GeringKategorie: API Compatibility

    Element als veraltet markiert

    Behebung: Planen Sie die Migration der Konsumenten auf den Nachfolger vor dem angekündigten Entfernungsdatum.

  • API_SUCCESSOR_AVAILABLEStandard-Schweregrad: GeringKategorie: API Compatibility

    API im Wissens-Snapshot ausgemustert – Nachfolger verfügbar

    Behebung: Planen Sie die Migration aller registrierten Konsumenten auf die im Befund genannte Nachfolge-API (Wissens-Snapshot), statt die Konsumenten an die ausgemusterte API anzupassen.

  • API_NON_BREAKING_ENDPOINT_ADDEDStandard-Schweregrad: InfoKategorie: API Compatibility

    Endpunkt hinzugefügt

    Behebung: Keine Aktion für bestehende Konsumenten erforderlich; dokumentieren Sie den neuen Endpunkt.

  • API_NON_BREAKING_ENUM_EXPANDEDStandard-Schweregrad: InfoKategorie: API Compatibility

    Enum-Werte hinzugefügt

    Behebung: Prüfen Sie, dass Konsumenten unbekannte Enum-Werte robust behandeln.

  • API_NON_BREAKING_MAX_LENGTH_INCREASEDStandard-Schweregrad: InfoKategorie: API Compatibility

    Maximale Länge erhöht

    Behebung: Prüfen Sie, dass Konsumenten, die den Wert speichern, über eine ausreichende Feldlänge verfügen.

  • API_NON_BREAKING_OPERATION_ADDEDStandard-Schweregrad: InfoKategorie: API Compatibility

    Operation hinzugefügt

    Behebung: Keine Aktion für bestehende Konsumenten erforderlich; dokumentieren Sie die neue Operation.

  • API_NON_BREAKING_OPTIONAL_PROPERTY_ADDEDStandard-Schweregrad: InfoKategorie: API Compatibility

    Optionale Eigenschaft hinzugefügt

    Behebung: Keine Aktion erforderlich; Konsumenten müssen unbekannte Eigenschaften tolerieren (Tolerant Reader).

Codes der Eingabeprüfung (5)

  • API_ARCHIVE_REJECTEDStandard-Schweregrad: HochKategorie: INPUT_VALIDATION

    Archiv 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 API Change Guard akzeptierten Formate (JSON, XML, TEXT) und starten Sie die Analyse erneut.

  • API_INVALID_INPUTStandard-Schweregrad: HochKategorie: INPUT_VALIDATION

    Artefakt 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 API Change Guard akzeptierten Formate (JSON, XML, TEXT) und starten Sie die Analyse erneut.

  • API_PARSE_ERRORStandard-Schweregrad: HochKategorie: INPUT_VALIDATION

    Artefakt 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 API Change Guard akzeptierten Formate (JSON, XML, TEXT) und starten Sie die Analyse erneut.

  • API_PAYLOAD_TOO_LARGEStandard-Schweregrad: HochKategorie: INPUT_VALIDATION

    Artefakt ü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 API Change Guard akzeptierten Formate (JSON, XML, TEXT) und starten Sie die Analyse erneut.

  • API_INSUFFICIENT_INPUTStandard-Schweregrad: InfoKategorie: INPUT_VALIDATION

    Erforderliche 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 API Change Guard akzeptierten Formate (JSON, XML, TEXT) und starten Sie die Analyse erneut.

Zurück zur Dokumentation
API Change Guard — ERP Preflight Docs