Skip to content

Latest commit

 

History

History
960 lines (747 loc) · 64 KB

File metadata and controls

960 lines (747 loc) · 64 KB

UI Vocabulary

Namespace: com.sap.vocabularies.UI.v1

Terms for presenting data in user interfaces

The SAP UI Vocabulary aims to optimize usage of data in UI channels. It focuses on usage patterns of data in UIs, not on UI patterns, and it is completely independent of the UI technologies or devices used to visualize the data.

These usage patterns represent certain semantic views on business data, some of them very general, others centering around the concept of a Thing, i.e. something tangible to end users. Examples for Things are semantic object instances or business object instances. One example for a usage pattern is the collection of properties which helps the user to identify a Thing, the UI.Identification term. Another example is the UI.LineItem term, which is a set of properties suitable for visualizing a collection of business object instances, e.g. as a list or table.

Terms

Term Type Description
HeaderInfo HeaderInfoType? Information for the header area of an entity representation. HeaderInfo is mandatory for main entity types of the model
Identification [DataFieldAbstract] Collection of fields identifying the object
Badge BadgeType? Information usually displayed in the form of a business card
LineItem [DataFieldAbstract] Collection of data fields for representation in a table or list
StatusInfo [DataFieldAbstract] Collection of data fields describing the status of an entity
FieldGroup FieldGroupType? Group of fields with an optional label
ConnectedFields ConnectedFieldsType? Group of semantically connected fields with a representation template and an optional label (Example)
GeoLocations [GeoLocationType] Collection of geographic locations
GeoLocation GeoLocationType? Geographic location
Contacts [AnnotationPath] Collection of contacts

Each collection item MUST reference an annotation of a Communication.Contact

MediaResource MediaResourceType? Properties that describe a media resource
DataPoint DataPointType? Visualization of a single point of data, typically a number; may also be textual, e.g. a status value
KPI KPIType? A Key Performance Indicator (KPI) bundles a SelectionVariant and a DataPoint, and provides details for progressive disclosure
Chart ChartDefinitionType? Visualization of multiple data points
ValueCriticality (Experimental) [ValueCriticalityType] Assign criticalities to primitive values. This information can be used for semantic coloring.
CriticalityLabels (Experimental) [CriticalityLabelType] Assign labels to criticalities. This information can be used for semantic coloring. When applied to a property, a label for a criticality must be provided, if more than one value of the annotated property has been assigned to the same criticality. There must be no more than one label per criticality.
SelectionFields [PropertyPath] Properties that might be relevant for filtering a collection of entities of this type
Facets [Facet] Collection of facets
HeaderFacets [Facet] Facets for additional object header information
QuickViewFacets [Facet] Facets that may be used for a quick overview of the object
QuickCreateFacets [Facet] Facets that may be used for a (quick) create of the object
FilterFacets [ReferenceFacet] Facets that reference UI.FieldGroup annotations to group filterable fields
SelectionPresentationVariant SelectionPresentationVariantType? A SelectionPresentationVariant bundles a Selection Variant and a Presentation Variant
PresentationVariant PresentationVariantType? Defines how the result of a queried collection of entities is shaped and how this result is displayed
SelectionVariant SelectionVariantType? A SelectionVariant denotes a combination of parameters and filters to query the annotated entity set
ThingPerspective Tag The annotated term is a Thing Perspective
IsSummary Tag This Facet and all included Facets are the summary of the thing. At most one Facet of a thing can be tagged with this term
PartOfPreview Tag This Facet and all included Facets are part of the Thing preview
Map Tag Target MUST reference a UI.GeoLocation, Communication.Address or a collection of these
Gallery Tag Target MUST reference a UI.MediaResource
IsImageURL Tag Properties and terms annotated with this term MUST contain a valid URL referencing an resource with a MIME type image

Can be annotated with:

IsImage (Experimental) Tag Properties annotated with this term MUST be a stream property annotated with a MIME type image

Can be annotated with:

MultiLineText Tag Properties annotated with this annotation should be rendered as multi-line text (e.g. text area)
Placeholder (Experimental) String A short, human-readable text that gives a hint or an example to help the user with data entry
TextArrangement TextArrangementType? Describes the arrangement of a code or ID value and its text

If used for a single property the Common.Text annotation is annotated

Importance ImportanceType? Expresses the importance of e.g. a DataField or an annotation
Hidden Tag Properties or facets (see UI.Facet) annotated with this term will not be rendered if the annotation evaluates to true.

Hidden properties usually carry technical information that is used for application control and is of no direct interest to end users. The annotation value may be an expression to dynamically hide or render the annotated feature. If a navigation property is annotated with Hidden true, all subsequent parts are hidden - independent of their own potential Hidden annotations.

