Fehlersimulation
Die Fehlersimulation beantwortet passende OData-Requests deines Tabs direkt im Browser: mit einem SAP-Fehlertext, verzögert, leer oder als abgelaufene Sitzung. So prüfst du Fehlerdialoge, Busy-Anzeigen und „Keine Daten“-Texte, ohne Backend und ohne Mock-Server. Andere Nutzer und das System merken davon nichts.
- Edition
- ab Pro
- Tab
- „Fehlersimulation“
- Oberflächen
- DevTools-Panel und Side-Panel
- Gültigkeit
- nur dieser Tab, bis er geschlossen wird
- Grenzen
- bis 30 Regeln je Tab
- Auf PROD
- gesperrt, Ausschalten immer möglich
Der Tab im Überblick
Den Tab Fehlersimulation findest du im DevTools-Panel und im Side-Panel, bei vielen Tabs unter Weitere. Oben stehen die Schnellstarts, darunter deine Regeln.

- Einschalten bei einem Schnellstart legt die Regel an und schaltet sie sofort ein.
- Neue Regel öffnet den Editor für eine eigene Regel.
- Die Regelliste – hier noch leer.
- „Alles bleibt im Browser: Die Regeln gelten nur für diesen Tab, überstehen ein Neuladen und enden mit dem Schließen des Tabs.“
| Schnellstart | Wirkung |
|---|---|
| Sitzung abgelaufen | Die nächste Änderung bekommt 403 mit x-csrf-token: Required. UI5 sollte unbemerkt ein neues Token holen und sie wiederholen. |
| Keine Berechtigung | Jeder Request bekommt 403 mit einer Gateway-Fehlermeldung. |
| Backend langsam (3 s) | Jeder Request wird 3 Sekunden später beantwortet. |
| Leere Liste | Jede Listenabfrage liefert keine Einträge. |
| Server-Fehler beim Speichern | Jede Änderung scheitert mit 500. Beim Server kommt nichts an. |
| Zeitüberschreitung (504 nach 10 s) | Requests warten 10 Sekunden und scheitern dann mit 504. |
Ein Schnellstart gilt für alle OData-Requests. Über Regel bearbeiten grenzt du ihn auf einen Service oder ein Entity-Set ein.
Was in der App passiert
Solange eine Regel aktiv ist, steht unten in der App das Banner Fehlersimulation aktiv mit der Zahl der Regeln. Ein Klick auf Ausschalten im Banner schaltet alles ab – sofort, die Regeln bleiben ausgeschaltet erhalten.

- Die App zeigt ihren „Keine Daten“-Text – die Antwort kam von der Simulation, nicht vom Server.
- Das Banner in der Seite. Ausschalten beendet die Simulation in diesem Tab.
In der OData-Konsole tragen simulierte Antworten das Kennzeichen simuliert (bei $batch: „n simuliert“), das Detail sagt „Simuliert von FrontTailor – Regel …“.
Eine eigene Regel anlegen
- Im Tab Fehlersimulation auf Neue Regel klicken.
- Unter Welche Requests Service, Entity-Set, Methode und Ort festlegen – leer heißt „alle“.
- Unter Was passiert die Wirkung wählen, etwa HTTP-Fehler mit Status 500 und eigener Fehlermeldung.
- Unter Wie oft Einmal, N-mal oder Immer wählen.
- Speichern und einschalten. Dann in der App die Aktion auslösen.

Products: einmal HTTP 500 mit eigener Meldung.- Entity-Set, z. B.
Products;$metadatatrifft das Metadatendokument. Leer trifft alle außer$metadata, Service-Dokument und Token-Abruf. - Methode: Jede Methode, Lesen (GET), Ändern (POST, PUT, PATCH, MERGE, DELETE) oder eine einzelne. Daneben Wo: direkte Requests,
$batch-Teile oder beides. - Wirkung, siehe Tabelle unten.
- Fehlermeldung: Die App zeigt sie wie eine Meldung aus dem Backend. Darunter optional ein Gateway-
innererrormit Transaktions-ID und Zeitstempel. - Wie oft: gezählt wird pro HTTP-Request, ein
$batchzählt einmal. - Speichern und einschalten.
| Wirkung | Was die App bekommt |
|---|---|
| HTTP-Fehler | Status 400–599 mit SAP-Fehlertext, als OData V2 oder V4 – so, wie der Service es erwartet. Code FT_SIMULATION/<Status>. |
| Verzögerung | Die echte Antwort kommt später (bis 120.000 ms). Bei $batch wartet der ganze Batch. |
| Leeres Ergebnis | Listen leer, $count liefert 0, eine einzelne Entität 404. Nur für Lesezugriffe. |
| Eigenes JSON | Dein JSON-Body mit Status 200–599. |
| Netzwerkfehler | Keine Antwort, als ob die Verbindung abbricht. Bei $batch scheitert der ganze Batch. |
| Sitzung abgelaufen (CSRF) | 403 mit x-csrf-token: Required für Änderungen. UI5 holt ein neues Token und wiederholt einmal; mit Immer scheitert auch die Wiederholung. |
Zu jeder Wirkung lässt sich eine Zusätzliche Verzögerung (ms) setzen. Die erste passende Regel gewinnt.

