FrontTailor 1.0.0 (10 November 2026): inspector, OData, performance, UI5 2.0, AI and operations for SAP Fiori® and UI5 apps – in one panel. What’s inside → +43 664 1964199Contact →

OData console

The OData console records every OData request of the app, splits $batch into its parts and shows the backend’s error text the way Gateway, RAP or CAP mean it. On top come replay with preview, export without tokens, saved filters and the service as a diagram. Everything stays in the browser.

Edition
Community
Tab
“OData”
Surfaces
DevTools panel and side panel
Protocol
OData V2 and V4, $batch multipart and JSON
Storage
per tab up to 2,000 requests or 50 MB
On PROD
display and export, replay locked

The tab at a glance

Open the OData tab in the DevTools panel or the side panel and use the app. Every OData request appears as a row; a $batch expands into its parts. The narrow side panel only hides the time and size columns.

OData tab in the requests view: $metadata, service document, an expanded $batch with the part GET Products and a failed $batch with status 200 → 400 and error text
A failed read in the freestyle demo app: the $batch answers 200, its part 400.
  1. Four views of the same log: Requests, Collections, Metadata and Diagram.
  2. Pause stops recording, Clear empties the log, Preserve log keeps it across reloads.
  3. Filter by path, entity set, status and error text – inside batch parts, too. To the right: status (All, Errors, successful), method and service.
  4. A $batch with its number of parts. A click expands it.
  5. A batch part: clickable like a request of its own.
  6. A failed request: red light, 200 → 400 means “envelope 200, part 400”, the error text below.

Above the table you see whether capture runs from page start, and the measured overhead per request. The Record on … checkbox switches recording off or on for this host; it takes effect from the next page load. The exports are below the table.

ColumnContent
Time · MethodStart of the request and HTTP method.
Entity set / pathPath relative to the service; for $batch the number of parts and change sets, for errors the error text.
StatusLight and HTTP status. For a $batch the worst part counts. from cache when the browser answered.
Duration · SizeRun time and size of the response.

Read errors: message, transaction ID, error log

  1. Click the red row in the table. For a $batch, the failed part opens.
  2. In the details, choose the Error tab.
  3. Read message, code, transaction ID and resolution hints. For Gateway errors, Open in Gateway error log leads to /IWFND/ERROR_LOG.
Details of a failed batch part, Error tab: message Invalid key predicate, code ZFT_DEMO/400, transaction ID, timestamp and service
The part GET Products('ERR400'): the Gateway’s error text with transaction ID.
  1. Simulate error for this request turns the request into a Fault simulation rule from Pro.
  2. Save as known error stores the solution for next time, see Known errors.
  3. Message from the error body, with code, target and details below.
  4. Transaction ID and timestamp for the search in the backend.
  5. Open in Gateway error log: a plain link to /IWFND/ERROR_LOG on the same system, in a new tab (SAP GUI for HTML).

The console understands Gateway V2 as JSON and XML, V4 from RAP and CAP, ICF error pages as HTML and the sap-message and sap-messages headers. A change set that fails as a whole marks all its parts as change set failed; missing answers are marked as no answer.

Detail tabContent
RequestURL, query options, headers and body (formatted or raw), sap-contextid.
ResponseStatus, headers and body of the response.
BatchAll parts of the $batch with change set and status. Open as single request opens a part, Show whole $batch goes back.
ErrorMessage, code, target, details, transaction ID, timestamp, resolution hints.
TimingSource (page hook, network or both), duration, server IP, Server-Timing, Cache-Control, network errors.
ControlsThe page’s controls that bind the entity set. A click selects the control in the Inspector.
ReplayEdit the request and send it again, see replay.

With from Pro the AI entries sit above the error, such as explaining the error – with your own key, see AI assistant. With from Enterprise the Backend jump card leads to the analysis transactions of the same SAP system, see Backend jump.

Replay: edit, preview, send

  1. Select the request in the table and open the Replay tab in the details.
  2. Adjust method, URL, headers (one per line, Name: value) and body. Explain headers describes every header.
  3. For changing requests, tick Fetch CSRF token first.
  4. Click Preview. It shows the exact request including the token fetch: “This request is sent from the page, with the session of the page”.
  5. Click Send request. The response appears below, and the request shows in the log marked Replay.
Replay editor with method POST, URL of the $batch, headers, body, checkbox Fetch CSRF token first, Preview and Send request
Replay of a $batch: preview first, then a second click to send.
  1. The request’s URL – only the page’s origin is allowed.
  2. Fetch CSRF token first: a HEAD with x-csrf-token: Fetch to the service beforehand.
  3. Preview shows the request that would be sent. No preview, no sending.
  4. Save to collection keeps the request for later, see collections.
  5. Send request sends it with the page’s session. Reset restores the original.

Export without secrets

ButtonResult
Selected request: Copy as cURLcURL command on the clipboard. Changing requests fetch a token first and use -c/-b cookies.txt.
Selected request: .http (VS Code)File for the VS Code REST Client with a token fetch first.
All shown requests: .http · Postman · HARAll rows the filter shows. The Postman collection fetches the token in a request of its own.