CreateHidden Tag EntitySets annotated with this term can control the visibility of the Create operation dynamically

The annotation value should be a path to another property from a related entity.

UpdateHidden Tag EntitySets annotated with this term can control the visibility of the Edit/Save operation dynamically

The annotation value should be a path to another property from the same or a related entity.

DeleteHidden Tag EntitySets annotated with this term can control the visibility of the Delete operation dynamically

The annotation value should be a path to another property from the same or a related entity.

HiddenFilter Tag Properties annotated with this term will not be rendered as filter criteria if the annotation evaluates to true.

Properties annotated with HiddenFilter are intended as parts of a $filter expression that cannot be directly influenced by end users. The properties will be rendered in all other places, e.g. table columns or form fields. This is in contrast to properties annotated with Hidden that are not rendered at all. If a navigation property is annotated with HiddenFilter true, all subsequent parts are hidden in filter - independent of their own potential HiddenFilter annotations.

DataFieldDefault DataFieldAbstract? Default representation of a property as a datafield, e.g. when the property is added as a table column or form field via personalization

Only concrete subtypes of DataFieldAbstract can be used for a DataFieldDefault. For type DataField and its subtypes the annotation target SHOULD be the same property that is referenced via a path expression in the Value of the datafield.

Criticality CriticalityType? Service-calculated criticality, alternative to UI.CriticalityCalculation
CriticalityCalculation CriticalityCalculationType? Parameters for client-calculated criticality, alternative to UI.Criticality
Emphasized (Experimental) Tag Highlight something that is of special interest

The usage of a property or operation should be highlighted as it's of special interest for the end user

OrderBy (Experimental) PropertyPath? Sort by the referenced property instead of by the annotated property

Example: annotated property SizeCode has string values XS, S, M, L, XL, referenced property SizeOrder has numeric values -2, -1, 0, 1, 2. Numeric ordering by SizeOrder will be more understandable than lexicographic ordering by SizeCode.

ParameterDefaultValue (Experimental) PrimitiveType? Define default values for action parameters

For unbound actions the default value can either be a constant expression, or a dynamic expression using absolute paths, e.g. singletons or function import results. Whereas for bound actions the bound entity and its properties and associated properties can be used as default values

RecommendationState RecommendationStateType? Indicates whether a field contains or has a recommended value

Intelligent systems can help users by recommending input the user may "prefer".

RecommendationList RecommendationListType? Specifies how to get a list of recommended values for a property or parameter

Intelligent systems can help users by recommending input the user may "prefer".

ExcludeFromNavigationContext Tag The contents of this property must not be propagated to the app-to-app navigation context
Property Type Description
TypeName String Name of the main entity type
TypeNamePlural String Plural form of the name of the main entity type
Title DataFieldAbstract? Title, e.g. for overview pages

This can be a DataField and any of its children, or a DataFieldForAnnotation targeting ConnectedFields.

Description DataFieldAbstract? Description, e.g. for overview pages

This can be a DataField and any of its children, or a DataFieldForAnnotation targeting ConnectedFields.

ImageUrl URL? Image URL for an instance of the entity type. If the property ImageUrl has a valid value, it can be used for the visualization of the instance. If it is not available or not valid the property TypeImageUrl can be used instead.
TypeImageUrl URL? Image URL for the entity type
Initials (Experimental) String? Latin letters to be used in case no ImageUrl or TypeImageUrl is present
Property Type Description
HeadLine DataField Headline
Title DataField Title
ImageUrl URL? Image URL for an instance of the entity type. If the property ImageUrl has a valid value, it can be used for the visualization of the instance. If it is not available or not valid the property TypeImageUrl can be used instead.
TypeImageUrl URL? Image URL for the entity type
MainInfo DataField? Main information on the business card
SecondaryInfo DataField? Additional information on the business card
Property Type Description
Label String? Label for the field group
Data [DataFieldAbstract] Collection of data fields

Group of semantically connected fields with a representation template and an optional label

Property Type Description
Label String? Label for the connected fields
Template String Template for representing the connected fields

Template variables are identifiers enclosed in curly braces, e.g. {MaterialName} - {MaterialClassName}. The Data collection assigns values to the template variables.

Data Dictionary Dictionary of template variables

Each template variable used in Template must be assigned a value here. The value must be of type DataFieldAbstract

Properties that define a geographic location

Property Type Description
Latitude Double? Geographic latitude
Longitude Double? Geographic longitude
Location GeographyPoint? A point in a round-earth coordinate system
Address AddressType? vCard-style address
Property Type Description
Url URL URL of media resource
ContentType MediaType? Content type, such as application/pdf, video/x-flv, image/jpeg
ByteSize Int64? Resource size in bytes
ChangedAt DateTimeOffset? Date of last change
Thumbnail ImageType? Thumbnail image
Title DataField Resource title
Description DataField? Resource description
Property Type Description
Url URL URL of image
Width String? Width of image
Height String? Height of image
Property Type Description
Title String? Title of the data point
Description String? Short description
LongDescription String? Full description
Value PrimitiveType Numeric value