- Der Fehlerdialog der App mit Status und der Meldung aus der Regel.
Die Regelliste

- Der Schalter schaltet die Regel ein oder aus. Einschalten startet eine aufgebrauchte Regel neu.
- Der Status: Aktiv, Aus oder Aufgebraucht.
- Wie oft die Regel schon geantwortet hat, z. B. „1× simuliert“. Rechts daneben Regel bearbeiten und Regel löschen.
Unter jeder Regel steht ihre Kurzfassung: Methode, Entity-Set, Wirkung und Zählung. Alles ausschalten über der Liste beendet alle Regeln auf einmal.
Regel aus einem echten Request
In der OData-Konsole steht im Detail eines Requests Fehler für diesen Request simulieren. Das öffnet den Editor mit Service, Entity-Set und Methode des Requests; bei einem $batch-Teil zusätzlich mit „nur $batch-Teile“.
$batch und Changesets
Regeln treffen direkte Requests und einzelne $batch-Teile, nie die Hülle. Ein simulierter Teil wird aus dem echten Request entfernt – Änderungen erreichen den Server also nicht. Die übrigen Teile gehen an den Server, seine Antwort wird mit den simulierten Teilen zusammengeführt. Changesets bleiben atomar: Ein Fehler beantwortet das ganze Changeset. Verzögerung, Netzwerkfehler und CSRF wirken auf den ganzen HTTP-Request.
Alle Knöpfe
| Knopf | Wirkung |
|---|---|
| Einschalten (Schnellstart) | Regel anlegen und sofort aktivieren. |
| Neue Regel | Editor für eine eigene Regel. |
| Speichern und einschalten · Abbrechen | Regel übernehmen und aktivieren · Editor schließen. |
| Schalter je Regel | Regel ein- oder ausschalten. |
| Regel bearbeiten · Regel löschen | Editor öffnen · Regel entfernen. |
| Alles ausschalten | Alle Regeln dieses Tabs abschalten. |
| Ausschalten (Banner in der App) | Wie „Alles ausschalten“, direkt aus der Seite. |
Typische Probleme
| Problem | Lösung |
|---|---|
| Die Regel greift nicht | Service oder Entity-Set passen nicht, oder eine frühere Regel trifft zuerst. Die Trefferzahl in der Liste zeigt, welche Regel antwortet. |
| Fehler beim App-Start lassen sich nicht simulieren | Regel anlegen und die Seite neu laden. Mit aktiven Regeln hält FrontTailor OData-Requests beim Start kurz zurück (höchstens 1,5 Sekunden), bis die Regeln da sind. |
| Leeres Ergebnis wirkt nicht beim Speichern | Es gilt nur für Lesezugriffe. Für Änderungen HTTP-Fehler oder den Schnellstart Server-Fehler beim Speichern nehmen. |
| Erfolg in einem Changeset wird ignoriert | Changesets sind atomar; nur ein Fehler wirkt auf das ganze Changeset. |
| Manche Requests werden nie simuliert | Synchrone XHR, navigator.sendBeacon und Requests des Service Workers der App erreicht die Simulation nicht. JSON-$batch (OData 4.01) wird nicht teilweise simuliert. |
| Der Tab ist gesperrt | Die Fehlersimulation braucht ab Pro; auf PROD-Hosts ist sie immer gesperrt. Siehe Lizenz und Editionen. |
Siehe auch
- Funktionen im Überblick Funktionen · OData
- Zum Nachlesen Fullstack-Entwicklung mit SAP (SAP PRESS)
- Zum Nachlesen SAPUI5 – The Comprehensive Guide (SAP PRESS)
- Hilfe von Menschen Release- und Transportqualität
- Doku OData-Konsole
- Doku Host-Profile und PROD
- Doku Lizenz und Editionen
- Belege ADR-0371