Annotationen
In Fiori Elements steuern Annotationen die Oberfläche – und Fehler zeigen sich ohne Meldung: Eine Spalte fehlt, ein Label stimmt nicht. Der Tab „Annotationen“ zeigt zu einem Feld, einer Spalte oder einem Abschnitt der laufenden App die Annotation dahinter, ihre Quelle und welche Quelle gewinnt. Er liest nur und ändert nichts.
- Edition
- ab Pro
- Tab
- „Annotationen“
- Ansichten
- Control, Annotationen, Manifest, Draft & ETag
- Apps
- Fiori elements V4, V2 (teilweise), Freestyle mit Rückfall
- Auf PROD
- Uneingeschränkt, das Modul liest nur
Der Tab im Überblick
Öffne im Panel den Tab Annotationen. Oben wählst du die Ansicht: Control, Annotationen, Manifest oder Draft & ETag. Aktualisieren liest den Stand neu. Darunter stehen die Quellen des Service in der Reihenfolge, in der UI5 sie zusammenführt. ab Pro
Die Annotationsdokumente – $metadata und Annotationsdateien – kommen aus dem Log der OData-Konsole. FrontTailor ruft dafür nichts zusätzlich ab. Öffnest du den Tab erst nach dem Laden der App, ist trotzdem alles da, solange die Konsole aufgezeichnet hat.
Annotation hinter einem Feld finden
- Wähle die Ansicht Control.
- Klicke In der App wählen und dann in der App auf ein Feld, eine Spalte, eine Tabelle oder einen Abschnitt. Alternativ markierst du ein Control im Inspector; der Tab übernimmt die Auswahl.
- Lies unter Annotationen der Bausteine, welcher Term das Control erzeugt, und unter Properties, welche Annotationen an den gezeigten Properties hängen.