The value is typically provided via a Path construct. The path MUST lead to a direct property of the same entity type or a property of a complex property (recursively) of that entity type, navigation segments are not allowed.
It could be annotated with either UoM.ISOCurrency or UoM.Unit. Percentage values are annotated with UoM.Unit = '%'. A renderer should take an optional Common.Text annotation into consideration.

TargetValue PrimitiveType? Target value
ForecastValue PrimitiveType? Forecast value
MinimumValue Decimal? Minimum value (for output rendering)
MaximumValue Decimal? Maximum value (for output rendering)
ValueFormat NumberFormat? Number format
Visualization VisualizationType? Preferred visualization
SampleSize PrimitiveType? Sample size used for the determination of the data point; should contain just integer value as Edm.Byte, Edm.SByte, Edm.Intxx, and Edm.Decimal with scale 0.
ReferencePeriod ReferencePeriod? Reference period
Criticality CriticalityType? Service-calculated criticality, alternative to CriticalityCalculation
CriticalityLabels AnnotationPath? Custom labels for the criticality legend. Annotation path MUST end in UI.CriticalityLabels
CriticalityRepresentation (Experimental) CriticalityRepresentationType? Decides if criticality is visualized in addition by means of an icon
CriticalityCalculation CriticalityCalculationType? Parameters for client-calculated criticality, alternative to Criticality
Trend TrendType? Service-calculated trend, alternative to TrendCalculation
TrendCalculation TrendCalculationType? Parameters for client-calculated trend, alternative to Trend
Responsible ContactType? Contact person

Describes how to visualise a number

Property Type Description
ScaleFactor Decimal? Display value in ScaleFactor units, e.g. 1000 for k (kilo), 1e6 for M (Mega)
NumberOfFractionalDigits Byte? Number of fractional digits of the scaled value to be visualized
Member Value Description
Number 0 Visualize as a number
BulletChart 1 Visualize as bullet chart - requires TargetValue
Progress 2 Visualize as progress indicator - requires TargetValue
Rating 3 Visualize as partially or completely filled stars/hearts/... - requires TargetValue
Donut 4 Visualize as donut, optionally with missing segment - requires TargetValue
DeltaBulletChart 5 Visualize as delta bullet chart - requires TargetValue

Reference period

Property Type Description
Description String? Short description of the reference period
Start DateTimeOffset? Start of the reference period
End DateTimeOffset? End of the reference period