Exports are created locally as files and contain neither cookies nor Authorization nor CSRF tokens; the files fetch a token first.

Saved filters and collections

To the left above the table is the Saved filters menu (initially Standard). Save, Save as and Manage store filter sets of status, service, method and text. Make default for this system applies a filter whenever the console opens for this origin.

The Collections view holds saved requests. Before saving, FrontTailor removes cookies, tokens, Authorization and CSRF headers; the URL is stored relative to the service, so the request runs on every system with this service. A saved request runs like a replay: preview first, then send. Import and Export all exchange collections as a JSON file. Filters and collections from team packages appear in a group of their own with from Team, see Team packages.

Metadata: search the service

Metadata view with service selection, summary OData 2.0 with 2 entity sets and 23 matches for Product
Search for “Product”: entity type, entity set, navigation, properties and annotations.
  1. Choose the service – every service whose $metadata was recorded.
  2. The summary: OData version, entity sets, entity types, operations, annotations.
  3. Search entity sets, types, properties, actions and annotations (including external annotation files).
  4. The matches. Controls shows which controls on the page bind an element.

If a service is missing, its $metadata was not recorded: reload the app while recording is on.

Diagram: entities and navigations

Diagram view with the entities Category and Product, the navigation between them, toolbar with search, neighbourhood, annotations, layers, path finder and export
The demo service as a diagram. The red mark on Product shows failed requests from the console.
  1. Search by type, entity set or property (key /). Next to it the neighbourhood (1 or 2 hops), Annotations and Layers (operations, complex & enum types, hide draft).
  2. Path finder: choose from and to type, Copy $expand returns the navigation path.
  3. Export: SVG or PNG of the current view, or copy a Mermaid erDiagram.
  4. Open in full view shows the diagram in a window of its own.
Key / mouseEffect
Drag · wheel or pinchPan · zoom. +, − and 0 (fit to screen) work, too.
Click · double-click or EnterSelect a type · focus on the type and its neighbours.
Shift+clickPath from the selected type to the clicked one.
Arrow keysNext type.
/ · EscSearch · reset the view.

What is recorded

The console hooks into the page’s XMLHttpRequest and fetch, but changes no request and sets no header. It does not even look at UI5 resources such as .js or .properties. Cookies are removed; Authorization, CSRF tokens and other secrets are replaced by [redacted] while still in the page. Per tab, the log holds up to 2,000 requests or 50 MB, bodies up to 512 KB (request) and 1 MB (response). It is deleted when the tab closes and cleared on reload unless Preserve log is on.

Typical problems

ProblemSolution
Request bodies are not captured on this pageThe page was loaded before the domain was granted. Reload, or Start capture now.
Rows with Network data onlyThese requests ran before capture started. Status and timing are there, bodies are not. Reload.
An error is missing in the overview’s sessionA $batch often answers 200 even when a part fails. The console shows such parts in red, the session counts HTTP errors only.
Metadata or diagram are empty$metadata was not recorded. Reload the app while recording is on.
Send request is lockedThe host is PROD. Replay exists on development and test systems only.
Recording is missing entirelyThe Record on … checkbox is off, or your administrator disabled the console (“Recording is disabled by your administrator.”).

See also

Sources on this page

The superscript numbers in the text point here. Tap one to see the source right where it is used; all sources of this website are listed on one page.

  1. 1

    OData console for V2 and V4 ↑Product · FrontTailor product documentation, ADR-007 “OData console” · checked on 2026-11-09

  2. 2

    Graphical metadata explorer ↑Product · FrontTailor product documentation, ADR-015 “Metadata explorer” · checked on 2026-11-09

  3. 3

    Saved filters and replay collections ↑Product · FrontTailor product documentation, ADR-029 “Saved filters, replays, favourites” · checked on 2026-11-09

Frequently asked

Short answers.

How do I see which part of a $batch failed?
In FrontTailor’s OData console a $batch expands into its parts. The failed part is red, its status reads like 200 → 400; a click opens it like a request of its own with the Error tab.
Do exports contain my tokens or cookies?
No. cURL, .http, Postman and HAR contain no cookies, no Authorization header and no CSRF tokens. Changing requests fetch a fresh token first when run.
Can I send a request again on PROD?
No. Replay is locked on PROD systems, in the panel and in the extension’s background. On development and test systems: preview first, then send the request.
Does the console work with CAP and RAP?
Yes. It reads OData V2 and V4, multipart and JSON batches, and understands the error formats of Gateway, RAP and CAP.

Your question isn’t here? Talk to me: +43 664 1964199 office@clouddna.at Get in touch

Contact

Ten tabs too many? Talk to us.

You buy Pro and Team right here. For Enterprise, sideloading, policies, a workshop or a stubborn bug in your Fiori landscape: write to me. I reply within one working day, personally.

Martin KochManaging Director, CloudDNAI read every request myself and reply personally.