UI.LineItem, Eintrag 0, Quelle CAP.- Die Ansicht; daneben Aktualisieren.
- In der App wählen, rechts davon das gewählte Control. Darunter Variante (Fiori elements V4), Template und Entität mit Im Diagramm zeigen.
- Die Control-Kette: vom gewählten Control über Feld und Spalte bis zur Tabelle, jeweils mit Meta-Pfad.
- Annotationen der Bausteine: der Term, den das Control nutzt, mit dem verwendeten Eintrag hervorgehoben. Verweist ein Baustein per
AnnotationPathweiter (etwa eine Facette aufUI.FieldGroup#General), steht das unter Verweist auf.
Weiter unten folgen Properties mit allen Annotationen der Properties, die das Control zeigt, und – eingeklappt – die Annotationen der Entität; die steuernden Terme sind dort markiert. Mit Pro und eingerichtetem KI-Assistenten erklärt Annotationen erklären den Baustein.
Bei Fiori elements V2 gibt es keine Meta-Pfade. Der Tab nutzt dann Entity-Set, den Term aus der stabilen ID des Templates und die Bindings; das reicht für Feldgruppen, Tabellen und Properties. Bei Freestyle-Controls steht „Kein Fiori-Elements-Baustein steuert dieses Control“; gebundene Properties werden trotzdem gegen $metadata aufgelöst.
Quellen und Vorrang
UI5 führt zuerst $metadata zusammen, dann die Annotationsdateien in der Reihenfolge aus dataSources/<service>/settings/annotations im Manifest. Eine spätere Quelle überschreibt eine frühere für dasselbe Target, denselben Term und denselben Qualifier. Der Tab rechnet genauso und zeigt je Term den wirksamen Wert mit Quelle, darunter durchgestrichen die überschriebenen Werte.
| Quelle | Bedeutung |
|---|---|
| CAP | $metadata eines CAP-Service |
| $metadata | $metadata eines anderen Backends |
| Backend-Datei | Annotationsdatei vom Server (Gateway-Katalogservice oder unterhalb eines Service-Roots) |
| Lokale Datei | Annotationsdatei der App selbst, etwa annotations/annotations.xml |
| V2-Attribut | Ein sap:*-Attribut aus V2-Metadaten, soweit eindeutig auf einen V4-Term abgebildet (zum Beispiel sap:label → Common.Label). Es verliert gegen jede explizite Annotation. |
Alle Annotationen durchsuchen
Die Ansicht Annotationen listet alle Targets des Service, gruppiert nach Target. Die Suche findet Target, Term, Qualifier, Wert und Quelle.

- Die Quellen in der Reihenfolge der Zusammenführung, nummeriert.
- Suche über Target, Term, Qualifier, Wert oder Quelle; rechts die Zahl der Treffer.
- Die Quelle des wirksamen Werts.
- Überschreibt: der verdrängte Wert mit seiner Quelle, durchgestrichen.
Der Tab zeigt zunächst 60 Targets, weitere mit Mehr anzeigen. Im Diagramm zeigen öffnet den Typ im Metadata-Explorer des OData-Tabs (siehe OData-Konsole); von dort führt ein Knopf zurück.
Manifest-Viewer

mainService mit der lokalen Annotationsdatei an Position 1.Die Ansicht Manifest liest den App-Deskriptor der laufenden Komponente:
- App: App-ID, Titel, Komponente, Deskriptor-Version, minimale UI5-Version,
- Flexibilität:
flexEnabled, Zahl der Changes, Layer und Variantenverwaltungen, - Datenquellen mit aufgelöster URI und der Reihenfolge der Annotationen,
- Models mit Einstellungen, Routen, Targets mit den Einstellungen der Fiori-Elements-Seiten, bei V2 die Seiten,
- das Vollständige Manifest (bei sehr großen Deskriptoren gekürzt).
Draft-Status und ETag
Öffne in der App eine Objektseite und wähle Draft & ETag. Gelesen wird aus dem Model-Cache der App; FrontTailor sendet keinen Request.

Common.SideEffects von Entität, Entity-Set und Aktionen.- Zustand der Seite (Aktive Version oder Entwurf) mit dem gebundenen Pfad, darunter
IsActiveEntity,HasActiveEntity,HasDraftEntity, Bearbeitungsmodus, ausstehende Änderungen, Transient und Keep-alive. - ETag aus
@odata.etag(V4) oder__metadata.etag(V2). - Side Effects (Common.SideEffects): was bei Änderung welcher Felder oder nach welcher Aktion neu geladen wird.
Unter DraftAdministrativeData stehen Bearbeiter und Zeitstempel eines Entwurfs. Benutzer-IDs maskiert FrontTailor schon in der Seite (JDOE → J•••); die volle ID verlässt die Seite nie. Was die App nicht geladen hat, steht als „von der App nicht geladen“.
Typische Probleme
| Meldung oder Symptom | Ursache und Abhilfe |
|---|---|
| „Für diesen Tab wurde noch kein $metadata aufgezeichnet.“ | Die App wurde geladen, bevor FrontTailor aktiv war. Lade die App neu; die OData-Konsole zeichnet $metadata und Annotationsdateien dann auf. |
| „Die Annotationsdatei … aus dem Manifest wurde nicht aufgezeichnet.“ | Die Datei fehlt im Log. Lade die App neu. |
| „Die Annotationsdokumente kommen aus der OData-Konsole, die Ihr Administrator abgeschaltet hat.“ | Ohne OData-Konsole keine Annotationen. Control-Kontext, Manifest und Draft-Status funktionieren weiter. |
| „Ein Dokument war größer als das Limit der Konsole (1 MB)“ | Das Dokument wurde gekürzt; Annotationen am Ende fehlen. |
| „Das Auswählen braucht das Inspector-Modul“ | In der App wählen nutzt den Pick-Modus des Inspectors. Ist er per Richtlinie abgeschaltet, fehlt die Auswahl. |
| „Meta-Pfad nicht in $metadata gefunden“ | Der Baustein verweist auf einen Pfad, den die aufgezeichneten Dokumente nicht kennen – oft ein Tippfehler im Manifest oder in einer Annotation. |
| „Keine Objektseite geöffnet.“ | Draft & ETag braucht eine geöffnete Objektseite. Öffne ein Objekt und klicke Aktualisieren. |
Siehe auch
- Funktionen im Überblick Funktionen · Qualität
- Zum Nachlesen SAP Fiori Elements – Grundlagen, Entwicklung und Erweiterung (SAP PRESS)
- Zum Nachlesen Fullstack-Entwicklung mit SAP (SAP PRESS)
- Hilfe von Menschen Fiori Elements und Annotationen
- Doku OData-Konsole
- Doku Inspector
- Doku Model Explorer
- Belege ADR-0191