Criticality of a value or status, represented e.g. via semantic colors (https://experience.sap.com/fiori-design-web/foundation/colors/#semantic-colors)

Member Value Description
VeryNegative (Experimental) -1 Very negative / dark-red status - risk - out of stock - late
Neutral 0 Neutral / grey status - inactive - open - in progress
Negative 1 Negative / red status - attention - overload - alert
Critical 2 Critical / orange status - warning
Positive 3 Positive / green status - completed - available - on track - acceptable
VeryPositive (Experimental) 4 Very positive / blue status - above max stock - excess

Describes how to calculate the criticality of a value depending on the improvement direction

The calculation is done by comparing a value to the threshold values relevant for the specified improvement direction.

The value to be compared is

  • Value - if ReferenceValue is not specified
  • Value sub ReferenceValue – if ReferenceValue is specified and IsRelativeDifference is not specified or specified as false
  • (Value sub ReferenceValue) divBy ReferenceValue – if ReferenceValue is specified and IsRelativeDifference is specified as true

For improvement direction Target, the criticality is calculated using both low and high threshold values. It will be

  • Positive if the value is greater than or equal to AcceptanceRangeLowValue and lower than or equal to AcceptanceRangeHighValue
  • Neutral if the value is greater than or equal to ToleranceRangeLowValue and lower than AcceptanceRangeLowValue OR greater than AcceptanceRangeHighValue and lower than or equal to ToleranceRangeHighValue
  • Critical if the value is greater than or equal to DeviationRangeLowValue and lower than ToleranceRangeLowValue OR greater than ToleranceRangeHighValue and lower than or equal to DeviationRangeHighValue
  • Negative if the value is lower than DeviationRangeLowValue or greater than DeviationRangeHighValue

For improvement direction Minimize, the criticality is calculated using the high threshold values. It is

  • Positive if the value is lower than or equal to AcceptanceRangeHighValue
  • Neutral if the value is greater than AcceptanceRangeHighValue and lower than or equal to ToleranceRangeHighValue
  • Critical if the value is greater than ToleranceRangeHighValue and lower than or equal to DeviationRangeHighValue
  • Negative if the value is greater than DeviationRangeHighValue

For improvement direction Maximize, the criticality is calculated using the low threshold values. It is

  • Positive if the value is greater than or equal to AcceptanceRangeLowValue
  • Neutral if the value is less than AcceptanceRangeLowValue and greater than or equal to ToleranceRangeLowValue
  • Critical if the value is lower than ToleranceRangeLowValue and greater than or equal to DeviationRangeLowValue
  • Negative if the value is lower than DeviationRangeLowValue

Thresholds are optional. For unassigned values, defaults are determined in this order:

  • For DeviationRange, an omitted LowValue translates into the smallest possible number (-INF), an omitted HighValue translates into the largest possible number (+INF)
  • For ToleranceRange, an omitted LowValue will be initialized with DeviationRangeLowValue, an omitted HighValue will be initialized with DeviationRangeHighValue
  • For AcceptanceRange, an omitted LowValue will be initialized with ToleranceRangeLowValue, an omitted HighValue will be initialized with ToleranceRangeHighValue
Property Type Description
AcceptanceRangeLowValue PrimitiveType? Lowest value that is considered positive
AcceptanceRangeHighValue PrimitiveType? Highest value that is considered positive
ToleranceRangeLowValue PrimitiveType? Lowest value that is considered neutral
ToleranceRangeHighValue PrimitiveType? Highest value that is considered neutral
DeviationRangeLowValue PrimitiveType? Lowest value that is considered critical
DeviationRangeHighValue PrimitiveType? Highest value that is considered critical
ReferenceValue (Experimental) PrimitiveType? Reference value for the calculation, e.g. number of sales for the last year
IsRelativeDifference (Experimental) Boolean Calculate with a relative difference
ImprovementDirection ImprovementDirectionType Describes in which direction the value improves
ConstantThresholds (Experimental) [LevelThresholdsType] List of thresholds depending on the aggregation level as a set of constant values

Constant thresholds shall only be used in order to refine constant values given for the data point overall (aggregation level with empty collection of property paths), but not if the thresholds are based on other measure elements.

Thresholds for calculating the criticality of a value

Derived Types:

Property Type Description
AcceptanceRangeLowValue PrimitiveType? Lowest value that is considered positive
AcceptanceRangeHighValue PrimitiveType? Highest value that is considered positive
ToleranceRangeLowValue PrimitiveType? Lowest value that is considered neutral
ToleranceRangeHighValue PrimitiveType? Highest value that is considered neutral
DeviationRangeLowValue PrimitiveType? Lowest value that is considered critical
DeviationRangeHighValue PrimitiveType? Highest value that is considered critical

Describes which direction of a value change is seen as an improvement

Member Value Description
Minimize 1 Lower is better
Target 2 Closer to the target is better
Maximize 3 Higher is better

Thresholds for an aggregation level

Property Type Description
AcceptanceRangeLowValue PrimitiveType? Lowest value that is considered positive
AcceptanceRangeHighValue PrimitiveType? Highest value that is considered positive
ToleranceRangeLowValue PrimitiveType? Lowest value that is considered neutral
ToleranceRangeHighValue PrimitiveType? Highest value that is considered neutral
DeviationRangeLowValue PrimitiveType? Lowest value that is considered critical
DeviationRangeHighValue PrimitiveType? Highest value that is considered critical
AggregationLevel [PropertyPath] An unordered tuple of dimensions, i.e. properties which are intended to be used for grouping in aggregating requests. In analytical UIs, e.g. an analytical chart, the aggregation level typically corresponds to the visible dimensions.

The trend of a value

Member Value Description
StrongUp 1 Value grows strongly
Up 2 Value grows
Sideways 3 Value does not significantly grow or shrink
Down 4 Value shrinks
StrongDown 5 Value shrinks strongly

Describes how to calculate the trend of a value

By default, the calculation is done by comparing the difference between Value and ReferenceValue to the threshold values. If IsRelativeDifference is set, the difference of Value and ReferenceValue is divided by ReferenceValue and the relative difference is compared.

The trend is

  • StrongUp if the difference is greater than or equal to StrongUpDifference
  • Up if the difference is less than StrongUpDifference and greater than or equal to UpDifference
  • Sideways if the difference is less than UpDifference and greater than DownDifference
  • Down if the difference is greater than StrongDownDifference and lower than or equal to DownDifference
  • StrongDown if the difference is lower than or equal to StrongDownDifference
Property Type Description
ReferenceValue PrimitiveType Reference value for the calculation, e.g. number of sales for the last year
IsRelativeDifference Boolean Calculate with a relative difference
UpDifference Decimal Threshold for Up
StrongUpDifference Decimal Threshold for StrongUp
DownDifference Decimal Threshold for Down
StrongDownDifference Decimal Threshold for StrongDown
Property Type Description
ID String? Optional identifier to reference this instance from an external context
ShortDescription (Experimental) String? Very short description
SelectionVariant SelectionVariantType Selection variant, either specified inline or referencing another annotation via Path
DataPoint DataPointType Data point, either specified inline or referencing another annotation via Path
AdditionalDataPoints [DataPointType] Additional data points, either specified inline or referencing another annotation via Path

Additional data points are typically related to the main data point and provide complementing information or could be used for comparisons

Detail KPIDetailType? Contains information about KPI details, especially drill-down presentations
Property Type Description
DefaultPresentationVariant PresentationVariantType? Presentation variant, either specified inline or referencing another annotation via Path
AlternativePresentationVariants [PresentationVariantType] A list of alternative presentation variants, either specified inline or referencing another annotation via Path
SemanticObject String? Name of the Semantic Object. If not specified, use Semantic Object annotated at the property referenced in KPI/DataPoint/Value
Action String? Name of the Action on the Semantic Object. If not specified, let user choose which of the available actions to trigger.
Property Type Description
Title String? Title of the chart
Description String? Short description
ChartType ChartType Chart type
AxisScaling ChartAxisScalingType? Describes the scale of the chart value axes
Measures [PropertyPath] Measures of the chart, e.g. size and color in a bubble chart
MeasureAttributes [ChartMeasureAttributeType] Describes Attributes for Measures. All Measures used in this collection must also be part of the Measures Property.
Dimensions [PropertyPath] Dimensions of the chart, e.g. x- and y-axis of a bubble chart
DimensionAttributes [ChartDimensionAttributeType] Describes Attributes for Dimensions. All Dimensions used in this collection must also be part of the Dimensions Property.
Actions [DataFieldForActionAbstract] Available actions
Member Value Description
Column 0
ColumnStacked 1
ColumnDual 2
ColumnStackedDual 3
ColumnStacked100 4
ColumnStackedDual100 5
Bar 6
BarStacked 7
BarDual 8
BarStackedDual 9
BarStacked100 10
BarStackedDual100 11
Area 12
AreaStacked 13
AreaStacked100 14
HorizontalArea 15
HorizontalAreaStacked 16
HorizontalAreaStacked100 17
Line 18
LineDual 19
Combination 20
CombinationStacked 21
CombinationDual 22
CombinationStackedDual 23
HorizontalCombinationStacked 24
Pie 25
Donut 26
Scatter 27
Bubble 28
Radar 29
HeatMap 30
TreeMap 31
Waterfall 32
Bullet 33
VerticalBullet 34
HorizontalWaterfall 35
HorizontalCombinationDual 36
HorizontalCombinationStackedDual 37
Donut100 (Experimental) 38
Property Type Description
ScaleBehavior ChartAxisScaleBehaviorType Scale is fixed or adapts automatically to rendered values
AutoScaleBehavior ChartAxisAutoScaleBehaviorType? Settings for automatic scaling
FixedScaleMultipleStackedMeasuresBoundaryValues FixedScaleMultipleStackedMeasuresBoundaryValuesType? Boundary values for fixed scaling of a stacking chart type with multiple measures
Member Value Description
AutoScale 0 Value axes scale automatically
FixedScale 1 Fixed minimum and maximum values are applied, which are derived from the @UI.MeasureAttributes.DataPoint/MinimumValue and .../MaximumValue annotation by default. For stacking chart types with multiple measures, they are taken from ChartAxisScalingType/FixedScaleMultipleStackedMeasuresBoundaryValues.
Property Type Description
ZeroAlwaysVisible Boolean Forces the value axis to always display the zero value
DataScope ChartAxisAutoScaleDataScopeType Determines the automatic scaling
Member Value Description
DataSet 0 Minimum and maximum axes values are determined from the entire data set
VisibleData 1 Minimum and maximum axes values are determined from the currently visible data. Scrolling will change the scale.
Property Type Description
MinimumValue Decimal Minimum value on value axes
MaximumValue Decimal Maximum value on value axes
Property Type Description
Dimension PropertyPath?
Role ChartDimensionRoleType?
HierarchyLevel (Experimental) Int32? For a dimension with a hierarchy, members are selected from this level. The root node of the hierarchy is at level 0.
ValuesForSequentialColorLevels (Experimental) [String] All values in this collection should be assigned to levels of the same color.
EmphasizedValues (Experimental) [String] All values in this collection should be emphasized.
EmphasisLabels (Experimental) EmphasisLabelType? Assign a label to values with an emphasized representation. This is required, if more than one emphasized value has been specified.
Property Type Description
Measure PropertyPath?
Role ChartMeasureRoleType?
DataPoint AnnotationPath? Annotation path MUST end in @UI.DataPoint and the data point's Value MUST be the same property as in Measure
UseSequentialColorLevels (Experimental) Boolean All measures for which this setting is true should be assigned to levels of the same color.
Member Value Description
Category 0
Series 1
Category2 2
Member Value Description
Axis1 0
Axis2 1
Axis3 2

Assigns a label to the set of emphasized values and optionally also for non-emphasized values. This information can be used for semantic coloring.

Property Type Description
EmphasizedValuesLabel String
NonEmphasizedValuesLabel String?

Assigns a fixed criticality to a primitive value. This information can be used for semantic coloring.

Property Type Description
Value PrimitiveType? MUST be a fixed value of primitive type
Criticality CriticalityType?

Assigns a label to a criticality. This information can be used for semantic coloring.

Property Type Description
Criticality CriticalityType
Label String Criticality label

Abstract base type for facets

Derived Types:

Property Type Description
Label String? Facet label
ID String? Unique identifier of a facet. ID should be stable, as long as the perceived semantics of the facet is unchanged.

Collection of facets

Property Type Description
Label String? Facet label
ID String? Unique identifier of a facet. ID should be stable, as long as the perceived semantics of the facet is unchanged.
Facets [Facet] Nested facets. An empty collection may be used as a placeholder for content added via extension points.

Facet that refers to a thing perspective, e.g. LineItem

Property Type Description
Label String? Facet label
ID String? Unique identifier of a facet. ID should be stable, as long as the perceived semantics of the facet is unchanged.
Target AnnotationPath Referenced information: Communication.Contact, Communication.Address, or a term that is tagged with UI.ThingPerspective, e.g. UI.StatusInfo, UI.LineItem, UI.Identification, UI.FieldGroup, UI.Badge

Facet that refers to a URL

Property Type Description
Label String? Facet label
ID String? Unique identifier of a facet. ID should be stable, as long as the perceived semantics of the facet is unchanged.
Url URL URL of referenced information
UrlContentType MediaType? Media type of referenced information
Property Type Description
ID String? Optional identifier to reference this variant from an external context
Text String? Name of the bundling variant
SelectionVariant SelectionVariantType Selection variant, either specified inline or referencing another annotation via Path
PresentationVariant PresentationVariantType Presentation variant, either specified inline or referencing another annotation via Path
Property Type Description
ID String? Optional identifier to reference this variant from an external context
Text String? Name of the presentation variant
MaxItems Int32? Maximum number of items that should be included in the result
SortOrder [SortOrderType] Collection can be provided inline or as a reference to a Common.SortOrder annotation via Path
GroupBy [PropertyPath] Sequence of groupable properties p1, p2, ... defining how the result is composed of instances representing groups, one for each combination of value properties in the queried collection. The sequence specifies a certain level of aggregation for the queried collection, and every group instance will provide aggregated values for properties that are aggregatable. Moreover, the series of sub-sequences (p1), (p1, p2), ... forms a leveled hierarchy, which may become relevant in combination with InitialExpansionLevel.
TotalBy [PropertyPath] Sub-sequence q1, q2, ... of properties p1, p2, ... specified in GroupBy. With this, additional levels of aggregation are requested in addition to the most granular level defined by GroupBy: Every element in the series of sub-sequences (q1), (q1, q2), ... introduces an additional aggregation level included in the result.
Total [PropertyPath] Aggregatable properties for which aggregated values should be provided for the additional aggregation levels specified in TotalBy.
IncludeGrandTotal Boolean Result should include a grand total for the properties specified in Total
InitialExpansionLevel Int32 Level up to which the hierarchy defined for the queried collection should be expanded initially. The hierarchy may be implicitly imposed by the sequence of the GroupBy, or by an explicit hierarchy annotation.
Visualizations [AnnotationPath] Lists available visualization types. Currently supported types are UI.LineItem, UI.Chart, and UI.DataPoint. For each type, no more than a single annotation is meaningful. Multiple instances of the same visualization type shall be modeled with different presentation variants. A reference to UI.Lineitem should always be part of the collection (least common denominator for renderers). The first entry of the collection is the default visualization.
RequestAtLeast [PropertyPath] Properties that should always be included in the result of the queried collection
SelectionFields (Experimental) [PropertyPath] Properties that should be presented for filtering a collection of entities. Can be provided inline or as a reference to a UI.SelectionFields annotation via Path.
Property Type Description
ID String? May contain identifier to reference this instance from an external context
Text String? Name of the selection variant
Parameters [ParameterAbstract] Parameters of the selection variant
FilterExpression String? Filter string for query part of URL, without $filter=
SelectOptions [SelectOptionType] ABAP Select Options Pattern

Key property of a parameter entity type

Derived Types:

Single-valued parameter

Property Type Description
PropertyName PropertyPath Path to a key property of a parameter entity type
PropertyValue PrimitiveType Value for the key property

Interval parameter formed with a 'from' and a 'to' property

Property Type Description
PropertyNameFrom PropertyPath Path to the 'from' property of a parameter entity type
PropertyValueFrom PrimitiveType Value for the 'from' property
PropertyNameTo PropertyPath Path to the 'to' property of a parameter entity type
PropertyValueTo PrimitiveType Value for the 'to' property

List of value ranges for a single property

Property Type Description
PropertyName PropertyPath Path to the property
Ranges [SelectionRangeType] List of value ranges

Value range. If the range option only requires a single value, the value must be in the property Low

Property Type Description
Sign SelectionRangeSignType Include or exclude values
Option SelectionRangeOptionType Comparison operator
Low PrimitiveType Single value or lower interval boundary
High PrimitiveType? Upper interval boundary
Member Value Description
I 0 Inclusive
E 1 Exclusive

Comparison operator

Member Value Description
EQ 0 Equal to
BT 1 Between
CP 2 Contains pattern
LE 3 Less than or equal to
GE 4 Greater than or equal to
NE 5 Not equal to
NB 6 Not between
NP 7 Does not contain pattern
GT 8 Greater than
LT 9 Less than
Member Value Description
TextFirst 0 Text is first, followed by the code/ID (e.g. in parentheses)
TextLast 1 Code/ID is first, followed by the text (e.g. separated by a dash)
TextSeparate 2 Code/ID and text are represented separately
TextOnly 3 Only text is represented, code/ID is hidden (e.g. for UUIDs)
Member Value Description
High 0 High importance
Medium 1 Medium importance
Low 2 Low importance

Elementary building block that represents a piece of data and/or allows triggering an action

By using the applicable terms UI.Hidden, UI.Importance or HTML5.CssDefaults, the visibility, the importance and and the default css settings (as the width) of the data field can be influenced.

Derived Types:

Property Type Description
Label String? A short, human-readable text suitable for labels and captions in UIs
Criticality CriticalityType? Criticality of the data field value
CriticalityRepresentation CriticalityRepresentationType? Decides if criticality is visualized in addition by means of an icon
IconUrl URL? Optional icon

Applicable Annotation Terms:

Member Value Description
WithIcon 0 Criticality is represented with an icon
WithoutIcon 1 Criticality is represented without icon, e.g. only via text color
OnlyIcon (Experimental) 2 Criticality is represented only by using an icon

A structured piece of data described by an annotation

Property Type Description
Label String? A short, human-readable text suitable for labels and captions in UIs
Criticality CriticalityType? Criticality of the data field value
CriticalityRepresentation CriticalityRepresentationType? Decides if criticality is visualized in addition by means of an icon
IconUrl URL? Optional icon
Target AnnotationPath Target MUST reference an annotation of terms Communication.Contact, Communication.Address, UI.DataPoint, UI.Chart, UI.FieldGroup, or UI.ConnectedFields

Applicable Annotation Terms:

Triggers an action

Derived Types:

Property Type Description
Label String? A short, human-readable text suitable for labels and captions in UIs
Criticality CriticalityType? Criticality of the data field value
CriticalityRepresentation CriticalityRepresentationType? Decides if criticality is visualized in addition by means of an icon
IconUrl URL? Optional icon
Inline Boolean Action should be placed close to (or even inside) the visualized term
Determining Boolean Determines whether the action completes a process step (e.g. approve, reject).

Applicable Annotation Terms:

Triggers an OData action

The action is NOT tied to a data value (in contrast to DataFieldWithAction).

Property Type Description
Label String? A short, human-readable text suitable for labels and captions in UIs
Criticality CriticalityType? Criticality of the data field value
CriticalityRepresentation CriticalityRepresentationType? Decides if criticality is visualized in addition by means of an icon
IconUrl URL? Optional icon
Inline Boolean Action should be placed close to (or even inside) the visualized term
Determining Boolean Determines whether the action completes a process step (e.g. approve, reject).
Action ActionOverload Qualified name of an Action, Function, ActionImport or FunctionImport in scope
InvocationGrouping OperationGroupingType? Expresses how invocations of this action on multiple instances should be grouped

Applicable Annotation Terms:

Member Value Description
Isolated 0 Invoke each action in isolation from other actions
ChangeSet 1 Group all actions into a single change set

Triggers intent-based UI navigation

The navigation intent is is expressed as a Semantic Object and optionally an Action on that object.

It is NOT tied to a data value (in contrast to DataFieldWithIntentBasedNavigation)."

Property Type Description
Label String? A short, human-readable text suitable for labels and captions in UIs
Criticality CriticalityType? Criticality of the data field value
CriticalityRepresentation CriticalityRepresentationType? Decides if criticality is visualized in addition by means of an icon
IconUrl URL? Optional icon
Inline Boolean Action should be placed close to (or even inside) the visualized term
Determining Boolean Determines whether the action completes a process step (e.g. approve, reject).
SemanticObject String Name of the Semantic Object
Action String? Name of the Action on the Semantic Object. If not specified, let user choose which of the available actions to trigger.
RequiresContext Boolean Determines whether a context needs to be passed to the target of this navigation.
Mapping [SemanticObjectMappingType] Maps properties of the annotated entity type to properties of the Semantic Object

Applicable Annotation Terms:

A piece of data

Derived Types:

Property Type Description
Label String? A short, human-readable text suitable for labels and captions in UIs
Criticality CriticalityType? Criticality of the data field value
CriticalityRepresentation CriticalityRepresentationType? Decides if criticality is visualized in addition by means of an icon
IconUrl URL? Optional icon
Value PrimitiveType The data field's value

Applicable Annotation Terms:

A piece of data that allows triggering an OData action

The action is tied to a data value which should be rendered as a hyperlink. This is in contrast to DataFieldForAction) which is not tied to a specific data value.

Property Type Description
Label String? A short, human-readable text suitable for labels and captions in UIs
Criticality CriticalityType? Criticality of the data field value
CriticalityRepresentation CriticalityRepresentationType? Decides if criticality is visualized in addition by means of an icon
IconUrl URL? Optional icon
Value PrimitiveType The data field's value
Action QualifiedName Qualified name of an Action, Function, ActionImport or FunctionImport in scope

Applicable Annotation Terms:

A piece of data that allows triggering intent-based UI navigation

The navigation intent is is expressed as a Semantic Object and optionally an Action on that object.

It is tied to a data value which should be rendered as a hyperlink. This is in contrast to DataFieldForIntentBasedNavigation which is not tied to a specific data value.

Property Type Description
Label String? A short, human-readable text suitable for labels and captions in UIs
Criticality CriticalityType? Criticality of the data field value
CriticalityRepresentation CriticalityRepresentationType? Decides if criticality is visualized in addition by means of an icon
IconUrl URL? Optional icon
Value PrimitiveType The data field's value
SemanticObject String Name of the Semantic Object
Action String? Name of the Action on the Semantic Object. If not specified, let user choose which of the available actions to trigger.
Mapping [SemanticObjectMappingType] Maps properties of the annotated entity type to properties of the Semantic Object

Applicable Annotation Terms:

A piece of data that allows navigating to related data

It should be rendered as a hyperlink

Property Type Description
Label String? A short, human-readable text suitable for labels and captions in UIs
Criticality CriticalityType? Criticality of the data field value
CriticalityRepresentation CriticalityRepresentationType? Decides if criticality is visualized in addition by means of an icon
IconUrl URL? Optional icon
Value PrimitiveType The data field's value
Target NavigationPropertyPath Contains either a navigation property or a term cast, where term is of type Edm.EntityType or a concrete entity type or a collection of these types

Applicable Annotation Terms:

A piece of data that allows navigating to other information on the Web

It should be rendered as a hyperlink

Property Type Description
Label String? A short, human-readable text suitable for labels and captions in UIs
Criticality CriticalityType? Criticality of the data field value
CriticalityRepresentation CriticalityRepresentationType? Decides if criticality is visualized in addition by means of an icon
IconUrl URL? Optional icon
Value PrimitiveType The data field's value
Url URL Target of the hyperlink
UrlContentType MediaType? Media type of the hyperlink target, e.g. video/mp4

Applicable Annotation Terms:

Type: Byte

Indicates whether a field contains or has a recommended value

Editable fields for which a recommendation has been pre-filled or that have recommendations that differ from existing human input need to be highlighted.

Allowed Value Description
0 regular - with human or default input, no recommendation
1 highlighted - without human input and with recommendation
2 warning - with human or default input and with recommendation

Reference to a recommendation list

A recommendation consists of one or more values for editable fields plus a rank between 0.0 and 9.9, with 9.9 being the best recommendation.

Property Type Description
CollectionPath String Resource path of a collection of recommended values
RankProperty String Name of the property within the collection of recommended values that describes the rank of the recommendation
Binding [RecommendationBinding] List of pairs of a local property and recommended value property
Property Type Description
LocalDataProperty PropertyPath Path to editable property for which recommended values exist
ValueListProperty String Path to property in the collection of recommended values. Format is identical to PropertyPath annotations.